diff options
author | Sam Hartman <hartmans@mit.edu> | 1996-01-18 20:52:03 +0000 |
---|---|---|
committer | Sam Hartman <hartmans@mit.edu> | 1996-01-18 20:52:03 +0000 |
commit | 2a5fe3cb904eb160a154392b9173d522ae6eb47f (patch) | |
tree | 4b02aaf41795e56bc6b13dc17ab5be7db4e020b5 /src/appl | |
parent | 8d9655089bd8bbce4c18058ac00851c4a31fbd41 (diff) | |
download | krb5-2a5fe3cb904eb160a154392b9173d522ae6eb47f.tar.gz krb5-2a5fe3cb904eb160a154392b9173d522ae6eb47f.tar.xz krb5-2a5fe3cb904eb160a154392b9173d522ae6eb47f.zip |
Fix loop so that a ftp/host@REALM is not required,
but host/host@REALM will also work.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7334 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl')
-rw-r--r-- | src/appl/gssftp/ftpd/ChangeLog | 4 | ||||
-rw-r--r-- | src/appl/gssftp/ftpd/ftpd.c | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/appl/gssftp/ftpd/ChangeLog b/src/appl/gssftp/ftpd/ChangeLog index 16813efc06..971c87146e 100644 --- a/src/appl/gssftp/ftpd/ChangeLog +++ b/src/appl/gssftp/ftpd/ChangeLog @@ -1,3 +1,7 @@ +Thu Jan 18 14:55:42 1996 Sam Hartman <hartmans@tertius.mit.edu> + + * ftpd.c : Only return an unable to acquire credentials error if all possible services fail. + Sun Jan 14 02:58:42 1996 Mark Eichin <eichin@cygnus.com> * ftpd.c (auth_data): call gss_release_cred on the server_creds we diff --git a/src/appl/gssftp/ftpd/ftpd.c b/src/appl/gssftp/ftpd/ftpd.c index 2a1bff3f4a..a5d014a4ba 100644 --- a/src/appl/gssftp/ftpd/ftpd.c +++ b/src/appl/gssftp/ftpd/ftpd.c @@ -1938,7 +1938,12 @@ char *data; maj_stat = gss_acquire_cred(&min_stat, server_name, 0, GSS_C_NULL_OID_SET, GSS_C_ACCEPT, &server_creds, NULL, NULL); - if (maj_stat != GSS_S_COMPLETE) { + (void) gss_release_name(&min_stat, &server_name); + if (maj_stat != GSS_S_COMPLETE) + continue; + } + if (maj_stat != GSS_S_COMPLETE) + { reply_gss_error(501, maj_stat, min_stat, "acquiring credentials"); syslog(LOG_ERR, "gssapi error acquiring credentials"); @@ -1947,9 +1952,7 @@ char *data; if (server_creds == GSS_C_NO_CREDENTIAL) { syslog(LOG_ERR, "acquire return GSS_C_NO_CREDENTIAL"); } - (void) gss_release_name(&min_stat, &server_name); - break; - } + gcontext = GSS_C_NO_CONTEXT; |