Commit Graph

1110 Commits

Author SHA1 Message Date
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
Patrick Griffis
295061f461 Fix incorrect const usage 2015-11-09 14:51:48 -05:00
Patrick Griffis
0bd15d435a Fix freeing string from g_get_user_name()
Fixes #1540
2015-11-09 14:41:42 -05:00
Rico Tzschichholz
b8e7dfa4ba build: Let 'make dist' do a better job 2015-10-16 17:25:01 +02:00
Arnavion
7f1ee9dad0 common: Moved some functions over from plugins/sysinfo that are useful for the rest of HC.
OS name, CPU, GPU, HDD info and build arch are now all available within core HC. OS name and build arch are used in the About dialog.
2015-10-12 19:20:53 +02:00
Arnavion
f7e3d3f32c Use VS 2015 2015-10-10 16:14:12 -07:00
Patrick Griffis
599f5c7b29 win32: Don't rely on CWD for portable-mode check
Also cache the result...

Fixes #1500
2015-10-05 15:06:57 -04:00
Patrick Griffis
9c5f577002 Don't use SASL on an unknown network
https://bugzilla.redhat.com/show_bug.cgi?id=1262763
2015-09-14 09:33:06 -04:00
moparisthebest
dbad9285b8 TLS: Set SNI hostname before connect 2015-09-11 01:48:29 -04:00
Lee Watson
73636a00b5 Removed SeionIRC from the serverlist
I'm removing Seion from the serverlist because it's now mostly a defunct network. One of the servers is completely broken in regards to ipv6 connectivity and SSL, the webchat server hasn't worked for months, and I shut down my server (fox.seion.us) a few days ago.
2015-09-05 13:58:34 +01:00
TingPing
e7003ef9c6 Improve /mode behavior
This fixes /mode using the name of invalid contexts
and also adds some documentation to what is happening.

In the end though it still must guess between modes
and nicks if ran in a valid context.

Fixes #1470
2015-09-03 02:35:13 -04:00
asarium
422cce6f70 Fix crash in DBus plugin
Closes #1438
2015-08-02 08:06:21 -04:00
TingPing
94ef0fd294 Fix warning 2015-05-28 14:13:34 -04:00
tomek
ff9c0dbd5e Update alternative font list 2015-05-08 00:02:09 +02:00
TingPing
7363bc03f2 Remove r from mode buttons
No network can agree on what mode r actually
means so we can't have nice things.

Closes #1287
2015-04-21 16:07:12 -04:00
TingPing
c86389f99b Fix possible overflow in pluginpref
Closes #1265
2015-04-07 06:38:59 -04:00
TingPing
66f2f3a84a Improve /AWAY help message
Closes #1343
2015-04-05 00:54:52 -04:00
TingPing
f8c7ea3672 Fix some text event descriptions 2015-04-04 04:29:39 -04:00
TingPing
ae2e5ab092 Fix conflicting type in header
gsize and size_t are not the same thing
2015-03-20 04:58:00 -04:00
TingPing
1cc06f9301 Fixup dc69f24ae
It still has to be in hex...
2015-03-19 16:47:37 -04:00
TingPing
dc69f24ae5 Use correct type for colors 2015-03-19 16:30:03 -04:00
TingPing
b4906f3d23 Fix warnings 2015-03-19 16:06:49 -04:00
bendem
36a8ba126c Fix incorrect timestamp in scrollback with server-time
Fixes #1148
2015-03-02 19:58:27 +01:00
TingPing
749e5b20da Make use of g_path_is_absolute()
No reason to roll our own.. in multiple places
2015-02-28 07:24:49 -05:00
TingPing
d78db5070a Consistently use g_fopen()
It handles the correct encoding on win32
2015-02-28 06:47:40 -05:00
TingPing
a5584c6b57 Clean up some ifdefs
Thankfully somebody already made a define for this, they
just never used it...
2015-02-28 06:43:33 -05:00
TingPing
ec12871e60 Write scrollback as binary on win32
Proper fix for b66edd3
This issue likely applies elsewhere in HexChat
2015-02-27 16:20:09 -05:00
Arnavion
4d44c17939 Removed unused variables left behind from bbb81af 2015-02-21 03:14:32 -08:00
TingPing
c87f559334 Fix distfiles 2015-02-15 15:20:38 -05:00
Arnavion
bbb81af550 Removed unnecessary Windows-only code for seeding openssl's RNG.
openssl seeds itself with CryptGenRandom on Windows in the same manner as /dev/(u)random on other OSes.
2015-02-14 00:31:41 -08:00
Arnavion
a22816fbbd Don't try to disable compression if openssl hasn't been compiled with compression support.
The function is still defined in openssl/ssl.h but not in the actual library, so it cannot be linked to.
2015-02-14 00:30:00 -08:00
TingPing
7063406d6c Remove input_balloon_time setting
This setting doesn't work on most platforms
including some notification daemons on linux.

