Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nss_wrapper for openSUSE:Factory 
checked in at 2024-07-08 19:06:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nss_wrapper (Old)
 and      /work/SRC/openSUSE:Factory/.nss_wrapper.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nss_wrapper"

Mon Jul  8 19:06:52 2024 rev:19 rq:1185771 version:1.1.16

Changes:
--------
--- /work/SRC/openSUSE:Factory/nss_wrapper/nss_wrapper.changes  2023-03-03 
22:25:04.546662292 +0100
+++ /work/SRC/openSUSE:Factory/.nss_wrapper.new.2080/nss_wrapper.changes        
2024-07-08 19:06:58.779930063 +0200
@@ -1,0 +2,11 @@
+Fri Jul  5 09:35:44 UTC 2024 - Andreas Schneider <[email protected]>
+
+- Update to version 1.1.16
+  * Fixed segfault on FreeBSD
+  * Fixed copy&paste error in the destructor
+  * Fixed thread sanitizer on modern Linux Kernels
+  * Fixed building with newer cmocka versions
+- Removed nss_wrapper-fix-cmocka-1.1.6+-support.patch
+- Update rpmlintrc
+
+-------------------------------------------------------------------

Old:
----
  nss_wrapper-1.1.15.tar.gz
  nss_wrapper-1.1.15.tar.gz.asc
  nss_wrapper-fix-cmocka-1.1.6+-support.patch

New:
----
  nss_wrapper-1.1.16.tar.gz
  nss_wrapper-1.1.16.tar.gz.asc

BETA DEBUG BEGIN:
  Old:  * Fixed building with newer cmocka versions
- Removed nss_wrapper-fix-cmocka-1.1.6+-support.patch
- Update rpmlintrc
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nss_wrapper.spec ++++++
--- /var/tmp/diff_new_pack.RPuDap/_old  2024-07-08 19:06:59.891970733 +0200
+++ /var/tmp/diff_new_pack.RPuDap/_new  2024-07-08 19:06:59.891970733 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package nss_wrapper
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -23,7 +23,7 @@
 #
 ############################# NOTE ##################################
 Name:           nss_wrapper
-Version:        1.1.15
+Version:        1.1.16
 Release:        0
 Summary:        A wrapper for the user, group and hosts NSS API
 License:        BSD-3-Clause
@@ -33,7 +33,6 @@
 Source1:        https://ftp.samba.org/pub/cwrap/%{name}-%{version}.tar.gz.asc
 Source2:        
https://cryptomilk.org/gpgkey-8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D.gpg#/%{name}.keyring
 Source3:        %{name}-rpmlintrc
-Patch0:         nss_wrapper-fix-cmocka-1.1.6+-support.patch
 BuildRequires:  cmake
 BuildRequires:  libcmocka-devel
 BuildRequires:  netcfg

++++++ nss_wrapper-1.1.15.tar.gz -> nss_wrapper-1.1.16.tar.gz ++++++
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/nss_nwrap.c.6CD8D6240BEF45A7.idx and 
new/nss_wrapper-1.1.16/.cache/clangd/index/nss_nwrap.c.6CD8D6240BEF45A7.idx 
differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/nss_utils.c.D245051A87648149.idx and 
new/nss_wrapper-1.1.16/.cache/clangd/index/nss_utils.c.D245051A87648149.idx 
differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/nss_utils.h.BFE4622C993130F2.idx and 
new/nss_wrapper-1.1.16/.cache/clangd/index/nss_utils.h.BFE4622C993130F2.idx 
differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/nss_wrapper.c.496306141B70693D.idx 
and 
new/nss_wrapper-1.1.16/.cache/clangd/index/nss_wrapper.c.496306141B70693D.idx 
differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_getaddrinfo.c.641BB471F444137A.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_getaddrinfo.c.641BB471F444137A.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_gethostby_name_addr.c.C9C460E7372D7C61.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_gethostby_name_addr.c.C9C460E7372D7C61.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_gethostent.c.FDE119456A174D8F.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_gethostent.c.FDE119456A174D8F.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_getnameinfo.c.779E41D17A149E05.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_getnameinfo.c.779E41D17A149E05.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_getnetent.c.130F78FDACE3893D.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_getnetent.c.130F78FDACE3893D.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_getpwuid_module.c.13413495523E694E.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_getpwuid_module.c.13413495523E694E.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_initgroups.c.96654DF285FBEEBF.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_initgroups.c.96654DF285FBEEBF.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_nwrap_disabled.c.59E63F9B2D58E517.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_nwrap_disabled.c.59E63F9B2D58E517.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_nwrap_vector.c.6DA36926E43E358A.idx
 and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_nwrap_vector.c.6DA36926E43E358A.idx
 differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/test_shadow.c.85DFA55943F2551B.idx 
and 
new/nss_wrapper-1.1.16/.cache/clangd/index/test_shadow.c.85DFA55943F2551B.idx 
differ
Binary files 
old/nss_wrapper-1.1.15/.cache/clangd/index/testsuite.c.AF64C06B860D31A7.idx and 
new/nss_wrapper-1.1.16/.cache/clangd/index/testsuite.c.AF64C06B860D31A7.idx 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/.gitlab-ci.yml 
new/nss_wrapper-1.1.16/.gitlab-ci.yml
--- old/nss_wrapper-1.1.15/.gitlab-ci.yml       2022-11-09 07:45:15.000000000 
+0100
+++ new/nss_wrapper-1.1.16/.gitlab-ci.yml       2024-07-05 07:59:29.000000000 
+0200
@@ -21,8 +21,6 @@
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
       make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -40,8 +38,6 @@
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
       make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -59,8 +55,6 @@
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
       make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -77,8 +71,6 @@
       -DCMAKE_BUILD_TYPE=UndefinedSanitizer
       -DUNIT_TESTING=ON ..
       && make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -91,14 +83,15 @@
   stage: analysis
   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
   script:
+    # Workaround for TSAN with ASLR on newer kernel
+    # https://github.com/google/sanitizers/issues/1716
     - export TSAN_OPTIONS=second_deadlock_stack=1
     - mkdir -p obj && cd obj && cmake
       -DCMAKE_BUILD_TYPE=ThreadSanitizer
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
-      make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
+      make -j$(nproc) &&
+      setarch --addr-no-randomize -- ctest --output-on-failure
   except:
     - tags
   artifacts:
@@ -129,8 +122,6 @@
       --git-commit-range $CI_COMMIT_RANGE
       --color
       --print-current --print-fixed
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -170,8 +161,6 @@
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
       make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -190,8 +179,6 @@
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
       make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -210,8 +197,6 @@
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
       make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -232,8 +217,6 @@
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. &&
       scan-build --status-bugs -o scan make -j$(nproc)
-  tags:
-    - shared
   except:
     - tags
   artifacts:
@@ -250,8 +233,6 @@
       -DCMAKE_BUILD_TYPE=RelWithDebInfo
       -DPICKY_DEVELOPER=ON
       -DUNIT_TESTING=ON .. && make -j$(nproc) && ctest --output-on-failure
-  tags:
-    - shared
   except:
     - tags
   artifacts:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/0001-Bump-version-to-1.1.15.patch 
