Log of /trunk/proof/proof/src/TSlave.cxx
Parent Directory
Revision
44683 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 14 09:27:40 2012 UTC (2 years, 7 months ago) by
ganis
File length: 21952 byte(s)
Diff to
previous 44065
First version of the final patch enabling multi-workers on single node using
PROOF-Lite. This is supposed to improved scalability for large number of workers
(>300-400) and is currently available only for non-data driven tasks.
The new setup configuration is enabled by the directive 'xpd.remoteplite 1' in
the xproofd configuration file.
Revision
39115 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 5 15:54:41 2011 UTC (3 years, 8 months ago) by
ganis
File length: 21830 byte(s)
Diff to
previous 37976
- Fix bug in TXSocket::Create whose effect was to make the three additional attempts
following the first to send a wrong and meaningless creation info (ordinal number, etc).
The bug was introduced while fixing the log path trasmission problem.
- Improve the way information about the logs files is saved when failure happens
during creation. The log paths for these failing now should be now correctly saved
and accessible via TProofLog.
- Improve TSlave::Print when the connection is invalid (print all the valid information,
available, not only the header one)
Revision
37976 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 4 11:43:16 2011 UTC (3 years, 11 months ago) by
ganis
File length: 21061 byte(s)
Diff to
previous 36015
In TProofLite::Load
- Extend to this overload support for a comma-separated list of macros (cfr #37942)
In TSlave and related classes
- Add member for the unique session tag
- Fix worker name in TSlaveLite
Revision
25918 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 22 15:00:04 2008 UTC (6 years, 3 months ago) by
ganis
File length: 20906 byte(s)
Diff to
previous 23380
First version of PROOFLite, a 2-tier realization of PROOF intended for multi-core
machines. In PROOFLite the client start directly the workers; no daemon is required.
Currently this works on Unix only. Some issues with the internal connection still need
to be sorted out on Windows.
To start a session just use
TProof::Open("") or TProof::Open("lite")
From there on everything should be as in normal PROOF. To start a standard PROOF
session (i.e. via daemons) on the localhost use TProof::Open("localhost").
(The default meaning of "" in TProof::Open() is controlled via the rc value
'Proof.LocalDefault').
To run stressProof with PROOFLite pas the argument 'lite':
./stressProof lite
By default, PROOFLite sets the number of workers equal to the number of cores.
The number of workers is controlled by the rc variable 'ProofLite.Workers'; it can
also be set on the fly with the option "workers=<n>", e.g. TProof::Open("lite?workers=2").
This patch also introduces the rc variable 'Proof.Sandbox' to control the local location
of the sandboxes. The default has been changed from "~/proof" to "~/.proof" to avoid
interferences with possible users' working areas. The sandbox contains the directory
'packages' (with the clients packages; used by standard PROOF and PROOF Lite),
and some directories used only by PROOFLite: 'cache' (binary cache) and 'datasets' with
the datasets. The location of these directories is controlled by the rc variables
'Proof.PackageDir', 'Proof.CacheDir' and 'Proof.DataSetDir'.
The working directory for PROOFLite is in the form workdir=<sandbox>/path-to-current-dir where
~/path/to/current/dir is the directory from where the session in launched. The directory
<workdir> contains the session working dirs (in the form 'session-<host>-<time>-<pid>'),
with the symlink 'last-lite-session' pointing to the last started session, and the 'queries'
directory, with the results of queries started from the current directory.
Revision
22419 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20721 byte(s)
Diff to
previous 20882
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed.
Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included.
Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.
Revision
20682 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 6 15:51:59 2007 UTC (7 years, 2 months ago) by
ganis
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20701 byte(s)
Diff to
previous 20411
Import branches/dev/proof r20654
Summary:
+ Improvements
- Add support for SSH SOCKS4 tunnelling; the local port for the tunnel can be specified
in the master URL, e.g. TProof::Open("master/?tunnel:8000")
- Add the possibility to plot the estimated instantaneous rate
- Add "PROOF_ForceLocal" parameter to the !TPacketizerAdaptive; if set to 1, all the data
are processed locally.
- Add support for remote grep functionality while retrieving logs (needed by the forthcoming
memory monitor)
+ Bug fixes
- Several small fixes to revive the multi-master mode.
- XrdProofdProtocol:
- add missing lock to the client instance in SendMsg to avoid screwing up requests from
workers on the same machine
- lock the mutex of the requester when setting prorities
- add notification during Reset
- fix problem with the detection of the 'allow' directive
- fix problem with the parsing of the return value from XrdProofServProxy::TerminateProofServ()
- always use the effective user to retrieve info fom another server
(XrdProofdManager::GetProofConn is now used)
- fix possible dead-locks from debug notifications done after hard-killing a session
- re-enable the garbage collector thread of the connection manager in XrdProofConn to
fix a problem with closing physical connections;
- fix a problem with !CleanupProofServ in the case of a non-privileged daemon running
in multi-user mode
- introduce a timeout when waiting for the startup of a 'proofserv'.
- XrdProofConn: init mutex in the ctor; lock in SendRecv
- XrdProofSched: add support for using the priorities defined in the group manager to define
the number of workers for sessions
- TProof:
- Broadcast priorities to unique nodes only
- timeout after 5 mins the initial Collect to avoid clients getting stuck at this stage
- add support for generic timeout in Collect (disabled by default)
- fix a problem with SendFile.
- TXProofServ: add a call to !TProof::InterruptCurrentMonitor() in Terminate() to stop
infinite loops in Collect
- TXSocket:
- Implement a flag to interrupt a TXSocket while waiting for messages
- Split the session creation timeout in 4 attempts: the total timeout is the same but
it may circumvent occasional forking problems.
- XROOTD:
- fix a potential (possibly accademic) memory leak in the client
- fix a access permission problem with Kerberos ticket forwarding
- fix bug preventing 'locate' to work properly
- re-enable optimized 'locate'
Revision
20411 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 19 12:37:58 2007 UTC (7 years, 3 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20700 byte(s)
Diff to
previous 20307
remove conditional around include of RConfigure.h:
#ifdef R__HAVE_CONFIG
#include "RConfigure.h"
#endif
Having this conditional caused RConfigure.h to be missing from the .d
files and hence these files would not be recompiled after re-configuring
using --prefix.
Revision
20307 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 11 10:58:50 2007 UTC (7 years, 3 months ago) by
ganis
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20732 byte(s)
Diff to
previous 19826
Import branches/dev/proof r20306
Summary (see branch logs for more details):
- Set of changes related to CPU quota control including
- broadcast of centrally determined priorities
- mechanism to renice processes in a quantitative way
- New packetizer for non-tree based analysis and related API in TProof (from L. Tran-Thanh)
- Support for merging output objects saved in files on the workers (from L. Tran-Thanh and me)
- Improve version binary compatibility checks using also the SVN revision number
(when available) to define the running version.
- Extend the version binary compatibility checks also to the cached selector binaries.
- Extend TDSet::Lookup so that in case of missing files, it can remove them from the
dataset (option removeMissing must be set).
- Move the data set lookup to the TProofPlayerRemote::Process.
- Handle properly the case of incomple datasets: if the file is not found in the lookup
don't try to validate it; add it, instead, to a 'missingFiles' list returned in the
output list (fixing bug #28800 in Savannah).
Revision
19003 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 12 10:06:00 2007 UTC (7 years, 7 months ago) by
ganis
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20786 byte(s)
Diff to
previous 18983
TSlave.h, .cxx
- Add new data member fGroup specifying the group the user runs under.
- If available, display the group in Print()
TProof.cxx
- If available, add the group information while creating the worker session
- If available, display the group in Print()
Revision
17035 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Dec 3 23:34:04 2006 UTC (8 years, 1 month ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20753 byte(s)
Diff to
previous 16969
From Gerri:
0. Introduction of the static:
TProof::Mgr(const char *url)
to get the manager to the cluster; this gives access to all the manager
functionality, included Reset(). TProof::Reset() is removed.
1. Two new classes: TProofLog and TProofLogElem.
TProofLog contains a list of TProofLogElem, one per node. TProofLogElem
basically contains a TMacro plus methods to play with it.
2. The TProofLog object can be retrieved via the manager:
TProofLog *pl = TProof::Mgr("cluster")->GetSessionLogs()
by default the last session is retrieved: the signature for GetSessionLogs is
TProofLog *TProofMgr::GetSessionLogs(Int_t ridx, const char *stag)
the first argument is a reversed relative index (-1 gets the next to last
session), the second is the session unique tag; if the second is
specified the first is ignored.
3. TProofMgr has a new method ReadBuffer to quickly read a buffer from
a file via XrdProofd: this allows to avoid the second xrootd on the
redirector and in general is useful when a quick reading is needed.
Also, the buffer is always retrieved via the master, so we should not
have firewall problems in accessing directly the xrootd of the workers.
4. In the sandbox I have kept the .sessions file with the active sessions
and I have added .terminated in each session working dir which have
been terminated. On the master, each session working dir has the file
.workers with the relevant information about the workers.
5. The max number of old session workdirs is set to 10 by default
(configurable in xpd.cf): the sandbox is trimmed when closing a session.
6. Some unrelated changes/fixes contained in the patch:
- in XrdProofdProtocol:
- use of /proc (linux, solaris) or sysctl (mac) to verify/search
for running of a process. For other platforms I have left the
parsing of the output of 'ps'.
- I have introduced a 'cron' thread: it runs every minute and for
the moment it just cleans a vector; this is the place where to do
client independent actions, like checking if the config files have
changed, for example.
- I have added the possibility to control which user can access
the cluster; requested by Jan Fiete.
7. The patch contains also several fixes here and there I have found by
testing.
Revision
16839 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 20 15:56:36 2006 UTC (8 years, 2 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20753 byte(s)
Diff to
previous 16796
From Maarten + Gerri:
Patch to allow run time configuration of proofserv environment. The client
can pass a set of shell variables to PROOF. These variables can be used
to startup different versions of the proofserv, or they can instruct the
system to run proofserv under valgrind or tcheck, etc. Main changes:
- default wrapper script for proofserv
- modifies the build system for the wrapper script
- adds a list of environment variables to TVirtualProof, which are
passed to the wrapper by proofd/xrootd.
- adds code to TProofServ to pickup these variables and pass them
along to the slaves/submasters
Revision
16796 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 16 17:18:32 2006 UTC (8 years, 2 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20096 byte(s)
Diff to
previous 15507
Changes to get rid of the config.h and HAVE_CONFIG define. These were way
too trivial (just do a locate config.h to see how many there are):
- replace occurances of config.h by RConfigure.h
- add #warning in config.h that is should not be used
- change HAVE_CONFIG to R__HAVE_CONFIG
Revision
15507 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 21 16:18:27 2006 UTC (8 years, 7 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20089 byte(s)
Diff to
previous 15312
From Gerri:
The patch implements the following new functionality:
- Shutdown of idle sessions when quitting ROOT; if not idle the session
is shutdown as soon as processing terminates; it is possible to delay
the automatic shutdown by a tunable amount of time via a new directive
in the xrootd config file 'xpd.shutdown' (see xpd.cf.example).
- New static method TProof::Reset(const char *url) to hard-cleanup an
user area (implemented for Xproofd only); this implied quite some
additions in XrdProofdProtocol.
- Possibility to temporary remove / re-insert a worker from the active list
TProof::DeactivateWorker(const char *ord)
TProof::ActivateWorker(const char *ord)
with 'ord' the ordinal numer, e.g. "0.3" .
- A default url for the disk pool
const char *TVirtualProof::GetDataPoolUrl()
It is set by default to a string send back by the master, but it can
be changed via
void TVirtualProof::SetDataPoolUrl(const char *url)
Jan should then adapt his code to use this as default.
- Posibility to timeout Collect; for now this is only used at forced
termination.
The patch includes many small changes and bug fixes. One of the most important
is in TXNetSystem (a bug preventing correct treatment of multiple request
to the same redirector).
Revision
15312 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 2 15:14:35 2006 UTC (8 years, 7 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 19567 byte(s)
Diff to
previous 14794
From Gerri:
large PROOF patch. Main issues addressed:
- Output redirection to log file at 'proofserv' startup (instead of
after Setup())
- Log messages activated at session creation
- Session sandbox restructuring in such a way that the unique session
tag, created by the top master, uniquely identifies the session on
all nodes, for example on top master:
<User_Sandbox>/session-<top_master_session_tag>/
master-0-<top_master_session_tag>/master-0-<top_master_session_tag>.log
On worker 0.0
<User_Sandbox>/session-<top_master_session_tag>/
worker-0.0-<worker_0.0_session_tag>/worker-0.0-<worker_0.0_session_tag>.log
- Automatic creation of the dataset dir
- Improved handling of error conditions
- Reorganization of TProofServ and XrdProofdProtocol
- Several bug fixes, in particular in XrdProofdProtocol
Revision
14794 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 21 16:29:33 2006 UTC (8 years, 9 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 19513 byte(s)
Diff to
previous 14752
From Christian Holm:
* Fixes to SapDB plugin to allow compilation on AMD64.
* Fixes to ODBC plugin to allow compilation on AMD64.
* Fix TTF to also use new `symbol.ttf' font when using free fonts.
* Fix to TImageDump to use free `symbol.ttf'
* The recent change to PROOF client side to not use plug-ins(!?)
forgot to include the header `config.h' in case `HAVE_CONFIG' is
defined. That meant, that ROOTLIBDIR was _never_ defined there,
and so the libraries could not be found on a `static'
installation.
* Update of copyright for root-common package due to new symbol.ttf font.
* Remove old packaging files that clutter the directory and may cause harm.
* Wording corrections for package description.
* Fixes to some dependencies.
* Fix to TTF installer package to not overwrite symbol.ttf.
* Some fixes to package preparation scripts.
* Remove some files in `make distclean' left over after build.
* Added package `root-plugin-odbc'.
Revision
14752 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 19 10:57:44 2006 UTC (8 years, 9 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 19467 byte(s)
Diff to
previous 14745
From Gerri:
This is the big patch.
Comments:
- Client side:
- Remove use of plugin manager to avoid unwanted locks
- Improved treatment of error conditions
- Server side:
- Several new functionalities described in the release notes
Revision
14745 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 19 08:22:26 2006 UTC (8 years, 9 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 18751 byte(s)
Diff to
previous 14128
Change the TError.h macros:
Assert -> R__ASSERT
Check -> R__CHECK
Change the TCollection.h macro:
ForEach -> R__FOR_EACH
This to avoid potential problems due too trivial macro names.
The old macros will be removed in the next release. Currently
they will print out warning messages with the advice to move
to the new macro names.
Revision
13616 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Dec 10 16:51:57 2005 UTC (9 years, 1 month ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 18951 byte(s)
Diff to
previous 13104
From Gerri:
introduction of major new PROOF features. Main features:
- PROOF session manager which allows disconnect/reconnect from running
sessions
- use xrootd/xproofd as connection daemon
Much more extensive description in release notes.
Revision
12727 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Sep 17 13:52:55 2005 UTC (9 years, 4 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 17527 byte(s)
Diff to
previous 12477
From Gerri:
New startup for slaves splitting TSlave::Init() in two parts:
TSlave::Init()
opens the connection and waits the "Okay" from the proofd
TSlave::SetupServ()
finalizes the setup of the server (TProofServ::Setup)
Coding convention fixes.
Revision
12477 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 15 15:57:18 2005 UTC (9 years, 5 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 17361 byte(s)
Diff to
previous 12418
From Gerri + some mods by me:
- This patch gets rid of TFTP, slightly modifying SendFile and CheckFile.
- The factorization of the technology dependent parts of TProof, TSlave
and TProofServ. In particular, I have moved the technicalities of Ping
and Interrupt from TProof to two new virtual methods in TSlave, which
will be overwritten in TXSlave.
In TSlave I have introduced the virtual method Init which will be
overwritten by TXSlave and is able to act on an open connection for
optimal fallback a la TXNetFile.
Slaves are created by TProof via the static method TSlave::Create
which uses the plugin manager to detect the presence of TXSlave.
In TProofServ I have made the technology-dependent methods
virtual (Setup, HandleSocketInput, HandleUrgentData, HandleSigPipe,
HandleSocketInputDuringProcess).
Revision
12418 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 29 14:26:51 2005 UTC (9 years, 5 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 10927 byte(s)
Diff to
previous 12337
From Gerri:
Move more auth related code out of libCore into the libRootAuth plugin.
1. moves rsa*.h/.c from clib to auth (as C++ files)
2. uses the real plugin manager in TSocket::Authenticate
(instead of the "home-made" one TSocket::LoadAuth)
3. Add a protection on fSocket in TSlave::Close
Revision
12337 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 18 16:20:53 2005 UTC (9 years, 6 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 10862 byte(s)
Diff to
previous 12144
From Gerri:
Big patch restructuring the authentication code so libCore does not depend
on libssl etc. anymore. Isolate the current authentication code behind a
plugin library to be loaded on demand.
Setup of a framework able to manage both sets of authentication modules
(the current one and the one based on xrdsec, coming soon).
Cleanup all direct reference to authentication in TSlave and TProofServ,
allowing for significant simplification for the forthcoming changes
in PROOF for XPD.
New module: auth
New files: base/inc/TVirtualAuth.h
auth/Module.Mk
auth/inc/LinkDefRoot.h
auth/inc/TRootAuth.h auth/inc/TRootSecContext.h
auth/src/TRootAuth.cxx auth/src/TRootSecContext.cxx
Moved files:
net/inc -> auth/inc : TAuthenticate.h THostAuth.h DaemonUtils.h AuthConst.h
net/src -> auth/src : TAuthenticate.cxx THostAuth.cxx DaemonUtils.cxx
Revision
12123 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 22 20:18:12 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/proof/src/TSlave.cxx
File length: 11075 byte(s)
Diff to
previous 11145
From Constantin Loizides
This patch implements:
- decentralized, automatic mutex initialization,
see R__LOCKGUARD2 in TVirtualMutex
- PROOF parallel startup fixes
- more thread protection (in base, cont, meta, rest to be done)
- cleanups
From Eddy Offermann:
TString::Atoi and Atof are made const.
Revision
11145 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 18 14:27:33 2005 UTC (9 years, 11 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 12162 byte(s)
Diff to
previous 11092
From Kris Gulbrand:
Added for both TProofServ and TSlave error-checking (for the startup phase)
in case a socket communication fails. Then TProofServ shuts down and TSlave
appropriately reacts. However, since old TProofServ's don't have the new
code, they exit because of a segv since it is early though, the net effect
will only be a printout in the proofd log and the TProofServ still shuts down.
Revision
11047 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 7 18:02:37 2005 UTC (9 years, 11 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 10567 byte(s)
Diff to
previous 10321
From Maarten and Kristjan Gulbrandsen:
Here is the patch with the restructured PROOF code. It parameterizes
PROOF startup, currently implementing "Standard", Condor, MLM and PEAC.
It can easily be extended with other "TProof" classes, e.g. AliEn Proof.
Or what ever next Grid implementation or scheduler comes along.
The MLM, Multi Level Master, code uses a basic packetizer, based on a
MSD (massstorage domain) tag. In MLM mode we have multi-tier client
server setup, like:
client -> super master -> sub master 0 -> slave[0..N]
...
-> sub master M -> slave[0..N]
It also contains a large number of smaller fixes. Credit for most of
the work goes to Kris!
We have tested this on multipe platforms (RH7.3, RH9, SL3) and in
multiple configurations. Should be stable.
Revision
9951 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 8 10:21:40 2004 UTC (10 years, 4 months ago) by
brun
Original Path:
trunk/proof/src/TSlave.cxx
File length: 9465 byte(s)
Diff to
previous 9322
From Gerri Ganis:
configure:
- enable Linux and Solaris
xrootd/Module.mk
- update version number
- changed source extension to .src.tgz to fit Pete's choice
- improved checks for xrootd configure options:
> add case switch to check architecture/release/chip
> add transmission of Kerberos flags
- force '-j1' to 'make' (due to static lib dependencies
xrootd cannot be build with -j2)
netx/Module.mk
- Drop Xrd sec libs from linking list
netx/src/TXNetConn.cxx
- add dynamic load of security shared libs in DoAuthentication
- add additional more printout when aborting in the attempt
to re-direct to non-allowed domains
netx/src/TXSocket.cxx
- drop unused extern "C" void *SocketConnecterThread()
netx/inc/TXSocket.h
- drop defs of unused extern "C" void *SocketConnecterThread()
Revision
9322 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 25 17:27:09 2004 UTC (10 years, 7 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 9409 byte(s)
Diff to
previous 9316
From Maarten:
- new class TParameter
- new class TDrawFeedback
- fixes to the feedback of performance histograms
- selection of the packetizer
- cleanups
Example commands:
gROOT->Proof()
... package setup ...
TDSet *d = make_tdset(2)
gEnv->SetValue("Proof.StatsTrace",1)
gEnv->SetValue("Proof.StatsHist",1)
TList *fb = new TList
fb->SetName("FeedbackList")
fb->Add(new TObjString("EventsHist"))
fb->Add(new TObjString("CpuTimeHist"))
TDrawFeedback *dfb = new TDrawFeedback((TProof*)gProof)
gProof->AddInput(fb)
d->Process("EventTree_Proc.C","")
Revision
9316 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 25 16:49:09 2004 UTC (10 years, 7 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 9405 byte(s)
Diff to
previous 9040
From Gerri:
- "Added support for Blowfish encryption for passwords and
tokens based on OpenSSL, in addition to the existing RSA
encoding. The type of key with highest priority is defined via the
"RSA.KeyType" variable in .rootrc (default is Blowfish).
The server side decides what to use according to its
own availability and the client request."
Revision
8239 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Feb 19 00:11:19 2004 UTC (10 years, 11 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 9215 byte(s)
Diff to
previous 7663
Big authentication patch by Gerri:
General purpose:
Add support for 'authenticated' sockets on client side
and prepare for support of server authenticated sockets.
Main changes:
o TSocket, TPsocket:
Added support of 'authenticated' sockets: authentication
is delegated to TSocket by calling a static method
CreateAuthSocket() returning a TSocket*.
TSocket is now the only class calling TAuthenticate.
o TFTP, TNetFile, TSlave:
modified to cope with new socket authentication scheme.
o TAuthDetails replaced by TSecContext containing:
- local authentication info
- expiration time
- pointer to a security context for the method (if any)
- information for cleanup (via TSecContextCleanup)
o A list of valid TSecContext has been added to TROOT,
accessible via gROOT->GetListOfSecContexts().
o THostAuth rewritten using arrays to avoid multiple use
of 'new'; functionality extended by the addition of
several new methods.
o TAuthenticate:
- Loading of information from .rootauthrc has been optimized;
this allowed to simplify method signatures and drop several
methods. Also collection and transmission of authentication
information from TSlave to TProofServ gets simplified by the
new scheme.
- Added support for server dependent directives in .rootauthrc
- Added check for changes in .rootauthrc each time a new
TAuthenticate is instantiated, so that changes in the file
are picked-up interactively.
- Checking for an existing TSecContext (previously TAuthDetails)
has been improved
- Improved diagnostics for SshAuth
- Enlarged support for authentication method indication in protocol:
UsrPwd: rootup/proofup
SRP: roots/proofs (already supported)
Krb5: rootk/proofk (already supported)
Globus: rootg/proofg
SSH: rootsh/proofsh
UigGid: rootug/proofug
o GlobusAuth.cxx, Krb5Auth.cxx, SRPAuth.cxx
- Adapted to new class TSecContext
- Added support for improved search for reusable TSecContext
- Drop globals used to store established security contexts
(saved in TSecContext) and related methods
o Automatic creation of <RootDir>/etc/system.rootauthrc from
compilation flags; this has priority on old envs
'Rootd.Authentication' and 'Proofd.Authentication' and is
superseded by $HOME/.rootauthrc
o Automatic creation of <RootDir>/etc/system.authdaemonrc from
compilation flags; this is superseded by $HOME/.rootauthrc
o rpdutils:
- several almost identical methods moved in from rootd/proofd
- several new methods to simplify manipulation of the
authentication tab file
- moved (and improved) check for running of sshd in RpdSshAuth,
performed only in case of failure (to avoid spurious messages
printed by sshd in /var/log/messages)
o proofd.cxx, rootd.cxx
- increased protocol version
- all initialization stuff (included authentication and
login) done via RpdInitSession
- postpone opening of parallels sockets after authentication
(to solve problem of Kerberos/Globus authentication with
parallel sockets)(rootd)
- Fixed problem with kerberos and globus authentication in rootd
with parallel sockets.
Revision
7656 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Nov 26 10:33:08 2003 UTC (11 years, 2 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 21026 byte(s)
Diff to
previous 7534
From Gerri:
- remove globals in Krb5Auth, SRPAuth and GlobusAuth
- error printing in case of failure in TAuthenticate
(print a list of failed messages only if unsuccessful
in the end)
- fix a problem with globus credential transmission when
running as non-root
- a couple of protections in TSlave related to SRP
- a few fixes to avoid some spurious error messages
printed by proofd
Revision
7534 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 7 03:29:42 2003 UTC (11 years, 2 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20129 byte(s)
Diff to
previous 7409
From Gerri:
Index: README/README.AUTH
o Update explaining tutorial use
Index: base/src/TFile.cxx
o ::Open(): call TNetFile also if same host but different user
(to access files protected by password)
Index: globusauth/src/GlobusAuth.cxx
o Aestethic changes (shortening of a few lines)
Index: krb5auth/src/Krb5Auth.cxx
o Simplify two debug printouts
o Change debug print to stderr in Info(...; add gDebug control.
Index: net/inc/THostAuth.h
o Modify default ctor
o Add method HasMethod to test method availability
Index: net/src/TAuthenticate.cxx
o make sure that if fgUser (and nothing else) is set, this is
the default user name
o Make sure that requiring roots/rootk uses correctly details
found for those methods in .rootauthrc
o Fix return of GetPromptUser()
o Fix problem with wild cards
o Add check for wildcard host names in method GetHostAuth
o Remove debug printout in method ReadAuthRc
Index: net/src/THostAuth.cxx
o Modify default ctor
o Add method HaveMethod to test method availability
o Aestethic changes (shortening of a few lines)
Index: net/src/TNetFile.cxx
o Remove precompiler unused #if's in method ConnectServer
Index: proof/inc/TProofServ.h
o Remove method ReadProofAuth, add method RecvHostAuth
(To receive directly the authentication info in ProofServ
instead of reading it from temporary files
/usr/tmp/proofserv.<id>)
Index: proof/src/TProofServ.cxx
o All mods needed to remove method ReadProofAuth and add
method RecvHostAuth (see above).
Modified methods: Setup, CollectAuthInfo .
o Fix bug in CollectAuthInfo switching ReUse off by default
for method UsrPwd
o Removing automatic choice of UidGid for local slaves
o Setting order of default UidGid authentication to last
o Aestethic changes in CheckAuth
Index: proof/src/TSlave.cxx
o transmit passwd for UsrPwd and SRP authentication also to slaves
o All mods needed to send auth info to ProofServ instead of
proofd (see above)
Index: proofd/src/proofd.cxx
o Fix compiling problem with namespaces for Kerberos
o Remove redundant 'access' calls
o Authenticate: do not recive auth info (done in ProofServ)
o ProofExec: send TmpDir to proofserv (for key location)
o Define gSystemdaemonc as $ROOTETCDIR/system.rootdaemonrc
Index: rootd/src/rootd.cxx
o Define gSystemdaemonc as $ROOTETCDIR/system.rootdaemonrc
Index: rpdutils/inc/rpdp.h
o Rename gAuthAllow as gSystemDaemonRc
o Rename kDaemonAccess as kDaemonRc
Index: rpdutils/src/rpdutils.cxx
o Fix compiling problem with namespaces for Kerberos
o Define kDaemonRc as .rootdaemonrc (it was daemon.access)
o Add support for $HOME/.rootdaemonrc
o Add support for daemon dependent access rules
o Aestethic changes in CheckAuth (drop commented lines)
Index: srputils/src/SRPAuth.cxx
o set static flags only when authentication is successful
Index: tutorials/TestAuth.C
o Test using TFTP instead of TNetFile (faster and runs also
with local host fqdn)
o Add test for kerberos
Revision
7409 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 7 21:09:55 2003 UTC (11 years, 3 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 19883 byte(s)
Diff to
previous 7406
From Gerri:
Index: README/README.AUTH
o Updated
Index: globusauth/src/GlobusAuth.cxx
o Drop use of environment variables (DEFAULTUSER,AUTHREUSE,PROMPTUSER)
Index: krb5auth/src/Krb5Auth.cxx
o Drop use of environment variables (DEFAULTUSER,AUTHREUSE,PROMPTUSER)
Index: net/inc/TAuthenticate.h
Index: net/src/TAuthenticate.cxx
o Drop use of environment variables (DEFAULTUSER,AUTHREUSE,PROMPTUSER)
o Fix problem with defaults
o Fix problem with method ReadAuthRc when reading an empty .rootauthrc
o Fix problem with method ReadAuthRc when updating information for an
existing THostAuth
Index: proof/inc/TProof.h
o Propagation of new fSRPPwd flag
Index: proof/inc/TProofServ.h
o Propagation of new fSRPPwd flag
Index: proof/src/TProofServ.cxx
o Propagation of new fSRPPwd flag
Index: proof/src/TSlave.cxx
o Propagation of new fSRPPwd flag
Index: rpdutils/src/rpdutils.cxx
o Fix small problem with uninitialized variables to avoid
compiler complains (from Ioannis Papadopoulos).
Index: srputils/src/SRPAuth.cxx
o Drop use of environment variables (DEFAULTUSER,AUTHREUSE,PROMPTUSER)
Revision
7406 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 7 14:03:03 2003 UTC (11 years, 3 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 19697 byte(s)
Diff to
previous 7275
From Gerri:
clib/inc/rsalib.h, clib/src/rsalib.c
o Random seed initialization moved from rsalib.c to in rootd.cxx,
proofd.cxx and TAuthenticate.
o Introduced counter to avoid infinite loops during key generation
etc/rpdauth.allow
o Introduced default with all authentication methods allowed in
rpdauth.allow
globusauth/src/GlobusAuth.cxx
o Secure RSA public transmission to servers (receiving a server
key)
o Added test on Argc() before use of the Argv() arguments
o Use isatty to check if interactive session
krb5auth/src/Krb5Auth.cxx
o Secure RSA public transmission to servers (receiving a server
key)
o Added test on Argc() before use of the Argv() arguments
o Use isatty to check if interactive session
net/inc/TAuthenticate.h, net/src/TAuthenticate.cxx
o Secure RSA public transmission to servers (receiving a server
key)
o Added possibility for a "default" THostAuth instantiation valid
for all hosts if anything more specific is not found.
Used by TProofServ/TAuthenticate for host without specific
authentication directives in proof.conf .
o Random seed initialization moved from rsalib.c to in rootd.cxx,
proofd.cxx and TAuthenticate.
o Introduced counter to avoid infinite loops during key generation
o Fixed potential problem with SSH master-to-slave authentication;
force failure if, for some reason, the slave is not accepting
the standard key files (depending on the user ssh config
directives, this could cause interactive prompt for password
on the master, therefore hanging the system).
Specific directives to avoid prompting are passed via command
line with the '-o' ssh option.
o Fixed problem with forming the message used to notify an SSH
failure
o Use mkstemp instead of tmpnam
o Use isatty to check if interactive session
o Avoid creating duplicates of TAuthDetails instantiation for
offset = -1
o Fixed a few inconsistency of debug levels error messages after
failed authentications
o Fixed a few inconsistency between authentication method names
and ROOT environment variable names
o Fixed problem with null passwd sending in ClearAuth
o Fixed problem with method attempting order during negotiation
o Add possibility to avoid check on localhost for testing purposes
(in method GetAuthMeth)
net/src/THostAuth.cxx
o Added possibility for a "default" THostAuth instantiation valid
for all hosts if anything more specific is not found.
Used by TProofServ/TAuthenticate for host without specific
authentication directives in proof.conf .
proof/inc/TProof.h, proof/src/TProof.cxx
o Moved collection of Authentication information for slaves from
TProof to TProofServ
proof/inc/TProofServ.h, proof/src/TProofServ.cxx
o Improved transmission of RSA public key between TSlave and
TProofServ
o Moved collection of Authentication information for slaves
from TProof to TProofServ
o Added test on Argc() before use of the Argv() arguments
proof/src/TSlave.cxx
o Improved transmission of RSA public key between TSlave and
TProofServ.
Added possibility to securely forward the SRP password to
the master (ROOT environment variable: Proof.SendSRPPwd,
default 0 - off).
o Removed checks on Proofd.Authentication in TSlave; security
stuff is setup in TProofServ and used in TAuthenticate
proofd/src/proofd.cxx
o Random seed initialization moved from rsalib.c to in rootd.cxx,
proofd.cxx and TAuthenticate.
rootd/src/rootd.cxx
o Random seed initialization moved from rsalib.c to in rootd.cxx,
proofd.cxx and TAuthenticate.
rpdutils/inc/rpdp.h, rpdutils/src/rpdutils.cxx
o Secure RSA public transmission from clients (sending a server
key)
o Fixed ambiguity with method index resolving from name due to
the fact that 'usrpwd' contains the string 'srp'
o Add file existence check before trying open
o Add a few debug messages
o Fixed problem with domain checking in daemon.access
('cern.ch uidgid' or '.cern.ch uidgid' were not accepted)
o Fixed problem with null passwd receiveing in RpdUser
rpdutils/src/ssh.cxx
o Fixed function name in debug message in ssh.cxx
o Use mkstemp instead of mktemp
srputils/src/SRPAuth.cxx
o Secure RSA public transmission to servers (receiving a server
key)
Revision
7275 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 12 17:36:35 2003 UTC (11 years, 4 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 20165 byte(s)
Diff to
previous 7262
Few additional patches from Gerri:
- TSlave.cxx, TProofServ.cxx
send over the RSA key only when needed to decode the passwd
(ie UsrPwd and SRP)
- TAuthenticate.cxx
allow short host name in .netrc family files
- TProof.cxx
force using UidGid when the slave is on the same node as the master
- SRPAuth.cxx
Drop a left-over debug message
Revision
7262 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Sep 11 23:12:19 2003 UTC (11 years, 4 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 19957 byte(s)
Diff to
previous 7226
From Gerri:
This patch contains Maarten's suggestions, and the fixes I have done
since then.
There was problem in the transmission of the password to master/slaves
that I believe was causing the hanging ...
Revision
7226 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Sep 7 18:25:47 2003 UTC (11 years, 4 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 17744 byte(s)
Diff to
previous 7186
From Gerri:
- configure Maarten's comments + fix for some SRP libraries
not being found
- globusauth/Module.mk
Maarten's comments
- net/inc/TAuthenticate.h
net/src/TAuthenticate.cxx
net/src/TAuthDetails.cxx
net/src/THostAuth.cxx
net/src/TNetFile.cxx
proof/src/TProof.cxx
proof/src/TSlave.cxx
Unified AuthMeth[kMAXSEC] (your comments ...)
+ small consistency fixes (Host named checked
as FQDN everywhere ...)
- proofd/src/proofd.cxx
rootd/src/rootd.cxx
rpdutils/inc/rpdp.h
rpdutils/src/rpdutils.cxx
Unified AuthMeth[kMAXSEC]
+ gShmIdCred fix
Fons:
- TAuthenticate: simplified way to find index of auth method.
Revision
4210 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 20 18:54:57 2002 UTC (12 years, 10 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 8198 byte(s)
Diff to
previous 1475
add cases for Kerberos5 authentication. In particular the default authentication
method for rootd and proofd can now be set in system.rootrc. The default is
clear text passwd, but SRP and Krb5 can be specified. The default is used when
"root:" or "proof:" appears in the url. The default can be overridden by
specifying explicitely "roots:" or "rootk:", idem for proof.
Revision
1205 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by
brun
Original Path:
trunk/proof/src/TSlave.cxx
File length: 5918 byte(s)
Diff to
previous 1203
W A R N I N G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
virtual TObject *Clone() const;
virtual Int_t Compare(const TObject *obj) const;
virtual void Delete(Option_t *option=""); // *MENU*
virtual void DrawClass() const; // *MENU*
virtual void DrawClone(Option_t *option="") const; // *MENU*
virtual void Dump() const; // *MENU*
virtual TObject *FindObject(const TObject *obj) const;
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual ULong_t Hash() const;
virtual void Inspect() const; // *MENU*
virtual Bool_t IsEqual(const TObject *obj) const;
virtual void ls(Option_t *option="") const;
virtual void Print(Option_t *option="") const;
A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.
Revision
106 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 11 12:25:48 2000 UTC (14 years, 7 months ago) by
rdm
Original Path:
trunk/proof/src/TSlave.cxx
File length: 5259 byte(s)
Diff to
previous 3
now use 1093 as port number for proofd service. This port number has been
assigned by IANA for proofd usage. In the old scheme we used two ports
for PROOF: one for the master server (proofserv) and another for the client
servers (proofslave). This has now been changed to a single port (proofd)
and the server type is communicated by the client to the server.
Update the /etc/services file from:
proofserv 349/tcp
proofslave 359/tcp
rootd 432/tcp
to
proofd 1093/tcp
rootd 1094/tcp
And /etc/inetd.conf from:
proofserv stream tcp nowait root /usr/proof/bin/proofd proofserv /usr/proof
proofslave stream tcp nowait root /usr/proof/bin/proofd proofslave /usr/proof
to
proofd stream tcp nowait root /usr/proof/bin/proofd /usr/proof
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.