xrootd
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Static Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdHttpProtocol Class Reference

#include <XrdHttpProtocol.hh>

Inheritance diagram for XrdHttpProtocol:
Inheritance graph
[legend]
Collaboration diagram for XrdHttpProtocol:
Collaboration graph
[legend]

Classes

struct  extHInfo
 
struct  StaticPreloadInfo
 
struct  XrdHttpExtHandlerInfo
 

Public Member Functions

void DoIt ()
 Override from the base class.
 
XrdProtocolMatch (XrdLink *lp)
 Tells if the oustanding bytes on the socket match this protocol implementation.
 
int Process (XrdLink *lp)
 Process data incoming from the socket.
 
void Recycle (XrdLink *lp, int consec, const char *reason)
 Recycle this instance.
 
int Stats (char *buff, int blen, int do_sync=0)
 Get activity stats.
 
int doStat (char *fname)
 Perform a Stat request.
 
int doChksum (const XrdOucString &fname)
 Perform a checksum request.
 
 XrdHttpProtocol (const XrdHttpProtocol &)=default
 Ctor, dtors and copy ctor.
 
XrdHttpProtocol operator= (const XrdHttpProtocol &rhs)
 
 XrdHttpProtocol (bool imhttps)
 
 ~XrdHttpProtocol ()
 
bool isHTTPS ()
 called via https
 
- Public Member Functions inherited from XrdProtocol
 XrdProtocol (const char *jname)
 
virtual ~XrdProtocol ()
 
- Public Member Functions inherited from XrdJob
 XrdJob (const char *desc="")
 
virtual ~XrdJob ()
 

Static Public Member Functions

static int Configure (char *parms, XrdProtocol_Config *pi)
 Read and apply the configuration.
 

Public Attributes

XrdObject< XrdHttpProtocolProtLink
 
XrdSecEntity SecEntity
 Authentication area.
 
- Public Attributes inherited from XrdJob
XrdJobNextJob
 
const char * Comment
 

Static Public Attributes

static XrdObjectQ< XrdHttpProtocolProtStack
 
static XrdHttpChecksumHandler cksumHandler
 
static XrdHttpReadRangeHandler::Configuration ReadRangeConfig
 configuration for the read range handler
 

Protected Attributes

XrdLinkLink
 The link we are bound to.
 
char * Addr_str
 
XrdXrootd::BridgeBridge
 The Bridge that we use to exercise the xrootd internals.
 
XrdHttpReq CurrentReq
 

Static Protected Attributes

static XrdSchedulerSched
 
static XrdBuffManagerBPool
 
static XrdSysError eDest
 
static XrdSecServiceCIA
 
static XrdOucGMapservGMap
 The instance of the DN mapper. Created only when a valid path is given.
 
static int hailWait
 Timeout for reading the handshake.
 
static int readWait
 Timeout for reading data.
 
static int Port
 Our port.
 
static char * Port_str
 Our port, as a string.
 
static char * sslcert
 OpenSSL stuff.
 
static char * sslkey
 
static char * sslcadir
 
static char * sslcafile
 
static char * sslcipherfilter
 
static int crlRefIntervalSec
 CRL thread refresh interval.
 
static char * gridmap
 Gridmap file location. The same used by XrdSecGsi.
 
static bool isRequiredGridmap
 
static bool compatNameGeneration
 
static char * secretkey
 The key used to calculate the url hashes.
 
static int sslverifydepth
 Depth of verification of a certificate chain.
 
static bool isdesthttps
 True if the redirections must be towards https targets.
 
static char * listredir
 Url to redirect to in the case a listing is requested.
 
static bool listdeny
 If true, any form of listing is denied.
 
static bool selfhttps2http
 If client is HTTPS, self-redirect with HTTP+token.
 
static bool embeddedstatic
 If true, use the embedded css and icons.
 
static char * staticredir
 
static XrdOucHash< StaticPreloadInfo > * staticpreload
 
