X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mech_eap.git;a=blobdiff_plain;f=mech_eap%2Fset_cred_option.c;h=98bb4824f608e616842ed42175e6fc9b41b71657;hp=dd87a1f930ffbf617c0544410c4be533ac33ef10;hb=HEAD;hpb=5229ab0c335b489d4c1125e3eb44ef1d6c92fb4e diff --git a/mech_eap/set_cred_option.c b/mech_eap/set_cred_option.c index dd87a1f..98bb482 100644 --- a/mech_eap/set_cred_option.c +++ b/mech_eap/set_cred_option.c @@ -112,6 +112,24 @@ setCredFlag(OM_uint32 *minor, return GSS_S_COMPLETE; } +static OM_uint32 +setCredPassword(OM_uint32 *minor, + gss_cred_id_t cred, + const gss_OID oid GSSEAP_UNUSED, + const gss_buffer_t buffer) +{ + return gssEapSetCredPassword(minor, cred, buffer); +} + +static OM_uint32 +setCredPrivateKey(OM_uint32 *minor, + gss_cred_id_t cred, + const gss_OID oid GSSEAP_UNUSED, + const gss_buffer_t buffer) +{ + return gssEapSetCredClientCertificate(minor, cred, GSS_C_NO_BUFFER, buffer); +} + static struct { gss_OID_desc oid; OM_uint32 (*setOption)(OM_uint32 *, gss_cred_id_t cred, @@ -132,13 +150,25 @@ static struct { { 11, "\x2B\x06\x01\x04\x01\xA9\x4A\x16\x03\x03\x03" }, setCredFlag, }, + /* 1.3.6.1.4.1.5322.22.3.3.4 */ + { + { 11, "\x2B\x06\x01\x04\x01\xA9\x4A\x16\x03\x03\x04" }, + setCredPassword, + }, + /* 1.3.6.1.4.1.5322.22.3.3.5 */ + { + { 11, "\x2B\x06\x01\x04\x01\xA9\x4A\x16\x03\x03\x05" }, + setCredPrivateKey, + }, }; gss_OID GSS_EAP_CRED_SET_RADIUS_CONFIG_FILE = &setCredOps[0].oid; gss_OID GSS_EAP_CRED_SET_RADIUS_CONFIG_STANZA = &setCredOps[1].oid; gss_OID GSS_EAP_CRED_SET_CRED_FLAG = &setCredOps[2].oid; +gss_OID GSS_EAP_CRED_SET_CRED_PASSWORD = &setCredOps[3].oid; +gss_OID GSS_EAP_CRED_SET_CRED_PRIVATE_KEY = &setCredOps[4].oid; -OM_uint32 +OM_uint32 GSSAPI_CALLCONV gssspi_set_cred_option(OM_uint32 *minor, gss_cred_id_t *pCred, const gss_OID desired_object,