~singpolyma/biboumi

6c2d03da — Florent Le Coz 9 years ago
Send an error presence when the connection to the IRC server fails
7b31bea7 — Florent Le Coz 9 years ago
Only close/unmanage the socket if we are connected/connecting

Since the socket is now only created and managed whenever the connection is
being established, we only close the socket and if it was created (we use -1
to denote the fact that is not yet created, or has been closed) and we only
unmanage the socket if it is effectively managed.

fix #2529
34739728 — Florent Le Coz 9 years ago
Fix a by-one error in the CHANTYPES parsing
aea923bc — Florent Le Coz 9 years ago
Use the CHANTYPES values to differentiate channel or user notices

It also happens to fix #2517 because this used to create buggy channels
named "auth" and stuf like that.
796af053 — Florent Le Coz 9 years ago
Add support for CHANTYPES isupport element, to know the prefixes of channels
23e8e32f — Florent Le Coz 9 years ago
Support IPv6 connections

fix #2522
5507adbe — Florent Le Coz 9 years ago
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.
6b0ffb5f — Florent Le Coz 9 years ago
If both write and read events are available on a socket, only do the read

Because the read handler may discover that the connection has been closed,
and then remove the socket from the poller. It that case it is no longer
valid to try to call the write handler (which may try to reconnect, but
since that socket is no longer managed, this is not OK).
7fb0b671 — Florent Le Coz 9 years ago
Also do that cut of message on \n for private messages, and handle /me
01cd6eb5 — Florent Le Coz 9 years ago
Split the messages on \n when sending them back to the XMPP user
df765faa — Florent Le Coz 9 years ago
Only call get_last_child() if the node has children

Explain that the behaviour is otherwise undefined, in the comment.
7c7da2ce — Florent Le Coz 9 years ago
"Chat message" is not the same as "any kind of message"
bafde1af — Florent Le Coz 9 years ago
Stanza:get_name() only returns the name of the tag, without the namespace
12c8b1ae — Florent Le Coz 9 years ago
Disconnect the user from all its IRC servers whenever he returns an error

fix #2524
712b7bdf — Florent Le Coz 9 years ago
Correctly handle the usage of ! as a IRC user mode indicator

Since “!” is also the separator between the nickname and the user hostname,
having “!” as the user mode (e.g. !nick!~some@host.bla) would cause the nick
to be empty. Now we skip it if it is a valid user mode indicator.
634e7cf1 — Florent Le Coz 9 years ago
mini reorder
23db31cf — Florent Le Coz 9 years ago
[cmake] Do not print useless messages when an optional lib is not found
579ca4bd — Florent Le Coz 9 years ago
Forward iq version results to IRC
04fe15a1 — Florent Le Coz 9 years ago
Correctly do the error handling when we receive an iq
5ec05cb0 — Florent Le Coz 9 years ago
Forward CTCP version request to XMPP
Next