[Gd-chatter] r11099 - trunk/libraries/network/koala/sources/examples/buddha
hannes at gwydiondylan.org
hannes at gwydiondylan.org
Fri Dec 22 02:52:38 CET 2006
Author: hannes
Date: Fri Dec 22 02:52:37 2006
New Revision: 11099
Modified:
trunk/libraries/network/koala/sources/examples/buddha/zone.dylan
Log:
Bug: 7257
*make powerdns happy (earlier was to big for it's serial record and wrapped around)
Modified: trunk/libraries/network/koala/sources/examples/buddha/zone.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/examples/buddha/zone.dylan (original)
+++ trunk/libraries/network/koala/sources/examples/buddha/zone.dylan Fri Dec 22 02:52:37 2006
@@ -88,7 +88,7 @@
slot reverse? :: <boolean> = #f;
has-many cname :: <cname>;
data hostmaster :: <string> = "hostmaster.congress.ccc.de";
- data serial :: <string> = "0";
+ data serial :: <integer> = 23;
data refresh :: <integer> = 16384;
data retry :: <integer> = 2048;
data expire :: <integer> = 1048576;
@@ -134,14 +134,15 @@
end
end;
+define variable *last-update* = current-date();
define method print-tinydns-zone-file (print-zone :: <zone>,
stream :: <stream>)
- let (year, month, days, hours, minutes, seconds) = decode-date(current-date());
- let s2 = rcurry(integer-to-string, size: 2);
- let ser = concatenate(integer-to-string(year, size: 4), s2(month), s2(days), s2(hours), s2(minutes));
- print-zone.serial := ser;
+ if (*last-update* + make(<duration>, minutes: 4) < current-date())
+ print-zone.serial := print-zone.serial + 1;
+ *last-update* := current-date();
+ end;
//Zfqdn:mname:rname:ser:ref:ret:exp:min:ttl:timestamp:lo
- format(stream, "Z%s:%s.:%s.:%s:%d:%d:%d:%d:%d\n",
+ format(stream, "Z%s:%s.:%s.:%d:%d:%d:%d:%d:%d\n",
print-zone.zone-name, print-zone.nameservers[0].ns-name,
print-zone.hostmaster, print-zone.serial,
print-zone.refresh, print-zone.retry,
@@ -158,7 +159,7 @@
end, print-zone.mail-exchanges);
//reverse zones for networks
do(method(x)
- format(stream, "Z%s:%s.:%s.:%s:%d:%d:%d:%d:%d\n",
+ format(stream, "Z%s:%s.:%s.:%d:%d:%d:%d:%d:%d\n",
x, print-zone.nameservers[0].ns-name,
print-zone.hostmaster, print-zone.serial,
print-zone.refresh, print-zone.retry,
More information about the chatter
mailing list