r3466: split out request.h, signing.h, and smb_server.h
[jelmer/samba4-debian.git] / source / include / signing.h
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 struct smb_signing_context {
31         enum smb_signing_engine_state signing_state;
32         DATA_BLOB mac_key;
33         uint32_t next_seq_num;
34         BOOL allow_smb_signing;
35         BOOL doing_signing;
36         BOOL mandatory_signing;
37         BOOL seen_valid; /* Have I ever seen a validly signed packet? */
38 };
39
40 #endif