| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
Never strip out modechars unless we are explicitly trying to parse
a nickname with modechars, i.e., atom 'C'
|
| |
| |
| |
| |
| |
| |
| |
| | |
According to RFC2811 (https://tools.ietf.org/html/rfc2811#section-3.2)
channel names can start with a bang. Without this check the initial bang
gets stripped out and Telepathy tries to ensure as a channel without the
prefix. That obviously fails, leading to the messages from that channel
arriving as "private" messages.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes:
In function 'strncpy',
inlined from 'idle_server_connection_send_async' at idle-server-connection.c:593:2:
/usr/include/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 512 equals destination size [-Werror=stringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Signed-off-by: David Heidelberg <david@ixit.cz>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
IRC messages are delimited by CRLF. When the string passed to
idle_parser_receive() doesn't end in \r or \n, the remaining parts get
stashed away to be used to form a message on the next call to
idle_parser_receive(). But telepathy-idle improperly assumes that the
next call to idle_parser_receive() will definitely contain \r or \n,
i.e. it assumes that an IRC message cannot be split between three calls
to idle_parser_receive(). That assumption is wrong.
Fixes polari#147
|
| |
| |
| |
| |
| |
| | |
Recent GLib raises a critical when trying to remove an invalid source.
(cherry picked from commit 12211654baa75db13a05b5c2b3293d1378fcf7a2)
|
| |
| |
| |
| |
| |
| |
| |
| | |
I asked one of the polari devs and was told that yes it is ok to set
the timer id to zero in the timer function.
With this patch make check works without changing any of the expected
test results and without any coredumps
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When stripping color codes, we currently remove any sequence of digits
following ^C. As color codes use at most two digits, this means that we
also remove any numbers at the start of the colored text - make sure we
stop doing that and only remove digits that are actually part of a color
code.
https://bugs.freedesktop.org/show_bug.cgi?id=94189
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When stripping color codes, we currently remove any sequence of digits
following ^C. As color codes use at most two digits, this means that we
also remove any numbers at the start of the colored text - make sure we
stop doing that and only remove digits that are actually part of a color
code.
https://bugs.freedesktop.org/show_bug.cgi?id=94189
|
| |
| |
| |
| | |
Recent GLib raises a critical when trying to remove an invalid source.
|
| |
| |
| |
| |
| | |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=25147
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
| | |
|
| |
| |
| |
| |
| | |
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=70434
|
| |
| |
| |
| | |
Used to send arbitrary IRC commands to the server.
|
| |
| |
| |
| |
| |
| | |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54114
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
| | |
|
| |
| |
| |
| | |
Will be removed in Telepathy 1.0
|
|/
|
|
| |
Will bee needed for Telepathy 1.0
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=69311
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=69311
|
|
|
|
|
|
| |
tp_handle_{set,get}_qdata has been deprecated.
https://bugs.freedesktop.org/show_bug.cgi?id=64122
|
|
|
|
|
| |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=64923
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GSocket creates GSources to provide GInputStream and GOutputStream
objects. Interestingly, it doesn't set the GIOCondition on the GSource
to handle G_IO_NVAL (ie. your file descriptor is not valid anymore).
It means that if your trying to read asynchronously from the socket
while someone else closes the socket, you end with an GInputStream
that can never complete its asynchronous read operation because the
file descriptor isn't valid anymore but that isn't a condition to
dispatch the GSource and end the asynchronous read with an error.
Alternatively, this wakes up the gmainloop all the time => 100% cpu
consumption.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=64923
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
|
|
|
| |
Fixes fdo#65614
|
|
|
|
|
|
| |
The iteration over the channel requests tokens accidentally used the
wrong variable, causing the same request token to be passed into tp-glib
all the time causing crashes..
|
|
|
|
|
| |
I haven't fixed all instances, just the one touched by the interactive
TLS code.
|
|
|
|
|
| |
While we're touching these lines anyway, they might as well be in
a slightly more Telepathic style.
|
|
|
|
|
| |
GTask doesn't make the code any smaller, and this way even new Debian
stable can have it.
|
|
|
|
|
|
|
| |
If we cancel the connect_async cancellable between the call to
g_task_return_pointer (which schedules an idle to call the callback) and
Connection calling connect_finish(), the socket_connection would
previously have leaked.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, priv->conn was NULL until the TCP session was established,
so _iface_shut_down() would take the "no connection yet; call
_finish_shutdown_idle_func in an idle" path. But the TLS channel would
get closed (because the TLSManager listens for state changes to
Disconnected and closes all channels), causing the ServerConnection to
call the connect_async() callback and emit ::disconnected, and hence
finish shutting down the connection there. Then the idle would crash,
because it doesn't take a ref to the connection.
We should really cancel the connect_async() call in the new path in
_iface_shut_down() to cope with the case where we're still waiting for
the TCP connection to be established for some other reason. That, and a
test for that, will follow.
|
| |
|
| |
|
|
|
|
|
| |
It was already weird that the reason was only used in the disconnected
case.
|
|
|
|
|
|
|
|
| |
Previously, keepalives and unloading messages started as soon as the TCP
session is established: before even the PASS/NICK/USER messages have
been sent! (IdleServerConnection emits ::status-changed(CONNECTED)
before connect_async() finishes.) If a message had got into the queue
already, this would break the connection process.
|
|
|
|
| |
This was incorrectly adapted from the Gabble code.
|
|
|
|
|
|
| |
Don't let the TLS tests accept errors that wouldn't be accepted when
idle runs normally, instead implement minimal ServerTLSConnection in the
test which need it and add a minimal test for rejecting certificates.
|
|
|
|
|
|
| |
With the pieces now in place, hook up the TLS channnel manager and pass
it to the server connection so it can request interactive certificate
checking.
|
|
|
|
|
|
|
|
| |
To do interactive certificate verification with GTls one needs to block
in the accept-certificate signal handler, which practically means the
connection needs to be done in a seperate check. As a first step,
instead using _connect_to_host_async in the main thread use a GTask to
synchronously connect in a different thread instead.
|
|
|
|
|
|
| |
Instead of server-tls-manager being a Wocky TLS manager add async API to
start the certificate verification on request and use a GTlsCertificate
to get the needed certificate information instead of WockyTLSsession.
|
|
|
|
|
| |
Take the TLS channel handling code from Gabble and s/gabble/idle in
the various files, but no other changes
|
|
|
|
|
| |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=63810
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
| |
Among other effects, this makes GLIB_VERSION_MIN_REQUIRED effective.
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
| |
Since some time ago, Idle has used GIO's TLS stuff; we should have
dropped this back then.
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the issue where empathy-chat crashing means you get kicked
out of all your channels.
It's technically backwards-incompatible but empathy-chat has been using
RemoveMembers() to leave rooms for ages, and it's a pretty destructive
and annoying bug, so let's just get on with it.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=24614
|