aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-07-18 15:36:25 +0200
committerKim Alvefur <zash@zash.se>2020-07-18 15:36:25 +0200
commit117b53efe5cf5a9b2c2f2da3abb0bcda0cc9aa05 (patch)
tree5eaaafe42094aabd25268e1f69da53dba9efb4a7 /spec
parent923994105c47cf4d8a9df88d4afb5e7a1d0354eb (diff)
downloadprosody-117b53efe5cf5a9b2c2f2da3abb0bcda0cc9aa05.tar.gz
prosody-117b53efe5cf5a9b2c2f2da3abb0bcda0cc9aa05.zip
mod_external_services: XEP-0215: External Service Discovery
Diffstat (limited to 'spec')
-rw-r--r--spec/scansion/extdisco.scs57
-rw-r--r--spec/scansion/prosody.cfg.lua12
2 files changed, 69 insertions, 0 deletions
diff --git a/spec/scansion/extdisco.scs b/spec/scansion/extdisco.scs
new file mode 100644
index 00000000..fd73c9da
--- /dev/null
+++ b/spec/scansion/extdisco.scs
@@ -0,0 +1,57 @@
+# XEP-0215: External Service Discovery
+
+[Client] Romeo
+ password: password
+ jid: user@localhost/mFquWxSr
+
+-----
+
+Romeo connects
+
+Romeo sends:
+ <iq type='get' xml:lang='sv' id='lx2' to='localhost'>
+ <services xmlns='urn:xmpp:extdisco:2'/>
+ </iq>
+
+Romeo receives:
+ <iq type='result' id='lx2' from='localhost'>
+ <services xmlns='urn:xmpp:extdisco:2'>
+ <service host='default.example' transport='udp' port='9876' type='stun'/>
+ <service port='9876' type='turn' restricted='1' password='yHYYBDN7M3mdlug0LTdJbW0GvvQ=' transport='udp' host='default.example' username='1219525744'/>
+ <service port='9876' type='turn' restricted='1' password='1Uc6QfrDhIlbK97rGCUQ/cUICxs=' transport='udp' host='default.example' username='1219525744'/>
+ <service port='2121' type='ftp' restricted='1' password='password' transport='tcp' host='default.example' username='john'/>
+ <service port='21' type='ftp' restricted='1' password='password' transport='tcp' host='ftp.example.com' username='john'/>
+ </services>
+ </iq>
+
+Romeo sends:
+ <iq type='get' xml:lang='sv' id='lx3' to='localhost'>
+ <services xmlns='urn:xmpp:extdisco:2' type='ftp'/>
+ </iq>
+
+Romeo receives:
+ <iq type='result' id='lx3' from='localhost'>
+ <services xmlns='urn:xmpp:extdisco:2'>
+ <service port='2121' type='ftp' restricted='1' password='password' transport='tcp' host='default.example' username='john'/>
+ <service port='21' type='ftp' restricted='1' password='password' transport='tcp' host='ftp.example.com' username='john'/>
+ </services>
+ </iq>
+
+Romeo sends:
+ <iq type='get' xml:lang='sv' id='lx4' to='localhost'>
+ <credentials xmlns='urn:xmpp:extdisco:2'>
+ <service host='default.example' type='turn'/>
+ </credentials>
+ </iq>
+
+Romeo receives:
+ <iq type='result' id='lx4' from='localhost'>
+ <credentials xmlns='urn:xmpp:extdisco:2'>
+ <service port='9876' type='turn' restricted='1' password='yHYYBDN7M3mdlug0LTdJbW0GvvQ=' transport='udp' host='default.example' username='1219525744'/>
+ <service port='9876' type='turn' restricted='1' password='1Uc6QfrDhIlbK97rGCUQ/cUICxs=' transport='udp' host='default.example' username='1219525744'/>
+ </credentials>
+ </iq>
+
+Romeo disconnects
+
+# recording ended on 2020-07-18T16:47:57Z
diff --git a/spec/scansion/prosody.cfg.lua b/spec/scansion/prosody.cfg.lua
index 0bf68ddb..4e43d312 100644
--- a/spec/scansion/prosody.cfg.lua
+++ b/spec/scansion/prosody.cfg.lua
@@ -62,6 +62,7 @@ modules_enabled = {
--"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
--"proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use
"lastactivity";
+ "external_services";
-- Useful for testing
--"scansion_record"; -- Records things that happen in scansion test case format
@@ -77,6 +78,17 @@ contact_info = {
support = { "https://localhost/support.html", "xmpp:support@localhost" };
}
+external_service_host = "default.example"
+external_service_port = 9876
+external_service_secret = "<secret>"
+external_services = {
+ {type = "stun"; transport = "udp"};
+ {type = "turn"; transport = "udp"; secret = true};
+ {type = "turn"; transport = "udp"; secret = "foo"};
+ {type = "ftp"; transport = "tcp"; port = 2121; username = "john"; password = "password"};
+ {type = "ftp"; transport = "tcp"; host = "ftp.example.com"; port = 21; username = "john"; password = "password"};
+}
+
modules_disabled = {
"s2s";
}