<tt><font size=2>Stephen Morris wrote on 10/19/2009 12:44:47 PM:<br>
> <br>
> Ray.Bellis@nominet.org.uk wrote on 19/10/2009 11:34:13:<br>
> <br>
> > > Hi Ray, <br>
> > > <br>
> > > Where do modern implementations get their 'default TTL'
value from <br>
> > > if the per record TTL and TTL directives are omitted? <br>
> > <br>
> > Damned good question.  RFC 2308 appears to be silent on
that <br>
> issue, except to say: <br>
> > <br>
> > "Where a server does not require RRs to include the TTL
value <br>
> explicitly, it <br>
> > should provide a mechanism, ** not being the value of the MINIMUM
<br>
> field of the<br>
> > SOA record **, from which the missing TTL values are obtained."
<br>
> (my emphasis). <br>
> > <br>
> > Ray <br>
> <br>
> Two options: <br>
> <br>
> 1) Add an entry in the policy configuration file to specify a <br>
> default TTL. (This fits in with the idea of "providing a mechanism
<br>
> from which the missing TTL values are obtained".) </font></tt>
<br><tt><font size=2>> <br>
> 2) Flag it as an error.  If a user is telling OpenDNSSEC to sign
a <br>
> zone and hasn't specified a TTL, and OpenDNSSEC doesn't allow a <br>
> default TTL to be specified, how can the user expect to get anything<br>
> other than a random value? <br>
> <br>
> Although my gut instinct is to go for (2), I think (1) might be more<br>
> acceptable, especially in the case of thousands of zones all being
<br>
> signed using the same policy. <br>
</font></tt>
<br><tt><font size=2>How about </font></tt>
<br>
<br><tt><font size=2>3) In absence of an explicit TTL and a $TTL directive,
the SOA Minimum value is used. That is what all modern implementations
use. I think the default behavior of BIND (i.e. named, and several of its
tools), is to still use the "SOA Minimum Field", issue a notice,
and move on. For instance named-compilezone compiles the following zone:</font></tt>
<br>
<br><tt><font size=2>@ IN SOA a a 111 2222 3333 4444 5555 </font></tt>
<br><tt><font size=2>  NS a</font></tt>
<br><tt><font size=2>a A 192.0.1.123</font></tt>
<br>
<br><tt><font size=2>issues the following information:</font></tt>
<br>
<br><tt><font size=2>/usr/sbin/named-compilezone -o example.zone example
example.file </font></tt>
<br><tt><font size=2>  example.file:1: no TTL specified; using SOA
MINTTL instead</font></tt>
<br><tt><font size=2>  zone example/IN: loaded serial 111</font></tt>
<br><tt><font size=2>  dump zone to example.zone...done</font></tt>
<br><tt><font size=2>  OK</font></tt>
<br>
<br><tt><font size=2>which results in the following zone:</font></tt>
<br>
<br><tt><font size=2>example. 5555 IN SOA a.example. a.example. 111 2222
3333 4444 5555</font></tt>
<br><tt><font size=2>example. 5555 IN NS        a.example.</font></tt>
<br><tt><font size=2>a.example. 5555 IN A 192.0.1.123</font></tt>
<br>
<br><tt><font size=2>This way lies in the path of least surprise.</font></tt>
<br>
<br><tt><font size=2>Kind regards,</font></tt>
<br>
<br><tt><font size=2>Roy</font></tt>
<br>