Dolda2000 GitWeb
/
ashd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1604c09
)
callcgi: Set SERVER_PORT and canonically consider Host to be SERVER_NAME.
author
Fredrik Tolf
<fredrik@dolda2000.com>
Sun, 29 Aug 2010 10:58:11 +0000
(12:58 +0200)
committer
Fredrik Tolf
<fredrik@dolda2000.com>
Sun, 29 Aug 2010 10:58:11 +0000
(12:58 +0200)
src/callcgi.c
patch
|
blob
|
blame
|
history
diff --git
a/src/callcgi.c
b/src/callcgi.c
index
42ac389
..
84d4c69
100644
(file)
--- a/
src/callcgi.c
+++ b/
src/callcgi.c
@@
-85,11
+85,6
@@
static void forkchild(int inpath, char *prog, char *file, char *method, char *ur
close(i);
if((qp = strchr(url, '?')) != NULL)
*(qp++) = 0;
close(i);
if((qp = strchr(url, '?')) != NULL)
*(qp++) = 0;
- /*
- * XXX: Currently missing:
- * SERVER_NAME (Partially)
- * SERVER_PORT
- */
putenv(sprintf2("SERVER_SOFTWARE=ashd/%s", VERSION));
putenv("GATEWAY_INTERFACE=CGI/1.1");
if(getenv("HTTP_VERSION"))
putenv(sprintf2("SERVER_SOFTWARE=ashd/%s", VERSION));
putenv("GATEWAY_INTERFACE=CGI/1.1");
if(getenv("HTTP_VERSION"))
@@
-100,6
+95,10
@@
static void forkchild(int inpath, char *prog, char *file, char *method, char *ur
putenv(sprintf2("QUERY_STRING=%s", qp?qp:""));
if(getenv("REQ_HOST"))
putenv(sprintf2("SERVER_NAME=%s", getenv("REQ_HOST")));
putenv(sprintf2("QUERY_STRING=%s", qp?qp:""));
if(getenv("REQ_HOST"))
putenv(sprintf2("SERVER_NAME=%s", getenv("REQ_HOST")));
+ if(getenv("REQ_X_ASH_SERVER_PORT"))
+ putenv(sprintf2("SERVER_PORT=%s", getenv("REQ_X_ASH_SERVER_PORT")));
+ if(getenv("REQ_X_ASH_PROTOCOL") && !strcmp(getenv("REQ_X_ASH_PROTOCOL"), "https"))
+ putenv("HTTPS=ON");
if(getenv("REQ_X_ASH_ADDRESS"))
putenv(sprintf2("REMOTE_ADDR=%s", getenv("REQ_X_ASH_ADDRESS")));
if(getenv("REQ_CONTENT_TYPE"))
if(getenv("REQ_X_ASH_ADDRESS"))
putenv(sprintf2("REMOTE_ADDR=%s", getenv("REQ_X_ASH_ADDRESS")));
if(getenv("REQ_CONTENT_TYPE"))