nss_wrapper.git
7 weeks agogitlab-ci: Setup CI for nss_wrapper master
Andreas Schneider [Fri, 15 Feb 2019 12:29:08 +0000 (13:29 +0100)]
gitlab-ci: Setup CI for nss_wrapper

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Use GNUInstallDirs
Andreas Schneider [Wed, 20 Feb 2019 09:35:27 +0000 (10:35 +0100)]
cmake: Use GNUInstallDirs

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Do not run test_nwrap_disabled with sanitizers
Andreas Schneider [Fri, 15 Feb 2019 12:54:31 +0000 (13:54 +0100)]
cmake: Do not run test_nwrap_disabled with sanitizers

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Disable source code execution when cross compiling
Andreas Schneider [Fri, 15 Feb 2019 12:46:32 +0000 (13:46 +0100)]
cmake: Disable source code execution when cross compiling

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Put defines in config.h
Andreas Schneider [Fri, 15 Feb 2019 12:45:12 +0000 (13:45 +0100)]
cmake: Put defines in config.h

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Fix configure check for libdl
Andreas Schneider [Fri, 15 Feb 2019 12:26:42 +0000 (13:26 +0100)]
cmake: Fix configure check for libdl

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Use target_include_directories()
Andreas Schneider [Fri, 15 Feb 2019 12:24:31 +0000 (13:24 +0100)]
cmake: Use target_include_directories()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Update AddCMockaTest.cmake
Andreas Schneider [Fri, 15 Feb 2019 11:13:18 +0000 (12:13 +0100)]
cmake: Update AddCMockaTest.cmake

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Update cmocka requirement
Andreas Schneider [Fri, 15 Feb 2019 11:05:18 +0000 (12:05 +0100)]
cmake: Update cmocka requirement

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Support running the tests with AddressSanitizer
Andreas Schneider [Fri, 15 Feb 2019 11:04:20 +0000 (12:04 +0100)]
cmake: Support running the tests with AddressSanitizer

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Add AddressSanitizer and UndefinedSanitizer
Andreas Schneider [Fri, 15 Feb 2019 10:57:38 +0000 (11:57 +0100)]
cmake: Add AddressSanitizer and UndefinedSanitizer

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Move Compiler flags to new file
Andreas Schneider [Fri, 15 Feb 2019 10:57:11 +0000 (11:57 +0100)]
cmake: Move Compiler flags to new file

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Remove obsolete DefineCompilerFlags.cmake
Andreas Schneider [Fri, 15 Feb 2019 10:54:55 +0000 (11:54 +0100)]
cmake: Remove obsolete DefineCompilerFlags.cmake

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Improve checks for compiler flags
Andreas Schneider [Fri, 15 Feb 2019 10:54:22 +0000 (11:54 +0100)]
cmake: Improve checks for compiler flags

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Update CMake defaults
Andreas Schneider [Fri, 15 Feb 2019 10:46:23 +0000 (11:46 +0100)]
cmake: Update CMake defaults

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Do not misuse CMAKE_REQUIRED_LIBRARIES
Andreas Schneider [Fri, 15 Feb 2019 10:44:39 +0000 (11:44 +0100)]
cmake: Do not misuse CMAKE_REQUIRED_LIBRARIES

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agocmake: Require at least cmake 3.5.0
Andreas Schneider [Fri, 15 Feb 2019 10:40:10 +0000 (11:40 +0100)]
cmake: Require at least cmake 3.5.0

