]> granicus.if.org Git - sudo/commitdiff
Dump default bad env table when 'sudo -V' is run by root.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 12 Nov 2001 18:08:30 +0000 (18:08 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 12 Nov 2001 18:08:30 +0000 (18:08 +0000)
env.c
sudo.c
sudo.h

diff --git a/env.c b/env.c
index 0027a4ccea11c1bd0a3129a1b07e3ff8823b2dc7..7392163829e425e87241a9c942072a620751b609 100644 (file)
--- a/env.c
+++ b/env.c
@@ -470,3 +470,22 @@ rebuild_env(sudo_mode, envp)
     }
     return(newenvp);
 }
+
+void
+dump_badenv()
+{
+    struct env_table *entry;
+    int len, iswild;
+
+    /* XXX - mark the ones that are just 'check' */
+    puts("Default table of environment variables to clear");
+    for (entry = sudo_badenv_table; entry->name; entry++) {
+       len = strlen(entry->name);
+       if (entry->name[len - 1] == '=') {
+           iswild = 0;
+           len--;
+       } else
+           iswild = 1;
+       printf("\t%.*s%s\n", len, entry->name, iswild ? "*" : "");
+    }
+}
diff --git a/sudo.c b/sudo.c
index cdcc32a92997f663302ce67553abc073a25cf80f..5728316a5cebf25bb92f29d493ea370518f935fb 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -214,6 +214,7 @@ main(argc, argv, envp)
                    dump_auth_methods();
                    dump_defaults();
                    dump_interfaces();
+                   dump_badenv();
                }
                exit(0);
                break;
diff --git a/sudo.h b/sudo.h
index f34274b0437ac8a6e8f87f226a0c65e5899f4738..58fa9341533165628cb8d4cb54b4aa149e7fdf2d 100644 (file)
--- a/sudo.h
+++ b/sudo.h
@@ -212,6 +212,7 @@ VOID *erealloc              __P((VOID *, size_t));
 char *estrdup          __P((const char *));
 int easprintf          __P((char **, const char *, ...));
 int evasprintf         __P((char **, const char *, va_list));
+void dump_badenv       __P((void));
 void dump_defaults     __P((void));
 void dump_auth_methods __P((void));
 int lock_file          __P((int, int));