diff options
Diffstat (limited to 'src/tipideed')
| -rw-r--r-- | src/tipideed/cgi.c | 1 | ||||
| -rw-r--r-- | src/tipideed/tipideed-internal.h | 4 | ||||
| -rw-r--r-- | src/tipideed/tipideed.c | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/src/tipideed/cgi.c b/src/tipideed/cgi.c index 3e15b69..ca66ec5 100644 --- a/src/tipideed/cgi.c +++ b/src/tipideed/cgi.c @@ -97,6 +97,7 @@ static inline void modify_env (tipidee_rql const *rql, char const *docroot, tipi addenvb(rql, docroot, "AUTH_TYPE", val, n) ; got |= 1 ; } + if (g.flagcgipassauth) addenvb(rql, docroot, "HTTP_AUTHORIZATION", val, len) ; } else if (!strcasecmp(key, "Content-Type")) { addenv(rql, docroot, "CONTENT_TYPE", val) ; got |= 2 ; } else if (!strcasecmp(key, "Content-Length") || !strcasecmp(key, "Connection")) ; diff --git a/src/tipideed/tipideed-internal.h b/src/tipideed/tipideed-internal.h index 2cc8186..5d72cd6 100644 --- a/src/tipideed/tipideed-internal.h +++ b/src/tipideed/tipideed-internal.h @@ -43,6 +43,7 @@ struct global_s uint16_t ssl : 1 ; uint16_t xiscgi : 1 ; uint8_t flagnoxlate : 1 ; + uint8_t flagcgipassauth : 1 ; } ; #define GLOBAL_ZERO \ { \ @@ -68,7 +69,8 @@ struct global_s .cont = 1, \ .ssl = 0, \ .xiscgi = 0, \ - .flagnoxlate = 0 \ + .flagnoxlate = 0, \ + .flagcgipassauth = 0 \ } extern struct global_s g ; diff --git a/src/tipideed/tipideed.c b/src/tipideed/tipideed.c index 402c59c..4bd3242 100644 --- a/src/tipideed/tipideed.c +++ b/src/tipideed/tipideed.c @@ -386,6 +386,7 @@ int main (int argc, char const *const *argv, char const *const *envp) g.logv = get_uint32("G:logv") ; g.xiscgi = !!get_uint32("G:executable_means_cgi") ; g.flagnoxlate = !!get_uint32("G:XXX_no_translate") ; + g.flagcgipassauth = !!get_uint32("G:cgi_pass_authorization") ; n = tipidee_conf_get_argv(&g.conf, "G:index-file", g.indexnames, 16, &g.indexlen) ; if (!n) strerr_dief3x(102, "bad", " config value for ", "G:index_file") ; g.indexn = n-1 ; |
