[rbldnsd] re-enabling a $TIMESTAMP-expired zone without restart?
Michael Tokarev
mjt at tls.msk.ru
Sat Jul 22 11:41:29 MSD 2006
Anders Henke wrote at Thu, 6 Jul 2006 15:25:11 +0200:
> Hi,
>
> while experimenting with $TIMESTAMP expires, I've found something
> between a sideeffect or a major issue:
>
> ---cut
> $TIMESTAMP 2006:07:06:13:11:16 +5m
> 127.0.0.2
> ---cut
>
> I'm using Linux and chroot rbldnsd to /var/lib/rbldnsd/dist, so it
> hasn't access to /etc/localtime and cannot accordingly use "local"
> timestamps, it has to rely on UTC ones. rbldnsd checks for file updates
> once a minute (default settings).
>
> The current date is
>
> UTC: Thu Jul 6 13:16:03 UTC 2006
>
> and so the zone hasn't expired yet. A minute later, the zone expires:
>
> Jul 6 15:16:21 rbldnsd1 rbldnsd[4488]: zone schlund.test: zone data expired, zone will not be serviced
>
> However, if I change the timestamp or relative expire timeframe in the
> file to a newer date or even +24h, rbldnsd reloads the file, but still
> complains that the zone data were expired. Manual reloads by means of
> SIGHUP also show the same effects.
Yes. It's a Bug (tm). Fixed (one-liner) in upcoming release, which
I will - hopefully - upload today.
Patch attached.
/mjt
-------------- next part --------------
--- rbldnsd_zones.c 22 Jul 2006 07:03:51 -0000 1.70
+++ rbldnsd_zones.c 22 Jul 2006 07:27:53 -0000 1.71
@@ -1,4 +1,4 @@
-/* $Id: rbldnsd_zones.c,v 1.70 2006/07/22 07:03:51 mjt Exp $
+/* $Id: rbldnsd_zones.c,v 1.71 2006/07/22 07:27:53 mjt Exp $
* Nameserver zones: structures and routines
*/
@@ -420,6 +420,7 @@ static void freedataset(struct dataset *
ds->ds_ttl = def_ttl;
ds->ds_dsns = NULL;
ds->ds_nsttl = 0;
+ ds->ds_expires = 0;
#ifndef INCOMPAT_0_99
ds->ds_nsflags = 0;
#endif
More information about the rbldnsd
mailing list