-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.406 2006/10/10 15:36:50 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.407 2006/10/16 10:37:19 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
the flag correctly in the right place). These bugs could have caused
trouble for malformed header lines. I hope it is now all correct.
+PH/19 The functions {pwcheck,saslauthd}_verify_password() are always called
+ with the "reply" argument non-NULL. The code, however (which originally
+ came from elsewhere) had *some* tests for NULL when it wrote to *reply,
+ but it didn't always do it. This confused somebody who was copying the
+ code for some other use. I have removed all the tests.
+
Exim version 4.63
-----------------
-/* $Cambridge: exim/src/src/auths/pwcheck.c,v 1.3 2006/09/05 14:05:43 ph10 Exp $ */
+/* $Cambridge: exim/src/src/auths/pwcheck.c,v 1.4 2006/10/16 10:37:19 ph10 Exp $ */
/* SASL server API implementation
* Rob Siemborski
* Oct 2001 - Apr 2002: Slightly modified by Philip Hazel.
* Aug 2003: new code for saslauthd from Alexander S. Sabourenkov incorporated
* by Philip Hazel (minor mods to avoid compiler warnings)
+ * Oct 2006: (PH) removed redundant tests on "reply" being NULL - some were
+ * missing, and confused someone who was using this code for some
+ * other purpose. Here in Exim, "reply" is never NULL.
*
* screwdriver@lxnt.info
*
struct iovec iov[2];
static char response[1024];
- if (reply) { *reply = NULL; }
+ *reply = NULL;
s = socket(AF_UNIX, SOCK_STREAM, 0);
if (s == -1) { return PWCHECK_FAIL; }
if (r == -1) {
DEBUG(D_auth)
debug_printf("Cannot connect to pwcheck daemon (at '%s')\n",CYRUS_PWCHECK_SOCKET);
- if (reply) { *reply = "cannot connect to pwcheck daemon"; }
+ *reply = "cannot connect to pwcheck daemon";
return PWCHECK_FAIL;
}
}
response[start] = '\0';
- if (reply) { *reply = response; }
+ *reply = response;
return PWCHECK_NO;
}
debug_printf("saslauthd userid='%s' servicename='%s'"
" realm='%s'\n", userid, service, realm );
- if (reply)
- *reply = NULL;
+ *reply = NULL;
s = socket(AF_UNIX, SOCK_STREAM, 0);
if (s == -1) {
- if (reply)
- *reply = CUstrerror(errno);
+ *reply = CUstrerror(errno);
return PWCHECK_FAIL;
}
sizeof(srvaddr.sun_path));
r = connect(s, (struct sockaddr *)&srvaddr, sizeof(srvaddr));
if (r == -1) {
- DEBUG(D_auth)
+ DEBUG(D_auth)
debug_printf("Cannot connect to saslauthd daemon (at '%s'): %s\n",
CYRUS_SASLAUTHD_SOCKET, strerror(errno));
- if (reply)
- *reply = string_sprintf("cannot connect to saslauthd daemon at "
- "%s: %s", CYRUS_SASLAUTHD_SOCKET,
- strerror(errno));
+ *reply = string_sprintf("cannot connect to saslauthd daemon at "
+ "%s: %s", CYRUS_SASLAUTHD_SOCKET,
+ strerror(errno));
return PWCHECK_FAIL;
}