Change target prefix mapping argument order - quark - quark web server | |
git clone git://git.suckless.org/quark | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 065394cb64395ed9a6e7cc57e2519ee8f754ce3e | |
parent 48ddb8fefb512effefd9b761efa25fd9158e2edc | |
Author: Laslo Hunhold <[email protected]> | |
Date: Sun, 24 Feb 2019 00:40:46 +0100 | |
Change target prefix mapping argument order | |
Put the chost-specification at the end and make it optional. This makes | |
more sense than having to give an arbitrary useless name in case you | |
weren't using virtual hosts in the first place. | |
While at it, clear up the wording in the manpage. | |
Signed-off-by: Laslo Hunhold <[email protected]> | |
Diffstat: | |
M http.c | 6 ++++-- | |
M main.c | 10 ++++++---- | |
M quark.1 | 13 ++++++------- | |
3 files changed, 16 insertions(+), 13 deletions(-) | |
--- | |
diff --git a/http.c b/http.c | |
@@ -394,8 +394,10 @@ http_send_response(int fd, struct request *r) | |
for (i = 0; i < s.map_len; i++) { | |
len = strlen(s.map[i].from); | |
if (!strncmp(realtarget, s.map[i].from, len)) { | |
- /* match canonical host if vhosts are enabled */ | |
- if (s.vhost && strcmp(s.map[i].chost, vhostmatch)) { | |
+ /* match canonical host if vhosts are enabled and | |
+ * the mapping specifies a canonical host */ | |
+ if (s.vhost && s.map[i].chost && | |
+ strcmp(s.map[i].chost, vhostmatch)) { | |
continue; | |
} | |
diff --git a/main.c b/main.c | |
@@ -155,10 +155,12 @@ main(int argc, char *argv[]) | |
sizeof(struct map)))) { | |
die("reallocarray:"); | |
} | |
- if (!(s.map[s.map_len - 1].chost = strtok(tok, " ")) || | |
- !(s.map[s.map_len - 1].from = strtok(NULL, " ")) || | |
- !(s.map[s.map_len - 1].to = strtok(NULL, " ")) || | |
- strtok(NULL, "")) { | |
+ if (!(s.map[s.map_len - 1].from = strtok(tok, " ")) || | |
+ !(s.map[s.map_len - 1].to = strtok(NULL, " "))) { | |
+ usage(); | |
+ } | |
+ s.map[s.map_len - 1].chost = strtok(NULL, " "); | |
+ if (strtok(NULL, "")) { | |
usage(); | |
} | |
break; | |
diff --git a/quark.1 b/quark.1 | |
@@ -1,4 +1,4 @@ | |
-.Dd 2019-02-18 | |
+.Dd 2019-02-24 | |
.Dt QUARK 1 | |
.Os suckless.org | |
.Sh NAME | |
@@ -57,16 +57,15 @@ Enable directory listing. | |
Add the target prefix mapping rule specified by | |
.Ar map , | |
which has the form | |
-.Qq Pa chost from to , | |
+.Qq Pa from to [chost] , | |
where each element is separated with whitespace. | |
.Pp | |
The prefix | |
.Pa from | |
-of all matching targets, especially only of those requests for the canonical | |
-virtual host | |
-.Pa chost | |
-when virtual hosts are specified, is then replaced with | |
-.Pa to . | |
+of all matching targets is replaced with | |
+.Pa to , | |
+optionally limited to the canonical virtual host | |
+.Pa chost . | |
If no virtual hosts are given, | |
.Pa chost | |
is ignored. |