Commit Graph

1749 Commits

Author SHA1 Message Date
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
e7c88e0f83 Fix private highlights not setting tab color
Caused by 03767ee0f9

Fixes #1871
2016-11-11 00:45:00 -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
Patrick Griffis
ec4d3de9d2 dbus-client: Rewrite with GDBus
This is just a direct port and should change no logic
2016-08-27 23:04:20 -04:00
Patrick Griffis
439ff094ce Fix building against openssl 1.1.0
Fixes #1759
2016-08-27 22:57:09 -04:00
Patrick Griffis
dc09f2c75d Remove unused preference
I can't really think of a reason this would be needed
and since it doesn't do anything, and didn't since xchat,
 might as well remove it.
2016-08-20 23:24:19 -04:00
Patrick Griffis
034624983b plugin: Fix return value of hexchat_pluginpref_get_int()
On failure it should always return -1, atoi() returns 0.

Fixes #1785
2016-08-05 20:56:16 -04:00
Patrick Griffis
aabcf6f9f4 Fix crashes when plugins modify UI during Close Context
This probably doesn't catch them all but setting tab color
and printing text at least do not crash in the common case.
2016-07-24 21:14:11 -04:00
Patrick Griffis
ac986bb3a4 Fix leak 2016-07-24 21:10:34 -04:00
Patrick Griffis
03767ee0f9 Kill fe_set_hilight()
It just duplicates functionality and this fixes:

- alert_taskbar chanopt not being respected
- tab color being incorrect when highlight print events are eaten
2016-07-24 18:08:09 -04:00
Daniel Boland
ba87247781 dcc: Improve handling multiple resumable offers
Multiple offers for the same file are resumable. Attempts to resume more
than one of the offers causes the other offers to start a new file.

Closes #1764
Fixes #1763
2016-07-20 14:11:01 -04:00
Eleni Maria Stea
f845af0370 dbus-client: Fix missing include
Fix "Implicit declaration of function exit" compile error

Closes #1770
2016-07-20 14:04:30 -04:00
Patrick Griffis
e647cd00c6 setup: Disabling input styling requires restarting 2016-07-05 15:40:42 -04:00
Patrick Griffis
91df075d62 Fix input styling with Adwaita 3.20 theme 2016-07-05 15:26:05 -04:00
Ben Gamari
9e11280e52 dcc: Introduce dcc_type and dcc_state enums
Closes #1705
2016-06-30 15:51:10 -04:00
Hubert Terlecki
77dccacd02 dcc: Fix resuming with DCC GET
Fixes #1746
Closes #1747
2016-06-30 08:45:01 -04:00
Rastus Vernon
0667519d17 fkeys: Change unprintable characters to octal notation
- ^O is \017
- ^B is \002
- ^C is \003
- ^] is \035
- ^_ is \037
- ^V is \026

See ASCII(7) for an octal and hexadecimal table.
2016-06-29 15:51:53 -04:00
Rastus Vernon
fbacb82191 Add keybinding for reverse video text
This adds the Ctrl+R keybinding by default to insert \026, the
character used for the reverse video text attribute.
2016-06-29 15:50:53 -04:00
Ben Gamari
6b2cc1d28b cfgfiles: Reinitialize timers on net_ping_timeout change
This ensures that changes will take effect without a restart.
2016-06-29 15:42:11 -04:00
Ben Gamari
a970c1ae2e cfgfiles: Introduce an after_update callback
This allows individual preferences to take action when their value is
changed.

Signed-off-by: Ben Gamari <ben@smart-cactus.org>
2016-06-29 15:42:11 -04:00
Ben Gamari
6a0e131b88 menu: Ensure that toggling lag-o-meter changes timer state 2016-06-29 15:42:11 -04:00
Ben Gamari
215a164e57 Ensure that timers are freed and activated when necessary 2016-06-29 15:42:11 -04:00
Ben Gamari
9e4c2ddc47 Apply timeout changes made in preferences dialog
Just involves a bit of refactoring.
2016-06-29 15:42:11 -04:00
Ben Gamari
bcbe42dd7a Introduce and use fe_timeout_add_seconds
This should allow the operating system to be a bit more lax about
timeouts, allowing more efficient power management.
2016-06-29 15:42:11 -04:00
Ben Gamari
25e197a6c8 dcc: Disable timeout timer when not in use
This should mean that hexchat never *needs* to wake-up unless prompted
by socket activity (assuming that the lag-o-meter is not enabled).
2016-06-29 15:42:11 -04:00
Ben Gamari
7dca220486 Refactor timer handling
This allows us to omit the lagometer timer in the event that it is not
enabled, bringing the baseline wake-up rate down to 1Hz from 2Hz, which
could bring considerable power savings on mobile devices.
2016-06-29 15:24:03 -04:00
Adrien Saladin
111ba3750f Mask nickserv ghost password
Closes #1750
2016-06-29 15:19:28 -04:00
Arnavion
16ba39d9fa Forcibly reset iconv converter after every conversion.
Despite what g_convert_with_iconv's docs say, it does not reset the converter on a failed conversion (iconv returns -1).

