[SCM] NSS Wrapper Repository - branch master updated

Andreas Schneider asn at samba.org
Tue Nov 12 17:41:53 UTC 2019


The branch, master has been updated
       via  80982e8 Bump version to 1.1.7
       via  7c34da8 nwrap: Improve logging function
       via  8076f3d cmake: Check for getprogname() and getexecname()
       via  6c12eed nwrap: Always provide logging
       via  f81e1e0 cmake: Fix path to nss_wrapper library
      from  2c754bf Update TODO

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


- Log -----------------------------------------------------------------
commit 80982e8bc36f36b13b010486810a01bb89ce9254
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Nov 11 15:46:08 2019 +0100

    Bump version to 1.1.7
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7c34da8278adbc57b4f18c8290cdfb5d71629ef5
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Nov 6 18:33:59 2019 +0100

    nwrap: Improve logging function
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 8076f3d59b88d9a8d6649b1b98815089ad217b5f
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Nov 6 18:33:43 2019 +0100

    cmake: Check for getprogname() and getexecname()
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6c12eeddb57cc43b970d4795ba5c7d0d752ed7a9
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Nov 6 18:29:27 2019 +0100

    nwrap: Always provide logging
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit f81e1e032c6828951b7a1ddc5bb4782923f0dbe9
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Nov 6 18:43:29 2019 +0100

    cmake: Fix path to nss_wrapper library
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

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

Summary of changes:
 CMakeLists.txt              |  2 +-
 ChangeLog                   |  5 ++++
 ConfigureChecks.cmake       |  3 ++
 config.h.cmake              |  3 ++
 nss_wrapper-config.cmake.in |  2 +-
 src/nss_wrapper.c           | 71 +++++++++++++++++++++++++++------------------
 6 files changed, 55 insertions(+), 31 deletions(-)


Changeset truncated at 500 lines:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e87842b..0939416 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.6 LANGUAGES C)
+project(nss_wrapper VERSION 1.1.7 LANGUAGES C)
 
 # global needed variables
 set(APPLICATION_NAME ${PROJECT_NAME})
diff --git a/ChangeLog b/ChangeLog
index 83a2380..3645f4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 ChangeLog
 ==========
 
+version 1.1.7 (released 2019-11-11)
+  * Added NSS_WRAPPER_DISABLE_DEEPBIND env variable
+  * Improvded logging
+  * Fixed location in cmake config
+
 version 1.1.6 (released 2019-05-19)
   * Fixed issues with memory alignment of getgrnam()
   * Fixed getpwnam() on FreeBSD
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index d0e1e0d..2947a8e 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -78,6 +78,9 @@ check_function_exists(gethostbyname_r HAVE_GETHOSTBYNAME_R)
 
 check_function_exists(gethostbyname2 HAVE_GETHOSTBYNAME2)
 
+check_function_exists(getprogname HAVE_GETPROGNAME)
+check_function_exists(getexecname HAVE_GETEXECNAME)
+
 if (WIN32)
     check_function_exists(_vsnprintf_s HAVE__VSNPRINTF_S)
     check_function_exists(_vsnprintf HAVE__VSNPRINTF)
diff --git a/config.h.cmake b/config.h.cmake
index 15f6afc..de0b5df 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -59,6 +59,9 @@
 /* Define to 1 if you have the `gethostbyname2' function. */
 #cmakedefine HAVE_GETHOSTBYNAME2 1
 
+#cmakedefine HAVE_GETPROGNAME 1
+#cmakedefine HAVE_GETEXECNAME 1
+
 #cmakedefine HAVE___POSIX_GETPWNAM_R 1
 #cmakedefine HAVE___POSIX_GETPWUID_R 1
 
diff --git a/nss_wrapper-config.cmake.in b/nss_wrapper-config.cmake.in
index 8f10f25..9375f5c 100644
--- a/nss_wrapper-config.cmake.in
+++ b/nss_wrapper-config.cmake.in
@@ -1 +1 @@
-set(NSS_WRAPPER_LIBRARY @CMAKE_INSTALL_LIBDIR@/@NSS_WRAPPER_LIB@)
+set(NSS_WRAPPER_LIBRARY @CMAKE_INSTALL_FULL_LIBDIR@/@NSS_WRAPPER_LIB@)
diff --git a/src/nss_wrapper.c b/src/nss_wrapper.c
index 33b610b..1bcd3b1 100644
--- a/src/nss_wrapper.c
+++ b/src/nss_wrapper.c
@@ -243,9 +243,18 @@ enum nwrap_dbglvl_e {
 	NWRAP_LOG_TRACE
 };
 