static kXR_int32 myRole
 Our role.
 
static std::map< std::string, std::string > hdr2cgimap
 Rules that turn HTTP headers to cgi tokens in the URL, for internal comsumption.
 
static int m_bio_type
 Type identifier for our custom BIO objects.
 
static BIO_METHOD * m_bio_method
 C-style vptr table for our custom BIO objects.
 
static char * xrd_cslist
 The list of checksums that were configured via the xrd.cksum parameter on the server config file.
 
static XrdNetPMarkpmarkHandle
 Packet marking handler pointer (assigned from the environment during the Config() call)
 

Private Member Functions

int StartSimpleResp (int code, const char *desc, const char *header_to_add, long long bodylen, bool keepalive)
 Start a response back to the client.
 
int SendData (const char *body, int bodylen)
 Send some generic data to the client.
 
void Cleanup ()
 Deallocate resources, in order to reutilize an object of this class.
 
void Reset ()
 Reset values, counters, in order to reutilize an object of this class.
 
int HandleAuthentication (XrdLink *lp)
 
int GetVOMSData (XrdLink *lp)
 
int HandleGridMap (XrdLink *lp, const char *eechash)
 
int getDataOneShot (int blen, bool wait=false)
 
int BuffAvailable ()
 How many bytes still fit into the buffer in a contiguous way.
 
int BuffUsed ()
 How many bytes in the buffer.
 
int BuffFree ()
 How many bytes free in the buffer.
 
void BuffConsume (int blen)
 Consume some bytes from the buffer.
 
int BuffgetData (int blen, char **data, bool wait)
 Get a pointer, valid for up to blen bytes from the buffer. Returns the validity.
 
int BuffgetLine (XrdOucString &dest)
 Copy a full line of text from the buffer into dest. Zero if no line can be found in the buffer.
 
int SendSimpleResp (int code, const char *desc, const char *header_to_add, const char *body, long long bodylen, bool keepalive)
 Sends a basic response. If the length is < 0 then it is calculated internally.
 
int StartChunkedResp (int code, const char *desc, const char *header_to_add, long long bodylen, bool keepalive)
 Starts a chunked response; body of request is sent over multiple parts using the SendChunkResp.
 
int ChunkResp (const char *body, long long bodylen)
 Send a (potentially partial) body in a chunked response; invoking with NULL body.
 
int ChunkRespHeader (long long bodylen)
 Send the beginning of a chunked response but not the body; useful when the size.
 
int ChunkRespFooter ()
 Send the footer of the chunk response.
 
char * GetClientIPStr ()
 Gets a string that represents the IP address of the client. Must be freed.
 

Static Private Member Functions

static bool InitTLS ()
 Initialization of the ssl security things.
 
static bool InitSecurity ()
 Initialization fo security addon.
 
static BIO * CreateBIO (XrdLink *lp)
 Create a new BIO object from an XrdLink. Returns NULL on failure.
 
static int Config (const char *fn, XrdOucEnv *myEnv)
 Functions related to the configuration.
 
static const char * Configed ()
 
static int xtrace (XrdOucStream &Config)
 
static int xsslcert (XrdOucStream &Config)
 
static int xsslkey (XrdOucStream &Config)
 
static int xsecxtractor (XrdOucStream &Config)
 
static int xexthandler (XrdOucStream &Config, std::vector< extHInfo > &hiVec)
 
static int xsslcadir (XrdOucStream &Config)
 
static int xsslcipherfilter (XrdOucStream &Config)
 
static int xdesthttps (XrdOucStream &Config)
 
static int xlistdeny (XrdOucStream &Config)
 
static int xlistredir (XrdOucStream &Config)
 
static int xselfhttps2http (XrdOucStream &Config)
 
static int xembeddedstatic (XrdOucStream &Config)
 
static int xstaticredir (XrdOucStream &Config)
 
static int xstaticpreload (XrdOucStream &Config)
 
static int xgmap (XrdOucStream &Config)
 
