Patch: {max,min}-{refresh,retry}-time

Hi,

I wrote a patch to limit too long or too short SOA refresh and retry parameters.
This allows the slave server to override the definition of SOA RR.
Changes are welcome.

Regards.

(attachments)

nsd-limit-soa-refresh.patch (13.8 KB)

Hi,

Thanks for applying the patch!

Hi Wouter,

I wrote a patch to limit too long or too short SOA refresh and
retry parameters. This allows the slave server to override the
definition of SOA RR. Changes are welcome.

Thank you for the patch. I have applied it to the code repository.
I hope the options are useful.

Thanks for accepting these patches. They can certainly be useful. We
have occasionally suffered from refresh floods when a zone that we
slave decides to set the refresh to 1 second.

Regards,
Anand

Hi,

I also appreciate these options but I'd like
to comment on default value of min-{refresh,retry}-time,
which seems to be 300 and 500 respectively.

It changes default behavior of NSD, and will surprise people (including me)
who really want small REFRESH value to minimise zone propagation time.

So I suggest that default value of min-{refresh,retry}-time option
to be 0, to leave NSD's default behavior unchanged.

The option is useful for to "secondary DNS provider"
who want to supress refresh flooding. If they want to do it
they would select appropriate values and set these options.

Regards,

I would like to echo Daisuke's comment. If you introduce this new
feature, don't also activate it automatically, because it will catch
users by surprise. Remember what happened with RRL? If RRL is compiled
in, then NSD also applies some hard-coded defaults, and a user has to
explicitly turn off RRL. So a packager who wants to ship NSD with RRL
compiled it, but not on by default has to use the option:

--enable-ratelimit-default-is-off

New features, especially those that change how the software departs from
a standard, should default to off.

Regards,
Anand

Hi Anand, Daisuke,

Allright, changed defaults to 0 and 0 for min-refresh-time and
min-retry-time. Left default values for max (they seem large enough to
not impact people).

Best regards, Wouter