Software / code / prosody
Comparison
util/sasl.lua @ 6036:f9e108f7db21
util.sasl: Fix logic for when mechanisms with channel binding support are offered
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 22 Mar 2014 14:45:04 +0100 |
| parent | 5863:abcbaf7f2e8e |
| child | 6777:5de6b93d0190 |
comparison
equal
deleted
inserted
replaced
| 6031:8796aa94c4b5 | 6036:f9e108f7db21 |
|---|---|
| 98 | 98 |
| 99 -- get a list of possible SASL mechanims to use | 99 -- get a list of possible SASL mechanims to use |
| 100 function method:mechanisms() | 100 function method:mechanisms() |
| 101 local current_mechs = {}; | 101 local current_mechs = {}; |
| 102 for mech, _ in pairs(self.mechs) do | 102 for mech, _ in pairs(self.mechs) do |
| 103 if mechanism_channelbindings[mech] and self.profile.cb then | 103 if mechanism_channelbindings[mech] then |
| 104 local ok = false; | 104 if self.profile.cb then |
| 105 for cb_name, _ in pairs(self.profile.cb) do | 105 local ok = false; |
| 106 if mechanism_channelbindings[mech][cb_name] then | 106 for cb_name, _ in pairs(self.profile.cb) do |
| 107 ok = true; | 107 if mechanism_channelbindings[mech][cb_name] then |
| 108 ok = true; | |
| 109 end | |
| 108 end | 110 end |
| 111 if ok == true then current_mechs[mech] = true; end | |
| 109 end | 112 end |
| 110 if ok == true then current_mechs[mech] = true; end | |
| 111 else | 113 else |
| 112 current_mechs[mech] = true; | 114 current_mechs[mech] = true; |
| 113 end | 115 end |
| 114 end | 116 end |
| 115 return current_mechs; | 117 return current_mechs; |