INN commit: trunk/nnrpd (sasl.c)
INN Commit
Russ_Allbery at isc.org
Sun Sep 21 19:05:54 UTC 2008
Date: Sunday, September 21, 2008 @ 12:05:53
Author: iulius
Revision: 8046
Correctly find out 504 or 482 for base64-encoding.
Modified:
trunk/nnrpd/sasl.c
--------+
sasl.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Modified: sasl.c
===================================================================
--- sasl.c 2008-09-21 18:44:24 UTC (rev 8045)
+++ sasl.c 2008-09-21 19:05:53 UTC (rev 8046)
@@ -109,6 +109,7 @@
const void *property;
int r = SASL_OK;
int r1;
+ bool base64error = false;
if (ac < 3 || ac > 4) {
/* In fact, ac > 4 here. */
@@ -157,6 +158,7 @@
base64, BASE64_BUF_SIZE, &clientinlen);
clientin = base64;
r = (r1 == SASL_CONTINUE ? SASL_BADPROT : r1);
+ base64error = (r == SASL_BADPROT);
}
}
@@ -237,6 +239,7 @@
base64, BASE64_BUF_SIZE, &clientinlen);
clientin = base64;
r = (r1 == SASL_CONTINUE ? SASL_BADPROT : r1);
+ base64error = (r == SASL_BADPROT);
}
/* Do the next step. */
@@ -308,7 +311,7 @@
switch (r) {
case SASL_BADPROT:
- resp_code = NNTP_ERR_BASE64;
+ resp_code = (base64error ? NNTP_ERR_BASE64 : NNTP_FAIL_AUTHINFO_REJECT);
break;
case SASL_BADPARAM:
case SASL_NOTDONE:
More information about the inn-committers
mailing list