From: minima <minima>
Date: Sun, 27 Jan 2002 16:00:57 +0000 (+0000)
Subject: put some basic validation into startup to check that things are there!
X-Git-Tag: R_1_50~74
X-Git-Url: http://dxspider.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=69ffad66605714e1b188f52c2908c9c9c496772a;p=spider.git

put some basic validation into startup to check that things are there!
---

diff --git a/perl/cluster.pl b/perl/cluster.pl
index d108a560..59ff5178 100755
--- a/perl/cluster.pl
+++ b/perl/cluster.pl
@@ -23,6 +23,14 @@ BEGIN {
 	unshift @INC, "$root/perl";	# this IS the right way round!
 	unshift @INC, "$root/local";
 
+	# do some validation of the input
+	die "The directory $root doesn't exist, please RTFM" unless -d $root;
+	die "$root/local doesn't exist, please RTFM" unless -d "$root/local";
+	die "$root/local/DXVars doesn't exist, please RTFM" unless -e "$root/local/DXVars.pm";
+	
+	mkdir "$root/local_cmd" unless -e "$root/local_cmd";
+	
+
 	# try to create and lock a lockfile (this isn't atomic but 
 	# should do for now
 	$lockfn = "$root/perl/cluster.lck";       # lock file name
@@ -382,6 +390,14 @@ Bands::load();
 dbg("loading user file system ..."); 
 DXUser->init($userfn, 1);
 
+# look for the sysop and the alias user and complain if they aren't there
+{
+	my $ref = DXUser->get($mycall);
+	die "$mycall missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
+	$ref = DXUser->get($myalias);
+	die "$myalias missing, run the create_sysop.pl script and please RTFM" unless $ref && $ref->priv == 9;
+}
+
 # start listening for incoming messages/connects
 dbg("starting listeners ...");
 my $conn = IntMsg->new_server($clusteraddr, $clusterport, \&login);