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).
moon [Sat, 26 Jun 2021 01:14:42 +0000 (19:14 -0600)]
Update servlist.c - Network clean up (#2597)
Added 1 server to Aitvaras
Added 1 server to EFNet
Added 2 servers to chatpat (previously UniBG)
Added DosersNET
Put network list into alphabetical order.
Removed 2 servers from EFNet
Removed 3 servers from Aitvaras
Removed 3 servers from UniBG (now chatpat)
Removed AccessIRC (no longer exists)
Removed BetaChat (no longer exists)
Removed Buddy.IM (no longer exists)
Removed ChatNet (no longer exists)
Removed ChattingAway (no longer exists)
Removed Criten (connects to Rizon)
Removed DeltaPool for having zero connections and channels.
Removed ElectroCode (no longer exists)
Removed GalaxyNet (no longer exists)
Removed GeeksIRC (no longer exists)
Removed IdleMonkeys (no longer exists)
Removed IndirectIRC (no longer exists)
Removed iZ-smart.net (no longer exists)
Removed ObsidianIRC (no longer exists)
Removed PonyChat (no longer exists)
Removed SceneNet (connects to ChatJunkies)
Removed SeilEn.de (no longer exists)
Removed SolidIRC (no longer exists)
Removed StarChat (no longer exists)
Removed TURLINet (no longer exists)
Removed WorldNet (no longer exists)
Renamed DeltaAnime to DaIRC
Renamed Irctoo.net to IRCtoo
Renamed KBFail to Keyboard-Failure
Renamed Krstarica to PIK
Renamed OzNet to OzOrg
Renamed PIRC.PL to pirc.pl
Renamed PTNet.org to PTNet
Renamed UniBG to chatpat
Sadie Powell [Sat, 29 May 2021 00:37:50 +0000 (01:37 +0100)]
Parse the output of the 005 numeric correctly. (#2585)
This implements support for the full 005 numeric syntax including negation and value escapes as defined in draft-hardy-irc-isupport-00. This fixes HexChat on servers that:
- Have unloaded a previously supported feature at runtime (e.g. unloading the monitor module in InspIRCd removing the MONITOR token).
- Have escaped spaces in the network name (see testnet.inspircd.org for an example of this).
- Send a value for a token where HexChat expects none (e.g. INVEX on InspIRCd — the value for this token is optional) or vice versa.
Patrick Griffis [Mon, 21 Sep 2020 18:22:50 +0000 (11:22 -0700)]
Revert word array length change
It turns out that the rfc sets a limit of 15 arguments and the
server (irccloud) sending that many in ISUPPORT was updated to
split it into multiple lines.
Patrick Griffis [Thu, 17 Sep 2020 22:50:28 +0000 (15:50 -0700)]
Increase max number of words a line can be split into
This may have unintended side-effects but 32 is a very low value
and I was seeing real world bugs being caused by this. Specifically
an ISUPPORT line with more features than this could store.
Patrick [Fri, 15 May 2020 06:15:14 +0000 (23:15 -0700)]
Remove 2ch from network list
It split into multiple networks; Both are very small and can't even match our modern guidelines like supporting TLS. I'll just use this as an opportunity to clean up the list a bit.
GDB is usually able to debug executables with ASLR by temporarily
disabling ASLR when running that executable. This is only supported on
Linux. On Windows, GDB cannot debug ASLR executables.
This removes the dynamicbase linker flag on Windows for debug builds in
order to be able to debug that executable later.
Hardening an executable with ASLR is important for release builds, but
for debug builds being able to debug is much more important.
win32: Fix building executables with invalid entrypoints
Windows builds of the GTK frontend use the pie flag to compile
hexchat.exe. Windows needs an explicit entrypoint when compiling with
--pie, otherwise an invalid executable is created.
This sets the entrypoint of the executable on Windows (as it is
currently set in the Visual Studio project files).
This fixes a critical build issue which prevents all Windows builds
using Meson from working.
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.
Updated the maximum length of the socks5 user and password to comply to RFC 1929, where both the password and the username length is definied as a maximum of 255
James Clarke [Wed, 1 Jan 2020 20:37:39 +0000 (20:37 +0000)]
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.
Simon Levermann [Wed, 23 Oct 2019 07:06:03 +0000 (09:06 +0200)]
Ignore some non-interesting filesystem types
Generally, how much space we have in squashfs, or tmpfs shouldn't
interest us. This becomes more relevant in distros like Ubuntu, where
snaps are a thing, and each snap mounts their own FS in a squashfs that
is always full, thus falsifying the output of sysinfo.