Commit Graph

1771 Commits

Author SHA1 Message Date
SoniEx2 c725dd7814 Fix segfault
https://github.com/hexchat/hexchat/issues/2265
2018-11-01 21:43:18 -03:00
SoniEx2 aaa319735b Fix UB (dangling pointer usage)
Using dangling pointers, even if it's just to compare them with valid
pointers (such as comparing them with the ones in sess_list), is UB.

This fixes that.
2018-10-13 18:10:24 -03:00
Patrick Griffis 18eae24acf Fix new stringop-truncation warnings 2018-09-01 16:35:48 -04:00
Ivan fd47adf595 Fix inconsistent behavior (re)connecting on SSL 2018-08-16 22:06:36 +00:00
jkhsjdhjs 57478b6575 Fix sending PASS with spaces or starting with :
Closes #2186
Closes #1550
2018-05-08 16:27:18 -04:00
Patrick Griffis 5cd70622aa Validate all translations contain valid text events 2018-04-03 16:08:27 -04:00
Rainer Müller 5ca767f7f8 Fix plugins on macOS
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-31 01:29:05 +00:00
Manuel Schneider ee85129a9b Deiconify window on tray click. Closes #2136 2018-03-20 11:32:02 +00:00
Patrick Griffis dc483b2342 Remove shift+click to close tab binding
It is an odd binding that conflicts with typical behavior
where shift click selects multiple items and there is
already the middle click shortcut to close tabs quickly.

Closes #918
2018-03-16 20:33:52 -04:00
Patrick Griffis eb942fc274 Revert "xtext: Always use Pango to get correct glyph width on Unix"
This reverts commit d3f1ab7813.

The performance even on Linux is just too poor in many cases.
2018-03-13 21:18:16 -04:00
Patrick Griffis ececf2f640 Fix fscanf() usage without size limit
Closes #2137
2018-03-11 19:08:26 -04:00
Patrick Griffis 6ec523423a Fix /ignore not accepting full hosts
Fixes #1828
2018-03-09 21:34:44 -05:00
Patrick Griffis 740352ceab Remove mpcinfo plugin
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-09 20:26:41 +00:00
Patrick Griffis 541b9ca744 win32: Update to build against gvsbuild 2018-03-09 20:26:41 +00:00
Patrick Griffis e9b9ff9f38 Various fixes for mingw 2018-03-09 18:23:25 +00:00
Mark Jansen 9b8a7eaa01 win32: Respond to WM_TIMECHANGE by updating the CRT timezone info
Closes #2090
Fixes #1851
2018-03-09 13:24:08 -05:00
Patrick Griffis cdefb8e2d6 build: Fix building with-text=true and with-plugin=false
Closes #2113
2018-03-09 13:20:21 -05:00
Patrick Griffis f6333b592b Fix out of bounds read when DCC message sender contains quotes
This cannot be triggered by any user generally.

Fixes #2128
2018-03-04 12:38:57 -05:00
Patrick Griffis 6e4fc09ce0 Fix possible out of bounds read when being ctcp flooded
Note that this is unlikely to be triggerable by another user.

Thanks to @dequis for discovering.
2018-03-02 20:56:54 -05:00
Patrick Griffis 8aa3b03261 dbus: Add option to use app-id for bus name
This is required for Flatpak but is an API break so it is opt-in
for now.
2018-02-18 04:44:59 -05:00
Patrick Griffis 7510ab36b7 xtext: Fix accidental truncation
Fixes #2121
2018-02-11 17:24:32 -05:00
Peng Wu d3f1ab7813 xtext: Always use Pango to get correct glyph width on Unix
This should be slower but pango seems to be reasonably fast
on Unix though extremely slow on Windows.

https://bugzilla.redhat.com/show_bug.cgi?id=1536298
2018-02-06 17:06:50 -05:00
Patrick Griffis 4cdf6460b6 xtext: Fix invalid utf-8 from truncation 2018-02-06 17:06:50 -05:00
Patrick Griffis 5d3bf39103 xtext: Remove unused code 2018-02-06 17:06:50 -05:00
Patrick Griffis 234fe86987 Fix Enchant 2.1.3+ support
They changed the lib name yet again...

