aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2013-11-05 10:02:26 +0100
committerGravatar Christian Hesse <mail@eworm.de>2013-11-05 10:02:26 +0100
commitea57bfda4fa7f7f038a42d56ad27650be3becd82 (patch)
treef9e1bb7fc41898c3afb750793617988b8c8a17b7
parent8551d4885a4bf5997e0aa97852719168ee8d5457 (diff)
downloadpaccache-ea57bfda4fa7f7f038a42d56ad27650be3becd82.tar.gz
paccache-ea57bfda4fa7f7f038a42d56ad27650be3becd82.tar.zst
handle db file signatures correctly
-rw-r--r--pacredir.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/pacredir.c b/pacredir.c
index 3d9760c..59fc153 100644
--- a/pacredir.c
+++ b/pacredir.c
@@ -299,8 +299,9 @@ static int ahc_echo(void * cls, struct MHD_Connection * connection, const char *
/* clear context pointer */
*ptr = NULL;
- /* process db file request */
- if (strlen(basename) > 3 && strcmp(basename + strlen(basename) - 3, ".db") == 0) {
+ /* 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)) {
/* get timestamp of local file */
filename = malloc(strlen(SYNCPATH) + strlen(basename) + 2);
sprintf(filename, SYNCPATH "/%s", basename);