| 1 | Output "verse.lua" |
| 2 | |
| 3 | local VerseModule = Module |
| 4 | |
| 5 | -- Verse-specific libraries that no Prosody installation provides |
| 6 | VerseModule "verse.lib.adhoc" "libs/adhoc.lib.lua" |
| 7 | VerseModule "verse.util.vcard" "util/vcard.lua" |
| 8 | |
| 9 | -- With --standalone, Prosody's libraries are embedded along with pure-Lua |
| 10 | -- fallbacks for its C modules. Otherwise they must be available to require() |
| 11 | -- at runtime, e.g. from an installed Prosody. |
| 12 | function ProsodyModules() |
| 13 | local Module = VerseModule; |
| 14 | -- Fallbacks for Prosody's C modules |
| 15 | Module "prosody.util.encodings" "libs/encodings.lua" |
| 16 | Module "prosody.util.hashes" "libs/hashes.lua" |
| 17 | Module "prosody.util.table" "libs/table.lua" |
| 18 | Module "prosody.util.time" "libs/time.lua" |
| 19 | Module "prosody.util.net" "libs/net.lua" |
| 20 | Module "prosody.util.sha1" "util/sha1.lua" |
| 21 | Module "prosody.util.bit" "libs/bit.lua" |
| 22 | |
| 23 | -- Prosody libraries |
| 24 | if not GetOption("prosody") then |
| 25 | AutoFetchURL "http://hg.prosody.im/trunk/raw-file/tip/?" |
| 26 | else |
| 27 | AutoFetchURL(GetOption("prosody") .. "/?") |
| 28 | end |
| 29 | |
| 30 | -- The select-based backend stands in for Prosody's net.server |
| 31 | Module "prosody.net.server" "net/server_select.lua" |
| 32 | |
| 33 | Module "prosody.util.stanza" "util/stanza.lua" |
| 34 | Module "prosody.util.timer" "util/timer.lua" |
| 35 | Module "prosody.util.termcolours" "util/termcolours.lua" |
| 36 | Module "prosody.util.uuid" "util/uuid.lua" |
| 37 | Module "prosody.util.envload" "util/envload.lua" |
| 38 | Module "prosody.util.id" "util/id.lua" |
| 39 | Module "prosody.util.serialization" "util/serialization.lua" |
| 40 | Module "prosody.util.indexedbheap" "util/indexedbheap.lua" |
| 41 | Module "prosody.util.xpcall" "util/xpcall.lua" |
| 42 | Module "prosody.util.array" "util/array.lua" |
| 43 | Module "prosody.util.format" "util/format.lua" |
| 44 | Module "prosody.util.promise" "util/promise.lua" |
| 45 | Module "prosody.net.adns" "net/unbound.lua" |
| 46 | Module "prosody.util.dns" "util/dns.lua" |
| 47 | Module "prosody.util.xmppstream" "util/xmppstream.lua" |
| 48 | Module "prosody.util.jid" "util/jid.lua" |
| 49 | Module "prosody.util.events" "util/events.lua" |
| 50 | Module "prosody.util.dataforms" "util/dataforms.lua" |
| 51 | Module "prosody.util.caps" "util/caps.lua" |
| 52 | Module "prosody.util.logger" "util/logger.lua" |
| 53 | Module "prosody.util.datetime" "util/datetime.lua" |
| 54 | Module "prosody.util.json" "util/json.lua" |
| 55 | Module "prosody.util.xml" "util/xml.lua" |
| 56 | Module "prosody.util.rsm" "util/rsm.lua" |
| 57 | Module "prosody.util.random" "util/random.lua" |
| 58 | Module "prosody.util.ip" "util/ip.lua" |
| 59 | Module "prosody.util.hex" "util/hex.lua" |
| 60 | Module "prosody.util.sslconfig" "util/sslconfig.lua" |
| 61 | Module "prosody.util.paths" "util/paths.lua" |
| 62 | Module "prosody.util.mathcompat" "util/mathcompat.lua" |
| 63 | Module "prosody.util.dnsregistry" "util/dnsregistry.lua" |
| 64 | Module "prosody.net.tls_luasec" "net/tls_luasec.lua" |
| 65 | |
| 66 | Module "prosody.util.http" "util/http.lua" |
| 67 | Module "prosody.net.http.parser" "net/http/parser.lua" |
| 68 | Module "prosody.net.http" "net/http.lua" |
| 69 | Module "prosody.util.x509" "util/x509.lua" |
| 70 | |
| 71 | if GetOption "internal-bit-module" then |
| 72 | Module "bit" "libs/bit.lua" |
| 73 | end |
| 74 | end |
| 75 | |
| 76 | if GetOption "standalone" then |
| 77 | ProsodyModules() |
| 78 | end |
| 79 | |
| 80 | -- Verse plugins |
| 81 | plugins = { |
| 82 | -- Login |
| 83 | "tls"; |
| 84 | "sasl"; |
| 85 | "bind"; -- "session", "legacy", "compression"; |
| 86 | -- Reliability |
| 87 | "smacks"; |
| 88 | "keepalive"; |
| 89 | -- Queries |
| 90 | "disco"; |
| 91 | "version"; |
| 92 | "ping"; |
| 93 | "uptime"; |
| 94 | "time"; |
| 95 | -- Privacy control |
| 96 | "blocking"; |
| 97 | -- Jingle / file transfer |
| 98 | "jingle"; |
| 99 | "jingle_ft"; |
| 100 | "jingle_s5b"; |
| 101 | "proxy65"; |
| 102 | "jingle_ibb"; |
| 103 | -- Pubsub |
| 104 | "pubsub"; |
| 105 | "pep"; |
| 106 | -- Command and control |
| 107 | "adhoc"; |
| 108 | -- Basics |
| 109 | "presence"; |
| 110 | "private"; |
| 111 | "roster"; |
| 112 | "register"; |
| 113 | -- MUC |
| 114 | "groupchat"; |
| 115 | -- vCard |
| 116 | "vcard"; |
| 117 | "vcard_update"; |
| 118 | -- Carbons |
| 119 | "carbons"; |
| 120 | |
| 121 | "archive"; |
| 122 | "browsing"; |
| 123 | } |
| 124 | |
| 125 | for _, plugin in ipairs(plugins) do |
| 126 | VerseModule("verse.plugins." .. plugin)("plugins/" .. plugin .. ".lua") |
| 127 | end |
| 128 | |
| 129 | -- SASL client mechanisms |
| 130 | VerseModule "verse.util.sasl.scram" "util/sasl/scram.lua" |
| 131 | VerseModule "verse.util.sasl.plain" "util/sasl/plain.lua" |
| 132 | VerseModule "verse.util.sasl.anonymous" "util/sasl/anonymous.lua" |
| 133 | VerseModule "verse.util.sasl.oauthbearer" "util/sasl/oauthbearer.lua" |
| 134 | |
| 135 | VerseModule "verse.client" "client.lua" |
| 136 | VerseModule "verse.component" "component.lua" |
| 137 | VerseModule "verse.bosh" "bosh.lua" |
| 138 | |
| 139 | -- Main verse file |
| 140 | Main "init.lua" |