static int xsslcafile (XrdOucStream &Config)
 
static int xsslverifydepth (XrdOucStream &Config)
 
static int xsecretkey (XrdOucStream &Config)
 
static int xheader2cgi (XrdOucStream &Config)
 
static int xhttpsmode (XrdOucStream &Config)
 
static int xtlsreuse (XrdOucStream &Config)
 
static int LoadSecXtractor (XrdSysError *eDest, const char *libName, const char *libParms)
 
static int LoadExtHandler (std::vector< extHInfo > &hiVec, const char *cFN, XrdOucEnv &myEnv)
 
static int LoadExtHandler (XrdSysError *eDest, const char *libName, const char *configFN, const char *libParms, XrdOucEnv *myEnv, const char *instName)
 
static XrdHttpExtHandlerFindMatchingExtHandler (const XrdHttpReq &)
 
static bool ExtHandlerLoaded (const char *handlername)
 

Private Attributes

int(XrdHttpProtocol::* Resume )()
 The resume function.
 
XrdBuffermyBuff
 Circular Buffer used to read the request.
 
char * myBuffStart
 The circular pointers.
 
char * myBuffEnd
 
XrdOucString tmpline
 A nice var to hold the current header line.
 
bool DoingLogin
 Tells that we are just logging in.
 
long ResumeBytes
 Tells that we are just waiting to have N bytes in the buffer.
 
SSL * ssl
 Private SSL context.
 
BIO * sbio
 Private SSL bio.
 
bool ishttps
 Tells if the client is https.
 
bool ssldone
 

Static Private Attributes

static bool isRequiredXtractor
 
static XrdHttpSecXtractorsecxtractor
 
static bool usingEC
 
static struct XrdHttpProtocol::XrdHttpExtHandlerInfo exthandler [MAX_XRDHTTPEXTHANDLERS]
 
static int exthandlercnt
 
static BIO * sslbio_err
 bio to print SSL errors
 
static XrdCryptoFactorymyCryptoFactory
 

Friends

class XrdHttpReq
 
class XrdHttpExtReq
 

Constructor & Destructor Documentation

◆ XrdHttpProtocol() [1/2]

XrdHttpProtocol::XrdHttpProtocol ( const XrdHttpProtocol )
default

Ctor, dtors and copy ctor.

◆ XrdHttpProtocol() [2/2]

XrdHttpProtocol::XrdHttpProtocol ( bool  imhttps)

◆ ~XrdHttpProtocol()

XrdHttpProtocol::~XrdHttpProtocol ( )
inline

References Cleanup().

Member Function Documentation

◆ BuffAvailable()

int XrdHttpProtocol::BuffAvailable ( )
private

How many bytes still fit into the buffer in a contiguous way.

◆ BuffConsume()

void XrdHttpProtocol::BuffConsume ( int  blen)
private

Consume some bytes from the buffer.

◆ BuffFree()

int XrdHttpProtocol::BuffFree ( )
private

How many bytes free in the buffer.

◆ BuffgetData()

int XrdHttpProtocol::BuffgetData ( int  blen,
char **  data,
bool  wait 
)
private

Get a pointer, valid for up to blen bytes from the buffer. Returns the validity.

◆ BuffgetLine()

int XrdHttpProtocol::BuffgetLine ( XrdOucString dest)
private

Copy a full line of text from the buffer into dest. Zero if no line can be found in the buffer.

◆ BuffUsed()

int XrdHttpProtocol::BuffUsed ( )
private

How many bytes in the buffer.

◆ ChunkResp()

int XrdHttpProtocol::ChunkResp ( const char *  body,
long long  bodylen 
)
private

Send a (potentially partial) body in a chunked response; invoking with NULL body.

◆ ChunkRespFooter()

int XrdHttpProtocol::ChunkRespFooter ( )
private

Send the footer of the chunk response.

◆ ChunkRespHeader()