Where it does work I think it is bad behavior
to default overriding their defaults anyway.

It's most valuable use was likely win32
tray balloons which no longer exist.
2015-02-11 17:58:44 -05:00
Arnavion
9858784eb6 Better project files.
- Output directly to rel\ instead of to bin\ and then copying files over.
- Deduped Win32 vs x64 configs
- Moved some common properties to hexchat.props
- All build intermediates (except htm's intermediates) are no longer emitted in the source directory
2015-02-11 10:01:29 -08:00
Arnavion
5a87d814cf Call CoInitialize, CoInitializeSecurity and CoUninitialize from the main process, not from a DLL.
They're process-level functions and aren't meant to be called from DLLs. CoInitSecurity in particular fails with RPC_E_TOO_LATE even if no other call to CoCreateInstance has been made yet.

Fixes sysinfo's WMI calls on Windows 8.1 and above.
2015-02-10 22:14:22 -08:00
TingPing
f4f27e438b Implement windows 8.1+ notifications
This splits notifications up into multiple backends
currently only libnotify on unix and win8 toasts.

The win8 backend was originally written by @leeter
though heavily modified.
2015-02-04 20:24:53 -05:00
Berke Viktor
a216ed1df9 Partial fix for Windows 10 detection 2015-02-04 04:48:44 -08:00
TingPing
afee9fd42b Only send utf8 string in Key Press event
Fixes #869
2015-02-02 02:56:08 -05:00
TingPing
60fa7efbc8 Fix logging hostname of queries
- Move query topic setting from frontend (where its too late)
- Respect chanopts for logging hostname
- Open query logfile *after* chanopts loaded
2015-02-01 01:47:50 -05:00
Arnavion
1d83610341 Save iconv converters for input and output in the server.
These are then used with g_convert_with_iconv instead of making it create a new iconv converter every time for the given from-to-encoding pairs.
2015-01-31 00:52:31 -08:00
Arnavion
5dde0d7c6d Also verify encoding read from servlist.conf 2015-01-31 00:52:30 -08:00
TingPing
5fe2dda146 ssl: Remove unused server code 2015-01-30 21:25:41 -05:00
TingPing
e5b65bbd69 servlist: Clean up specifying ssl for network 2015-01-20 03:03:45 -05:00
TingPing
a838cd9c07 servlist: Various changes
- Remove IRCNode
- Replace Techmans with Techtronix
- Remove unecessary ports
- Consistently use round-robin over specific servers
- Don't use mixed-case hostnames

Closes #1244
2015-01-20 02:43:16 -05:00
TingPing
02470dffa5 servlist: Add AthemeNet and remove its old networks
Closes #1272
2015-01-19 11:31:42 -05:00
Arnavion
c5bbf75f5e Removed one leftover check for server->encoding against NULL. 2015-01-18 02:55:32 -08:00
Arnavion
b783c827c8 Fixed incorrect comment on server->encoding. 2015-01-18 02:27:38 -08:00
Arnavion
d1897c1602 Remove "System default" encoding. The default for new servers is UTF-8. 2015-01-18 02:10:05 -08:00
Arnavion
6f8a6e66cc Detect unknown server encodings and set to UTF-8. 2015-01-18 02:10:05 -08:00
Arnavion
5749c53484 Server line text-encoding-related fixes.
- Handle server lines that contain sequences which are invalid in the server encoding. Previously, these would cause the whole line to be interpreted in ISO-8859-1, but now they're simply replaced with an appropriate replacement character.

- Removed prefs.utf8_locale.

- Change default server encoding from system locale to UTF-8.

- Always populate server->encoding with a non-null value - UTF-8.

Fixes #1198
2015-01-18 02:10:04 -08:00
Arnavion
2e76a4e477 Removed CP1255-specific handling of server lines.
GLib's API is good enough now.
2015-01-18 02:10:03 -08:00
Arnavion
ee17ec6b4f Removed legacy "IRC" encoding. 2015-01-18 02:10:03 -08:00
Arnavion
5a56f9ea01 Removed unimplemented, unused function. 2015-01-14 23:42:21 -08:00
Arnavion
e400ed2855 Fixed bad const-cast. 2015-01-14 21:38:19 -08:00
Arnavion
1d316710ed Don't crash if the log file can't be opened.
Found in #1269
2015-01-14 16:29:03 -08:00
TingPing
13db2011e3 Fix leak
From libressl-portable/openbsd@20de8a4923
2015-01-09 17:25:45 -05:00
tomek
7739c99f3f Update alternative font list 2015-01-07 22:46:37 +01:00
Arnavion
99f74e8d94 Also print the command that wasn't recognized. 2015-01-07 13:42:42 -08:00
TingPing
5ca87b3c8d identd: Fix unknown command when service fails to start 2015-01-07 16:21:46 -05:00
TingPing
16d1fccf61 Fix disabling identd server 2015-01-03 18:00:37 -05:00
TingPing
2a28289314 Don't return 0 in place of NULL 2014-12-31 11:31:17 -05:00
TingPing
112632bb4e Fix some possible null-deref warnings 2014-12-31 11:12:43 -05:00
TingPing
1fa4a000e7 Fix some unused warnings 2014-12-31 10:24:51 -05:00
TingPing
9f7444baa2 Move userlist sorting to frontend
This Fixes possible crashes when the two
usertrees get out of sync and a double free occurs.

Also now requires restart to change sort orders.

Fixes #1252
Fixes #818 (probably)
2014-12-31 03:56:36 -05:00
TingPing
fef580ed7f Rewrite identd
- Use gio (which is cross platform)
- Properly support multiple users
- Allow configuring port
- Allow other plugins overriding
2014-12-30 06:35:42 -05:00
TingPing
3bb717a3b5 Fix windows build
Introduced 1b2bee37e
2014-12-29 02:08:42 -05:00
TingPing
5beaf15f21 Remove option to use socks5 library
This was always disabled by default and is not required
for the current socks support. I am not even sure this
library is packaged by any distro?
2014-12-28 22:29:06 -05:00
TingPing
1b2bee37e4 Remove option to disable ipv6
It has been default for a while, is the only tested option,
and will only get more common.
2014-12-28 22:29:06 -05:00
TingPing
9cb73f839f Remove MSProxy support
It's not enabled anywhere, certainly not maintained
2014-12-28 13:28:19 -05:00
TingPing
14d3a03f41 Fix leak in make-te
This doesn't really matter but it shuts up AddressSanitizer
2014-12-28 08:14:05 -05:00
TingPing
95febd978c Fix building as c89 2014-12-28 06:47:23 -05:00
TingPing
83032b1aa3 Use glib for all allocations
- Removes need to check for malloc failure
- Removes need for NULL checks on free
- Adds checks for integer overflows
- Removes some extra memset calls
- Removes chance of mixing libc and glib malloc/free
2014-12-28 06:44:44 -05:00
TingPing
c4cb1b25ec Fixup: Detect urls with unicode symbols
missed one in 77ecaa6093
2014-12-28 00:40:51 -05:00
TingPing
77ecaa6093 Detect urls with unicode symbols
Fixes #1250
2014-12-28 00:29:58 -05:00
TingPing
aeb5d15871 More consistently include config.h 2014-12-17 18:21:10 -05:00
TingPing
46061f4f3c Remove some unnecessary if statements 2014-12-15 14:51:07 -05:00
Arnavion
ec7a0d6e13 Fixed some more signed-unsigned-comparison warnings. 2014-12-15 10:25:28 -08:00
TingPing
a86b03e939 Remove unused header 2014-12-15 11:07:47 -05:00
TingPing
35fd47da55 Add patch from cygwin 2014-12-15 11:07:47 -05:00
TingPing
226d54c90d Fix use after free 2014-12-14 19:35:27 -05:00
TingPing
f614a3c311 Fix possible overflow when using /menu 2014-12-11 13:49:37 -05:00
TingPing
d6e3f740bc Fix some leaks 2014-12-11 12:13:57 -05:00
md_5
74ff67acd3 Create configuration option to control middle click tab close.
Some might argue that this shouldn't be able to be configured as it is "common" behaviour
in other programs such as web browsers, but for me it is an annoyance because for 15
years this has not been the behaviour of X-Chat.
Quite simply, this creates a configuration option for 537fb856, as unobtrusively as
possible, under the channel switcher preferences tab.

Closes #1232
2014-12-10 15:09:04 -05:00
leeter
6aafc8e51d Fix chanopts not saving if /quit before exit
This is the C fix, unfortunately a proper fix, e.g.
 removing the dependency on session_name all together is a much vaster
 refactor outside the scope of this bugfix.

Closes #1111
2014-12-10 14:40:42 -05:00
TingPing
10246f121a Fix unsafe string handling in configs
Also fixes 2 leaks
2014-12-10 09:32:16 -05:00
TingPing
58e871696b Fix typo 2014-12-10 09:00:04 -05:00
Arnavion
99a1fff590 Removed unused hexchat_filename_*_utf8 macros. 2014-12-08 21:30:02 -08:00
Arnavion
65c8494698 Removed some unnecessary casts. 2014-12-08 21:25:00 -08:00
Arnavion
2b94011fdc Removed some commented-out code. 2014-12-08 21:25:00 -08:00
Arnavion
2da5308fd2 Fixed leak of filename string. 2014-12-08 21:25:00 -08:00
Arnavion
c1831cb19d Minor tidying up 2014-12-08 21:24:59 -08:00
Arnavion
65da34f19e Removed some unnecessary null-checks for calls to g_free and g_strfreev 2014-12-08 21:24:59 -08:00
Arnavion
b7afcc3632 Don't leak filename_fs on errors. 2014-12-08 21:24:58 -08:00
Arnavion
5152040c17 Always use 64-bit filesize and file offsets in DCC.
Based on LRN's commit for replacing stat with GFileInfo https://github.com/hexchat/hexchat/commit/32008bb

Fixes #382
2014-12-06 14:02:45 -08:00
Arnavion
985ea610e6 Store timer hook's timeout as milliseconds. 2014-12-04 04:06:38 -08:00
Arnavion
8062bce835 Fix some obvious type warnings. 2014-12-04 04:06:38 -08:00
TingPing
e38f00775f configure: Add option to run clang static analysis 2014-12-02 01:06:25 -05:00
tomek
0019af675a Fix compilation on Windows 2014-11-30 20:41:13 +01:00
TingPing
f03023297b Fix handling --cfgdir
Fixes #1225
2014-11-29 08:31:35 -05:00
TingPing
c92b247878 Fix building against openssl 0.9.8
Closes #1221
2014-11-26 08:15:34 -05:00
TingPing
c0769397d5 Fix possible crash in SASL Blowfish mech 2014-11-22 20:56:15 -05:00
TingPing
c9b63f7f9b ssl: Validate hostnames
Closes #524
2014-11-21 23:19:30 -05:00
TingPing
ebaaf466bf ssl: Use more secure options
This disables ssl 2/3
2014-11-05 02:17:34 -05:00
TingPing
4b6215051f ssl: Don't use global openssl context
Fixes #789
2014-11-05 01:27:39 -05:00
Campbell Barton
f83d78dd28 Warning cleanup
- ignoring const
- declarations after statements
- some C files didnt include own headers (risking them getting out of sync)

Closes #1064
2014-11-02 14:41:20 -05:00
TingPing
3c89de48a8 Remove old config migration
Fixes #1194
2014-10-25 06:50:02 -04:00
TingPing
abaed2bda4 Fix parsing of MONITOR responses
Fixes #1157
2014-09-27 13:11:21 -04:00
TingPing
ce4e129849 Take two at fixing out of source builds 2014-09-21 03:53:30 -04:00
TingPing
760d18b6e7 Fix missing header
And just use g_snprintf() while at it..
2014-09-20 14:09:38 -04:00
TingPing
f389257403 Increase max len of chiper names
For example ECDHE-ECRSA-AES256-GCM-SHA384
2014-09-20 13:56:09 -04:00
TingPing
84df81f336 Replace some unsafe usage of strncpy
Ensure everything is null terminated
2014-09-20 13:52:31 -04:00
Arnavion
a9a6cbda4e win32: Fixed build break due to 7a4a024 2014-09-17 13:00:11 -07:00
TingPing
7a4a0243bd Fix out of source builds
Fixes #1018
2014-09-14 17:43:44 -04:00
Arnavion
e209e55e59 Use PlaySoundW to play sounds on Windows.
Fixes #1133
2014-09-13 00:23:44 -07:00
TingPing
80bdd9ce11 Detect utf8 urls
They might not be valid, but like many things they are still used
2014-09-07 19:51:59 -04:00
TingPing
2aa3eb8cfb Escape values set via pluginpref
Fixes #790
2014-09-01 18:17:26 -04:00
LightningW
d1b9118056 Fix DOMAIN and EMAIL patterns.
Closes #1107
2014-09-01 17:55:22 -04:00
TingPing
9716185edf Use glib to get portable mode dir
This should fix any non-ascii paths
2014-08-23 12:45:02 -04:00
TingPing
a854234c1f Fix warning 2014-07-28 16:18:27 -04:00
Arnavion
7c2c8b1403 Fixed expand_homedir to handle paths like "~user" correctly. 2014-07-28 14:49:14 -04:00
TingPing
c2ecb4c68c Fix various crashes with pluginpref 2014-07-28 14:47:19 -04:00
siniStar7boy
ea9dafcd43 Add GeeksIRC and IRC4Fun to network list
Closes #1057
Closes #1058
2014-07-21 15:37:03 -04:00
TingPing
121cb8b88d Fix formatting warnings
Found by #1059
2014-07-18 07:16:43 -04:00
Campbell Barton
93caf4c7b4 Use GNUC format attribute on print functions
Closes #1059
2014-07-18 07:09:07 -04:00
TingPing
f1e853c1cb Disable tray support on Elementary
They followed Ubuntu in breaking any gtk trays..
2014-07-05 13:08:48 -04:00
laurinkus
3de79bca10 Update server list
Closes #1013
2014-06-27 19:19:13 -04:00
TingPing
c3c6b46230 Clean up includes for gettext
It is always enabled.
2014-06-21 23:10:18 -04:00
TingPing
47b4b0da8a Remove unused defines 2014-06-21 22:45:21 -04:00
TingPing
45526205ab Remove broken debug code 2014-06-21 22:21:12 -04:00
TingPing
3342af4185 Make plugin-timer translatable 2014-06-21 22:11:37 -04:00
Berke Viktor
73c914cca9 Enable logging by default 2014-06-13 18:21:41 +02:00
TingPing
77d9d421fb Partial fix for out of source builds
Patch from LRN

Perl's makefile needs fixed and the relative include
of config.h needs removed from hexchat.h

Mentioned in #1018
2014-06-09 13:54:16 -04:00
TingPing
59f3a65911 Fix sending notify list to correct networks
Fixes #1015
2014-06-08 01:41:50 -04:00
TingPing
3cd8556c54 Use GDir instead of dirent 2014-06-04 13:56:33 -04:00
TingPing
11e3ecc739 Stop hardcoding plugin extensions everywhere 2014-06-04 11:15:35 -04:00
TingPing
5849a0588e Use glib to parse and launch commands for util_exec
Fixes #958
2014-06-04 10:38:23 -04:00
TingPing
b8c02f71d9 win32: Use config.h instead of config-win32.h 2014-06-04 10:30:18 -04:00