anoopcs/socket_wrapper.git
3 years agoBump version to 1.2.5 master
Andreas Schneider [Mon, 22 Jun 2020 14:53:36 +0000 (16:53 +0200)]
Bump version to 1.2.5

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
3 years agosocket_wrapper.c: let swrap_vioctl() handle SIOCOUTQ/TIOCOUTQ/FIONWRITE explicitly
Stefan Metzmacher [Mon, 8 Jun 2020 12:21:25 +0000 (14:21 +0200)]
socket_wrapper.c: let swrap_vioctl() handle SIOCOUTQ/TIOCOUTQ/FIONWRITE explicitly

They are used to ask for the number of unacked bytes in the send queue,
with AF_UNIX sockets get strange result, on linux 5.3 I get more bytes
reported than I sent into the socket. All bytes reach the destination
directly, so we can just always report 0 unacked bytes.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11897

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit f317ebcdcdd626ed9e06de2eb60031306994c803)

3 years agosocket_wrapper.c: make FIONREAD handling more robust in swrap_vioctl()
Stefan Metzmacher [Mon, 8 Jun 2020 12:18:44 +0000 (14:18 +0200)]
socket_wrapper.c: make FIONREAD handling more robust in swrap_vioctl()

We should only dereference the va args when the kernel already checked
they are valid.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11897

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit c95b7cb1d7b9348472276edceff71889aa676d25)

3 years agotest_echo_tcp_socket_options.c: add tests for TCP_INFO
Stefan Metzmacher [Fri, 19 Jun 2020 18:52:23 +0000 (20:52 +0200)]
test_echo_tcp_socket_options.c: add tests for TCP_INFO

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit a37c0175492fb1b35257b785c71dea4e4f6d4750)

3 years agosocket_wrapper.c: implement getsockopt(TCP_INFO) if the platform supports it
Stefan Metzmacher [Mon, 8 Jun 2020 08:32:28 +0000 (10:32 +0200)]
socket_wrapper.c: implement getsockopt(TCP_INFO) if the platform supports it

This just implements a few basics, which are required by Samba.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11897

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit 300de6e099ea82ee5361918de8c3abb389e0782d)

3 years agodoc: Document SOCKET_WRAPPER_DIR_ALLOW_ORIG
Martin Schwenke [Wed, 13 May 2020 23:57:24 +0000 (09:57 +1000)]
doc: Document SOCKET_WRAPPER_DIR_ALLOW_ORIG

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
3 years agoswrap: Add SOCKET_WRAPPER_DIR_ALLOW_ORIG to allow fall back
Martin Schwenke [Thu, 14 May 2020 00:01:54 +0000 (10:01 +1000)]
swrap: Add SOCKET_WRAPPER_DIR_ALLOW_ORIG to allow fall back

Instead of failing when the path returned by realpath(3) is too long,
if SOCKET_WRAPPER_DIR_ALLOW_ORIG is set then fall back to the
original value.  If this original path is too long or something else
fails then abort.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
3 years agoswrap: Abort if socket wrapper directory is too long to be usable
Martin Schwenke [Wed, 13 May 2020 03:45:02 +0000 (13:45 +1000)]
swrap: Abort if socket wrapper directory is too long to be usable

If the socket wrapper directory path is too long to allow reliable
construction of the required Unix domain socket paths then
convert_in_un_alloc() can return ENFILE if paths are truncated in
unfortunate ways.  This can be very hard to debug since, for example,
bind(2) should never return ENFILE.

Instead, abort if the path returned by realpath(3) is unusable.

The code structure is slightly weird but this accommodates an
additional change.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
3 years agoswrap: Add abstractions to construct Unix domain socket paths
Martin Schwenke [Wed, 13 May 2020 03:23:21 +0000 (13:23 +1000)]
swrap: Add abstractions to construct Unix domain socket paths

These include overflow checks but the results of the checks are not
yet used.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
3 years agoswrap: Abort on failure to use SOCKET_WRAPPER_DIR
Martin Schwenke [Sat, 13 Jun 2020 10:50:42 +0000 (20:50 +1000)]
swrap: Abort on failure to use SOCKET_WRAPPER_DIR

