----------------------------------------------------------------------
authorSam Hartman <hartmans@mit.edu>
Sun, 2 Jul 1995 23:22:04 +0000 (23:22 +0000)
committerSam Hartman <hartmans@mit.edu>
Sun, 2 Jul 1995 23:22:04 +0000 (23:22 +0000)
automatically CVS: CVS: Committing in .  CVS: CVS: Modified Files:
----------------------------------------------------------------------
Correct logic in krb5_recvauth so that it returns an error reply if
authentication fails.

CVS:

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6220 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/krb/ChangeLog
src/lib/krb5/krb/recvauth.c

index a8c0dc05be4cded682beb690160735820355c3c2..be02d6e7f29ac3bcfb70edefd621af7176eef038 100644 (file)
@@ -1,3 +1,9 @@
+Sun Jul  2 18:59:53 1995  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * recvauth.c (krb5_recvauth): recvauth should send an error reply
+        if problem is not zero. Removed if that caused it to only send a
+        reply on success.
+
 Fri Jun 16 22:11:21 1995  Theodore Y. Ts'o  (tytso@dcl)
 
        * get_in_tkt.c (krb5_get_in_tkt): Allow the credentials cache
index 77ea1cfc33c9e00eb9555af5c4f9ce078837cc55..eb753f8eca694cbef01e9740fd7d6858e6ae91bc 100644 (file)
@@ -188,6 +188,11 @@ krb5_recvauth(context, auth_context,
        memset((char *)&error, 0, sizeof(error));
        krb5_us_timeofday(context, &error.stime, &error.susec);
        error.server = server;
+
+
+
+
+
        error.error = problem - ERROR_TABLE_BASE_krb5;
        if (error.error > 127)
                error.error = KRB_ERR_GENERIC;
@@ -208,17 +213,15 @@ krb5_recvauth(context, auth_context,
        outbuf.data = 0;
     }
 
-    if (!problem) {
-       retval = krb5_write_message(context, fd, &outbuf);
-       if (outbuf.data)
-           krb5_xfree(outbuf.data);
-       if (retval)
-           goto cleanup;
-    } else {
+    retval = krb5_write_message(context, fd, &outbuf);
+    if (outbuf.data) {
+       krb5_xfree(outbuf.data);
        /* We sent back an error, we need cleanup then return */
        retval = problem;
        goto cleanup;
     }
+    if (retval)
+       goto cleanup;
 
     /* Here lies the mutual authentication stuff... */
     if ((ap_option & AP_OPTS_MUTUAL_REQUIRED)) {