From: Greg Hudson Date: Fri, 10 Apr 2009 20:17:38 +0000 (+0000) Subject: Simplify the coupling of problem to response code in recvauth_common, X-Git-Tag: krb5-1.8-alpha1~549 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e8ff0dc9d86ca03de5b4bce1bcdfa9e4add93a95;p=krb5.git Simplify the coupling of problem to response code in recvauth_common, eliminating a big switch statement with a dead-code default block. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22192 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/lib/krb5/krb/recvauth.c b/src/lib/krb5/krb/recvauth.c index 0db05f5a1..2f56e567d 100644 --- a/src/lib/krb5/krb/recvauth.c +++ b/src/lib/krb5/krb/recvauth.c @@ -67,6 +67,7 @@ recvauth_common(krb5_context context, * and exit. */ problem = 0; + response = 0; if (!(flags & KRB5_RECVAUTH_SKIP_VERSION)) { /* @@ -76,11 +77,14 @@ recvauth_common(krb5_context context, return(retval); if (strcmp(inbuf.data, sendauth_version)) { problem = KRB5_SENDAUTH_BADAUTHVERS; + response = 1; } free(inbuf.data); } - if (flags & KRB5_RECVAUTH_BADAUTHVERS) + if (flags & KRB5_RECVAUTH_BADAUTHVERS) { problem = KRB5_SENDAUTH_BADAUTHVERS; + response = 1; + } /* * Do the same thing for the application version string. @@ -88,40 +92,16 @@ recvauth_common(krb5_context context, if ((retval = krb5_read_message(context, fd, &inbuf))) return(retval); if (appl_version && strcmp(inbuf.data, appl_version)) { - if (!problem) + if (!problem) { problem = KRB5_SENDAUTH_BADAPPLVERS; + response = 2; + } } if (version && !problem) *version = inbuf; else free(inbuf.data); - /* - * OK, now check the problem variable. If it's zero, we're - * fine and we can continue. Otherwise, we have to signal an - * error to the client side and bail out. - */ - switch (problem) { - case 0: - response = 0; - break; - case KRB5_SENDAUTH_BADAUTHVERS: - response = 1; - break; - case KRB5_SENDAUTH_BADAPPLVERS: - response = 2; - break; - default: - /* - * Should never happen! - */ - response = 255; -#ifdef SENDAUTH_DEBUG - fprintf(stderr, "Programming botch in recvauth! problem = %d", - problem); - abort(); -#endif - break; - } + /* * Now we actually write the response. If the response is non-zero, * exit with a return value of problem