-#ifdef NDEBUG
-# define NWRAP_LOG(...)
+#ifndef HAVE_GETPROGNAME
+static const char *getprogname(void)
+{
+#if defined(HAVE_PROGRAM_INVOCATION_SHORT_NAME)
+	return program_invocation_short_name;
+#elif defined(HAVE_GETEXECNAME)
+	return getexecname();
 #else
+	return NULL;
+#endif /* HAVE_PROGRAM_INVOCATION_SHORT_NAME */
+}
+#endif /* HAVE_GETPROGNAME */
 
 static void nwrap_log(enum nwrap_dbglvl_e dbglvl, const char *func, const char *format, ...) PRINTF_ATTRIBUTE(3, 4);
 # define NWRAP_LOG(dbglvl, ...) nwrap_log((dbglvl), __func__, __VA_ARGS__)
@@ -258,43 +267,49 @@ static void nwrap_log(enum nwrap_dbglvl_e dbglvl,
 	va_list va;
 	const char *d;
 	unsigned int lvl = 0;
-	int pid = getpid();
+	const char *prefix = "NWRAP";
+	const char *progname = getprogname();
 
 	d = getenv("NSS_WRAPPER_DEBUGLEVEL");
 	if (d != NULL) {
 		lvl = atoi(d);
 	}
 
+	if (lvl < dbglvl) {
+		return;
+	}
+
 	va_start(va, format);
 	vsnprintf(buffer, sizeof(buffer), format, va);
 	va_end(va);
 
-	if (lvl >= dbglvl) {
-		switch (dbglvl) {
-			case NWRAP_LOG_ERROR:
-				fprintf(stderr,
-					"NWRAP_ERROR(%d) - %s: %s\n",
-					pid, func, buffer);
-				break;
-			case NWRAP_LOG_WARN:
-				fprintf(stderr,
-					"NWRAP_WARN(%d) - %s: %s\n",
-					pid, func, buffer);
-				break;
-			case NWRAP_LOG_DEBUG:
-				fprintf(stderr,
-					"NWRAP_DEBUG(%d) - %s: %s\n",
-					pid, func, buffer);
-				break;
-			case NWRAP_LOG_TRACE:
-				fprintf(stderr,
-					"NWRAP_TRACE(%d) - %s: %s\n",
-					pid, func, buffer);
-				break;
-		}
+	switch (dbglvl) {
+		case NWRAP_LOG_ERROR:
+			prefix = "NWRAP_ERROR";
+			break;
+		case NWRAP_LOG_WARN:
+			prefix = "NWRAP_WARN";
+			break;
+		case NWRAP_LOG_DEBUG:
+			prefix = "NWRAP_DEBUG";
+			break;
+		case NWRAP_LOG_TRACE:
+			prefix = "NWRAP_TRACE";
+			break;
 	}
+
+	if (progname == NULL) {
+		progname = "<unknown>";
+	}
+
+	fprintf(stderr,
+		"%s[%s (%u)] - %s: %s\n",
+		prefix,
+		progname,
+		(unsigned int)getpid(),
+		func,
+		buffer);
 }
-#endif /* NDEBUG NWRAP_LOG */
 
 struct nwrap_libc_fns {
 	struct passwd *(*_libc_getpwnam)(const char *name);
@@ -824,7 +839,6 @@ enum nwrap_lib {
     NWRAP_LIBSOCKET,
 };
 
-#ifndef NDEBUG
 static const char *nwrap_str_lib(enum nwrap_lib lib)
 {
 	switch (lib) {
@@ -839,7 +853,6 @@ static const char *nwrap_str_lib(enum nwrap_lib lib)
 	/* Compiler would warn us about unhandled enum value if we get here */
 	return "unknown";
 }
-#endif
 
 static void *nwrap_load_lib_handle(enum nwrap_lib lib)
 {


-- 
NSS Wrapper Repository



More information about the samba-cvs mailing list