Fixes #1758
2016-06-24 12:09:35 -07:00
Arnavion
4ed1acfd52 Use constant instead of literal. 2016-06-24 12:05:37 -07:00
Arnavion
a1d2272dc0 notifications-winrt: Fix all uses of "" to L"".
The API uses Platform::String^. String's constructor takes in char16*.

Fixes #1755
2016-06-21 07:39:50 -07:00
Patrick Griffis
c12f33aa4c servlistgui: Error if nicks left empty 2016-06-12 15:01:39 -04:00
Erik de Castro Lopo
c698e13c0d Couple of minor const correctness fixes 2016-05-28 16:52:26 +10:00
Erik de Castro Lopo
10e429b85d Remove two un-needed type casts 2016-05-28 16:35:45 +10:00
Patrick Griffis
6554a8d63c servlistgui: Show invalid nick/user on open
It is possible to have an invalid config from a previous upgrade

Fixes #1715
2016-05-16 08:51:18 -04:00
TingPing
3c329727c7 servlist: Default to UTF-8 on PTNet
Fixes #1697
2016-05-03 20:16:49 -04:00
Arnavion
fe9da9314c Fixed warning from MSVC that not all branches return a value. 2016-04-27 11:39:29 -07:00
Patrick Griffis
5b097f560d More minor scrollback loading improvements 2016-04-26 12:06:28 -04:00
Patrick Griffis
44aa999598 Fix challengeauth lower casing username 2016-04-13 18:47:51 -04:00
Marcel Telka
54c6418d61 Support for older libnotify versions 2016-04-10 21:22:12 -04:00
Patrick Griffis
a3e1a287ac Bump glib requirement to 2.34
This is still rather old but does drop Ubuntu 12.04 support.
2016-04-07 18:27:37 -07:00
Patrick Griffis
fb7f27fcdd lua: Build on win32 2016-04-03 12:02:04 -07:00
Patrick Griffis
1f48f9dd6f Increase default size of some util windows 2016-03-31 07:21:02 -04:00
Patrick Griffis
9402a31111 Improve help message for /close
Closes #1397
2016-03-30 08:58:25 -04:00
Patrick Griffis
58fb36ee34 Fix warning
Fixes #1533
2016-03-30 08:48:23 -04:00
Patrick Griffis
f656569eb9 plugin: Fix padding for chanopts in channel flags
This is an API break but it didn't really work
properly before anyway.

Fixes #1666
2016-03-30 08:28:51 -04:00
LemonBoy
0635e91dd6 Don't flush the chanopt_list when saving it
Closes #1665
Fixes #1134
2016-03-30 08:11:07 -04:00
Jactry Zeng
5f2d6a3c11 servlistgui: Removes leading and trailing whitespace from hostnames
Closes #1651
2016-03-30 08:07:42 -04:00
Scott Scheiner
356241bdfb url: Add support for ts3server:// uris
Closes #1659
2016-03-30 08:05:32 -04:00
Patrick Griffis
dce6a7612a plugingui: Use full path when unloading/reloading plugins
Mentioned in mniip/hexchat-lua#5
2016-03-29 12:19:19 -04:00
Patrick Griffis
60b3b43f3e Translate chanopt output 2016-03-28 21:31:35 -04:00
Patrick Griffis
6cbcc73a79 chanopt: Ensure values are 0-2
If chanopt was set to any other value it would overwrite
other values in the plugin API for channel flags.
2016-03-28 21:19:39 -04:00
Patrick Griffis
dd080fa6f3 Fix building on old glib 2016-03-28 01:36:02 -04:00
Patrick Griffis
bcb4eec754 identd: Fix ipv6 support on Windows 2016-03-28 01:28:56 -04:00
Patrick Griffis
795e97f428 identd: Fix respecting USE_GLOBAL network flag 2016-03-28 00:31:00 -04:00
Patrick Griffis
77ac0863f8 identd: Respond for INVALID-PORT and NO-USER errors 2016-03-27 23:44:05 -04:00
Patrick Griffis
963ba2bf2d identd: Ensure connection is closed 2016-03-27 23:18:24 -04:00
Patrick Griffis
c280029436 servlist: Update DALnet default login type 2016-03-25 18:44:16 -04:00
Patrick Griffis
47b357b2e1 Only intercept QuakeNet challengeauth when enabled 2016-03-24 15:42:49 -04:00
Patrick Griffis
c1a94e2879 servlist: Add GlobalGamers
Closes #1334
2016-03-20 20:47:52 -04:00
Patrick Griffis
7c078db879 Fix loading encoding from network list on connect
- Fix setting new encoding when switching networks
- Ignore ports when looking for network by hostname
- Only set UTF-8 when nothing explicitly set

Fixes #1628
2016-03-11 02:15:42 -05:00
Patrick Griffis
ebb0fd6905 identd: Fix leak 2016-03-09 00:38:56 -05:00
Patrick Griffis
94a7fbae02 Fix possible overflow 2016-02-19 09:41:24 -05:00
Patrick Griffis
bae1ebce2f Update network list
- Remove dead ones
- Use SASL and TLS when possible
- Make note of self-signed ones
- Add LibraIRC

Closes #1039
Closes #1512
Closes #1473
2016-02-19 09:39:16 -05:00
Insu Yun
50463ca832 Properly handle missing SSL certificate
According to OpenSSL document
(https://www.openssl.org/docs/manmaster/ssl/SSL_get_verify_result.html),
when using SSL_get_verify_result(), the existence of certificate
needs to be checked. However, in current code, it does not.
Therefore, certificate existence check is required for correctly
handling the exception.

Closes #1549
2016-02-19 07:26:50 -05:00
Patrick Griffis
aab881fda2 Fix strict prototype warnings 2016-02-18 08:57:22 -05:00
Patrick Griffis
650bddcfd1 Improve scrollback file handling
- Properly use filesystem encoding
- Validate utf8 when loading (hopefully fixing crashes)
- Use Gio
- Handle Windows line endings
- Remove dead code
- Fix respecting max length of scrollback files
2016-01-31 15:31:15 -05:00
Patrick Griffis
4362085847 Remove DH-AES/DH-BLOWFISH mechanisms and misc cleanup
- AES and Blowfish mechanisms are deemed insecure and servers
  have removed support for them
- Remove attempts to retry since we only support one mech
- Handle SASL 3.2's new syntax for supported mechs
2016-01-29 17:41:08 -05:00
Patrick Griffis
6b62c4738d Add support for twitch.tv/membership 2016-01-29 15:28:34 -05:00
Patrick Griffis
8da205b0a8 Add support for chghost 2016-01-29 15:28:33 -05:00
Patrick Griffis
981d55e84c Add support for CAP 3.2 2016-01-29 15:28:33 -05:00
Patrick Griffis
35d238ad3a Properly handle a few args optionally starting with :
This is a pervasive problem that will likely show up in
other events also.

Closes #1460
2016-01-28 22:49:23 -05:00
Patrick Griffis
2c8729becd Handle PING and AUTHENTICATE with a prefix
Not the ideal solution..

Closes #1566
2016-01-28 22:38:36 -05:00
Patrick Griffis
35f97b65c1 Sanitize server name for log files
It could contain invalid chars or log to an arbitrary directory
2016-01-28 16:22:04 -05:00
Patrick Griffis
a2c2abd60a Fix missed comma 2016-01-28 16:17:30 -05:00
Patrick Griffis
7a85c9160d Add support for cap-notify 2016-01-28 16:02:04 -05:00
Patrick Griffis
4e061a43b3 Clean up handling CAP LS 2016-01-28 15:18:15 -05:00
Patrick Griffis
5c534ac344 Fix leaks 2016-01-25 23:36:06 -05:00
Patrick Griffis
ea9e8d353b identd: Use GDataInputStream 2016-01-25 22:53:42 -05:00
Patrick Griffis
f14ad5e9dd Add identd to preferences 2016-01-25 22:51:11 -05:00
Patrick Griffis
5dafa60433 Rename identd variable name 2016-01-25 20:37:53 -05:00
Pavel Djundik
971e5cf4fe Emit word_click even as long as user is not selecting any text when releasing button
This fixes the need to do pixel-perfect clicks to open links in chat
2016-01-10 12:37:30 -08:00
Anthony Ryan
26d3461f46 Make tab completion prefer other people
If you are talking with someone else with the same prefix as your
own nickname, and attempt to tab complete theirs. It will complete
your own nickname before theirs if you talked more recently. Since
people rarely intend to highlight themselves, this improves the
logic to complete your own name only as a last resort.
2015-11-14 23:22:57 -05:00