www-cgi/: Centralize environment variable filtering.
[userv-utils] / www-cgi / ucgi.h
index 0ab5a49..1d00b1b 100644 (file)
@@ -32,7 +32,9 @@
 #define MAX_ARGS 1024
 #define MAX_USERNAME_LEN 1024
 #define MAX_SCRIPTPATH_LEN 1024
+#define MAX_ENVVAR_NAME 128
 #define MAX_ENVVAR_VALUE (1024*1024)
+#define MAX_ENVVARS 256
 
 void syserror(const char *m);
 void error(const char *m);
@@ -40,6 +42,13 @@ void *xmalloc(size_t sz);
 void xsetenv(const char *en, const char *ev, int overwrite);
 void *xrealloc(void *ptr, size_t sz);
 
+void filter_environment(unsigned flags, const char *prefix_in,
+                       const char *const *patv,
+                       void (*foundone)(const char *fulln, const char *en,
+                                        const char *ev, void *p),
+                       void *p);
+#define FILTF_WILDCARD 1u
+
 extern const char *const envok[];
 extern const int nenvok;
 extern int debugmode;