aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/stanza_routing.txt25
-rw-r--r--main.lua2
-rw-r--r--net/server.lua (renamed from server.lua)4
3 files changed, 29 insertions, 2 deletions
diff --git a/doc/stanza_routing.txt b/doc/stanza_routing.txt
new file mode 100644
index 00000000..1460a6d5
--- /dev/null
+++ b/doc/stanza_routing.txt
@@ -0,0 +1,25 @@
+No 'to' attribute:
+ IQ: Pass to appropriate handler
+ Presence: Broadcast to contacts
+ - if initial presence, also send out presence probes
+ - if probe would be to local user, generate presence stanza for them
+ Message: Route as if it is addressed to the bare JID of the sender
+
+To a local host:
+ IQ: Pass to appropriate handler
+ Presence: -
+ Message: Deliver to admin?
+
+To local contact:
+ Bare JID:
+ IQ: Pass to appropriate handler
+ Presence: Broadcast to all resources
+ Message: Route to 'best' resource
+ Full JID:
+ IQ: Send to resource
+ Presence: Send to resource
+ Message: Send to resource
+
+To remote contact:
+ Initiate s2s connection if necessary
+ Send stanza across
diff --git a/main.lua b/main.lua
index b0801168..c19ad8bf 100644
--- a/main.lua
+++ b/main.lua
@@ -1,6 +1,6 @@
require "luarocks.require"
-server = require "server"
+server = require "net.server"
require "socket"
require "ssl"
require "lxp"
diff --git a/server.lua b/net/server.lua
index 46e3730e..b7f026d3 100644
--- a/server.lua
+++ b/net/server.lua
@@ -1,6 +1,8 @@
--[[
- server.lua by blastbeat
+ server.lua by blastbeat of the luadch project
+
+ re-used here under the MIT/X Consortium License
- this script contains the server loop of the program
- other scripts can reg a server here