Age | Commit message (Collapse) | Author |
|
It turns out that the rfc sets a limit of 15 arguments and the
server (irccloud) sending that many in ISUPPORT was updated to
split it into multiple lines.
|
|
This may have unintended side-effects but 32 is a very low value
and I was seeing real world bugs being caused by this. Specifically
an ISUPPORT line with more features than this could store.
|
|
|
|
|
|
Closes #2472
|
|
It split into multiple networks; Both are very small and can't even match our modern guidelines like supporting TLS. I'll just use this as an opportunity to clean up the list a bit.
Closes #2465
|
|
Windows builds without plugins can use notification-windows.c, which
uses module_load in its notification_backend_init function.
module_load was previously guarded with a USE_PLUGIN ifdef, but we do
need this function for Windows builds even if plugins are disabled.
This fixes a critical build issue for all Windows builds without
plugins.
|
|
Mozilla's Moznet no longer exists. They migrated to Matrix.
|
|
By using a dedicated buffer for sending the username and password for the SOCKS5 proxy, there will be no overflow when copying them to the buffer.
And therefore, RFC 1929 is fully supported.
|
|
1929, where both the password and the username length is definied as a maximum of 255
|
|
If a user has a large number of channels containing hyphens in their
names, the initial MODE queries will have the same high priority as any
PINGs, and so will block the PINGs from being sent, causing the
connection to time out due to a lack of PONGs received.
|
|
Closes #2399
|
|
Closes #2398
|
|
|
|
|
|
Moved dcc_ip from prefs to sess->server.
|
|
- requires the use of TLS to connect on port 6697
- supports and encourages authentication via SASL PLAIN and EXTERNAL
|
|
Update servlist.c
|
|
Partial fix for #2271
This isn't an exhaustive list, but it's everything I could find. The bug still exists in the parser though, this is just a workaround for the moment
|
|
|
|
|
|
|
|
Closes #2186
Closes #1550
|
|
|
|
The switch to the meson build system broke plugins on macOS. GNU libtool
builds shared libraries with ".dylib" and shared modules (plugins) with
the extension ".so", but meson is using ".dylib" for both.
Although overriding the name_suffix for shared_module() in meson is
possible, this would be messy for other platforms as there is no way to
query the default. Therefore it seems like we have to go with ".dylib"
for now on macOS.
However, G_MODULE_SUFFIX is defined to ".so", because glib follows what
GNU libtool does. Therefore define a separate preprocessor macro that
has the correct extension.
See: https://github.com/mesonbuild/meson/issues/1160
|
|
Closes #2137
|
|
Fixes #1828
|
|
The code quality of it is terrible, the user experience of using it is terrible, and it should have been removed years ago
|
|
|
|
|
|
This cannot be triggered by any user generally.
Fixes #2128
|
|
Note that this is unlikely to be triggerable by another user.
Thanks to @dequis for discovering.
|
|
This is required for Flatpak but is an API break so it is opt-in
for now.
|
|
Fixes #2084
|
|
word[4] can be too short, leading to the addition of ctcp_offset
putting us out of bounds. This results in an oob read in ctcp_check.
|
|
|
|
|
|
This change adds an option `irc_reconnect_rejoin` (default ON)
which when turned OFF will prevent hexchat from rejoining channels
after an auto reconnect.
hexchat/hexchat#2069
|
|
Cutting off all text after \001 can result in users hiding text
so lets only bother handling it if it is a valid CTCP message
(starting and ending with \001).
|
|
|
|
If n becomes 0 at the same time that the end of either s1 or s2 are
reached, the next iteration of the while loop wouldn't happen, so we
wouldn't correctly return 0.
|
|
It is common for users to set "foo, bar" and the leading space
has caused issues in the past so lets just ignore that.
|
|
rfc_casecmp was broken because reaching terminator for str1 was used as
a terminal condition and str2 may be shorter than str1, resulting in an
oob read condition for str2.
rfc_ncasecmp was broken because it checked if n characters were checked
or if BOTH pointers reached their terminator, however the strings may
be different lengths and also less than n characters in length, meaning
that they don't both reach their terminators at the same time,
resulting in an oob read condition.
|
|
If ptr[0] is NULL, then strchr may return a pointer to the NULL
terminator for serv->nick_prefixes, making the if statement true, which
then leads to the pointer increment leaving ptr oob. Now we check to
ensure ptr[0] != NULL.
From the Linux manpages for strchr:
The terminating null byte is considered part of the string, so that if c is
specified as '\0', these functions return a pointer to the terminator.
|
|
Closes #2045
|
|
|
|
* Adjust use of ellipses (...) in menus according to Gnome HIG
https://developer.gnome.org/hig/stable/writing-style.html.en
|
|
Fixes #1999
|
|
/doat #foo/bar/freenode would work for example.
|
|
|