Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
Fixes #2014
|
|
|
|
Quick rundown of benefits:
- Much faster:
- Autotools (with autogen): 22 seconds
- Meson: 7 seconds
- Meson (with ccache): 2 seconds
- Simpler:
- ~1000 lines smaller
- Single simple language
- Potentially better Windows (Visual Studio) support
What is not done:
- Complete Windows support
- OSX support (easy)
Closes #2013
Closes #1937
Closes #1803
|
|
Probably should think before merging things.
|
|
Closes #2012
|
|
|
|
These are still awful but until we have a real parser..
Fixes inspircd/inspircd#1295
|
|
They now use Lets Encrypt which should be trusted.
|
|
This is totally reasonable for a modern computer.
|
|
LibreSSL might not have all functions of OpenSSL 1.1.0 so use
AC_CHECK_FUNCS to find them first before using them.
Closes #1899
Fixes #1898
|
|
This just allows for spam.
|
|
|
|
This could possibly cause a crash.
On a related note exec_data() and exec_handle_colors() could probably
use a pass cleaning up to ensure they "do the right thing".
|
|
|
|
Possibly fixing #1866
|
|
|
|
Fixup to 241dd69b081
|
|
- Combine the three properties into a single one
- Finally fully fix the handling with plugins handling events
TODO: Look into lastact handling of these, seems wrong
|
|
Part 2 of 03767ee0f9826222
So how the colors work should be pretty straight forward:
- A message comes in and is handled, this sets the state flags:
nick_said, msg_said, new_data. These map to tab colors.
- This state is reset under one of these conditions:
- It is commited to the UI when actually printed on unfocused tab
- Event is interupted by a plugin hook
- The tab focus is changed
|
|
- Trivial plugin
- Useful for many users
- Was under a dumb license
|
|
|
|
|
|
|
|
|
|
|
|
At least try the untranslated one...
Also while at it don't present a ton of dialogs to the user
about this failure, they wouldn't even know what to do with
that information.
|
|
|
|
|
|
When hexchat is already installed into a non-default prefix, a new build
could pick up ${prefix}/include/hexchat-plugin.h from the installed
version instead of the local header, as configuration variables such as
$(GLIB_CFLAGS) would point to -I${prefix}/include.
Reordering the includes and moving -I arguments to CPPFLAGS prevents
this, as it ensures the local directories are always searched first.
This was no problem when compiling for /usr or /usr/local as these
directories in the compiler search path are always searched last.
Closes #1822
|
|
This prevents using invalid chars on Windows or creating directories
|
|
|
|
|