sddl 0.0.13

a library to parse and analyse SDDL Strings
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use lalrpop_util::{lexer::Token, ParseError};

use crate::{Error, Sid};

pub(crate) trait NewDomainSid<L, T> {
    fn new_domain_sid(&self, rid: u32) -> Result<Sid, ParseError<usize, T, Error>>;
}

impl<'input> NewDomainSid<usize, Token<'input>> for Option<&[u32]> {
    fn new_domain_sid(&self, rid: u32) -> Result<Sid, ParseError<usize, Token<'input>, Error>> {
        self.map(|domain| crate::Sid::new_with_domain(rid, domain))
            .ok_or(ParseError::User {
                error: crate::Error::MissingDomainInformation,
            })
    }
}