Module Name: src
Committed By: christos
Date: Sun Jun 21 01:13:21 UTC 2015
Modified Files:
src/external/bsd/blacklist/bin: blacklistd.c
Log Message:
Restart the loop each time we delete an entry because the hash code does
not handle it well. Is that a db bug?
To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/external/bsd/blacklist/bin/blacklistd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/blacklist/bin/blacklistd.c
diff -u src/external/bsd/blacklist/bin/blacklistd.c:1.32 src/external/bsd/blacklist/bin/blacklistd.c:1.33
--- src/external/bsd/blacklist/bin/blacklistd.c:1.32 Wed Jan 28 17:30:42 2015
+++ src/external/bsd/blacklist/bin/blacklistd.c Sat Jun 20 21:13:21 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: blacklistd.c,v 1.32 2015/01/28 22:30:42 christos Exp $ */
+/* $NetBSD: blacklistd.c,v 1.33 2015/06/21 01:13:21 christos Exp $ */
/*-
* Copyright (c) 2015 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
#include "config.h"
#endif
#include <sys/cdefs.h>
-__RCSID("$NetBSD: blacklistd.c,v 1.32 2015/01/28 22:30:42 christos Exp $");
+__RCSID("$NetBSD: blacklistd.c,v 1.33 2015/06/21 01:13:21 christos Exp $");
#include <sys/types.h>
#include <sys/socket.h>
@@ -284,6 +284,7 @@ update(void)
return;
}
+again:
for (n = 0, f = 1; state_iterate(state, &c, &dbi, f) == 1;
f = 0, n++)
{
@@ -305,6 +306,7 @@ update(void)
buf, c.c_lmask, c.c_port, c.c_duration);
}
state_del(state, &c);
+ goto again;
}
}