We should use modern cmake.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agotests: Fix strict aliasing issues in test_nwrap_disabled
Andreas Schneider [Fri, 15 Feb 2019 14:20:35 +0000 (15:20 +0100)]
tests: Fix strict aliasing issues in test_nwrap_disabled

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agotests: Fix sockaddr alignment issues in test_getaddrinfo
Andreas Schneider [Fri, 15 Feb 2019 13:51:07 +0000 (14:51 +0100)]
tests: Fix sockaddr alignment issues in test_getaddrinfo

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agotests: Fix passwd entry for alice
Andreas Schneider [Fri, 15 Feb 2019 15:00:30 +0000 (16:00 +0100)]
tests: Fix passwd entry for alice

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agonwrap: Fix copying 'struct passwd' on FreeBSD
Andreas Schneider [Fri, 15 Feb 2019 17:44:43 +0000 (18:44 +0100)]
nwrap: Fix copying 'struct passwd' on FreeBSD

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agonwrap: Rewrite nwrap_gr_copy_r() to take memory alignment into account
Andreas Schneider [Fri, 15 Feb 2019 17:03:51 +0000 (18:03 +0100)]
nwrap: Rewrite nwrap_gr_copy_r() to take memory alignment into account

Found by UndefinedSanitizer

tests/testsuite.c:288:43: runtime error: load of misaligned address
0x7fff50a89199 for type 'char *', which requires 8 byte alignment
0x7fff50a89199: note: pointer points here
 79 00 78  00 00 00 00 00 00 00 00  00 fe 00 00 00 00 00 00  0c dc 8e e6 7a 7f 00 00  00 00 00 00 00
              ^

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

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agonwrap: Also check for NUL-byte in group loop
Andreas Schneider [Fri, 15 Feb 2019 15:16:50 +0000 (16:16 +0100)]
nwrap: Also check for NUL-byte in group loop

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agonwrap: Fix strict aliasing issue with sockaddr
Andreas Schneider [Fri, 15 Feb 2019 13:19:07 +0000 (14:19 +0100)]
nwrap: Fix strict aliasing issue with sockaddr

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agonwrap: Fix strict aliasing issues
Andreas Schneider [Fri, 15 Feb 2019 13:04:43 +0000 (14:04 +0100)]
nwrap: Fix strict aliasing issues

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agonwrap: Use memcpy instead of strncpy
Andreas Schneider [Fri, 15 Feb 2019 13:00:15 +0000 (14:00 +0100)]
nwrap: Use memcpy instead of strncpy

This fixes compiler/analyzer warnings that the use of strncpy() is
unsafe.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
7 weeks agoREADME: Rename to a markdown file
Andreas Schneider [Mon, 18 Feb 2019 10:14:59 +0000 (11:14 +0100)]
README: Rename to a markdown file

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 months agoBump version to 1.1.5 nss_wrapper-1.1.5
Andreas Schneider [Wed, 31 Oct 2018 12:23:30 +0000 (13:23 +0100)]
Bump version to 1.1.5

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 months agonwrap: Do not call nwrap_init() in the constructor
Andreas Schneider [Wed, 31 Oct 2018 10:11:05 +0000 (11:11 +0100)]
nwrap: Do not call nwrap_init() in the constructor

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 months agonwrap: Call exit() if something goes wrong during initialization
Andreas Schneider [Wed, 31 Oct 2018 10:10:37 +0000 (11:10 +0100)]
nwrap: Call exit() if something goes wrong during initialization

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 months agonwrap: Use calloc in nwrap_libc_init()
Andreas Schneider [Wed, 31 Oct 2018 10:10:08 +0000 (11:10 +0100)]
nwrap: Use calloc in nwrap_libc_init()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 months agoBump version to 1.1.4 nss_wrapper-1.1.4
Andreas Schneider [Tue, 30 Oct 2018 09:04:41 +0000 (10:04 +0100)]
Bump version to 1.1.4

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 months agonwrap: Don't do a deep bind if we run with libasan
Andreas Schneider [Sat, 1 Sep 2018 17:41:46 +0000 (19:41 +0200)]
nwrap: Don't do a deep bind if we run with libasan

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 months agotests: Check pointers of get(pw|gr)(nam|uid|gid)_r functions
Andreas Schneider [Tue, 30 Oct 2018 10:04:22 +0000 (11:04 +0100)]
tests: Check pointers of get(pw|gr)(nam|uid|gid)_r functions

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 months agonwrap: fix nwrap_module_getgrent_r
Ralph Wuerthner [Fri, 19 Oct 2018 13:24:21 +0000 (15:24 +0200)]
nwrap: fix nwrap_module_getgrent_r

