Print this page
3882 remove xmod & friends


  24  * Use is subject to license terms.
  25  */
  26 
  27 #pragma ident   "%Z%%M% %I%     %E% SMI"
  28 
  29 #include "dh_gssapi.h"
  30 #include <stdlib.h>
  31 
  32 /*
  33  * gss_config structure for Diffie-Hellman family of mechanisms.
  34  * This structure is defined in mechglueP.h and defines the entry points
  35  * that libgss uses to call a backend.
  36  */
  37 static struct gss_config dh_mechanism = {
  38         {0, 0},                         /* OID for mech type. */
  39         0,
  40         __dh_gss_acquire_cred,
  41         __dh_gss_release_cred,
  42         __dh_gss_init_sec_context,
  43         __dh_gss_accept_sec_context,
  44 /* EXPORT DELETE START */ /* CRYPT DELETE START */
  45         __dh_gss_unseal,
  46 /* EXPORT DELETE END */ /* CRYPT DELETE END */
  47         __dh_gss_process_context_token,
  48         __dh_gss_delete_sec_context,
  49         __dh_gss_context_time,
  50         __dh_gss_display_status,
  51         NULL, /* Back ends don't implement this */
  52         __dh_gss_compare_name,
  53         __dh_gss_display_name,
  54         __dh_gss_import_name,
  55         __dh_gss_release_name,
  56         __dh_gss_inquire_cred,
  57         NULL, /* Back ends don't implement this */
  58 /* EXPORT DELETE START */ /* CRYPT DELETE START */
  59         __dh_gss_seal,
  60 /* EXPORT DELETE END */ /* CRYPT DELETE END */
  61         __dh_gss_export_sec_context,
  62         __dh_gss_import_sec_context,
  63         __dh_gss_inquire_cred_by_mech,
  64         __dh_gss_inquire_names_for_mech,
  65         __dh_gss_inquire_context,
  66         __dh_gss_internal_release_oid,
  67         __dh_gss_wrap_size_limit,
  68         __dh_pname_to_uid,
  69         NULL,  /* __gss_userok */
  70         __dh_gss_export_name,
  71 /* EXPORT DELETE START */
  72 /* CRYPT DELETE START */
  73 /*
  74  * This block comment is Sun Proprietary: Need-To-Know.
  75  * What we are doing is leaving the seal and unseal entry points
  76  * in an obvious place before sign and unsign for the Domestic customer
  77  * of the Solaris Source Product. The Domestic customer of the Solaris Source
  78  * Product will have to deal with the problem of creating exportable libgss
  79  * binaries.
  80  * In the binary product that Sun builds, these entry points are elsewhere,
  81  * and bracketed with special comments so that the CRYPT_SRC and EXPORT_SRC
  82  * targets delete them.
  83  */
  84 #if 0
  85 /* CRYPT DELETE END */
  86         __dh_gss_seal,
  87         __dh_gss_unseal,
  88 /* CRYPT DELETE START */
  89 #endif /* 0 */
  90 /* CRYPT DELETE END */
  91 /* EXPORT DELETE END */
  92         __dh_gss_sign,
  93         __dh_gss_verify,
  94         NULL, /* gss_store_cred() -- DH lacks this for now */
  95 };
  96 
  97 /*
  98  * __dh_gss_initialize:
  99  * Each mechanism in the Diffie-Hellman family of mechanisms calls this
 100  * routine passing a pointer to a gss_config structure. This routine will
 101  * then check that the mech is not already initialized (If so just return
 102  * the mech). It will then assign the entry points that are common to the
 103  * mechanism family to the uninitialized mech. After which, it allocate space
 104  * for that mechanism's context. It will be up to the caller to fill in
 105  * its mechanism OID and fill in the corresponding fields in mechanism
 106  * specific context.
 107  */
 108 gss_mechanism
 109 __dh_gss_initialize(gss_mechanism mech)
 110 {
 111         if (mech->context != NULL)


  24  * Use is subject to license terms.
  25  */
  26 
  27 #pragma ident   "%Z%%M% %I%     %E% SMI"
  28 
  29 #include "dh_gssapi.h"
  30 #include <stdlib.h>
  31 
  32 /*
  33  * gss_config structure for Diffie-Hellman family of mechanisms.
  34  * This structure is defined in mechglueP.h and defines the entry points
  35  * that libgss uses to call a backend.
  36  */
  37 static struct gss_config dh_mechanism = {
  38         {0, 0},                         /* OID for mech type. */
  39         0,
  40         __dh_gss_acquire_cred,
  41         __dh_gss_release_cred,
  42         __dh_gss_init_sec_context,
  43         __dh_gss_accept_sec_context,

  44         __dh_gss_unseal,

  45         __dh_gss_process_context_token,
  46         __dh_gss_delete_sec_context,
  47         __dh_gss_context_time,
  48         __dh_gss_display_status,
  49         NULL, /* Back ends don't implement this */
  50         __dh_gss_compare_name,
  51         __dh_gss_display_name,
  52         __dh_gss_import_name,
  53         __dh_gss_release_name,
  54         __dh_gss_inquire_cred,
  55         NULL, /* Back ends don't implement this */

  56         __dh_gss_seal,

  57         __dh_gss_export_sec_context,
  58         __dh_gss_import_sec_context,
  59         __dh_gss_inquire_cred_by_mech,
  60         __dh_gss_inquire_names_for_mech,
  61         __dh_gss_inquire_context,
  62         __dh_gss_internal_release_oid,
  63         __dh_gss_wrap_size_limit,
  64         __dh_pname_to_uid,
  65         NULL,  /* __gss_userok */
  66         __dh_gss_export_name,





















  67         __dh_gss_sign,
  68         __dh_gss_verify,
  69         NULL, /* gss_store_cred() -- DH lacks this for now */
  70 };
  71 
  72 /*
  73  * __dh_gss_initialize:
  74  * Each mechanism in the Diffie-Hellman family of mechanisms calls this
  75  * routine passing a pointer to a gss_config structure. This routine will
  76  * then check that the mech is not already initialized (If so just return
  77  * the mech). It will then assign the entry points that are common to the
  78  * mechanism family to the uninitialized mech. After which, it allocate space
  79  * for that mechanism's context. It will be up to the caller to fill in
  80  * its mechanism OID and fill in the corresponding fields in mechanism
  81  * specific context.
  82  */
  83 gss_mechanism
  84 __dh_gss_initialize(gss_mechanism mech)
  85 {
  86         if (mech->context != NULL)