claims

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 13, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	ClaimsSyntaxUUID = &uuid.UUID{TimeLow: 0xbba9cb76, TimeMid: 0xeb0c, TimeHiAndVersion: 0x462c, ClockSeqHiAndReserved: 0xaa, ClockSeqLow: 0x1b, Node: [6]uint8{0x5d, 0x8c, 0x34, 0x41, 0x57, 0x1}}
	// Syntax ID
	ClaimsSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: ClaimsSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "adts/claims"
)

Functions

func ClaimsServerHandle

func ClaimsServerHandle(ctx context.Context, o ClaimsServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewClaimsServerHandle

func NewClaimsServerHandle(o ClaimsServer) dcerpc.ServerHandle

func RegisterClaimsServer

func RegisterClaimsServer(conn dcerpc.Conn, o ClaimsServer, opts ...dcerpc.Option)

Types

type ClaimEntry

type ClaimEntry struct {
	// Id:  Specifies the claim identifier.
	ID string `idl:"name:Id" json:"id"`
	// Type:  Specifies the type of the data in the Values union. Refer to section 2.2.18.2
	// for allowed values and their interpretation.
	Type ClaimType `idl:"name:Type" json:"type"`
	// Values:  A union of arrays of the various types of claim values that a CLAIM_ENTRY
	// can contain. The actual type of the elements is specified by the Type member.
	//
	// ValueCount:  Specifies the number of array elements in the Int64Values member.
	//
	// Int64Values:  An array of LONG64 values of the claim. The array has ValueCount elements.
	//
	// ValueCount:  Specifies the number of array elements in the Uint64Values member.
	//
	// Uint64Values:  An array of ULONG64 values of the claim. The array has ValueCount
	// elements.
	//
	// ValueCount:  Specifies the number of array elements in the StringValues member.
	//
	// StringValues:  An array of null-terminated, Unicode string values of the claim. The
	// array has ValueCount elements.
	//
	// ValueCount:  Specifies the number of array elements in the BooleanValues member.
	Values *ClaimEntry_Values `idl:"name:Values;switch_is:Type" json:"values"`
}

ClaimEntry structure represents CLAIM_ENTRY RPC structure.

The CLAIM_ENTRY structure specifies a single claim.

func (*ClaimEntry) MarshalNDR

func (o *ClaimEntry) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClaimEntry) UnmarshalNDR

func (o *ClaimEntry) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClaimEntry_Values

type ClaimEntry_Values struct {
	// Types that are assignable to Value
	//
	// *ClaimEntry_Values_ClaimEntryInt64
	// *ClaimEntry_Values_ClaimEntryUint64
	// *ClaimEntry_Values_ClaimEntryString
	// *ClaimEntry_Values_ClaimEntryBoolean
	Value is_ClaimEntry_Values `json:"value"`
}

ClaimEntry_Values structure represents CLAIM_ENTRY union anonymous member.

The CLAIM_ENTRY structure specifies a single claim.

func (*ClaimEntry_Values) GetValue

func (o *ClaimEntry_Values) GetValue() any

func (*ClaimEntry_Values) MarshalUnionNDR

func (o *ClaimEntry_Values) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error

func (*ClaimEntry_Values) NDRSwitchValue

func (o *ClaimEntry_Values) NDRSwitchValue(sw uint16) uint16

func (*ClaimEntry_Values) UnmarshalUnionNDR

func (o *ClaimEntry_Values) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error

type ClaimEntry_Values_ClaimEntryBoolean

type ClaimEntry_Values_ClaimEntryBoolean struct {
	ValueCount    uint32   `idl:"name:ValueCount" json:"value_count"`
	BooleanValues []uint64 `idl:"name:BooleanValues;size_is:(ValueCount)" json:"boolean_values"`
}

ClaimEntry_Values_ClaimEntryBoolean structure represents ClaimEntry_Values RPC union arm.

It has following labels: 6

func (*ClaimEntry_Values_ClaimEntryBoolean) MarshalNDR

func (*ClaimEntry_Values_ClaimEntryBoolean) UnmarshalNDR

type ClaimEntry_Values_ClaimEntryInt64

type ClaimEntry_Values_ClaimEntryInt64 struct {
	ValueCount  uint32  `idl:"name:ValueCount" json:"value_count"`
	Int64Values []int64 `idl:"name:Int64Values;size_is:(ValueCount)" json:"int64_values"`
}

ClaimEntry_Values_ClaimEntryInt64 structure represents ClaimEntry_Values RPC union arm.

It has following labels: 1

func (*ClaimEntry_Values_ClaimEntryInt64) MarshalNDR

func (*ClaimEntry_Values_ClaimEntryInt64) UnmarshalNDR

type ClaimEntry_Values_ClaimEntryString

