1 #include "ppport.h" 2 GSSAPI::OID_out 3 new(class) 4 char * class 5 CODE: 6 RETVAL = NULL; 7 OUTPUT: 8 RETVAL 9 10 void 11 DESTROY(oid) 12 GSSAPI::OID oid 13 PREINIT: 14 OM_uint32 minor; 15 PPCODE: 16 #if !defined(HEIMDAL) 17 if (oid != NULL && 18 oid != __KRB5_MECHTYPE_OID && 19 oid != __KRB5_OLD_MECHTYPE_OID && 20 oid != __GSS_KRB5_NT_USER_NAME && 21 oid != __GSS_KRB5_NT_PRINCIPAL_NAME && 22 oid != __SPNEGO_MECHTYPE_OID && 23 oid != __gss_mech_krb5_v2 ) { 24 (void)gss_release_oid(&minor, &oid); 25 } 26 #endif 27 #if defined(HEIMDAL) 28 # warn("gss_release_oid is unsupported and not Part of the API!"); 29 #endif 30 31 GSSAPI::Status 32 from_str(class, oid, str) 33 char * class 34 GSSAPI::OID_out oid 35 gss_buffer_str str 36 CODE: 37 #if !defined(HEIMDAL) 38 RETVAL.major = gss_str_to_oid(&RETVAL.minor, &str, &oid); 39 #endif 40 #if defined(HEIMDAL) 41 croak("gss_str_to_oid() is not defined in Heimdal API!"); 42 #endif 43 OUTPUT: 44 RETVAL 45 oid 46 47 GSSAPI::Status 48 to_str(oid, str) 49 GSSAPI::OID oid 50 gss_oidstr_out str 51 CODE: 52 if (oid == NULL) { 53 sv_setsv_mg(ST(1), &PL_sv_undef); 54 XSRETURN_UNDEF; 55 } 56 #if !defined(HEIMDAL) 57 RETVAL.major = gss_oid_to_str(&RETVAL.minor, oid, &str); 58 #endif 59 #if defined(HEIMDAL) 60 croak("gss_oid_to_str() is not defined in Heimdal API!"); 61 #endif 62 OUTPUT: 63 RETVAL 64 str 65 66 GSSAPI::Status 67 inquire_names(oid, oidset) 68 GSSAPI::OID oid 69 GSSAPI::OID::Set_out oidset 70 CODE: 71 RETVAL.major = 72 gss_inquire_names_for_mech(&RETVAL.minor, oid, &oidset); 73 OUTPUT: 74 RETVAL 75 oidset 76 77 78 # 79 # generic OIDs 80 # 81 82 GSSAPI::OID_const 83 gss_nt_user_name() 84 CODE: 85 RETVAL = GSS_C_NT_USER_NAME; 86 OUTPUT: 87 RETVAL 88 89 GSSAPI::OID_const 90 gss_nt_machine_uid_name() 91 CODE: 92 RETVAL = GSS_C_NT_MACHINE_UID_NAME; 93 OUTPUT: 94 RETVAL 95 96 GSSAPI::OID_const 97 gss_nt_string_uid_name() 98 CODE: 99 RETVAL = GSS_C_NT_STRING_UID_NAME; 100 OUTPUT: 101 RETVAL 102 103 GSSAPI::OID_const 104 gss_nt_service_name() 105 CODE: 106 RETVAL = GSS_C_NT_HOSTBASED_SERVICE; 107 OUTPUT: 108 RETVAL 109 110 GSSAPI::OID_const 111 gss_nt_exported_name() 112 CODE: 113 RETVAL = GSS_C_NT_EXPORT_NAME; 114 OUTPUT: 115 RETVAL 116 117 GSSAPI::OID_const 118 gss_nt_service_name_v2() 119 CODE: 120 RETVAL = GSS_C_NT_HOSTBASED_SERVICE; 121 OUTPUT: 122 RETVAL 123 124 125 # 126 # Kerberos OIDs 127 # 128 129 GSSAPI::OID_const 130 gss_nt_krb5_name() 131 CODE: 132 RETVAL = __GSS_KRB5_NT_USER_NAME; 133 OUTPUT: 134 RETVAL 135 136 GSSAPI::OID_const 137 gss_nt_krb5_principal() 138 CODE: 139 RETVAL = __GSS_KRB5_NT_PRINCIPAL_NAME; 140 OUTPUT: 141 RETVAL 142 143 GSSAPI::OID_const 144 gss_mech_krb5() 145 CODE: 146 RETVAL = __KRB5_MECHTYPE_OID; 147 OUTPUT: 148 RETVAL 149 150 GSSAPI::OID_const 151 gss_mech_spnego() 152 CODE: 153 RETVAL = __SPNEGO_MECHTYPE_OID; 154 OUTPUT: 155 RETVAL 156 157 GSSAPI::OID_const 158 gss_mech_krb5_old() 159 CODE: 160 RETVAL = __KRB5_OLD_MECHTYPE_OID; 161 OUTPUT: 162 RETVAL 163 164 GSSAPI::OID_const 165 gss_mech_krb5_v2() 166 CODE: 167 RETVAL = __gss_mech_krb5_v2; 168 OUTPUT: 169 RETVAL 170 171 GSSAPI::OID_const 172 gss_nt_hostbased_service() 173 CODE: 174 RETVAL = GSS_C_NT_HOSTBASED_SERVICE; 175 OUTPUT: 176 RETVAL 177