nss_wrapper.git
4 years agoBump version to 1.1.10 nss_wrapper-1.1.10
Andreas Schneider [Thu, 19 Mar 2020 09:08:16 +0000 (10:08 +0100)]
Bump version to 1.1.10

The library version is set to 0.3.0 because gethostbyname2_r() is
provided now.

This wasn't exported due to a missing configure check for it.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agotests: Add tests for gethostbyname2_r, IPv4 and IPv6
Samuel Cabrero [Wed, 18 Mar 2020 12:19:28 +0000 (13:19 +0100)]
tests: Add tests for gethostbyname2_r, IPv4 and IPv6

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agonwrap: Account for ending NULL pointer when checking the buffer length
Samuel Cabrero [Wed, 18 Mar 2020 12:43:23 +0000 (13:43 +0100)]
nwrap: Account for ending NULL pointer when checking the buffer length

The hostent->h_addr_list ends with a NULL pointer, take it into account
when checking the provided buffer length.

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agonwrap: Forward ERANGE error to caller in gethostbyname[2]_r
Samuel Cabrero [Wed, 18 Mar 2020 12:18:49 +0000 (13:18 +0100)]
nwrap: Forward ERANGE error to caller in gethostbyname[2]_r

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agonwrap: Filter by family in gethostbyname2_r
Samuel Cabrero [Wed, 18 Mar 2020 12:18:17 +0000 (13:18 +0100)]
nwrap: Filter by family in gethostbyname2_r

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agotests: Check that gethostbyname_r() zeros return values
Andreas Schneider [Thu, 19 Mar 2020 08:53:30 +0000 (09:53 +0100)]
tests: Check that gethostbyname_r() zeros return values

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agonwrap: Check paramters and make sure return values are zeored
Andreas Schneider [Thu, 19 Mar 2020 08:16:24 +0000 (09:16 +0100)]
nwrap: Check paramters and make sure return values are zeored

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agonwrap: Zero the result in case we return with an error
Andreas Schneider [Thu, 19 Mar 2020 08:45:09 +0000 (09:45 +0100)]
nwrap: Zero the result in case we return with an error

