[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: I think there's a bug with p->sasl_maxbuf in cyrus.c



Thanks.

Incidentally, the correct way to check for SASL's read
buffer size is with a call to:

ldap_int_sasl_get_option(ld,
LDAP_OPT_X_SASL_MAXBUFSIZE, &value);

Unfortunately, doing this the proper way will break
Windows 2000 compatibility if you're using the latest
Cyrus-SASL (2.1.15). Why? I just noticed that my
response packets from a Windows 2000 DC were sometimes
quite large (~272KB). This is despite the fact that
the SASL client maxbufsize (advertised to the server)
is set by the OpenLDAP code by default to 65KB.
Windows 2003 is better behaved, and never returns
responses bigger than this.

By a miracle though, everything still worked with
Windows 2000 and SASL 2.1.4 up until now because the
OpenLDAP code is using the wrong buffer size to check
the size of the server response with. It's using the
buffer size of how much we can write to the server,
which is generally very large (> 4MB). But using the
newer SASL against a 2000 DC results in this server
buffer size being very small (~16KB) due to the flag
misinterpretation I mentioned before. In other words,
SNAFU.

--- Quanah Gibson-Mount <quanah@stanford.edu> wrote:
> 
> 
> --On Wednesday, October 15, 2003 2:04 PM -0700 Dave
> Snoopy 
> <kingsnoopy7@yahoo.com> wrote:
> 
> >
> > What is an ITS and how do I submit one?
> 
> http://www.openldap.org/its/
> 
> It is the Issue Tracking System.
> 
> --Quanah
> 
> 
> --
> Quanah Gibson-Mount
> Principal Software Developer
> ITSS/TSS/Computing Systems
> ITSS/TSS/Infrastructure Operations
> Stanford University
> GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html

__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com