Closes #2117
2018-02-06 16:57:30 -05:00
Rodri 4a228d1efe This patch hopefully solves a bug that causes that when a tab (channel or private) is left with the scrollbar at the bottom, and some new text arrives, and then we select again that tab, sometimes the scrollbar is not completely down and there is hidden text and we have to scroll manually to the bottom to show all text.
This was previously submitted as an issue in: https://github.com/hexchat/hexchat/issues/1948
Maybe it isn't the ideal way to solve it, but at least I tested it and it seems to work.
2018-01-18 15:07:14 -05:00
Francisco Couzo ee8926503c Prevent undefined behaviour on memcpy 2018-01-18 04:49:10 -05:00
Patrick Griffis 7d7be83216 Rename app-id to io.github.Hexchat
RDNS syntax is recommended for applications and this matches the
existing flatpak. Note that the dbus service and icons still need
renaming though the former is an API breakage.

Closes #2104
Closes #2103
2017-12-24 13:00:40 -05:00
Patrick Griffis 0058587958 spell-entry: Improve robustness of enchant loading and fix 2.0 support
- Add logging and error handling to loading symbols
- Don't load unversioned symbol
- Handle new function names in Enchant 2.0

Closes #2095
2017-11-24 03:56:53 -05:00
Patrick Griffis c6d9e26e2b Fix crash when connect commands change network
Fixes #2084
2017-10-25 15:26:26 -04:00
Joseph Bisch a3db4e5773 Fix oob read in ctcp_check
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-16 21:47:47 -04:00
Dren Kajmakchi 1452e803fb A tiny code style change 2017-10-16 05:10:32 -04:00
Ken Spencer 6f8b8c3d3c servlist: Add BuddyIM network (#2072) 2017-10-11 12:47:23 -04:00
Iwan Aucamp 8ddd5e3778 Add an option to disable rejoin on auto reconnect
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-10 21:06:21 -04:00
Patrick Griffis 4188f26ab9 Improve CTCP notice handling
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-07 17:31:53 -04:00
Joseph Bisch 07f1fc60da Use g_utf8_make_valid if available for cleaner utf8 handling (#2065) 2017-10-02 15:11:42 -04:00
Joseph Bisch 0c494a9c24 Fix rfc_ncasecmp handling of n reaching 0
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-21 21:34:14 -04:00
Patrick Griffis 053003f490 Handle leading spaces when matching extra alerts
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-19 20:26:28 -04:00
Joseph Bisch 4a09ce6fc3 Fix rfc_{n,}casecmp functions (#2058)
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-19 14:31:48 -04:00
Joseph Bisch f4a592c4f0 Fix oob read caused by ptr[0] being NULL in inbound_notice
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-09-18 22:01:48 -04:00
Allan Nordhøy a388d0c553 Spelling: SOCKS5, Byte per second (#2056)
* Spelling: SOCKS5

* SOCKS4/5, Byte per second

As per https://en.wikipedia.org/wiki/Data_rate_units
2017-09-16 22:04:52 -04:00
Chase Patterson 18b741804c Use localized "HexChat" in window titles
Also allow rearranging of "HexChat" in window titles
2017-09-15 19:18:29 -04:00
Chase Patterson d935197895 Change windows from starting with "Hexchat: " to ending with " - Hexchat" 2017-09-15 19:18:29 -04:00
Patrick Griffis d99cd18fb9 Improve detection of system tray support
Closes #2045
2017-08-31 10:16:03 -04:00
torhus 281038e725 UI text consistency, capitalization etc. 2017-08-19 16:49:30 -04:00
torhus da0635c960 Adjust use of ellipsis (...) in menus according to Gnome HIG (#2035)
* Adjust use of ellipses (...) in menus according to Gnome HIG

https://developer.gnome.org/hig/stable/writing-style.html.en
2017-08-18 15:59:31 -04:00
Patrick Griffis c6f3fbd15c Add mnemonic for URL Grabber 2017-07-20 17:33:23 -04:00
Mark Jansen 0dccd8d373 servlist: skip empty lines.
Fixes #1999
2017-07-16 17:26:33 -04:00
Patrick Griffis ad359d7a04 Better handle channels with / in them with doat command
/doat #foo/bar/freenode would work for example.
2017-07-04 13:53:15 -04:00
Bilal Elmoussaoui 2965fbcc87 Support changing tray icon only with tray_normal image
Previously making a hexchat icon would override all hexchat icons
not just the tray.

Fixes #2017
Closes #2018
2017-07-01 16:26:00 -04:00