Allow ampersands in passwords for SASL PLAIN mechanism.
--- a/util/sasl.lua Fri Aug 28 13:04:38 2009 +0200
+++ b/util/sasl.lua Fri Aug 28 19:20:12 2009 +0200
@@ -119,9 +119,9 @@
--SASL PLAIN
local function sasl_mechanism_plain(self, message)
local response = message
- local authorization = s_match(response, "([^&%z]+)")
- local authentication = s_match(response, "%z([^&%z]+)%z")
- local password = s_match(response, "%z[^&%z]+%z([^&%z]+)")
+ local authorization = s_match(response, "([^%z]+)")
+ local authentication = s_match(response, "%z([^%z]+)%z")
+ local password = s_match(response, "%z[^%z]+%z([^%z]+)")
if authentication == nil or password == nil then
return "failure", "malformed-request";