Comparison

plugins/mod_dialback.lua @ 7104:352270bc0439 0.9.10

Merge
author Kim Alvefur <zash@zash.se>
date Wed, 27 Jan 2016 00:06:30 +0100
parent 7103:5c6e78dc1864
child 7106:74798480b52e
comparison
equal deleted inserted replaced
7100:301d58705667 7104:352270bc0439
10 10
11 local log = module._log; 11 local log = module._log;
12 12
13 local st = require "util.stanza"; 13 local st = require "util.stanza";
14 local sha256_hash = require "util.hashes".sha256; 14 local sha256_hash = require "util.hashes".sha256;
15 local sha256_hmac = require "util.hashes".hmac_sha256;
15 local nameprep = require "util.encodings".stringprep.nameprep; 16 local nameprep = require "util.encodings".stringprep.nameprep;
16 17
17 local xmlns_stream = "http://etherx.jabber.org/streams"; 18 local xmlns_stream = "http://etherx.jabber.org/streams";
18 19
19 local dialback_requests = setmetatable({}, { __mode = 'v' }); 20 local dialback_requests = setmetatable({}, { __mode = 'v' });
20 21
21 function generate_dialback(id, to, from) 22 function generate_dialback(id, to, from)
22 return sha256_hash(id..to..from..hosts[from].dialback_secret, true); 23 return sha256_hmac(sha256_hash(hosts[from].dialback_secret), to .. ' ' .. from .. ' ' .. id, true);
23 end 24 end
24 25
25 function initiate_dialback(session) 26 function initiate_dialback(session)
26 -- generate dialback key 27 -- generate dialback key
27 session.dialback_key = generate_dialback(session.streamid, session.to_host, session.from_host); 28 session.dialback_key = generate_dialback(session.streamid, session.to_host, session.from_host);