]>
Commit | Line | Data |
---|---|---|
1c1af145 | 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 */ |