]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - pgssapi.c
first pass
[PuTTY.git] / pgssapi.c
1 /* This file actually defines the GSSAPI function pointers for
2  * functions we plan to import from a GSSAPI library.
3  */
4 #include "putty.h"
5
6 #ifndef NO_GSSAPI
7
8 #include "pgssapi.h"
9
10 #ifndef NO_LIBDL
11
12 /* Reserved static storage for GSS_oids.  Comments are quotes from RFC 2744. */
13 static const gss_OID_desc oids[] = {
14     /* The implementation must reserve static storage for a
15      * gss_OID_desc object containing the value */
16     {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x01"},
17     /* corresponding to an object-identifier value of
18      * {iso(1) member-body(2) United States(840) mit(113554)
19      * infosys(1) gssapi(2) generic(1) user_name(1)}.  The constant
20      * GSS_C_NT_USER_NAME should be initialized to point
21      * to that gss_OID_desc.
22
23      * The implementation must reserve static storage for a
24      * gss_OID_desc object containing the value */
25     {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x02"},
26     /* corresponding to an object-identifier value of
27      * {iso(1) member-body(2) United States(840) mit(113554)
28      * infosys(1) gssapi(2) generic(1) machine_uid_name(2)}.
29      * The constant GSS_C_NT_MACHINE_UID_NAME should be
30      * initialized to point to that gss_OID_desc.
31
32      * The implementation must reserve static storage for a
33      * gss_OID_desc object containing the value */
34     {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03"},
35     /* corresponding to an object-identifier value of
36      * {iso(1) member-body(2) United States(840) mit(113554)
37      * infosys(1) gssapi(2) generic(1) string_uid_name(3)}.
38      * The constant GSS_C_NT_STRING_UID_NAME should be
39      * initialized to point to that gss_OID_desc.
40      *
41      * The implementation must reserve static storage for a
42      * gss_OID_desc object containing the value */
43     {6, (void *)"\x2b\x06\x01\x05\x06\x02"},
44     /* corresponding to an object-identifier value of
45      * {iso(1) org(3) dod(6) internet(1) security(5)
46      * nametypes(6) gss-host-based-services(2)).  The constant
47      * GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point
48      * to that gss_OID_desc.  This is a deprecated OID value, and
49      * implementations wishing to support hostbased-service names
50      * should instead use the GSS_C_NT_HOSTBASED_SERVICE OID,
51      * defined below, to identify such names;
52      * GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym
53      * for GSS_C_NT_HOSTBASED_SERVICE when presented as an input
54      * parameter, but should not be emitted by GSS-API
55      * implementations
56      *
57      * The implementation must reserve static storage for a
58      * gss_OID_desc object containing the value */
59      {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x04"},
60     /* corresponding to an object-identifier value of {iso(1)
61      * member-body(2) Unites States(840) mit(113554) infosys(1)
62      * gssapi(2) generic(1) service_name(4)}.  The constant
63      * GSS_C_NT_HOSTBASED_SERVICE should be initialized
64      * to point to that gss_OID_desc.
65      *
66      * The implementation must reserve static storage for a
67      * gss_OID_desc object containing the value */
68     {6, (void *)"\x2b\x06\01\x05\x06\x03"},
69     /* corresponding to an object identifier value of
70      * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
71      * 6(nametypes), 3(gss-anonymous-name)}.  The constant
72      * and GSS_C_NT_ANONYMOUS should be initialized to point
73      * to that gss_OID_desc.
74      *
75      * The implementation must reserve static storage for a
76      * gss_OID_desc object containing the value */
77     {6, (void *)"\x2b\x06\x01\x05\x06\x04"},
78      /* corresponding to an object-identifier value of
79      * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
80      * 6(nametypes), 4(gss-api-exported-name)}.  The constant
81      * GSS_C_NT_EXPORT_NAME should be initialized to point
82      * to that gss_OID_desc.
83      */
84 };
85
86 /* Here are the constants which point to the static structure above.
87  *
88  * Constants of the form GSS_C_NT_* are specified by rfc 2744.
89  */
90 const_gss_OID GSS_C_NT_USER_NAME           = oids+0;
91 const_gss_OID GSS_C_NT_MACHINE_UID_NAME    = oids+1;
92 const_gss_OID GSS_C_NT_STRING_UID_NAME     = oids+2;
93 const_gss_OID GSS_C_NT_HOSTBASED_SERVICE_X = oids+3;
94 const_gss_OID GSS_C_NT_HOSTBASED_SERVICE   = oids+4;
95 const_gss_OID GSS_C_NT_ANONYMOUS           = oids+5;
96 const_gss_OID GSS_C_NT_EXPORT_NAME         = oids+6;
97
98 #endif /* NO_LIBDL */
99
100 static gss_OID_desc gss_mech_krb5_desc =
101 { 9, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x02" };
102 /* iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) krb5(2)*/
103 const gss_OID GSS_MECH_KRB5 = &gss_mech_krb5_desc;
104
105 #endif /* NO_GSSAPI */