Commit Graph

87 Commits

Author SHA1 Message Date
DjLegolas 7b950eb021 Fixed proxy user/password buffer overflow
By using a dedicated buffer for sending the username and password for the SOCKS5 proxy, there will be no overflow when copying them to the buffer.
And therefore, RFC 1929 is fully supported.
2020-04-11 13:19:31 -07:00
James Clarke 9c44d7baf4 Avoid prioritising MODE queries for channels with hyphens in their name
If a user has a large number of channels containing hyphens in their
names, the initial MODE queries will have the same high priority as any
PINGs, and so will block the PINGs from being sent, causing the
connection to time out due to a lack of PONGs received.
2020-01-01 16:39:11 -08:00
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