Software /
code /
prosody
Comparison
plugins/mod_tls.lua @ 1911:bfe120db1ec4
mod_tls: Mark starttls feature as <required/> if require_s2s_encryption is enabled
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 05 Oct 2009 14:52:30 +0100 |
parent | 1910:14c043d7fb77 |
child | 1912:126401a7159f |
comparison
equal
deleted
inserted
replaced
1910:14c043d7fb77 | 1911:bfe120db1ec4 |
---|---|
10 | 10 |
11 local xmlns_stream = 'http://etherx.jabber.org/streams'; | 11 local xmlns_stream = 'http://etherx.jabber.org/streams'; |
12 local xmlns_starttls = 'urn:ietf:params:xml:ns:xmpp-tls'; | 12 local xmlns_starttls = 'urn:ietf:params:xml:ns:xmpp-tls'; |
13 | 13 |
14 local secure_auth_only = module:get_option("require_encryption"); | 14 local secure_auth_only = module:get_option("require_encryption"); |
15 local secure_s2s_only = module:get_option("require_s2s_encryption"); | |
15 | 16 |
16 module:add_handler("c2s_unauthed", "starttls", xmlns_starttls, | 17 module:add_handler("c2s_unauthed", "starttls", xmlns_starttls, |
17 function (session, stanza) | 18 function (session, stanza) |
18 if session.conn.starttls then | 19 if session.conn.starttls then |
19 session.send(st.stanza("proceed", { xmlns = xmlns_starttls })); | 20 session.send(st.stanza("proceed", { xmlns = xmlns_starttls })); |
59 function (session, features) | 60 function (session, features) |
60 -- This hook is possibly called once per host (at least if the | 61 -- This hook is possibly called once per host (at least if the |
61 -- remote server does not specify a to/from. | 62 -- remote server does not specify a to/from. |
62 if session.to_host and session.conn.starttls and not features:child_with_ns(xmlns_starttls) then | 63 if session.to_host and session.conn.starttls and not features:child_with_ns(xmlns_starttls) then |
63 features:tag("starttls", starttls_attr):up(); | 64 features:tag("starttls", starttls_attr):up(); |
64 -- TODO: Make this optional :P | 65 if secure_s2s_only then |
65 --features:tag("required"):up():up(); | 66 features:tag("required"):up():up(); |
67 else | |
68 features:up(); | |
69 end | |
66 end | 70 end |
67 end); | 71 end); |
68 | 72 |
69 -- For s2sout connections, start TLS if we can | 73 -- For s2sout connections, start TLS if we can |
70 module:hook_stanza(xmlns_stream, "features", | 74 module:hook_stanza(xmlns_stream, "features", |