Luca Matei Pintilie
9c92f7ce4a
Bounce message corrections
...
On IRC it is confusing when an XMPP user "corrects" a message, but on
the other side a new message is sent. To prevent spam and confusion, do
not allow message corrections at all, and instead return an error if
attempted.
Fixes : #3436
Fixes : #3480
2025-10-12 17:48:33 +02:00
Link Mauve
7cd4e06f84
Support all allowed channel prefixes
...
RFC 2812 specifies in §1.3 that “Channels names are strings (beginning
with a '&', '#', '+' or '!' character) of length up to fifty (50)
characters.”
We previously only allowed the first two prefix characters, or any other
one if the server overrides the list with ISUPPORT.
2025-07-29 16:04:36 +02:00
louiz’
0061298dd0
Do not use ':' as a namespace separator with expat
...
Instead use \1, and build our own nodes by explicitely separating the
namespace and the node name.
2022-03-10 23:23:47 +01:00
louiz’
80c5a0e150
Use recipient-unavailable when we are not connected to the IRC server
...
Instead of remote-server-not-found
See #3427
2021-01-15 12:34:30 +01:00
louiz’
752931b7a5
fix localtime call -> _r
2020-12-28 23:43:13 +01:00
louiz’
9cb6a0c2c9
Entirely remove the code for the “preferred_from” nick
...
Since private messages are now always coming from the server-wide JIDs
2020-09-23 23:38:46 +02:00
louiz’
189015afb4
Conditionally compile the SASL code only with botan and database
2020-07-29 00:37:24 +02:00
louiz’
2e1ddeb654
Implement SASL plain authentication
2020-06-15 00:18:51 +02:00
louiz’
2ef41e1afc
Add missing affiliation and role in nick change presence
...
Fix #3429
2020-04-19 11:49:07 +02:00
louiz’
212e8e5989
Merge remote-tracking branch 'linkmauve/die-gc1.0-die'
2020-03-11 18:41:43 +01:00
louiz’
2c4ffbf25a
Consider the nick change only if it is NOT a join
2020-03-11 15:27:16 +01:00
louiz’
fc22e06317
Fix a type stable-id -> stanza-id, and add a test case to be exhaustive
2020-03-11 00:32:18 +01:00
louiz’
40d2168ae5
Announce the urn:xmpp:sid:0 NS in MUC's disco#info
...
As required by XEP 0359
Should fix #3369
2020-03-11 00:19:19 +01:00
louiz’
e967088986
Make sure we keep the stable-id and origin-id nodes when required
...
See https://xmpp.org/extensions/xep-0359.html
2020-03-11 00:13:46 +01:00
louiz’
fd98e60a1d
Avoid nick changes when joining a room that was already joined
...
By an other resource, or anything
fix #3423
2020-03-02 23:20:54 +01:00
Emmanuel Gil Peyrot
14fe971183
Don’t treat presence updates as MUC joins
...
If the user sends a directed presence to an unjoined MUC without a <x/>
element, send a presence error back instead of attempting to join it
again, as this is almost never what the user wants.
Fixes #3415 .
2019-11-13 23:25:17 +01:00
louiz’
e4a4addaf8
Add a missing max_history_length field in the IRC server option form
2019-11-06 17:23:43 +01:00
louiz’
34b4caeccf
Properly set the default values for invalid integer conf options
...
fix #3372
2019-11-06 17:23:35 +01:00
louiz’
61757e4822
Mark all rooms as non-anonymous
...
close #3390
2019-09-23 22:47:20 +02:00
louiz’
3339ce2cc0
Trivial little naming changes
2019-09-23 22:17:27 +02:00
louiz’
6ab064d04d
USe safer functions, gmtime_r and localtime_r
2019-09-23 22:07:57 +02:00
louiz’
89bb886a1b
Always add a 210 status in our self join presence
...
Because it's much much simpler than to track if we changed the nick that
was requested in the join request. And client will probably not get confused,
I hope.
2019-09-22 15:54:13 +02:00
louiz’
c13f3005e6
Use a “complete” action for the last step of ad-hoc commands instead of next
2019-09-14 11:50:21 +02:00
Jonas Schäfer
b68f36056d
XEP-0410: implement server-side optimisation for self-pings
...
This prevents the ping from round-tripping through IRC and
possibly a random other client of the user. Please see XEP-0410
for the rationale.
Fixes #3385 .
2019-08-20 21:42:43 +02:00
louiz’
88fe1783bf
Do not change our nick if we send a presence to a non-joined channel
...
fix #3378
2018-09-17 22:36:59 +02:00
louiz’
478619b10a
Trivial little syntax changes
2018-08-26 15:42:38 +02:00
louiz’
7d0df9b6dd
Disable the throttle limit if negative
...
Also, invalid values result in -1 being set
2018-08-23 22:18:49 +02:00
louiz’
b1564e4ddc
Fix a bunch of int to unsigned int conversion warnings
2018-08-23 20:31:31 +02:00
louiz’
89e038bc3a
Fix the real_type of ThrottleLimit
2018-08-04 15:11:59 +02:00
louiz’
782732ba16
Remove a bunch of useless empty lines
2018-08-04 14:50:33 +02:00
louiz’
6a86b14d05
Rename SetDesc to set_desc, and only define it if USE_DATABASE
2018-07-27 23:06:48 +02:00
Jonas Wielicki
b490ba6e56
Make SetDesc static
2018-07-27 23:06:48 +02:00
Jonas Wielicki
4953f7baa5
Fix incorrect setting of field description in Ad-Hoc config forms
...
The description has to be a child element of the field, not an
attribute.
2018-07-27 23:06:48 +02:00
louiz’
09b10cc801
Throttle all commands sent to IRC servers
...
fix #3354
2018-06-25 22:54:32 +02:00
louiz’
21a79b7bad
Reject messages from unjoined resources, with an error
...
fix #3346
2018-06-19 21:33:33 +02:00
louiz’
2f0e26db4c
Channels’ disco#info includes the number of participants
...
fix #3311
2018-06-17 15:16:49 +02:00
louiz’
5ff3696d6f
Merge branch 'v8'
2018-06-01 12:49:33 +02:00
louiz’
760076a33a
Make the global ad-hoc configure command available in fixed mode
...
fix #3360
2018-06-01 12:44:40 +02:00
louiz’
68d86a9daa
Merge branch 'v8'
2018-05-23 01:17:36 +02:00
louiz’
7d3c1ed927
Do not use (or present to the user) the Address field in fixed mode
...
fix #3359
2018-05-23 01:09:36 +02:00
louiz’
ba61d20340
Empty the <command/> nodes before reusing them in our responses
...
fix #3356
2018-05-14 22:07:29 +02:00
louiz’
b0168fd45b
mam: Send “fin complete” only when appropriate
...
Also simplify how we did the whole “limit + 1”
And fix one bad interpretation of the XEP for the case where the query has
no after or before restriction.
fix #3349
2018-04-29 22:18:26 +02:00
louiz’
7592d966e6
Missing fields in a data-form response are now interpreted as an empty value
2018-04-29 01:40:46 +02:00
louiz’
61de6b1dac
Revert "Use a different Date data type"
...
This reverts commit 857c7d3972 .
2018-04-24 20:25:40 +02:00
louiz’
a90f196a1c
Revert "Use the Date to find a next page in RSM, not the id"
...
This reverts commit 5ef7ba0802 .
2018-04-24 20:25:39 +02:00
Emmanuel Gil Peyrot
0d487f40c5
Use Config::is_in_list() to allow for multiple admins
2018-04-16 00:53:25 +02:00
Emmanuel Gil Peyrot
39a32d5524
Use jid.bare() instead of manual concatenation
2018-04-16 00:53:25 +02:00
louiz’
5ef7ba0802
Use the Date to find a next page in RSM, not the id
...
This way, it works, whatever the order of insertion in the database was.
fix #3343
2018-04-14 19:48:45 +02:00
louiz’
d375a9edeb
one log_debug -> log_error, also some trivial indent
2018-04-13 23:37:46 +02:00
louiz’
4bd7b6981b
Refactor that fixes a compilation issue in Release mode
...
Some template specialization were not found, because they were not declared
at the point they were used.
We moved things around, things are less inter-dependant, and also now it
works.
2018-04-13 23:35:06 +02:00