#include <XrdSecProtect.hh>
◆ ~XrdSecProtect()
virtual XrdSecProtect::~XrdSecProtect |
( |
| ) |
|
|
inlinevirtual |
◆ XrdSecProtect() [1/2]
XrdSecProtect::XrdSecProtect |
( |
XrdSecProtocol * |
aprot = 0 , |
|
|
bool |
edok = true |
|
) |
| |
|
inlineprotected |
◆ XrdSecProtect() [2/2]
◆ Delete()
virtual void XrdSecProtect::Delete |
( |
| ) |
|
|
inlinevirtual |
Delete this object. Use this method as opposed to operator delete.
◆ GetSHA2()
bool XrdSecProtect::GetSHA2 |
( |
unsigned char * |
hBuff, |
|
|
struct iovec * |
iovP, |
|
|
int |
iovN |
|
) |
| |
|
private |
◆ Screen()
◆ Secure()
Secure a request.
Request securement is optional and this call should be gaurded by an if statement to avoid securing requests that need not be secured as follows:
if (NEED2SECURE(<protP>)(thereq)) result = <protP>->Secure(....); else result = 0;
Modify the above to your particuar needs but gaurd the call!
- Parameters
-
newreq | A reference to a pointer where the new request, if needed, will be placed. The new request will consist of a kXR_sigver request followed by hash. The request buffer must be freed using free() when it is no longer needed. |
thereq | Reference to the client request header/body that needs to be secured. The request must be in network byte order. |
thedata | The request data whose length resides in theReq.dlen. If thedata is nil but thereq.dlen is not zero then the request data must follow the request header in the thereq buffer. |
- Returns
- <0 An error occurred and the return value is -errno.
-
>0 The length of the new request whose pointer is in newreq. This is the nuber of bytes that must be sent.
◆ SetProtection()
◆ Verify()
Verify that a request was properly secured.
- Parameters
-
secreq | A reference to the kXR_sigver request followed by whatever data was sent (normally an encrypted verification hash). All but the request code must be in network byte order. |
thereq | Reference to the client request header/body that needs to be verified. The request must be in network byte order. |
thedata | The request data whose length resides in theReq.dlen. |
- Returns
- Upon success zero is returned. Otherwise a pointer to a null delimited string describing the problem is returned.
◆ XrdSecProtector
◆ [union]
◆ authProt
◆ edOK
◆ lastSeqno
◆ maxRIX
◆ myReqs
◆ myVec
char XrdSecProtect::myVec[maxRIX] |
|
private |
◆ Need2Secure
bool(XrdSecProtect::* XrdSecProtect::Need2Secure) (ClientRequest &thereq) |
Test whether or not a request needs to be secured. This method pointer should only be invoked via the NEED2SECURE macro (see above).
- Parameters
-
thereq | Reference to the request header/body in network byte order. |
- Returns
- false - request need not be secured (equals false).
-
true - request needs to be secured.
◆ nextSeqno
◆ secVec
const char* XrdSecProtect::secVec |
|
private |
◆ secVerData
bool XrdSecProtect::secVerData |
|
private |
The documentation for this class was generated from the following file: