#include <XrdSecProtect.hh>
virtual XrdSecProtect::~XrdSecProtect |
( |
| ) |
|
|
inlinevirtual |
XrdSecProtect::XrdSecProtect |
( |
XrdSecProtocol * |
aprot = 0 , |
|
|
bool |
edok = true |
|
) |
| |
|
inlineprotected |
virtual void XrdSecProtect::Delete |
( |
| ) |
|
|
inlinevirtual |
Delete this object. Use this method as opposed to operator delete.
bool XrdSecProtect::GetSHA2 |
( |
unsigned char * |
hBuff, |
|
|
struct iovec * |
iovP, |
|
|
int |
iovN |
|
) |
| |
|
private |
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.
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.
char XrdSecProtect::myVec[maxRIX] |
|
private |
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.
const char* XrdSecProtect::secVec |
|
private |
bool XrdSecProtect::secVerData |
|
private |
The documentation for this class was generated from the following file: