[SCM] NSS Wrapper Repository - branch master updated

Andreas Schneider asn at samba.org
Wed Oct 31 13:23:04 UTC 2018


The branch, master has been updated
       via  05f50d2 Bump version to 1.1.5
       via  7799438 nwrap: Do not call nwrap_init() in the constructor
       via  bab893a nwrap: Call exit() if something goes wrong during initialization
       via  92c1b22 nwrap: Use calloc in nwrap_libc_init()
      from  8963f3f Bump version to 1.1.4

https://git.samba.org/?p=nss_wrapper.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 05f50d22e0219baf6152f1540db3a3765f095950
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Oct 31 13:23:30 2018 +0100

    Bump version to 1.1.5
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 7799438252cd152fa44ea56b736862fb9bf507a6
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Oct 31 11:11:05 2018 +0100

    nwrap: Do not call nwrap_init() in the constructor
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit bab893a851c1c9291b148522c2790e887bf77bc1
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Oct 31 11:10:37 2018 +0100

    nwrap: Call exit() if something goes wrong during initialization
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 92c1b223275ac49c7af3275c6fb480164841eead
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Oct 31 11:10:08 2018 +0100

    nwrap: Use calloc in nwrap_libc_init()
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 CMakeLists.txt    |  4 ++--
 ChangeLog         |  3 +++
 src/nss_wrapper.c | 23 ++++++++++-------------
 3 files changed, 15 insertions(+), 15 deletions(-)


Changeset truncated at 500 lines:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bbdba4c..e91c266 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@ set(APPLICATION_NAME ${PROJECT_NAME})
 
 set(APPLICATION_VERSION_MAJOR "1")
 set(APPLICATION_VERSION_MINOR "1")
-set(APPLICATION_VERSION_PATCH "4")
+set(APPLICATION_VERSION_PATCH "5")
 
 set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
 
@@ -19,7 +19,7 @@ set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINO
 #     Increment AGE. Set REVISION to 0
 #   If the source code was changed, but there were no interface changes:
 #     Increment REVISION.
-set(LIBRARY_VERSION "0.2.4")
+set(LIBRARY_VERSION "0.2.5")
 set(LIBRARY_SOVERSION "0")
 
 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
diff --git a/ChangeLog b/ChangeLog
index 46ef626..b158baf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
 ChangeLog
 ==========
 
+version 1.1.5 (released 2018-10-31)
+  * Fixed running on older distributions
+
 version 1.1.4 (released 2018-10-31)
   * Fixed module getpw* functions
   * Fixed nss_wrapper.pl to use correct perl binary
diff --git a/src/nss_wrapper.c b/src/nss_wrapper.c
index dd16fe6..81d900c 100644
--- a/src/nss_wrapper.c
+++ b/src/nss_wrapper.c
@@ -218,8 +218,11 @@ static pthread_mutex_t nwrap_sp_global_mutex = PTHREAD_MUTEX_INITIALIZER;
 	NWRAP_UNLOCK(nwrap_initialized); \
 } while (0);
 
+static void nwrap_init(void);
+
 static void nwrap_thread_prepare(void)
 {
+	nwrap_init();
 	NWRAP_LOCK_ALL;
 }
 
@@ -806,7 +809,6 @@ static struct nwrap_he nwrap_he_global;
  * NWRAP PROTOTYPES
  *********************************************************/
 
-static void nwrap_init(void);
 static bool nwrap_gr_parse_line(struct nwrap_cache *nwrap, char *line);
 static void nwrap_gr_unload(struct nwrap_cache *nwrap);
 void nwrap_constructor(void) CONSTRUCTOR_ATTRIBUTE;
@@ -1512,19 +1514,17 @@ static bool nwrap_module_init(const char *name,
 
 static void nwrap_libc_init(struct nwrap_main *r)
 {
-	r->libc = malloc(sizeof(struct nwrap_libc));
+	r->libc = calloc(1, sizeof(struct nwrap_libc));
 	if (r->libc == NULL) {
 		printf("Failed to allocate memory for libc");
 		exit(-1);
 	}
-	ZERO_STRUCTP(r->libc);
 
-	r->libc->fns = malloc(sizeof(struct nwrap_libc_fns));
+	r->libc->fns = calloc(1, sizeof(struct nwrap_libc_fns));
 	if (r->libc->fns == NULL) {
 		printf("Failed to allocate memory for libc functions");
 		exit(-1);
 	}
-	ZERO_STRUCTP(r->libc->fns);
 }
 
 static void nwrap_backend_init(struct nwrap_main *r)
@@ -1565,6 +1565,7 @@ static void nwrap_init(void)
 	const char *env;
 	char *endptr;
 	size_t max_hostents_tmp;
+	int ok;
 
 	NWRAP_LOCK(nwrap_initialized);
 	if (nwrap_initialized) {
@@ -1604,10 +1605,11 @@ static void nwrap_init(void)
 	NWRAP_LOG(NWRAP_LOG_DEBUG,
 		  "Initializing hash table of size %lu items.",
 		  (unsigned long)max_hostents);
-	if (hcreate(max_hostents) == 0) {
+	ok = hcreate(max_hostents);
+	if (!ok) {
 		NWRAP_LOG(NWRAP_LOG_ERROR,
 			  "Failed to initialize hash table");
-		goto done;
+		exit(-1);
 	}
 
 	nwrap_main_global = &__nwrap_main_global;
@@ -1658,7 +1660,6 @@ static void nwrap_init(void)
 	nwrap_he_global.cache->parse_line = nwrap_he_parse_line;
 	nwrap_he_global.cache->unload = nwrap_he_unload;
 
-done:
 	/* We hold all locks here so we can use NWRAP_UNLOCK_ALL. */
 	NWRAP_UNLOCK_ALL;
 }
@@ -5575,11 +5576,7 @@ void nwrap_constructor(void)
 		       &nwrap_thread_parent,
 		       &nwrap_thread_child);
 
-	/*
-	 * Here is safe place to call nwrap_init() and initialize data
-	 * for the main process.
-	 */
-	nwrap_init();
+	/* Do not call nwrap_init() here. */
 }
 
 /****************************


-- 
NSS Wrapper Repository



More information about the samba-cvs mailing list