+5891. [func] Key timing options for `dnssec-settime` and related
+ utilities now accept "UNSET" times as printed by
+ `dnssec-settime -p`. [GL #3361]
+
5890. [bug] When the fetches-per-server quota was adjusted
because of an authoritative server timing out more
or less frequently, it was incorrectly set to 1
Timing Options
~~~~~~~~~~~~~~
-Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
-argument begins with a ``+`` or ``-``, it is interpreted as an offset from
-the present time. For convenience, if such an offset is followed by one
-of the suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, then the offset is
-computed in years (defined as 365 24-hour days, ignoring leap years),
-months (defined as 30 24-hour days), weeks, days, hours, or minutes,
-respectively. Without a suffix, the offset is computed in seconds. To
-explicitly prevent a date from being set, use ``none`` or ``never``.
+Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
+(which is the format used inside key files),
+or 'Day Mon DD HH:MM:SS YYYY' (as printed by ``dnssec-settime -p``),
+or UNIX epoch time (as printed by ``dnssec-settime -up``),
+or the literal ``now``.
+
+The argument can be followed by ``+`` or ``-`` and an offset from the
+given time. The literal ``now`` can be omitted before an offset. The
+offset can be followed by one of the suffixes ``y``, ``mo``, ``w``,
+``d``, ``h``, or ``mi``, so that it is computed in years (defined as
+365 24-hour days, ignoring leap years), months (defined as 30 24-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
+
+To explicitly prevent a date from being set, use ``none``, ``never``,
+or ``unset``.
+
+All these formats are case-insensitive.
.. option:: -P date/offset
Timing Options
~~~~~~~~~~~~~~
-Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
-argument begins with a ``+`` or ``-``, it is interpreted as an offset from
-the present time. For convenience, if such an offset is followed by one
-of the suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, then the offset is
-computed in years (defined as 365 24-hour days, ignoring leap years),
-months (defined as 30 24-hour days), weeks, days, hours, or minutes,
-respectively. Without a suffix, the offset is computed in seconds. To
-explicitly prevent a date from being set, use ``none`` or ``never``.
+Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS
+(which is the format used inside key files),
+or 'Day Mon DD HH:MM:SS YYYY' (as printed by ``dnssec-settime -p``),
+or UNIX epoch time (as printed by ``dnssec-settime -up``),
+or the literal ``now``.
+
+The argument can be followed by ``+`` or ``-`` and an offset from the
+given time. The literal ``now`` can be omitted before an offset. The
+offset can be followed by one of the suffixes ``y``, ``mo``, ``w``,
+``d``, ``h``, or ``mi``, so that it is computed in years (defined as
+365 24-hour days, ignoring leap years), months (defined as 30 24-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
+
+To explicitly prevent a date from being set, use ``none``, ``never``,
+or ``unset``.
+
+All these formats are case-insensitive.
.. option:: -P date/offset
or UNIX epoch time (as printed by ``dnssec-settime -up``),
or the literal ``now``.
-The argument can be followed by '+' or '-' and an offset from the
+The argument can be followed by ``+`` or ``-`` and an offset from the
given time. The literal ``now`` can be omitted before an offset. The
-offset can be followed by one of the suffixes 'y', 'mo', 'w', 'd',
-'h', or 'mi', so that it is computed in years (defined as 365 24-hour
-days, ignoring leap years), months (defined as 30 24-hour days),
-weeks, days, hours, or minutes, respectively. Without a suffix, the
-offset is computed in seconds.
+offset can be followed by one of the suffixes ``y``, ``mo``, ``w``,
+``d``, ``h``, or ``mi``, so that it is computed in years (defined as
+365 24-hour days, ignoring leap years), months (defined as 30 24-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
-To unset a date, use ``none`` or ``never``.
+To unset a date, use ``none``, ``never``, or ``unset``.
.. option:: -P date/offset
or UNIX epoch time (as printed by ``dnssec-settime -up``),
or the literal ``now``.
-The argument can be followed by '+' or '-' and an offset from the
+The argument can be followed by ``+`` or ``-`` and an offset from the
given time. The literal ``now`` can be omitted before an offset. The
-offset can be followed by one of the suffixes 'y', 'mo', 'w', 'd',
-'h', or 'mi', so that it is computed in years (defined as 365 24-hour
-days, ignoring leap years), months (defined as 30 24-hour days),
-weeks, days, hours, or minutes, respectively. Without a suffix, the
-offset is computed in seconds.
+offset can be followed by one of the suffixes ``y``, ``mo``, ``w``,
+``d``, ``h``, or ``mi``, so that it is computed in years (defined as
+365 24-hour days, ignoring leap years), months (defined as 30 24-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
-To unset a date, use ``none`` or ``never``.
+To unset a date, use ``none``, ``never``, or ``unset``.
+
+All these formats are case-insensitive.
.. option:: -P date/offset
static bool
isnone(const char *str) {
return ((strcasecmp(str, "none") == 0) ||
- (strcasecmp(str, "never") == 0));
+ (strcasecmp(str, "never") == 0) ||
+ (strcasecmp(str, "unset") == 0));
}
dns_ttl_t
echo_i "checking -p output time is accepted ($n)"
t=`$SETTIME -pA $key | sed 's/.*: //'`
-$SETTIME -Psync "$t" $key > /dev/null 2>&1 || ret=1
+$SETTIME -Psync "$t" $key > settime2.test$n 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
echo_i "checking -up output time is accepted ($n)"
t=`$SETTIME -upA $key | sed 's/.*: //'`
-$SETTIME -Dsync "$t" $key > /dev/null 2>&1 || ret=1
+$SETTIME -Dsync "$t" $key > settime2.test$n 2>&1 || ret=1
+n=`expr $n + 1`
+if [ $ret != 0 ]; then echo_i "failed"; fi
+status=`expr $status + $ret`
+
+echo_i "checking -p unset time is accepted ($n)"
+# The Delete timing metadata is unset.
+t=`$SETTIME -pD $key | sed 's/.*: //'`
+$SETTIME -Psync "$t" $key > settime2.test$n 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
.UNINDENT
.SH TIMING OPTIONS
.sp
-Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
-argument begins with a \fB+\fP or \fB\-\fP, it is interpreted as an offset from
-the present time. For convenience, if such an offset is followed by one
-of the suffixes \fBy\fP, \fBmo\fP, \fBw\fP, \fBd\fP, \fBh\fP, or \fBmi\fP, then the offset is
-computed in years (defined as 365 24\-hour days, ignoring leap years),
-months (defined as 30 24\-hour days), weeks, days, hours, or minutes,
-respectively. Without a suffix, the offset is computed in seconds. To
-explicitly prevent a date from being set, use \fBnone\fP or \fBnever\fP\&.
+Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
+(which is the format used inside key files),
+or \(aqDay Mon DD HH:MM:SS YYYY\(aq (as printed by \fBdnssec\-settime \-p\fP),
+or UNIX epoch time (as printed by \fBdnssec\-settime \-up\fP),
+or the literal \fBnow\fP\&.
+.sp
+The argument can be followed by \fB+\fP or \fB\-\fP and an offset from the
+given time. The literal \fBnow\fP can be omitted before an offset. The
+offset can be followed by one of the suffixes \fBy\fP, \fBmo\fP, \fBw\fP,
+\fBd\fP, \fBh\fP, or \fBmi\fP, so that it is computed in years (defined as
+365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
+.sp
+To explicitly prevent a date from being set, use \fBnone\fP, \fBnever\fP,
+or \fBunset\fP\&.
+.sp
+All these formats are case\-insensitive.
.INDENT 0.0
.TP
.B \-P date/offset
.UNINDENT
.SH TIMING OPTIONS
.sp
-Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
-argument begins with a \fB+\fP or \fB\-\fP, it is interpreted as an offset from
-the present time. For convenience, if such an offset is followed by one
-of the suffixes \fBy\fP, \fBmo\fP, \fBw\fP, \fBd\fP, \fBh\fP, or \fBmi\fP, then the offset is
-computed in years (defined as 365 24\-hour days, ignoring leap years),
-months (defined as 30 24\-hour days), weeks, days, hours, or minutes,
-respectively. Without a suffix, the offset is computed in seconds. To
-explicitly prevent a date from being set, use \fBnone\fP or \fBnever\fP\&.
+Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS
+(which is the format used inside key files),
+or \(aqDay Mon DD HH:MM:SS YYYY\(aq (as printed by \fBdnssec\-settime \-p\fP),
+or UNIX epoch time (as printed by \fBdnssec\-settime \-up\fP),
+or the literal \fBnow\fP\&.
+.sp
+The argument can be followed by \fB+\fP or \fB\-\fP and an offset from the
+given time. The literal \fBnow\fP can be omitted before an offset. The
+offset can be followed by one of the suffixes \fBy\fP, \fBmo\fP, \fBw\fP,
+\fBd\fP, \fBh\fP, or \fBmi\fP, so that it is computed in years (defined as
+365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
+.sp
+To explicitly prevent a date from being set, use \fBnone\fP, \fBnever\fP,
+or \fBunset\fP\&.
+.sp
+All these formats are case\-insensitive.
.INDENT 0.0
.TP
.B \-P date/offset
or UNIX epoch time (as printed by \fBdnssec\-settime \-up\fP),
or the literal \fBnow\fP\&.
.sp
-The argument can be followed by \(aq+\(aq or \(aq\-\(aq and an offset from the
+The argument can be followed by \fB+\fP or \fB\-\fP and an offset from the
given time. The literal \fBnow\fP can be omitted before an offset. The
-offset can be followed by one of the suffixes \(aqy\(aq, \(aqmo\(aq, \(aqw\(aq, \(aqd\(aq,
-\(aqh\(aq, or \(aqmi\(aq, so that it is computed in years (defined as 365 24\-hour
-days, ignoring leap years), months (defined as 30 24\-hour days),
-weeks, days, hours, or minutes, respectively. Without a suffix, the
-offset is computed in seconds.
+offset can be followed by one of the suffixes \fBy\fP, \fBmo\fP, \fBw\fP,
+\fBd\fP, \fBh\fP, or \fBmi\fP, so that it is computed in years (defined as
+365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
.sp
-To unset a date, use \fBnone\fP or \fBnever\fP\&.
+To unset a date, use \fBnone\fP, \fBnever\fP, or \fBunset\fP\&.
.INDENT 0.0
.TP
.B \-P date/offset
or UNIX epoch time (as printed by \fBdnssec\-settime \-up\fP),
or the literal \fBnow\fP\&.
.sp
-The argument can be followed by \(aq+\(aq or \(aq\-\(aq and an offset from the
+The argument can be followed by \fB+\fP or \fB\-\fP and an offset from the
given time. The literal \fBnow\fP can be omitted before an offset. The
-offset can be followed by one of the suffixes \(aqy\(aq, \(aqmo\(aq, \(aqw\(aq, \(aqd\(aq,
-\(aqh\(aq, or \(aqmi\(aq, so that it is computed in years (defined as 365 24\-hour
-days, ignoring leap years), months (defined as 30 24\-hour days),
-weeks, days, hours, or minutes, respectively. Without a suffix, the
-offset is computed in seconds.
+offset can be followed by one of the suffixes \fBy\fP, \fBmo\fP, \fBw\fP,
+\fBd\fP, \fBh\fP, or \fBmi\fP, so that it is computed in years (defined as
+365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour
+days), weeks, days, hours, or minutes, respectively. Without a suffix,
+the offset is computed in seconds.
.sp
-To unset a date, use \fBnone\fP or \fBnever\fP\&.
+To unset a date, use \fBnone\fP, \fBnever\fP, or \fBunset\fP\&.
+.sp
+All these formats are case\-insensitive.
.INDENT 0.0
.TP
.B \-P date/offset