#!/bin/sh
#
#	$NetBSD: gen_sha1,v 1.1.6.1 2005/06/10 14:47:10 tron Exp $
#
# This is a helper script that scans all the file systems for
# executables and generates an entry in the signatures file for
# each one found.  The script is probably best run by root and
# will move the old signatures file prior to starting the real work.
#
mv signatures signatures.old
echo "Fingerprinting the system, this may take a while...."
#
find / \( \( -fstype ffs -a ! -iregex '^/proc.*' -a -type f -a \( -perm -0100 -o -perm -0010 -o -perm -0001 \) \) -o -name 'lib*so*' \) -print | while read line
do
	echo "Fingerprinting $line"
	hash=`sha1 < $line`
	flag=""
	if [ ! -x $line ]
	then
	    flag="	FILE"
	fi
	if [ "${hash}" != "" ]
	then
		echo "$line	sha1	${hash}${flag}" >> signatures
	fi
done
