Hi guys, while updating the sendmail.tcl to also be capable of the simple AUTH PLAIN mechanism (if you have to use at least a basic form of relay control) I noticed a problem with ns_base64encode:
(1) Working: ~> perl -MMIME::Base64 -e 'print encode_base64("test\0test\0testpass");' dGVzdAB0ZXN0AHRlc3RwYXNz % package require base64 % ::base64::encode "test\0test\0testpass" dGVzdAB0ZXN0AHRlc3RwYXNz (2) Failing: % ns_base64encode "test\0test\0testpass" dGVzdMCAdGVzdMCAdGVzdHBhc3M= In the particular AUTH PLAIN situation, where user, realm and pw are split by the null byte, the problem (one of the problems) is the missing null byte of the ns_uuencoded string: ~> perl -MMIME::Base64 -e 'print decode_base64 ("dGVzdMCAdGVzdMCAdGVzdHBhc3M=");'|hexdump 0000000 6574 7473 80c0 6574 7473 80c0 6574 7473 0000010 6170 7373 0000014 and in the perl and tcllib example it works: ~> perl -MMIME::Base64 -e 'print decode_base64("dGVzdAB0ZXN0AHRlc3RwYXNz");'| hexdump 0000000 6574 7473 7400 7365 0074 6574 7473 6170 0000010 7373 0000012 Do I miss something or could it be a bug? -Bernd.