new/nss_wrapper-1.1.16/0001-Bump-version-to-1.1.15.patch
--- old/nss_wrapper-1.1.15/0001-Bump-version-to-1.1.15.patch    1970-01-01 
01:00:00.000000000 +0100
+++ new/nss_wrapper-1.1.16/0001-Bump-version-to-1.1.15.patch    2023-02-17 
17:57:05.000000000 +0100
@@ -0,0 +1,46 @@
+From db887c00d35b1504abe72a30fe386111e9a25ed2 Mon Sep 17 00:00:00 2001
+From: Andreas Schneider <[email protected]>
+Date: Wed, 25 Jan 2023 12:43:23 +0100
+Subject: [PATCH 1/2] Bump version to 1.1.15
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Andreas Schneider <[email protected]>
+Reviewed-by: Pavel Filipenský <[email protected]>
+---
+ CHANGELOG      | 4 ++++
+ CMakeLists.txt | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/CHANGELOG b/CHANGELOG
+index aed76b3..2cd0423 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -1,6 +1,10 @@
+ ChangeLog
+ ==========
+ 
++version 1.1.15 (released 2023-01-25)
++  * Fixed linking issue in tests
++  * Fixed a memory leak in tests
++
+ version 1.1.14 (released 2023-01-25)
+   * Fixed implementation of initgroups()
+   * Fixed implementation of getgrouplist()
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bd3b663..2f7c91a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,7 +11,7 @@ list(APPEND CMAKE_MODULE_PATH 
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
+ include(DefineCMakeDefaults)
+ include(DefineCompilerFlags)
+ 
+-project(nss_wrapper VERSION 1.1.14 LANGUAGES C)
++project(nss_wrapper VERSION 1.1.15 LANGUAGES C)
+ 
+ # global needed variables
+ set(APPLICATION_NAME ${PROJECT_NAME})
+-- 
+2.39.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nss_wrapper-1.1.15/0001-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
 
new/nss_wrapper-1.1.16/0001-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
--- 
old/nss_wrapper-1.1.15/0001-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/nss_wrapper-1.1.16/0001-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
        2023-02-17 17:57:07.000000000 +0100
@@ -0,0 +1,27 @@
+From 869ba407ce60d9f2d233b619acf95f90f515509b Mon Sep 17 00:00:00 2001
+From: Andreas Schneider <[email protected]>
+Date: Fri, 17 Feb 2023 17:51:27 +0100
+Subject: [PATCH] cmake: Fix cmocka >= 1.1.6 find_package() in CONFIG mode
+
+Signed-off-by: Andreas Schneider <[email protected]>
+---
+ tests/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 3b94076..733cc4e 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,5 +1,9 @@
+ project(tests C)
+ 
++if (TARGET cmocka::cmocka)
++    set(CMOCKA_LIBRARY cmocka::cmocka)
++endif()
++
+ set(TESTSUITE_LIBRARIES nss_utils ${NWRAP_REQUIRED_LIBRARIES} 
${CMOCKA_LIBRARY})
+ string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
+ 
+-- 
+2.39.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nss_wrapper-1.1.15/0002-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
 
new/nss_wrapper-1.1.16/0002-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
--- 
old/nss_wrapper-1.1.15/0002-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/nss_wrapper-1.1.16/0002-cmake-Fix-cmocka-1.1.6-find_package-in-CONFIG-mode.patch
        2023-02-17 17:57:05.000000000 +0100
@@ -0,0 +1,27 @@
+From 869ba407ce60d9f2d233b619acf95f90f515509b Mon Sep 17 00:00:00 2001
+From: Andreas Schneider <[email protected]>
+Date: Fri, 17 Feb 2023 17:51:27 +0100
+Subject: [PATCH 2/2] cmake: Fix cmocka >= 1.1.6 find_package() in CONFIG mode
+
+Signed-off-by: Andreas Schneider <[email protected]>
+---
+ tests/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 3b94076..733cc4e 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,5 +1,9 @@
+ project(tests C)
+ 
++if (TARGET cmocka::cmocka)
++    set(CMOCKA_LIBRARY cmocka::cmocka)
++endif()
++
+ set(TESTSUITE_LIBRARIES nss_utils ${NWRAP_REQUIRED_LIBRARIES} 
${CMOCKA_LIBRARY})
+ string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
+ 
+-- 
+2.39.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/17.patch 
new/nss_wrapper-1.1.16/17.patch
--- old/nss_wrapper-1.1.15/17.patch     1970-01-01 01:00:00.000000000 +0100
+++ new/nss_wrapper-1.1.16/17.patch     2023-08-09 11:53:07.000000000 +0200
@@ -0,0 +1,51 @@
+From dbfc9e2c2f53041e10b470ed29cab9af784ae00b Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <[email protected]>
+Date: Thu, 10 Nov 2022 18:38:17 +0000
+Subject: [PATCH] Avoid dclose(RTLD_NEXT)
+
+In case the libc was not found and RTLD_NEXT is used instead, we should not
+dlclose it, otherwise mayhem happens.
+
+Signed-off-by: Samuel Thibault <[email protected]>
+
+https://bugzilla.samba.org/show_bug.cgi?id=15228
+---
+ src/nss_wrapper.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/src/nss_wrapper.c b/src/nss_wrapper.c
+index 07c9757..b95afdf 100644
+--- a/src/nss_wrapper.c
++++ b/src/nss_wrapper.c
+@@ -6499,13 +6499,25 @@ void nwrap_destructor(void)
+ 
+               /* libc */
+               if (m->libc != NULL) {
+-                      if (m->libc->handle != NULL) {
++                      if (m->libc->handle != NULL
++#ifdef RTLD_NEXT
++                              && m->libc->handle != RTLD_NEXT
++#endif
++                                      ) {
+                               dlclose(m->libc->handle);
+                       }
+-                      if (m->libc->nsl_handle != NULL) {
++                      if (m->libc->nsl_handle != NULL
++#ifdef RTLD_NEXT
++                              && m->libc->nsl_handle != RTLD_NEXT
++#endif
++                                      ) {
+                               dlclose(m->libc->nsl_handle);
+                       }
+-                      if (m->libc->sock_handle != NULL) {
++                      if (m->libc->sock_handle != NULL
++#ifdef RTLD_NEXT
++                              && m->libc->sock_handle != RTLD_NEXT
++#endif
++                                      ) {
+                               dlclose(m->libc->sock_handle);
+                       }
+                       SAFE_FREE(m->libc);
+-- 
+GitLab
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/CHANGELOG 
new/nss_wrapper-1.1.16/CHANGELOG
--- old/nss_wrapper-1.1.15/CHANGELOG    2023-01-25 16:41:17.000000000 +0100
+++ new/nss_wrapper-1.1.16/CHANGELOG    2024-07-05 10:31:14.000000000 +0200
@@ -1,6 +1,12 @@
 ChangeLog
 ==========
 
+version 1.1.16 (released 2024-07-05)
+  * Fixed segfault on FreeBSD
+  * Fixed copy&paste error in the destructor
+  * Fixed thread sanitizer on modern Linux Kernels
+  * Fixed building with newer cmocka versions
+
 version 1.1.15 (released 2023-01-25)
   * Fixed linking issue in tests
   * Fixed a memory leak in tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/CMakeLists.txt 
new/nss_wrapper-1.1.16/CMakeLists.txt
--- old/nss_wrapper-1.1.15/CMakeLists.txt       2023-01-25 16:41:17.000000000 
+0100
+++ new/nss_wrapper-1.1.16/CMakeLists.txt       2024-07-05 10:31:14.000000000 
+0200
@@ -11,7 +11,7 @@
 include(DefineCMakeDefaults)
 include(DefineCompilerFlags)
 
-project(nss_wrapper VERSION 1.1.15 LANGUAGES C)
+project(nss_wrapper VERSION 1.1.16 LANGUAGES C)
 
 # global needed variables
 set(APPLICATION_NAME ${PROJECT_NAME})
@@ -25,7 +25,7 @@
 #     Increment PATCH.
 set(LIBRARY_VERSION_MAJOR 0)
 set(LIBRARY_VERSION_MINOR 3)
-set(LIBRARY_VERSION_PATCH 4)
+set(LIBRARY_VERSION_PATCH 5)
 set(LIBRARY_VERSION 
"${LIBRARY_VERSION_MAJOR}.${LIBRARY_VERSION_MINOR}.${LIBRARY_VERSION_PATCH}")
 set(LIBRARY_SOVERSION ${LIBRARY_VERSION_MAJOR})
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/ConfigureChecks.cmake 
new/nss_wrapper-1.1.16/ConfigureChecks.cmake
--- old/nss_wrapper-1.1.15/ConfigureChecks.cmake        2021-11-08 
15:14:51.000000000 +0100
+++ new/nss_wrapper-1.1.16/ConfigureChecks.cmake        2024-07-05 
07:53:08.000000000 +0200
@@ -54,6 +54,7 @@
 check_include_file(grp.h HAVE_GRP_H)
 check_include_file(nss.h HAVE_NSS_H)
 check_include_file(nss_common.h HAVE_NSS_COMMON_H)
+check_include_file(gnu/lib-names.h HAVE_GNU_LIB_NAMES_H)
 
 # FUNCTIONS
 check_function_exists(strncpy HAVE_STRNCPY)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/config.h.cmake 
new/nss_wrapper-1.1.16/config.h.cmake
--- old/nss_wrapper-1.1.15/config.h.cmake       2021-11-08 15:14:51.000000000 
+0100
+++ new/nss_wrapper-1.1.16/config.h.cmake       2024-07-05 07:53:08.000000000 
+0200
@@ -20,6 +20,7 @@
 #cmakedefine HAVE_GRP_H 1
 #cmakedefine HAVE_NSS_H 1
 #cmakedefine HAVE_NSS_COMMON_H 1
+#cmakedefine HAVE_GNU_LIB_NAMES_H 1
 
 /*************************** FUNCTIONS ***************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/doc/README 
new/nss_wrapper-1.1.16/doc/README
--- old/nss_wrapper-1.1.15/doc/README   2014-10-09 09:14:36.000000000 +0200
+++ new/nss_wrapper-1.1.16/doc/README   2024-07-05 10:31:14.000000000 +0200
@@ -1,3 +1,7 @@
 The manpage is written with asciidoc. To generate the manpage use:
 
-a2x --doctype manpage --format manpage doc/nss_wrapper.1.txt
+    asciidoctor -b manpage doc/nss_wrapper.1.adoc
+
+or
+
+    a2x --doctype manpage --format manpage doc/nss_wrapper.1.adoc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/doc/nss_wrapper.1 
new/nss_wrapper-1.1.16/doc/nss_wrapper.1
--- old/nss_wrapper-1.1.15/doc/nss_wrapper.1    2020-03-17 18:23:40.000000000 
+0100
+++ new/nss_wrapper-1.1.16/doc/nss_wrapper.1    2024-07-05 10:31:14.000000000 
+0200
@@ -1,52 +1,60 @@
 '\" t
 .\"     Title: nss_wrapper
 .\"    Author: Samba Team
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 2019-05-21
+.\" Generator: Asciidoctor 2.0.23
+.\"      Date: 2024-07-05
 .\"    Manual: \ \&
 .\"    Source: \ \&
 .\"  Language: English
 .\"
-.TH "NSS_WRAPPER" "1" "2019\-05\-21" "\ \&" "\ \&"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.TH "NSS_WRAPPER" "1" "2024-07-05" "\ \&" "\ \&"
 .ie \n(.g .ds Aq \(aq
 .el       .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
+.ss \n[.ss] 0
 .nh
-.\" disable justification (adjust text to left margin only)
 .ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
+.de URL
+\fI\\$2\fP <\\$1>\\$3
+..
+.als MTO URL
+.if \n[.g] \{\
+.  mso www.tmac
+.  am URL
+.    ad l
+.  .
+.  am MTO
+.    ad l
+.  .
+.  LINKSTYLE blue R < >
+.\}
 .SH "NAME"
 nss_wrapper \- A wrapper for the user, group and hosts NSS API
 .SH "SYNOPSIS"
 .sp
-LD_PRELOAD=libnss_wrapper\&.so NSS_WRAPPER_PASSWD=/path/to/passwd 
NSS_WRAPPER_GROUP=/path/to/group NSS_WRAPPER_HOSTS=/path/to/host 
\fB\&./myapplication\fR
+LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_PASSWD=/path/to/passwd 
NSS_WRAPPER_GROUP=/path/to/group NSS_WRAPPER_HOSTS=/path/to/host 
\fB./myapplication\fP
 .SH "DESCRIPTION"
 .sp
-There are projects which provide daemons needing to be able to create, modify 
and delete Unix users\&. Or just switch user ids to interact with the system 
e\&.g\&. a user space file server\&. To be able to test that you need the 
privilege to modify the passwd and groups file\&. With nss_wrapper it is 
possible to define your own passwd and groups file which will be used by 
software to act correctly while under test\&.
+There are projects which provide daemons needing to be able to create, modify
+and delete Unix users. Or just switch user ids to interact with the system e.g.
+a user space file server. To be able to test that you need the privilege to
+modify the passwd and groups file. With nss_wrapper it is possible to define
+your own passwd and groups file which will be used by software to act correctly
+while under test.
 .sp
-If you have a client and server under test they normally use functions to 
resolve network names to addresses (dns) or vice versa\&. The nss_wrappers 
allow you to create a hosts file to setup name resolution for the addresses you 
use with socket_wrapper\&.
+If you have a client and server under test they normally use functions to
+resolve network names to addresses (dns) or vice versa. The nss_wrappers allow
+you to create a hosts file to setup name resolution for the addresses you use
+with socket_wrapper.
 .sp
 .RS 4
 .ie n \{\
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
-.sp -1
-.IP \(bu 2.3
+.  sp -1
+.  IP \(bu 2.3
 .\}
-Provides information for user and group accounts\&.
+Provides information for user and group accounts.
 .RE
 .sp
 .RS 4
@@ -54,10 +62,10 @@
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
-.sp -1
-.IP \(bu 2.3
+.  sp -1
+.  IP \(bu 2.3
 .\}
-Network name resolution using a hosts file\&.
+Network name resolution using a hosts file.
 .RE
 .sp
 .RS 4
@@ -65,66 +73,85 @@
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
-.sp -1
-.IP \(bu 2.3
+.  sp -1
+.  IP \(bu 2.3
 .\}
-Loading and testing of NSS modules\&.
+Loading and testing of NSS modules.
 .RE
 .SH "LIMITATIONS"
 .sp
-Some calls in nss_wrapper will only work if uid_wrapper is loaded and 
active\&. One of this functions is initgroups() which needs to run setgroups() 
to set the groups for the user\&. setgroups() is wrapped by uid_wrapper\&.
+Some calls in nss_wrapper will only work if uid_wrapper is loaded and active.
+One of this functions is initgroups() which needs to run setgroups() to set
+the groups for the user. setgroups() is wrapped by uid_wrapper.
 .SH "ENVIRONMENT VARIABLES"
-.PP
-\fBNSS_WRAPPER_PASSWD\fR, \fBNSS_WRAPPER_GROUP\fR
+.sp
+\fBNSS_WRAPPER_PASSWD\fP, \fBNSS_WRAPPER_GROUP\fP
 .RS 4
-For user and group accounts you need to create two files:
-\fIpasswd\fR
-and
-\fIgroup\fR\&. The format of the passwd file is described in
-\fIman 5 passwd\fR
-and the group file in
-\fIman 5 group\fR\&. So you can fill these files with made up accounts\&. You 
point nss_wrapper to them using the two variables 
NSS_WRAPPER_PASSWD=/path/to/your/passwd and 
NSS_WRAPPER_GROUP=/path/to/your/group\&.
+For user and group accounts you need to create two files: \fIpasswd\fP and 
\fIgroup\fP.
+The format of the passwd file we support is:
 .RE
-.PP
-\fBNSS_WRAPPER_HOSTS\fR
+.sp
+name:password:UID:GID:GECOS:directory:shell
+.sp
+The format of the group file we support is:
+.sp
+group_name:password:GID:user_list
+.sp
+They are also described in \fIman passwd.5\fP and \fIman group.5\fP on Linux. 
You can
+fill these files with made up accounts. You point
+nss_wrapper to them using the two variables
+NSS_WRAPPER_PASSWD=/path/to/your/passwd and
+NSS_WRAPPER_GROUP=/path/to/your/group.
+.sp
+\fBNSS_WRAPPER_HOSTS\fP
 .RS 4
-If you also need to emulate network name resolution in your enviornment, 
especially with socket_wrapper, you can write a hosts file\&. The format is 
described in
-\fIman 5 hosts\fR\&. Then you can point nss_wrapper to your hosts file using: 
NSS_WRAPPER_HOSTS=/path/to/your/hosts
+If you also need to emulate network name resolution in your environment,
+especially with socket_wrapper, you can write a hosts file. The format is
+described in \fIman 5 hosts\fP. Then you can point nss_wrapper to your hosts
+file using: NSS_WRAPPER_HOSTS=/path/to/your/hosts
 .RE
-.PP
-\fBNSS_WRAPPER_HOSTNAME\fR
+.sp
+\fBNSS_WRAPPER_HOSTNAME\fP
 .RS 4
-If you need to return a hostname which is different from the one of your 
machine is using you can use: NSS_WRAPPER_HOSTNAME=test\&.example\&.org
+If you need to return a hostname which is different from the one of your
+machine is using you can use: NSS_WRAPPER_HOSTNAME=test.example.org
 .RE
-.PP
-\fBNSS_WRAPPER_MODULE_SO_PATH\fR, \fBNSS_WRAPPER_MODULE_FN_PREFIX\fR
+.sp
+\fBNSS_WRAPPER_MODULE_SO_PATH\fP, \fBNSS_WRAPPER_MODULE_FN_PREFIX\fP
 .RS 4
-If you have a project which also provides user and group information out of a 
database, you normally write your own nss modules\&. nss_wrapper is able to 
load nss modules and ask them first before looking into the faked passwd and 
group file\&. To point nss_wrapper to the module you can do that using 
NSS_WRAPPER_MODULE_SO_PATH=/path/to/libnss_yourmodule\&.so\&. As each nss 
module has a special prefix like _nss_winbind_getpwnam() you need to set the 
prefix too so nss_wrapper can load the functions with 
NSS_WRAPPER_MODULE_FN_PREFIX=<prefix>\&.
+If you have a project which also provides user and group information out of a
+database, you normally write your own nss modules. nss_wrapper is able to load
+nss modules and ask them first before looking into the faked passwd and group
+file. To point nss_wrapper to the module you can do that using
+NSS_WRAPPER_MODULE_SO_PATH=/path/to/libnss_yourmodule.so. As each nss module
+has a special prefix like _nss_winbind_getpwnam() you need to set the prefix
+too so nss_wrapper can load the functions with
+NSS_WRAPPER_MODULE_FN_PREFIX=<prefix>.
 .RE
 .sp
 For _nss_winbind_getpwnam() this would be:
 .sp
-.if n \{\
-.RS 4
-.\}
+.if n .RS 4
 .nf
+.fam C
 NSS_WRAPPER_MODULE_FN_PREFIX=winbind
+.fam
 .fi
-.if n \{\
-.RE
-.\}
-.PP
-\fBNSS_WRAPPER_DEBUGLEVEL\fR
+.if n .RE
+.sp
+\fBNSS_WRAPPER_DEBUGLEVEL\fP
 .RS 4
-If you need to see what is going on in nss_wrapper itself or try to find a 
bug, you can enable logging support in nss_wrapper if you built it with debug 
symbols\&.
+If you need to see what is going on in nss_wrapper itself or try to find a
+bug, you can enable logging support in nss_wrapper if you built it with
+debug symbols.
 .sp
 .RS 4
 .ie n \{\
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
-.sp -1
-.IP \(bu 2.3
+.  sp -1
+.  IP \(bu 2.3
 .\}
 0 = ERROR
 .RE
@@ -134,8 +161,8 @@
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
-.sp -1
-.IP \(bu 2.3
+.  sp -1
+.  IP \(bu 2.3
 .\}
 1 = WARNING
 .RE
@@ -145,8 +172,8 @@
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
-.sp -1
-.IP \(bu 2.3
+.  sp -1
+.  IP \(bu 2.3
 .\}
 2 = DEBUG
 .RE
@@ -156,39 +183,35 @@
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
-.sp -1
-.IP \(bu 2.3
+.  sp -1
+.  IP \(bu 2.3
 .\}
 3 = TRACE
 .RE
 .RE
-.PP
-\fBNSS_WRAPPER_DISABLE_DEEPBIND\fR
+.sp
+\fBNSS_WRAPPER_DISABLE_DEEPBIND\fP
 .RS 4
-This allows you to disable deep binding in nss_wrapper\&. This is useful for 
running valgrind tools or sanitizers like (address, undefined, thread)\&.
+This allows you to disable deep binding in nss_wrapper. This is useful for
+running valgrind tools or sanitizers like (address, undefined, thread).
 .RE
 .SH "EXAMPLE"
 .sp
-.if n \{\
-.RS 4
-.\}
+.if n .RS 4
 .nf
+.fam C
 $ echo "bob:x:1000:1000:bob gecos:/home/test/bob:/bin/false" > passwd
 $ echo "root:x:65534:65532:root gecos:/home/test/root:/bin/false" >> passwd
 $ echo "users:x:1000:" > group
 $ echo "root:x:65532:" >> group
-$ LD_PRELOAD=libnss_wrapper\&.so NSS_WRAPPER_PASSWD=passwd \e
+$ LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_PASSWD=passwd \(rs
   NSS_WRAPPER_GROUP=group getent passwd bob
 bob:x:1000:1000:bob gecos:/home/test/bob:/bin/false
-$ LD_PRELOAD=libnss_wrapper\&.so NSS_WRAPPER_HOSTNAME=test\&.example\&.org 
hostname
-test\&.example\&.org
+$ LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_HOSTNAME=test.example.org hostname
+test.example.org
+.fam
 .fi
-.if n \{\
-.RE
-.\}
+.if n .RE
 .SH "AUTHOR"
-.PP
-\fBSamba Team\fR
-.RS 4
-Author.
-.RE
+.sp
+Samba Team
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/doc/nss_wrapper.1.adoc 
new/nss_wrapper-1.1.16/doc/nss_wrapper.1.adoc
--- old/nss_wrapper-1.1.15/doc/nss_wrapper.1.adoc       1970-01-01 
01:00:00.000000000 +0100
+++ new/nss_wrapper-1.1.16/doc/nss_wrapper.1.adoc       2024-07-05 
10:31:14.000000000 +0200
@@ -0,0 +1,118 @@
+nss_wrapper(1)
+==============
+:revdate: 2019-05-21
+:author: Samba Team
+
+NAME
+----
+
+nss_wrapper - A wrapper for the user, group and hosts NSS API
+
+SYNOPSIS
+--------
+
+LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_PASSWD=/path/to/passwd 
NSS_WRAPPER_GROUP=/path/to/group NSS_WRAPPER_HOSTS=/path/to/host 
*./myapplication*
+
+DESCRIPTION
+-----------
+
+There are projects which provide daemons needing to be able to create, modify
+and delete Unix users. Or just switch user ids to interact with the system e.g.
+a user space file server. To be able to test that you need the privilege to
+modify the passwd and groups file. With nss_wrapper it is possible to define
+your own passwd and groups file which will be used by software to act correctly
+while under test.
+
+If you have a client and server under test they normally use functions to
+resolve network names to addresses (dns) or vice versa. The nss_wrappers allow
+you to create a hosts file to setup name resolution for the addresses you use
+with socket_wrapper.
+
+- Provides information for user and group accounts.
+- Network name resolution using a hosts file.
+- Loading and testing of NSS modules.
+
+LIMITATIONS
+-----------
+
+Some calls in nss_wrapper will only work if uid_wrapper is loaded and active.
+One of this functions is initgroups() which needs to run setgroups() to set
+the groups for the user. setgroups() is wrapped by uid_wrapper.
+
+ENVIRONMENT VARIABLES
+---------------------
+
+*NSS_WRAPPER_PASSWD*::
+*NSS_WRAPPER_GROUP*::
+
+For user and group accounts you need to create two files: 'passwd' and 'group'.
+The format of the passwd file we support is:
+
+name:password:UID:GID:GECOS:directory:shell
+
+The format of the group file we support is:
+
+group_name:password:GID:user_list
+
+They are also described in 'man passwd.5' and 'man group.5' on Linux. You can
+fill these files with made up accounts. You point
+nss_wrapper to them using the two variables
+NSS_WRAPPER_PASSWD=/path/to/your/passwd and
+NSS_WRAPPER_GROUP=/path/to/your/group.
+
+*NSS_WRAPPER_HOSTS*::
+
+If you also need to emulate network name resolution in your environment,
+especially with socket_wrapper, you can write a hosts file. The format is
+described in 'man 5 hosts'. Then you can point nss_wrapper to your hosts
+file using: NSS_WRAPPER_HOSTS=/path/to/your/hosts
+
+*NSS_WRAPPER_HOSTNAME*::
+
+If you need to return a hostname which is different from the one of your
+machine is using you can use: NSS_WRAPPER_HOSTNAME=test.example.org
+
+*NSS_WRAPPER_MODULE_SO_PATH*::
+*NSS_WRAPPER_MODULE_FN_PREFIX*::
+
+If you have a project which also provides user and group information out of a
+database, you normally write your own nss modules. nss_wrapper is able to load
+nss modules and ask them first before looking into the faked passwd and group
+file. To point nss_wrapper to the module you can do that using
+NSS_WRAPPER_MODULE_SO_PATH=/path/to/libnss_yourmodule.so. As each nss module
+has a special prefix like _nss_winbind_getpwnam() you need to set the prefix
+too so nss_wrapper can load the functions with
+NSS_WRAPPER_MODULE_FN_PREFIX=<prefix>.
+
+For _nss_winbind_getpwnam() this would be:
+
+  NSS_WRAPPER_MODULE_FN_PREFIX=winbind
+
+*NSS_WRAPPER_DEBUGLEVEL*::
+
+If you need to see what is going on in nss_wrapper itself or try to find a
+bug, you can enable logging support in nss_wrapper if you built it with
+debug symbols.
+
+- 0 = ERROR
+- 1 = WARNING
+- 2 = DEBUG
+- 3 = TRACE
+
+*NSS_WRAPPER_DISABLE_DEEPBIND*::
+
+This allows you to disable deep binding in nss_wrapper. This is useful for
+running valgrind tools or sanitizers like (address, undefined, thread).
+
+EXAMPLE
+-------
+
+  $ echo "bob:x:1000:1000:bob gecos:/home/test/bob:/bin/false" > passwd
+  $ echo "root:x:65534:65532:root gecos:/home/test/root:/bin/false" >> passwd
+  $ echo "users:x:1000:" > group
+  $ echo "root:x:65532:" >> group
+  $ LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_PASSWD=passwd \
+    NSS_WRAPPER_GROUP=group getent passwd bob
+  bob:x:1000:1000:bob gecos:/home/test/bob:/bin/false
+  $ LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_HOSTNAME=test.example.org hostname
+  test.example.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/doc/nss_wrapper.1.txt 
new/nss_wrapper-1.1.16/doc/nss_wrapper.1.txt
--- old/nss_wrapper-1.1.15/doc/nss_wrapper.1.txt        2020-03-17 
18:23:40.000000000 +0100
+++ new/nss_wrapper-1.1.16/doc/nss_wrapper.1.txt        1970-01-01 
01:00:00.000000000 +0100
@@ -1,110 +0,0 @@
-nss_wrapper(1)
-==============
-:revdate: 2019-05-21
-:author: Samba Team
-
-NAME
-----
-
-nss_wrapper - A wrapper for the user, group and hosts NSS API
-
-SYNOPSIS
---------
-
-LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_PASSWD=/path/to/passwd 
NSS_WRAPPER_GROUP=/path/to/group NSS_WRAPPER_HOSTS=/path/to/host 
*./myapplication*
-
-DESCRIPTION
------------
-
-There are projects which provide daemons needing to be able to create, modify
-and delete Unix users. Or just switch user ids to interact with the system e.g.
-a user space file server. To be able to test that you need the privilege to
-modify the passwd and groups file. With nss_wrapper it is possible to define
-your own passwd and groups file which will be used by software to act correctly
-while under test.
-
-If you have a client and server under test they normally use functions to
-resolve network names to addresses (dns) or vice versa. The nss_wrappers allow
-you to create a hosts file to setup name resolution for the addresses you use
-with socket_wrapper.
-
-- Provides information for user and group accounts.
-- Network name resolution using a hosts file.
-- Loading and testing of NSS modules.
-
-LIMITATIONS
------------
-
-Some calls in nss_wrapper will only work if uid_wrapper is loaded and active.
-One of this functions is initgroups() which needs to run setgroups() to set
-the groups for the user. setgroups() is wrapped by uid_wrapper.
-
-ENVIRONMENT VARIABLES
----------------------
-
-*NSS_WRAPPER_PASSWD*::
-*NSS_WRAPPER_GROUP*::
-
-For user and group accounts you need to create two files: 'passwd' and 'group'.
-The format of the passwd file is described in 'man 5 passwd' and the group file
-in 'man 5 group'. So you can fill these files with made up accounts. You point
-nss_wrapper to them using the two variables
-NSS_WRAPPER_PASSWD=/path/to/your/passwd and
-NSS_WRAPPER_GROUP=/path/to/your/group.
-
-*NSS_WRAPPER_HOSTS*::
-
-If you also need to emulate network name resolution in your enviornment,
-especially with socket_wrapper, you can write a hosts file. The format is
-described in 'man 5 hosts'. Then you can point nss_wrapper to your hosts
-file using: NSS_WRAPPER_HOSTS=/path/to/your/hosts
-
-*NSS_WRAPPER_HOSTNAME*::
-
-If you need to return a hostname which is different from the one of your
-machine is using you can use: NSS_WRAPPER_HOSTNAME=test.example.org
-
-*NSS_WRAPPER_MODULE_SO_PATH*::
-*NSS_WRAPPER_MODULE_FN_PREFIX*::
-
-If you have a project which also provides user and group information out of a
-database, you normally write your own nss modules. nss_wrapper is able to load
-nss modules and ask them first before looking into the faked passwd and group
-file. To point nss_wrapper to the module you can do that using
-NSS_WRAPPER_MODULE_SO_PATH=/path/to/libnss_yourmodule.so. As each nss module
-has a special prefix like _nss_winbind_getpwnam() you need to set the prefix
-too so nss_wrapper can load the functions with
-NSS_WRAPPER_MODULE_FN_PREFIX=<prefix>.
-
-For _nss_winbind_getpwnam() this would be:
-
-  NSS_WRAPPER_MODULE_FN_PREFIX=winbind
-
-*NSS_WRAPPER_DEBUGLEVEL*::
-
-If you need to see what is going on in nss_wrapper itself or try to find a
-bug, you can enable logging support in nss_wrapper if you built it with
-debug symbols.
-
-- 0 = ERROR
-- 1 = WARNING
-- 2 = DEBUG
-- 3 = TRACE
-
-*NSS_WRAPPER_DISABLE_DEEPBIND*::
-
-This allows you to disable deep binding in nss_wrapper. This is useful for
-running valgrind tools or sanitizers like (address, undefined, thread).
-
-EXAMPLE
--------
-
-  $ echo "bob:x:1000:1000:bob gecos:/home/test/bob:/bin/false" > passwd
-  $ echo "root:x:65534:65532:root gecos:/home/test/root:/bin/false" >> passwd
-  $ echo "users:x:1000:" > group
-  $ echo "root:x:65532:" >> group
-  $ LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_PASSWD=passwd \
-    NSS_WRAPPER_GROUP=group getent passwd bob
-  bob:x:1000:1000:bob gecos:/home/test/bob:/bin/false
-  $ LD_PRELOAD=libnss_wrapper.so NSS_WRAPPER_HOSTNAME=test.example.org hostname
-  test.example.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/src/nss_wrapper.c 
new/nss_wrapper-1.1.16/src/nss_wrapper.c
--- old/nss_wrapper-1.1.15/src/nss_wrapper.c    2023-01-25 12:09:01.000000000 
+0100
+++ new/nss_wrapper-1.1.16/src/nss_wrapper.c    2024-07-05 10:31:02.000000000 
+0200
@@ -61,6 +61,10 @@
 #include <search.h>
 #include <assert.h>
 
+#ifdef HAVE_GNU_LIB_NAMES_H
+#include <gnu/lib-names.h>
+#endif
+
 #include "nss_utils.h"
 /*
  * Defining _POSIX_PTHREAD_SEMANTICS before including pwd.h and grp.h  gives us
@@ -1156,6 +1160,13 @@
        case NWRAP_LIBNSL:
 #ifdef HAVE_LIBNSL
                handle = nwrap_main_global->libc->nsl_handle;
+#ifdef LIBNSL_SO
+               if (handle == NULL) {
+                       handle = dlopen(LIBNSL_SO, flags);
+
+                       nwrap_main_global->libc->nsl_handle = handle;
+               }
+#endif
                if (handle == NULL) {
                        for (i = 10; i >= 0; i--) {
                                char soname[256] = {0};
@@ -1193,6 +1204,13 @@
                /* FALL TROUGH */
        case NWRAP_LIBC:
                handle = nwrap_main_global->libc->handle;
+#ifdef LIBC_SO
+               if (handle == NULL) {
+                       handle = dlopen(LIBC_SO, flags);
+
+                       nwrap_main_global->libc->handle = handle;
+               }
+#endif
                if (handle == NULL) {
                        for (i = 10; i >= 0; i--) {
                                char soname[256] = {0};
@@ -2422,6 +2440,13 @@
                return false;
        }
        *p = '\0';
+#ifdef HAVE_STRUCT_PASSWD_PW_CLASS
+       /*
+        * We don't support pw_class, so just let it point to
+        * an '\0' byte (empty string).
+        */
+       pw->pw_class = p;
+#endif /* HAVE_STRUCT_PASSWD_PW_CLASS */
        p++;
        e = NULL;
        pw->pw_gid = (gid_t)strtoul(c, &e, 10);
@@ -2448,8 +2473,6 @@
        NWRAP_LOG(NWRAP_LOG_TRACE, "gid[%u]\n", pw->pw_gid);
 
 #ifdef HAVE_STRUCT_PASSWD_PW_CLASS
-       pw->pw_class = discard_const_p(char, "");
-
        NWRAP_LOG(NWRAP_LOG_TRACE, "class[%s]", pw->pw_class);
 #endif /* HAVE_STRUCT_PASSWD_PW_CLASS */
 
@@ -6531,7 +6554,7 @@
                }
 
                SAFE_FREE(nwrap_gr_global.list);
-               nwrap_pw_global.num = 0;
+               nwrap_gr_global.num = 0;
        }
 
 #if defined(HAVE_SHADOW_H) && defined(HAVE_GETSPNAM)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nss_wrapper-1.1.15/tests/CMakeLists.txt 
new/nss_wrapper-1.1.16/tests/CMakeLists.txt
--- old/nss_wrapper-1.1.15/tests/CMakeLists.txt 2023-01-25 13:25:00.000000000 
+0100
+++ new/nss_wrapper-1.1.16/tests/CMakeLists.txt 2024-07-05 07:53:08.000000000 
+0200
@@ -1,5 +1,9 @@
 project(tests C)
 
+if (TARGET cmocka::cmocka)
+    set(CMOCKA_LIBRARY cmocka::cmocka)
+endif()
+
 set(TESTSUITE_LIBRARIES nss_utils ${NWRAP_REQUIRED_LIBRARIES} 
${CMOCKA_LIBRARY})
 string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
 

++++++ nss_wrapper-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.RPuDap/_old  2024-07-08 19:07:00.011975122 +0200
+++ /var/tmp/diff_new_pack.RPuDap/_new  2024-07-08 19:07:00.015975268 +0200
@@ -4,7 +4,6 @@
 #
 # Learn more at http://cwrap.org
 #
-addFilter("shlib-policy-name-error")
-addFilter("shared-lib-calls-exit")
 addFilter("devel-file-in-non-devel-package")
+addFilter("binary-or-shlib-calls-gethostbyname")
 

Reply via email to