On Sun, Feb 26, 2023 at 3:53 PM <fo...@dnmx.org> wrote: > > I did a git clone like it says on the main Quark web-site, and doing `mandoc > -a quark.1` it shows '2020-09-27', and that's what I am using. > Unless that's wrong and/or there's another way to get the version number - > I'd > like to know.
Ah i see. Running 'git clone' as described on the website does actually download the latest version. That date is simply when the last major changes where made to the manpage, not quark itself. If you run 'git log' you'll see the date of the most recent (topmost) change to the source code. > > which meant that quark would likely drop legitimate connections under load > (IP address comparison check was the wrong way 'round). I don't think the fix > ever got merged ... > > That's interesting. Like I said - 2020 version, is it fixed in newer commits, > should I test that out as well? > > Because increasing -s and -t seems to do jack shit as I already stated :d The bug still hasn't been fixed in the latest version. I've attached a bug fix patch to this mail that you can use, but I'm not 100% sure that this bug is responsible for your problem. To apply the patch, simply drop the .diff file in your quark source folder, then run git am quark-addr_cmp_fix-20230226.diff and then rebuild & reinstall with make make install
From 0fc2f684e79795dcc4cbd9888a0dd30d78aff36f Mon Sep 17 00:00:00 2001 From: Thomas Oltmann <thomas.oltmann....@gmail.com> Date: Sun, 26 Feb 2023 17:38:43 +0100 Subject: [PATCH] Fix inverted conditional in sock_same_addr() --- sock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sock.c b/sock.c index ecb73ef..e6e7754 100644 --- a/sock.c +++ b/sock.c @@ -198,7 +198,7 @@ sock_same_addr(const struct sockaddr_storage *sa1, const struct sockaddr_storage case AF_INET6: return memcmp(((struct sockaddr_in6 *)sa1)->sin6_addr.s6_addr, ((struct sockaddr_in6 *)sa2)->sin6_addr.s6_addr, - sizeof(((struct sockaddr_in6 *)sa1)->sin6_addr.s6_addr)); + sizeof(((struct sockaddr_in6 *)sa1)->sin6_addr.s6_addr)) == 0; case AF_INET: return ntohl(((struct sockaddr_in *)sa1)->sin_addr.s_addr) == ntohl(((struct sockaddr_in *)sa2)->sin_addr.s_addr); -- 2.39.1