1#ifndef _SIGNING_H 2#define _SIGNING_H 3/* 4 Unix SMB/CIFS implementation. 5 SMB Signing 6 7 Andrew Bartlett <abartlet@samba.org> 2003-2004 8 9 This program is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 3 of the License, or 12 (at your option) any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with this program. If not, see <http://www.gnu.org/licenses/>. 21*/ 22 23enum smb_signing_engine_state { 24 SMB_SIGNING_ENGINE_OFF, 25 SMB_SIGNING_ENGINE_BSRSPYL, 26 SMB_SIGNING_ENGINE_ON 27}; 28 29enum smb_signing_state { 30 SMB_SIGNING_OFF, SMB_SIGNING_SUPPORTED, 31 SMB_SIGNING_REQUIRED, SMB_SIGNING_AUTO}; 32 33struct smb_signing_context { 34 enum smb_signing_engine_state signing_state; 35 DATA_BLOB mac_key; 36 uint32_t next_seq_num; 37 bool allow_smb_signing; 38 bool doing_signing; 39 bool mandatory_signing; 40 bool seen_valid; /* Have I ever seen a validly signed packet? */ 41}; 42 43#endif 44