Commit Graph

1110 Commits

Author SHA1 Message Date
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
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
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
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
Patrick Griffis
de157fcffd build: Fix building plugins in cygwin 2017-06-26 16:41:10 -04:00
Patrick Griffis
806a0da258 Fix skipping autoconnect when passed 1 URL 2017-06-22 13:19:43 -04:00
Patrick Griffis
2d184c0967 Fix crash on coloring NULL nicks
Fixes #2014
2017-06-18 06:31:34 -04:00
Patrick Griffis
ce91bebc39 Fix OpenSSL 1.1 deprecations 2017-06-15 00:26:43 -04:00
Patrick Griffis
628100c19f build: Replace Autotools with Meson
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
2017-06-13 23:54:51 -04:00
Patrick Griffis
2edf50d4dd Actually respect away_omit_alerts for custom sounds...
Probably should think before merging things.
2017-06-10 16:28:48 -04:00
YuGiOhJCJ
2dd5f8788c Disable custom sounds when away_omit_alerts enabled
Closes #2012
2017-06-10 16:18:55 -04:00
Shengyu Zhang
99bdc4f251 Fix email address pattern, it can starts with digit 2017-03-10 12:28:03 -05:00
Patrick Griffis
7d78c6bca0 Better handle mode numerics starting with :
These are still awful but until we have a real parser..

Fixes inspircd/inspircd#1295
2017-02-18 21:45:38 -05:00
Patrick Griffis
b1e963f563 servlist: Use SSL with OFTC by default
They now use Lets Encrypt which should be trusted.
2017-01-07 20:50:09 -05:00
Patrick Griffis
525a3bcc02 Increase default scrollback size to 5k
This is totally reasonable for a modern computer.
2017-01-05 17:58:06 -05:00
Florian Stinglmayr
d583ca7d92 Use AC_CHECK_FUNCS to find functions not in LibreSSL
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
2016-12-13 17:12:04 -05:00
Patrick Griffis
26acd02e9f Enable input_filter_beep by default
This just allows for spam.
2016-12-04 05:02:15 -05:00
Patrick Griffis
e7da3a052d Avoid mixed declaration 2016-12-04 04:44:10 -05:00
Patrick Griffis
b6426a1e9f Fix printing invalid utf8 from /exec output
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".
2016-12-04 04:39:06 -05:00
Mattia Rizzolo
f2d93f5abe properly clean the autogenerated org.hexchat.service.service 2016-12-01 18:20:48 -05:00
Patrick Griffis
3118df2042 Fix timers being incorrectly removed
Possibly fixing #1866
2016-11-30 00:52:48 -05:00
Mattia Rizzolo
c7849a8921 Fix typos s/Recieved/Received/ 2016-11-28 15:17:36 -05:00
Patrick Griffis
13f6d9265a Respect plugin hook changing tab color
Fixup to 241dd69b08
2016-11-11 20:02:24 -05:00
Patrick Griffis
241dd69b08 Further tab color improvements
- 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
2016-11-11 19:27:57 -05:00
Patrick Griffis
539949973c More fixes for tab color handling with plugins
Part 2 of 03767ee0f9

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
2016-11-11 01:25:12 -05:00
Patrick Griffis
85bdb06cad Convert doat to an internal command
- Trivial plugin
- Useful for many users
- Was under a dumb license
2016-11-09 17:29:23 +01:00
Patrick Griffis
a0e80ebda2 Final fixup of OpenSSL 1.1.0 changes 2016-10-23 03:34:15 -04:00
Patrick Griffis
1186236ac1 ssl: Fix building with older OpenSSL too 2016-10-23 01:09:27 -04:00
Patrick Griffis
217fa9d0f9 ssl: More OpenSSL 1.1.0 fixes 2016-10-23 00:58:28 -04:00
Patrick Griffis
e7101ebcae Default net_ping_timeout to 60 2016-10-22 06:51:11 -04:00
d-browne
ebc40fe9c7 Added MHOP command 2016-10-11 09:58:56 -04:00
Patrick Griffis
2a81b98e7b Don't abort if translated text event fails
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.
2016-10-10 14:11:08 -04:00
gaffatape
492c209d07 Don't update usercount if doing nameslist 2016-10-08 14:55:58 -04:00
gaffatape
29b5785bb4 Update usercount in inbound_nameslist_end 2016-10-08 14:55:58 -04:00
Rainer Müller
c79ce843f4 build: Reorder includes to avoid installed plugin header
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
2016-09-26 19:16:42 -04:00