If SOCKET_WRAPPER_DIR is set the intention is to use socket wrapper.
Returning NULL means socket wrapper is disabled.  The only sure way to
avoid running without socket wrapper is to abort.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
3 years agoRevert "socket_wrapper.c: implement getsockopt(TCP_INFO) if the platform supports it"
Stefan Metzmacher [Fri, 19 Jun 2020 21:26:28 +0000 (23:26 +0200)]
Revert "socket_wrapper.c: implement getsockopt(TCP_INFO) if the platform supports it"

This reverts commit 300de6e099ea82ee5361918de8c3abb389e0782d.

This got merged automatically by gitlab without review.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agoRevert "test_echo_tcp_socket_options.c: add tests for TCP_INFO"
Stefan Metzmacher [Fri, 19 Jun 2020 21:26:25 +0000 (23:26 +0200)]
Revert "test_echo_tcp_socket_options.c: add tests for TCP_INFO"

This reverts commit a37c0175492fb1b35257b785c71dea4e4f6d4750.

This got merged automatically by gitlab without review.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agoRevert "socket_wrapper.c: make FIONREAD handling more robust in swrap_vioctl()"
Stefan Metzmacher [Fri, 19 Jun 2020 21:26:22 +0000 (23:26 +0200)]
Revert "socket_wrapper.c: make FIONREAD handling more robust in swrap_vioctl()"

This reverts commit c95b7cb1d7b9348472276edceff71889aa676d25.

This got merged automatically by gitlab without review.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agoRevert "socket_wrapper.c: let swrap_vioctl() handle SIOCOUTQ/TIOCOUTQ/FIONWRITE expli...
Stefan Metzmacher [Fri, 19 Jun 2020 21:25:40 +0000 (23:25 +0200)]
Revert "socket_wrapper.c: let swrap_vioctl() handle SIOCOUTQ/TIOCOUTQ/FIONWRITE explicitly"

This reverts commit f317ebcdcdd626ed9e06de2eb60031306994c803.

This got merged automatically by gitlab without review.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agoMerge branch 'tcp_info' into 'master'
Stefan Metzmacher [Fri, 19 Jun 2020 21:07:09 +0000 (21:07 +0000)]
Merge branch 'tcp_info' into 'master'

Add support for TCP_INFO and SIOCOUTQ/TIOCOUTQ/FIONWRITE

See merge request cwrap/socket_wrapper!11

3 years agosocket_wrapper.c: let swrap_vioctl() handle SIOCOUTQ/TIOCOUTQ/FIONWRITE explicitly
Stefan Metzmacher [Mon, 8 Jun 2020 12:21:25 +0000 (14:21 +0200)]
socket_wrapper.c: let swrap_vioctl() handle SIOCOUTQ/TIOCOUTQ/FIONWRITE explicitly

They are used to ask for the number of unacked bytes in the send queue,
with AF_UNIX sockets get strange result, on linux 5.3 I get more bytes
reported than I sent into the socket. All bytes reach the destination
directly, so we can just always report 0 unacked bytes.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11897

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agosocket_wrapper.c: make FIONREAD handling more robust in swrap_vioctl()
Stefan Metzmacher [Mon, 8 Jun 2020 12:18:44 +0000 (14:18 +0200)]
socket_wrapper.c: make FIONREAD handling more robust in swrap_vioctl()

We should only dereference the va args when the kernel already checked
they are valid.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11897

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agotest_echo_tcp_socket_options.c: add tests for TCP_INFO
Stefan Metzmacher [Fri, 19 Jun 2020 18:52:23 +0000 (20:52 +0200)]
test_echo_tcp_socket_options.c: add tests for TCP_INFO

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agosocket_wrapper.c: implement getsockopt(TCP_INFO) if the platform supports it
Stefan Metzmacher [Mon, 8 Jun 2020 08:32:28 +0000 (10:32 +0200)]
socket_wrapper.c: implement getsockopt(TCP_INFO) if the platform supports it

This just implements a few basics, which are required by Samba.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11897