type ClaimEntry_Values_ClaimEntryString struct {
	ValueCount   uint32   `idl:"name:ValueCount" json:"value_count"`
	StringValues []string `idl:"name:StringValues;size_is:(ValueCount);string" json:"string_values"`
}

ClaimEntry_Values_ClaimEntryString structure represents ClaimEntry_Values RPC union arm.

It has following labels: 3

func (*ClaimEntry_Values_ClaimEntryString) MarshalNDR

func (*ClaimEntry_Values_ClaimEntryString) UnmarshalNDR

type ClaimEntry_Values_ClaimEntryUint64

type ClaimEntry_Values_ClaimEntryUint64 struct {
	ValueCount   uint32   `idl:"name:ValueCount" json:"value_count"`
	Uint64Values []uint64 `idl:"name:Uint64Values;size_is:(ValueCount)" json:"uint64_values"`
}

ClaimEntry_Values_ClaimEntryUint64 structure represents ClaimEntry_Values RPC union arm.

It has following labels: 2

func (*ClaimEntry_Values_ClaimEntryUint64) MarshalNDR

func (*ClaimEntry_Values_ClaimEntryUint64) UnmarshalNDR

type ClaimType

type ClaimType uint16

ClaimType type represents CLAIM_TYPE RPC enumeration.

The CLAIM_TYPE enumeration enumerates various value types of a claim.

var (
	// CLAIM_TYPE_INT64:  The value type of the claim is LONG64.
	ClaimTypeInt64 ClaimType = 1
	// CLAIM_TYPE_UINT64:  The value type of the claim is ULONG64.
	ClaimTypeUint64 ClaimType = 2
	// CLAIM_TYPE_STRING:  The value type of the claim is a null-terminated string of Unicode
	// characters.
	ClaimTypeString ClaimType = 3
	// CLAIM_TYPE_BOOLEAN:  The value type of the claim is ULONG64; a value is set to 1
	// to specify TRUE, or 0 to specify FALSE.
	ClaimTypeBoolean ClaimType = 6
)

func (ClaimType) String

func (o ClaimType) String() string

type ClaimsArray

type ClaimsArray struct {
	// usClaimsSourceType:  Specifies the source of the claims.
	ClaimsSourceType ClaimsSourceType `idl:"name:usClaimsSourceType" json:"claims_source_type"`
	// ulClaimsCount:  Specifies the number of CLAIM_ENTRY elements in the ClaimEntries
	// member of this structure.
	ClaimsCount uint32 `idl:"name:ulClaimsCount" json:"claims_count"`
	// ClaimEntries:  An array that contains ulClaimsCount number of CLAIM_ENTRY elements.
	ClaimEntries []*ClaimEntry `idl:"name:ClaimEntries;size_is:(ulClaimsCount)" json:"claim_entries"`
}

ClaimsArray structure represents CLAIMS_ARRAY RPC structure.

The CLAIMS_ARRAY structure specifies an array of CLAIM_ENTRY structures and the associated claims source type.

func (*ClaimsArray) MarshalNDR

func (o *ClaimsArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClaimsArray) UnmarshalNDR

func (o *ClaimsArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClaimsClient

type ClaimsClient interface {

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error
}

Claims interface.

func NewClaimsClient

func NewClaimsClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (ClaimsClient, error)

type ClaimsCompressionFormat

type ClaimsCompressionFormat uint16

ClaimsCompressionFormat type represents CLAIMS_COMPRESSION_FORMAT RPC enumeration.

The CLAIMS_COMPRESSION_FORMAT enumeration specifies the source of the compression algorithm that is used for encoding claims in a CLAIMS_SET_METADATA structure.

var (
	// COMPRESSION_FORMAT_NONE:  No compression.
	ClaimsCompressionFormatNone ClaimsCompressionFormat = 0
	// COMPRESSION_FORMAT_LZNT1:  The LZNT1 compression algorithm is used. For more information,
	// see [MS-XCA] section 2.5.
	ClaimsCompressionFormatLZNT1 ClaimsCompressionFormat = 2
	// COMPRESSION_FORMAT_XPRESS:  The Xpress LZ77 compression algorithm is used. For more
	// information, see [MS-XCA] sections 2.3 and 2.4.
	ClaimsCompressionFormatXPress ClaimsCompressionFormat = 3
	// COMPRESSION_FORMAT_XPRESS_HUFF:  The Xpress LZ77+Huffman compression algorithm is
	// used. For more details, see [MS-XCA] sections 2.1 and 2.2.
	ClaimsCompressionFormatXPressHuff ClaimsCompressionFormat = 4
)

func (ClaimsCompressionFormat) String

func (o ClaimsCompressionFormat) String() string

type ClaimsMap added in v1.0.4

type ClaimsMap struct {
	SourceType ClaimsSourceType `json:"source_type"`
	Claims     map[string]any   `json:"claims"`
}

type ClaimsServer

type ClaimsServer interface {
}

Claims server interface.

type ClaimsSet

type ClaimsSet struct {
	// ulClaimsArrayCount:  Specifies the number of CLAIMS_ARRAY elements that are in the
	// ClaimsArrays member. This field MUST be greater than or equal to 1.
	ClaimsArrayCount uint32 `idl:"name:ulClaimsArrayCount" json:"claims_array_count"`
	// ClaimsArrays:  An array containing ulClaimsArrayCount number of CLAIMS_ARRAY structures.
	ClaimsArrays []*ClaimsArray `idl:"name:ClaimsArrays;size_is:(ulClaimsArrayCount)" json:"claims_arrays"`
	// contains filtered or unexported fields
}

ClaimsSet structure represents CLAIMS_SET RPC structure.

The CLAIMS_SET structure specifies CLAIMS_ARRAY structures, each from a different claims source.

func ClaimsSetFromClaimsMaps added in v1.0.4

func ClaimsSetFromClaimsMaps(ms ...*ClaimsMap) *ClaimsSet

ClaimsSetFromClaimsMaps function returns a ClaimsSet from a slice of ClaimsMap.

func (*ClaimsSet) ClaimsMaps added in v1.0.4

func (o *ClaimsSet) ClaimsMaps() []*ClaimsMap

Map returns a map of claims.

func (*ClaimsSet) MarshalNDR

func (o *ClaimsSet) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClaimsSet) UnmarshalNDR

