Software /
code /
prosody
Comparison
util/sasl.lua @ 3365:32dc830d976c
util.sasl, util.sasl_cyrus: Updated method:mechanisms() to cache and re-use list of mechanisms.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Wed, 14 Jul 2010 20:10:35 +0500 |
parent | 3364:6a5d77924949 |
child | 3366:a2a242321901 |
comparison
equal
deleted
inserted
replaced
3364:6a5d77924949 | 3365:32dc830d976c |
---|---|
86 end | 86 end |
87 end | 87 end |
88 | 88 |
89 -- get a list of possible SASL mechanims to use | 89 -- get a list of possible SASL mechanims to use |
90 function method:mechanisms() | 90 function method:mechanisms() |
91 local mechanisms = {} | 91 local mechanisms = self.mechs; |
92 for backend, f in pairs(self.profile) do | 92 if not mechanisms then |
93 if backend_mechanism[backend] then | 93 mechanisms = {} |
94 for _, mechanism in ipairs(backend_mechanism[backend]) do | 94 for backend, f in pairs(self.profile) do |
95 if not self.restrict:contains(mechanism) then | 95 if backend_mechanism[backend] then |
96 mechanisms[mechanism] = true; | 96 for _, mechanism in ipairs(backend_mechanism[backend]) do |
97 if not self.restrict:contains(mechanism) then | |
98 mechanisms[mechanism] = true; | |
99 end | |
97 end | 100 end |
98 end | 101 end |
99 end | 102 end |
103 self.mechs = mechanisms; | |
100 end | 104 end |
101 self.mechs = mechanisms; | |
102 return mechanisms; | 105 return mechanisms; |
103 end | 106 end |
104 | 107 |
105 -- select a mechanism to use | 108 -- select a mechanism to use |
106 function method:select(mechanism) | 109 function method:select(mechanism) |