int XrdHttpProtocol::ChunkRespHeader ( long long  bodylen)
private

Send the beginning of a chunked response but not the body; useful when the size.

◆ Cleanup()

void XrdHttpProtocol::Cleanup ( )
private

Deallocate resources, in order to reutilize an object of this class.

Referenced by ~XrdHttpProtocol().

◆ Config()

static int XrdHttpProtocol::Config ( const char *  fn,
XrdOucEnv myEnv 
)
staticprivate

Functions related to the configuration.

◆ Configed()

static const char * XrdHttpProtocol::Configed ( )
staticprivate

◆ Configure()

static int XrdHttpProtocol::Configure ( char *  parms,
XrdProtocol_Config pi 
)
static

Read and apply the configuration.

◆ CreateBIO()

static BIO * XrdHttpProtocol::CreateBIO ( XrdLink lp)
staticprivate

Create a new BIO object from an XrdLink. Returns NULL on failure.

◆ doChksum()

int XrdHttpProtocol::doChksum ( const XrdOucString fname)

Perform a checksum request.

◆ DoIt()

void XrdHttpProtocol::DoIt ( )
inlinevirtual

Override from the base class.

Implements XrdJob.

References Resume.

◆ doStat()

int XrdHttpProtocol::doStat ( char *  fname)

Perform a Stat request.

◆ ExtHandlerLoaded()

static bool XrdHttpProtocol::ExtHandlerLoaded ( const char *  handlername)
staticprivate

◆ FindMatchingExtHandler()

static XrdHttpExtHandler * XrdHttpProtocol::FindMatchingExtHandler ( const XrdHttpReq )
staticprivate

◆ GetClientIPStr()

char * XrdHttpProtocol::GetClientIPStr ( )
private

Gets a string that represents the IP address of the client. Must be freed.

◆ getDataOneShot()

int XrdHttpProtocol::getDataOneShot ( int  blen,
bool  wait = false 
)
private

Get up to blen bytes from the connection. Put them into mybuff. This primitive, for the way it is used, is not supposed to block

◆ GetVOMSData()

int XrdHttpProtocol::GetVOMSData ( XrdLink lp)
private

After the SSL handshake, retrieve the VOMS info and the various stuff that is needed for autorization

◆ HandleAuthentication()

int XrdHttpProtocol::HandleAuthentication ( XrdLink lp)
private

Handle authentication of the client

Returns
0 if successful, otherwise error

◆ HandleGridMap()

int XrdHttpProtocol::HandleGridMap ( XrdLink lp,
const char *  eechash 
)
private

◆ InitSecurity()

static bool XrdHttpProtocol::InitSecurity ( )
staticprivate

Initialization fo security addon.

◆ InitTLS()

static bool XrdHttpProtocol::InitTLS ( )
staticprivate

Initialization of the ssl security things.

◆ isHTTPS()

bool XrdHttpProtocol::isHTTPS ( )
inline

called via https

References ishttps.

◆ LoadExtHandler() [1/2]

static int XrdHttpProtocol::LoadExtHandler ( std::vector< extHInfo > &  hiVec,
const char *  cFN,
XrdOucEnv myEnv 
)
staticprivate

◆ LoadExtHandler() [2/2]

static int XrdHttpProtocol::LoadExtHandler ( XrdSysError eDest,
const char *  libName,
const char *  configFN,
const char *  libParms,
XrdOucEnv myEnv,
const char *  instName 
)
staticprivate

◆ LoadSecXtractor()

static int XrdHttpProtocol::LoadSecXtractor ( XrdSysError eDest,
const char *  libName,
const char *  libParms 
)
staticprivate

◆ Match()

XrdProtocol * XrdHttpProtocol::Match ( XrdLink lp)
virtual

Tells if the oustanding bytes on the socket match this protocol implementation.

Implements XrdProtocol.

◆ operator=()

XrdHttpProtocol XrdHttpProtocol::operator= ( const XrdHttpProtocol rhs)

