summary refs log tree commit diff stats
path: root/src/common
AgeCommit message (Collapse)Author
2021-03-03Better handle various ctime() calls failingPatrick Griffis
2020-09-21Revert word array length changePatrick Griffis
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.
2020-09-17Increase max number of words a line can be split intoPatrick Griffis
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.
2020-07-22SASL EXTERNAL doesn't necessitate a certificatejesopo
2020-05-31Add "DarkScience" to default server list. (#2474)Jan Harasym
2020-05-26Fix parsing of 313Patrick Griffis
Closes #2472
2020-05-14Remove 2ch from network listPatrick
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
2020-05-02win32: Fix undefined symbol for builds with -with-plugin=falsedelthas
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.
2020-04-18Remove MoznetJonathan
Mozilla's Moznet no longer exists. They migrated to Matrix.
2020-04-11Fixed proxy user/password buffer overflowDjLegolas
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.
2020-04-11Updated the maximum length of the socks5 user and password to comply to RFC ↵kelek-
1929, where both the password and the username length is definied as a maximum of 255
2020-01-01Avoid prioritising MODE queries for channels with hyphens in their nameJames Clarke
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.
2019-12-20Follow more modern conventions for USER messagePatrick Griffis
Closes #2399
2019-11-24Fix capability negotiation ending before sasl finishes with multi-line capPatrick Griffis
Closes #2398
2019-07-17build: Make generated headers a dependency for users of common.nia
2019-05-28Fix a typo-error in src/common/hexchat.h:485 "haxchatprefs" -> "hexchatprefs"Stepan Broz
2019-05-28Make dcc_ip being a per-server value.Stepan Broz
Moved dcc_ip from prefs to sess->server.
2019-05-03servlist: add hackint irc networkMartin Weinelt
- requires the use of TLS to connect on port 6697 - supports and encourages authentication via SASL PLAIN and EXTERNAL
2019-04-21Update servlist.cJared Shields
Update servlist.c
2019-01-30Remove : from various trailing parameters (#2301)linuxdaemon
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
2018-11-09python: Rewrite with CFFIPatrick Griffis
2018-09-01Fix new stringop-truncation warningsPatrick Griffis
2018-08-16Fix inconsistent behavior (re)connecting on SSLIvan
2018-05-08Fix sending PASS with spaces or starting with :jkhsjdhjs
Closes #2186 Closes #1550
2018-04-03Validate all translations contain valid text eventsPatrick Griffis
2018-03-31Fix plugins on macOSRainer Müller
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
2018-03-11Fix fscanf() usage without size limitPatrick Griffis
Closes #2137
2018-03-09Fix /ignore not accepting full hostsPatrick Griffis
Fixes #1828
2018-03-09Remove mpcinfo pluginPatrick Griffis
The code quality of it is terrible, the user experience of using it is terrible, and it should have been removed years ago
2018-03-09win32: Update to build against gvsbuildPatrick Griffis
2018-03-09Various fixes for mingwPatrick Griffis
2018-03-04Fix out of bounds read when DCC message sender contains quotesPatrick Griffis
This cannot be triggered by any user generally. Fixes #2128
2018-03-02Fix possible out of bounds read when being ctcp floodedPatrick Griffis
Note that this is unlikely to be triggerable by another user. Thanks to @dequis for discovering.
2018-02-18dbus: Add option to use app-id for bus namePatrick Griffis
This is required for Flatpak but is an API break so it is opt-in for now.
2017-10-25Fix crash when connect commands change networkPatrick Griffis
Fixes #2084
2017-10-16Fix oob read in ctcp_checkJoseph Bisch
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.
2017-10-16A tiny code style changeDren Kajmakchi
2017-10-11servlist: Add BuddyIM network (#2072)Ken Spencer
2017-10-10Add an option to disable rejoin on auto reconnectIwan Aucamp
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
2017-10-07Improve CTCP notice handlingPatrick Griffis
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).
2017-10-02Use g_utf8_make_valid if available for cleaner utf8 handling (#2065)Joseph Bisch
2017-09-21Fix rfc_ncasecmp handling of n reaching 0Joseph Bisch
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.
2017-09-19Handle leading spaces when matching extra alertsPatrick Griffis
It is common for users to set "foo, bar" and the leading space has caused issues in the past so lets just ignore that.
2017-09-19Fix rfc_{n,}casecmp functions (#2058)Joseph Bisch
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.
2017-09-18Fix oob read caused by ptr[0] being NULL in inbound_noticeJoseph Bisch
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.
2017-08-31Improve detection of system tray supportPatrick Griffis
Closes #2045
2017-08-19UI text consistency, capitalization etc.torhus
2017-08-18Adjust use of ellipsis (...) in menus according to Gnome HIG (#2035)torhus
* Adjust use of ellipses (...) in menus according to Gnome HIG https://developer.gnome.org/hig/stable/writing-style.html.en
2017-07-16servlist: skip empty lines.Mark Jansen
Fixes #1999
2017-07-04Better handle channels with / in them with doat commandPatrick Griffis
/doat #foo/bar/freenode would work for example.