hep: go-hep.org/x/hep/xrootd/xrdproto/login Index | Files

package login

import "go-hep.org/x/hep/xrootd/xrdproto/login"

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

Package Files

login.go

Constants

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.

const ResponseLength = 16

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

type Request Uses

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 Uses

func NewRequest(username, token string) *Request

NewRequest forms a Request according to provided parameters.

func (Request) MarshalXrd Uses

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

MarshalXrd implements xrdproto.Marshaler.

func (*Request) ReqID Uses

func (req *Request) ReqID() uint16

ReqID implements xrdproto.Request.ReqID.

func (*Request) ShouldSign Uses

func (req *Request) ShouldSign() bool

ShouldSign implements xrdproto.Request.ShouldSign.

func (*Request) UnmarshalXrd Uses

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

UnmarshalXrd implements xrdproto.Unmarshaler.

type Response Uses

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 Uses

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

MarshalXrd implements xrdproto.Marshaler.

func (*Response) RespID Uses

func (resp *Response) RespID() uint16

RespID implements xrdproto.Response.RespID.

func (*Response) UnmarshalXrd Uses

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

UnmarshalXrd implements xrdproto.Unmarshaler.

Package login imports 2 packages (graph) and is imported by 1 packages. Updated 2019-02-21. Refresh now. Tools for package owners.