aboutsummaryrefslogtreecommitdiff
path: root/src/tests/gssapi/t_add_cred.c
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2018-09-14 20:35:50 -0400
committerGreg Hudson <ghudson@mit.edu>2018-10-29 19:06:38 -0400
commit0ab749b38930d43b4640b7b2e9448079510fd4a5 (patch)
tree641f6baf00b8b6b31e1488938f90f7ff3e7c6f4b /src/tests/gssapi/t_add_cred.c
parente058595730c57032b84bacbb00806a95fd5eb470 (diff)
downloadkrb5-0ab749b38930d43b4640b7b2e9448079510fd4a5.zip
krb5-0ab749b38930d43b4640b7b2e9448079510fd4a5.tar.gz
krb5-0ab749b38930d43b4640b7b2e9448079510fd4a5.tar.bz2
Always honor desired_name in gss_add_cred()
Remove the conditionalization around the desired_name processing in gss_add_cred_from(), so that we always honor the requested name. (cherry picked from commit 6d4eb6eb473c93f0db05409195448364382760a9) ticket: 8737 version_fixed: 1.15.4
Diffstat (limited to 'src/tests/gssapi/t_add_cred.c')
-rw-r--r--src/tests/gssapi/t_add_cred.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/tests/gssapi/t_add_cred.c b/src/tests/gssapi/t_add_cred.c
index d59fde9..1407e67 100644
--- a/src/tests/gssapi/t_add_cred.c
+++ b/src/tests/gssapi/t_add_cred.c
@@ -48,6 +48,7 @@ main()
OM_uint32 minor, major;
gss_cred_id_t cred1;
gss_cred_usage_t usage;
+ gss_name_t name;
/* Check that we get the expected error if we pass neither an input nor an
* output cred handle. */
@@ -56,6 +57,15 @@ main()
GSS_C_INDEFINITE, NULL, NULL, NULL, NULL);
assert(major == (GSS_S_CALL_INACCESSIBLE_WRITE | GSS_S_NO_CRED));
+ /* Regression test for #8737: make sure that desired_name is honored when
+ * creating a credential by passing in a non-matching name. */
+ name = import_name("p:does/not/match@WRONG_REALM");
+ major = gss_add_cred(&minor, GSS_C_NO_CREDENTIAL, name, &mech_krb5,
+ GSS_C_INITIATE, GSS_C_INDEFINITE, GSS_C_INDEFINITE,
+ &cred1, NULL, NULL, NULL);
+ assert(major == GSS_S_CRED_UNAVAIL);
+ gss_release_name(&minor, &name);
+
/* Create cred1 with a krb5 initiator cred by passing an output handle but
* no input handle. */
major = gss_add_cred(&minor, GSS_C_NO_CREDENTIAL, GSS_C_NO_NAME,