Commit Graph

85 Commits

Author SHA1 Message Date
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
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
Joseph Bisch 07f1fc60da Use g_utf8_make_valid if available for cleaner utf8 handling (#2065) 2017-10-02 15:11:42 -04:00
Patrick Griffis 439ff094ce Fix building against openssl 1.1.0
Fixes #1759
2016-08-27 22:57:09 -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
Arnavion 4ed1acfd52 Use constant instead of literal. 2016-06-24 12:05:37 -07: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 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 94a7fbae02 Fix possible overflow 2016-02-19 09:41:24 -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 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 981d55e84c Add support for CAP 3.2 2016-01-29 15:28:33 -05:00
moparisthebest dbad9285b8 TLS: Set SNI hostname before connect 2015-09-11 01:48:29 -04: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
TingPing 5fe2dda146 ssl: Remove unused server code 2015-01-30 21:25:41 -05: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
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 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 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 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
Arnavion 65da34f19e Removed some unnecessary null-checks for calls to g_free and g_strfreev 2014-12-08 21:24:59 -08:00
TingPing c9b63f7f9b ssl: Validate hostnames
Closes #524
2014-11-21 23:19:30 -05:00
TingPing 4b6215051f ssl: Don't use global openssl context
Fixes #789
2014-11-05 01:27:39 -05:00
Campbell Barton 93caf4c7b4 Use GNUC format attribute on print functions
Closes #1059
2014-07-18 07:09:07 -04:00
TingPing a903f16c68 Implement BLOWFISh, AES, and EXTERNAL SASL mechanisms
Closes #657
2013-09-07 18:59:28 -04:00
Diogo Sousa 4057b7dd58 Now inbound_cap_ls() can enable extensions when a bouncer uses a namespace for
the extension server-time.
2013-06-28 16:07:24 +01:00
Diogo Sousa d934e60c2b Improved server_get_network(): if we don't have the current network in the
network list use the server name in received in event 005.
(This fixes the problem that the network (%n) in the log file names would be
"NETWORK" instead of the real network name (this happened if the network was
not in the network list).)
2013-05-25 22:31:45 +01:00
TingPing fcdd85ae5e Merge pull request #603 from orium/lag-meter-stuck
Fix an issue where the lag meter could get stuck after reconnect
2013-05-22 17:17:28 -07:00
Diogo Sousa 89078eb3b3 Fix an issue where the lag meter would be stuck after a reconnect caused by a
ping timeout.
2013-05-16 15:11:52 +01:00
Berke Viktor 947dd45294 Fix warnings 2013-05-14 16:52:16 +02:00
Berke Viktor a435e8648f Fix initial autojoins and some erroneous copies/frees 2013-05-14 16:40:32 +02:00
Berke Viktor 198dc9eb43 Fix favorite channels except in inbound.c 2013-05-12 05:44:32 +02:00
Berke Viktor fb01d4e9ab Replace g_strdup_printf with g_build_filename where possible 2013-05-04 18:21:48 +02:00
TingPing 7243f5bc2c Merge pull request #565 from bviktor/nickservtype
Make NickServ registration configurable per-network
2013-05-03 09:19:01 -07:00
Berke Viktor 99fed089cf Line breaks and typofix 2013-05-03 15:54:18 +02:00
Berke Viktor 0a54efdd0c Make NickServ registration configurable per-network
Fixes #394
2013-04-28 21:24:53 +02:00
Berke Viktor 708c5a7347 Make /msg nickserv the default registration type
Fixes #394 and hopefully doesn't break others
2013-04-28 17:03:41 +02:00
TingPing 496ed18e85 Add MONITOR support 2013-04-03 18:51:54 -04:00
TingPing b4c8d53394 Support account-notify and extended-join capabilities 2013-04-03 17:10:09 -04:00
TingPing 4c217d4ba3 Merge pull request #448 from TingPing/awaynotify2
Add away-notify support
2013-04-03 12:12:26 -07:00
TingPing eda9303ec9 Remove old CAPAB stuff
We already check for identify-msg elsewhere
2013-03-25 19:17:44 -04:00