[OpenWrt-Devel] [PATCH] uhttpd2: Set HTTPS environment variable
Dan Staples
danstaples at opentechinstitute.org
Thu Dec 11 17:36:52 EST 2014
Currently, the only way for cgi scripts to determine if the request was made over SSL seems to be to check if the SERVER_PORT environment variable is set to 443, which is less than ideal. This sets the HTTPS environment variable, like the first version of uhttpd.
Signed-off-by: Dan Staples <danstaples at opentechinstitute.org>
---
proc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/proc.c b/proc.c
index 9c4b685..b520b91 100644
--- a/proc.c
+++ b/proc.c
@@ -81,6 +81,7 @@ enum extra_vars {
VAR_METHOD,
VAR_PATH_INFO,
VAR_USER,
+ VAR_TLS,
VAR_REDIRECT,
VAR_SERVER_NAME,
VAR_SERVER_ADDR,
@@ -108,6 +109,7 @@ static struct env_var extra_vars[] = {
[VAR_METHOD] = { "REQUEST_METHOD" },
[VAR_PATH_INFO] = { "PATH_INFO" },
[VAR_USER] = { "REMOTE_USER" },
+ [VAR_TLS] = { "HTTPS" },
[VAR_REDIRECT] = { "REDIRECT_STATUS", redirect_status },
[VAR_SERVER_NAME] = { "SERVER_NAME", local_addr },
[VAR_SERVER_ADDR] = { "SERVER_ADDR", local_addr },
@@ -143,6 +145,7 @@ struct env_var *uh_get_process_vars(struct client *cl, struct path_info *pi)
extra_vars[VAR_METHOD].value = http_methods[req->method];
extra_vars[VAR_PATH_INFO].value = pi->info;
extra_vars[VAR_USER].value = req->realm ? req->realm->user : NULL;
+ extra_vars[VAR_TLS].value = cl->tls ? "on" : NULL;
snprintf(redirect_status, sizeof(redirect_status),
"%d", req->redirect_status);
--
1.8.3.2
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list