diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/filter.c | 55 |
4 files changed, 47 insertions, 25 deletions
@@ -1,3 +1,17 @@ +2003-10-17 Robert James Kaes <rjkaes@flarenet.com> + + Released tinyproxy 1.6.2 (2003-10-17) + + * Makefile.am: + Removed a redundant "mkdir" command, since the $(mkinstalldirs) + command handles it correctly. + +2003-10-16 Robert James Kaes <rjkaes@flarenet.com> + + * src/filter.c (filter_init): + Fixed up the comment handling code. Closes bug 822226 + [https://sourceforge.net/tracker/index.php?func=detail&aid=822226&group_id=2632&atid=102632] + 2003-08-06 Robert James Kaes <rjkaes@flarenet.com> Released tinyproxy 1.6.1 (2003-08-06) diff --git a/Makefile.am b/Makefile.am index add22f6..2c65ace 100644 --- a/Makefile.am +++ b/Makefile.am @@ -40,7 +40,6 @@ tinyproxy-configure-file: tinyproxy-html-files: $(mkinstalldirs) $(DESTDIR)$(datadir)/tinyproxy - test -d $(DESTDIR)$(datadir)/tinyproxy || mkdir $(datadir)/tinyproxy for file in debug default stats; do \ $(INSTALL) -m 644 $(srcdir)/doc/$$file.html $(DESTDIR)$(datadir)/tinyproxy/$$file.html.dist ; \ test -f $(DESTDIR)$(datadir)/tinyproxy/$$file.html || \ diff --git a/configure.ac b/configure.ac index dcb610d..425b477 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -dnl $Id: configure.ac,v 2.63 2003-08-07 16:32:12 rjkaes Exp $ +dnl $Id: configure.ac,v 2.64 2003-10-17 16:10:59 rjkaes Exp $ dnl Devlopers, please strive to achieve this order: dnl diff --git a/src/filter.c b/src/filter.c index 34dad75..99505a3 100644 --- a/src/filter.c +++ b/src/filter.c @@ -1,4 +1,4 @@ -/* $Id: filter.c,v 1.18 2003-08-07 16:32:12 rjkaes Exp $ +/* $Id: filter.c,v 1.19 2003-10-17 16:11:00 rjkaes Exp $ * * Copyright (c) 1999 George Talusan (gstalusan@uwaterloo.ca) * Copyright (c) 2002 James E. Flemer (jflemer@acm.jhu.edu) @@ -48,7 +48,7 @@ filter_init(void) FILE *fd; struct filter_list *p; char buf[FILTER_BUFFER_LEN]; - char *s, *t; + char *s; int cflags; if (!fl && !already_init) { @@ -63,29 +63,25 @@ filter_init(void) cflags |= REG_ICASE; while (fgets(buf, FILTER_BUFFER_LEN, fd)) { + /* + * Remove any trailing white space and + * comments. + */ s = buf; - if (!p) /* head of list */ - fl = p = - (struct filter_list*) - safecalloc(1, - sizeof(struct - filter_list)); - else { /* next entry */ - p->next = - (struct filter_list*) - safecalloc(1, - sizeof(struct - filter_list)); - p = p->next; - } - - /* strip trailing whitespace & comments */ - t = s; - while (*s && *s != '#') { - if (!isspace((unsigned char)*(s++))) - t = s; + while (*s) { + if (isspace((unsigned char)*s)) break; + if (*s == '#') { + /* + * If the '#' char is preceeded by + * an escape, it's not a comment + * string. + */ + if (s == buf || *(s - 1) != '\\') + break; + } + ++s; } - *t = '\0'; + *s = '\0'; /* skip leading whitespace */ s = buf; @@ -96,6 +92,19 @@ filter_init(void) if (*s == '\0') continue; + if (!p) /* head of list */ + fl = p = + safecalloc(1, + sizeof(struct + filter_list)); + else { /* next entry */ + p->next = + safecalloc(1, + sizeof(struct + filter_list)); + p = p->next; + } + p->pat = safestrdup(s); p->cpat = (regex_t*)safemalloc(sizeof(regex_t)); if ((err = regcomp(p->cpat, p->pat, cflags)) != 0) { |