func (o *ClaimsSet) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClaimsSetMetadata

type ClaimsSetMetadata struct {
	// ulClaimsSetSize:  Contains the size, in bytes, of the ClaimsSet member.
	ClaimsSetSize uint32 `idl:"name:ulClaimsSetSize" json:"claims_set_size"`
	// ClaimsSet:  A byte array of length ulClaimsSetSize bytes. This field contains a CLAIMS_SET
	// structure that is encoded as described in section 3.1.1.11.2.5.
	ClaimsSet []byte `idl:"name:ClaimsSet;size_is:(ulClaimsSetSize)" json:"claims_set"`
	// usCompressionFormat:  Specifies the compression algorithm used for encoding a CLAIMS_SET
	// structure, as specified in section 3.1.1.11.2.5.
	CompressionFormat ClaimsCompressionFormat `idl:"name:usCompressionFormat" json:"compression_format"`
	// ulUncompressedClaimsSetSize:  Specifies the size of the partially encoded CLAIMS_SET
	// structure before compression, the fully encoded version of which is stored in the
	// ClaimsSet member.
	UncompressedClaimsSetSize uint32 `idl:"name:ulUncompressedClaimsSetSize" json:"uncompressed_claims_set_size"`
	// contains filtered or unexported fields
}

ClaimsSetMetadata structure represents CLAIMS_SET_METADATA RPC structure.

The CLAIMS_SET_METADATA structure specifies an encoded CLAIMS_SET structure with information about the encoding.

func BuildClaimsSetMetadata added in v1.0.4

func BuildClaimsSetMetadata(claims *ClaimsSet, opts ...any) (*ClaimsSetMetadata, error)

BuildClaimsSetMetadata builds a ClaimsSetMetadata from a ClaimsSet. The ClaimsSet is serialized and optionally compressed based on the provided options.

func (*ClaimsSetMetadata) Claims added in v1.0.4

func (o *ClaimsSetMetadata) Claims(opts ...any) (*ClaimsSet, error)

Claims function returns the parsed claims set from the ClaimsSetMetadata.

func (*ClaimsSetMetadata) MarshalNDR

func (o *ClaimsSetMetadata) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClaimsSetMetadata) UnmarshalNDR

func (o *ClaimsSetMetadata) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClaimsSourceType

type ClaimsSourceType uint16

ClaimsSourceType type represents CLAIMS_SOURCE_TYPE RPC enumeration.

The CLAIMS_SOURCE_TYPE enumeration specifies the source of the claims.

Note No semantics are to be attached to these values other than those specified in section 3.

var (
	ClaimsSourceTypeAD          ClaimsSourceType = 1
	ClaimsSourceTypeCertificate ClaimsSourceType = 2
)

func (ClaimsSourceType) String

func (o ClaimsSourceType) String() string

type Compression added in v1.0.4

type Compression interface {
	// Compress compresses a byte slice.
	Compress([]byte) ([]byte, error)
	// Decompress decompresses a byte slice.
	Decompress([]byte) ([]byte, error)
	// Format returns the compression format.
	Format() ClaimsCompressionFormat
}

Compression is an interface for compressing and decompressing byte slices.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL