Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
accesslog: Remember to flush request-body.
[ashd.git]
/
src
/
patplex.c
diff --git
a/src/patplex.c
b/src/patplex.c
index
23fcf4e
..
9939543
100644
(file)
--- a/
src/patplex.c
+++ b/
src/patplex.c
@@
-189,6
+189,7
@@
static struct pattern *parsepattern(struct cfstate *s)
flog(LOG_WARNING, "%s:%i: missing pattern for `%s' match", s->file, s->lno, s->argv[0]);
continue;
}
flog(LOG_WARNING, "%s:%i: missing pattern for `%s' match", s->file, s->lno, s->argv[0]);
continue;
}
+ rxfl = 0;
if(s->argc >= 3) {
if(strchr(s->argv[2], 'i'))
rxfl |= REG_ICASE;
if(s->argc >= 3) {
if(strchr(s->argv[2], 'i'))
rxfl |= REG_ICASE;
@@
-216,6
+217,7
@@
static struct pattern *parsepattern(struct cfstate *s)
flog(LOG_WARNING, "%s:%i: missing header name or pattern for `header' match", s->file, s->lno);
continue;
}
flog(LOG_WARNING, "%s:%i: missing header name or pattern for `header' match", s->file, s->lno);
continue;
}
+ rxfl = 0;
if(s->argc >= 4) {
if(strchr(s->argv[3], 'i'))
rxfl |= REG_ICASE;
if(s->argc >= 4) {
if(strchr(s->argv[3], 'i'))
rxfl |= REG_ICASE;
@@
-381,12
+383,14
@@
static void qoffsets(char *buf, int *obuf, char *pstr, int unquote)
o++;
}
buf[o] = 0;
o++;
}
buf[o] = 0;
+ obuf[o] = i;
} else {
for(i = 0; pstr[i]; i++) {
buf[i] = pstr[i];
obuf[i] = i;
}
buf[i] = 0;
} else {
for(i = 0; pstr[i]; i++) {
buf[i] = pstr[i];
obuf[i] = i;
}
buf[i] = 0;
+ obuf[i] = i;
}
}
}
}
@@
-470,6
+474,14
@@
static struct pattern *findmatch(struct config *cf, struct hthead *req, int tryd
return(NULL);
}
return(NULL);
}
+static void childerror(struct hthead *req, int fd)
+{
+ if(errno == EAGAIN)
+ simpleerror(fd, 500, "Server Error", "The request handler is overloaded.");
+ else
+ simpleerror(fd, 500, "Server Error", "The request handler crashed.");
+}
+
static void serve(struct hthead *req, int fd)
{
struct pattern *pat;
static void serve(struct hthead *req, int fd)
{
struct pattern *pat;
@@
-509,7
+521,7
@@
static void serve(struct hthead *req, int fd)
headappheader(req, head->name, head->value);
}
if(childhandle(ch, req, fd, NULL, NULL))
headappheader(req, head->name, head->value);
}
if(childhandle(ch, req, fd, NULL, NULL))
-
simpleerror(fd, 500, "Server Error", "The request handler crashed."
);
+
childerror(req, fd
);
}
static void reloadconf(char *nm)
}
static void reloadconf(char *nm)