From cb77b070154bf0a0404bc91c81a20b007f3b9ef9 Mon Sep 17 00:00:00 2001 From: Diego Davila Date: Tue, 21 Apr 2020 19:07:20 -0700 Subject: [PATCH] bring old code back to set myRole correctly for the http protocol --- src/XrdHttp/XrdHttpProtocol.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/XrdHttp/XrdHttpProtocol.cc b/src/XrdHttp/XrdHttpProtocol.cc index 74904f6596b..20372050261 100644 --- a/src/XrdHttp/XrdHttpProtocol.cc +++ b/src/XrdHttp/XrdHttpProtocol.cc @@ -1587,6 +1587,23 @@ int XrdHttpProtocol::Configure(char *parms, XrdProtocol_Config * pi) { if (rdf && Config(rdf, pi->theEnv)) return 0; if (pi->DebugON) XrdHttpTrace->What = TRACE_ALL; + // Set the redirect flag if we are a pure redirector + myRole = kXR_isServer; + if ((rdf = getenv("XRDROLE"))) { + eDest.Emsg("Config", "XRDROLE: ", rdf); + + if (!strcasecmp(rdf, "manager") || !strcasecmp(rdf, "supervisor")) { + myRole = kXR_isManager; + eDest.Emsg("Config", "Configured as HTTP(s) redirector."); + } else { + + eDest.Emsg("Config", "Configured as HTTP(s) data server."); + } + + } else { + eDest.Emsg("Config", "No XRDROLE specified."); + } + // Schedule protocol object cleanup // ProtStack.Set(pi->Sched, XrdHttpTrace, TRACE_MEM);