Signed-off-by: Stefan Metzmacher <metze@samba.org>
3 years agotests: do not truncate pid to 16 bits
Mike Gilbert [Fri, 8 May 2020 03:28:50 +0000 (23:28 -0400)]
tests: do not truncate pid to 16 bits

On Linux, pid_t is a 32-bit type, and the kernel permits pids up to 22
bits in length.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14373

Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agoswrap: Remove extra new line towards end of SWRAP_LOG()
Anoop C S [Tue, 7 Apr 2020 08:53:09 +0000 (14:23 +0530)]
swrap: Remove extra new line towards end of SWRAP_LOG()

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agoBump version to 1.2.4
Andreas Schneider [Mon, 23 Mar 2020 08:47:32 +0000 (09:47 +0100)]
Bump version to 1.2.4

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agoRename CHANGELOG
Andreas Schneider [Mon, 23 Mar 2020 08:14:06 +0000 (09:14 +0100)]
Rename CHANGELOG

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agogitlab-ci: Add ubuntu runner
Andreas Schneider [Tue, 24 Mar 2020 07:44:20 +0000 (08:44 +0100)]
gitlab-ci: Add ubuntu runner

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agogitlab-ci: Remove debian cross mips build
Andreas Schneider [Tue, 24 Mar 2020 07:54:59 +0000 (08:54 +0100)]
gitlab-ci: Remove debian cross mips build

This isn't supported by Debian anymore.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agotests: Fix a compile warning on Ubuntu
Andreas Schneider [Tue, 24 Mar 2020 07:53:55 +0000 (08:53 +0100)]
tests: Fix a compile warning on Ubuntu

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agotests: Fix a coverty warning in echo_srv
Andreas Schneider [Mon, 23 Mar 2020 08:13:20 +0000 (09:13 +0100)]
tests: Fix a coverty warning in echo_srv

CID #288875

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agoswrap: add support for SOCKET_WRAPPER_IPV4_NETWORK=10.53.57.0
Stefan Metzmacher [Wed, 23 Jan 2019 18:41:36 +0000 (19:41 +0100)]
swrap: add support for SOCKET_WRAPPER_IPV4_NETWORK=10.53.57.0

With this 10.53.57.XX/8 addresses are used instead of
127.0.0.XX/8. Note the broadcast address is 127.255.255.255
or 10.255.255.255 (and not 10.53.57.255!).

Some applications, e.g. Samba have some special behavior for
loopback addresses.

This allows more realistic tests and triggers the more common
code paths.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agoswrap: implement swrap_ipv4_{net,bcast,iface}() helper functions
Stefan Metzmacher [Wed, 23 Jan 2019 18:41:36 +0000 (19:41 +0100)]
swrap: implement swrap_ipv4_{net,bcast,iface}() helper functions

This makes it easier to implement SOCKET_WRAPPER_IPV4_NETWORK in
the next step.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agodoc/socket_wrapper.1: clarify the possible values for SOCKET_WRAPPER_DEFAULT_IFACE
Stefan Metzmacher [Fri, 20 Mar 2020 09:28:04 +0000 (10:28 +0100)]
doc/socket_wrapper.1: clarify the possible values for SOCKET_WRAPPER_DEFAULT_IFACE

The valid range for <ID> starts with 1 (the default) and ends with 64.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agogitlab-ci: Whitelist metze to use the FreeBSD runner
Andreas Schneider [Sat, 21 Mar 2020 09:02:40 +0000 (10:02 +0100)]
gitlab-ci: Whitelist metze to use the FreeBSD runner

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agoswrap: provide _{socket,close,connect,...} symbols on FreeBSD
Stefan Metzmacher [Wed, 18 Mar 2020 07:55:23 +0000 (08:55 +0100)]
swrap: provide _{socket,close,connect,...} symbols on FreeBSD

