mlsvalidate

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package mlsvalidate implements the MLS validation service interface.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssociationStateResult

type AssociationStateResult struct {
	AssociationState *associations.AssociationState     `protobuf:"bytes,1,opt,name=association_state,json=associationState,proto3" json:"association_state,omitempty"`
	StateDiff        *associations.AssociationStateDiff `protobuf:"bytes,2,opt,name=state_diff,json=stateDiff,proto3"               json:"state_diff,omitempty"`
}

type GroupMessageValidationResult

type GroupMessageValidationResult struct {
	GroupID string
}

type KeyPackageValidationResult

type KeyPackageValidationResult struct {
	IsOk            bool
	InstallationKey []byte
	Credential      *identity_proto.MlsCredential
	Expiration      uint64
	ErrorMessage    string
}

type MLSValidationService

type MLSValidationService interface {
	ValidateKeyPackages(
		ctx context.Context,
		keyPackages [][]byte,
	) ([]KeyPackageValidationResult, error)
	ValidateGroupMessages(
		ctx context.Context,
		groupMessages []*mlsv1.GroupMessageInput,
	) ([]GroupMessageValidationResult, error)
	GetAssociationState(
		ctx context.Context,
		oldUpdates []*associations.IdentityUpdate,
		newUpdates []*associations.IdentityUpdate,
	) (*AssociationStateResult, error)
	GetAssociationStateFromEnvelopes(
		ctx context.Context,
		oldUpdates []queries.SelectGatewayEnvelopesByTopicsRow,
		newIdentityUpdate *associations.IdentityUpdate,
	) (*AssociationStateResult, error)
}

type MLSValidationServiceImpl

type MLSValidationServiceImpl struct {
	// contains filtered or unexported fields
}

func NewMLSValidationService added in v1.0.0

func NewMLSValidationService(
	ctx context.Context,
	logger *zap.Logger,
	cfg config.MlsValidationOptions,
	clientMetrics *grpcprom.ClientMetrics,
) (*MLSValidationServiceImpl, error)

func (*MLSValidationServiceImpl) GetAssociationState

func (s *MLSValidationServiceImpl) GetAssociationState(
	ctx context.Context,
	oldUpdates []*associations.IdentityUpdate,
	newUpdates []*associations.IdentityUpdate,
) (*AssociationStateResult, error)

func (*MLSValidationServiceImpl) GetAssociationStateFromEnvelopes

func (s *MLSValidationServiceImpl) GetAssociationStateFromEnvelopes(
	ctx context.Context,
	oldUpdateEnvelopes []queries.SelectGatewayEnvelopesByTopicsRow,
	newUpdate *associations.IdentityUpdate,
) (*AssociationStateResult, error)

func (*MLSValidationServiceImpl) ValidateGroupMessages

func (s *MLSValidationServiceImpl) ValidateGroupMessages(
	ctx context.Context,
	groupMessages []*mlsv1.GroupMessageInput,
) ([]GroupMessageValidationResult, error)

func (*MLSValidationServiceImpl) ValidateKeyPackages

func (s *MLSValidationServiceImpl) ValidateKeyPackages(
	ctx context.Context,
	keyPackages [][]byte,
) ([]KeyPackageValidationResult, error)

Jump to

Keyboard shortcuts

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