1-- $Id$
2
3SPNEGO DEFINITIONS ::=
4BEGIN
5
6MechType::= OBJECT IDENTIFIER
7
8MechTypeList ::= SEQUENCE OF MechType
9
10ContextFlags ::= BIT STRING {
11    delegFlag       (0),
12    mutualFlag      (1),
13    replayFlag      (2),
14    sequenceFlag    (3),
15    anonFlag        (4),
16    confFlag        (5),
17    integFlag       (6)
18}
19
20NegHints ::= SEQUENCE {
21    hintName       [0]  GeneralString	OPTIONAL,
22    hintAddress    [1]  OCTET STRING	OPTIONAL
23} 
24
25NegTokenInitWin ::= SEQUENCE {
26    mechTypes       [0] MechTypeList,
27    reqFlags        [1] ContextFlags   OPTIONAL,
28    mechToken       [2] OCTET STRING   OPTIONAL,
29    negHints        [3] NegHints       OPTIONAL
30}
31
32NegTokenInit ::= SEQUENCE {
33    mechTypes       [0] MechTypeList,
34    reqFlags        [1] ContextFlags   OPTIONAL,
35    mechToken       [2] OCTET STRING   OPTIONAL,
36    mechListMIC	    [3] OCTET STRING   OPTIONAL,
37    ...
38}
39
40NegResultEnum ::= ENUMERATED {
41	accept_completed(0),
42	accept_incomplete(1),
43	reject(2),
44	request-mic(3)
45}
46
47-- NB: negResult is not OPTIONAL in the new SPNEGO spec but
48-- Windows clients do not always send it
49NegTokenResp ::= SEQUENCE {
50    negResult      [0] NegResultEnum OPTIONAL,
51    supportedMech  [1] MechType	OPTIONAL,
52    responseToken  [2] OCTET STRING OPTIONAL,
53    mechListMIC    [3] OCTET STRING OPTIONAL,
54    ...
55}
56
57NegotiationToken ::= CHOICE {
58	negTokenInit[0]		NegTokenInit,
59	negTokenResp[1]		NegTokenResp
60}
61
62NegotiationTokenWin ::= CHOICE {
63	negTokenInit[0]		NegTokenInitWin
64}
65
66END
67