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