Maybe that's not FreeBSD only, but at least this fixes the interaction
of resolv_wrapper and socket_wrapper on FreeBSD 12.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agoswrap: detect stale fd for socket(PF_UNIX) and accept()
Stefan Metzmacher [Thu, 27 Feb 2020 16:47:35 +0000 (16:47 +0000)]
swrap: detect stale fd for socket(PF_UNIX) and accept()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agoswrap: trace the SOCKET_WRAPPER_PCAP_FILE location
Stefan Metzmacher [Wed, 11 Mar 2020 16:10:05 +0000 (17:10 +0100)]
swrap: trace the SOCKET_WRAPPER_PCAP_FILE location

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 years agoswrap: Do not leak buf in swrap_sendmsg()
Andreas Schneider [Thu, 21 Mar 2019 13:59:30 +0000 (14:59 +0100)]
swrap: Do not leak buf in swrap_sendmsg()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoBump version to 1.2.3
Andreas Schneider [Thu, 21 Mar 2019 13:18:12 +0000 (14:18 +0100)]
Bump version to 1.2.3

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Add missing NULL checks to socket_wrapper_dir()
Andreas Schneider [Thu, 21 Mar 2019 13:09:37 +0000 (14:09 +0100)]
swrap: Add missing NULL checks to socket_wrapper_dir()

This return either malloc'ed memory or NULL. Make sure there is no
problem.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Print a warning if SOCKET_WRAPPER_DIR is not set
Andreas Schneider [Thu, 21 Mar 2019 13:09:19 +0000 (14:09 +0100)]
swrap: Print a warning if SOCKET_WRAPPER_DIR is not set

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoBump version to 1.2.2
Andreas Schneider [Thu, 21 Mar 2019 07:47:24 +0000 (08:47 +0100)]
Bump version to 1.2.2

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Add paranoia NULL checks
Andreas Schneider [Fri, 15 Mar 2019 13:59:14 +0000 (14:59 +0100)]
swrap: Add paranoia NULL checks

csbuild complains about missing NULL checks here.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Fix strict aliasing issues in swrap_pcap_packet_init()
Andreas Schneider [Thu, 28 Feb 2019 12:00:40 +0000 (13:00 +0100)]
swrap: Fix strict aliasing issues in swrap_pcap_packet_init()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Fix "Value stored never used" warning
Anoop C S [Fri, 15 Mar 2019 13:18:40 +0000 (18:48 +0530)]
swrap: Fix "Value stored never used" warning

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Fix typo in echo_srv help
Andreas Schneider [Thu, 28 Feb 2019 12:02:35 +0000 (13:02 +0100)]
tests: Fix typo in echo_srv help

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agodoc: Fix some typos in the manpage
Andreas Schneider [Thu, 28 Feb 2019 12:02:08 +0000 (13:02 +0100)]
doc: Fix some typos in the manpage

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Do not use FALL_THROUGH for empty case statements
Amitay Isaacs [Thu, 21 Feb 2019 03:04:21 +0000 (14:04 +1100)]
swrap: Do not use FALL_THROUGH for empty case statements

Signed-off-by: Amitay Isaacs <amitay@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 years agoREADME: Create a markdown file
Andreas Schneider [Tue, 19 Feb 2019 15:18:10 +0000 (16:18 +0100)]
README: Create a markdown file

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 years agogitlab-ci: Check last 20 commits on force push
Andreas Schneider [Tue, 19 Feb 2019 15:10:16 +0000 (16:10 +0100)]
gitlab-ci: Check last 20 commits on force push

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 years agocmake: Remove unused config.h variables
Andreas Schneider [Wed, 20 Feb 2019 09:34:04 +0000 (10:34 +0100)]
cmake: Remove unused config.h variables

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 years agocmake: Use GNUInstallDirs
Andreas Schneider [Fri, 15 Feb 2019 12:09:28 +0000 (13:09 +0100)]
cmake: Use GNUInstallDirs

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 years agoswrap: Fix a TODO
Anoop C S [Thu, 6 Dec 2018 05:46:15 +0000 (11:16 +0530)]
swrap: Fix a TODO

