Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Security identifiers.
Sid implements the “Security Identifier” data type commonly used on the Microsoft Windows platform. When processing input, it tries to adhere as closely to the specification as possible. Optionally, a special mode for the text representation is available as the MSStringFmt module which aims to be bug-for-bug compatible with the official implementation. There is no such mode for the two identical binary representations due to the fact that they don’t leave room for ambiguity.
type sub_auths = Stdint.Uint32.t array
val create : Stdint.Uint64.t -> Stdint.Uint32.t array -> t option
create sas ia
constructs a SID with the identifier authority ia
and the subauthorities sas
. The operation will return None
if sa
contains either zero or more than fifteen subauthorities, or if ia
exceeds 48 bits.
val create_unsafe : Stdint.Uint64.t -> Stdint.Uint32.t array -> t
create_unsafe sas ia
constructs a SID with the identifier authority ia
and the sub authorities sas
without validating the inputs. Use with caution.
val equal_sub_auths : Stdint.Uint32.t array -> Stdint.Uint32.t array -> bool
equal_sub_auths sa sb
tests whether sa
and sb
have identical subauthorities.
val get_ident_auth : t -> Stdint.Uint64.t
get_ident_auth s
get the identifier authority of SID s
.
module StringFmt : sig ... end
Conversions to and from the string format syntax (MS-DTYP 2.4.2.1).
module MSStringFmt : sig ... end
Conversions to and from the string format syntax with permissive input validation.
module PacketRep : sig ... end
Conversion to and from the packet representation (MS-DTYP 2.4.2.2).
module WellKnown : sig ... end
Pre-defined SID constants and constructors with fixed identifier authority (MS-DTYP 2.4.2.4).
val to_string : t -> string
to_string s
is an alias for StringFmt.encode s
.
val of_bytes : ?endian:PacketRep.endian -> bytes -> (t, string) result
of_bytes endian b
is an alias for PacketRep.decode endian b
.
val to_bytes : ?endian:PacketRep.endian -> t -> bytes
to_bytes endian b
is an alias for PacketRep.encode endian b
.