Mercurial > prosody-modules
annotate mod_http_hostaliases/mod_http_hostaliases.lua @ 6092:bd3ff802d883
mod_anti_spam: Fix another traceback for origin sessions without an IP
This is likely to be the case for stanzas originating from local hosts, for
example (so not true s2s). It should be safe to bypass the IP check for those.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 28 Dec 2024 21:02:08 +0000 |
| parents | 29e3a09275c5 |
| children |
| rev | line source |
|---|---|
|
2265
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 module:set_global(); |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local host_map = { }; |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 module:wrap_object_event(require "net.http.server"._events, false, function (handlers, event_name, event_data) |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local verb, host, path = event_name:match("^(%w+ )(.-)(/.*)"); |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 host = host_map[host]; |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 event_name = verb .. host .. path; |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 return handlers(event_name, event_data); |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 end); |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 function module.add_host(module) |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 local http_host = module:get_option_string("http_host"); |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 for host in module:get_option_set("http_host_aliases", {}) do |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 host_map[host] = http_host; |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 end |
|
29e3a09275c5
mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 end |
