git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Auths: fix cyrus-sasl driver for gssapi use. Bug 2524
[exim.git]
/
src
/
src
/
auths
/
cyrus_sasl.c
diff --git
a/src/src/auths/cyrus_sasl.c
b/src/src/auths/cyrus_sasl.c
index d6ddc011156a2513ac45d05a7f4c19640ddf7f19..28592a1a0863673f7f06243dcd1dab0393fda392 100644
(file)
--- a/
src/src/auths/cyrus_sasl.c
+++ b/
src/src/auths/cyrus_sasl.c
@@
-330,10
+330,10
@@
for (rc = SASL_CONTINUE; rc == SASL_CONTINUE; )
}
else
{
}
else
{
- /*
make sure that we have a null-terminated string */
- out2 = string_copyn(output, outlen);
+ /*
auth_get_data() takes a length-specfied block of binary
+ which can include zeroes; no terminating NUL is needed */
- if ((rc = auth_get_data(&input, out
2
, outlen)) != OK)
+ if ((rc = auth_get_data(&input, out
put
, outlen)) != OK)
{
/* we couldn't get the data, so free up the library before
returning whatever error we get */
{
/* we couldn't get the data, so free up the library before
returning whatever error we get */
@@
-372,7
+372,7
@@
for (rc = SASL_CONTINUE; rc == SASL_CONTINUE; )
/* Get the username and copy it into $auth1 and $1. The former is now the
preferred variable; the latter is the original variable. */
/* Get the username and copy it into $auth1 and $1. The former is now the
preferred variable; the latter is the original variable. */
- if ((sasl_getprop(conn, SASL_USERNAME, (const void **)
(&out2)
)) != SASL_OK)
+ if ((sasl_getprop(conn, SASL_USERNAME, (const void **)
&out2
)) != SASL_OK)
{
HDEBUG(D_auth)
debug_printf("Cyrus SASL library will not tell us the username: %s\n",
{
HDEBUG(D_auth)
debug_printf("Cyrus SASL library will not tell us the username: %s\n",