pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel
Module Name: pkgsrc
Committed By: riastradh
Date: Sat Sep 6 18:29:02 UTC 2025
Modified Files:
pkgsrc/devel: Makefile
Added Files:
pkgsrc/devel/socket_wrapper: DESCR Makefile PLIST buildlink3.mk
distinfo
pkgsrc/devel/socket_wrapper/patches: patch-src_socket__wrapper.c
Log Message:
devel/socket_wrapper: Import socket_wrapper-1.5.0
socket_wrapper is an LD_PRELOAD wrapper to pass all socket I/O
through Unix sockets for automatically testing internet-domain
applications on a local system.
To generate a diff of this commit:
cvs rdiff -u -r1.4521 -r1.4522 pkgsrc/devel/Makefile
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/socket_wrapper/DESCR \
pkgsrc/devel/socket_wrapper/Makefile pkgsrc/devel/socket_wrapper/PLIST \
pkgsrc/devel/socket_wrapper/buildlink3.mk \
pkgsrc/devel/socket_wrapper/distinfo
cvs rdiff -u -r0 -r1.1 \
pkgsrc/devel/socket_wrapper/patches/patch-src_socket__wrapper.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/Makefile
diff -u pkgsrc/devel/Makefile:1.4521 pkgsrc/devel/Makefile:1.4522
--- pkgsrc/devel/Makefile:1.4521 Sat Sep 6 18:27:51 2025
+++ pkgsrc/devel/Makefile Sat Sep 6 18:29:02 2025
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4521 2025/09/06 18:27:51 riastradh Exp $
+# $NetBSD: Makefile,v 1.4522 2025/09/06 18:29:02 riastradh Exp $
#
COMMENT= Development utilities
@@ -3643,6 +3643,7 @@ SUBDIR+= sml-mode
SUBDIR+= smooth
SUBDIR+= snappy
SUBDIR+= snappy-java10
+SUBDIR+= socket_wrapper
SUBDIR+= sofia-sip
SUBDIR+= sparse
SUBDIR+= sparsehash
Added files:
Index: pkgsrc/devel/socket_wrapper/DESCR
diff -u /dev/null pkgsrc/devel/socket_wrapper/DESCR:1.1
--- /dev/null Sat Sep 6 18:29:02 2025
+++ pkgsrc/devel/socket_wrapper/DESCR Sat Sep 6 18:29:02 2025
@@ -0,0 +1,5 @@
+socket_wrapper aims to help client/server software development teams
+willing to gain full functional test coverage. It makes possible to
+run several instances of the full software stack on the same machine
+and perform locally functional testing of complex network
+configurations.
Index: pkgsrc/devel/socket_wrapper/Makefile
diff -u /dev/null pkgsrc/devel/socket_wrapper/Makefile:1.1
--- /dev/null Sat Sep 6 18:29:02 2025
+++ pkgsrc/devel/socket_wrapper/Makefile Sat Sep 6 18:29:02 2025
@@ -0,0 +1,27 @@
+# $NetBSD: Makefile,v 1.1 2025/09/06 18:29:02 riastradh Exp $
+
+DISTNAME= socket_wrapper-1.5.0
+CATEGORIES= devel net
+MASTER_SITES= https://ftp.samba.org/pub/cwrap/
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://cwrap.org/socket_wrapper.html
+COMMENT= LD_PRELOAD wrapper to pass all socket I/O through Unix sockets
+LICENSE= modified-bsd
+
+FORTIFY_SUPPORTED= no # wraps functions like read
+
+CMAKE_CONFIGURE_ARGS+= -DUNIT_TESTING:BOOL=TRUE
+
+BUILDLINK_DEPMETHOD.cmocka= build # for automatic tests only
+
+# Tests are slightly flaky on on NetBSD 9/amd64 (in particular,
+# test_sendmmsg_recvmmsg_ipv6 and test_echo_tcp_write_read), possibly
+# related to PIPE_BUF being smaller than on Linux, not sure.
+
+TEST_ENV+= LD_LIBRARY_PATH=${WRKSRC:Q}/${CMAKE_BUILD_DIR:Q}/src:${WRKSRC:Q}/${CMAKE_BUILD_DIR:Q}/tests
+TEST_TARGET= test
+
+.include "../../devel/cmake/build.mk"
+.include "../../devel/cmocka/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/devel/socket_wrapper/PLIST
diff -u /dev/null pkgsrc/devel/socket_wrapper/PLIST:1.1
--- /dev/null Sat Sep 6 18:29:02 2025
+++ pkgsrc/devel/socket_wrapper/PLIST Sat Sep 6 18:29:02 2025
@@ -0,0 +1,15 @@
+@comment $NetBSD: PLIST,v 1.1 2025/09/06 18:29:02 riastradh Exp $
+include/socket_wrapper.h
+lib/cmake/socket_wrapper/socket_wrapper-config-version.cmake
+lib/cmake/socket_wrapper/socket_wrapper-config.cmake
+lib/cmake/socket_wrapper/socket_wrapper_noop-config-noconfig.cmake
+lib/cmake/socket_wrapper/socket_wrapper_noop-config.cmake
+lib/libsocket_wrapper.so
+lib/libsocket_wrapper.so.0
+lib/libsocket_wrapper.so.0.5.0
+lib/libsocket_wrapper_noop.so
+lib/libsocket_wrapper_noop.so.0
+lib/libsocket_wrapper_noop.so.0.0.1
+lib/pkgconfig/socket_wrapper.pc
+lib/pkgconfig/socket_wrapper_noop.pc
+man/man1/socket_wrapper.1
Index: pkgsrc/devel/socket_wrapper/buildlink3.mk
diff -u /dev/null pkgsrc/devel/socket_wrapper/buildlink3.mk:1.1
--- /dev/null Sat Sep 6 18:29:02 2025
+++ pkgsrc/devel/socket_wrapper/buildlink3.mk Sat Sep 6 18:29:02 2025
@@ -0,0 +1,13 @@
+# $NetBSD: buildlink3.mk,v 1.1 2025/09/06 18:29:02 riastradh Exp $
+
+BUILDLINK_TREE+= socket_wrapper
+
+.if !defined(SOCKET_WRAPPER_BUILDLINK3_MK)
+
+BUILDLINK_API_DEPENDS.socket_wrapper+= socket_wrapper>=1.5.0
+BUILDLINK_ABI_DEPENDS.socket_wrapper+= socket_wrapper>=1.5.0
+BUILDLINK_PKGSRCDIR.socket_wrapper= ../../devel/socket_wrapper
+
+.endif
+
+BUILDLINK_TREE+= -socket_wrapper
Index: pkgsrc/devel/socket_wrapper/distinfo
diff -u /dev/null pkgsrc/devel/socket_wrapper/distinfo:1.1
--- /dev/null Sat Sep 6 18:29:02 2025
+++ pkgsrc/devel/socket_wrapper/distinfo Sat Sep 6 18:29:02 2025
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2025/09/06 18:29:02 riastradh Exp $
+
+BLAKE2s (socket_wrapper-1.5.0.tar.gz) = 4273a026191820a5e3583aae402a52128b34352a5736d3f070289e9ad2a69ed2
+SHA512 (socket_wrapper-1.5.0.tar.gz) = 2ab501e592e6ece88a3e1f5f34a81d6504a07a3df10d21aa4d21b2c96637e7c3660be309624ba9f743e46deb8ac75e8152e082d313cd7b31e510291c5b0ebd20
+Size (socket_wrapper-1.5.0.tar.gz) = 89865 bytes
+SHA1 (patch-src_socket__wrapper.c) = 71ff9f81b3eff06d5a8ef02e20e2b708882ed382
Index: pkgsrc/devel/socket_wrapper/patches/patch-src_socket__wrapper.c
diff -u /dev/null pkgsrc/devel/socket_wrapper/patches/patch-src_socket__wrapper.c:1.1
--- /dev/null Sat Sep 6 18:29:02 2025
+++ pkgsrc/devel/socket_wrapper/patches/patch-src_socket__wrapper.c Sat Sep 6 18:29:02 2025
@@ -0,0 +1,216 @@
+$NetBSD: patch-src_socket__wrapper.c,v 1.1 2025/09/06 18:29:02 riastradh Exp $
+
+1. Handle NetBSD's different prototypes for recvmsg/sendmsg. (PR
+ lib/59633: recvmmsg prototype is incompatible with FreeBSD and
+ Linux)
+
+2. Handle the symbol rename __socket30 in NetBSD.
+
+3. PIPE_BUF=4096 is a Linuxism; the BSDs have PIPE_BUF=512. Maybe
+ this isn't reliable with PIPE_BUF=512, but let's try anyway.
+
+--- src/socket_wrapper.c.orig 2025-05-06 08:09:04.000000000 +0000
++++ src/socket_wrapper.c
+@@ -562,6 +562,9 @@ typedef int (*__libc_recvfrom)(int sockf
+ socklen_t *addrlen);
+ typedef int (*__libc_recvmsg)(int sockfd, const struct msghdr *msg, int flags);
+ #ifdef HAVE_RECVMMSG
++#ifdef __NetBSD__
++typedef int (*__libc_recvmmsg)(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags, struct timespec *timeout);
++#else
+ #if defined(HAVE_RECVMMSG_SSIZE_T_CONST_TIMEOUT)
+ /* FreeBSD */
+ typedef ssize_t (*__libc_recvmmsg)(int sockfd, struct mmsghdr *msgvec, size_t vlen, int flags, const struct timespec *timeout);
+@@ -572,10 +575,14 @@ typedef int (*__libc_recvmmsg)(int sockf
+ /* Linux glibc >= 2.21 */
+ typedef int (*__libc_recvmmsg)(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, int flags, struct timespec *timeout);
+ #endif
++#endif
+ #endif /* HAVE_RECVMMSG */
+ typedef int (*__libc_send)(int sockfd, const void *buf, size_t len, int flags);
+ typedef int (*__libc_sendmsg)(int sockfd, const struct msghdr *msg, int flags);
+ #ifdef HAVE_SENDMMSG
++#ifdef __NetBSD__
++typedef int (*__libc_sendmmsg)(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags);
++#else
+ #if defined(HAVE_SENDMMSG_SSIZE_T)
+ /* FreeBSD */
+ typedef ssize_t (*__libc_sendmmsg)(int sockfd, struct mmsghdr *msgvec, size_t vlen, int flags);
+@@ -583,6 +590,7 @@ typedef ssize_t (*__libc_sendmmsg)(int s
+ /* Linux */
+ typedef int (*__libc_sendmmsg)(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, int flags);
+ #endif
++#endif
+ #endif /* HAVE_SENDMMSG */
+ typedef int (*__libc_sendto)(int sockfd,
+ const void *buf,
+@@ -829,6 +837,27 @@ static void *swrap_load_lib_handle(enum
+ return handle;
+ }
+
++#ifdef __NetBSD__
++static void *
++wrap_dlsym(void *handle, const char *symbol)
++{
++ static const struct {
++ const char *public, *internal;
++ } renames[] = {
++ { "socket", "__socket30" },
++ };
++ size_t i;
++
++ for (i = 0; i < sizeof(renames)/sizeof(renames[0]); i++) {
++ if (strcmp(symbol, renames[i].public) == 0)
++ return dlsym(handle, renames[i].internal);
++ }
++ return dlsym(handle, symbol);
++}
++#else
++#define wrap_dlsym dlsym
++#endif
++
+ static void *_swrap_bind_symbol(enum swrap_lib lib, const char *fn_name)
+ {
+ void *handle;
+@@ -836,7 +865,7 @@ static void *_swrap_bind_symbol(enum swr
+
+ handle = swrap_load_lib_handle(lib);
+
+- func = dlsym(handle, fn_name);
++ func = wrap_dlsym(handle, fn_name);
+ if (func == NULL) {
+ SWRAP_LOG(SWRAP_LOG_ERROR,
+ "Failed to find %s: %s",
+@@ -898,7 +927,7 @@ static void _swrap_mutex_unlock(pthread_
+
+ #define swrap_bind_symbol_rtld_default_optional(sym_name) do { \
+ swrap.rtld_default.symbols._rtld_default_##sym_name.obj = \
+- dlsym(RTLD_DEFAULT, #sym_name); \
++ wrap_dlsym(RTLD_DEFAULT, #sym_name); \
+ } while(0);
+
+ static void swrap_bind_symbol_all(void);
+@@ -1266,6 +1295,9 @@ static int libc_recvmsg(int sockfd, stru
+ }
+
+ #ifdef HAVE_RECVMMSG
++#ifdef __NetBSD__
++static int libc_recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags, struct timespec *timeout)
++#else
+ #if defined(HAVE_RECVMMSG_SSIZE_T_CONST_TIMEOUT)
+ /* FreeBSD */
+ static ssize_t libc_recvmmsg(int sockfd, struct mmsghdr *msgvec, size_t vlen, int flags, const struct timespec *timeout)
+@@ -1276,6 +1308,7 @@ static int libc_recvmmsg(int sockfd, str
+ /* Linux glibc >= 2.21 */
+ static int libc_recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, int flags, struct timespec *timeout)
+ #endif
++#endif
+ {
+ swrap_bind_symbol_all();
+
+@@ -1298,6 +1331,9 @@ static int libc_sendmsg(int sockfd, cons
+ }
+
+ #ifdef HAVE_SENDMMSG
++#ifdef __NetBSD__
++static int libc_sendmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags)
++#else
+ #if defined(HAVE_SENDMMSG_SSIZE_T)
+ /* FreeBSD */
+ static ssize_t libc_sendmmsg(int sockfd, struct mmsghdr *msgvec, size_t vlen, int flags)
+@@ -1305,6 +1341,7 @@ static ssize_t libc_sendmmsg(int sockfd,
+ /* Linux */
+ static int libc_sendmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, int flags)
+ #endif
++#endif
+ {
+ swrap_bind_symbol_all();
+
+@@ -7565,6 +7602,9 @@ ssize_t recvmsg(int sockfd, struct msghd
+ ***************************************************************************/
+
+ #ifdef HAVE_RECVMMSG
++#ifdef __NetBSD__
++static int swrap_recvmmsg(int s, struct mmsghdr *omsgvec, unsigned int _vlen, unsigned int flags, struct timespec *timeout)
++#else
+ #if defined(HAVE_RECVMMSG_SSIZE_T_CONST_TIMEOUT)
+ /* FreeBSD */
+ static ssize_t swrap_recvmmsg(int s, struct mmsghdr *omsgvec, size_t _vlen, int flags, const struct timespec *timeout)
+@@ -7575,6 +7615,7 @@ static int swrap_recvmmsg(int s, struct
+ /* Linux glibc >= 2.21 */
+ static int swrap_recvmmsg(int s, struct mmsghdr *omsgvec, unsigned int _vlen, int flags, struct timespec *timeout)
+ #endif
++#endif
+ {
+ struct socket_info *si = find_socket_info(s);
+ #define __SWRAP_RECVMMSG_MAX_VLEN 16
+@@ -7758,6 +7799,9 @@ fail_swrap:
+ return ret;
+ }
+
++#ifdef __NetBSD__
++int recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags, struct timespec *timeout)
++#else
+ #if defined(HAVE_RECVMMSG_SSIZE_T_CONST_TIMEOUT)
+ /* FreeBSD */
+ ssize_t recvmmsg(int sockfd, struct mmsghdr *msgvec, size_t vlen, int flags, const struct timespec *timeout)
+@@ -7768,6 +7812,7 @@ int recvmmsg(int sockfd, struct mmsghdr
+ /* Linux glibc >= 2.21 */
+ int recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, int flags, struct timespec *timeout)
+ #endif
++#endif
+ {
+ return swrap_recvmmsg(sockfd, msgvec, vlen, flags, timeout);
+ }
+@@ -7949,6 +7994,9 @@ ssize_t sendmsg(int s, const struct msgh
+ ***************************************************************************/
+
+ #ifdef HAVE_SENDMMSG
++#ifdef __NetBSD__
++static ssize_t swrap_sendmmsg(int s, struct mmsghdr *omsgvec, unsigned int _vlen, unsigned int flags)
++#else
+ #if defined(HAVE_SENDMMSG_SSIZE_T)
+ /* FreeBSD */
+ static ssize_t swrap_sendmmsg(int s, struct mmsghdr *omsgvec, size_t _vlen, int flags)
+@@ -7956,6 +8004,7 @@ static ssize_t swrap_sendmmsg(int s, str
+ /* Linux */
+ static int swrap_sendmmsg(int s, struct mmsghdr *omsgvec, unsigned int _vlen, int flags)
+ #endif
++#endif
+ {
+ struct socket_info *si = find_socket_info(s);
+ #define __SWRAP_SENDMMSG_MAX_VLEN 16
+@@ -8175,6 +8224,9 @@ fail_swrap:
+ return ret;
+ }
+
++#ifdef __NetBSD__
++int sendmmsg(int s, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags)
++#else
+ #if defined(HAVE_SENDMMSG_SSIZE_T)
+ /* FreeBSD */
+ ssize_t sendmmsg(int s, struct mmsghdr *msgvec, size_t vlen, int flags)
+@@ -8182,6 +8234,7 @@ ssize_t sendmmsg(int s, struct mmsghdr *
+ /* Linux */
+ int sendmmsg(int s, struct mmsghdr *msgvec, unsigned int vlen, int flags)
+ #endif
++#endif
+ {
+ return swrap_sendmmsg(s, msgvec, vlen, flags);
+ }
+@@ -8936,6 +8989,7 @@ static void swrap_thread_child(void)
+ ***************************/
+ void swrap_constructor(void)
+ {
++#ifdef __linux__
+ if (PIPE_BUF < sizeof(struct swrap_unix_scm_rights)) {
+ SWRAP_LOG(SWRAP_LOG_ERROR,
+ "PIPE_BUF=%zu < "
+@@ -8948,6 +9002,7 @@ void swrap_constructor(void)
+ sizeof(struct socket_info));
+ exit(-1);
+ }
++#endif
+
+ SWRAP_REINIT_ALL;
+
Home |
Main Index |
Thread Index |
Old Index