Use realpath(3) instead of strncmp(3)

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 years agoRemove thread-safety task from TODO
Anoop C S [Thu, 6 Dec 2018 05:45:46 +0000 (11:15 +0530)]
Remove thread-safety task from TODO

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 years agocmake: Disable deep binding for helgrind
Andreas Schneider [Wed, 28 Nov 2018 08:23:52 +0000 (09:23 +0100)]
cmake: Disable deep binding for helgrind

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Add env variable to disable deep binding
Andreas Schneider [Wed, 28 Nov 2018 08:20:58 +0000 (09:20 +0100)]
swrap: Add env variable to disable deep binding

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Use #ifdef instead of #if for config.h definitions
Andreas Schneider [Tue, 20 Nov 2018 13:16:17 +0000 (14:16 +0100)]
swrap: Use #ifdef instead of #if for config.h definitions

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agoswrap: Add an overflow check
Volker Lendecke [Sat, 29 Dec 2018 19:20:13 +0000 (20:20 +0100)]
swrap: Add an overflow check

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 years agoBump version to 1.2.1
Andreas Schneider [Wed, 14 Nov 2018 07:04:42 +0000 (08:04 +0100)]
Bump version to 1.2.1

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Karolin Seeger <kseeger@samba.org>
5 years agoswrap: Do not log if we are over the limit in find_socket_info_index()
Andreas Schneider [Tue, 13 Nov 2018 17:44:39 +0000 (18:44 +0100)]
swrap: Do not log if we are over the limit in find_socket_info_index()

There are applications which do:

    for (fd = 0; fd <= getdtablesize(); fd++) {
        close(fd)
    };

This produced millions of error messsages.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Also log the fd in swrap_socket()
Andreas Schneider [Tue, 13 Nov 2018 17:18:22 +0000 (18:18 +0100)]
swrap: Also log the fd in swrap_socket()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Fix comparison of different signedness
Andreas Schneider [Tue, 13 Nov 2018 13:28:17 +0000 (14:28 +0100)]
swrap: Fix comparison of different signedness

Found by csbuild.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoBump version to 1.2.0
Andreas Schneider [Mon, 12 Nov 2018 10:14:20 +0000 (11:14 +0100)]
Bump version to 1.2.0

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Also log the process name
Andreas Schneider [Mon, 12 Nov 2018 14:22:35 +0000 (15:22 +0100)]
swrap: Also log the process name

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Better handling for default values in socket_wrapper_max_sockets()
Andreas Schneider [Tue, 13 Nov 2018 07:31:43 +0000 (08:31 +0100)]
swrap: Better handling for default values in socket_wrapper_max_sockets()

Pair-Programmed-With: Anoop C S <anoopcs@redhat.com>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Always allocate the socket fd array to the maximum
Andreas Schneider [Mon, 12 Nov 2018 16:34:08 +0000 (17:34 +0100)]
swrap: Always allocate the socket fd array to the maximum

This will allow that we can deal with duplicates if the default value is
used.

Pair-Programmed-With: Anoop C S <anoopcs@redhat.com>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Rename global variable for max sockets
Andreas Schneider [Mon, 12 Nov 2018 16:00:09 +0000 (17:00 +0100)]
swrap: Rename global variable for max sockets

We also need a mutex to protect access to it.

Pair-Programmed-With: Anoop C S <anoopcs@redhat.com>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Enable threaded test cases on FreeBSD
Anoop C S [Sat, 10 Nov 2018 05:27:27 +0000 (10:57 +0530)]
tests: Enable threaded test cases on FreeBSD

It was previously judged as a bug which now turned to be due to
wrong backlog count set in echo_srv while listening on socket.

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Increase backlog count for listen() in echo_srv
Anoop C S [Sat, 10 Nov 2018 05:26:24 +0000 (10:56 +0530)]
tests: Increase backlog count for listen() in echo_srv

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agogitlab-ci: Add csbuild
Andreas Schneider [Wed, 7 Nov 2018 07:31:50 +0000 (08:31 +0100)]
gitlab-ci: Add csbuild

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Protect IPv6 in st_echo_tcp_get_peer_sock_name
Andreas Schneider [Wed, 7 Nov 2018 08:05:30 +0000 (09:05 +0100)]
tests: Protect IPv6 in st_echo_tcp_get_peer_sock_name

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocmake: SWRAP_REQUIRED_LIBRARIES should be a list
Andreas Schneider [Wed, 7 Nov 2018 08:02:35 +0000 (09:02 +0100)]
cmake: SWRAP_REQUIRED_LIBRARIES should be a list

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocmake: Set LINK_FLAGS for echo_srv
Andreas Schneider [Wed, 7 Nov 2018 08:14:40 +0000 (09:14 +0100)]
cmake: Set LINK_FLAGS for echo_srv

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocmake: Set LINK_FLAGS for socket_wrapper
Andreas Schneider [Wed, 7 Nov 2018 08:13:26 +0000 (09:13 +0100)]
cmake: Set LINK_FLAGS for socket_wrapper

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocmake: Only set default flags if they have been detected
Andreas Schneider [Wed, 7 Nov 2018 08:25:54 +0000 (09:25 +0100)]
cmake: Only set default flags if they have been detected

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocmake: Disable stack protector on Solaris
Andreas Schneider [Wed, 7 Nov 2018 08:27:38 +0000 (09:27 +0100)]
cmake: Disable stack protector on Solaris

