source: branches/samba-3.5.x/libcli/auth/spnego.h@ 1075

Last change on this file since 1075 was 414, checked in by Herwig Bauernfeind, 15 years ago

Samba 3.5.0: Initial import

File size: 1.8 KB
Line 
1/*
2 Unix SMB/CIFS implementation.
3
4 RFC2478 Compliant SPNEGO implementation
5
6 Copyright (C) Jim McDonough <jmcd@us.ibm.com> 2003
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
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#define OID_SPNEGO "1.3.6.1.5.5.2"
24#define OID_NTLMSSP "1.3.6.1.4.1.311.2.2.10"
25#define OID_KERBEROS5_OLD "1.2.840.48018.1.2.2"
26#define OID_KERBEROS5 "1.2.840.113554.1.2.2"
27
28#define SPNEGO_DELEG_FLAG 0x01
29#define SPNEGO_MUTUAL_FLAG 0x02
30#define SPNEGO_REPLAY_FLAG 0x04
31#define SPNEGO_SEQUENCE_FLAG 0x08
32#define SPNEGO_ANON_FLAG 0x10
33#define SPNEGO_CONF_FLAG 0x20
34#define SPNEGO_INTEG_FLAG 0x40
35
36enum spnego_negResult {
37 SPNEGO_ACCEPT_COMPLETED = 0,
38 SPNEGO_ACCEPT_INCOMPLETE = 1,
39 SPNEGO_REJECT = 2,
40 SPNEGO_NONE_RESULT = 3
41};
42
43struct spnego_negTokenInit {
44 const char **mechTypes;
45 DATA_BLOB reqFlags;
46 uint8_t reqFlagsPadding;
47 DATA_BLOB mechToken;
48 DATA_BLOB mechListMIC;
49 char *targetPrincipal;
50};
51
52struct spnego_negTokenTarg {
53 uint8_t negResult;
54 const char *supportedMech;
55 DATA_BLOB responseToken;
56 DATA_BLOB mechListMIC;
57};
58
59struct spnego_data {
60 int type;
61 struct spnego_negTokenInit negTokenInit;
62 struct spnego_negTokenTarg negTokenTarg;
63};
64
65enum spnego_message_type {
66 SPNEGO_NEG_TOKEN_INIT = 0,
67 SPNEGO_NEG_TOKEN_TARG = 1,
68};
69
70#include "../libcli/auth/spnego_proto.h"
Note: See TracBrowser for help on using the repository browser.