ejabberd
ejabberd copied to clipboard
mod_block_strangers catpcha option not working
Environment
- ejabberd version: 24.02
- OS: Linux (Debian)
- Installed from: docker
Configuration
I use a reverse proxy from xmpp.myserver.tld to ejabberd:5080.
...
listen:
- port: 5080
ip: '::'
module: ejabberd_http
tls: false
request_handlers:
/account: mod_register_web
/admin: ejabberd_web_admin
/api: mod_http_api
/bosh: mod_bosh
/captcha: ejabberd_captcha
/upload: mod_http_upload
/ws: ejabberd_http_ws
/.well-known/host-meta: mod_host_meta
/.well-known/host-meta.json: mod_host_meta
/_matrix: mod_matrix_gw
...
captcha_cmd: mod_ecaptcha
captcha_url: https://xmpp.myserver.tld/captcha
captcha_limit: 5
acl:
spamservers:
server:
- externalserver.tld
modules:
mod_ecaptcha: {}
mod_block_strangers:
access: spamservers
allow_transports: false
captcha: true
log: true
...
ejabberd.log
Expand
2024-05-17 12:30:50.237030+00:00 [notice] (tls|<0.732.0>) Received XML on stream = <<" ">>
2024-05-17 12:30:50.763621+00:00 [notice] (tls|<0.2299.0>) Received XML on stream = <<"<message xml:lang='en' to='[email protected]' from='[email protected]/blabber.im[3.1.4].DYUl' type='chat' id='c632b51f-3757-4227-81b0-d39a7d43d5bc'><request xmlns='urn:xmpp:receipts'/><markable xmlns='urn:xmpp:chat-markers:0'/><origin-id xmlns='urn:xmpp:sid:0' id='c632b51f-3757-4227-81b0-d39a7d43d5bc'/><active xmlns='http://jabber.org/protocol/chatstates'/><body>Hi, this message may contain spam</body></message>">>
2024-05-17 12:30:50.763923+00:00 [debug] Running hook s2s_in_handle_recv: mod_s2s_dialback:s2s_in_recv/3
2024-05-17 12:30:50.764024+00:00 [debug] Running hook s2s_in_authenticated_packet: mod_s2s_dialback:s2s_in_packet/2
2024-05-17 12:30:50.764174+00:00 [debug] Route:
#message{id = <<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>,type = chat,
lang = <<"en">>,
from = #jid{user = <<"externaluser">>,
server = <<"externalserver.tld">>,
resource = <<"blabber.im[3.1.4].DYUl">>,
luser = <<"externaluser">>,
lserver = <<"externalserver.tld">>,
lresource = <<"blabber.im[3.1.4].DYUl">>},
to = #jid{user = <<"me">>,server = <<"myserver.tld">>,
resource = <<>>,luser = <<"me">>,
lserver = <<"myserver.tld">>,lresource = <<>>},
subject = [],
body = [#text{lang = <<>>,
data = <<"Hi, this message may contain spam">>}],
thread = undefined,
sub_els = [#xmlel{name = <<"request">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:receipts">>}],
children = []},
#xmlel{name = <<"markable">>,
attrs = [{<<"xmlns">>,
<<"urn:xmpp:chat-markers:0">>}],
children = []},
#xmlel{name = <<"origin-id">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:sid:0">>},
{<<"id">>,
<<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>}],
children = []},
#xmlel{name = <<"active">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/chatstates">>}],
children = []}],
meta = #{ip => {64845,291,17767,35243,0,0,0,1}}}
2024-05-17 12:30:50.764455+00:00 [debug] Local route:
#message{id = <<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>,type = chat,
lang = <<"en">>,
from = #jid{user = <<"externaluser">>,
server = <<"externalserver.tld">>,
resource = <<"blabber.im[3.1.4].DYUl">>,
luser = <<"externaluser">>,
lserver = <<"externalserver.tld">>,
lresource = <<"blabber.im[3.1.4].DYUl">>},
to = #jid{user = <<"me">>,server = <<"myserver.tld">>,
resource = <<>>,luser = <<"me">>,
lserver = <<"myserver.tld">>,lresource = <<>>},
subject = [],
body = [#text{lang = <<>>,
data = <<"Hi, this message may contain spam">>}],
thread = undefined,
sub_els = [#xmlel{name = <<"request">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:receipts">>}],
children = []},
#xmlel{name = <<"markable">>,
attrs = [{<<"xmlns">>,
<<"urn:xmpp:chat-markers:0">>}],
children = []},
#xmlel{name = <<"origin-id">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:sid:0">>},
{<<"id">>,
<<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>}],
children = []},
#xmlel{name = <<"active">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/chatstates">>}],
children = []}],
meta = #{ip => {64845,291,17767,35243,0,0,0,1}}}
2024-05-17 12:30:50.764612+00:00 [debug] Running hook sm_receive_packet: mod_mam:sm_receive_packet/1
2024-05-17 12:30:50.764792+00:00 [debug] Processing message to bare JID:
#message{id = <<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>,type = chat,
lang = <<"en">>,
from = #jid{user = <<"externaluser">>,
server = <<"externalserver.tld">>,
resource = <<"blabber.im[3.1.4].DYUl">>,
luser = <<"externaluser">>,
lserver = <<"externalserver.tld">>,
lresource = <<"blabber.im[3.1.4].DYUl">>},
to = #jid{user = <<"me">>,server = <<"myserver.tld">>,
resource = <<>>,luser = <<"me">>,
lserver = <<"myserver.tld">>,lresource = <<>>},
subject = [],
body = [#text{lang = <<>>,
data = <<"Hi, this message may contain spam">>}],
thread = undefined,
sub_els = [#xmlel{name = <<"request">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:receipts">>}],
children = []},
#xmlel{name = <<"markable">>,
attrs = [{<<"xmlns">>,
<<"urn:xmpp:chat-markers:0">>}],
children = []},
#xmlel{name = <<"origin-id">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:sid:0">>},
{<<"id">>,
<<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>}],
children = []},
#xmlel{name = <<"active">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/chatstates">>}],
children = []}],
meta = #{ip => {64845,291,17767,35243,0,0,0,1},
stanza_id => 1715949050764649}}
2024-05-17 12:30:50.765215+00:00 [debug] Sending to process <0.842.0>
2024-05-17 12:30:50.765308+00:00 [debug] Running hook c2s_handle_info: ejabberd_sm:c2s_handle_info/2
2024-05-17 12:30:50.765381+00:00 [debug] Running hook c2s_handle_info: mod_offline:c2s_handle_info/2
2024-05-17 12:30:50.765449+00:00 [debug] Running hook c2s_handle_info: mod_pubsub:c2s_handle_info/2
2024-05-17 12:30:50.765487+00:00 [debug] Running hook c2s_handle_info: mod_push_keepalive:c2s_handle_info/2
2024-05-17 12:30:50.765524+00:00 [debug] Running hook c2s_handle_info: mod_stream_mgmt:c2s_handle_info/2
2024-05-17 12:30:50.765560+00:00 [debug] Running hook c2s_handle_info: ejabberd_c2s:process_info/2
2024-05-17 12:30:50.765596+00:00 [debug] Running hook privacy_check_packet: mod_pres_counter:check_packet/4
2024-05-17 12:30:50.765815+00:00 [debug] Running hook privacy_check_packet: mod_last:privacy_check_packet/4
2024-05-17 12:30:50.765904+00:00 [debug] Running hook privacy_check_packet: mod_privacy:check_packet/4
2024-05-17 12:30:50.765980+00:00 [debug] Running hook user_receive_packet: mod_block_strangers:filter_packet/1
2024-05-17 12:30:50.766049+00:00 [debug] Running hook roster_get_jid_info: mod_roster:get_jid_info/4
2024-05-17 12:30:50.766104+00:00 [debug] Running hook roster_get_jid_info: mod_shared_roster:get_jid_info/4
2024-05-17 12:30:50.766202+00:00 [info] Rejecting message from stranger [email protected]/blabber.im[3.1.4].DYUl to [email protected]
2024-05-17 12:30:50.766383+00:00 [debug] Route:
#message{
id = <<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>,type = error,
lang = <<"en">>,
from =
#jid{
user = <<"me">>,server = <<"myserver.tld">>,
resource = <<>>,luser = <<"me">>,
lserver = <<"myserver.tld">>,lresource = <<>>},
to =
#jid{
user = <<"externaluser">>,server = <<"externalserver.tld">>,
resource = <<"blabber.im[3.1.4].DYUl">>,
luser = <<"externaluser">>,lserver = <<"externalserver.tld">>,
lresource = <<"blabber.im[3.1.4].DYUl">>},
subject = [],
body = [#text{lang = <<>>,data = <<"Hi, this message may contain spam">>}],
thread = undefined,
sub_els =
[#xmlel{
name = <<"request">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:receipts">>}],
children = []},
#xmlel{
name = <<"markable">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:chat-markers:0">>}],
children = []},
#xmlel{
name = <<"origin-id">>,
attrs =
[{<<"xmlns">>,<<"urn:xmpp:sid:0">>},
{<<"id">>,<<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>}],
children = []},
#xmlel{
name = <<"active">>,
attrs =
[{<<"xmlns">>,<<"http://jabber.org/protocol/chatstates">>}],
children = []},
#stanza_error{
type = modify,by = undefined,reason = 'policy-violation',
text =
[#text{
lang = <<"en">>,
data = <<"Messages from strangers are rejected">>}],
sub_els = []}],
meta =
#{ip => {64845,291,17767,35243,0,0,0,1},
stanza_id => 1715949050764649}}
2024-05-17 12:30:50.766877+00:00 [debug] Local route:
#message{
id = <<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>,type = error,
lang = <<"en">>,
from =
#jid{
user = <<"me">>,server = <<"myserver.tld">>,
resource = <<>>,luser = <<"me">>,
lserver = <<"myserver.tld">>,lresource = <<>>},
to =
#jid{
user = <<"externaluser">>,server = <<"externalserver.tld">>,
resource = <<"blabber.im[3.1.4].DYUl">>,
luser = <<"externaluser">>,lserver = <<"externalserver.tld">>,
lresource = <<"blabber.im[3.1.4].DYUl">>},
subject = [],
body = [#text{lang = <<>>,data = <<"Hi, this message may contain spam">>}],
thread = undefined,
sub_els =
[#xmlel{
name = <<"request">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:receipts">>}],
children = []},
#xmlel{
name = <<"markable">>,
attrs = [{<<"xmlns">>,<<"urn:xmpp:chat-markers:0">>}],
children = []},
#xmlel{
name = <<"origin-id">>,
attrs =
[{<<"xmlns">>,<<"urn:xmpp:sid:0">>},
{<<"id">>,<<"c632b51f-3757-4227-81b0-d39a7d43d5bc">>}],
children = []},
#xmlel{
name = <<"active">>,
attrs =
[{<<"xmlns">>,<<"http://jabber.org/protocol/chatstates">>}],
children = []},
#stanza_error{
type = modify,by = undefined,reason = 'policy-violation',
text =
[#text{
lang = <<"en">>,
data = <<"Messages from strangers are rejected">>}],
sub_els = []}],
meta =
#{ip => {64845,291,17767,35243,0,0,0,1},
stanza_id => 1715949050764649}}
2024-05-17 12:30:50.767171+00:00 [debug] Finding connection for {<<"myserver.tld">>,<<"externalserver.tld">>}
2024-05-17 12:30:50.767240+00:00 [debug] Using ejabberd_s2s_out <0.2326.0>
2024-05-17 12:30:50.767269+00:00 [debug] Sending to process <0.2326.0>
2024-05-17 12:30:50.767367+00:00 [notice] (tls|<0.2326.0>) Send XML on stream = <<"<message xml:lang='en' to='[email protected]/blabber.im[3.1.4].DYUl' from='[email protected]' type='error' id='c632b51f-3757-4227-81b0-d39a7d43d5bc'><request xmlns='urn:xmpp:receipts'/><markable xmlns='urn:xmpp:chat-markers:0'/><origin-id xmlns='urn:xmpp:sid:0' id='c632b51f-3757-4227-81b0-d39a7d43d5bc'/><active xmlns='http://jabber.org/protocol/chatstates'/><error type='modify'><policy-violation xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Messages from strangers are rejected</text></error><body>Hi, this message may contain spam</body></message>">>
Errors from error.log/crash.log
No errors
Bug description
I expect to receive a captcha, and after I solve it, I should receive the message. But I just get "delivery failed" and no captcha is shown. The log says "Rejecting message from stranger" but says nothing about captcha although the option is enabled. When using captcha.sh instead of mod_ecaptcha the same bug appears.