* [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
@ 2025-08-13 11:03 Maximiliano Sandoval
2025-08-13 11:03 ` [pbs-devel] [PATCH proxmox 2/3] time: Split parse_time_spec parser into two Maximiliano Sandoval
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 11:03 UTC (permalink / raw)
To: pbs-devel
which are useful for tests.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
proxmox-time/src/calendar_event.rs | 1 +
proxmox-time/src/date_time_value.rs | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/proxmox-time/src/calendar_event.rs b/proxmox-time/src/calendar_event.rs
index 696a11a2..5d5bdf83 100644
--- a/proxmox-time/src/calendar_event.rs
+++ b/proxmox-time/src/calendar_event.rs
@@ -341,6 +341,7 @@ fn parse_calendar_event_incomplete(mut i: &str) -> IResult<&str, CalendarEvent>
Ok((i, event))
}
+#[derive(Debug, PartialEq)]
struct TimeSpec {
hour: Vec<DateTimeValue>,
minute: Vec<DateTimeValue>,
diff --git a/proxmox-time/src/date_time_value.rs b/proxmox-time/src/date_time_value.rs
index 4dd79d36..08692b38 100644
--- a/proxmox-time/src/date_time_value.rs
+++ b/proxmox-time/src/date_time_value.rs
@@ -1,4 +1,4 @@
-#[derive(Debug, Clone)]
+#[derive(Debug, Clone, PartialEq)]
pub(crate) enum DateTimeValue {
Single(u32),
Range(u32, u32),
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [pbs-devel] [PATCH proxmox 2/3] time: Split parse_time_spec parser into two
2025-08-13 11:03 [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
@ 2025-08-13 11:03 ` Maximiliano Sandoval
2025-08-13 11:03 ` [pbs-devel] [PATCH proxmox 3/3] time: Add more calendat event tests Maximiliano Sandoval
` (3 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 11:03 UTC (permalink / raw)
To: pbs-devel
When using a single parser "40:00" would be parsed as "40 minutes and 00
seconds", but this should error out:
```
$ systemd-analyze calendar 40:00
Failed to parse calendar specification '40:00': Invalid argument
```
We split into two parsers one in which seconds are specified and one in
which they are not and add tests for good measure.
The test added in this commit would not error out before this commit and
was erroneously producing "Every 40 minutes" as a result.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
proxmox-time/src/calendar_event.rs | 79 +++++++++++++++++++++++++++---
1 file changed, 72 insertions(+), 7 deletions(-)
diff --git a/proxmox-time/src/calendar_event.rs b/proxmox-time/src/calendar_event.rs
index 5d5bdf83..edb258ba 100644
--- a/proxmox-time/src/calendar_event.rs
+++ b/proxmox-time/src/calendar_event.rs
@@ -1,5 +1,6 @@
use anyhow::Error;
use nom::{
+ branch::alt,
bytes::complete::tag,
character::complete::space0,
combinator::opt,
@@ -397,16 +398,13 @@ fn parse_date_time_comp_list(
}
}
-fn parse_time_spec(i: &str) -> IResult<&str, TimeSpec> {
- let (i, (opt_hour, minute, opt_second)) = tuple((
- opt(terminated(parse_date_time_comp_list(0, 24), tag(":"))),
+fn parse_time_spec_with_seconds(i: &str) -> IResult<&str, TimeSpec> {
+ let (i, (hour, minute, second)) = tuple((
+ terminated(parse_date_time_comp_list(0, 24), tag(":")),
parse_date_time_comp_list(0, 60),
- opt(preceded(tag(":"), parse_date_time_comp_list(0, 60))),
+ preceded(tag(":"), parse_date_time_comp_list(0, 60)),
))(i)?;
- let hour = opt_hour.unwrap_or_default();
- let second = opt_second.unwrap_or_else(|| vec![DateTimeValue::Single(0)]);
-
Ok((
i,
TimeSpec {
@@ -417,6 +415,32 @@ fn parse_time_spec(i: &str) -> IResult<&str, TimeSpec> {
))
}
+fn parse_time_spec_without_seconds(i: &str) -> IResult<&str, TimeSpec> {
+ let (i, (opt_hour, minute)) = tuple((
+ opt(terminated(parse_date_time_comp_list(0, 24), tag(":"))),
+ parse_date_time_comp_list(0, 60),
+ ))(i)?;
+
+ let hour = opt_hour.unwrap_or_default();
+ let second = vec![DateTimeValue::Single(0)];
+
+ Ok((
+ i,
+ TimeSpec {
+ hour,
+ minute,
+ second,
+ },
+ ))
+}
+
+fn parse_time_spec(i: &str) -> IResult<&str, TimeSpec> {
+ alt((
+ parse_time_spec_with_seconds,
+ parse_time_spec_without_seconds,
+ ))(i)
+}
+
fn parse_date_spec(i: &str) -> IResult<&str, DateSpec> {
// TODO: implement ~ for days (man systemd.time)
if let Ok((i, (year, month, day))) = tuple((
@@ -443,3 +467,44 @@ fn parse_date_spec(i: &str) -> IResult<&str, DateSpec> {
Err(parse_error(i, "invalid date spec"))
}
}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn test_calendar_event_from_str() {
+ use std::str::FromStr;
+
+ assert!(CalendarEvent::from_str("15:30").is_ok());
+
+ assert!(CalendarEvent::from_str("40:00").is_err());
+ }
+
+ #[test]
+ fn test_parse_time_spec() {
+ let (input, data) = parse_time_spec("15:30").unwrap();
+ assert_eq!(input, "");
+ assert_eq!(
+ data,
+ TimeSpec {
+ hour: vec![DateTimeValue::Single(15)],
+ minute: vec![DateTimeValue::Single(30)],
+ second: vec![DateTimeValue::Single(0)]
+ }
+ );
+
+ // These do not strictly fail, but should fail when parsed with FromStr
+ // since there will be input left to consume.
+ let (input, data) = parse_time_spec("40:00").unwrap();
+ assert_eq!(input, ":00");
+ assert_eq!(
+ data,
+ TimeSpec {
+ hour: vec![],
+ minute: vec![DateTimeValue::Single(40)],
+ second: vec![DateTimeValue::Single(0)]
+ }
+ );
+ }
+}
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [pbs-devel] [PATCH proxmox 3/3] time: Add more calendat event tests
2025-08-13 11:03 [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
2025-08-13 11:03 ` [pbs-devel] [PATCH proxmox 2/3] time: Split parse_time_spec parser into two Maximiliano Sandoval
@ 2025-08-13 11:03 ` Maximiliano Sandoval
2025-08-13 11:22 ` [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
` (2 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 11:03 UTC (permalink / raw)
To: pbs-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
proxmox-time/src/calendar_event.rs | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/proxmox-time/src/calendar_event.rs b/proxmox-time/src/calendar_event.rs
index edb258ba..8222bcec 100644
--- a/proxmox-time/src/calendar_event.rs
+++ b/proxmox-time/src/calendar_event.rs
@@ -477,8 +477,14 @@ mod tests {
use std::str::FromStr;
assert!(CalendarEvent::from_str("15:30").is_ok());
+ assert!(CalendarEvent::from_str("0").is_ok());
+ assert!(CalendarEvent::from_str("59").is_ok());
+ assert!(CalendarEvent::from_str("15:30:59").is_ok());
assert!(CalendarEvent::from_str("40:00").is_err());
+ assert!(CalendarEvent::from_str("60").is_err());
+ assert!(CalendarEvent::from_str("24:61").is_err());
+ assert!(CalendarEvent::from_str("15:30:60").is_err());
}
#[test]
@@ -494,6 +500,10 @@ mod tests {
}
);
+ assert!(parse_time_spec("1:00:00").is_ok());
+ assert!(parse_time_spec("1:00").is_ok());
+ assert!(parse_time_spec("59").is_ok());
+
// These do not strictly fail, but should fail when parsed with FromStr
// since there will be input left to consume.
let (input, data) = parse_time_spec("40:00").unwrap();
@@ -506,5 +516,23 @@ mod tests {
second: vec![DateTimeValue::Single(0)]
}
);
+
+ assert!(parse_time_spec("61").is_err());
+ // This should be 1:00 instead.
+ assert!(parse_time_spec("60").is_err());
+
+ // Can only partially parse
+ let (input, _data) = parse_time_spec("24:61").unwrap();
+ assert_eq!(input, ":61");
+
+
+ assert_eq!(
+ data,
+ TimeSpec {
+ hour: vec![],
+ minute: vec![DateTimeValue::Single(40)],
+ second: vec![DateTimeValue::Single(0)]
+ }
+ );
}
}
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 11:03 [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
2025-08-13 11:03 ` [pbs-devel] [PATCH proxmox 2/3] time: Split parse_time_spec parser into two Maximiliano Sandoval
2025-08-13 11:03 ` [pbs-devel] [PATCH proxmox 3/3] time: Add more calendat event tests Maximiliano Sandoval
@ 2025-08-13 11:22 ` Maximiliano Sandoval
2025-08-13 11:26 ` Maximiliano Sandoval
2025-08-13 13:07 ` [pbs-devel] superseded: " Maximiliano Sandoval
4 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 11:22 UTC (permalink / raw)
To: pbs-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> which are useful for tests.
>
> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
> ---
> proxmox-time/src/calendar_event.rs | 1 +
> proxmox-time/src/date_time_value.rs | 2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
In a support case we found a system with 40:00 as a schedule in a backup
job. It is possible to entire this calendar event on the web UI.
After this series the web UI won't allow it anymore with an error:
```
Parameter verification failed. (400)
schedule: invalid format - invalid calendar event '40:00' - unable to parse calendar event at ':00' - Nom(Eof)
```
--
Maximiliano
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 11:03 [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
` (2 preceding siblings ...)
2025-08-13 11:22 ` [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
@ 2025-08-13 11:26 ` Maximiliano Sandoval
2025-08-13 11:27 ` Dominik Csapak
2025-08-13 12:31 ` Fiona Ebner
2025-08-13 13:07 ` [pbs-devel] superseded: " Maximiliano Sandoval
4 siblings, 2 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 11:26 UTC (permalink / raw)
To: pbs-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> which are useful for tests.
>
> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
> ---
> proxmox-time/src/calendar_event.rs | 1 +
> proxmox-time/src/date_time_value.rs | 2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
In a support case we found a system with 40:00 as a schedule in a backup
job. It is possible to entire this calendar event on the web UI.
After this series the web UI won't allow it anymore with an error:
```
Parameter verification failed. (400)
schedule: invalid format - invalid calendar event '40:00' - unable to parse calendar event at ':00' - Nom(Eof)
```
--
Maximiliano
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 11:26 ` Maximiliano Sandoval
@ 2025-08-13 11:27 ` Dominik Csapak
2025-08-13 11:30 ` Maximiliano Sandoval
2025-08-13 12:31 ` Fiona Ebner
1 sibling, 1 reply; 12+ messages in thread
From: Dominik Csapak @ 2025-08-13 11:27 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Maximiliano Sandoval
On 8/13/25 13:26, Maximiliano Sandoval wrote:
>
> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>
>> which are useful for tests.
>>
>> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
>> ---
>> proxmox-time/src/calendar_event.rs | 1 +
>> proxmox-time/src/date_time_value.rs | 2 +-
>> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> In a support case we found a system with 40:00 as a schedule in a backup
> job. It is possible to entire this calendar event on the web UI.
>
> After this series the web UI won't allow it anymore with an error:
>
> ```
> Parameter verification failed. (400)
>
> schedule: invalid format - invalid calendar event '40:00' - unable to parse calendar event at ':00' - Nom(Eof)
> ```
>
but that is a valid calendar spec? it just means something different
than what the user expected ? (every hour at minute 40)
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 11:27 ` Dominik Csapak
@ 2025-08-13 11:30 ` Maximiliano Sandoval
2025-08-13 11:32 ` Dominik Csapak
0 siblings, 1 reply; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 11:30 UTC (permalink / raw)
To: Dominik Csapak; +Cc: Proxmox Backup Server development discussion
Dominik Csapak <d.csapak@proxmox.com> writes:
> On 8/13/25 13:26, Maximiliano Sandoval wrote:
>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>
>>> which are useful for tests.
>>>
>>> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
>>> ---
>>> proxmox-time/src/calendar_event.rs | 1 +
>>> proxmox-time/src/date_time_value.rs | 2 +-
>>> 2 files changed, 2 insertions(+), 1 deletion(-)
>> In a support case we found a system with 40:00 as a schedule in a backup
>> job. It is possible to entire this calendar event on the web UI.
>> After this series the web UI won't allow it anymore with an error:
>> ```
>> Parameter verification failed. (400)
>> schedule: invalid format - invalid calendar event '40:00' - unable to parse
>> calendar event at ':00' - Nom(Eof)
>> ```
>>
>
> but that is a valid calendar spec? it just means something different than what
> the user expected ? (every hour at minute 40)
At least systemd-analyze does not like it:
```
systemd-analyze calendar 40:00
Failed to parse calendar specification '40:00': Invalid argument
```
I would hope that 20:00 is no different than 40:00 (e.g. the first
component refers to hours). Is the "calendar spec" defined somewhere?
--
Maximiliano
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 11:30 ` Maximiliano Sandoval
@ 2025-08-13 11:32 ` Dominik Csapak
0 siblings, 0 replies; 12+ messages in thread
From: Dominik Csapak @ 2025-08-13 11:32 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: Proxmox Backup Server development discussion
On 8/13/25 13:29, Maximiliano Sandoval wrote:
> Dominik Csapak <d.csapak@proxmox.com> writes:
>
>> On 8/13/25 13:26, Maximiliano Sandoval wrote:
>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>
>>>> which are useful for tests.
>>>>
>>>> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
>>>> ---
>>>> proxmox-time/src/calendar_event.rs | 1 +
>>>> proxmox-time/src/date_time_value.rs | 2 +-
>>>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>> In a support case we found a system with 40:00 as a schedule in a backup
>>> job. It is possible to entire this calendar event on the web UI.
>>> After this series the web UI won't allow it anymore with an error:
>>> ```
>>> Parameter verification failed. (400)
>>> schedule: invalid format - invalid calendar event '40:00' - unable to parse
>>> calendar event at ':00' - Nom(Eof)
>>> ```
>>>
>>
>> but that is a valid calendar spec? it just means something different than what
>> the user expected ? (every hour at minute 40)
>
> At least systemd-analyze does not like it:
>
> ```
> systemd-analyze calendar 40:00
> Failed to parse calendar specification '40:00': Invalid argument
> ```
>
ok fair point
> I would hope that 20:00 is no different than 40:00 (e.g. the first
> component refers to hours). Is the "calendar spec" defined somewhere?
>
we have this:
https://pbs.proxmox.com/docs/calendarevents.html
which actually supports your change (hours not optional in the timespec)
i just fear that some people already have configures such jobs that will
not run anymore after this change?
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 11:26 ` Maximiliano Sandoval
2025-08-13 11:27 ` Dominik Csapak
@ 2025-08-13 12:31 ` Fiona Ebner
2025-08-13 12:38 ` Maximiliano Sandoval
1 sibling, 1 reply; 12+ messages in thread
From: Fiona Ebner @ 2025-08-13 12:31 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Maximiliano Sandoval
Am 13.08.25 um 1:26 PM schrieb Maximiliano Sandoval:
>
> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>
>> which are useful for tests.
>>
>> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
>> ---
>> proxmox-time/src/calendar_event.rs | 1 +
>> proxmox-time/src/date_time_value.rs | 2 +-
>> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> In a support case we found a system with 40:00 as a schedule in a backup
> job. It is possible to entire this calendar event on the web UI.
>
> After this series the web UI won't allow it anymore with an error:
>
> ```
> Parameter verification failed. (400)
>
> schedule: invalid format - invalid calendar event '40:00' - unable to parse calendar event at ':00' - Nom(Eof)
> ```
>
Note that we have the same behavior in Proxmox VE:
https://bugzilla.proxmox.com/show_bug.cgi?id=6161
If it is changed, it should be made consistent between products.
Unfortunately, this one got missed before the major releases, as one
could consider this a breaking change.
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 12:31 ` Fiona Ebner
@ 2025-08-13 12:38 ` Maximiliano Sandoval
2025-08-13 12:41 ` Fiona Ebner
0 siblings, 1 reply; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 12:38 UTC (permalink / raw)
To: Fiona Ebner; +Cc: Proxmox Backup Server development discussion
Fiona Ebner <f.ebner@proxmox.com> writes:
> Am 13.08.25 um 1:26 PM schrieb Maximiliano Sandoval:
>>
>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>
>>> which are useful for tests.
>>>
>>> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
>>> ---
>>> proxmox-time/src/calendar_event.rs | 1 +
>>> proxmox-time/src/date_time_value.rs | 2 +-
>>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> In a support case we found a system with 40:00 as a schedule in a backup
>> job. It is possible to entire this calendar event on the web UI.
>>
>> After this series the web UI won't allow it anymore with an error:
>>
>> ```
>> Parameter verification failed. (400)
>>
>> schedule: invalid format - invalid calendar event '40:00' - unable to parse calendar event at ':00' - Nom(Eof)
>> ```
>>
>
> Note that we have the same behavior in Proxmox VE:
> https://bugzilla.proxmox.com/show_bug.cgi?id=6161
>
> If it is changed, it should be made consistent between products.
> Unfortunately, this one got missed before the major releases, as one
> could consider this a breaking change.
The Proxmox VE web UI uses this crate so it would be consistent, I
tested the change against it.
I can do a v2 referencing the bugzilla entry, and add a test for "24:00"
which returns an error with this patch (as it should).
--
Maximiliano
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 12:38 ` Maximiliano Sandoval
@ 2025-08-13 12:41 ` Fiona Ebner
0 siblings, 0 replies; 12+ messages in thread
From: Fiona Ebner @ 2025-08-13 12:41 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: Proxmox Backup Server development discussion
Am 13.08.25 um 2:37 PM schrieb Maximiliano Sandoval:
> Fiona Ebner <f.ebner@proxmox.com> writes:
>
>> Am 13.08.25 um 1:26 PM schrieb Maximiliano Sandoval:
>>>
>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>
>>>> which are useful for tests.
>>>>
>>>> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
>>>> ---
>>>> proxmox-time/src/calendar_event.rs | 1 +
>>>> proxmox-time/src/date_time_value.rs | 2 +-
>>>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>>
>>> In a support case we found a system with 40:00 as a schedule in a backup
>>> job. It is possible to entire this calendar event on the web UI.
>>>
>>> After this series the web UI won't allow it anymore with an error:
>>>
>>> ```
>>> Parameter verification failed. (400)
>>>
>>> schedule: invalid format - invalid calendar event '40:00' - unable to parse calendar event at ':00' - Nom(Eof)
>>> ```
>>>
>>
>> Note that we have the same behavior in Proxmox VE:
>> https://bugzilla.proxmox.com/show_bug.cgi?id=6161
>>
>> If it is changed, it should be made consistent between products.
>> Unfortunately, this one got missed before the major releases, as one
>> could consider this a breaking change.
>
> The Proxmox VE web UI uses this crate so it would be consistent, I
> tested the change against it.
>
> I can do a v2 referencing the bugzilla entry, and add a test for "24:00"
> which returns an error with this patch (as it should).
Ok, great! But I'm not sure if this change should be done right now.
Again, this can break existing jobs!
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [pbs-devel] superseded: [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec
2025-08-13 11:03 [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
` (3 preceding siblings ...)
2025-08-13 11:26 ` Maximiliano Sandoval
@ 2025-08-13 13:07 ` Maximiliano Sandoval
4 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2025-08-13 13:07 UTC (permalink / raw)
To: pbs-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> which are useful for tests.
>
> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Superseded by:
https://lore.proxmox.com/all/20250813124347.452585-1-m.sandoval@proxmox.com/
--
Maximiliano
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-08-13 13:06 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-08-13 11:03 [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
2025-08-13 11:03 ` [pbs-devel] [PATCH proxmox 2/3] time: Split parse_time_spec parser into two Maximiliano Sandoval
2025-08-13 11:03 ` [pbs-devel] [PATCH proxmox 3/3] time: Add more calendat event tests Maximiliano Sandoval
2025-08-13 11:22 ` [pbs-devel] [PATCH proxmox 1/3] time: Add traits to DateTimeValue and TimeSpec Maximiliano Sandoval
2025-08-13 11:26 ` Maximiliano Sandoval
2025-08-13 11:27 ` Dominik Csapak
2025-08-13 11:30 ` Maximiliano Sandoval
2025-08-13 11:32 ` Dominik Csapak
2025-08-13 12:31 ` Fiona Ebner
2025-08-13 12:38 ` Maximiliano Sandoval
2025-08-13 12:41 ` Fiona Ebner
2025-08-13 13:07 ` [pbs-devel] superseded: " Maximiliano Sandoval
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox