Age | Commit message (Collapse) | Author |
|
handle an already used nick different from the one we send
|
|
move altnick check before the nick correction code
|
|
|
|
Fix MODE parameter parsing
|
|
|
|
|
|
To maintain C89 compatibility
|
|
|
|
|
|
This is to fix #601. The function used to extract the mode string
assumed that ":" would only occur in a particular spot. This lead to the
possibility that ":" could be treated as part of things like nicknames
or mode arguments, where it should have been stripped as part of
protocol escaping.
|
|
Prevent a OOB read when parsing IRCNet ! channels
See merge request irssi/irssi!22
|
|
Don't proceed with cmd_msg if there was an error splitting msg
See merge request irssi/irssi!21
|
|
This avoids undefined behavior in functions that call these split
functions and expect an array back instead of just a NULL pointer.
|
|
Fix use after free when channel is destroyed inbetween being synced
See merge request irssi/irssi!19
|
|
Make sure the string has enough data.
Fixes #16
|
|
|
|
|
|
It is possible for rec to be NULL in query_remove_all, resulting in a
segfault. So return without doing anything if rec is NULL.
|
|
the chanquery needs to be removed in any case if a channel rec is
destroyed, regardless of any state
Fixes GL#13
|
|
There was no easy way for the user to disable the SASL authentication or
to clear the username/password once the network was created.
Closes #718
|
|
We also get rid of an allocation in the process of doing so.
|
|
|
|
Follow g_strsplit with call to g_strfreev
|
|
|
|
|
|
Sync to master
See merge request !6
|
|
'security'
avoid server_disconnect
See merge request !4
|
|
Process the nick changes in queries before the PRIVMSG is handled.
|
|
Closes #1
|
|
Closes #4
|
|
Otherwise we end up with the message in the status window since the
frontend knows jack shit about the casemapping option when it tries to
find the associated window for the query.
|
|
|
|
This patch changes the internal name of SSL to TLS. We also add -tls_*
options to /CONNECT and /SERVER, but make sure that the -ssl_* versions
of the commands continue to work like before.
|
|
Fixes a problem where the field would end up as a negative number when
exposed to the perl scripts.
And move it near the other bit-packed fields so we take advantage of the
packing.
|
|
SASL: handle fragmentation
|
|
The IRCv3 SASL extension says that AUTHENTICATION payloads of exactly
400 bytes in length indicate that the message is fragmented and will
continue in a subsequent message. Handle the reassembly and splitting of
these messages so that we are compliant with the specification.
|
|
This fixes two issues:
- IRCNet doesn't have STATUSMSG, but it supports +channels, and
including + in the default value meant processing those incorrectly
- The "bahamut hack", for old servers that support but don't advertise
STATUSMSG, didn't work since ischannel_func doesn't use the default.
The choice of @ intentionally leaves out support for other STATUSMSG
(for example, AzzurraNet's bahamut 1.4 fork seemed to support + and % in
any order, contradicting the comment in the code).
I think this is a decent tradeoff, given how those servers are uncommon
and relying on +# or %# is even less common than @#.
Fixes #531
|
|
Clean up misc.c
|
|
|
|
|
|
|
|
The only difference was that the former returned 1 if the buffer was
overflown, but the return value was never checked.
|
|
There's a typo in 'sasl_fail', the signal that's emitted should be
'server sasl failure' and not 'server sasl fail'.
|
|
This reverts commit 4beebe3238dda96efd4c3a0a6f6002ad5afc96e7.
|
|
Do not assume any default value for statusmsg.
|
|
If sasl_timeout is never initialized with a valid timeout id then
calling /disconnect on the server calls g_source_remove() with 0 as tag,
causing an harmless error message to be printed.
Beside that, the sasl_timeout field is defined as a unsigned int.
We can use 0 as sentiel since g_timeout_add returns tags that are always
greater than zero.
|
|
|
|
If the server didn't send it then just skip the check, the old value it
defaulted to was possibly overlapping with the CHANTYPES leading to an
incorrect behaviour. Fixes #435.
|
|
|
|
The "AUTHENTICATE" command is always required – it's part of the IRCv3
SASL framing. RFC 4422 only documents the Base64 payload.
|