◆ Process()

int XrdHttpProtocol::Process ( XrdLink lp)
virtual

Process data incoming from the socket.

Implements XrdProtocol.

◆ Recycle()

void XrdHttpProtocol::Recycle ( XrdLink lp,
int  consec,
const char *  reason 
)
virtual

Recycle this instance.

Implements XrdProtocol.

◆ Reset()

void XrdHttpProtocol::Reset ( )
private

Reset values, counters, in order to reutilize an object of this class.

◆ SendData()

int XrdHttpProtocol::SendData ( const char *  body,
int  bodylen 
)
private

Send some generic data to the client.

◆ SendSimpleResp()

int XrdHttpProtocol::SendSimpleResp ( int  code,
const char *  desc,
const char *  header_to_add,
const char *  body,
long long  bodylen,
bool  keepalive 
)
private

Sends a basic response. If the length is < 0 then it is calculated internally.

◆ StartChunkedResp()

int XrdHttpProtocol::StartChunkedResp ( int  code,
const char *  desc,
const char *  header_to_add,
long long  bodylen,
bool  keepalive 
)
private

Starts a chunked response; body of request is sent over multiple parts using the SendChunkResp.

◆ StartSimpleResp()

int XrdHttpProtocol::StartSimpleResp ( int  code,
const char *  desc,
const char *  header_to_add,
long long  bodylen,
bool  keepalive 
)
private

Start a response back to the client.

◆ Stats()

int XrdHttpProtocol::Stats ( char *  buff,
int  blen,
int  do_sync = 0 
)
virtual

Get activity stats.

Implements XrdProtocol.

◆ xdesthttps()

static int XrdHttpProtocol::xdesthttps ( XrdOucStream Config)
staticprivate

◆ xembeddedstatic()

static int XrdHttpProtocol::xembeddedstatic ( XrdOucStream Config)
staticprivate

◆ xexthandler()

static int XrdHttpProtocol::xexthandler ( XrdOucStream Config,
std::vector< extHInfo > &  hiVec 
)
staticprivate

◆ xgmap()

static int XrdHttpProtocol::xgmap ( XrdOucStream Config)
staticprivate

◆ xheader2cgi()

static int XrdHttpProtocol::xheader2cgi ( XrdOucStream Config)
staticprivate

◆ xhttpsmode()

static int XrdHttpProtocol::xhttpsmode ( XrdOucStream Config)
staticprivate

◆ xlistdeny()

static int XrdHttpProtocol::xlistdeny ( XrdOucStream Config)
staticprivate

◆ xlistredir()

static int XrdHttpProtocol::xlistredir ( XrdOucStream Config)
staticprivate

◆ xsecretkey()

static int XrdHttpProtocol::xsecretkey ( XrdOucStream Config)
staticprivate

◆ xsecxtractor()

static int XrdHttpProtocol::xsecxtractor ( XrdOucStream Config)
staticprivate

◆ xselfhttps2http()

static int XrdHttpProtocol::xselfhttps2http ( XrdOucStream Config)
staticprivate

◆ xsslcadir()

static int XrdHttpProtocol::xsslcadir ( XrdOucStream Config)
staticprivate

◆ xsslcafile()

static int XrdHttpProtocol::xsslcafile ( XrdOucStream Config)
staticprivate

◆ xsslcert()

static int XrdHttpProtocol::xsslcert ( XrdOucStream Config)
staticprivate

◆ xsslcipherfilter()

static int XrdHttpProtocol::xsslcipherfilter ( XrdOucStream Config)
staticprivate

◆ xsslkey()

static int XrdHttpProtocol::xsslkey ( XrdOucStream Config)
staticprivate

◆ xsslverifydepth()

static int XrdHttpProtocol::xsslverifydepth ( XrdOucStream Config)
staticprivate

◆ xstaticpreload()

static int XrdHttpProtocol::xstaticpreload ( XrdOucStream Config)
staticprivate

