1 local verse = require "verse"; |
1 local verse = require "verse"; |
2 local base64 = require "util.encodings".base64; |
2 local base64 = require "util.encodings".base64; |
3 local uuid_generate = require "util.uuid".generate; |
3 local new_id = require "util.id".short; |
4 |
4 |
5 local xmlns_jingle_ibb = "urn:xmpp:jingle:transports:ibb:1"; |
5 local xmlns_jingle_ibb = "urn:xmpp:jingle:transports:ibb:1"; |
6 local xmlns_ibb = "http://jabber.org/protocol/ibb"; |
6 local xmlns_ibb = "http://jabber.org/protocol/ibb"; |
7 assert(base64.encode("This is a test.") == "VGhpcyBpcyBhIHRlc3Qu", "Base64 encoding failed"); |
7 assert(base64.encode("This is a test.") == "VGhpcyBpcyBhIHRlc3Qu", "Base64 encoding failed"); |
8 assert(base64.decode("VGhpcyBpcyBhIHRlc3Qu") == "This is a test.", "Base64 decoding failed"); |
8 assert(base64.decode("VGhpcyBpcyBhIHRlc3Qu") == "This is a test.", "Base64 decoding failed"); |
157 conn:initiate(self.peer, self.sid, self.stanza); |
157 conn:initiate(self.peer, self.sid, self.stanza); |
158 self.conn = conn; |
158 self.conn = conn; |
159 end |
159 end |
160 function ibb:generate_initiate() |
160 function ibb:generate_initiate() |
161 print("ibb:generate_initiate() as ".. self.role); |
161 print("ibb:generate_initiate() as ".. self.role); |
162 local sid = uuid_generate(); |
162 local sid = new_id(); |
163 self.sid = sid; |
163 self.sid = sid; |
164 self.stanza = 'iq'; |
164 self.stanza = 'iq'; |
165 self.block = 2048; |
165 self.block = 2048; |
166 local transport = verse.stanza("transport", { xmlns = xmlns_jingle_ibb, |
166 local transport = verse.stanza("transport", { xmlns = xmlns_jingle_ibb, |
167 sid = self.sid, stanza = self.stanza, ["block-size"] = self.block }); |
167 sid = self.sid, stanza = self.stanza, ["block-size"] = self.block }); |