messaging4: Fix a memleak in an error path
[Samba.git] / libcli / smb / smb2_signing.h
blobe8e2e6a718189364fe219ebf7d73a66f9831acc9
1 /*
2 Unix SMB/CIFS implementation.
3 SMB2 signing
5 Copyright (C) Stefan Metzmacher 2009
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef _LIBCLI_SMB_SMB2_SIGNING_H_
22 #define _LIBCLI_SMB_SMB2_SIGNING_H_
24 struct iovec;
26 NTSTATUS smb2_signing_sign_pdu(DATA_BLOB signing_key,
27 enum protocol_types protocol,
28 struct iovec *vector,
29 int count);
31 NTSTATUS smb2_signing_check_pdu(DATA_BLOB signing_key,
32 enum protocol_types protocol,
33 const struct iovec *vector,
34 int count);
36 void smb2_key_derivation(const uint8_t *KI, size_t KI_len,
37 const uint8_t *Label, size_t Label_len,
38 const uint8_t *Context, size_t Context_len,
39 uint8_t KO[16]);
41 NTSTATUS smb2_signing_encrypt_pdu(DATA_BLOB encryption_key,
42 enum protocol_types protocol,
43 struct iovec *vector,
44 int count);
45 NTSTATUS smb2_signing_decrypt_pdu(DATA_BLOB decryption_key,
46 enum protocol_types protocol,
47 struct iovec *vector,
48 int count);
50 #endif /* _LIBCLI_SMB_SMB2_SIGNING_H_ */