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;
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;
o++;
}
buf[o] = 0;
+ obuf[o] = i;
} else {
for(i = 0; pstr[i]; i++) {
buf[i] = pstr[i];
obuf[i] = i;
}
buf[i] = 0;
+ obuf[i] = i;
}
}
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;
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)