Commit Graph
108 Commits
Author SHA1 Message Date
Florent Le Coz e1d69806ed Rename iq_responder_callback_t to irc_… and add the equivalent to wait for iqs 2014-11-12 06:17:25 +01:00
Florent Le Coz e3ea0d62c7 Use generic send_presence_error() instead of almost identical specializations 2014-08-08 00:46:27 +02:00
Florent Le Coz 545ab11ff3 Support version request to IRC users 2014-06-20 11:51:49 +02:00
Florent Le Coz 2117838cf9 Return a proper iq when the IRC server responds to our kick
A result or an error, depending on the type of message
2014-06-19 22:22:29 +02:00
Florent Le Coz 26ffc8fe12 Implement a way to add callbacks, waiting for an IRC event to return an iq 2014-06-19 22:21:49 +02:00
Florent Le Coz 04de62a4e0 Messages to room participants are forwarded to the IRC user
For example, both JID #chan%server@biboumi/Toto and toto!server@biboumi are
equivalent, except that if you send a message to the first one, subsequent
messages coming from the user toto will come from that same JID. This is
done to be consistent for the XMPP user, and respond from the same JID than
the 'to' of the first message.

fix #2468
2014-06-18 22:42:58 +02:00
Florent Le Coz 56eb5df28a Mini comment fix 2014-06-18 18:46:41 +02:00
Florent Le Coz 7c1a38999c Rewrite the whole IID usage
IRC users and channels are now distinguished by the separator used in the
IID (% or !).

ref #2468
2014-06-11 02:37:11 +02:00
Emmanuel Gil Peyrot 3d9183557f Convert \n to <br/> in xhtml body
fix #2539
2014-06-08 05:35:36 +02:00
Florent Le Coz c2311b2893 Send (every 240s) a PING command to all connected irc servers
fix #2452
2014-05-30 16:08:23 +02:00
Florent Le Coz 6c2d03da4e Send an error presence when the connection to the IRC server fails 2014-05-28 01:27:41 +02:00
Florent Le Coz 5507adbe94 SocketHandlers own the poller and add themself into it only when the socket is created
We want to call socket() with the parameters provided by getaddrinfo, so we
can’t addd the fd into the poller immediately. We need to wait the
connection attempt, and then the SocketHandler can call add_socket_handler
itself, if the connection succeeds, or is in progress.
2014-05-27 01:01:44 +02:00
Florent Le Coz 7fb0b671bb Also do that cut of message on \n for private messages, and handle /me 2014-05-25 17:50:03 +02:00
Florent Le Coz 01cd6eb516 Split the messages on \n when sending them back to the XMPP user 2014-05-25 17:49:58 +02:00
Florent Le Coz 12c8b1ae0b Disconnect the user from all its IRC servers whenever he returns an error
fix #2524
2014-05-15 00:32:31 +02:00
Florent Le Coz 579ca4bdb6 Forward iq version results to IRC 2014-05-07 02:02:47 +02:00
Florent Le Coz 5ec05cb0ed Forward CTCP version request to XMPP 2014-05-06 22:50:37 +02:00
Florent Le Coz 65f219594d Fix a little indentation 2014-04-29 21:56:05 +02:00
Florent Le Coz f6e6b8905b Use C++14 string_literals 2014-04-29 21:50:13 +02:00
Florent Le Coz c6059e5a21 Upgrade to C++14 2014-04-28 18:46:25 +02:00
Florent Le Coz 4e61b0d57e The author name from messages from the server are now nicely formated 2014-04-25 00:53:08 +02:00
Florent Le Coz 848b50185f Remove unused action_prefix_len variable 2014-04-21 22:47:20 +02:00
Florent Le Coz 114007f10d Actually do the last commit, but completely this time 2014-04-18 10:46:25 +02:00
Florent Le Coz bd7936bdfe No more missing text when converting IRC colors to xhtml-im
fix #2496
2014-04-17 20:37:46 +02:00
Florent Le Coz 14b6793d7f Joining the dummy channel connects to the irc server 2014-04-15 05:11:36 +02:00
Florent Le Coz 5739d418e2 Better way to leave the dummy room 2014-04-15 04:56:50 +02:00
Florent Le Coz 7f74f62e56 Merge branch 'master' into dummy_chan 2014-04-15 04:11:27 +02:00
Florent Le Coz 020325dbb0 [WIP] DummyIrcChannel 2014-04-13 15:37:56 +02:00
Florent Le Coz a20c60a0d8 Messages coming from the IRC server are of type "chat" 2014-04-10 20:11:17 +02:00
Florent Le Coz f6029d5bcf Add missing stdexcept includes 2014-02-24 21:03:51 +01:00
Florent Le Coz 99aba5667d Connection to servers does not block the process anymore 2014-02-22 21:42:24 +01:00
Florent Le Coz 61ca40fa0e Delete empty bridges objects 2014-02-20 02:31:16 +01:00
Florent Le Coz 190c4ff176 QUIT the irc server when the last channel is left 2014-02-20 02:19:50 +01:00
Florent Le Coz cf9f3a1f28 Include role and affiliation in the join presence of the nick change process 2014-02-17 01:43:58 +01:00
Florent Le Coz fef9c8193d Also set the role and affiliation of users already in the chan 2014-01-06 01:22:43 +01:00
Florent Le Coz fbec16f1a2 Possibility to change a channel's topic 2014-01-04 01:59:36 +01:00
Florent Le Coz e840704b58 Convert received modes into roles and affiliations 2014-01-04 01:59:36 +01:00
Florent Le Coz acf769d83a Use isupport informations to know the user modes when joining
Also remove the duplicate send_self_join methods, user only send_user_join
2014-01-04 01:59:36 +01:00
Florent Le Coz 43cc60e4a9 Handle nickname conflicts by sending the correct XMPP error presence 2014-01-04 01:59:35 +01:00
Florent Le Coz e8e592d1ac Remove disconnected IrcClients 2014-01-04 01:59:35 +01:00
Florent Le Coz aa53276859 Keep a "connected" state in the SocketHandler class 2014-01-04 01:59:35 +01:00
Florent Le Coz 3afb63a650 Shutdown cleanly on SIGINT 2014-01-04 01:59:14 +01:00
Florent Le Coz b11126a19d Provide a JID for IRC users, and add a stringprep dependency for this 2013-12-08 20:14:12 +01:00
Florent Le Coz a4c845ab6c Use the logger everywhere 2013-12-03 19:15:37 +01:00
Florent Le Coz e6f20d3c0f Implement IRC format to xhtml-im conversion
The generated XML is very verbose because each IRC formatting tag makes us
close a <span/> element and reopen it with the new style applied.  However,
this works quite well and is easy to implement.
2013-11-28 01:18:26 +01:00
Florent Le Coz fba01f4646 Remove incomplete implementation of remove_irc_colors 2013-11-27 00:37:23 +01:00
Florent Le Coz bfcc9cdc74 Send XMPP multi-line messages as multiple IRC messages 2013-11-21 00:58:14 +01:00
Florent Le Coz abce2fc92e Do not crash on special chars in the content of message
That’s ugly, and we need to sanitize everything properly, and also handle
these special messages.
2013-11-13 01:36:30 +01:00
Florent Le Coz 0859801230 Handle KICK in irc channel, both ways 2013-11-13 01:24:36 +01:00
Florent Le Coz 5817a95b5e Basic handling of modes, both ways 2013-11-12 23:48:10 +01:00