common

package
v0.0.0-...-b5aa0b6 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2017 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package common is a generated protocol buffer package.

It is generated from these files:

services_rpc.proto

It has these top-level messages:

FileproxyMessage
UserKeyDataMessage
UserKeysMessage

Index

Constants

This section is empty.

Variables

View Source
var ServiceType_name = map[int32]string{
	1:  "REQUEST_CHALLENGE",
	2:  "CHALLENGE_RESPONSE",
	3:  "SIGNED_CHALLENGE",
	4:  "CREATE",
	5:  "DELETE",
	6:  "ADDREADER",
	7:  "ADDOWNER",
	8:  "ADDWRITER",
	9:  "DELETEREADER",
	10: "DELETEOWNER",
	11: "DELETEWRITER",
	12: "READ",
	13: "WRITE",
	14: "SAVESTATE",
	15: "NONE",
}
View Source
var ServiceType_value = map[string]int32{
	"REQUEST_CHALLENGE":  1,
	"CHALLENGE_RESPONSE": 2,
	"SIGNED_CHALLENGE":   3,
	"CREATE":             4,
	"DELETE":             5,
	"ADDREADER":          6,
	"ADDOWNER":           7,
	"ADDWRITER":          8,
	"DELETEREADER":       9,
	"DELETEOWNER":        10,
	"DELETEWRITER":       11,
	"READ":               12,
	"WRITE":              13,
	"SAVESTATE":          14,
	"NONE":               15,
}

Functions

func AddDelete

func AddDelete(ms *util.MessageStream, serviceType ServiceType, resourceName string, certs [][]byte) error

func AddOwner

func AddOwner(ms *util.MessageStream, resourceName string, certs [][]byte) error

func AddReader

func AddReader(ms *util.MessageStream, resourceName string, certs [][]byte) error

func AddWriter

func AddWriter(ms *util.MessageStream, resourceName string, certs [][]byte) error

func Create

func Create(ms *util.MessageStream, name string, resourceType resourcemanager.ResourceType, cert []byte) error

func CreateKeyCertificate

func CreateKeyCertificate(serialNumber big.Int,
	issuerCommonName string,
	issuerOrgName string,
	issuerCountry string,
	issuerKey interface{},
	parentCert *x509.Certificate,
	subjectOrgName string,
	subjectCommonName string,
	subjectCountry string,
	subjectKey interface{},
	notBefore time.Time,
	notAfter time.Time,
	isCA bool,
	keyUsage x509.KeyUsage) ([]byte, error)

func Delete

func Delete(ms *util.MessageStream, name string) error

func DeleteOwner

func DeleteOwner(ms *util.MessageStream, resourceName string, certs [][]byte) error

func DeleteReader

func DeleteReader(ms *util.MessageStream, resourceName string, certs [][]byte) error

func DeleteWriter

func DeleteWriter(ms *util.MessageStream, resourceName string, certs [][]byte) error

func DoAddOwner

func DoAddOwner(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoAddReader

func DoAddReader(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoAddWriter

func DoAddWriter(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoChallenge

func DoChallenge(ms *util.MessageStream, serverData *ServerData,
	connectionData *ServerConnectionData, msg FileproxyMessage) error

This is actually done by the server.

func DoCreate

func DoCreate(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoDelete

func DoDelete(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoDeleteOwner

func DoDeleteOwner(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoDeleteReader

func DoDeleteReader(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoDeleteWriter

func DoDeleteWriter(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoReadResource

func DoReadResource(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoRequest

func DoRequest(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	req *FileproxyMessage)

func DoSaveState

func DoSaveState(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func DoWriteResource

func DoWriteResource(ms *util.MessageStream, serverData *ServerData, connectionData *ServerConnectionData,
	msg FileproxyMessage)

func FailureResponse

func FailureResponse(ms *util.MessageStream, serviceType ServiceType, err_string string)

func GenerateUserPublicKey

func GenerateUserPublicKey() (*ecdsa.PrivateKey, error)

func GetCombinedPrincipal

func GetCombinedPrincipal(data [][]byte) (*resourcemanager.CombinedPrincipal, error)

func GetFile

func GetFile(ms *util.MessageStream, serverData *ServerData,
	info *resourcemanager.ResourceInfo, msg FileproxyMessage) error

GetFile receives bytes from a sender and optionally encrypts them and adds integrity protection, and writes them to disk.

func HasSatisfyingCombinedPrincipal

func HasSatisfyingCombinedPrincipal(combinedPrincipals []*resourcemanager.CombinedPrincipal,
	principals []*resourcemanager.PrincipalInfo, mutex *sync.RWMutex) bool

func IsAuthorized

func IsAuthorized(action ServiceType, serverData *ServerData, connectionData *ServerConnectionData,
	resourceInfo *resourcemanager.ResourceInfo) bool

func IsPrincipalOnList

func IsPrincipalOnList(principals []*resourcemanager.PrincipalInfo, principal *resourcemanager.PrincipalInfo) bool

func IsVerifiedCombinedPrincipal

func IsVerifiedCombinedPrincipal(combinedPrincipal *resourcemanager.CombinedPrincipal,
	principals []*resourcemanager.PrincipalInfo) bool

func PrintMessage

func PrintMessage(msg *FileproxyMessage)

func ReadResource

func ReadResource(ms *util.MessageStream, resourceName string) ([]byte, error)

func RequestChallenge

func RequestChallenge(ms *util.MessageStream, key KeyData) error

func SaveState

func SaveState(ms *util.MessageStream) error

func SendFile

func SendFile(ms *util.MessageStream, serverData *ServerData, info *resourcemanager.ResourceInfo) error

SendFile reads a file from disk and streams it to a receiver across a MessageStream.

func SendMessage

func SendMessage(ms *util.MessageStream, msg *FileproxyMessage) error

func SerializeUserKey

func SerializeUserKey(key *KeyData) ([]byte, error)

func SignNonce

func SignNonce(nonce []byte, signKey *ecdsa.PrivateKey) ([]byte, []byte, error)

func SuccessResponse

func SuccessResponse(ms *util.MessageStream, serviceType ServiceType)

func VerifyCertificateChain

func VerifyCertificateChain(root *x509.Certificate, intermediateCerts []*x509.Certificate,
	cert *x509.Certificate) (bool, [][]*x509.Certificate, error)

func VerifyNonceSignature

func VerifyNonceSignature(nonce []byte, s1 []byte, s2 []byte, certificate *x509.Certificate) bool

func WriteResource

func WriteResource(ms *util.MessageStream, resourceName string,
	fileContents []byte) error

Types

type ClientData

type ClientData struct {
	PolicyCert *x509.Certificate
	UserMutex  sync.RWMutex
	Userkeys   []KeyData
}

type FileproxyMessage

type FileproxyMessage struct {
	TypeOfService *ServiceType `protobuf:"varint,1,req,name=type_of_service,json=typeOfService,enum=common.ServiceType" json:"type_of_service,omitempty"`
	Err           *string      `protobuf:"bytes,2,opt,name=err" json:"err,omitempty"`
	// For READ and WRITE, this is the total number of buffers constituting file.
	NumTotalBuffers *int32 `protobuf:"varint,3,opt,name=num_total_buffers,json=numTotalBuffers" json:"num_total_buffers,omitempty"`
	// For READ and WRITE, this is the sequence number of this buffer.
	CurrentBuffer *int32 `protobuf:"varint,4,opt,name=current_buffer,json=currentBuffer" json:"current_buffer,omitempty"`
	// Arguments apply to the following calls and are call dependent.
	// For CREATE, resourcename, type ("file" or "directory")
	// For DELETE, resource name
	// For READ, resource name
	// For WRITE, resource name
	// For ADDREADER, resource name
	// For ADDOWNER, resource name
	// For ADDWRITER, resource name
	// For DELETEREADER, resource name
	// For DELETEOWNER, resource name
	// For DELETEWRITER, resource name
	Arguments []string `protobuf:"bytes,5,rep,name=arguments" json:"arguments,omitempty"`
	// data is message specific
	// For REQUEST_CHALLENGE, no data or arguments.
	// For CHALLENGE, there should be one data blob which is the user x509 cert.
	// For SIGNED_CHALLENGE, there should be two data blobs: a x509 cert and the signed nonce.
	// For CREATE, list of compound certs
	// For ADDREADER, list of compound certs
	// For ADDOWNER, list of compound certs
	// For ADDWRITER, list of compound certs
	Data             [][]byte `protobuf:"bytes,6,rep,name=data" json:"data,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

A FileproxyMessage is a message sent between fileproxy programs as the data payload of a taosupport SimpleMessage.

func GetMessage

func GetMessage(ms *util.MessageStream) (*FileproxyMessage, error)

func (*FileproxyMessage) Descriptor

func (*FileproxyMessage) Descriptor() ([]byte, []int)

func (*FileproxyMessage) GetArguments

func (m *FileproxyMessage) GetArguments() []string

func (*FileproxyMessage) GetCurrentBuffer

func (m *FileproxyMessage) GetCurrentBuffer() int32

func (*FileproxyMessage) GetData

func (m *FileproxyMessage) GetData() [][]byte

func (*FileproxyMessage) GetErr

func (m *FileproxyMessage) GetErr() string

func (*FileproxyMessage) GetNumTotalBuffers

func (m *FileproxyMessage) GetNumTotalBuffers() int32

func (*FileproxyMessage) GetTypeOfService

func (m *FileproxyMessage) GetTypeOfService() ServiceType

func (*FileproxyMessage) ProtoMessage

func (*FileproxyMessage) ProtoMessage()

func (*FileproxyMessage) Reset

func (m *FileproxyMessage) Reset()

func (*FileproxyMessage) String

func (m *FileproxyMessage) String() string

type KeyData

type KeyData struct {
	Cert        []byte
	Certificate *x509.Certificate
	Key         *ecdsa.PrivateKey
}

func MakeUserKeyStructure

func MakeUserKeyStructure(key *ecdsa.PrivateKey, userName string, signerPriv interface{},
	signerCertificate *x509.Certificate) (*KeyData, error)

func ParseUserKey

func ParseUserKey(in []byte) (*KeyData, error)

type ServerConnectionData

type ServerConnectionData struct {
	PrincipalsMutex sync.RWMutex
	Principals      []*resourcemanager.PrincipalInfo
}

type ServerData

type ServerData struct {
	PolicyCert        []byte
	PolicyCertificate *x509.Certificate
	ResourceMutex     sync.RWMutex
	ResourceManager   *resourcemanager.ResourceMasterInfo
	FileSecrets       []byte
}

func (*ServerData) InitServerData

func (s *ServerData) InitServerData()

type ServiceType

type ServiceType int32
const (
	ServiceType_REQUEST_CHALLENGE  ServiceType = 1
	ServiceType_CHALLENGE_RESPONSE ServiceType = 2
	ServiceType_SIGNED_CHALLENGE   ServiceType = 3
	ServiceType_CREATE             ServiceType = 4
	ServiceType_DELETE             ServiceType = 5
	ServiceType_ADDREADER          ServiceType = 6
	ServiceType_ADDOWNER           ServiceType = 7
	ServiceType_ADDWRITER          ServiceType = 8
	ServiceType_DELETEREADER       ServiceType = 9
	ServiceType_DELETEOWNER        ServiceType = 10
	ServiceType_DELETEWRITER       ServiceType = 11
	ServiceType_READ               ServiceType = 12
	ServiceType_WRITE              ServiceType = 13
	ServiceType_SAVESTATE          ServiceType = 14
	ServiceType_NONE               ServiceType = 15
)

func (ServiceType) Enum

func (x ServiceType) Enum() *ServiceType

func (ServiceType) EnumDescriptor

func (ServiceType) EnumDescriptor() ([]byte, []int)

func (ServiceType) String

func (x ServiceType) String() string

func (*ServiceType) UnmarshalJSON

func (x *ServiceType) UnmarshalJSON(data []byte) error

type UserKeyDataMessage

type UserKeyDataMessage struct {
	Cert             []byte `protobuf:"bytes,1,opt,name=cert" json:"cert,omitempty"`
	DerKey           []byte `protobuf:"bytes,2,opt,name=der_key,json=derKey" json:"der_key,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (*UserKeyDataMessage) Descriptor

func (*UserKeyDataMessage) Descriptor() ([]byte, []int)

func (*UserKeyDataMessage) GetCert

func (m *UserKeyDataMessage) GetCert() []byte

func (*UserKeyDataMessage) GetDerKey

func (m *UserKeyDataMessage) GetDerKey() []byte

func (*UserKeyDataMessage) ProtoMessage

func (*UserKeyDataMessage) ProtoMessage()

func (*UserKeyDataMessage) Reset

func (m *UserKeyDataMessage) Reset()

func (*UserKeyDataMessage) String

func (m *UserKeyDataMessage) String() string

type UserKeysMessage

type UserKeysMessage struct {
	SerializedKeys   [][]byte `protobuf:"bytes,1,rep,name=serialized_keys,json=serializedKeys" json:"serialized_keys,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

User keys

func (*UserKeysMessage) Descriptor

func (*UserKeysMessage) Descriptor() ([]byte, []int)

func (*UserKeysMessage) GetSerializedKeys

func (m *UserKeysMessage) GetSerializedKeys() [][]byte

func (*UserKeysMessage) ProtoMessage

func (*UserKeysMessage) ProtoMessage()

func (*UserKeysMessage) Reset

func (m *UserKeysMessage) Reset()

func (*UserKeysMessage) String

func (m *UserKeysMessage) String() string

Jump to

Keyboard shortcuts

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