diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2019-02-23 23:48:32 +0100 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2019-02-23 23:48:32 +0100 |
commit | 2ae2d648ab0bd5340ca1342c97d704b2d4ce948c (patch) | |
tree | 8edea5ed6859668fdf9ca12a86b5ca4adcd9424f | |
parent | 83952ad3d567fc9a307d9f330033f4036618f1f8 (diff) | |
download | blogc-2ae2d648ab0bd5340ca1342c97d704b2d4ce948c.tar.gz blogc-2ae2d648ab0bd5340ca1342c97d704b2d4ce948c.tar.bz2 blogc-2ae2d648ab0bd5340ca1342c97d704b2d4ce948c.zip |
blogc: sysinfo: simplified username impl. fixed tests
-rw-r--r-- | Makefile.am | 9 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/blogc/funcvars.c | 5 | ||||
-rw-r--r-- | src/blogc/sysinfo.c | 19 | ||||
-rw-r--r-- | src/blogc/sysinfo.h | 8 | ||||
-rw-r--r-- | tests/blogc/check_sysinfo.c | 40 |
6 files changed, 14 insertions, 71 deletions
diff --git a/Makefile.am b/Makefile.am index f2a8ffa..b136f9f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -534,19 +534,14 @@ tests_blogc_check_sysinfo_CFLAGS = \ tests_blogc_check_sysinfo_LDFLAGS = \ -no-install \ -Wl,--wrap=bc_file_get_contents \ - -Wl,--wrap=gethostname \ + -Wl,--wrap=getenv \ $(NULL) if HAVE_UNISTD_H -if HAVE_SYS_TYPES_H -if HAVE_PWD_H tests_blogc_check_sysinfo_LDFLAGS += \ - -Wl,--wrap=geteuid \ - -Wl,--wrap=getpwuid \ + -Wl,--wrap=gethostname \ $(NULL) endif -endif -endif if HAVE_TIME_H tests_blogc_check_sysinfo_LDFLAGS += \ diff --git a/configure.ac b/configure.ac index a0940c1..d92e0e9 100644 --- a/configure.ac +++ b/configure.ac @@ -220,15 +220,13 @@ AM_CONDITIONAL([USE_BGR_DEPS], [test "x$have_bgr_deps" = "xyes"]) BASH="$ac_cv_path_bash" AC_SUBST(BASH) -AC_CHECK_HEADERS([sys/resource.h sys/stat.h sys/time.h sys/wait.h time.h unistd.h pwd.h]) +AC_CHECK_HEADERS([sys/resource.h sys/stat.h sys/time.h sys/wait.h time.h unistd.h]) AC_CHECK_FUNCS([gethostname]) -AM_CONDITIONAL([HAVE_PWD_H], [test "x$ac_cv_header_pwd_h" = "xyes"]) AM_CONDITIONAL([HAVE_TIME_H], [test "x$ac_cv_header_time_h" = "xyes"]) AM_CONDITIONAL([HAVE_UNISTD_H], [test "x$ac_cv_header_unistd_h" = "xyes"]) AM_CONDITIONAL([HAVE_SYS_RESOURCE_H], [test "x$ac_cv_header_sys_resource_h" = "xyes"]) AM_CONDITIONAL([HAVE_SYS_TIME_H], [test "x$ac_cv_header_sys_time_h" = "xyes"]) -AM_CONDITIONAL([HAVE_SYS_TYPES_H], [test "x$ac_cv_header_sys_types_h" = "xyes"]) LT_LIB_M diff --git a/src/blogc/funcvars.c b/src/blogc/funcvars.c index 42411e2..6f0700b 100644 --- a/src/blogc/funcvars.c +++ b/src/blogc/funcvars.c @@ -30,14 +30,11 @@ static const struct func_map { {"BLOGC_SYSINFO_HOSTNAME", blogc_sysinfo_inject_hostname}, #endif -#ifdef HAVE_SYSINFO_USERNAME - {"BLOGC_SYSINFO_USERNAME", blogc_sysinfo_inject_username}, -#endif - #ifdef HAVE_SYSINFO_DATETIME {"BLOGC_SYSINFO_DATETIME", blogc_sysinfo_inject_datetime}, #endif + {"BLOGC_SYSINFO_USERNAME", blogc_sysinfo_inject_username}, {"BLOGC_SYSINFO_INSIDE_DOCKER", blogc_sysinfo_inject_inside_docker}, {NULL, NULL}, }; diff --git a/src/blogc/sysinfo.c b/src/blogc/sysinfo.c index 4ec1411..cdb860e 100644 --- a/src/blogc/sysinfo.c +++ b/src/blogc/sysinfo.c @@ -14,14 +14,6 @@ #include <unistd.h> #endif /* HAVE_UNISTD_H */ -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif /* HAVE_SYS_TYPES_H */ - -#ifdef HAVE_PWD_H -#include <pwd.h> -#endif /* HAVE_PWD_H */ - #ifdef HAVE_TIME_H #include <time.h> #endif /* HAVE_TIME_H */ @@ -66,16 +58,7 @@ blogc_sysinfo_inject_hostname(bc_trie_t *global) char* blogc_sysinfo_get_username(void) { -#ifndef HAVE_SYSINFO_USERNAME - return NULL; -#else - uid_t u = geteuid(); - struct passwd *p = getpwuid(u); - if (p == NULL) - return NULL; - - return bc_strdup(p->pw_name); -#endif + return bc_strdup(getenv("LOGNAME")); } diff --git a/src/blogc/sysinfo.h b/src/blogc/sysinfo.h index 783b656..b249661 100644 --- a/src/blogc/sysinfo.h +++ b/src/blogc/sysinfo.h @@ -19,14 +19,6 @@ #endif /* HAVE_GETHOSTNAME */ #endif /* HAVE_UNISTD_H */ -#ifdef HAVE_UNISTD_H -#ifdef HAVE_SYS_TYPES_H -#ifdef HAVE_PWD_H -#define HAVE_SYSINFO_USERNAME 1 -#endif /* HAVE_PWD_H */ -#endif /* HAVE_SYS_TYPES_H */ -#endif /* HAVE_UNISTD_H */ - #ifdef HAVE_TIME_H #define HAVE_SYSINFO_DATETIME 1 #endif /* HAVE_TIME_H */ diff --git a/tests/blogc/check_sysinfo.c b/tests/blogc/check_sysinfo.c index d1034fc..01b81b9 100644 --- a/tests/blogc/check_sysinfo.c +++ b/tests/blogc/check_sysinfo.c @@ -17,16 +17,11 @@ #include "../../src/common/utils.h" #include "../../src/blogc/sysinfo.h" -#ifdef HAVE_SYSINFO_HOSTNAME -#include <unistd.h> -#include <sys/types.h> -#include <pwd.h> -#endif - #ifdef HAVE_SYSINFO_DATETIME #include <time.h> #endif +#ifdef HAVE_SYSINFO_HOSTNAME int __wrap_gethostname(char *name, size_t len) { @@ -36,29 +31,14 @@ __wrap_gethostname(char *name, size_t len) strcpy(name, f); return mock_type(int); } +#endif -#ifdef HAVE_SYSINFO_HOSTNAME -uid_t -__wrap_geteuid(void) -{ - return 1234; -} - - -static struct passwd pw; - -struct passwd* -__wrap_getpwuid(uid_t uid) +char* +__wrap_getenv(const char *name) { - assert_int_equal(uid, 1234); - char *n = mock_type(char*); - if (n == NULL) - return NULL; - pw.pw_name = n; - return &pw; + return mock_type(char*); } -#endif #ifdef HAVE_SYSINFO_DATETIME @@ -142,11 +122,11 @@ test_sysinfo_inject_hostname(void **state) static void test_sysinfo_get_username(void **state) { - will_return(__wrap_getpwuid, NULL); + will_return(__wrap_getenv, NULL); char *f = blogc_sysinfo_get_username(); assert_null(f); - will_return(__wrap_getpwuid, "bola"); + will_return(__wrap_getenv, "bola"); f = blogc_sysinfo_get_username(); assert_non_null(f); assert_string_equal(f, "bola"); @@ -159,11 +139,11 @@ test_sysinfo_inject_username(void **state) { bc_trie_t *t = bc_trie_new(free); - will_return(__wrap_getpwuid, NULL); + will_return(__wrap_getenv, NULL); blogc_sysinfo_inject_username(t); assert_int_equal(bc_trie_size(t), 0); - will_return(__wrap_getpwuid, "bola"); + will_return(__wrap_getenv, "bola"); blogc_sysinfo_inject_username(t); assert_int_equal(bc_trie_size(t), 1); assert_string_equal(bc_trie_lookup(t, "BLOGC_SYSINFO_USERNAME"), "bola"); @@ -235,10 +215,8 @@ main(void) unit_test(test_sysinfo_inject_hostname), #endif -#ifdef HAVE_SYSINFO_USERNAME unit_test(test_sysinfo_get_username), unit_test(test_sysinfo_inject_username), -#endif #ifdef HAVE_SYSINFO_DATETIME unit_test(test_sysinfo_get_datetime), |