Grid Community Toolkit  6.2.1541705016
gssapi.h
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GSSAPI_H_
18 #define GSSAPI_H_
19 
20 /*
21  * Also define _GSSAPI_H_ as that is what the Kerberos 5 code defines and
22  * what header files on some systems look for.
23  */
24 #define _GSSAPI_H_
25 
26 /*
27  * Define windows specific needed parameters.
28  */
29 
30 #ifndef GSS_CALLCONV
31 #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__)
32 #define GSS_CALLCONV __stdcall
33 #define GSS_CALLCONV_C __cdecl
34 #else
35 #define GSS_CALLCONV
36 #define GSS_CALLCONV_C
37 #endif
38 #endif /* GSS_CALLCONV */
39 
40 #ifdef GSS_USE_FUNCTION_POINTERS
41 #define GSS_FUNC(f) (*f##_type)
42 #define GSS_MAKE_TYPEDEF typedef
43 #else
44 #define GSS_FUNC(f) f
45 #define GSS_MAKE_TYPEDEF
46 #endif
47 
48 #include "globus_common.h"
49 
50 
51 /*
52  * Include stddef.h to get size_t defined.
53  */
54 #include <stddef.h>
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
60 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
61 
65 #endif
66 
121 #define GLOBUS_GSI_GSSAPI_MODULE (&globus_i_gsi_gssapi_module)
122 
123 extern
124 globus_module_descriptor_t globus_i_gsi_gssapi_module;
125 
126 #define _GGSL(s) globus_common_i18n_get_string(GLOBUS_GSI_GSSAPI_MODULE,\
127  s)
128 
129 /*
130  * If the platform supports the xom.h header file, it should be
131  * included here.
132  */
133 /* #include <xom.h> */
134 
135 
136 /*
137  * Now define the three implementation-dependent types.
138  */
139 
140 
141 typedef struct gss_name_desc_struct * gss_name_t;
142 typedef struct gss_ctx_id_desc_struct * gss_ctx_id_t;
143 typedef struct gss_cred_id_desc_struct * gss_cred_id_t;
144 
145 /*
146  * The following type must be defined as the smallest natural
147  * unsigned integer supported by the platform that has at least
148  * 32 bits of precision.
149  */
150 
151 #ifdef OM_STRING
152 /*
153  * We have included the xom.h header file. Verify that OM_uint32
154  * is defined correctly.
155  */
156 
157 #if sizeof(globus_uint) != sizeof(OM_uint32)
158 #error Incompatible definition of OM_uint32 from xom.h
159 #endif
160 
161 typedef OM_object_identifier gss_OID_desc, *gss_OID;
162 
163 #else /* !OM_STRING */
164 
165 /*
166  * We can't use X/Open definitions, so roll our own.
167  */
168 typedef globus_uint_t OM_uint32;
169 typedef struct gss_OID_desc_struct
170 {
171  OM_uint32 length;
172  void *elements;
173 } gss_OID_desc, *gss_OID;
174 
175 #endif /* !OM_STRING */
176 
177 typedef struct gss_OID_set_desc_struct
178 {
179  size_t count;
180  gss_OID elements;
181 } gss_OID_set_desc, *gss_OID_set;
182 
183 
184 /*
185  * For now, define a QOP-type as an OM_uint32
186  */
187 typedef OM_uint32 gss_qop_t;
188 
189 typedef int gss_cred_usage_t;
190 
191 
192 typedef struct gss_buffer_desc_struct
193 {
194  size_t length;
195  void *value;
196 } gss_buffer_desc, *gss_buffer_t;
197 
198 typedef struct gss_channel_bindings_struct
199 {
200  OM_uint32 initiator_addrtype;
201  gss_buffer_desc initiator_address;
202  OM_uint32 acceptor_addrtype;
203  gss_buffer_desc acceptor_address;
204  gss_buffer_desc application_data;
205 } *gss_channel_bindings_t;
206 
207 /*
208  * Flag bits for context-level services.
209  */
210 #define GSS_C_DELEG_FLAG 1
211 #define GSS_C_MUTUAL_FLAG 2
212 #define GSS_C_REPLAY_FLAG 4
213 #define GSS_C_SEQUENCE_FLAG 8
214 #define GSS_C_CONF_FLAG 16
215 #define GSS_C_INTEG_FLAG 32
216 #define GSS_C_ANON_FLAG 64
217 #define GSS_C_PROT_READY_FLAG 128
218 #define GSS_C_TRANS_FLAG 256
219 
220 /*
221  * For the Globus gssapi_openssl we add three
222  * flags. These may have to be changed in the
223  * future, if they are defined in the RFCs.
224  * GSS_C_GLOBUS_SSL_COMPATIBLE
225  * input - The other is not using GSSAPI, but
226  * real SSL, so no delegation, etc.
227  * GSS_C_GLOBUS_LIMITED_DELEG_PROXY_FLAG
228  * input - delegates a limited proxy
229  * output - limited proxy received via delegation
230  * GSS_C_GLOBUS_LIMITED_PROXY_FLAG
231  * input - Dont accept limited proxy for auth
232  * output- Limited proxy received.
233  *
234  * (Deprecated) GSS_C_GLOBUS_LIMITED_PROXY_MANY_FLAG
235  * input - Accept proxies signed by limited proxies
236  *
237  * Since gss_accept_sec_context does not
238  * provide a req_flag as input, we will
239  * pass in our GSS_C_GLOBUS_LIMITED_PROXY_FLAG
240  * and GSS_C_GLOBUS_LIMITED_PROXY_MANY_FLAG
241  * using the ret_flag
242  */
243 
265 #define GSS_C_GLOBUS_DONT_ACCEPT_LIMITED_PROXY_FLAG 8192
266 
274 #define GSS_C_GLOBUS_DELEGATE_LIMITED_PROXY_FLAG 4096
275 
285 #define GSS_C_GLOBUS_ACCEPT_PROXY_SIGNED_BY_LIMITED_PROXY_FLAG 32768
286 
294 #define GSS_C_GLOBUS_ALLOW_MISSING_SIGNING_POLICY 65536
295 
303 #define GSS_C_GLOBUS_FORCE_SSL3 131072 /* NO LONGER SUPPORTED */
304 
322 #define GSS_C_GLOBUS_RECEIVED_LIMITED_PROXY_FLAG 8192
323 
332 #define GSS_C_GLOBUS_RECEIVED_LIMITED_PROXY_DURING_DELEGATION_FLAG 4096
333 
334 #define GSS_C_GLOBUS_LIMITED_DELEG_PROXY_FLAG 4096
335 #define GSS_C_GLOBUS_LIMITED_PROXY_FLAG 8192
336 #define GSS_C_GLOBUS_SSL_COMPATIBLE 16384
337 
345 #define GSS_C_GLOBUS_LIMITED_PROXY_MANY_FLAG 32768
346 
347 /*
348  * Credential usage options
349  */
350 #define GSS_C_BOTH 0
351 #define GSS_C_INITIATE 1
352 #define GSS_C_ACCEPT 2
353 
354 /*
355  * Status code types for gss_display_status
356  */
357 #define GSS_C_GSS_CODE 1
358 #define GSS_C_MECH_CODE 2
359 
360 /*
361  * The constant definitions for channel-bindings address families
362  */
363 #define GSS_C_AF_UNSPEC 0
364 #define GSS_C_AF_LOCAL 1
365 #define GSS_C_AF_INET 2
366 #define GSS_C_AF_IMPLINK 3
367 #define GSS_C_AF_PUP 4
368 #define GSS_C_AF_CHAOS 5
369 #define GSS_C_AF_NS 6
370 #define GSS_C_AF_NBS 7
371 #define GSS_C_AF_ECMA 8
372 #define GSS_C_AF_DATAKIT 9
373 #define GSS_C_AF_CCITT 10
374 #define GSS_C_AF_SNA 11
375 #define GSS_C_AF_DECnet 12
376 #define GSS_C_AF_DLI 13
377 #define GSS_C_AF_LAT 14
378 #define GSS_C_AF_HYLINK 15
379 #define GSS_C_AF_APPLETALK 16
380 #define GSS_C_AF_BSC 17
381 #define GSS_C_AF_DSS 18
382 #define GSS_C_AF_OSI 19
383 #define GSS_C_AF_X25 21
384 
385 #define GSS_C_AF_NULLADDR 255
386 
387 /*
388  * Various Null values
389  */
390 #define GSS_C_NO_NAME ((gss_name_t) 0)
391 #define GSS_C_NO_BUFFER ((gss_buffer_t) 0)
392 #define GSS_C_NO_BUFFER_SET ((gss_buffer_set_t) 0)
393 #define GSS_C_NO_OID ((gss_OID) 0)
394 #define GSS_C_NO_OID_SET ((gss_OID_set) 0)
395 #define GSS_C_NO_CONTEXT ((gss_ctx_id_t) 0)
396 #define GSS_C_NO_CREDENTIAL ((gss_cred_id_t) 0)
397 #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0)
398 #define GSS_C_EMPTY_BUFFER {0, NULL}
399 #define GSS_C_EMPTY_BUFFER_SET {0, (gss_buffer_t) 0}
400 
401 /*
402  * Some alternate names for a couple of the above
403  * values. These are defined for V1 compatibility.
404  */
405 #define GSS_C_NULL_OID GSS_C_NO_OID
406 #define GSS_C_NULL_OID_SET GSS_C_NO_OID_SET
407 
408 /*
409  * Define the default Quality of Protection for per-message
410  * services. Note that an implementation that offers multiple
411  * levels of QOP may define GSS_C_QOP_DEFAULT to be either zero
412  * (as done here) to mean "default protection", or to a specific
413  * explicit QOP value. However, a value of 0 should always be
414  * interpreted by a GSSAPI implementation as a request for the
415  * default protection level.
416  */
417 #define GSS_C_QOP_DEFAULT 0
418 
419 /*
420  * Expiration time of 2^32-1 seconds means infinite lifetime for a
421  * credential or security context
422  */
423 #define GSS_C_INDEFINITE 0xfffffffful
424 
425 /*
426  * The implementation must reserve static storage for a
427  * gss_OID_desc object containing the value
428  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
429  * "\x01\x02\x01\x01"},
430  * corresponding to an object-identifier value of
431  * {iso(1) member-body(2) United States(840) mit(113554)
432  * infosys(1) gssapi(2) generic(1) user_name(1)}. The constant
433  * GSS_C_NT_USER_NAME should be initialized to point
434  * to that gss_OID_desc.
435  */
436 extern gss_OID GSS_C_NT_USER_NAME;
437 
438 /*
439  * The implementation must reserve static storage for a
440  * gss_OID_desc object containing the value
441  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
442  * "\x01\x02\x01\x02"},
443  * corresponding to an object-identifier value of
444  * {iso(1) member-body(2) United States(840) mit(113554)
445  * infosys(1) gssapi(2) generic(1) machine_uid_name(2)}.
446  * The constant GSS_C_NT_MACHINE_UID_NAME should be
447  * initialized to point to that gss_OID_desc.
448  */
449 extern gss_OID GSS_C_NT_MACHINE_UID_NAME;
450 
451 /*
452  * The implementation must reserve static storage for a
453  * gss_OID_desc object containing the value
454  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
455  * "\x01\x02\x01\x03"},
456  * corresponding to an object-identifier value of
457  * {iso(1) member-body(2) United States(840) mit(113554)
458  * infosys(1) gssapi(2) generic(1) string_uid_name(3)}.
459  * The constant GSS_C_NT_STRING_UID_NAME should be
460  * initialized to point to that gss_OID_desc.
461  */
462 extern gss_OID GSS_C_NT_STRING_UID_NAME;
463 
464 /*
465  * The implementation must reserve static storage for a
466  * gss_OID_desc object containing the value
467  * {6, (void *)"\x2b\x06\x01\x05\x06\x02"},
468  * corresponding to an object-identifier value of
469  * {iso(1) org(3) dod(6) internet(1) security(5)
470  * nametypes(6) gss-host-based-services(2)). The constant
471  * GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point
472  * to that gss_OID_desc. This is a deprecated OID value, and
473  * implementations wishing to support hostbased-service names
474  * should instead use the GSS_C_NT_HOSTBASED_SERVICE OID,
475  * defined below, to identify such names;
476  * GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym
477  * for GSS_C_NT_HOSTBASED_SERVICE when presented as an input
478  * parameter, but should not be emitted by GSSAPI
479  * implementations
480  */
481 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X;
482 
483 /*
484  * The implementation must reserve static storage for a
485  * gss_OID_desc object containing the value
486  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
487  * "\x01\x02\x01\x04"}, corresponding to an
488  * object-identifier value of {iso(1) member-body(2)
489  * Unites States(840) mit(113554) infosys(1) gssapi(2)
490  * generic(1) service_name(4)}. The constant
491  * GSS_C_NT_HOSTBASED_SERVICE should be initialized
492  * to point to that gss_OID_desc.
493  */
494 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE;
495 
496 
497 /*
498  * The implementation must reserve static storage for a
499  * gss_OID_desc object containing the value
500  * {6, (void *)"\x2b\x06\01\x05\x06\x03"},
501  * corresponding to an object identifier value of
502  * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
503  * 6(nametypes), 3(gss-anonymous-name)}. The constant
504  * and GSS_C_NT_ANONYMOUS should be initialized to point
505  * to that gss_OID_desc.
506  */
507 extern gss_OID GSS_C_NT_ANONYMOUS;
508 
509 /*
510  * The implementation must reserve static storage for a
511  * gss_OID_desc object containing the value
512  * {6, (void *)"\x2b\x06\x01\x05\x06\x04"},
513  * corresponding to an object-identifier value of
514  * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
515  * 6(nametypes), 4(gss-api-exported-name)}. The constant
516  * GSS_C_NT_EXPORT_NAME should be initialized to point
517  * to that gss_OID_desc.
518  */
519 extern gss_OID GSS_C_NT_EXPORT_NAME;
520 
521 /* Major status codes */
522 
523 #define GSS_S_COMPLETE 0
524 
525 /*
526  * Some "helper" definitions to make the status code macros obvious.
527  */
528 #define GSS_C_CALLING_ERROR_OFFSET 24
529 #define GSS_C_ROUTINE_ERROR_OFFSET 16
530 #define GSS_C_SUPPLEMENTARY_OFFSET 0
531 #define GSS_C_CALLING_ERROR_MASK 0377ul
532 #define GSS_C_ROUTINE_ERROR_MASK 0377ul
533 #define GSS_C_SUPPLEMENTARY_MASK 0177777ul
534 
535 /*
536  * The macros that test status codes for error conditions.
537  * Note that the GSS_ERROR() macro has changed slightly from
538  * the V1 GSSAPI so that it now evaluates its argument
539  * only once.
540  */
541 #define GSS_CALLING_ERROR(x) \
542 (x & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
543 #define GSS_ROUTINE_ERROR(x) \
544  (x & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
545 #define GSS_SUPPLEMENTARY_INFO(x) \
546  (x & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
547 #define GSS_ERROR(x) \
548  (x & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
549  (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
550 
551 /*
552  * Now the actual status code definitions
553  */
554 
555 /*
556  * Calling errors:
557  */
558 #define GSS_S_CALL_INACCESSIBLE_READ \
559  (1ul << GSS_C_CALLING_ERROR_OFFSET)
560 #define GSS_S_CALL_INACCESSIBLE_WRITE \
561  (2ul << GSS_C_CALLING_ERROR_OFFSET)
562 #define GSS_S_CALL_BAD_STRUCTURE \
563  (3ul << GSS_C_CALLING_ERROR_OFFSET)
564 
565 /*
566  * Routine errors:
567  */
568 #define GSS_S_BAD_MECH (1ul << GSS_C_ROUTINE_ERROR_OFFSET)
569 #define GSS_S_BAD_NAME (2ul << GSS_C_ROUTINE_ERROR_OFFSET)
570 #define GSS_S_BAD_NAMETYPE (3ul << GSS_C_ROUTINE_ERROR_OFFSET)
571 #define GSS_S_BAD_BINDINGS (4ul << GSS_C_ROUTINE_ERROR_OFFSET)
572 #define GSS_S_BAD_STATUS (5ul << GSS_C_ROUTINE_ERROR_OFFSET)
573 #define GSS_S_BAD_SIG (6ul << GSS_C_ROUTINE_ERROR_OFFSET)
574 #define GSS_S_BAD_MIC GSS_S_BAD_SIG
575 #define GSS_S_NO_CRED (7ul << GSS_C_ROUTINE_ERROR_OFFSET)
576 #define GSS_S_NO_CONTEXT (8ul << GSS_C_ROUTINE_ERROR_OFFSET)
577 #define GSS_S_DEFECTIVE_TOKEN (9ul << GSS_C_ROUTINE_ERROR_OFFSET)
578 #define GSS_S_DEFECTIVE_CREDENTIAL (10ul << GSS_C_ROUTINE_ERROR_OFFSET)
579 #define GSS_S_CREDENTIALS_EXPIRED (11ul << GSS_C_ROUTINE_ERROR_OFFSET)
580 #define GSS_S_CONTEXT_EXPIRED (12ul << GSS_C_ROUTINE_ERROR_OFFSET)
581 #define GSS_S_FAILURE (13ul << GSS_C_ROUTINE_ERROR_OFFSET)
582 #define GSS_S_BAD_QOP (14ul << GSS_C_ROUTINE_ERROR_OFFSET)
583 #define GSS_S_UNAUTHORIZED (15ul << GSS_C_ROUTINE_ERROR_OFFSET)
584 #define GSS_S_UNAVAILABLE (16ul << GSS_C_ROUTINE_ERROR_OFFSET)
585 #define GSS_S_DUPLICATE_ELEMENT (17ul << GSS_C_ROUTINE_ERROR_OFFSET)
586 #define GSS_S_NAME_NOT_MN (18ul << GSS_C_ROUTINE_ERROR_OFFSET)
587 #define GSS_S_EXT_COMPAT (19ul << GSS_C_ROUTINE_ERROR_OFFSET)
588 
589 
590 /*
591  * Supplementary info bits:
592  */
593 #define GSS_S_CONTINUE_NEEDED (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 0))
594 #define GSS_S_DUPLICATE_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 1))
595 #define GSS_S_OLD_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 2))
596 #define GSS_S_UNSEQ_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 3))
597 #define GSS_S_GAP_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 4))
598 
599 /*
600  * Finally, function prototypes for the GSS-API routines.
601  */
602 
603 GSS_MAKE_TYPEDEF
604 OM_uint32
605 GSS_CALLCONV GSS_FUNC(gss_acquire_cred)
606  (OM_uint32 *, /* minor_status */
607  const gss_name_t, /* desired_name */
608  OM_uint32, /* time_req */
609  const gss_OID_set, /* desired_mechs */
610  gss_cred_usage_t, /* cred_usage */
611  gss_cred_id_t *, /* output_cred_handle */
612  gss_OID_set *, /* actual_mechs */
613  OM_uint32 *); /* time_rec */
614 
615 GSS_MAKE_TYPEDEF
616 OM_uint32
617 GSS_CALLCONV GSS_FUNC(gss_release_cred)
618  (OM_uint32 *, /* minor_status */
619  gss_cred_id_t *); /* cred_handle */
620 
621 GSS_MAKE_TYPEDEF
622 OM_uint32
623 GSS_CALLCONV GSS_FUNC(gss_init_sec_context)
624  (OM_uint32 *, /* minor_status */
625  const gss_cred_id_t, /* initiator_cred_handle */
626  gss_ctx_id_t *, /* context_handle */
627  const gss_name_t, /* target_name */
628  const gss_OID, /* mech_type */
629  OM_uint32, /* req_flags */
630  OM_uint32, /* time_req */
631  const gss_channel_bindings_t, /* input_chan_bindings */
632  const gss_buffer_t, /* input_token */
633  gss_OID *, /* actual_mech_type */
634  gss_buffer_t, /* output_token */
635  OM_uint32 *, /* ret_flags */
636  OM_uint32 *); /* time_rec */
637 
638 GSS_MAKE_TYPEDEF
639 OM_uint32
640 GSS_CALLCONV GSS_FUNC(gss_accept_sec_context)
641  (OM_uint32 *, /* minor_status */
642  gss_ctx_id_t *, /* context_handle */
643  const gss_cred_id_t, /* acceptor_cred_handle */
644  const gss_buffer_t, /* input_token_buffer */
645  const gss_channel_bindings_t, /* input_chan_bindings */
646  gss_name_t *, /* src_name */
647  gss_OID *, /* mech_type */
648  gss_buffer_t, /* output_token */
649  OM_uint32 *, /* ret_flags */
650  OM_uint32 *, /* time_rec */
651  gss_cred_id_t *); /* delegated_cred_handle */
652 
653 GSS_MAKE_TYPEDEF
654 OM_uint32
655 GSS_CALLCONV GSS_FUNC(gss_process_context_token)
656  (OM_uint32 *, /* minor_status */
657  const gss_ctx_id_t, /* context_handle */
658  const gss_buffer_t); /* token_buffer */
659 
660 GSS_MAKE_TYPEDEF
661 OM_uint32
662 GSS_CALLCONV GSS_FUNC(gss_delete_sec_context)
663  (OM_uint32 *, /* minor_status */
664  gss_ctx_id_t *, /* context_handle */
665  gss_buffer_t); /* output_token */
666 
667 GSS_MAKE_TYPEDEF
668 OM_uint32
669 GSS_CALLCONV GSS_FUNC(gss_context_time)
670  (OM_uint32 *, /* minor_status */
671  const gss_ctx_id_t, /* context_handle */
672  OM_uint32 *); /* time_rec */
673 
674 GSS_MAKE_TYPEDEF
675 OM_uint32
676 GSS_CALLCONV GSS_FUNC(gss_get_mic)
677  (OM_uint32 *, /* minor_status */
678  const gss_ctx_id_t, /* context_handle */
679  gss_qop_t, /* qop_req */
680  const gss_buffer_t, /* message_buffer */
681  gss_buffer_t); /* message_token */
682 
683 
684 GSS_MAKE_TYPEDEF
685 OM_uint32
686 GSS_CALLCONV GSS_FUNC(gss_verify_mic)
687  (OM_uint32 *, /* minor_status */
688  const gss_ctx_id_t, /* context_handle */
689  const gss_buffer_t, /* message_buffer */
690  const gss_buffer_t, /* token_buffer */
691  gss_qop_t *); /* qop_state */
692 
693 GSS_MAKE_TYPEDEF
694 OM_uint32
695 GSS_CALLCONV GSS_FUNC(gss_wrap)
696  (OM_uint32 *, /* minor_status */
697  const gss_ctx_id_t, /* context_handle */
698  int, /* conf_req_flag */
699  gss_qop_t, /* qop_req */
700  const gss_buffer_t, /* input_message_buffer */
701  int *, /* conf_state */
702  gss_buffer_t); /* output_message_buffer */
703 
704 
705 GSS_MAKE_TYPEDEF
706 OM_uint32
707 GSS_CALLCONV GSS_FUNC(gss_unwrap)
708  (OM_uint32 *, /* minor_status */
709  const gss_ctx_id_t, /* context_handle */
710  const gss_buffer_t, /* input_message_buffer */
711  gss_buffer_t, /* output_message_buffer */
712  int *, /* conf_state */
713  gss_qop_t *); /* qop_state */
714 
715 GSS_MAKE_TYPEDEF
716 OM_uint32
717 GSS_CALLCONV GSS_FUNC(gss_display_status)
718  (OM_uint32 *, /* minor_status */
719  OM_uint32, /* status_value */
720  int, /* status_type */
721  const gss_OID, /* mech_type */
722  OM_uint32 *, /* message_context */
723  gss_buffer_t); /* status_string */
724 
725 GSS_MAKE_TYPEDEF
726 OM_uint32
727 GSS_CALLCONV GSS_FUNC(gss_indicate_mechs)
728  (OM_uint32 *, /* minor_status */
729  gss_OID_set *); /* mech_set */
730 
731 GSS_MAKE_TYPEDEF
732 OM_uint32
733 GSS_CALLCONV GSS_FUNC(gss_compare_name)
734  (OM_uint32 *, /* minor_status */
735  const gss_name_t, /* name1 */
736  const gss_name_t, /* name2 */
737  int *); /* name_equal */
738 
739 GSS_MAKE_TYPEDEF
740 OM_uint32
741 GSS_CALLCONV GSS_FUNC(gss_display_name)
742  (OM_uint32 *, /* minor_status */
743  const gss_name_t, /* input_name */
744  gss_buffer_t, /* output_name_buffer */
745  gss_OID *); /* output_name_type */
746 
747 GSS_MAKE_TYPEDEF
748 OM_uint32
749 GSS_CALLCONV GSS_FUNC(gss_import_name)
750  (OM_uint32 *, /* minor_status */
751  const gss_buffer_t, /* input_name_buffer */
752  const gss_OID, /* input_name_type */
753  gss_name_t *); /* output_name */
754 
755 GSS_MAKE_TYPEDEF
756 OM_uint32
757 GSS_CALLCONV GSS_FUNC(gss_export_name)
758  (OM_uint32 *, /* minor_status */
759  const gss_name_t, /* input_name */
760  gss_buffer_t); /* exported_name */
761 
762 GSS_MAKE_TYPEDEF
763 OM_uint32
764 GSS_CALLCONV GSS_FUNC(gss_release_name)
765  (OM_uint32 *, /* minor_status */
766  gss_name_t *); /* input_name */
767 
768 GSS_MAKE_TYPEDEF
769 OM_uint32
770 GSS_CALLCONV GSS_FUNC(gss_release_buffer)
771  (OM_uint32 *, /* minor_status */
772  gss_buffer_t); /* buffer */
773 
774 GSS_MAKE_TYPEDEF
775 OM_uint32
776 GSS_CALLCONV GSS_FUNC(gss_release_oid_set)
777  (OM_uint32 *, /* minor_status */
778  gss_OID_set *); /* set */
779 
780 GSS_MAKE_TYPEDEF
781 OM_uint32
782 GSS_CALLCONV GSS_FUNC(gss_inquire_cred)
783  (OM_uint32 *, /* minor_status */
784  const gss_cred_id_t, /* cred_handle */
785  gss_name_t *, /* name */
786  OM_uint32 *, /* lifetime */
787  gss_cred_usage_t *, /* cred_usage */
788  gss_OID_set *); /* mechanisms */
789 
790 GSS_MAKE_TYPEDEF
791 OM_uint32
792 GSS_CALLCONV GSS_FUNC(gss_inquire_context)
793  (OM_uint32 *, /* minor_status */
794  const gss_ctx_id_t, /* context_handle */
795  gss_name_t *, /* src_name */
796  gss_name_t *, /* targ_name */
797  OM_uint32 *, /* lifetime_rec */
798  gss_OID *, /* mech_type */
799  OM_uint32 *, /* ctx_flags */
800  int *, /* locally_initiated */
801  int *); /* open */
802 
803 GSS_MAKE_TYPEDEF
804 OM_uint32
805 GSS_CALLCONV GSS_FUNC(gss_wrap_size_limit)
806  (OM_uint32 *, /* minor_status */
807  const gss_ctx_id_t, /* context_handle */
808  int, /* conf_req_flag */
809  gss_qop_t, /* qop_req */
810  OM_uint32, /* req_output_size */
811  OM_uint32 *); /* max_input_size */
812 
813 GSS_MAKE_TYPEDEF
814 OM_uint32
815 GSS_CALLCONV GSS_FUNC(gss_add_cred)
816  (OM_uint32 *, /* minor_status */
817  const gss_cred_id_t, /* input_cred_handle */
818  const gss_name_t, /* desired_name */
819  const gss_OID, /* desired_mech */
820  gss_cred_usage_t, /* cred_usage */
821  OM_uint32, /* initiator_time_req */
822  OM_uint32, /* acceptor_time_req */
823  gss_cred_id_t *, /* output_cred_handle */
824  gss_OID_set *, /* actual_mechs */
825  OM_uint32 *, /* initiator_time_rec */
826  OM_uint32 *); /* acceptor_time_rec */
827 
828 GSS_MAKE_TYPEDEF
829 OM_uint32
830 GSS_CALLCONV GSS_FUNC(gss_inquire_cred_by_mech)
831  (OM_uint32 *, /* minor_status */
832  const gss_cred_id_t, /* cred_handle */
833  const gss_OID, /* mech_type */
834  gss_name_t *, /* name */
835  OM_uint32 *, /* initiator_lifetime */
836  OM_uint32 *, /* acceptor_lifetime */
837  gss_cred_usage_t *); /* cred_usage */
838 
839 GSS_MAKE_TYPEDEF
840 OM_uint32
841 GSS_CALLCONV GSS_FUNC(gss_export_sec_context)
842  (OM_uint32 *, /* minor_status */
843  gss_ctx_id_t *, /* context_handle */
844  gss_buffer_t); /* interprocess_token */
845 
846 GSS_MAKE_TYPEDEF
847 OM_uint32
848 GSS_CALLCONV GSS_FUNC(gss_import_sec_context)
849  (OM_uint32 *, /* minor_status */
850  const gss_buffer_t, /* interprocess_token */
851  gss_ctx_id_t *); /* context_handle */
852 
853 GSS_MAKE_TYPEDEF
854 OM_uint32
855 GSS_CALLCONV GSS_FUNC(gss_create_empty_oid_set)
856  (OM_uint32 *, /* minor_status */
857  gss_OID_set *); /* oid_set */
858 
859 GSS_MAKE_TYPEDEF
860 OM_uint32
861 GSS_CALLCONV GSS_FUNC(gss_add_oid_set_member)
862  (OM_uint32 *, /* minor_status */
863  const gss_OID, /* member_oid */
864  gss_OID_set *); /* oid_set */
865 
866 GSS_MAKE_TYPEDEF
867 OM_uint32
868 GSS_CALLCONV GSS_FUNC(gss_test_oid_set_member)
869  (OM_uint32 *, /* minor_status */
870  const gss_OID, /* member */
871  const gss_OID_set, /* set */
872  int *); /* present */
873 
874 GSS_MAKE_TYPEDEF
875 OM_uint32
876 GSS_CALLCONV GSS_FUNC(gss_inquire_names_for_mech)
877  (OM_uint32 *, /* minor_status */
878  const gss_OID, /* mechanism */
879  gss_OID_set * /* name_types */
880  );
881 
882 GSS_MAKE_TYPEDEF
883 OM_uint32
884 GSS_CALLCONV GSS_FUNC(gss_inquire_mechs_for_name)
885  (OM_uint32 *, /* minor_status */
886  const gss_name_t, /* input_name */
887  gss_OID_set *); /* mech_types */
888 
889 GSS_MAKE_TYPEDEF
890 OM_uint32
891 GSS_CALLCONV GSS_FUNC(gss_canonicalize_name)
892  (OM_uint32 *, /* minor_status */
893  const gss_name_t, /* input_name */
894  const gss_OID, /* mech_type */
895  gss_name_t *); /* output_name */
896 
897 GSS_MAKE_TYPEDEF
898 OM_uint32
899 GSS_CALLCONV GSS_FUNC(gss_duplicate_name)
900  (OM_uint32 *, /* minor_status */
901  const gss_name_t, /* src_name */
902  gss_name_t *); /* dest_name */
903 
904 /*
905  * The following routines are obsolete variants of gss_get_mic,
906  * gss_verify_mic, gss_wrap and gss_unwrap. They should be
907  * provided by GSSAPI V2 implementations for backwards
908  * compatibility with V1 applications. Distinct entrypoints
909  * (as opposed to #defines) should be provided, both to allow
910  * GSSAPI V1 applications to link against GSSAPI V2 implementations,
911  * and to retain the slight parameter type differences between the
912  * obsolete versions of these routines and their current forms.
913  */
914 
915 GSS_MAKE_TYPEDEF
916 OM_uint32
917 GSS_CALLCONV GSS_FUNC(gss_sign)
918  (OM_uint32 *, /* minor_status */
919  gss_ctx_id_t, /* context_handle */
920  int, /* qop_req */
921  gss_buffer_t, /* message_buffer */
922  gss_buffer_t); /* message_token */
923 
924 GSS_MAKE_TYPEDEF
925 OM_uint32
926 GSS_CALLCONV GSS_FUNC(gss_verify)
927  (OM_uint32 *, /* minor_status */
928  gss_ctx_id_t, /* context_handle */
929  gss_buffer_t, /* message_buffer */
930  gss_buffer_t, /* token_buffer */
931  int *); /* qop_state */
932 
933 GSS_MAKE_TYPEDEF
934 OM_uint32
935 GSS_CALLCONV GSS_FUNC(gss_seal)
936  (OM_uint32 *, /* minor_status */
937  gss_ctx_id_t, /* context_handle */
938  int, /* conf_req_flag */
939  int, /* qop_req */
940  gss_buffer_t, /* input_message_buffer */
941  int *, /* conf_state */
942  gss_buffer_t); /* output_message_buffer */
943 
944 GSS_MAKE_TYPEDEF
945 OM_uint32
946 GSS_CALLCONV GSS_FUNC(gss_unseal)
947  (OM_uint32 *, /* minor_status */
948  gss_ctx_id_t, /* context_handle */
949  gss_buffer_t, /* input_message_buffer */
950  gss_buffer_t, /* output_message_buffer */
951  int *, /* conf_state */
952  int *); /* qop_state */
953 
954 #ifndef USE_ONLY_STANDARD_GSSAPI
955 #define _HAVE_GSI_EXTENDED_GSSAPI
956 
977 typedef struct gss_buffer_set_desc_struct
978 {
979  size_t count;
980  gss_buffer_t elements;
981 } gss_buffer_set_desc, *gss_buffer_set_t;
982 
983 GSS_MAKE_TYPEDEF
984 OM_uint32
985 GSS_CALLCONV GSS_FUNC(gss_create_empty_buffer_set)
986  (OM_uint32 *, /* minor_status */
987  gss_buffer_set_t *); /* buffer set to be created */
988 
989 GSS_MAKE_TYPEDEF
990 OM_uint32
991 GSS_CALLCONV GSS_FUNC(gss_add_buffer_set_member)
992  (OM_uint32 *, /* minor_status */
993  const gss_buffer_t, /* member_buffer */
994  gss_buffer_set_t *); /* buffer set to be freed */
995 
996 GSS_MAKE_TYPEDEF
997 OM_uint32
998 GSS_CALLCONV GSS_FUNC(gss_release_buffer_set)
999  (OM_uint32 *, /* minor_status */
1000  gss_buffer_set_t *); /* buffer set to be freed */
1001 
1002 GSS_MAKE_TYPEDEF
1003 OM_uint32
1004 GSS_CALLCONV GSS_FUNC(gss_import_cred)
1005  (OM_uint32 *, /* minor_status */
1006  gss_cred_id_t *, /* cred to be exported */
1007  const gss_OID, /* desired mech*/
1008  OM_uint32, /* option req */
1009  const gss_buffer_t, /* import buffer */
1010  OM_uint32, /* time req */
1011  OM_uint32 *); /* time rec */
1012 
1013 GSS_MAKE_TYPEDEF
1014 OM_uint32
1015 GSS_CALLCONV GSS_FUNC(gss_export_cred)
1016  (OM_uint32 *, /* minor_status */
1017  const gss_cred_id_t,/* cred_handle */
1018  const gss_OID, /* desired mech */
1019  OM_uint32, /* option req */
1020  gss_buffer_t); /* output buffer */
1021 
1022 GSS_MAKE_TYPEDEF
1023 OM_uint32
1024 GSS_CALLCONV GSS_FUNC(gss_init_delegation)
1025  (OM_uint32 *, /* minor_status */
1026  const gss_ctx_id_t, /* context_handle */
1027  const gss_cred_id_t, /* cred_handle */
1028  const gss_OID, /* desired_mech */
1029  const gss_OID_set, /* extension_oids */
1030  const gss_buffer_set_t, /* extension_buffers */
1031  const gss_buffer_t, /* input_token */
1032  OM_uint32, /* req_flags */
1033  OM_uint32, /* time_req */
1034  gss_buffer_t); /* output_token */
1035 
1036 GSS_MAKE_TYPEDEF
1037 OM_uint32
1038 GSS_CALLCONV GSS_FUNC(gss_accept_delegation)
1039  (OM_uint32 *, /* minor_status */
1040  const gss_ctx_id_t, /* context_handle */
1041  const gss_OID_set, /* extension_oids */
1042  const gss_buffer_set_t, /* extension_buffers */
1043  const gss_buffer_t, /* input_token */
1044  OM_uint32, /* req_flags */
1045  OM_uint32, /* time_req */
1046  OM_uint32 *, /* time_rec */
1047  gss_cred_id_t *, /* delegated_cred_handle */
1048  gss_OID *, /* mech_type */
1049  gss_buffer_t); /* output_token */
1050 
1051 GSS_MAKE_TYPEDEF
1052 OM_uint32
1053 GSS_CALLCONV GSS_FUNC(gss_inquire_sec_context_by_oid)
1054  (OM_uint32 *, /* minor_status */
1055  const gss_ctx_id_t, /* context_handle */
1056  const gss_OID, /* desired_object */
1057  gss_buffer_set_t *); /* data_set */
1058 
1059 GSS_MAKE_TYPEDEF
1060 OM_uint32
1061 GSS_CALLCONV GSS_FUNC(gss_inquire_cred_by_oid)
1062  (OM_uint32 *, /* minor_status */
1063  const gss_cred_id_t, /* context_handle */
1064  const gss_OID, /* desired_object */
1065  gss_buffer_set_t *); /* data_set */
1066 
1067 GSS_MAKE_TYPEDEF
1068 OM_uint32
1069 GSS_CALLCONV GSS_FUNC(gss_set_sec_context_option)
1070  (OM_uint32 *, /* minor_status */
1071  gss_ctx_id_t *, /* context_handle */
1072  const gss_OID, /* option */
1073  const gss_buffer_t); /* value */
1074 
1075 extern const gss_OID_desc * const GSS_DISALLOW_ENCRYPTION;
1076 extern const gss_OID_desc * const GSS_PROTECTION_FAIL_ON_CONTEXT_EXPIRATION;
1077 extern const gss_OID_desc * const GSS_APPLICATION_WILL_HANDLE_EXTENSIONS;
1078 
1079 #endif /* GSI_EXTENDED_GSSAPI */
1080 
1081 #ifdef __cplusplus
1082 }
1083 #endif
1084 
1085 #endif /* GSSAPI_H_ */
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_sign(OM_uint32 *, gss_ctx_id_t, int, gss_buffer_t, gss_buffer_t)
Sign.
Definition: get_mic.c:330
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_add_oid_set_member(OM_uint32 *, const gss_OID, gss_OID_set *)
Add OID Set Member.
Definition: oid_functions.c:165
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_import_name(OM_uint32 *, const gss_buffer_t, const gss_OID, gss_name_t *)
Definition: import_name.c:88
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_buffer_set(OM_uint32 *, gss_buffer_set_t *)
Free a Buffer Set.
Definition: buffer_set.c:219
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_create_empty_oid_set(OM_uint32 *, gss_OID_set *)
Create Empty OID SetCreates an object identifier set containing no object identifiers, to which members may be subsequently added using the GSS_Add_OID_set_member() routine. These routines are intended to be used to construct sets of mechanism object identifiers, for input to GSS_Acquire_cred().
Definition: oid_functions.c:243
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_display_status(OM_uint32 *, OM_uint32, int, const gss_OID, OM_uint32 *, gss_buffer_t)
Display StatusCalls the OpenSSL error print routines to produce a printable message. This may need some work, as the OpenSSL error messages are more of a trace, and my not be the best for the user. Also don&#39;t take advantage of being called in a loop.
Definition: display_status.c:46
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_display_name(OM_uint32 *, const gss_name_t, gss_buffer_t, gss_OID *)
Display Name.
Definition: display_name.c:46
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_seal(OM_uint32 *, gss_ctx_id_t, int, int, gss_buffer_t, int *, gss_buffer_t)
Seal.
Definition: wrap.c:355
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_accept_sec_context(OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t, const gss_buffer_t, const gss_channel_bindings_t, gss_name_t *, gss_OID *, gss_buffer_t, OM_uint32 *, OM_uint32 *, gss_cred_id_t *)
GSS Accept Security Context.
Definition: accept_sec_context.c:49
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_cred(OM_uint32 *, gss_cred_id_t *)
Release Credential.
Definition: release_cred.c:42
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_create_empty_buffer_set(OM_uint32 *, gss_buffer_set_t *)
Create a empty buffer set.
Definition: buffer_set.c:61
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_test_oid_set_member(OM_uint32 *, const gss_OID, const gss_OID_set, int *)
Test OID Set Member.
Definition: oid_functions.c:442
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_wrap(OM_uint32 *, const gss_ctx_id_t, int, gss_qop_t, const gss_buffer_t, int *, gss_buffer_t)
Wrap.
Definition: wrap.c:141
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_unseal(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, int *, int *)
Unseal.
Definition: unwrap.c:351
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_verify(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, int *)
Verify.
Definition: verify_mic.c:647
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_get_mic(OM_uint32 *, const gss_ctx_id_t, gss_qop_t, const gss_buffer_t, gss_buffer_t)
Get MICCalculates a cryptographic MIC (message integrity check) over an application message...
Definition: get_mic.c:58
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_delete_sec_context(OM_uint32 *, gss_ctx_id_t *, gss_buffer_t)
Delete Security Context.
Definition: delete_sec_context.c:45
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_indicate_mechs(OM_uint32 *, gss_OID_set *)
Indicate Mechs.
Definition: oid_functions.c:294
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_cred_by_oid(OM_uint32 *, const gss_cred_id_t, const gss_OID, gss_buffer_set_t *)
Inquire Cred By OID.
Definition: inquire_cred_by_oid.c:50
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_set_sec_context_option(OM_uint32 *, gss_ctx_id_t *, const gss_OID, const gss_buffer_t)
Set Security Context Option.
Definition: set_sec_context_option.c:72
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_context_time(OM_uint32 *, const gss_ctx_id_t, OM_uint32 *)
Context Time.
Definition: inquire_context.c:209
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_name(OM_uint32 *, gss_name_t *)
GSS Release Name.
Definition: release_name.c:42
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_acquire_cred(OM_uint32 *, const gss_name_t, OM_uint32, const gss_OID_set, gss_cred_usage_t, gss_cred_id_t *, gss_OID_set *, OM_uint32 *)
Acquire Credential.
Definition: acquire_cred.c:73
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_wrap_size_limit(OM_uint32 *, const gss_ctx_id_t, int, gss_qop_t, OM_uint32, OM_uint32 *)
Wrap Size Limit.
Definition: wrap.c:45
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_init_delegation(OM_uint32 *, const gss_ctx_id_t, const gss_cred_id_t, const gss_OID, const gss_OID_set, const gss_buffer_set_t, const gss_buffer_t, OM_uint32, OM_uint32, gss_buffer_t)
Initiate Delegation.
Definition: init_delegation.c:86
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_compare_name(OM_uint32 *, const gss_name_t, const gss_name_t, int *)
Compare Name.
Definition: compare_name.c:189
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_unwrap(OM_uint32 *, const gss_ctx_id_t, const gss_buffer_t, gss_buffer_t, int *, gss_qop_t *)
Unwrap.
Definition: unwrap.c:50
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_context(OM_uint32 *, const gss_ctx_id_t, gss_name_t *, gss_name_t *, OM_uint32 *, gss_OID *, OM_uint32 *, int *, int *)
Inquire Context.
Definition: inquire_context.c:45
Headers common to all of Globus.
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_import_cred(OM_uint32 *, gss_cred_id_t *, const gss_OID, OM_uint32, const gss_buffer_t, OM_uint32, OM_uint32 *)
Import a credential.
Definition: import_cred.c:68
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_export_cred(OM_uint32 *, const gss_cred_id_t, const gss_OID, OM_uint32, gss_buffer_t)
Export a GSSAPI credential.
Definition: export_cred.c:52
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_sec_context_by_oid(OM_uint32 *, const gss_ctx_id_t, const gss_OID, gss_buffer_set_t *)
Inquire Sec Context by OID.
Definition: inquire_sec_context_by_oid.c:38
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_add_buffer_set_member(OM_uint32 *, const gss_buffer_t, gss_buffer_set_t *)
Add a buffer to a buffer set.
Definition: buffer_set.c:126
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_duplicate_name(OM_uint32 *, const gss_name_t, gss_name_t *)
Duplicate Name.
Definition: duplicate_name.c:44
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_cred(OM_uint32 *, const gss_cred_id_t, gss_name_t *, OM_uint32 *, gss_cred_usage_t *, gss_OID_set *)
Inquire Cred.
Definition: inquire_cred.c:61
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_oid_set(OM_uint32 *, gss_OID_set *)
Release OID Set.
Definition: oid_functions.c:402
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_export_name(OM_uint32 *, const gss_name_t, gss_buffer_t)
Export Name.
Definition: export_name.c:37
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_verify_mic(OM_uint32 *, const gss_ctx_id_t, const gss_buffer_t, const gss_buffer_t, gss_qop_t *)
Verify MIC.
Definition: verify_mic.c:80
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_accept_delegation(OM_uint32 *, const gss_ctx_id_t, const gss_OID_set, const gss_buffer_set_t, const gss_buffer_t, OM_uint32, OM_uint32, OM_uint32 *, gss_cred_id_t *, gss_OID *, gss_buffer_t)
Accept a delegated credential.
Definition: accept_delegation.c:79
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_buffer(OM_uint32 *, gss_buffer_t)
Release Buffer.
Definition: release_buffer.c:36
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_init_sec_context(OM_uint32 *, const gss_cred_id_t, gss_ctx_id_t *, const gss_name_t, const gss_OID, OM_uint32, OM_uint32, const gss_channel_bindings_t, const gss_buffer_t, gss_OID *, gss_buffer_t, OM_uint32 *, OM_uint32 *)
Init Sec Context.
Definition: init_sec_context.c:36
Module Descriptor.
Definition: globus_module.h:69