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.

                            Source Files