diff options
Diffstat (limited to '')
-rw-r--r-- | w3mhelperpanel.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/w3mhelperpanel.c b/w3mhelperpanel.c index dd7b7f7..b66c47c 100644 --- a/w3mhelperpanel.c +++ b/w3mhelperpanel.c @@ -1,4 +1,4 @@ -/* $Id: w3mhelperpanel.c,v 1.9 2002/11/12 12:41:58 ukai Exp $ */ +/* $Id: w3mhelperpanel.c,v 1.10 2002/11/26 18:03:29 ukai Exp $ */ #include <errno.h> #include <stdlib.h> #include <stdio.h> @@ -168,11 +168,18 @@ main(int argc, char *argv[], char **envp) exit(1); cgiarg = cgistr2tagarg(qs); - mode = tag_get_value(cgiarg, "mode"); + local_cookie = getenv("LOCAL_COOKIE"); + sent_cookie = tag_get_value(cgiarg, "cookie"); + if (local_cookie == NULL || sent_cookie == NULL || + strcmp(local_cookie, sent_cookie) != 0) { + /* Local cookie doesn't match */ + bye("Local cookie doesn't match: It may be an illegal execution", ""); + } + + mode = tag_get_value(cgiarg, "mode"); mailcapfile = Strnew_charp(expandPath(RC_DIR)); Strcat_charp(mailcapfile, "/mailcap"); - if (mode && !strcmp(mode, "edit")) { char *referer; /* check if I can edit my mailcap */ @@ -183,13 +190,6 @@ main(int argc, char *argv[], char **envp) bye("It may be an illegal execution\n referer=", referer); } } - sent_cookie = tag_get_value(cgiarg, "cookie"); - if (local_cookie == NULL || sent_cookie == NULL || - strcmp(local_cookie, sent_cookie) != 0) { - /* Local cookie doesn't match */ - bye("Local cookie doesn't match: It may be an illegal execution", - ""); - } /* edit mailcap */ editMailcap(mailcapfile->ptr, cgiarg); } |