Annotate

plugins/mod_muc_unique.lua @ 11972:520ce76440ad

net.server_epoll: Prevent loop attempting to send last data after close If the connection is closed by the peer, any buffered data is given a last chance to be sent (see f27b9319e0da). If the connection is Really closed, no attempt to write will occur, instead epoll will raise the error flag and :onreadable() will be invoked again, where it will try to :close() again for the same reason, thus looping until the connection somehow gets destroyed. By clearing the _connected flag, the second time it passes :onreadable() it should go directly to :destroy(), breaking the loop. Thanks Link Mauve for reporting
author Kim Alvefur <zash@zash.se>
date Tue, 30 Nov 2021 18:19:40 +0100
parent 8878:7c3e16fdaf1d
child 12977:74b9e05af71e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
1 -- XEP-0307: Unique Room Names for Multi-User Chat
6409
5fd6c739e9bf plugins/mod_muc_unique: Fix undefined global access (thanks Lance)
Waqas Hussain <waqas20@gmail.com>
parents: 6091
diff changeset
2 local st = require "util.stanza";
8878
7c3e16fdaf1d mod_muc_unique: Use util.id for more compact identifiers
Kim Alvefur <zash@zash.se>
parents: 6409
diff changeset
3 local unique_name = require "util.id".medium;
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
4 module:add_feature "http://jabber.org/protocol/muc#unique"
6409
5fd6c739e9bf plugins/mod_muc_unique: Fix undefined global access (thanks Lance)
Waqas Hussain <waqas20@gmail.com>
parents: 6091
diff changeset
5 module:hook("iq-get/host/http://jabber.org/protocol/muc#unique:unique", function(event)
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
6 local origin, stanza = event.origin, event.stanza;
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
7 origin.send(st.reply(stanza)
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
8 :tag("unique", {xmlns = "http://jabber.org/protocol/muc#unique"})
8878
7c3e16fdaf1d mod_muc_unique: Use util.id for more compact identifiers
Kim Alvefur <zash@zash.se>
parents: 6409
diff changeset
9 :text(unique_name():lower())
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
10 );
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
11 return true;
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
12 end,-1);