login

package
v0.29.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2021 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package login contains the structures describing request and response for login request. Login request should be issued prior to most of the other requests (see http://xrootd.org/doc/dev45/XRdv310.pdf, p.10). As part of the response, SecurityInformation may be provided, indicating that an auth request is required. SecurityInformation defines the available authentication protocols together with some additional parameters. See XRootD protocol specification, page 127 for further information about the format of the SecurityInformation.

Index

Constants

View Source
const RequestID uint16 = 3007

RequestID is the id of the request, it is sent as part of message. See xrootd protocol specification for details: http://xrootd.org/doc/dev45/XRdv310.pdf, 2.3 Client Request Format.

View Source
const ResponseLength = 16

ResponseLength is the length of the Response assuming that SecurityInformation is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Request

type Request struct {
	Pid      int32   // Pid is the process number associated with this connection.
	Username [8]byte // Username is the unauthenticated name of the user to be associated with the connection.

	Ability      byte   // Ability are the client's extended capabilities. See xrootd protocol specification, p. 56.
	Capabilities byte   // Capabilities are the Client capabilities. It is 4 for v3.1.0 client without async support.
	Role         byte   // Role is the role being assumed for this login: administrator or regular user.
	Token        []byte // Token is the token supplied by the previous redirection response, plus optional elements.
	// contains filtered or unexported fields
}

Request holds the login request parameters.

func NewRequest

func NewRequest(username, token string) *Request

NewRequest forms a Request according to provided parameters.

func (Request) MarshalXrd

func (o Request) MarshalXrd(wBuffer *xrdenc.WBuffer) error

MarshalXrd implements xrdproto.Marshaler.

func (*Request) ReqID

func (req *Request) ReqID() uint16

ReqID implements xrdproto.Request.ReqID.

func (*Request) ShouldSign

func (req *Request) ShouldSign() bool

ShouldSign implements xrdproto.Request.ShouldSign.

func (*Request) UnmarshalXrd

func (o *Request) UnmarshalXrd(rBuffer *xrdenc.RBuffer) error

UnmarshalXrd implements xrdproto.Unmarshaler.

type Response

type Response struct {
	SessionID           [16]byte
	SecurityInformation []byte
}

Response is a response for the login request, which contains the session id and the security information.

func (Response) MarshalXrd

func (o Response) MarshalXrd(wBuffer *xrdenc.WBuffer) error

MarshalXrd implements xrdproto.Marshaler.

func (*Response) RespID

func (resp *Response) RespID() uint16

RespID implements xrdproto.Response.RespID.

func (*Response) UnmarshalXrd

func (o *Response) UnmarshalXrd(rBuffer *xrdenc.RBuffer) error

UnmarshalXrd implements xrdproto.Unmarshaler.

Jump to

Keyboard shortcuts

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