git: c3fa99245291 - main - net/dante: add missing getsockopt() interposition to fix the build
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 26 Feb 2024 12:39:09 UTC
The branch main has been updated by danfe:
URL: https://cgit.FreeBSD.org/ports/commit/?id=c3fa9924529148735c04a0d1c8444b9942e472d3
commit c3fa9924529148735c04a0d1c8444b9942e472d3
Author: Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2024-02-26 12:38:22 +0000
Commit: Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2024-02-26 12:38:22 +0000
net/dante: add missing getsockopt() interposition to fix the build
Discovered with --no-undefined-version being enabled by default in
newish LLD. While here, drop CONFLICTS against `net/socks5' which
was removed from the ports tree back in 2012.
PR: 276938
Reported by: pkg-fallout
---
net/dante/Makefile | 2 --
net/dante/files/patch-dlib_interposition.c | 31 ++++++++++++++++++++++++++++++
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/net/dante/Makefile b/net/dante/Makefile
index 458dbabda958..8bbb0261a7b6 100644
--- a/net/dante/Makefile
+++ b/net/dante/Makefile
@@ -14,8 +14,6 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libminiupnpc.so:net/miniupnpc \
libsasl2.so:security/cyrus-sasl2
-CONFLICTS= socks5
-
USES= libtool localbase
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
diff --git a/net/dante/files/patch-dlib_interposition.c b/net/dante/files/patch-dlib_interposition.c
new file mode 100644
index 000000000000..cf6b642130d8
--- /dev/null
+++ b/net/dante/files/patch-dlib_interposition.c
@@ -0,0 +1,31 @@
+--- dlib/interposition.c.orig 2020-11-11 16:11:56 UTC
++++ dlib/interposition.c
+@@ -1736,7 +1736,7 @@ getsockopt(s, level, optname, optval, optlen)
+ HAVE_PROT_GETSOCKOPT_4 optval;
+ HAVE_PROT_GETSOCKOPT_5 optlen;
+ {
+- if (socks_issyscall(s, SYMBOL_GETSOCKNAME))
++ if (socks_issyscall(s, SYMBOL_GETSOCKOPT))
+ return sys_getsockopt(s, level, optname, optval, optlen);
+ return Rgetsockopt(s, level, optname, optval, optlen);
+ }
+@@ -2168,6 +2168,19 @@ _getsockname(s, name, namelen)
+ if (socks_issyscall(s, SYMBOL_GETSOCKNAME))
+ return sys_getsockname(s, name, namelen);
+ return Rgetsockname(s, name, namelen);
++}
++
++HAVE_PROT_GETSOCKOPT_0
++_getsockopt(s, level, optname, optval, optlen)
++ HAVE_PROT_GETSOCKOPT_1 s;
++ HAVE_PROT_GETSOCKOPT_2 level;
++ HAVE_PROT_GETSOCKOPT_3 optname;
++ HAVE_PROT_GETSOCKOPT_4 optval;
++ HAVE_PROT_GETSOCKOPT_5 optlen;
++{
++ if (socks_issyscall(s, SYMBOL_GETSOCKOPT))
++ return sys_getsockopt(s, level, optname, optval, optlen);
++ return Rgetsockopt(s, level, optname, optval, optlen);
+ }
+
+ HAVE_PROT_LISTEN_0