Index: /tools/config-node.sh
===================================================================
--- /tools/config-node.sh	(revision 5000)
+++ /tools/config-node.sh	(revision 5001)
@@ -15,4 +15,5 @@
 # 1.05  Cope with WHOST containing a port number. (dirkx).
 # 1.06  Better diff (dirkx)
+# 1.07  Check versions of OS and Script
 #
 # If there is a global system configuration file, suck it in.
@@ -30,4 +31,5 @@
 FORCE=no
 CMD=do_move
+DLV=no
 
 # Genesis master location.
@@ -57,4 +59,5 @@
 	echo "-q		Suppress all output and user interaction"
 	echo "-F		Force disk to write"
+	echo "-i		Ignore all safety checks checks"
 	exit 1
 }
@@ -69,4 +72,7 @@
 			QUIET=yes
 			;;
+		-i)
+			DLV=
+			;;
 		-d)	
 			CMD=do_diff
@@ -97,6 +103,9 @@
 done
 
-
 HOST=`echo ${WHOST} | sed -e 's/:.*//'`
+set `echo $VERSION | sed -e 's/\./ /'`
+VERSION_MAJOR=$1
+VERSION_MINOR=$2
+VERSION_OTHER=$3
 
 # connection test function
@@ -248,5 +257,5 @@
 		diff -uwbB $lcd/$1 $1.new
 	else
-		echo Warning: $1 does not yet exist - no DIFF
+		echo Warning: $lcd/$1 does not yet exist - no DIFF
 	fi
 }
@@ -354,4 +363,34 @@
 done
 
+log Checking release and OS versions
+
+safefetch ${link}${nodename}/info > $dir/${i} \
+	|| cleanexit 1
+
+OS=`uname -s`
+REL=`uname -r`
+set `head -1 $dir/${i}
+# FreeBSD 5.0-RELEASE 1 YES
+if [ $# != 4 ]; then
+	echo Info verification failed.
+	cleanexit 1
+fi
+if [ $4 -ne 'YES' ]; then
+	echo Genesis marked as disabled for this machine.
+	test -z ${DLV} || cleanexit 1
+fi
+if [ $3 -ne $VERSION_MAJOR' ]; then
+	echo This script is version $VERSION, genesis info is for version $3.xx
+	test -z ${DLV} || cleanexit 1
+fi
+if [ $1 -ne $OS ]; then
+	echo Operating system mismatch; this machine: $OS, but config is for $1
+	test -z ${DLV} || cleanexit 1
+fi
+if [ $2 -ne $REL ]; then
+	echo This machine runs $REL, but the configuration is for $2
+	test -z ${DLV} || cleanexit 2
+fi
+
 log Fetching file list from $link for $nodename
 
