From 1b38d806fc33269eb757ca86621b9181c726bd59 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Mon, 15 Sep 2025 15:37:06 -0700 Subject: [PATCH] Make sure re-signing period is less than 30 days https://github.com/webmin/webmin/issues/2550 --- bind8/lang/en | 1 + bind8/save_dnssec.cgi | 1 + bind8/save_dnssectools.cgi | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/bind8/lang/en b/bind8/lang/en index 5366c153e..221259c2c 100644 --- a/bind8/lang/en +++ b/bind8/lang/en @@ -1207,6 +1207,7 @@ dnssec_secs=seconds dnssec_desc=Zones signed with DNSSEC typically have two keys - a zone key which must be re-generated and signed regularly, and a key signing key which remains constant. This page allows you to configure Webmin to perform this re-signing automatically. dnssec_err=Failed to save DNSSEC key re-signing dnssec_eperiod=Missing or invalid number of days between re-signs +dnssec_eperiod30=Number of days between re-signs must be less than 30 dnssectools_title=DNSSEC-Tools Automation dt_conf_title=DNSSEC-Tools Automation diff --git a/bind8/save_dnssec.cgi b/bind8/save_dnssec.cgi index fd49ddd04..3dd9ff9c3 100755 --- a/bind8/save_dnssec.cgi +++ b/bind8/save_dnssec.cgi @@ -16,6 +16,7 @@ require './bind8-lib.pl'; $access{'defaults'} || &error($text{'dnssec_ecannot'}); $in{'period'} =~ /^[1-9]\d*$/ || &error($text{'dnssec_eperiod'}); +$in{'period'} < 30 || &error($text{'dnssec_eperiod30'}); # Create or delete the cron job my $job = &get_dnssec_cron_job(); diff --git a/bind8/save_dnssectools.cgi b/bind8/save_dnssectools.cgi index 70ba22480..3aa3002fc 100755 --- a/bind8/save_dnssectools.cgi +++ b/bind8/save_dnssectools.cgi @@ -48,8 +48,10 @@ $in{'dt_zsklife'} =~ /(\b[0-9]+\b)/ || &error($text{'dt_conf_ezsklife'}); $nv{'zsklife'} = $1; -&save_dnssectools_directive($conf, \%nv); +$in{'period'} =~ /^[1-9]\d*$/ || &error($text{'dnssec_eperiod'}); +$in{'period'} < 30 || &error($text{'dnssec_eperiod30'}); +&save_dnssectools_directive($conf, \%nv); &lock_file($module_config_file); $config{'dnssec_period'} = $in{'period'};