utils

package
v0.0.0-...-128afb8 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2024 License: Apache-2.0 Imports: 17 Imported by: 19

Documentation

Overview

Package utils contains a variety of small utility functions used by other tokenserver packages.

Index

Constants

View Source
const (

	// DefaultMinValidityDuration is a value for minimal returned token lifetime if 'min_validity_duration'
	// field is not specified in the request.
	DefaultMinValidityDuration = 5 * time.Minute
)

Variables

This section is empty.

Functions

func DumpPEM

func DumpPEM(data []byte, header string) string

DumpPEM transforms block to pem-encoding.

Reverse of ParsePEM.

func LogRequest

func LogRequest(c context.Context, rpc RPC, req proto.Message, caller identity.Identity)

LogRequest logs the RPC request.

func ParsePEM

func ParsePEM(data, header string) ([]byte, error)

ParsePEM takes pem-encoded block and decodes it, checking the header.

func SerializeSN

func SerializeSN(sn *big.Int) ([]byte, error)

SerializeSN converts a certificate serial number to a byte blob.

func ServiceVersion

func ServiceVersion(c context.Context, s signing.Signer) (string, error)

ServiceVersion returns a string that identifies the app and the version.

It is put in some server responses. The function extracts this information from the given signer.

This function almost never returns errors. It can return an error only when called for the first time during the process lifetime. It gets cached after first successful return.

func TokenFingerprint

func TokenFingerprint(tok string) string

TokenFingerprint returns first 16 bytes of SHA256 of the token, as hex.

Token fingerprints can be used to identify tokens without parsing them.

func ValidateAndNormalizeRequest

func ValidateAndNormalizeRequest(c context.Context, oauthScope []string, durationSecs *int64, auditTags []string) error

ValidateAndNormalizeRequest validates and normalizes RPC requests.

func ValidateProject

func ValidateProject(c context.Context, project string) error

ValidateProject validates a LUCI project string.

func ValidateTags

func ValidateTags(tags []string) error

ValidateTags returns an error if some tags are malformed.

Tags are "key:value" pairs that can be passed with some RPCs. They end up inside the tokens and/or BigQuery logs.

func ZlibCompress

func ZlibCompress(in []byte) ([]byte, error)

ZlibCompress zips a blob using zlib.

func ZlibDecompress

func ZlibDecompress(in []byte) ([]byte, error)

ZlibDecompress unzips a blob using zlib.

Types

type RPC

type RPC interface {
	Name() string
}

RPC interface specifies custom functionality implemented per RPC object.

Directories

Path Synopsis
Package bq contains helpers for uploading rows to BigQuery.
Package bq contains helpers for uploading rows to BigQuery.
Package identityset implements a set-like structure for identity.Identity.
Package identityset implements a set-like structure for identity.Identity.
Package policy contains implementation of Policy parsing and querying.
Package policy contains implementation of Policy parsing and querying.
Package revocation contains utilities for implementing token revocation.
Package revocation contains utilities for implementing token revocation.
Package shards provides a low level support for implementing sharded set of []byte blobs.
Package shards provides a low level support for implementing sharded set of []byte blobs.
Package tokensigning implements utilities for RSA-signing of proto messages.
Package tokensigning implements utilities for RSA-signing of proto messages.

Jump to

Keyboard shortcuts

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