summaryrefslogtreecommitdiffstats
path: root/pacredir.c
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2014-04-22 13:57:51 +0200
committerGravatar Christian Hesse <mail@eworm.de>2014-04-22 13:57:51 +0200
commit1c9cc347b096b2536b229ef0e0d1551090e8ed70 (patch)
treee5130d0cbd55dc13e2fa35e3fce465c53076d739 /pacredir.c
parent2790f410b553d63965b654a3248cbff51121e5e3 (diff)
downloadpaccache-1c9cc347b096b2536b229ef0e0d1551090e8ed70.tar.gz
paccache-1c9cc347b096b2536b229ef0e0d1551090e8ed70.tar.zst
redirect to project website if no file is given
Diffstat (limited to 'pacredir.c')
-rw-r--r--pacredir.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/pacredir.c b/pacredir.c
index 21223ec..7c156c4 100644
--- a/pacredir.c
+++ b/pacredir.c
@@ -333,6 +333,14 @@ static int ahc_echo(void * cls, struct MHD_Connection * connection, const char *
/* clear context pointer */
*ptr = NULL;
+ /* redirect to website if no file given */
+ if (*basename == 0) {
+ http_code = MHD_HTTP_OK;
+ /* duplicate string so we can free it later */
+ url = strdup(WEBSITE);
+ goto response;
+ }
+
/* process db file (and signature) request */
if ((strlen(basename) > 3 && strcmp(basename + strlen(basename) - 3, ".db") == 0) ||
(strlen(basename) > 7 && strcmp(basename + strlen(basename) - 7, ".db.sig") == 0)) {
@@ -417,6 +425,7 @@ static int ahc_echo(void * cls, struct MHD_Connection * connection, const char *
free(request);
}
+response:
/* give response */
if (http_code == MHD_HTTP_OK) {
write_log(stdout, "Redirecting to %s\n", url);