#include <XrdNetPMarkFF.hh>
Definition at line 38 of file XrdNetPMarkFF.hh.
◆ XrdNetPMarkFF()
◆ ~XrdNetPMarkFF()
XrdNetPMarkFF::~XrdNetPMarkFF |
( |
| ) |
|
|
virtual |
Definition at line 271 of file XrdNetPMarkFF.cc.
276 {
char utcBuff[40], endBuff[80];
277 snprintf(endBuff,
sizeof(endBuff), ffEnd,
278 getUTC(utcBuff,
sizeof(utcBuff)));
279 Emit(
"end", utcBuff, endBuff);
284 if (mySad)
delete(mySad);
285 if (oDest) free(oDest);
286 if (ffHdr) free(ffHdr);
287 if (ffTail) free(ffTail);
288 if (xtraFH)
delete xtraFH;
◆ addHandle()
◆ Start()
Definition at line 328 of file XrdNetPMarkFF.cc.
330 char appInfo[128], clIP[INET6_ADDRSTRLEN+2], svIP[INET6_ADDRSTRLEN+2];
333 bool fdok =
false, odok =
false;
338 else snprintf(appInfo,
sizeof(appInfo),ffApp,
sizeof(appInfo)-20,
appName);
351 {
eDest->
Emsg(
"PMarkFF", clPort,
"get peer information.");
357 {
eDest->
Emsg(
"PMarkFF", clPort,
"get self information.");
369 if (!urSad)
eDest->
Emsg(
"PMarkFF",
"unable to get origin address.");
370 else {
char buff[1024];
373 mySad->
v4.sin_port = htons(
static_cast<uint16_t
>(
ffPortO));
374 snprintf(buff,
sizeof(buff),
"%s:%d", clIP,
ffPortO);
375 oDest = strdup(buff);
382 if (!fdok && !odok)
return false;
387 char utcBuff[40], bseg0[512];
388 int len0 = snprintf(bseg0,
sizeof(bseg0), ffFmt0,
myHostName,
389 getUTC(utcBuff,
sizeof(utcBuff)));
390 if (len0 >= (
int)
sizeof(bseg0))
391 {
eDest->
Emsg(
"PMarkFF",
"invalid json; bseg0 truncated.");
395 ffHdr = strdup(bseg0);
398 int len1 = snprintf(bseg1,
sizeof(bseg1), ffFmt1,
eCode,
aCode, appInfo);
399 if (len1 >= (
int)
sizeof(bseg1))
400 {
eDest->
Emsg(
"PMarkFF",
"invalid json; bseg1 truncated.");
412 {len2 = snprintf(bseg2,
sizeof(bseg2), ffFmt2,
413 clType, clIP, svIP, clPort, svPort);
415 len2 = snprintf(bseg2,
sizeof(bseg2), ffFmt2,
416 clType, svIP, clIP, svPort, clPort);
418 if (len2 >= (
int)
sizeof(bseg2))
419 {
eDest->
Emsg(
"PMarkFF",
"invalid json; cl bseg2 truncated.");
423 ffTailsz = len1 + len2;
424 ffTail = (
char *)malloc(ffTailsz + 1);
425 strcpy(ffTail, bseg1);
426 strcpy(ffTail+len1, bseg2);
432 return Emit(
"start", utcBuff,
"");
static XrdSysError eDest(0,"crypto_")
const XrdNetSockAddr * NetAddr()
static int GetSokInfo(int fd, char *theAddr, int theALen, char &theType)
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)
References XrdNetPMarkConfig::eDest, XrdSysError::Emsg(), XrdNetPMarkConfig::ffPortO, XrdNetUtils::GetSokInfo(), XrdNetPMarkConfig::myHostName, XrdNetAddrInfo::NetAddr(), XrdNetPMarkConfig::netMsg, XrdNetPMarkConfig::netOrg, and XrdNetAddrInfo::SockFD().
Referenced by XrdNetPMarkCfg::Begin().
The documentation for this class was generated from the following files: