225 gss_mechanism gss_mech_initialize(void);
226 #endif /* _GSS_STATIC_LINK */
227
228 /*
229 * The Mech OID for SPNEGO:
230 * { iso(1) org(3) dod(6) internet(1) security(5)
231 * mechanism(5) spnego(2) }
232 */
233 static struct gss_config spnego_mechanism =
234 {
235 {SPNEGO_OID_LENGTH, SPNEGO_OID},
236 NULL,
237 glue_spnego_gss_acquire_cred,
238 glue_spnego_gss_release_cred,
239 glue_spnego_gss_init_sec_context,
240 #ifndef LEAN_CLIENT
241 glue_spnego_gss_accept_sec_context,
242 #else
243 NULL,
244 #endif /* LEAN_CLIENT */
245 /* EXPORT DELETE START */ /* CRYPT DELETE START */
246 NULL, /* unseal */
247 /* EXPORT DELETE END */ /* CRYPT DELETE END */
248 NULL, /* gss_process_context_token */
249 glue_spnego_gss_delete_sec_context, /* gss_delete_sec_context */
250 glue_spnego_gss_context_time,
251 glue_spnego_gss_display_status,
252 NULL, /* gss_indicate_mechs */
253 glue_spnego_gss_compare_name,
254 glue_spnego_gss_display_name,
255 glue_spnego_gss_import_name, /* glue */
256 glue_spnego_gss_release_name,
257 NULL, /* gss_inquire_cred */
258 NULL, /* gss_add_cred */
259 /* EXPORT DELETE START */ /* CRYPT DELETE START */
260 NULL, /* seal */
261 /* EXPORT DELETE END */ /* CRYPT DELETE END */
262 #ifndef LEAN_CLIENT
263 glue_spnego_gss_export_sec_context, /* gss_export_sec_context */
264 glue_spnego_gss_import_sec_context, /* gss_import_sec_context */
265 #else
266 NULL, /* gss_export_sec_context */
267 NULL, /* gss_import_sec_context */
268 #endif /* LEAN_CLIENT */
269 NULL, /* gss_inquire_cred_by_mech */
270 glue_spnego_gss_inquire_names_for_mech,
271 glue_spnego_gss_inquire_context,
272 NULL, /* gss_internal_release_oid */
273 glue_spnego_gss_wrap_size_limit,
274 NULL, /* pname */
275 NULL, /* userok */
276 NULL, /* gss_export_name */
277 /* EXPORT DELETE START */
278 /* CRYPT DELETE START */
279 #if 0
280 /* CRYPT DELETE END */
281 NULL, /* seal */
282 NULL, /* unseal */
283 /* CRYPT DELETE START */
284 #endif
285 /* CRYPT DELETE END */
286 /* EXPORT DELETE END */
287 NULL, /* sign */
288 NULL, /* verify */
289 NULL, /* gss_store_cred */
290 spnego_gss_inquire_sec_context_by_oid, /* gss_inquire_sec_context_by_oid */
291 };
292
293 #ifdef _GSS_STATIC_LINK
294 #include "mglueP.h"
295
296 static
297 int gss_spnegomechglue_init(void)
298 {
299 struct gss_mech_config mech_spnego;
300
301 memset(&mech_spnego, 0, sizeof(mech_spnego));
302 mech_spnego.mech = &spnego_mechanism;
303 mech_spnego.mechNameStr = "spnego";
304 mech_spnego.mech_type = GSS_C_NO_OID;
305
306 return gssint_register_mechinfo(&mech_spnego);
|
225 gss_mechanism gss_mech_initialize(void);
226 #endif /* _GSS_STATIC_LINK */
227
228 /*
229 * The Mech OID for SPNEGO:
230 * { iso(1) org(3) dod(6) internet(1) security(5)
231 * mechanism(5) spnego(2) }
232 */
233 static struct gss_config spnego_mechanism =
234 {
235 {SPNEGO_OID_LENGTH, SPNEGO_OID},
236 NULL,
237 glue_spnego_gss_acquire_cred,
238 glue_spnego_gss_release_cred,
239 glue_spnego_gss_init_sec_context,
240 #ifndef LEAN_CLIENT
241 glue_spnego_gss_accept_sec_context,
242 #else
243 NULL,
244 #endif /* LEAN_CLIENT */
245 NULL, /* unseal */
246 NULL, /* gss_process_context_token */
247 glue_spnego_gss_delete_sec_context, /* gss_delete_sec_context */
248 glue_spnego_gss_context_time,
249 glue_spnego_gss_display_status,
250 NULL, /* gss_indicate_mechs */
251 glue_spnego_gss_compare_name,
252 glue_spnego_gss_display_name,
253 glue_spnego_gss_import_name, /* glue */
254 glue_spnego_gss_release_name,
255 NULL, /* gss_inquire_cred */
256 NULL, /* gss_add_cred */
257 NULL, /* seal */
258 #ifndef LEAN_CLIENT
259 glue_spnego_gss_export_sec_context, /* gss_export_sec_context */
260 glue_spnego_gss_import_sec_context, /* gss_import_sec_context */
261 #else
262 NULL, /* gss_export_sec_context */
263 NULL, /* gss_import_sec_context */
264 #endif /* LEAN_CLIENT */
265 NULL, /* gss_inquire_cred_by_mech */
266 glue_spnego_gss_inquire_names_for_mech,
267 glue_spnego_gss_inquire_context,
268 NULL, /* gss_internal_release_oid */
269 glue_spnego_gss_wrap_size_limit,
270 NULL, /* pname */
271 NULL, /* userok */
272 NULL, /* gss_export_name */
273 NULL, /* sign */
274 NULL, /* verify */
275 NULL, /* gss_store_cred */
276 spnego_gss_inquire_sec_context_by_oid, /* gss_inquire_sec_context_by_oid */
277 };
278
279 #ifdef _GSS_STATIC_LINK
280 #include "mglueP.h"
281
282 static
283 int gss_spnegomechglue_init(void)
284 {
285 struct gss_mech_config mech_spnego;
286
287 memset(&mech_spnego, 0, sizeof(mech_spnego));
288 mech_spnego.mech = &spnego_mechanism;
289 mech_spnego.mechNameStr = "spnego";
290 mech_spnego.mech_type = GSS_C_NO_OID;
291
292 return gssint_register_mechinfo(&mech_spnego);
|