◆ xstaticredir()

static int XrdHttpProtocol::xstaticredir ( XrdOucStream Config)
staticprivate

◆ xtlsreuse()

static int XrdHttpProtocol::xtlsreuse ( XrdOucStream Config)
staticprivate

◆ xtrace()

static int XrdHttpProtocol::xtrace ( XrdOucStream Config)
staticprivate

Friends And Related Symbol Documentation

◆ XrdHttpExtReq

friend class XrdHttpExtReq
friend

◆ XrdHttpReq

friend class XrdHttpReq
friend

Member Data Documentation

◆ Addr_str

char* XrdHttpProtocol::Addr_str
protected

Our IP address, as a string. Please remember that this may not be unique for a given machine, hence we need to keep it here and recompute ad every new connection.

◆ BPool

XrdBuffManager* XrdHttpProtocol::BPool
staticprotected

◆ Bridge

XrdXrootd::Bridge* XrdHttpProtocol::Bridge
protected

The Bridge that we use to exercise the xrootd internals.

◆ CIA

XrdSecService* XrdHttpProtocol::CIA
staticprotected

◆ cksumHandler

XrdHttpChecksumHandler XrdHttpProtocol::cksumHandler
static

◆ compatNameGeneration

bool XrdHttpProtocol::compatNameGeneration
staticprotected

◆ crlRefIntervalSec

int XrdHttpProtocol::crlRefIntervalSec
staticprotected

CRL thread refresh interval.

◆ CurrentReq

XrdHttpReq XrdHttpProtocol::CurrentReq
protected

Area for coordinating request and responses to/from the bridge This also can process HTTP/DAV stuff

◆ DoingLogin

bool XrdHttpProtocol::DoingLogin
private

Tells that we are just logging in.

◆ eDest

XrdSysError XrdHttpProtocol::eDest
staticprotected

◆ embeddedstatic

bool XrdHttpProtocol::embeddedstatic
staticprotected

If true, use the embedded css and icons.

◆ exthandler

struct XrdHttpProtocol::XrdHttpExtHandlerInfo XrdHttpProtocol::exthandler[MAX_XRDHTTPEXTHANDLERS]
staticprivate

◆ exthandlercnt

int XrdHttpProtocol::exthandlercnt
staticprivate

◆ gridmap

char* XrdHttpProtocol::gridmap
staticprotected

Gridmap file location. The same used by XrdSecGsi.

◆ hailWait

int XrdHttpProtocol::hailWait
staticprotected

Timeout for reading the handshake.

◆ hdr2cgimap

std::map< std::string, std::string > XrdHttpProtocol::hdr2cgimap
staticprotected

Rules that turn HTTP headers to cgi tokens in the URL, for internal comsumption.

◆ isdesthttps

bool XrdHttpProtocol::isdesthttps
staticprotected

True if the redirections must be towards https targets.

◆ ishttps

bool XrdHttpProtocol::ishttps
private

Tells if the client is https.

Referenced by isHTTPS().

◆ isRequiredGridmap

bool XrdHttpProtocol::isRequiredGridmap
staticprotected

◆ isRequiredXtractor

bool XrdHttpProtocol::isRequiredXtractor
staticprivate

◆ Link

XrdLink* XrdHttpProtocol::Link
protected

The link we are bound to.

◆ listdeny

bool XrdHttpProtocol::listdeny
staticprotected

If true, any form of listing is denied.

◆ listredir

char* XrdHttpProtocol::listredir
staticprotected

Url to redirect to in the case a listing is requested.

◆ m_bio_method

BIO_METHOD* XrdHttpProtocol::m_bio_method
staticprotected

C-style vptr table for our custom BIO objects.

◆ m_bio_type

int XrdHttpProtocol::m_bio_type
staticprotected

Type identifier for our custom BIO objects.

◆ myBuff

XrdBuffer* XrdHttpProtocol::myBuff
private

Circular Buffer used to read the request.

