/* [<][>][^][v][top][bottom][index][help] */
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
23 enum smb_signing_engine_state {
24 SMB_SIGNING_ENGINE_OFF,
25 SMB_SIGNING_ENGINE_BSRSPYL,
26 SMB_SIGNING_ENGINE_ON
27 };
28
29 enum smb_signing_state {
30 SMB_SIGNING_OFF, SMB_SIGNING_SUPPORTED,
31 SMB_SIGNING_REQUIRED, SMB_SIGNING_AUTO};
32
33 struct 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