Package: sasl2-bin Version: 2.1.22.dfsg1-23 Severity: normal Tags: patch Playing around with the sasl-sample-client/sasl-sample-server, I always get this:
$ ./sample-client -s test service=test Waiting for mechanism list from server... S: Q1JBTS1NRDUgTE9HSU4gRElHRVNULU1ENSBOVExNIFBMQUlOIEFOT05ZTU9VUw== lt-sample-client: Decoding data from base64: bad protocol / cancel A similar report can be found here: https://answers.launchpad.net/ubuntu/+source/cyrus-sasl2/+question/60325 The problem turns out to be that the newline at the end of the base64-encoded string needs to be stripped off before the string is passed to the decoding routine. According to Debian bug #400955, this was at some point made more strict, so it probably worked in an earlier version, but it doesn't anymore. A simple fix is to change the following lines, identical in sample-server.c and sample-client.c, from result = sasl_decode64(buf + 3, (unsigned) strlen(buf + 3), buf, SAMPLE_SEC_BUF_SIZE, &len); to result = sasl_decode64(buf + 3, (unsigned) strlen(buf + 3) - 1, buf, SAMPLE_SEC_BUF_SIZE, &len); This assumes that the string always contains a trailing newline, which is technically not guaranteed, but should be unlikely. (The input buf comes from fgets().) With this fix, I could get sasl-sample-client/sasl-sample-server working. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org