Commit Graph
163 Commits
Author SHA1 Message Date
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’ bb596582bd Add a <item/> node in the presence of a leaving participant
fix #3339
2018-03-12 00:13:59 +01:00
louiz’ 158d743bf5 Remove the virtual channel feature altogether 2018-03-12 00:13:59 +01:00
Ailin Nemui 435a63a070 Change max line length to more conservative constants 2018-01-10 13:36:53 +01:00
louiz’ fcaffb9e77 Add support for the "history" node on MUC join
Supports the "seconds", "maxstanzas", "since" and "maxchars" (but only =0)
attributes.

fix #3270
2017-08-27 22:37:46 +02:00
louiz’ 1997fb5c6a Small refactor in on_quit() 2017-08-24 23:56:00 +02:00
louiz’ c23c99dac1 Don’t forget to remove the user from the channel, when kicked
fix #3291
2017-08-24 23:55:32 +02:00
louiz’ f9a6f97396 Implement the roster presences from IRC servers 2017-07-16 00:16:43 +02:00
louiz’ 9fa1852c7e Send status code='332' on biboumi or IRC server’s shutdown 2017-07-08 18:10:47 +02:00
louiz’ 3a95076db4 Send a 110 status code on a QUIT received for ourself 2017-07-08 17:07:29 +02:00
louiz’ faed8952cb Remove a bunch of useless string_literal usage 2017-07-08 14:04:35 +02:00
louiz’ 50cadf3dac Implement our own database ORM, and update the whole code to use it
Entirely replace LiteSQL

fix #3271
2017-06-14 00:19:15 +02:00
louiz’ 0ee533256d Handle messages 367 and 368 to display the banlist in the MUC
fix #3234
2017-05-18 21:59:57 +02:00
louiz’ 3079c38d2d Refactor the channel::self to point at the existing user
This way, the user is always up to date, instead of being a duplicate out of
sync.

fix #3258
2017-05-18 16:12:10 +02:00
louiz’ bb150d587f Redirect welcome NOTICE to their channel, instead of sending a global one
fix #3236
2017-05-17 00:31:21 +02:00
louiz’ 0a8a77e64c Fix a segmentation fault when connecting to a server without a port
fix #3260
2017-05-02 15:00:21 +02:00
louiz’ 3af9d0ac67 Make sure we don’t exceed 512 bytes when grouping JOINs 2017-04-21 22:55:24 +02:00
louiz’ f588ce071e Group simultaneous JOINs into a single command, to avoid flooding
We still split the JOINs with a key and the ones without
2017-04-21 22:47:25 +02:00
louiz’ be9c577de8 Apply all the clang-tidy performance-* fixes 2017-04-07 19:01:49 +02:00
louiz’ ccb4ee098f Apply all the clang-tidy misc-* fixes 2017-04-07 18:53:12 +02:00
louiz’ 5402a256d1 Apply all the clang-tidy modernize-* fixes 2017-04-07 18:45:24 +02:00
louiz’ 1a09c965eb Remove two sneaky log_debug 2017-03-29 23:32:43 +02:00
louiz’ b7789fe586 Add a Persistent option on channels
fix #3230
2017-03-27 11:49:07 +02:00
louiz’ 0ab40dc1ab Refactoring louloulibs and cmake
Use OBJECT libraries
Remove the louloulibs directory
Write FOUND variables in the cache
2017-03-14 21:45:23 +01:00
louiz’ a0a2de3b4d Revert "Don’t send the unavailable presence to all resources, in the virtual channel"
This reverts commit 38ff50f5d2.
2017-03-08 22:28:00 +01:00
louiz’ 38ff50f5d2 Don’t send the unavailable presence to all resources, in the virtual channel 2017-03-08 22:09:57 +01:00
louiz’ f0bc6c83a8 Pass the shared_ptr by reference, to avoid useless copies 2017-03-08 19:04:15 +01:00
louiz’ 3ae4937fb4 Add missing <algorithm> include for last commit 2017-01-10 00:21:15 +01:00
louiz’ 6ececd9f39 Only try to join chans only once, even if we received multiple presences
ref #3228
2017-01-10 00:18:59 +01:00
louiz’ 4792c70635 Send a presence error from the room, when receiving command ERR_BADCHANNELKEY
fix #2886
2016-12-13 14:48:41 +01:00
louiz’ 0c8adc85f7 Move all the connect() logic from TCPSocketHandler into a subclass
This way, TCPSocketHandler only deal with the message sending/receiving, not
the connect() or anything else.  This will be used for implementing servers
(because when a client is accepted, we don’t need all the connect() and dns
resolution stuff).
2016-11-11 02:54:48 +01:00
louiz’ ae02e58b9d Some cleanups 2016-10-31 14:03:37 +01:00
louiz’ 1d2f20600a Handle IRC message 341 (invite confirmation) 2016-10-31 01:39:35 +01:00
louiz’ 5990a8bf8a Correctly handle the nick change inside the virtual channel 2016-10-24 00:19:30 +02:00
louiz’ 00eb18bae8 Refactor channel->parting to a new location 2016-10-23 23:58:03 +02:00
louiz’ 8ac8d2b242 Correctly set status="110" in the presence for the target of a kick 2016-10-07 23:28:40 +02:00
louiz’ ffad4306b9 Use LIST * instead of just LIST, because some servers don’t accept it
Also add a e2e test for the list query
2016-10-02 12:57:04 +02:00
louiz’ d1626c929f When joining a channel, send the most recent history found in the database 2016-08-22 00:44:17 +02:00
louiz’ 7d05f9b6ae Fix the author of the IRC invite 2016-08-18 21:13:42 +02:00
louiz’ 4c8fb9a0e3 Forward IRC invites to XMPP 2016-08-18 20:33:41 +02:00
louiz’ 663d4ad54a Forward mediated invitations (XMPP to IRC only) 2016-08-16 15:59:00 +02:00
louiz’ 0d2dd71de5 Don’t use ! as the separator for nicknames, use % instead
It’s now easier to use. The distinction between a nick and a channel name is
based on the first character (by default it's '#' and '&'). The user doesn’t
have to worry about which separator to use anymore.

fix #3066
2016-08-10 15:48:28 +02:00
louiz’ c1f678e450 Fix a missing include for strlen 2016-06-15 16:47:11 +02:00
louiz’ 430bf3a661 Properly calculate the maximum size of each message line, before cutting
fix #3067
2016-06-15 15:51:13 +02:00
louiz’ 849c50f9f3 Save our own host, as reported by the server 2016-06-15 15:51:13 +02:00
louiz’ 4b1c580bb9 cut messages at 512 bytes, taking into account the UTF-8 codepoints
ref #3067
2016-06-15 15:50:45 +02:00
louiz’ 80d0c19c5a Refactor, test and improve the way we cut too-long messages for IRC 2016-06-14 20:14:36 +02:00
louiz’ 5a2e611617 Show off, with some variadic templates, for the logger module 2016-06-13 20:46:30 +02:00
louiz’ 2d11a5f494 Support multiple nick session, except for IQs
ref #2556
2016-06-08 01:42:43 +02:00
louiz’ 507d0c2cbe Forward everything to all concerned XMPP resources 2016-06-08 01:42:43 +02:00