So... building against 2.1.18's headers compiled fine and works on Mac OS X 10.5 flawlessly - thanks for the pointer about the version number.
I'm a bit surprised, because my test was on 10.4. I'd've expected a more recent version under 10.5. We got an XServe with Leopard Server today, so here's what I get there:
$ strings /usr/lib/libsasl2.dylib | grep 2\.1 2.1.22
However, on Mac OS X 10.4, authorization attempts (at least using the PLAIN mechanism which many XMPP servers use) fail. The way that they fail is.. interesting. I'd chalked this up to header mismatch before, but that seems unlikely now.
Especially since 10.4 *is* 2.1.18.
On Mac OS X 10.5, we get the correct output. For a user name of 'evan' and a password of 'password', the outgoing data is ZXZhbnBhc3N3b3Jk. This is the base64 encoded version of 'evanpassword' However, on Mac OS X 10.4 using the same binary of the library which makes use of libsasl2, we get strange output. For a user name of 'evan' and a password of 'password', the outgoing data is ZXZhbmV2YW5wYXNzd29yZA==. This is the base64 encoded version of 'evanevanpassword'; the username gets duplicated. This, of course, fails authentication. Where do you think I should go looking for the source of this difference?
Maybe there's a realm in there? I only vaguely remember how that part works ... I think there are people on this list who are more qualified than me to answer that.
-- Sebastian Hagedorn - RZKR-R1 (Flachbau), Zi. 18, Robert-Koch-Str. 10 Zentrum für angewandte Informatik - Universitätsweiter Service RRZK Universität zu Köln / Cologne University - Tel. +49-221-478-5587
Attachment:
pgp62radaYNpV.pgp
Description: PGP signature