diff --git a/src/invoke/args.c b/src/invoke/args.c index 96f0b8197076a13db95eaff01583fb88dcee2ac0..f95d4443dc212f554645cdbf17cd911b04a8e1e4 100644 --- a/src/invoke/args.c +++ b/src/invoke/args.c @@ -156,6 +156,9 @@ free_out: char **as_env(const struct cni_args *cniargs) { +#define NO_PROXY_KEY "no_proxy" +#define HTTP_PROXY_KEY "http_proxy" +#define HTTPS_PROXY_KEY "https_proxy" char **result = NULL; char **pos = NULL; size_t len = 0; @@ -188,6 +191,11 @@ char **as_env(const struct cni_args *cniargs) /* inherit environs of parent */ for (pos = envir; pos != NULL && *pos != NULL && i < len; pos++) { + // ignore proxy environs + if (strcasecmp(*pos, NO_PROXY_KEY) == 0 || strcasecmp(*pos, HTTP_PROXY_KEY) == 0 || + strcasecmp(*pos, HTTPS_PROXY_KEY) == 0) { + continue; + } result[i] = clibcni_util_strdup_s(*pos); i++; }