-- Copy of authenticator-plaintext, plus added authentication from voicemail DB module (..., package.seeall) require("md5") a = require("authenticator-plaintext") list_fields = function(self, tabl) result = a.list_fields(self, tabl) return result end read_field = function(self, tabl, field) result = a.read_field(self, tabl, field) if tabl == authenticator.usertable and field == "" then -- authenticator is reading all users local vmcontroller = self:new("freeswitch-vmail/vmail") local users = vmcontroller:listusers() for i,val in ipairs(users.value) do local settings = vmcontroller.model.get_usersettings(val.username) local string = md5.sumhexa(settings.value["vm-password"].value)..":Voicemail User:/freeswitch-vmail/vmail/USER" result[#result+1] = { id=settings.value.username.value, entry=string } end vmcontroller:destroy() end return result end delete_field = function(self, tabl, field) result = a.delete_field(self, tabl, field) return result end write_entry = function(self, tabl, field, id, entry) result = a.write_entry(self, tabl, field, id, entry) return result end read_entry = function(self, tabl, field, id) result = a.read_entry(self, tabl, field, id) return result end delete_entry = function (self, tabl, field, id) result = a.delete_entry(self, tabl, field, id) return result end