#include "XrdVersion.hh"
#include "Xrd/XrdBuffer.hh"
#include "Xrd/XrdLink.hh"
#include "XProtocol/XProtocol.hh"
#include "XrdOuc/XrdOuca2x.hh"
#include "XrdOuc/XrdOucStream.hh"
#include "XrdOuc/XrdOucEnv.hh"
#include "XrdOuc/XrdOucGMap.hh"
#include "XrdSys/XrdSysE2T.hh"
#include "XrdSys/XrdSysTimer.hh"
#include "XrdOuc/XrdOucPinLoader.hh"
#include "XrdHttpMon.hh"
#include "XrdHttpTrace.hh"
#include "XrdHttpProtocol.hh"
#include <sys/stat.h>
#include "XrdHttpUtils.hh"
#include "XrdHttpSecXtractor.hh"
#include "XrdHttpExtHandler.hh"
#include "XrdTls/XrdTls.hh"
#include "XrdTls/XrdTlsContext.hh"
#include "XrdOuc/XrdOucUtils.hh"
#include "XrdOuc/XrdOucPrivateUtils.hh"
#include "XrdHttpCors/XrdHttpCors.hh"
#include <charconv>
#include <openssl/err.h>
#include <openssl/ssl.h>
#include <vector>
#include <arpa/inet.h>
#include <sstream>
#include <cctype>
#include <fcntl.h>
#include <algorithm>
Go to the source code of this file.
|
| static int | BIO_XrdLink_create (BIO *bio) |
| static long | BIO_XrdLink_ctrl (BIO *bio, int cmd, long num, void *ptr) |
| static int | BIO_XrdLink_destroy (BIO *bio) |
| static int | BIO_XrdLink_read (BIO *bio, char *data, int datal) |
| int | BIO_XrdLink_write (BIO *bio, const char *data, int datal) |
| static | XrdVERSIONINFODEF (compiledVer, XrdHttpProtocolTest, XrdVNUMBER, XrdVERSION) |
◆ HTTPS_ALERT
| #define HTTPS_ALERT |
( |
| x, |
|
|
| y, |
|
|
| z ) |
Value:
eDest.Say(
"Config http." x
" overrides the xrd." y
" directive.")
static XrdSysError eDest(0,"crypto_")
Definition at line 901 of file XrdHttpProtocol.cc.
901#define HTTPS_ALERT(x,y,z) httpsspec = true;\
902 if (xrdctx && httpsmode == hsmAuto && (z || xrdctx->x509Verify())) \
903 eDest.Say("Config http." x " overrides the xrd." y " directive.")
◆ TRACELINK [1/3]
◆ TRACELINK [2/3]
◆ TRACELINK [3/3]
◆ TS_Xeq
◆ TS_Xeq3
◆ XRHTTP_TK_GRACETIME
| #define XRHTTP_TK_GRACETIME 600 |
◆ BIO_XrdLink_create()
| int BIO_XrdLink_create |
( |
BIO * | bio | ) |
|
|
static |
Definition at line 336 of file XrdHttpProtocol.cc.
337{
338 BIO_set_init(bio, 0);
339 BIO_set_data(bio, NULL);
340 BIO_set_flags(bio, 0);
341 return 1;
342}
◆ BIO_XrdLink_ctrl()
| long BIO_XrdLink_ctrl |
( |
BIO * | bio, |
|
|
int | cmd, |
|
|
long | num, |
|
|
void * | ptr ) |
|
static |
Definition at line 357 of file XrdHttpProtocol.cc.
358{
359 long ret = 1;
360 switch (cmd) {
361 case BIO_CTRL_GET_CLOSE:
362 ret = BIO_get_shutdown(bio);
363 break;
364 case BIO_CTRL_SET_CLOSE:
365 BIO_set_shutdown(bio, (int)num);
366 break;
367 case BIO_CTRL_DUP:
368 case BIO_CTRL_FLUSH:
369 ret = 1;
370 break;
371 default:
372 ret = 0;
373 break;
374 }
375 return ret;
376}
◆ BIO_XrdLink_destroy()
| int BIO_XrdLink_destroy |
( |
BIO * | bio | ) |
|
|
static |
Definition at line 344 of file XrdHttpProtocol.cc.
345{
346 if (bio == NULL) return 0;
347 if (BIO_get_shutdown(bio)) {
348 if (BIO_get_data(bio)) {
350 }
351 BIO_set_init(bio, 0);
352 BIO_set_flags(bio, 0);
353 }
354 return 1;
355}
CloseImpl< false > Close(Ctx< File > file, time_t timeout=0)
Factory for creating CloseImpl objects.
◆ BIO_XrdLink_read()
| int BIO_XrdLink_read |
( |
BIO * | bio, |
|
|
char * | data, |
|
|
int | datal ) |
|
static |
Definition at line 318 of file XrdHttpProtocol.cc.
319{
320 if (!data || !bio) {
321 errno = ENOMEM;
322 return -1;
323 }
324
325 errno = 0;
327 int ret = lp->
Recv(data, datal);
328 BIO_clear_retry_flags(bio);
329 if (ret <= 0) {
330 if ((errno == EINTR) || (errno == EINPROGRESS) || (errno == EAGAIN) || (errno == EWOULDBLOCK))
331 BIO_set_retry_read(bio);
332 }
333 return ret;
334}
int Recv(char *buff, int blen)
References XrdLink::Recv().
◆ BIO_XrdLink_write()
| int BIO_XrdLink_write |
( |
BIO * | bio, |
|
|
const char * | data, |
|
|
int | datal ) |
Definition at line 300 of file XrdHttpProtocol.cc.
301{
302 if (!data || !bio) {
303 errno = ENOMEM;
304 return -1;
305 }
306
307 errno = 0;
309 int ret = lp->
Send(data, datal);
310 BIO_clear_retry_flags(bio);
311 if (ret <= 0) {
312 if ((errno == EINTR) || (errno == EINPROGRESS) || (errno == EAGAIN) || (errno == EWOULDBLOCK))
313 BIO_set_retry_write(bio);
314 }
315 return ret;
316}
int Send(const char *buff, int blen)
References XrdLink::Send().
◆ XrdVERSIONINFODEF()
| XrdVERSIONINFODEF |
( |
compiledVer | , |
|
|
XrdHttpProtocolTest | , |
|
|
XrdVNUMBER | , |
|
|
XrdVERSION | ) |
|
static |
References XrdHttpSecXtractorArgs.
Referenced by XrdCksConfig::XrdCksConfig(), XrdCksLoader::XrdCksLoader(), XrdFrmConfig::XrdFrmConfig(), XrdOssSys::XrdOssSys(), XrdSsiSfsConfig::XrdSsiSfsConfig(), XrdOucLogging::configLog(), XrdCryptoFactory::GetCryptoFactory(), XrdSysPlugin::getPlugin(), XrdOucN2NLoader::Load(), main(), XrdAccDefaultAuthorizeObject(), XrdXrootdloadFileSystem(), and XrdXrootdloadRedirLib().
◆ XrdHttpSecEntityTident
| const char* XrdHttpSecEntityTident = "http" |
◆ XrdHttpTrace