22#include "RConfigure.h" 
   52   Create(host, user, nmeth, authmeth, details);
 
   65   Create(host, user, nmeth, authmeth, details);
 
   76                     const char *details) : 
TObject()
 
   78   Create(host, user, 1, &authmeth, (
char **)&details);
 
   89   Create(host, user, 1, &authmeth, (
char **)&details);
 
  101                       Int_t *authmeth, 
char **details)
 
  124      else if (srv == 
"1" || srv.
BeginsWith(
"root"))
 
  126      else if (srv == 
"2" || srv.
BeginsWith(
"proof"))
 
  153      for (i = 0; i < 
kMAXSEC; i++) {
 
  169         if (details && details[i] && strlen(details[i]) > 0) {
 
  199   char *tmp = strdup(asstring);
 
  210   fNmet = 
TString((
const char *)strtok(0,
" "));
 
  224      sscanf(det.
Data(),
"%10s",cmet);
 
  225      Int_t met = atoi(cmet);
 
  226      if (met > -1 && met < 
kMAXSEC) {
 
  228         while (det.
First(
' ') == 0)
 
  280   if (meth < 0 || meth >= 
kMAXSEC) 
return;
 
  292   if (details && strlen(details) > 0) {
 
  376         Info(
"GetDetails",
" %d: returning fDetails[%d]: %s",
 
  380   static const char *empty = 
" ";
 
  407      if (details && strlen(details) > 0) {
 
  426   char srvnam[5][8] = { 
"any", 
"sockd", 
"rootd", 
"proofd", 
"???" };
 
  432        "%s +------------------------------------------------------------------+",proc);
 
  433   Info(
"Print",
"%s + Host:%s - srv:%s - User:%s - # of available methods:%d",
 
  437      Info(
"Print",
"%s + Method: %d (%s) Ok:%d Ko:%d Dets:%s", proc,
 
  442        "%s +------------------------------------------------------------------+",proc);
 
  450   Info(
"PrintEstablished",
 
  451        "+------------------------------------------------------------------------------+");
 
  452   Info(
"PrintEstablished",
"+ Host:%s - Number of active sec contexts: %d",
 
  466   Info(
"PrintEstablished",
 
  467        "+------------------------------------------------------------------------------+");
 
  484   for ( ; j < nmet; j++) {
 
  492      } 
else if (fmet[j] >= 0 && fmet[j] < 
kMAXSEC) {
 
  493         tMethods[j] = fmet[j];
 
  497         tDetails[j] = (
const char *)tmp;
 
  500         Warning(
"ReOrder",
"Method id out of range (%d) - skipping",fmet[j]);
 
  505   Int_t k = nmet, i = 0;
 
  567      for (i = 0; i < tNumMethods; i++) {
 
  675   if (details && strlen(details) > 0) {
 
  725                                             const char *details, 
const char *token,
 
  729                                              token, expdate, sctx, key);
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
 
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
 
R__EXTERN TSystem * gSystem
 
static char * GetDefaultDetails(Int_t method, Int_t opt, const char *user)
Determine default authentication details for method 'sec' and user 'usr'.
 
static const char * GetAuthMethod(Int_t idx)
Static method returning the method corresponding to idx.
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
 
const char * GetUser() const
 
void Create(const char *host, const char *user, Int_t nmeth=0, Int_t *authmeth=nullptr, char **details=nullptr)
Create hostauth object.
 
void Reset()
Remove all methods, leaving Active status and list of associted TSceContexts unchanged.
 
TRootSecContext * CreateSecContext(const char *user, const char *host, Int_t meth, Int_t offset, const char *details, const char *token, TDatime expdate=kROOTTZERO, void *ctx=nullptr, Int_t key=-1)
Create a Security context and add it to local list Return pointer to it to be stored in TAuthenticate...
 
const char * GetHost() const
 
void AddMethod(Int_t level, const char *details=nullptr)
Add method to the list.
 
void SetDetails(Int_t level, const char *details)
Set authentication details for specified level.
 
virtual ~THostAuth()
The dtor.
 
void SetFirst(Int_t level)
Set 'method' to be the first used (if in the list ...).
 
TString fDetails[kMAXSEC]
 
void Print(Option_t *option="") const override
Print object content.
 
void ReOrder(Int_t nmet, Int_t *fmet)
Reorder nmet methods according fmet[nmet].
 
THostAuth()
Default constructor.
 
void RemoveMethod(Int_t level)
Remove method 'meth' from the list, if there ...
 
void CountFailure(Int_t level)
Count failures for 'method'.
 
Int_t GetSuccess(Int_t idx) const
 
void AddFirst(Int_t level, const char *details=nullptr)
Add new method in first position If already in the list, set as first method 'level' with authenticat...
 
Int_t GetMethod(Int_t idx) const
 
Bool_t HasMethod(Int_t level, Int_t *pos=nullptr)
Return kTRUE if method 'level' is in the list.
 
void AsString(TString &out) const
Return a static string with all info in a serialized form.
 
TList * Established() const
 
void Update(THostAuth *ha)
Update info with the one in ha Remaining methods, if any, get lower priority.
 
const char * GetDetails(Int_t level)
Return authentication details for specified level or "" if the specified level does not exist for thi...
 
void SetLast(Int_t level)
Set 'method' to be the last used (if in the list ...).
 
Int_t GetFailure(Int_t idx) const
 
const char * GetDetailsByIdx(Int_t idx) const
 
void PrintEstablished() const
Print info about established authentication vis-a-vis of this Host.
 
void CountSuccess(Int_t level)
Count successes for 'method'.
 
This class represents an Internet Protocol (IP) address.
 
const char * GetHostName() const
 
void Add(TObject *obj) override
 
Mother of all ROOT objects.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
Bool_t IsActive() const
Check remote OffSet and expiring Date.
 
void Print(Option_t *option="F") const override
If opt is "F" (default) print object content.
 
Ssiz_t First(char c) const
Find first occurrence of a character c.
 
const char * Data() const
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
void Resize(Ssiz_t n)
Resize the string. Truncate or add blanks as necessary.
 
Ssiz_t Last(char c) const
Find last occurrence of a character c.
 
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
 
TString & Remove(Ssiz_t pos)
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
virtual const char * Getenv(const char *env)
Get environment variable.
 
virtual TInetAddress GetHostByName(const char *server)
Get Internet Protocol (IP) address of host.
 
virtual UserGroup_t * GetUserInfo(Int_t uid)
Returns all user info in the UserGroup_t structure.
 
This class represents a WWW compatible URL.
 
const char * GetProtocol() const