mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
libuser: musl now supports secure_getenv
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -1,62 +0,0 @@
|
|||||||
From d0537cb7f2dc5877700ad78dfd191515379d4edc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Thu, 7 Jan 2016 02:22:51 +0000
|
|
||||||
Subject: [PATCH 1/2] Check for issetugid()
|
|
||||||
|
|
||||||
If secure version of getenv is not there then we can use
|
|
||||||
issetugid() as aid to call getenv()
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
configure.ac | 1 +
|
|
||||||
lib/config.c | 12 +++++++++++-
|
|
||||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 1ded1a2..ee19e1f 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -125,6 +125,7 @@ AC_TYPE_OFF_T
|
|
||||||
AC_TYPE_SIZE_T
|
|
||||||
|
|
||||||
AC_CHECK_FUNCS([__secure_getenv secure_getenv])
|
|
||||||
+AC_CHECK_FUNCS([issetugid])
|
|
||||||
|
|
||||||
# Modify CFLAGS after all tests are run (some of them could fail because
|
|
||||||
# of the -Werror).
|
|
||||||
diff --git a/lib/config.c b/lib/config.c
|
|
||||||
index 29e7120..30f9daf 100644
|
|
||||||
--- a/lib/config.c
|
|
||||||
+++ b/lib/config.c
|
|
||||||
@@ -44,8 +44,10 @@
|
|
||||||
# define safe_getenv(string) secure_getenv(string)
|
|
||||||
#elif defined(HAVE___SECURE_GETENV)
|
|
||||||
# define safe_getenv(string) __secure_getenv(string)
|
|
||||||
+#elif defined(HAVE_ISSETUGID)
|
|
||||||
+# define safe_getenv(string) safe_getenv_issetugid(string)
|
|
||||||
#else
|
|
||||||
-# error Neither secure_getenv not __secure_getenv are available
|
|
||||||
+# error None of secure_getenv, __secure_getenv, or issetugid is available
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct config_config {
|
|
||||||
@@ -59,6 +61,14 @@ struct config_key {
|
|
||||||
GList *values;
|
|
||||||
};
|
|
||||||
|
|
||||||
+static const char*
|
|
||||||
+safe_getenv_issetugid(const char* name)
|
|
||||||
+{
|
|
||||||
+ if (issetugid ())
|
|
||||||
+ return 0;
|
|
||||||
+ return getenv (name);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Compare two section names */
|
|
||||||
static int
|
|
||||||
compare_section_names(gconstpointer a, gconstpointer b)
|
|
||||||
--
|
|
||||||
2.7.0
|
|
||||||
|
|
||||||
@@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
|
|||||||
SECTION = "base"
|
SECTION = "base"
|
||||||
|
|
||||||
SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \
|
SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \
|
||||||
file://0001-Check-for-issetugid.patch \
|
|
||||||
file://0002-remove-unused-execinfo.h.patch \
|
file://0002-remove-unused-execinfo.h.patch \
|
||||||
file://0001-modules-files.c-parse_field-fix-string-formating-in-.patch \
|
file://0001-modules-files.c-parse_field-fix-string-formating-in-.patch \
|
||||||
"
|
"
|
||||||
|
|||||||
Reference in New Issue
Block a user