On success *grdstp must point to grdst, on error return NULL instead.

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 months agonwrap: fix nwrap_module_getgrgid_r
Ralph Wuerthner [Fri, 19 Oct 2018 13:22:23 +0000 (15:22 +0200)]
nwrap: fix nwrap_module_getgrgid_r

On success *grdstp must point to grdst, on error return NULL instead.

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 months agonwrap: fix nwrap_module_getgrnam_r
Ralph Wuerthner [Fri, 19 Oct 2018 13:19:28 +0000 (15:19 +0200)]
nwrap: fix nwrap_module_getgrnam_r

On success *grdstp must point to grdst, on error return NULL instead.

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 months agonwrap: fix nwrap_module_getpwent_r
Ralph Wuerthner [Fri, 19 Oct 2018 10:19:17 +0000 (12:19 +0200)]
nwrap: fix nwrap_module_getpwent_r

On success *pwdstp must point to pwdst, on error return NULL instead.

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 months agonwrap: fix nwrap_module_getpwuid_r
Ralph Wuerthner [Fri, 19 Oct 2018 10:15:53 +0000 (12:15 +0200)]
nwrap: fix nwrap_module_getpwuid_r

On success *pwdstp must point to pwdst, on error return NULL instead.

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 months agonwrap: fix nwrap_module_getpwnam_r
Ralph Wuerthner [Fri, 19 Oct 2018 09:27:04 +0000 (11:27 +0200)]
nwrap: fix nwrap_module_getpwnam_r

On success *pwdstp must point to pwdst, on error return NULL instead.

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
8 months agoctest: Move to new dashboard
Andreas Schneider [Thu, 5 Jul 2018 08:15:11 +0000 (10:15 +0200)]
ctest: Move to new dashboard

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agonwrap: Update header
Andreas Schneider [Fri, 22 Jun 2018 06:46:06 +0000 (08:46 +0200)]
nwrap: Update header

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agoUpdate LICENSE file
Andreas Schneider [Fri, 22 Jun 2018 06:34:27 +0000 (08:34 +0200)]
Update LICENSE file

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agoRename COPYING to LICENSE
Andreas Schneider [Fri, 22 Jun 2018 06:32:43 +0000 (08:32 +0200)]
Rename COPYING to LICENSE

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agonwrap: Print errno when hsearch() returns NULL
Andreas Schneider [Mon, 22 Jan 2018 16:30:33 +0000 (17:30 +0100)]
nwrap: Print errno when hsearch() returns NULL

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agotests: Add musl-libc 1.1 compatibility (gethostent())
Dennis Schridde [Wed, 25 Jan 2017 21:25:24 +0000 (22:25 +0100)]
tests: Add musl-libc 1.1 compatibility (gethostent())

musl-libc stubs gethostent() and replies with NULL in any case. Thus we have to
 check the sensibility of the function before performing tests.

Tested with musl-libc 1.1.16-r13 on Alpine Linux 3.6. Also confirmed to not
 break with GNU libc 2.23-0ubuntu9 on Ubuntu 16.04.3 LTS.

Signed-Off-By: Dennis Schridde <dennis.schridde@uni-heidelberg.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agotests: Add musl-libc 1.1 compatibility (getaddrinfo(), EAI_SERVICE)
Dennis Schridde [Thu, 3 Aug 2017 09:34:07 +0000 (11:34 +0200)]
tests: Add musl-libc 1.1 compatibility (getaddrinfo(), EAI_SERVICE)

The tests of getaddrinfo() had to be adapted, because musl-libc, unlike glibc
 and others, returns EAI_SERVICE if the requested service is not available for
 the requested socket type.