◆ myBuffEnd

char * XrdHttpProtocol::myBuffEnd
private

◆ myBuffStart

char* XrdHttpProtocol::myBuffStart
private

The circular pointers.

◆ myCryptoFactory

XrdCryptoFactory* XrdHttpProtocol::myCryptoFactory
staticprivate

◆ myRole

kXR_int32 XrdHttpProtocol::myRole
staticprotected

Our role.

◆ pmarkHandle

XrdNetPMark* XrdHttpProtocol::pmarkHandle
staticprotected

Packet marking handler pointer (assigned from the environment during the Config() call)

◆ Port

int XrdHttpProtocol::Port
staticprotected

Our port.

◆ Port_str

char* XrdHttpProtocol::Port_str
staticprotected

Our port, as a string.

◆ ProtLink

XrdObject<XrdHttpProtocol> XrdHttpProtocol::ProtLink

◆ ProtStack

XrdObjectQ<XrdHttpProtocol> XrdHttpProtocol::ProtStack
static

◆ ReadRangeConfig

XrdHttpReadRangeHandler::Configuration XrdHttpProtocol::ReadRangeConfig
static

configuration for the read range handler

◆ readWait

int XrdHttpProtocol::readWait
staticprotected

Timeout for reading data.

◆ Resume

int(XrdHttpProtocol::* XrdHttpProtocol::Resume) ()
private

The resume function.

Referenced by DoIt().

◆ ResumeBytes

long XrdHttpProtocol::ResumeBytes
private

Tells that we are just waiting to have N bytes in the buffer.

◆ sbio

BIO* XrdHttpProtocol::sbio
private

Private SSL bio.

◆ Sched

XrdScheduler* XrdHttpProtocol::Sched
staticprotected

◆ SecEntity

XrdSecEntity XrdHttpProtocol::SecEntity

Authentication area.

◆ secretkey

char* XrdHttpProtocol::secretkey
staticprotected

The key used to calculate the url hashes.

◆ secxtractor

XrdHttpSecXtractor* XrdHttpProtocol::secxtractor
staticprivate

◆ selfhttps2http

bool XrdHttpProtocol::selfhttps2http
staticprotected

If client is HTTPS, self-redirect with HTTP+token.

◆ servGMap

XrdOucGMap* XrdHttpProtocol::servGMap
staticprotected

The instance of the DN mapper. Created only when a valid path is given.

◆ ssl

SSL* XrdHttpProtocol::ssl
private

Private SSL context.

◆ sslbio_err

BIO* XrdHttpProtocol::sslbio_err
staticprivate

bio to print SSL errors

◆ sslcadir

char * XrdHttpProtocol::sslcadir
staticprotected

◆ sslcafile

char * XrdHttpProtocol::sslcafile
staticprotected

◆ sslcert

char* XrdHttpProtocol::sslcert
staticprotected

OpenSSL stuff.

◆ sslcipherfilter

char * XrdHttpProtocol::sslcipherfilter
staticprotected

◆ ssldone

bool XrdHttpProtocol::ssldone
private

Flag to tell if the https handshake has finished, in the case of an https connection being established

◆ sslkey

char * XrdHttpProtocol::sslkey
staticprotected

◆ sslverifydepth

int XrdHttpProtocol::sslverifydepth
staticprotected

Depth of verification of a certificate chain.

◆ staticpreload

XrdOucHash<StaticPreloadInfo>* XrdHttpProtocol::staticpreload
staticprotected

◆ staticredir

char* XrdHttpProtocol::staticredir
staticprotected

◆ tmpline

XrdOucString XrdHttpProtocol::tmpline
private

A nice var to hold the current header line.

◆ usingEC

bool XrdHttpProtocol::usingEC
staticprivate

◆ xrd_cslist

char* XrdHttpProtocol::xrd_cslist
staticprotected

The list of checksums that were configured via the xrd.cksum parameter on the server config file.


The documentation for this class was generated from the following file: