plugins/mod_compression.lua

changeset 1676
719350956714
parent 1674
250bddde4162
child 1677
f0961ce9830c
equal deleted inserted replaced
1675:bddd5ef9565e 1676:719350956714
11 11
12 local xmlns_compression_feature = "http://jabber.org/features/compress" 12 local xmlns_compression_feature = "http://jabber.org/features/compress"
13 local xmlns_compression_protocol = "http://jabber.org/protocol/compress" 13 local xmlns_compression_protocol = "http://jabber.org/protocol/compress"
14 local compression_stream_feature = st.stanza("compression", {xmlns=xmlns_compression_feature}):tag("method"):text("zlib"):up(); 14 local compression_stream_feature = st.stanza("compression", {xmlns=xmlns_compression_feature}):tag("method"):text("zlib"):up();
15 15
16 local compression_level = module:get_option("compression_level");
17
18 -- if not defined assume admin wants best compression
19 if compression_level == nil then compression_level = 9 end;
20
21 compression_level = tonumber(compression_level);
22 if not compression_level or compression_level < 1 or compression_level > 9 then
23 module:log("warn", "Invalid compression level in config: %s", tostring(compression_level));
24 module:log("warn", "Module loading aborted. Compression won't be available.");
25 return;
26 end
16 27
17 module:add_event_hook("stream-features", 28 module:add_event_hook("stream-features",
18 function (session, features) 29 function (session, features)
19 if not session.compressed then 30 if not session.compressed then
20 -- FIXME only advertise compression support when TLS layer has no compression enabled 31 -- FIXME only advertise compression support when TLS layer has no compression enabled

mercurial