From 23f0608549f8a88333bf919836c63cb725e580e2 Mon Sep 17 00:00:00 2001 From: Andrew Hanushevsky Date: Tue, 15 Oct 2019 22:32:05 -0700 Subject: [PATCH] [Server} Remove the hack for direct cache access setting. --- src/XrdOfs/XrdOfs.cc | 5 ++--- src/XrdOuc/XrdOucErrInfo.hh | 1 - src/XrdXrootd/XrdXrootdProtocol.hh | 6 +++--- src/XrdXrootd/XrdXrootdTransit.cc | 1 + src/XrdXrootd/XrdXrootdXeq.cc | 18 ++++++++---------- 5 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/XrdOfs/XrdOfs.cc b/src/XrdOfs/XrdOfs.cc index 6d16af94449..d550a127c26 100644 --- a/src/XrdOfs/XrdOfs.cc +++ b/src/XrdOfs/XrdOfs.cc @@ -651,9 +651,8 @@ int XrdOfsFile::open(const char *path, // In // if (XrdOfsFS->OssIsProxy) {if (myTPC) open_flag |= O_NOFOLLOW; - if (error.getUCap() & XrdOucEI::u48pls - || (error.getUCap() & XrdOucEI::uUrlOK && - error.getUCap() & XrdOucEI::uLclF)) open_flag |= O_DIRECT; + if (error.getUCap() & XrdOucEI::uUrlOK && + error.getUCap() & XrdOucEI::uLclF) open_flag |= O_DIRECT; } // Open the file diff --git a/src/XrdOuc/XrdOucErrInfo.hh b/src/XrdOuc/XrdOucErrInfo.hh index f57f2bdc4f7..4690b488634 100644 --- a/src/XrdOuc/XrdOucErrInfo.hh +++ b/src/XrdOuc/XrdOucErrInfo.hh @@ -66,7 +66,6 @@ static const int uIPv64 = 0x04000000; //! ucap: Supports IPv6|IPv4 info and //! uIPv4 says IPv4 is prefered static const int uPrip = 0x02000000; //! ucap: Client is on a private net static const int uLclF = 0x01000000; //! ucap: Client supports "file://" -static const int u48pls = 0x00800000; //! ucap: Undocumented removed in R5 inline void clear(const char *usr=0, int uc=0) {code=0; ucap = uc; message[0]='\0'; diff --git a/src/XrdXrootd/XrdXrootdProtocol.hh b/src/XrdXrootd/XrdXrootdProtocol.hh index 909e9892d57..2b33f73c0d8 100644 --- a/src/XrdXrootd/XrdXrootdProtocol.hh +++ b/src/XrdXrootd/XrdXrootdProtocol.hh @@ -375,9 +375,9 @@ XrdLink *Link; XrdBuffer *argp; XrdXrootdFileTable *FTab; XrdXrootdMonitor::User Monitor; -int clientPV; -int clientRN; -int reserved; // In R5 clientPV will include clientRN +int clientPV; // Protocol version + capabilities +int clientRN; // Release as maj.min.patch (1 byte each). +int reserved; short rdType; char Status; unsigned char CapVer; diff --git a/src/XrdXrootd/XrdXrootdTransit.cc b/src/XrdXrootd/XrdXrootdTransit.cc index 3cae817d627..1c848bc3b0b 100644 --- a/src/XrdXrootd/XrdXrootdTransit.cc +++ b/src/XrdXrootd/XrdXrootdTransit.cc @@ -258,6 +258,7 @@ void XrdXrootdTransit::Init(XrdXrootd::Bridge::Result *respP, // Private Response.Set(linkP); Response.Set(this); strcpy(Entity.prot, "host"); + strncpy(Entity.pros, protP, sizeof(Entity.pros)); Entity.host = (char *)linkP->Host(); // Develop a trace identifier diff --git a/src/XrdXrootd/XrdXrootdXeq.cc b/src/XrdXrootd/XrdXrootdXeq.cc index 1f9b3f17e54..863f2575f9b 100644 --- a/src/XrdXrootd/XrdXrootdXeq.cc +++ b/src/XrdXrootd/XrdXrootdXeq.cc @@ -1015,16 +1015,13 @@ int XrdXrootdProtocol::do_Login() (clientPV & XrdOucEI::uIPv4 ? '4' : '6')); Entity.moninfo = strdup(apBuff); } - // MT-REBASE - if to be removed, also knock out char *rnumb and its print-out - // into abBuff - // if (rnumb) - // {int majr, minr, pchr; - // if (sscanf(rnumb, "v%d.%d.%d", &majr, &minr, &pchr) == 3) - // {clientRN = (majr<<16) | ((minr<<8) | pchr); - // if (majr > 4 || (majr == 4 && minr >= 8)) - // clientPV |= XrdOucEI::u48pls; //TODO: Temporary hack. - // } else if (sscanf(rnumb, "v%d-%*x", &majr) == 1) clientRN = -1; - // } + + if (rnumb) + {int majr, minr, pchr; + if (sscanf(rnumb, "v%d.%d.%d", &majr, &minr, &pchr) == 3) + clientRN = (majr<<16) | ((minr<<8) | pchr); + else if (sscanf(rnumb, "v%d-%*x", &majr) == 1) clientRN = -1; + } if (appXQ) AppName = strdup(appXQ); } @@ -3698,6 +3695,7 @@ bool XrdXrootdProtocol::logLogin(bool xauth) // Assign unique identifier to the final SecEntity object // Client->ueid = mySID; + strcpy(Client->pros, "xroot"); return true; }