Commit Graph
152 Commits
Author SHA1 Message Date
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
louiz’ fdddd447b3 Use “using” instead of typedef 2016-05-13 01:22:49 +02:00
louiz’ 04d28f968b Forward the topic authors, handle the author from 333 messages
fix #2
2016-04-22 10:49:07 +02:00
louiz’ 464261d4ed Support RPL_NOTPIC and 005 2016-04-22 10:49:06 +02:00
Florent Le Coz 0a352e557d Move the irc callbacks into the cpp file 2016-02-10 19:19:21 +01:00
Florent Le Coz 1f8333f23f Support a trusted SHA1 fingerprint to be configured for each IRC server 2016-01-04 13:47:27 +01:00
Florent Le Coz a38b17692e Support multi-prefix
See http://ircv3.net/specs/extensions/multi-prefix-3.1.html
ref #3103
2016-01-04 13:47:27 +01:00
Florent Le Coz 7e2427148e Use references instead of raw pointer, to store the “parent” object
In Bridge and IrcClient
2015-12-21 14:51:26 +01:00
Florent Le Coz 241768836d Add the outgoing_bind option
Lets the admin choose a local address to bind each outgoing (IRC) socket.
2015-12-01 16:08:40 +01:00
Florent Le Coz e8386bd14e Provide an adhoc option to let user pass the cert verif for some IRC servers 2015-11-05 02:17:19 +01:00
Florent Le Coz 0a4041f7e9 Fix the initial IRC nickname (was using realname, by mistake) 2015-11-02 17:14:21 +01:00
Florent Le Coz 34fc1d4010 Implement a basic webirc support
See https://kiwiirc.com/docs/webirc

fix #3135
2015-10-31 06:17:35 +01:00