Make order of user privileges deterministic during serialisation

This commit is contained in:
Lennart
2025-07-29 16:48:03 +02:00
parent 90c38e7703
commit 038942ff16

View File

@@ -1,9 +1,10 @@
use itertools::Itertools;
use quick_xml::name::Namespace;
use rustical_xml::{XmlDeserialize, XmlSerialize};
use std::collections::{HashMap, HashSet};
// https://datatracker.ietf.org/doc/html/rfc3744
#[derive(Debug, Clone, XmlSerialize, XmlDeserialize, Eq, Hash, PartialEq)]
#[derive(Debug, Clone, XmlSerialize, XmlDeserialize, Eq, Hash, PartialEq, PartialOrd, Ord)]
pub enum UserPrivilege {
Read,
Write,
@@ -30,7 +31,7 @@ impl XmlSerialize for UserPrivilegeSet {
}
FakeUserPrivilegeSet {
privileges: self.privileges.iter().cloned().collect(),
privileges: self.privileges.iter().cloned().sorted().collect(),
}
.serialize(ns, tag, namespaces, writer)
}