42 Int_t rproto =
s->GetRemoteProtocol() % 1000;
44 if (rproto > 6 && rproto < 10) {
48 if (
s->Recv(rproto, kind) < 0) {
49 Error(
"Authenticate",
"receiving remote protocol");
52 s->SetRemoteProtocol(rproto);
64 if (!strncasecmp(opt.
Data()+1,
"C", 1)) {
76 }
else if (
proto.Contains(
"sockd") ||
proto.Contains(
"rootd") ||
77 proto.Contains(
"proofd")) {
78 proto.ReplaceAll(
"d",1,
"",0);
91 if (isMASTER && !isPROOFserv) {
121 Error(
"Authenticate",
122 "timeout expired for %s@%s", auth->
GetUser(), host);
124 Error(
"Authenticate",
125 "authentication failed for %s@%s", auth->
GetUser(), host);
134 s->SetSecContext(ctx);
141 if (rc && isPROOF && rproto > 11) {
142 Bool_t client = !isPROOFserv;
144 Error(
"Authenticate",
"PROOF: failed to finalize setup");
void Error(const char *location, const char *msgfmt,...)
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
TRootSecContext * GetSecContext() const
Int_t HasTimedOut() const
THostAuth * GetHostAuth() const
const char * GetUser() const
Bool_t Authenticate()
Authenticate to remote rootd or proofd server.
Int_t ProofAuthSetup()
Authentication related stuff setup in TProofServ.
static void AuthError(const char *where, Int_t error)
Print error string depending on error code.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
void SetDetails(Int_t level, const char *details)
Set authentication details for specified level.
void RemoveMethod(Int_t level)
Remove method 'meth' from the list, if there ...
const char * GetDetails(Int_t level)
Return authentication details for specified level or "" if the specified level does not exist for thi...
Int_t ClientVersion()
Return client version;.
TSecContext * Authenticate(TSocket *, const char *host, const char *user, Option_t *options="")
Runs authentication on socket s.
void ErrorMsg(const char *where, Int_t ecode=-1)
Print error string corresponding to ecode, prepending location.
static Int_t GetClientProtocol()
Static method returning supported client protocol.
TSubString SubString(const char *pat, Ssiz_t start=0, ECaseCompare cmp=kExact) const
Returns a substring matching "pattern", or the null substring if there is no such match.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
A zero length substring is legal.
const char * Data() const
virtual int GetPid()
Get process id.
This class represents a WWW compatible URL.
const char * GetOptions() const
const char * GetProtocol() const
static constexpr double s