Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Instead of wrapping around, which is not behaviour any reasonable
user would expect, just use the default port if above 65535.
Disallow connecting on port 0. This port has special meaning and
servers can not listen on it. It is more likely the user just
gave an invalid value to the port field as atoi("invalid") == 0.
|
|
|
|
|
|
Bahamut and ircu both send 005 MODES and ELIST so this is entirely
unnecessary. The other IRCd checked for here is for a dead network.
While we're editing this code fix HexChat on servers that can only
support one mode at a time (these are mostly gateway servers).
|
|
Since hexchat already depends on GLib, it's better to use GProxyResolver
instead. This might use libproxy, or not, as appropriate.
P.S. This removes a memory safety issue because proxy_list is allocated
using malloc(), not g_malloc(), and therefore using g_strfreev() is
incorrect. The proper way to free the proxy list returned by libproxy
is to use px_proxy_factory_free_proxies() (but nobody does that because
it was added in libproxy 0.4.16, which is somewhat recent).
|
|
Co-authored-by: Patrick <tingping@tingping.se>
|
|
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.
|
|
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.
|
|
|
|
|
|
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
|
|
|
|
Fixes #1759
|
|
This should allow the operating system to be a bit more lax about
timeouts, allowing more efficient power management.
|
|
|
|
|
|
|
|
- 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
|
|
|
|
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
|
|
- 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
|
|
|
|
|
|
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.
|
|
|
|
|
|
- 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
|
|
GLib's API is good enough now.
|
|
|
|
|
|
- Use gio (which is cross platform)
- Properly support multiple users
- Allow configuring port
- Allow other plugins overriding
|
|
It has been default for a while, is the only tested option,
and will only get more common.
|
|
It's not enabled anywhere, certainly not maintained
|
|
|
|
- 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
|
|
|
|
|
|
|
|
Closes #524
|
|
Fixes #789
|
|
Closes #1059
|
|
Closes #657
|
|
the extension server-time.
|
|
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).)
|
|
Fix an issue where the lag meter could get stuck after reconnect
|
|
ping timeout.
|
|
|