summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2008-09-15 21:47:14 +0200
committerLars Hjemli <hjemli@gmail.com>2008-09-15 21:47:14 +0200
commit91fd1eca07f9e48109e8acebc0a92dc4b12ecb50 (patch)
treedb8c084d617c8e02899f358a42631646b7c1b766
parentb28765135dd6f52635977454eaf95d0e6c7e7271 (diff)
parent9c931b1e6e68f8dc891a5653035c3d70038ae3c0 (diff)
downloadcgit-91fd1eca07f9e48109e8acebc0a92dc4b12ecb50.tar.gz
cgit-91fd1eca07f9e48109e8acebc0a92dc4b12ecb50.tar.bz2
Merge branch 'ew/http_host'
* ew/http_host: use Host: header to generate cgit_hosturl
-rw-r--r--ui-shared.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 4818e70..c23bc75 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -38,14 +38,19 @@ char *cgit_hosturl()
{
char *host, *port;
- host = getenv("SERVER_NAME");
- if (!host)
- return NULL;
- port = getenv("SERVER_PORT");
- if (port && atoi(port) != 80)
- host = xstrdup(fmt("%s:%d", host, atoi(port)));
- else
+ host = getenv("HTTP_HOST");
+ if (host) {
host = xstrdup(host);
+ } else {
+ host = getenv("SERVER_NAME");
+ if (!host)
+ return NULL;
+ port = getenv("SERVER_PORT");
+ if (port && atoi(port) != 80)
+ host = xstrdup(fmt("%s:%d", host, atoi(port)));
+ else
+ host = xstrdup(host);
+ }
return host;
}