They don't work.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agogitlab-ci: Enable freebsd runner
Andreas Schneider [Tue, 30 Oct 2018 12:01:27 +0000 (13:01 +0100)]
gitlab-ci: Enable freebsd runner

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Disable failing tests as on FreeBSD
Andreas Schneider [Tue, 30 Oct 2018 12:00:51 +0000 (13:00 +0100)]
tests: Disable failing tests as on FreeBSD

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocmake: Create a list with required libraries
Andreas Schneider [Wed, 31 Oct 2018 07:07:17 +0000 (08:07 +0100)]
cmake: Create a list with required libraries

This should fix the build on OmniOS.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Protect IPv6 function in setup_echo_srv_tcp_ipv6
Andreas Schneider [Mon, 5 Nov 2018 07:29:25 +0000 (08:29 +0100)]
tests: Protect IPv6 function in setup_echo_srv_tcp_ipv6

Fixes the build on OmniOS.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Protect IPv6 case in echo_srv
Andreas Schneider [Wed, 31 Oct 2018 07:04:03 +0000 (08:04 +0100)]
tests: Protect IPv6 case in echo_srv

This fixes the build on OmniOS.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Protect IPv6 case in swrap_socket()
Andreas Schneider [Wed, 31 Oct 2018 07:02:25 +0000 (08:02 +0100)]
swrap: Protect IPv6 case in swrap_socket()

Fixes the build on OmniOS

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocmake: Don't use string PREPEND
Andreas Schneider [Wed, 24 Oct 2018 06:44:19 +0000 (08:44 +0200)]
cmake: Don't use string PREPEND

This is only supported in cmake >= 3.10.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 years agoswrap: Fix coverity issues
Anoop C S [Fri, 26 Oct 2018 10:14:53 +0000 (15:44 +0530)]
swrap: Fix coverity issues

CID 184220
CID 184221

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 years agogitlab-ci: Disable the FreeBSD runner
Andreas Schneider [Tue, 2 Oct 2018 14:40:16 +0000 (16:40 +0200)]
gitlab-ci: Disable the FreeBSD runner

