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 2 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, write to the Free Software 21 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 22 */ 23 24 enum smb_signing_engine_state { 25 SMB_SIGNING_ENGINE_OFF, 26 SMB_SIGNING_ENGINE_BSRSPYL, 27 SMB_SIGNING_ENGINE_ON 28 }; 29 30 enum smb_signing_state { 31 SMB_SIGNING_OFF, SMB_SIGNING_SUPPORTED, 32 SMB_SIGNING_REQUIRED, SMB_SIGNING_AUTO}; 33 34 struct smb_signing_context { 35 enum smb_signing_engine_state signing_state; 36 DATA_BLOB mac_key; 37 uint32_t next_seq_num; 38 BOOL allow_smb_signing; 39 BOOL doing_signing; 40 BOOL mandatory_signing; 41 BOOL seen_valid; /* Have I ever seen a validly signed packet? */ 42 }; 43 44 #endif 45