> If you use the pass above, change it now that you have sent it to public.

I am substituting in fake accounts and passwords to show what's going on, these 
do not match what I am actually using :)

> Where did you put smtpd.conf? On Debian it should be in
> /etc/postfix/sasl/smtpd.conf.

On my system that file did not exist (the sasl directory is emtpy), it was 
located at /usr/lib/sasl2/smtpd.conf
The only lines are the ones I put there:

pwcheck_method: saslauthd
mech_list: login plain

> Do you run Postfix smtpd chrooted?

Not to my knowledge; I am running a pretty default install.
How could I confirm that?

> You seem to be generating your base64 hash incorrectly, putting literal
> "<00>" in the hash instead of the null character.  See the following for
> info on how to correctly generate the hash:
> http://www.postfix.org/SASL_README.html#server_test

The \000 is apparently just a different escape character.
From http://qmail.jms1.net/test-auth.shtml:

"... if you use \0 as the separator, and the userid or password happens to 
start with a digit, perl will try to find and use a three-digit octal character 
code instead of a one-digit null byte with two normal digits behind it. Using 
\000 instead of just \0 prevents this from happening."

At any rate, the result is the same regardless:

perl -MMIME::Base64 -e 'print encode_base64("\0test\@example.com\0testtest123")'
AHRlc3RAZXhhbXBsZS5jb20AdGVzdHRlc3QxMjM=
perl -MMIME::Base64 -e 'print 
encode_base64("\000test\@example.com\000testtest123")'
AHRlc3RAZXhhbXBsZS5jb20AdGVzdHRlc3QxMjM=

Reply via email to