There is a threading race condition in FreeBSD.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agogitlab-ci: Add helgrind tests
Andreas Schneider [Thu, 27 Sep 2018 19:10:45 +0000 (21:10 +0200)]
gitlab-ci: Add helgrind tests

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agogitlab-ci: Add runners and toolchain files
Andreas Schneider [Thu, 27 Sep 2018 15:56:11 +0000 (17:56 +0200)]
gitlab-ci: Add runners and toolchain files

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Init in_addr only once in test_tcp_socket_overwrite
Andreas Schneider [Mon, 1 Oct 2018 19:34:44 +0000 (21:34 +0200)]
tests: Init in_addr only once in test_tcp_socket_overwrite

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Return an error if setenv() fails in test_max_sockets
Andreas Schneider [Mon, 1 Oct 2018 19:28:27 +0000 (21:28 +0200)]
tests: Return an error if setenv() fails in test_max_sockets

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Check the correct return code in test_thread_echo_tcp_write_read
Andreas Schneider [Mon, 1 Oct 2018 19:28:06 +0000 (21:28 +0200)]
tests: Check the correct return code in test_thread_echo_tcp_write_read

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Check return code of connect in test_thread_echo_tcp_sendmsg_recvmsg
Andreas Schneider [Mon, 1 Oct 2018 19:27:40 +0000 (21:27 +0200)]
tests: Check return code of connect in test_thread_echo_tcp_sendmsg_recvmsg

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Check the return code of connect in test_echo_udp_sendmsg_recvmsg
Andreas Schneider [Mon, 1 Oct 2018 19:31:19 +0000 (21:31 +0200)]
tests: Check the return code of connect in test_echo_udp_sendmsg_recvmsg

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Check return code of connnect in test_echo_tcp_sendmsg_recvmsg
Andreas Schneider [Mon, 1 Oct 2018 19:27:14 +0000 (21:27 +0200)]
tests: Check return code of connnect in test_echo_tcp_sendmsg_recvmsg

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoecho_srv: Check for a valid pidfile pointer
Andreas Schneider [Mon, 1 Oct 2018 19:23:31 +0000 (21:23 +0200)]
echo_srv: Check for a valid pidfile pointer

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoecho_srv: Only use 128K as buffer size instead of 4MB
Andreas Schneider [Mon, 1 Oct 2018 08:54:53 +0000 (10:54 +0200)]
echo_srv: Only use 128K as buffer size instead of 4MB

This produced errors built with clang.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotorture: Wait longer for echo_srv startup
Andreas Schneider [Thu, 27 Sep 2018 16:19:42 +0000 (18:19 +0200)]
torture: Wait longer for echo_srv startup

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoecho_srv: Do not close bogus file descriptors
Andreas Schneider [Fri, 28 Sep 2018 10:55:49 +0000 (12:55 +0200)]
echo_srv: Do not close bogus file descriptors

==1564== Warning: invalid file descriptor 1048564 in syscall close()
==1564==    at 0x4D18534: close (in /lib64/libc-2.27.so)
==1564==    by 0x4046A74: libc_close (socket_wrapper.c:760)
==1564==    by 0x405105C: swrap_close (socket_wrapper.c:5933)
==1564==    by 0x40511F5: close (socket_wrapper.c:5979)
==1564==    by 0x401679: become_daemon (echo_srv.c:202)
==1564==    by 0x402D44: main (echo_srv.c:896)
==1563==

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Don't do a deep bind if we run with libasan
Andreas Schneider [Sat, 1 Sep 2018 17:36:19 +0000 (19:36 +0200)]
swrap: Don't do a deep bind if we run with libasan

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Add a mutex for resetting socket index
Andreas Schneider [Fri, 28 Sep 2018 10:46:30 +0000 (12:46 +0200)]
swrap: Add a mutex for resetting socket index

Fixes a helgrind error.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoswrap: Fix helgrind errors
Anoop C S [Wed, 19 Sep 2018 08:11:49 +0000 (13:41 +0530)]
swrap: Fix helgrind errors

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Use assert_return_code() to get errno
Andreas Schneider [Fri, 28 Sep 2018 06:11:57 +0000 (08:11 +0200)]
tests: Use assert_return_code() to get errno

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Avoid -Wcast-align warning
Anoop C S [Wed, 29 Aug 2018 23:18:30 +0000 (04:48 +0530)]
tests: Avoid -Wcast-align warning

warning: cast from 'struct sockaddr *' to 'struct sockaddr_in *'
                increases required alignment from 2 to 4 [-Wcast-align]
        struct sockaddr_in *sinp = (struct sockaddr_in *)to; ^~~~~~~~~~~~~~~~~~~~~~~~

Above warning can be avoided by making use of sockaddr_in available
within torture_address from the caller of echo_udp_recv_from_to().
Following that sa_socklen from torture_address can be used instead of
passing sa_socklen explicitly to echo_udp_recv_from_to().

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agotests: Fix -Wformat gcc warning
Anoop C S [Tue, 28 Aug 2018 16:41:31 +0000 (22:11 +0530)]
tests: Fix -Wformat gcc warning

test_fork_thread_deadlock.c:48:25: warning: format ‘%d’ expects argument
    of type ‘int’, but argument 3 has type ‘pid_t {aka long int}’ [-Wformat=]

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>