Getting PLAIN mechanism work with the new API.
authorTobias Markmann <tm@ayena.de>
Fri, 13 Nov 2009 08:21:19 +0000 (09:21 +0100)
committerTobias Markmann <tm@ayena.de>
Fri, 13 Nov 2009 08:21:19 +0000 (09:21 +0100)
util/sasl.lua
util/sasl/plain.lua

index 94ed3ac984afdc6645179582ba9023b5dbb613c7..e9b466ee48f1b8decaaa3f21272ffff0f2c5f424 100644 (file)
@@ -30,6 +30,8 @@ local error = error
 local print = print
 local setmetatable = setmetatable;
 local assert = assert;
+local dofile = dofile;
+local require = require;
 
 require "util.iterators"
 local keys = keys
@@ -120,8 +122,9 @@ function method:process(message)
 end
 
 -- load the mechanisms
-require "sasl.plain"
-require "sasl.digest-md5"
-require "sasl.scram"
+m = require "util.sasl.plain"
+m.init(registerMechanism)
+--dofile "util/sasl/digest-md5.lua"
+--dofile "util/sasl/scram.lua"
 
 return _M;
index 898657f02635d57622666ee8ca9cc6d8df9ff87c..0805605396ee04ea8e620580e2a90d4e3a02c700 100644 (file)
@@ -11,7 +11,7 @@
 --
 --    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-local registerMechanism = registerMechanism
+local s_match = string.match;
 
 module "plain"
 
@@ -48,6 +48,8 @@ local function plain(self, message)
        end
 end
 
-registerMechanism("PLAIN", {"plain", "plain_test"}, plain);
+function init(registerMechanism)
+       registerMechanism("PLAIN", {"plain", "plain_test"}, plain);
+end
 
 return _M;
\ No newline at end of file