aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.def.h3
-rw-r--r--pacredir.c9
2 files changed, 12 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h
index ce0c142..d439350 100644
--- a/config.def.h
+++ b/config.def.h
@@ -8,6 +8,9 @@
#ifndef _CONFIG_H
#define _CONFIG_H
+/* website url */
+#define WEBSITE "https://github.com/eworm-de/paccache/"
+
/* This is used for default documents. Usually you will not see this anyway. */
#define PAGE307 "<html><head><title>307 temporary redirect</title>" \
"</head><body>307 temporary redirect: " \
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);