Tested with musl-libc 1.1.16-r13 on Alpine Linux 3.6. Also confirmed to not
 break with GNU libc 2.23-0ubuntu9 on Ubuntu 16.04.3 LTS.

Signed-Off-By: Dennis Schridde <dennis.schridde@uni-heidelberg.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agotests: Add musl-libc 1.1 compatibility (getaddrinfo(), IP-addresses)
Dennis Schridde [Wed, 25 Jan 2017 21:25:24 +0000 (22:25 +0100)]
tests: Add musl-libc 1.1 compatibility (getaddrinfo(), IP-addresses)

The tests of getaddrinfo() had to be adapted, because musl-libc, unlike glibc
 and others, replies with the same canonical name that was used in the original
 request, if the requested "node" was an IP-address

Tested with musl-libc 1.1.16-r13 on Alpine Linux 3.6. Also confirmed to not
 break with GNU libc 2.23-0ubuntu9 on Ubuntu 16.04.3 LTS.

Signed-Off-By: Dennis Schridde <dennis.schridde@uni-heidelberg.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agocpack: Do not package build dirs in source tarball
Andreas Schneider [Fri, 22 Jun 2018 07:00:30 +0000 (09:00 +0200)]
cpack: Do not package build dirs in source tarball

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 months agocmake: Replace deprecated get_target_property()
Andreas Schneider [Fri, 22 Jun 2018 06:55:40 +0000 (08:55 +0200)]
cmake: Replace deprecated get_target_property()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
18 months agonwrap: Fix strotoul checks for NSS_WRAPPER_MAX_HOSTENTS
Douglas Bagnall [Tue, 15 Aug 2017 22:35:28 +0000 (10:35 +1200)]
nwrap: Fix strotoul checks for NSS_WRAPPER_MAX_HOSTENTS

The env and endptr pointers need to be dereferenced, but that is not
enough: we don't really want to regard an empty string (*env == '\0')
as a valid number.

Found by GCC 8.0.0 20170705 (experimental).

