Commit Graph

1107 Commits

Author SHA1 Message Date
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
Patrick Griffis 15600f405f Sanitize network name for scrollback files
This prevents using invalid chars on Windows or creating directories
2016-09-11 15:50:19 -04:00
Patrick Griffis d1bd441a9a plugin: Add chanmodes to channels list 2016-09-03 15:47:37 -04:00
Patrick Griffis 3131661f9e dbus: Remove dbus-python example in favor of GDBus 2016-08-27 23:11:29 -04:00