95 if (service && (!
gSystem->AccessPathName(service) ||
99 service[0] ==
'/' || (service[1] ==
':' && service[2] ==
'/'))) {
107 gROOT->GetListOfSockets()->Add(
this);
112 int port =
gSystem->GetServiceByName(service);
117 gROOT->GetListOfSockets()->Add(
this);
160 fSocket =
gSystem->AnnounceTcpService(port, reuse, backlog, tcpwindowsize, socketBindOption);
163 gROOT->GetListOfSockets()->Add(
this);
214 if (
fSocket == -1) {
return 0; }
219 if (soc == -1) {
delete socket;
return 0; }
232 if (
socket->fSocket >= 0) {
319 if (
gSystem->Load(srvlib) == -1) {
320 Error(
"Authenticate",
"can't load %s",srvlib.
Data());
324 Error(
"Authenticate",
"can't locate %s",srvlib.
Data());
333 Error(
"Authenticate",
"can't find SrvAuthenticate");
338 f =
gSystem->DynFindSymbol(srvlib,
"SrvAuthCleanup");
342 Warning(
"Authenticate",
"can't find SrvAuthCleanup");
348 Error(
"Authenticate",
"config dir undefined");
360 Info(
"Authenticate",
"OpenHost = %s", openhost.
Data());
367 std::string ctkn =
"";
369 auth = (*fgSrvAuthHook)(sock, confdir, tmpdir, user,
373 Info(
"Authenticate",
"auth = %d, type= %d, ctkn= %s",
374 auth,
type, ctkn.c_str());
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 Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
externTVirtualMutex * gROOTMutex
static void SetAuthOpt(UChar_t &opt, UChar_t mod)
Kind of macro to parse input options Modify opt according to modifier mod.
TVirtualMutex * gSrvAuthenticateMutex
Int_t(* SrvClup_t)(TSeqCollection *)
Int_t(* SrvAuth_t)(TSocket *sock, const char *, const char *, std::string &, Int_t &, Int_t &, std::string &, TSeqCollection *)
ESocketBindOption
Options for binging the sockets created.
@ kInaddrLoopback
Refers to the local host via the loopback device.
R__EXTERN TSystem * gSystem
#define R__LOCKGUARD2(mutex)
#define R__LOCKGUARD(mutex)
This class represents an Internet Protocol (IP) address.
const char * GetHostName() const
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual void SetName(const char *name)
Set the name of the TNamed.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
static const TString & GetRootSys()
Get the rootsys directory in the installation. Static utility function.
This class implements server sockets.
static SrvAuth_t fgSrvAuthHook
static UChar_t fgAcceptOpt
static void SetAcceptOptions(UChar_t Opt)
Set default options for Accept according to modifier 'mod'.
Bool_t Authenticate(TSocket *)
Check authentication request from the client on new open connection.
Int_t GetLocalPort() override
Get port # to which server socket is bound. In case of error returns -1.
static SrvClup_t fgSrvAuthClupHook
virtual ~TServerSocket()
Destructor: cleanup authentication stuff (if any) and close.
static void ShowAcceptOptions()
Print default options for Accept.
static UChar_t GetAcceptOptions()
Return default options for Accept.
virtual TSocket * Accept(UChar_t Opt=0)
Accept a connection on a server socket.
TInetAddress GetLocalInetAddress() override
Return internet address of host to which the server socket is bound, i.e.
TSeqCollection * fSecContexts
virtual void Close(Option_t *opt="")
Close the socket.
TInetAddress GetInetAddress() const
TSecContext * fSecContext
const char * Data() const
This class implements a mutex interface.