[2095/4103] Compiling lib/nss_wrapper/nss_wrapper.c
../lib/nss_wrapper/nss_wrapper.c: In function ‘nwrap_init’:
../lib/nss_wrapper/nss_wrapper.c:1571:13: warning: comparison between pointer and zero character constant [-Wpointer-compare]
   if (((env != '\0') && (endptr == '\0')) ||
                ^~
                ../lib/nss_wrapper/nss_wrapper.c:1571:9: note: did you mean to dereference the pointer?
   if (((env != '\0') && (endptr == '\0')) ||
            ^
            ../lib/nss_wrapper/nss_wrapper.c:1571:33: warning: comparison between pointer and zero character constant [-Wpointer-compare]
   if (((env != '\0') && (endptr == '\0')) ||
                                    ^~
                                    ../lib/nss_wrapper/nss_wrapper.c:1571:26: note: did you mean to dereference the pointer?
   if (((env != '\0') && (endptr == '\0')) ||

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
22 months agotestsuite: Add compatibility for musl-libc 1.1
Dennis Schridde [Wed, 25 Jan 2017 21:25:24 +0000 (22:25 +0100)]
testsuite: Add compatibility for musl-libc 1.1

The major difference is that getpwent_r and getgrent_r do not exist in
musl-libc. The testsuite was adapted to skip these tests if the
functions themselves are missing.

Signed-Off-By: Dennis Schridde <dennis.schridde@uni-heidelberg.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
22 months agonwrap: Add compatibility for musl-libc 1.1
Dennis Schridde [Mon, 27 Mar 2017 14:26:11 +0000 (16:26 +0200)]
nwrap: Add compatibility for musl-libc 1.1

The major difference is that getpwent_r and getgrent_r do not exist in
musl-libc. Hence it is sufficient to compile the wrappers for those only
conditionally.

Tested with musl-libc 1.1.15-r5 on Alpine Linux 3.5. Also confirmed to
not break with GNU libc 2.24-8 on Debian "Stretch" / 9.

Signed-Off-By: Dennis Schridde <dennis.schridde@uni-heidelberg.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
22 months agonwrap: Add a comment to the pthread_atfork() call
Andreas Schneider [Wed, 31 May 2017 13:25:30 +0000 (15:25 +0200)]
nwrap: Add a comment to the pthread_atfork() call

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
22 months agonwrap: Use a constructor to initialize pthread and nwrap
Andreas Schneider [Mon, 27 Mar 2017 14:23:08 +0000 (16:23 +0200)]
nwrap: Use a constructor to initialize pthread and nwrap

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
22 months agocmake: Check for contructor attribute support
Andreas Schneider [Mon, 27 Mar 2017 14:22:45 +0000 (16:22 +0200)]
cmake: Check for contructor attribute support

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
22 months agonwrap: Add NULL checks for destructor
Andreas Schneider [Mon, 27 Mar 2017 14:38:53 +0000 (16:38 +0200)]
nwrap: Add NULL checks for destructor

If we call init early and leave early they are not filled.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
23 months agonss_wrapper: Use perl via "env"
Volker Lendecke [Mon, 1 May 2017 17:52:07 +0000 (19:52 +0200)]
nss_wrapper: Use perl via "env"

FreeBSD has perl under /usr/local/bin

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agoBump version to 1.1.3 nss_wrapper-1.1.3
Andreas Schneider [Fri, 18 Mar 2016 10:58:13 +0000 (11:58 +0100)]
Bump version to 1.1.3

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agonwrap: Use snprintf() instead of strcpy()
Andreas Schneider [Wed, 16 Mar 2016 17:13:00 +0000 (18:13 +0100)]
nwrap: Use snprintf() instead of strcpy()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agotests: Add testing for BSD 'struct passwd' members
Andreas Schneider [Thu, 21 Jan 2016 12:51:08 +0000 (13:51 +0100)]
tests: Add testing for BSD 'struct passwd' members

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agonwrap: Support FreeBSD 'struct passwd' members
Andreas Schneider [Thu, 21 Jan 2016 12:47:27 +0000 (13:47 +0100)]
nwrap: Support FreeBSD 'struct passwd' members

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agoBump version to 1.1.2 nss_wrapper-1.1.2
Andreas Schneider [Thu, 17 Dec 2015 08:00:30 +0000 (09:00 +0100)]
Bump version to 1.1.2

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agotests: Add reload test for the hosts file
Andreas Schneider [Thu, 17 Dec 2015 07:56:05 +0000 (08:56 +0100)]
tests: Add reload test for the hosts file

With this valgrind should show issues if the hash table is not
recreated.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: Fix segfaults while reloading hosts file
Andreas Schneider [Thu, 17 Dec 2015 07:46:33 +0000 (08:46 +0100)]
nwrap: Fix segfaults while reloading hosts file

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agotests: Add the same alias again
Andreas Schneider [Tue, 24 Nov 2015 16:33:49 +0000 (17:33 +0100)]
tests: Add the same alias again

We should be fault tolerant here.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: Don't fail if we want to add an existing entry
Andreas Schneider [Tue, 24 Nov 2015 16:32:47 +0000 (17:32 +0100)]
nwrap: Don't fail if we want to add an existing entry

Pair-Programmed-With: Michael Adam <obnox@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
3 years agoBump version to 1.1.1 nss_wrapper-1.1.1
Andreas Schneider [Mon, 23 Nov 2015 07:34:13 +0000 (08:34 +0100)]
Bump version to 1.1.1

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: Fix the build on Solaris
Andreas Schneider [Mon, 23 Nov 2015 07:33:02 +0000 (08:33 +0100)]
nwrap: Fix the build on Solaris

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agoBump version to 1.1.0 nss_wrapper-1.1.0
Andreas Schneider [Fri, 20 Nov 2015 09:13:09 +0000 (10:13 +0100)]
Bump version to 1.1.0

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agotests: add __sha512_crypt to suppression file.
Michael Adam [Fri, 20 Nov 2015 09:51:11 +0000 (10:51 +0100)]
tests: add __sha512_crypt to suppression file.

While the manpage crypt(3) states that the function
returns a pointer to static memory, this does not
seem to be true for the __sha512 variant.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agotests: Set the valgrind suppression file
Andreas Schneider [Fri, 20 Nov 2015 08:59:58 +0000 (09:59 +0100)]
tests: Set the valgrind suppression file

You can run 'make ExperimentalMemcheck' with valgrind suppression now.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agotests: Add valgrind suppression for glibc error
Andreas Schneider [Fri, 20 Nov 2015 08:22:36 +0000 (09:22 +0100)]
tests: Add valgrind suppression for glibc error

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: Don't leak memory from gethostbyname*() functions
Andreas Schneider [Fri, 20 Nov 2015 08:38:16 +0000 (09:38 +0100)]
nwrap: Don't leak memory from gethostbyname*() functions

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: Fix the build on FreeBSD
Andreas Schneider [Fri, 20 Nov 2015 07:51:49 +0000 (08:51 +0100)]
nwrap: Fix the build on FreeBSD

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: fix a copy and paste error in the destructor.
Michael Adam [Fri, 20 Nov 2015 08:01:01 +0000 (09:01 +0100)]
nwrap: fix a copy and paste error in the destructor.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: Cleanup shadow getspnam() memory
Andreas Schneider [Thu, 19 Nov 2015 08:02:46 +0000 (09:02 +0100)]
nwrap: Cleanup shadow  getspnam() memory

Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
3 years agonwrap: fix leaking the entlists
Michael Adam [Thu, 19 Nov 2015 00:00:16 +0000 (01:00 +0100)]
nwrap: fix leaking the entlists

Track the list heads in a vector in the newrap_he_global
struct and free the structures upon nwrap_he_unload.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: catch error to add item to vector in nwrap_he_parse_line()
Michael Adam [Wed, 18 Nov 2015 23:34:54 +0000 (00:34 +0100)]
nwrap: catch error to add item to vector in nwrap_he_parse_line()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: rename nwrap_he.entdata to nwrap_he.entries
Michael Adam [Wed, 18 Nov 2015 23:30:17 +0000 (00:30 +0100)]
nwrap: rename nwrap_he.entdata to nwrap_he.entries

That's what is is the list of entries. In the guise
nwrap_entdata structures but the code reads more
naturally this way.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: remove unused member list from struct nwrap_he
Michael Adam [Wed, 18 Nov 2015 23:24:14 +0000 (00:24 +0100)]
nwrap: remove unused member list from struct nwrap_he

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: Small code shift in nwrap_ed_inventarize_add_to_existing()
Robin Hack [Mon, 16 Nov 2015 22:38:51 +0000 (23:38 +0100)]
nwrap: Small code shift in nwrap_ed_inventarize_add_to_existing()

Allocate memory only when necessary.

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agotests: Fix memory leaks in getaddrinfo test
Andreas Schneider [Mon, 16 Nov 2015 19:43:00 +0000 (20:43 +0100)]
tests: Fix memory leaks in getaddrinfo test

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: Cast max_hostents to avoid warnings
Andreas Schneider [Mon, 16 Nov 2015 09:19:27 +0000 (10:19 +0100)]
nwrap: Cast max_hostents to avoid warnings

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agonwrap: Fix initialization of e entry
Andreas Schneider [Mon, 16 Nov 2015 09:17:39 +0000 (10:17 +0100)]
nwrap: Fix initialization of e entry

This fixes a compiler warning.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agotests: Silence compiler warnings about uninitialized variables
Andreas Schneider [Mon, 16 Nov 2015 09:15:06 +0000 (10:15 +0100)]
tests: Silence compiler warnings about uninitialized variables

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agotests: Fix getaddrinfo test on BSD
Andreas Schneider [Mon, 16 Nov 2015 09:12:03 +0000 (10:12 +0100)]
tests: Fix getaddrinfo test on BSD

EAI_ADDRFAMILY is a GNU extension. EAI_FAMILY is the return value on
BSD.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
3 years agoadd me to AUTHORS
Michael Adam [Thu, 12 Nov 2015 10:55:49 +0000 (11:55 +0100)]
add me to AUTHORS

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agotests: Add test to exercise internal data structures
Robin Hack [Mon, 2 Nov 2015 12:48:47 +0000 (13:48 +0100)]
tests: Add test to exercise internal data structures

This uses a big hosts file from samba to avoid regressions in Samba.

Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agotest: add test for AI_NUMERICHOST flag.
Michael Adam [Thu, 12 Nov 2015 10:40:25 +0000 (11:40 +0100)]
test: add test for AI_NUMERICHOST flag.

Based on first cut at a test by Robin Hack.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: remove ai_tail argument from nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 09:20:37 +0000 (10:20 +0100)]
nwrap: remove ai_tail argument from nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: rewrite the loop for duplication ai entries if socktype not given
Michael Adam [Thu, 12 Nov 2015 10:35:07 +0000 (11:35 +0100)]
nwrap: rewrite the loop for duplication ai entries if socktype not given

This loop reads much more naturally now. It inserts the
duplicated entry right after the entrie that is being
duplicated. It does not need a ai_tail any more.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: add an explaining comment for the ai duplicating loop
Michael Adam [Thu, 12 Nov 2015 10:17:21 +0000 (11:17 +0100)]
nwrap: add an explaining comment for the ai duplicating loop

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: move setting of ai_{flags|socktype|protocol} into nwrap_convert_he_ai
Michael Adam [Thu, 12 Nov 2015 10:15:03 +0000 (11:15 +0100)]
nwrap: move setting of ai_{flags|socktype|protocol} into nwrap_convert_he_ai

This makes the code in nwrap_getaddrinfo() more readable
and also treats all ai stuctures in the linked list, not
just the first one!

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: use symbols IPPROTO_TCP and IPPROTO_UDP
Michael Adam [Thu, 12 Nov 2015 10:08:47 +0000 (11:08 +0100)]
nwrap: use symbols IPPROTO_TCP and IPPROTO_UDP

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: rename _ai -> ai_new in nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 08:47:59 +0000 (09:47 +0100)]
nwrap: rename _ai -> ai_new in nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: fix a memleak in nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 08:46:29 +0000 (09:46 +0100)]
nwrap: fix a memleak in nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: rename ai_prev -> ai_cur in nwrap_files_getaddrinfo()
Michael Adam [Thu, 12 Nov 2015 08:45:50 +0000 (09:45 +0100)]
nwrap: rename ai_prev -> ai_cur in nwrap_files_getaddrinfo()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: Fix inventarization of IPs when loading hosts
Michael Adam [Thu, 12 Nov 2015 07:34:39 +0000 (08:34 +0100)]
nwrap: Fix inventarization of IPs when loading hosts

Use nwrap_ed_inventarize() instead of nwrap_add_ai().

This not only removes code duplication, but also
more correctly adds more than one line for a given
IP address in a list behind this address.

The original code would only have inventarized
the first line for an IP found.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agonwrap: refactor nwrap_add_hname_* into one nwrap_ed_inventarize.
Michael Adam [Thu, 12 Nov 2015 07:29:57 +0000 (08:29 +0100)]
nwrap: refactor nwrap_add_hname_* into one nwrap_ed_inventarize.

This reduces code duplication and abstracts the logic out.
It was not special to hname or hname_alias.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>