Skip to content

Commit 703fdc6

Browse files
committed
Add check for the presence of secure_getenv
This change introduces support for glibc versions older than 2.17 where secure_getenv was introduced.
1 parent 3a13070 commit 703fdc6

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

kubernetes/ConfigureChecks.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
include(CheckFunctionExists)
22

3-
check_function_exists(strndup HAVE_STRNDUP)
3+
check_function_exists(strndup HAVE_STRNDUP)
4+
check_function_exists(secure_getenv HAVE_SECURE_GETENV)

kubernetes/config.h.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
/* Define to 1 if you have the `strndup' function. */
2-
#cmakedefine HAVE_STRNDUP 1
2+
#cmakedefine HAVE_STRNDUP 1
3+
#cmakedefine HAVE_SECURE_GETENV 1

kubernetes/config/incluster_config.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ static int setBasePathInCluster(char **pBasePath)
4545
{
4646
static char fname[] = "setBasePathInCluster()";
4747

48-
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__)
48+
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__) || !defined(HAVE_SECURE_GETENV)
4949
const char *service_host_env = getenv(SERVICE_HOST_ENV_NAME);
5050
#elif __linux || defined(__EMSCRIPTEN__)
5151
const char *service_host_env = secure_getenv(SERVICE_HOST_ENV_NAME);
@@ -54,7 +54,7 @@ static int setBasePathInCluster(char **pBasePath)
5454
fprintf(stderr, "%s: Cannot retrieve the kubernetes service host inside a pod by the env %s.\n", fname, SERVICE_HOST_ENV_NAME);
5555
return -1;
5656
}
57-
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__)
57+
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__) || !defined(HAVE_SECURE_GETENV)
5858
const char *service_port_env = getenv(SERVICE_PORT_ENV_NAME);
5959
#elif __linux || defined(__EMSCRIPTEN__)
6060
const char *service_port_env = secure_getenv(SERVICE_PORT_ENV_NAME);

kubernetes/config/kube_config.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,15 @@ static char *getWorkingConfigFile(const char *configFileNamePassedIn)
111111
configFileName = strdup(configFileNamePassedIn);
112112
} else {
113113

114-
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__)
114+
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__) || !defined(HAVE_SECURE_GETENV)
115115
kubeconfig_env = getenv(ENV_KUBECONFIG);
116116
#elif __linux || defined(__EMSCRIPTEN__)
117117
kubeconfig_env = secure_getenv(ENV_KUBECONFIG);
118118
#endif
119119
if (kubeconfig_env) {
120120
configFileName = strdup(kubeconfig_env);
121121
} else {
122-
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__)
122+
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(__APPLE__) || !defined(HAVE_SECURE_GETENV)
123123
homedir_env = getenv(ENV_HOME);
124124
#elif __linux || defined(__EMSCRIPTEN__)
125125
homedir_env = secure_getenv(ENV_HOME);

0 commit comments

Comments
 (0)