summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--Makefile.am1
-rw-r--r--configure.ac2
-rw-r--r--src/filter.c55
4 files changed, 47 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog
index 6572205..6ac5a8b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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) {