Commit Graph
673 Commits
Author SHA1 Message Date
louiz’ 9913518178 Add an error message for udns error DNS_E_NODATA (cherry-picked from master)
In cases where the DNS server does not respond “domain not found” but
“domain found, but no IP for that record type”, we just say “domain not
found” too (instead of nothing, previously).
2020-02-25 23:11:38 +01:00
louiz’ 5fbd900fd6 Ignore malformed identd queries
fix #3422
2020-02-25 23:07:26 +01:00
louiz’ 23f3f48b4a Only consider sockets that are in valid states as identd candidates
When an identd query happens, we check all the connected sockets for their
local and remote ports, to compare them with the query.  But we MUST only
consider the connected ones because:

- It doesn’t make sense to answer for a connection that has just been closed
- A non-connected sockets is not in a valid state for this (specifically
  here: its ::port attribute is empty)

fix #3421
2020-02-25 22:53:37 +01:00
louiz’ b18d81ae9f Fix a typo in a function name (match_pairt)
It’s totally harmless
2020-02-25 22:52:58 +01:00
louiz’ 3a9cc78a21 Make the global ad-hoc configure command available in fixed mode 2018-06-01 12:29:04 +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’ a8e922fc89 Handle the NAMES message for an already-joined or non-existing channel
If a user manually does a NAMES query, the result were interpreted as a user
list, which is wrong. And with the special * argument, this would even cause
a crash.

Fix #3357
2018-05-15 19:34:58 +02:00
louiz’ 4f6bf078d2 Improve the forward_server_message to concatenate everything 2018-05-15 19:34:54 +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’ efa63ee5cb Merge branch 'v7' 2018-04-28 14:17:43 +02:00
louiz’ d887baa064 Fix a crash when botan policy does not allow any available ciphersuite 2018-04-28 13:57:40 +02:00
louiz’ 1236b8a03b Only use the ID to order archives
fix #3343
2018-04-24 20:25:40 +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 a429b2ea27 Add a Config::is_in_list() method 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’ e4f111accb Remove two unused (julianday) functions 2018-04-13 23:37:29 +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
louiz’ de8267fa3f Fix a build warning when compiling without postgres or sqlite 2018-04-11 00:45:29 +02:00
louiz’ 857c7d3972 Use a different Date data type
PLEASE backup your database before testing this commit, and report any
migration issue.

In postgresql, we use timestamp with timezone.
In sqlite3 we use REAL (the date is expressed as julianday)

This requires a migration of the muclogline_ table:
In postgresql it’s pretty simple, we convert all the integer into timestamps

With sqlite3, we actually rename the table, create the new one with the
correct type, then copy everything to the new table, with a conversion
function for the Date_ column, and then we delete the old table.

fix #3343
2018-04-11 00:25:18 +02:00
louiz’ 0cd848e532 Send the stanza-id for messages received by other users
fix #3347
2018-03-31 02:10:39 +02:00
Georg Lukas 49bb383080 Channel disco-info: use shorter string 2018-03-26 22:27:45 +02:00
louiz’ d81a9456ac Change the nick of the joining user AFTER sending all the join stuff
fix #3305
2018-03-23 21:18:52 +01:00
louiz’ e2fc3cf68e Properly handle force-join presences by sending everything in return
fix #3305
2018-03-23 16:16:30 +01:00
louiz’ cdace80758 Check that db.prepare worked before using the returned statement 2018-03-23 15:54:36 +01:00
louiz’ faa33c1a71 Pass an IrcClient* to send_muc_leave instead of doing an other search 2018-03-22 20:44:30 +01:00
louiz’ 9ce0166777 Add a missing pointer check 2018-03-19 20:16:01 +01:00
louiz’ 619c991a69 Add a nick field in the IRC server configuration form
fix #3317
2018-03-19 20:15:44 +01:00
louiz’ d7427fc9ca Re-connect to postgresql when the connection is lost
fix #3336
2018-03-19 00:16:16 +01:00
louiz’ 1320dc6db4 Don’t reflect an empty id if it was not included
Instead, generate a uuid for that message
2018-03-18 19:41:52 +01:00
louiz’ 0de282a177 Advertise the muc#stable_id feature on disco#info results
From XEP 0045:
“Note: the requirement to reflect the 'id' attribute was added in version
1.31 of this XEP. Servers following the new specification SHOULD advertise
that with a disco info feature of 'http://jabber.org/protocol/muc#stable_id'
on both the service domain and on individual MUCs, so that clients can check
for support.”
2018-03-18 19:37:41 +01:00
louiz’ 9500bfd4cc Reflect message IDs in channel MUCs
fix #3283
2018-03-18 19:33:07 +01:00
louiz’ 5af0a8040c Use a transaction around the DELETE + INSERT of the after_connection_commands
Otherwise we can imagine that two clients changing this value at the same
time would mix things up.

ref #3275
2018-03-18 02:54:34 +01:00
louiz’ 577984faf2 Allow the execution of multiple commands after the IRC connection
fix #3275
2018-03-18 02:31:18 +01:00
louiz’ 03714c6ceb Revert "Use std::optional<bool> instead of OptionalBool"
This reverts commit ba879a882e.
2018-03-17 17:28:47 +01:00
louiz’ d0e3c71b91 Revert "Use if constexpr to make things a lot more readable"
This reverts commit d62ca9f879.
2018-03-17 17:28:41 +01:00
louiz’ d62ca9f879 Use if constexpr to make things a lot more readable 2018-03-16 01:13:50 +01:00
louiz’ ba879a882e Use std::optional<bool> instead of OptionalBool 2018-03-16 01:13:50 +01:00
Ailin Nemui 5ea51fea1b follow coding style 2018-03-15 10:18:15 +01:00
Ailin Nemui cf618d5572 optional identd 2018-03-13 11:25:50 +01:00
louiz’ 06438fe8ec Remove an unused function 2018-03-12 01:34:10 +01:00
louiz’ b4a01758b0 And this one (hostname -> address)
ref #3273
2018-03-12 01:10:54 +01:00
louiz’ b3b90139db Rename a few “hostname” into “address”, regarding last commit
ref #3273
2018-03-12 01:06:15 +01:00
louiz’ bb476f4a0d Allow to override the addresses used to connect to an IRC network
fix #3273
2018-03-12 01:00:17 +01:00
louiz’ 9e4a3e2b05 Fix the INSERT query for types that don’t have any Id column 2018-03-12 00:17:03 +01:00
louiz’ bb596582bd Add a <item/> node in the presence of a leaving participant
fix #3339
2018-03-12 00:13:59 +01:00