build-sys: __secure_getenv lost dunder in libc 2.17

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2012-09-17 00:21:25 +02:00
parent 54693d9bfa
commit 4db17f291c
7 changed files with 24 additions and 11 deletions

2
TODO
View File

@ -538,7 +538,7 @@ Regularly:
* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
* use __secure_getenv() instead of getenv() where appropriate
* use secure_getenv() instead of getenv() where appropriate
Scheduled for removal (or fixing):

View File

@ -173,6 +173,7 @@ LIBS="$save_LIBS"
AC_SUBST(CAP_LIBS)
AC_CHECK_FUNCS([fanotify_init fanotify_mark name_to_handle_at])
AC_CHECK_FUNCS([__secure_getenv secure_getenv])
AC_CHECK_DECLS([gettid, pivot_root], [], [], [[#include <sys/types.h>
#include <unistd.h>
#include <sys/mount.h>]])

View File

@ -30,6 +30,7 @@
#include "strv.h"
#include "cgroup.h"
#include "mkdir.h"
#include "missing.h"
#include "dbus-unit.h"
#include "dbus-job.h"
#include "dbus-manager.h"
@ -955,12 +956,12 @@ static DBusConnection* manager_bus_connect_private(Manager *m, DBusBusType type)
switch (type) {
case DBUS_BUS_SYSTEM:
address = __secure_getenv("DBUS_SYSTEM_BUS_ADDRESS");
address = secure_getenv("DBUS_SYSTEM_BUS_ADDRESS");
if (!address || !address[0])
address = DBUS_SYSTEM_BUS_DEFAULT_ADDRESS;
break;
case DBUS_BUS_SESSION:
address = __secure_getenv("DBUS_SESSION_BUS_ADDRESS");
address = secure_getenv("DBUS_SESSION_BUS_ADDRESS");
if (!address || !address[0])
address = DBUS_SESSION_BUS_DEFAULT_ADDRESS;
break;
@ -1077,7 +1078,7 @@ static int bus_init_private(Manager *m) {
const char *e;
char *p;
e = __secure_getenv("XDG_RUNTIME_DIR");
e = secure_getenv("XDG_RUNTIME_DIR");
if (!e)
return 0;

View File

@ -21,6 +21,7 @@
#include "libudev.h"
#include "libudev-private.h"
#include "missing.h"
/**
* SECTION:libudev
@ -191,7 +192,7 @@ _public_ struct udev *udev_new(void)
}
/* environment overrides config */
env = __secure_getenv("UDEV_LOG");
env = secure_getenv("UDEV_LOG");
if (env != NULL)
udev_set_log_priority(udev, util_log_priority(env));

View File

@ -32,6 +32,7 @@
#include "log.h"
#include "dbus-common.h"
#include "util.h"
#include "missing.h"
#include "def.h"
#include "strv.h"
@ -121,7 +122,7 @@ int bus_connect(DBusBusType t, DBusConnection **_bus, bool *_private, DBusError
* try via XDG_RUNTIME_DIR first, then
* fallback to normal bus access */
e = __secure_getenv("XDG_RUNTIME_DIR");
e = secure_getenv("XDG_RUNTIME_DIR");
if (e) {
char *p;

View File

@ -30,6 +30,7 @@
#include "log.h"
#include "util.h"
#include "missing.h"
#include "macro.h"
#include "socket-util.h"
@ -804,19 +805,19 @@ int log_set_max_level_from_string(const char *e) {
void log_parse_environment(void) {
const char *e;
e = __secure_getenv("SYSTEMD_LOG_TARGET");
e = secure_getenv("SYSTEMD_LOG_TARGET");
if (e && log_set_target_from_string(e) < 0)
log_warning("Failed to parse log target %s. Ignoring.", e);
e = __secure_getenv("SYSTEMD_LOG_LEVEL");
e = secure_getenv("SYSTEMD_LOG_LEVEL");
if (e && log_set_max_level_from_string(e) < 0)
log_warning("Failed to parse log level %s. Ignoring.", e);
e = __secure_getenv("SYSTEMD_LOG_COLOR");
e = secure_getenv("SYSTEMD_LOG_COLOR");
if (e && log_show_color_from_string(e) < 0)
log_warning("Failed to parse bool %s. Ignoring.", e);
e = __secure_getenv("SYSTEMD_LOG_LOCATION");
e = secure_getenv("SYSTEMD_LOG_LOCATION");
if (e && log_show_location_from_string(e) < 0)
log_warning("Failed to parse bool %s. Ignoring.", e);
}

View File

@ -26,6 +26,7 @@
#include <sys/resource.h>
#include <sys/syscall.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <linux/oom.h>
@ -218,7 +219,6 @@ static inline pid_t gettid(void) {
#endif
#ifndef HAVE_NAME_TO_HANDLE_AT
struct file_handle {
unsigned int handle_bytes;
int handle_type;
@ -229,3 +229,11 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle
return syscall(__NR_name_to_handle_at, fd, name, handle, mnt_id, flags);
}
#endif
#ifndef HAVE_SECURE_GETENV
# ifdef HAVE___SECURE_GETENV
# define secure_getenv __secure_getenv
# else
# error neither secure_getenv nor __secure_getenv are available
# endif
#endif