Index | Thread | Search

From:
Volker Schlecht <openbsd-ports@schlecht.dev>
Subject:
Re: lang/node & net/libcares weirdness
To:
ports@openbsd.org, brad@comstyle.com, openbsd.ports@aisha.cc
Date:
Wed, 8 May 2024 08:03:29 +0200

Download raw body.

Thread
On 2024-05-08 00:47, Stuart Henderson wrote:
>> -V=		1.28.0
>> +V=		1.28.1
>
>The update looks worth having anyway, but I'd do that as a separate
>commit.

>> -SHARED_LIBS +=  cares                3.6      # 8.1.6
>> +SHARED_LIBS +=  cares                3.7      # 8.1.6
>
>I didn't see a reason to bump this.

Here's the diff boiled down to a REVISION bump and adding the patch.
An equivalent of this should go into -stable (net/libcares 1.27.0).

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/libcares/Makefile,v
diff -u -p -r1.28 Makefile
--- Makefile	5 Apr 2024 20:38:05 -0000	1.28
+++ Makefile	8 May 2024 05:55:10 -0000
@@ -5,6 +5,7 @@ DISTNAME=	c-ares-${V}
 PKGNAME=	libcares-${V}
 CATEGORIES=	net devel
 SITES=		${HOMEPAGE}download/
+REVISION=	0
 
 SHARED_LIBS +=  cares                3.6      # 8.1.6
 
Index: patches/patch-src_lib_ares__socket_c
===================================================================
RCS file: patches/patch-src_lib_ares__socket_c
diff -N patches/patch-src_lib_ares__socket_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_ares__socket_c	8 May 2024 05:55:10 -0000
@@ -0,0 +1,20 @@
+Revert the change from https://github.com/c-ares/c-ares/pull/659
+because it breaks node (https://github.com/nodejs/node/issues/52439)
+and likely other use cases as well.
+
+Index: src/lib/ares__socket.c
+--- src/lib/ares__socket.c.orig
++++ src/lib/ares__socket.c
+@@ -253,12 +253,6 @@ ares_status_t ares__open_connection(ares_channel_t    
+   struct server_connection *conn;
+   ares__llist_node_t       *node;
+   int                       type = is_tcp ? SOCK_STREAM : SOCK_DGRAM;
+-#ifdef __OpenBSD__
+-  if ((is_tcp && server->tcp_port == 53) ||
+-      (!is_tcp && server->udp_port == 53)) {
+-    type |= SOCK_DNS;
+-  }
+-#endif
+ 
+   switch (server->addr.family) {
+     case AF_INET: