* accept_sec_context.c (krb5_gss_accept_sec_context):
* init_sec_context.c (krb5_gss_init_sec_context):
* rel_oid.c (krb5_gss_internal_release_oid): Recognize
gss_mech_krb5_wrong.
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/mechglue@18023
dc483132-0cff-0310-8789-
dd5450dbe970
+2006-05-19 Tom Yu <tlyu@mit.edu>
+
+ * gssapi_krb5.hin: Add gss_mech_krb5_wrong.
+
+ * accept_sec_context.c (krb5_gss_accept_sec_context):
+ * init_sec_context.c (krb5_gss_init_sec_context):
+ * rel_oid.c (krb5_gss_internal_release_oid): Recognize
+ gss_mech_krb5_wrong.
+
2006-03-28 Tom Yu <tlyu@mit.edu>
* krb5_gss_glue.c: Add krb5_mechanism_wrong.
&ptr, KG_TOK_CTX_AP_REQ,
input_token->length, 1))) {
mech_used = gss_mech_krb5;
+ } else if ((code == G_WRONG_MECH)
+ &&!(code = g_verify_token_header((gss_OID) gss_mech_krb5_wrong,
+ &(ap_req.length),
+ &ptr, KG_TOK_CTX_AP_REQ,
+ input_token->length, 1))) {
+ mech_used = gss_mech_krb5_wrong;
} else if ((code == G_WRONG_MECH) &&
!(code = g_verify_token_header((gss_OID) gss_mech_krb5_old,
&(ap_req.length),
GSS_DLLIMP extern const gss_OID_desc * const gss_mech_krb5;
GSS_DLLIMP extern const gss_OID_desc * const gss_mech_krb5_old;
+GSS_DLLIMP extern const gss_OID_desc * const gss_mech_krb5_wrong;
GSS_DLLIMP extern const gss_OID_set_desc * const gss_mech_set_krb5;
GSS_DLLIMP extern const gss_OID_set_desc * const gss_mech_set_krb5_old;
GSS_DLLIMP extern const gss_OID_set_desc * const gss_mech_set_krb5_both;
} else if (g_OID_equal(mech_type, gss_mech_krb5_old)) {
if (!cred->prerfc_mech)
err = 1;
+ } else if (g_OID_equal(mech_type, gss_mech_krb5_wrong)) {
+ if (!cred->rfc_mech)
+ err = 1;
} else {
err = 1;
}
if ((*oid != gss_mech_krb5) &&
(*oid != gss_mech_krb5_old) &&
+ (*oid != gss_mech_krb5_wrong) &&
(*oid != gss_nt_krb5_name) &&
(*oid != gss_nt_krb5_principal)) {
/* We don't know about this OID */