This fixes a crash bug in OpenLDAP libraries which do not check the
return value of gethostbyname_r().

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agonwrap: Use SAFE_FREE() in nwrap_files_gethostbyname2_r()
Andreas Schneider [Thu, 19 Mar 2020 08:39:16 +0000 (09:39 +0100)]
nwrap: Use SAFE_FREE() in nwrap_files_gethostbyname2_r()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agonwrap: Use calloc() to allocate addr_list vector
Andreas Schneider [Tue, 17 Mar 2020 19:13:19 +0000 (20:13 +0100)]
nwrap: Use calloc() to allocate addr_list vector

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agonwrap: Add missing check for gethostbyname2_r()
Andreas Schneider [Tue, 17 Mar 2020 17:07:44 +0000 (18:07 +0100)]
nwrap: Add missing check for gethostbyname2_r()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agonwrap: Fix build if system doesn't provide gethostbyname2
Andreas Schneider [Mon, 16 Mar 2020 16:43:20 +0000 (17:43 +0100)]
nwrap: Fix build if system doesn't provide gethostbyname2

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@suse.de>
4 years agoBump version to 1.1.9 nss_wrapper-1.1.9
Andreas Schneider [Mon, 16 Mar 2020 15:55:57 +0000 (16:55 +0100)]
Bump version to 1.1.9

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agocmake: Make setting LIBRARY_VERSION easier
Andreas Schneider [Mon, 16 Mar 2020 15:55:38 +0000 (16:55 +0100)]
cmake: Make setting LIBRARY_VERSION easier

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agocmake: Add a link to the compile database for .clangd
Andreas Schneider [Mon, 16 Mar 2020 15:53:11 +0000 (16:53 +0100)]
cmake: Add a link to the compile database for .clangd

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agocmake: Add a dist target to create source tarball
Andreas Schneider [Mon, 16 Mar 2020 15:52:24 +0000 (16:52 +0100)]
cmake: Add a dist target to create source tarball

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agonwrap: Only warn if we can't find a symbol in an nss module
Andreas Schneider [Mon, 17 Feb 2020 11:44:26 +0000 (12:44 +0100)]
nwrap: Only warn if we can't find a symbol in an nss module

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agonwrap: Some code cleanup for nwrap_load_module_fn()
Andreas Schneider [Mon, 17 Feb 2020 10:56:38 +0000 (11:56 +0100)]
nwrap: Some code cleanup for nwrap_load_module_fn()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
4 years agoBump version to 1.1.8 nss_wrapper-1.1.8
Andreas Schneider [Mon, 17 Feb 2020 08:37:17 +0000 (09:37 +0100)]
Bump version to 1.1.8

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
4 years agoRename to CHANGELOG
Andreas Schneider [Mon, 17 Feb 2020 08:38:04 +0000 (09:38 +0100)]
Rename to CHANGELOG

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
4 years agonwrap: Fix memory leak on error in nwrap_module_gethostbyname2()
Andreas Schneider [Mon, 17 Feb 2020 08:49:54 +0000 (09:49 +0100)]
nwrap: Fix memory leak on error in nwrap_module_gethostbyname2()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
4 years agonwrap: Fix memory leak on error in nwrap_module_gethostbyname()
Andreas Schneider [Mon, 17 Feb 2020 08:48:44 +0000 (09:48 +0100)]
nwrap: Fix memory leak on error in nwrap_module_gethostbyname()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
4 years agonwrap: Fix memory leak on error in nwrap_module_gethostbyaddr()
Andreas Schneider [Mon, 17 Feb 2020 08:46:56 +0000 (09:46 +0100)]
nwrap: Fix memory leak on error in nwrap_module_gethostbyaddr()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
4 years agotests: Make sure that current_grp is initialized
Andreas Schneider [Mon, 17 Feb 2020 08:34:31 +0000 (09:34 +0100)]
tests: Make sure that current_grp is initialized

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
4 years agonwrap: Use size_t for iterations, can't be negative
Samuel Cabrero [Mon, 11 Nov 2019 17:31:17 +0000 (18:31 +0100)]
nwrap: Use size_t for iterations, can't be negative

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agonwrap: Try different backends for gethostbyname[2][_r]
Samuel Cabrero [Thu, 10 Oct 2019 16:12:08 +0000 (18:12 +0200)]
nwrap: Try different backends for gethostbyname[2][_r]

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agonwrap: Try different backends in gethostbyaddr
Samuel Cabrero [Thu, 10 Oct 2019 11:47:06 +0000 (13:47 +0200)]
nwrap: Try different backends in gethostbyaddr

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agopkgconfig: Fix path to library in nss_wrapper.pc
Andreas Schneider [Thu, 14 Nov 2019 09:35:27 +0000 (10:35 +0100)]
pkgconfig: Fix path to library in nss_wrapper.pc

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@samba.org
4 years agoBump version to 1.1.7
Andreas Schneider [Mon, 11 Nov 2019 14:46:08 +0000 (15:46 +0100)]
Bump version to 1.1.7

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agonwrap: Improve logging function
Andreas Schneider [Wed, 6 Nov 2019 17:33:59 +0000 (18:33 +0100)]
nwrap: Improve logging function

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agocmake: Check for getprogname() and getexecname()
Andreas Schneider [Wed, 6 Nov 2019 17:33:43 +0000 (18:33 +0100)]
cmake: Check for getprogname() and getexecname()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agonwrap: Always provide logging
Andreas Schneider [Wed, 6 Nov 2019 17:29:27 +0000 (18:29 +0100)]
nwrap: Always provide logging

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agocmake: Fix path to nss_wrapper library
Andreas Schneider [Wed, 6 Nov 2019 17:43:29 +0000 (18:43 +0100)]
cmake: Fix path to nss_wrapper library

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agoUpdate TODO
Andreas Schneider [Thu, 13 Jun 2019 15:09:15 +0000 (17:09 +0200)]
Update TODO

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agodoc: Add description for NSS_WRAPPER_DISABLE_DEEPBIND
Andreas Schneider [Tue, 21 May 2019 06:29:12 +0000 (08:29 +0200)]
doc: Add description for NSS_WRAPPER_DISABLE_DEEPBIND

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agonwrap: Add NSS_WRAPPER_DISABLE_DEEPBIND env variable
Andreas Schneider [Tue, 21 May 2019 06:30:53 +0000 (08:30 +0200)]
nwrap: Add NSS_WRAPPER_DISABLE_DEEPBIND env variable

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agoBump version to 1.1.6 nss_wrapper-1.1.6
Andreas Schneider [Fri, 17 May 2019 05:44:30 +0000 (07:44 +0200)]
Bump version to 1.1.6

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agocpack: Fix description and vendor
Andreas Schneider [Tue, 7 May 2019 09:58:49 +0000 (11:58 +0200)]
cpack: Fix description and vendor

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
5 years agogitlab-ci: Setup CI for nss_wrapper
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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
6 years 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>
6 years 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>
6 years 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>
6 years 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>
6 years 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>
6 years 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>
6 years 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>
7 years 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>
8 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>
8 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>
8 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>
8 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>