Newsgroups: comp.sources.unix From: spaf@cs.purdue.edu (Gene Spafford) Subject: v27i171: tripwire-1.1 - security integrity monitor, V1.1, Part25/26 References: <1.756157401.21864@gw.home.vix.com> Sender: unix-sources-moderator@gw.home.vix.com Approved: vixie@gw.home.vix.com Submitted-By: spaf@cs.purdue.edu (Gene Spafford) Posting-Number: Volume 27, Issue 171 Archive-Name: tripwire-1.1/part25 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'tripwire-1.1/sigs/md2/md2wrapper.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = "$Id: md2wrapper.c,v 1.5 1993/12/15 16:50:09 genek Exp $"; X#endif X X/* X * md2wrapper.c X * X * signature function hook for MD2 (the RSA Data Security, Inc. MD2 X * Message Digesting Algorithm) for Tripwire. X * X * The original MD2 code is contained in md2.c in its entirety. X * X * Gene Kim X * Purdue University X * September 27, 1992 X */ X X#include "../../include/config.h" X#include X#include X#ifdef STDLIBH X#include X#include X#endif X#ifdef STRINGH X#include X#else X#include X#endif X#include "global.h" X#include "md2.h" X#include "../../include/sigs.h" X#define BUFSIZE 4096 X Xstatic MD2_CTX mdbucket; /* MD2 data structure */ X Xchar *pltob64(); X X/* X * int X * pf_signature(int fd_in, char *ps_signature, int siglen) X * X * fd_in: pointer to input file descriptor X * ps_signature: pointer to array where signature will be stored X * siglen: length of the signature array (for overflow checking) X */ X Xint Xsig_md2_get (fd_in, ps_signature, siglen) X int fd_in; X char *ps_signature; X int siglen; X{ X unsigned char buffer[BUFSIZE]; X int readin = -1; X unsigned long int words; X int i; X MD2_CTX *mdbuf; X char s[128]; X char sword[128]; X unsigned char digest[16]; X X mdbuf = &mdbucket; X X ps_signature[0] = '\0'; X X /* rewind the file descriptor */ X if (lseek(fd_in, 0, SEEK_SET) < 0) { X perror("sig_md2_get: lseek()"); X exit(1); X } X X MD2Init (mdbuf); X X while ((readin = read(fd_in, (char *)buffer, (off_t) BUFSIZE)) > 0) { X MD2Update(mdbuf, buffer, readin); X } X if (readin < 0) { X perror("sig_md2_get: read()"); X exit(1); X } X MD2Final (digest, mdbuf); X X words = 0L; X if (printhex) { X for (i = 0; i < 16; i++) { X words = (words << 8) | digest[i]; X if ((i+1) % 4 == 0 && i != 0 && i != 15) { X if (printhex) X sprintf(s, "%08lx", words); X strcat(ps_signature, s); X words = 0L; X } X } X sprintf(s, "%04lx", words); X strcat(ps_signature, s); X } X /* base 64 */ X else { X btob64(digest, ps_signature, 128); X } X return 0; X} END_OF_FILE if test 2110 -ne `wc -c <'tripwire-1.1/sigs/md2/md2wrapper.c'`; then echo shar: \"'tripwire-1.1/sigs/md2/md2wrapper.c'\" unpacked with wrong size! fi # end of 'tripwire-1.1/sigs/md2/md2wrapper.c' fi if test -f 'tripwire-1.1/sigs/md5/md5wrapper.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/sigs/md5/md5wrapper.c'\" else echo shar: Extracting \"'tripwire-1.1/sigs/md5/md5wrapper.c'\" \(2040 characters\) sed "s/^X//" >'tripwire-1.1/sigs/md5/md5wrapper.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = "$Id: md5wrapper.c,v 1.6 1993/12/15 16:50:12 genek Exp $"; X#endif X X/* X * md5wrapper.c X * X * signature function hook for MD5 (the RSA Data Security, Inc. MD5 X * Message Digesting Algorithm) for Tripwire. X * X * The original MD5 code is contained in md5.c in its entirety. X * X * Gene Kim X * Purdue University X * September 27, 1992 X */ X X#include "../../include/config.h" X#include X#include X#ifdef STDLIBH X#include X#include X#endif X#ifdef STRINGH X#include X#else X#include X#endif X#include "../../include/sigs.h" X#include "md5.h" X#define BUFSIZE 4096 X Xstatic MD5_CTX mdbucket; /* MD5 data structure */ X Xchar *pltob64(); X X/* X * int X * pf_signature(int fd_in, char *ps_signature, int siglen) X * X * fd_in: pointer to input file descriptor X * ps_signature: pointer to array where signature will be stored X * siglen: length of the signature array (for overflow checking) X */ X Xint Xsig_md5_get (fd_in, ps_signature, siglen) X int fd_in; X char *ps_signature; X int siglen; X{ X unsigned char buffer[BUFSIZE]; X int readin; X unsigned long int words; X int i; X MD5_CTX *mdbuf; X char s[128]; X char sword[128]; X X mdbuf = &mdbucket; X X ps_signature[0] = '\0'; X X /* rewind the file descriptor */ X if (lseek(fd_in, 0, SEEK_SET) < 0) { X perror("sig_md5_get: lseek()"); X exit(1); X } X X MD5Init (mdbuf); X X while ((readin = read(fd_in, (char *)buffer, (off_t) BUFSIZE)) > 0) { X MD5Update(mdbuf, buffer, readin); X } X if (readin < 0) { X perror("sig_md5_get: read()"); X exit(1); X } X MD5Final (mdbuf); X X words = 0L; X if (printhex) { X for (i = 0; i < 16; i++) { X words = (words << 8) | mdbuf->digest[i]; X if ((i+1) % 4 == 0 && i != 0 && i != 15) { X sprintf(s, "%08lx", words); X strcat(ps_signature, s); X words = 0L; X } X } X sprintf(s, "%04lx", words); X strcat(ps_signature, s); X } X /* base 64 */ X else { X btob64(mdbuf->digest, ps_signature, 128); X } X return 0; X} END_OF_FILE if test 2040 -ne `wc -c <'tripwire-1.1/sigs/md5/md5wrapper.c'`; then echo shar: \"'tripwire-1.1/sigs/md5/md5wrapper.c'\" unpacked with wrong size! fi # end of 'tripwire-1.1/sigs/md5/md5wrapper.c' fi if test -f 'tripwire-1.1/sigs/md4/md4.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/sigs/md4/md4.h'\" else echo shar: Extracting \"'tripwire-1.1/sigs/md4/md4.h'\" \(1920 characters\) sed "s/^X//" >'tripwire-1.1/sigs/md4/md4.h' <<'END_OF_FILE' X/* $Id: md4.h,v 1.2 1993/08/19 05:27:59 genek Exp $ */ X X/* X** ************************************************************************** X** md4.h -- Header file for implementation of MD4 Message Digest Algorithm ** X** Updated: 2/13/90 by Ronald L. Rivest ** X** (C) 1990 RSA Data Security, Inc. ** X** ************************************************************************** X*/ X X/* MDstruct is the data structure for a message digest computation. X*/ Xtypedef struct { X unsigned int buffer[4]; /* Holds 4-word result of MD computation */ X unsigned char count[8]; /* Number of bits processed so far */ X unsigned int done; /* Nonzero means MD computation finished */ X} MDstruct, *MDptr; X X/* MDbegin(MD) X** Input: MD -- an MDptr X** Initialize the MDstruct prepatory to doing a message digest computation. X*/ Xextern void MDbegin(); X X/* MDupdate(MD,X,count) X** Input: MD -- an MDptr X** X -- a pointer to an array of unsigned characters. X** count -- the number of bits of X to use (an unsigned int). X** Updates MD using the first ``count'' bits of X. X** The array pointed to by X is not modified. X** If count is not a multiple of 8, MDupdate uses high bits of last byte. X** This is the basic input routine for a user. X** The routine terminates the MD computation when count < 512, so X** every MD computation should end with one call to MDupdate with a X** count less than 512. Zero is OK for a count. X*/ Xextern void MDupdate(); X X/* MDprint(MD) X** Input: MD -- an MDptr X** Prints message digest buffer MD as 32 hexadecimal digits. X** Order is from low-order byte of buffer[0] to high-order byte of buffer[3]. X** Each byte is printed with high-order hexadecimal digit first. X*/ Xextern void MDprint(); X X/* X** End of md4.h X****************************(cut)*****************************************/ X Xint sig_md4_get(); END_OF_FILE if test 1920 -ne `wc -c <'tripwire-1.1/sigs/md4/md4.h'`; then echo shar: \"'tripwire-1.1/sigs/md4/md4.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/sigs/md4/md4.h' fi if test -f 'tripwire-1.1/sigs/md4/md4wrapper.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/sigs/md4/md4wrapper.c'\" else echo shar: Extracting \"'tripwire-1.1/sigs/md4/md4wrapper.c'\" \(1851 characters\) sed "s/^X//" >'tripwire-1.1/sigs/md4/md4wrapper.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = "$Id: md4wrapper.c,v 1.5 1993/12/15 16:50:11 genek Exp $"; X#endif X X/* X * md4wrapper.c X * X * signature function hook for MD4 (the RSA Data Security, Inc. MD4 X * Message Digesting Algorithm) for Tripwire. X * X * The original MD4 code is contained in md4.c in its entirety. X * X * Gene Kim X * Purdue University X * October 14, 1992 X */ X X#include "../../include/config.h" X#include X#include X#ifdef STDLIBH X#include X#include X#endif X#ifdef STRINGH X#include X#else X#include X#endif X#include "../../include/sigs.h" X#include "md4.h" X#define BUFSIZE 64 /* limit of in-struct buffer size */ X Xstatic MDstruct mdbucket; /* MD4 data structure */ X Xchar *pltob64(); X X/* X * int X * pf_signature(int fd_in, char *ps_signature, int siglen) X * X * fd_in: pointer to input file descriptor X * ps_signature: pointer to array where signature will be stored X * siglen: length of the signature array (for overflow checking) X */ X Xint Xsig_md4_get (fd_in, ps_signature, siglen) X int fd_in; X char *ps_signature; X int siglen; X{ X unsigned char buffer[BUFSIZE]; X int readin = -1; X unsigned long int words; X int i; X MDstruct *mdbuf; X char s[128]; X char sword[128]; X X mdbuf = &mdbucket; X X ps_signature[0] = '\0'; X X /* rewind the file descriptor */ X if (lseek(fd_in, 0, SEEK_SET) < 0) { X perror("sig_md4_get: lseek()"); X exit(1); X } X X MDbegin (mdbuf); X X while ((readin = read(fd_in, (char *)buffer, (off_t) BUFSIZE)) > 0) { X MDupdate(mdbuf, buffer, readin*8); X } X if (readin < 0) { X perror("sig_md4_get: read()"); X exit(1); X } X MDupdate(mdbuf, buffer, (unsigned)readin); X X words = 0L; X if (printhex) { X MDsprint(ps_signature, mdbuf); X } else { X MDsprint64(ps_signature, mdbuf); X } X return 0; X} END_OF_FILE if test 1851 -ne `wc -c <'tripwire-1.1/sigs/md4/md4wrapper.c'`; then echo shar: \"'tripwire-1.1/sigs/md4/md4wrapper.c'\" unpacked with wrong size! fi # end of 'tripwire-1.1/sigs/md4/md4wrapper.c' fi if test -f 'tripwire-1.1/configs/tw.conf.hpux' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/tw.conf.hpux'\" else echo shar: Extracting \"'tripwire-1.1/configs/tw.conf.hpux'\" \(1836 characters\) sed "s/^X//" >'tripwire-1.1/configs/tw.conf.hpux' <<'END_OF_FILE' X# $Id: tw.conf.hpux,v 1.3 1993/08/19 05:27:12 genek Exp $ X# X# Lance R. Bailey X# X X# First, root's "home" X=/ L X/.rhosts R # may not exist X/.profile R # may not exist X/.cshrc R # may not exist X/.login R # may not exist X/.exrc R # may not exist X/.logout R # may not exist X/.emacs R # may not exist X/.forward R # may not exist X/.netrc R # may not exist X X# Unix itself X/hp-ux R X/SYSBCKUP R X X# Now, some critical directories and files X# Some exceptions are noted further down X/etc R X=/etc/conf X=/etc/filesets X=/etc/interface.lib X=/etc/newconfig X=/etc/oldconfig X=/etc/update.lib X=/etc/sm X=/etc/sm.bak X=/etc/rmfn.lib X X/etc/inetd.conf R X/etc/rc R X/etc/gettydefs R X/etc/exports R X/etc/motd L X/etc/rmtab L X/etc/utmp L X/etc/group R # changes should be infrequent X/etc/passwd L X X/dev L X X/usr/etc R X X# Checksumming the following is not so critical. However, X# setuid/setgid files are special-cased further down. X X/lib R-2 X X/bin R-2 X X/usr/bin R-2 X X/usr/lib R-2 X=/usr/lib/nls X X=/usr L X=/usr/spool L X/usr/spool/cron L X/usr/spool/mqueue L X/usr/mail L X X=/tmp X=/usr/tmp X X# Here are entries for setuid/setgid files. On these, we use X# both signatures just to be sure. X# X# You may want/need to edit this list. Batteries not inc. X X/bin/df R X/bin/ipcs R X/bin/login R X/bin/mail R X/bin/passwd R X/bin/rmail R X/bin/su R X/bin/write R X/etc/diskinfo R X/etc/dmesg R X/etc/dump R X/etc/ping R X/etc/wall R X/usr/bin/at R X/usr/bin/bdf R X/usr/bin/cancel R X/usr/bin/chfn R X/usr/bin/chsh R X/usr/bin/crontab R X/usr/bin/cu R X/usr/bin/iostat R X/usr/bin/lpr R X/usr/bin/lpstat R X/usr/bin/mailx R X/usr/bin/netstat R X/usr/bin/rcp R X/usr/bin/rlogin R X/usr/bin/remsh R X/usr/bin/uucp R X/usr/bin/uuname R X/usr/bin/uustat R X/usr/bin/uux R X/usr/bin/vmstat R X/etc/arp R X/usr/etc/nfsstat R X/usr/etc/rpc.rwalld R END_OF_FILE if test 1836 -ne `wc -c <'tripwire-1.1/configs/tw.conf.hpux'`; then echo shar: \"'tripwire-1.1/configs/tw.conf.hpux'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/tw.conf.hpux' fi if test -f 'tripwire-1.1/sigs/sha/shawrapper.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/sigs/sha/shawrapper.c'\" else echo shar: Extracting \"'tripwire-1.1/sigs/sha/shawrapper.c'\" \(1834 characters\) sed "s/^X//" >'tripwire-1.1/sigs/sha/shawrapper.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = "$Id: shawrapper.c,v 1.3 1993/12/15 18:28:05 genek Exp $"; X#endif X X/* X * shawrapper.c X * X * signature function hook for SHA for Tripwire. X * X * The original SHA code is contained in sha.c in its entirety. X * X * Gene Kim X * Purdue University X * August 10, 1993 X */ X X#include "../../include/config.h" X#include X#include X#ifdef STDLIBH X#include X#include X#endif X#ifdef STRINGH X#include X#else X#include X#endif X#include "../../include/sigs.h" X#include "sha.h" X Xchar *pltob64(); X X/* X * int X * pf_signature(int fd_in, char *ps_signature, int siglen) X * X * fd_in: pointer to input file descriptor X * ps_signature: pointer to array where signature will be stored X * siglen: length of the signature array (for overflow checking) X */ X X X#define BLOCKSIZE SHS_BLOCKSIZE X Xint Xsig_sha_get (fd_in, ps_signature, siglen) X int fd_in; X char *ps_signature; X int siglen; X{ X SHS_INFO shsInfo; X unsigned char buffer[BLOCKSIZE]; X int readin = -1; X int i; X char s[128], sword[128]; X X ps_signature[0] = '\0'; X X /* rewind the file descriptor */ X if (lseek(fd_in, 0, SEEK_SET) < 0) { X perror("sig_sha_get: lseek()"); X exit(1); X } X X shsInit( &shsInfo ); X X while ((readin = read(fd_in, (char *)buffer, (off_t) BLOCKSIZE)) == BLOCKSIZE) { X shsUpdate(&shsInfo, buffer, readin); X } X if (readin < 0) { X perror("sig_sha_get: read()"); X exit(1); X } X if (readin >= 0) { X shsUpdate(&shsInfo, buffer, readin); X } X X X shsFinal( &shsInfo ); X X /* print out the signature */ X if (printhex) { X for (i = 0; i < 5; i++) { X sprintf(s, "%08lx", shsInfo.digest[i]); X strcat(ps_signature, s); X } X } X /* base 64 */ X else { X pltob64(shsInfo.digest, ps_signature, 5); X } X return 0; X} END_OF_FILE if test 1834 -ne `wc -c <'tripwire-1.1/sigs/sha/shawrapper.c'`; then echo shar: \"'tripwire-1.1/sigs/sha/shawrapper.c'\" unpacked with wrong size! fi # end of 'tripwire-1.1/sigs/sha/shawrapper.c' fi if test -f 'tripwire-1.1/man/siggen.8' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/man/siggen.8'\" else echo shar: Extracting \"'tripwire-1.1/man/siggen.8'\" \(1710 characters\) sed "s/^X//" >'tripwire-1.1/man/siggen.8' <<'END_OF_FILE' X.\" $Id: siggen.8,v 1.7 1993/12/15 16:50:04 genek Exp $ X.\" X.TH SIGFETCH 8 "October 14, 1992" X.SH NAME Xsiggen \- signature gathering routine for Tripwire X.SH SYNOPSIS X.B siggen Xsiggen [-0123456789aqv] [ X.I file X\&... ] X.SH DESCRIPTION X.LP X\fIsiggen\fP is a utility that fetches signatures used by Tripwire. X.SH OPTIONS X.LP XWhen run without any arguments, \fIsiggen\fP collects all the signatures Xon the specified files in a verbose manner. X.LP XWhen no arguments are given, \fIsiggen\fP reads from standard input. X.TP X.B \-hex Xprints the signature in hexadecimal instead of base-64. X.TP X.B \-x Xsame as \fB-hex\fP option. X.TP X.B \-q XQuiet mode. Prints out all signatures in one line with no extraneous Xinformation. X.TP X.B \-a XGenerates all signatures. X.TP X.B \-v XVerbose mode. (default) X.TP X.B \-0 Xsignature 0 - generates null signature X.TP X.B \-1 Xsignature 1 - generates MD5, the RSA Data Security, Inc. Message Digesting Algorithm. X.TP X.B \-2 Xsignature 2 - generates Snefru, the Xerox Secure Hash Function. X.TP X.B \-3 Xsignature 3 - generates CRC-32, POSIX 1003.2 compliant 32-bit Cyclic Redundancy Check. X.TP X.B \-4 Xsignature 4 - generates CRC-16, the standard (non-CCITT) 16-bit Cyclic Redundancy Check. X.TP X.B \-5 Xsignature 5 - generates MD4, the RSA Data Security, Inc. Message Digesting Algorithm. X.TP X.B \-6 Xsignature 6 - generates MD2, the RSA Data Security, Inc. Message Digesting Algorithm. X.TP X.B \-7 Xsignature 7 - generates SHA, the NIST Secure Hash Algorithm X.TP X.B \-8 Xsignature 8 - generates null signature (reserved for future expansion) X.TP X.B \-9 Xsignature 9 \- generates null signature (reserved for future expansion) X.SH AUTHORS X.nf XGene Kim XPurdue University Xgkim@cs.purdue.edu X.fi X X END_OF_FILE if test 1710 -ne `wc -c <'tripwire-1.1/man/siggen.8'`; then echo shar: \"'tripwire-1.1/man/siggen.8'\" unpacked with wrong size! fi # end of 'tripwire-1.1/man/siggen.8' fi if test -f 'tripwire-1.1/TODO' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/TODO'\" else echo shar: Extracting \"'tripwire-1.1/TODO'\" \(1696 characters\) sed "s/^X//" >'tripwire-1.1/TODO' <<'END_OF_FILE' X# $Id: TODO,v 1.14 1993/12/13 14:38:36 genek Exp $ X Xv1.1: Mon Dec 13 09:38:23 EST 1993 X - add !(num) pruning syntax (thanks Rik Farrow) X Xv1.0.4: Fri Sep 3 11:56:32 EDT 1993 X X - add base10 signature printing X - get tripwire to compile on SCO machines (ash@cellar.demon.co.uk,spaf) X - tripwire daemon (safdas@moose.gs.com) X - make -loosedir default behavior X - monotonically increasing files (rouilj@ra.cs.umb.edu) X - It should be possible to specify different ignore flags for X directories and files in these directories, e.g.: X =/var/tmp L-c X /var/tmp E X (jv@mh.nl) X - add MD2 grant notice X - add -partialcheck option (John Rouillard) (use entrynum) X - add type classifiers (exclude/include certain types of files -- John X Rouillard) X X - AT&T Starserver E compiler has problems X - add -q option to make Tripwire noisy only when files change X (Eric Bergren ) X - make tests unrunnable from ./test directory (help Spaf?) X - make MD5 faster (Eugene Zaustinsky) X Xfirst net release Xv1.0: Tue Nov 3 04:37:39 EST 1992 X X fix byte "mangling" on MD2, MD4 and Snefru for Cray machines X fix lurking bug that surfaces in ETA-10 versions X find out why malloc() sometimes fails in Cray versions X X add -add and -delete command-line options X database locking \ X tripwire logging / Drew Gonczi has some fascinating ideas... X regular expression handling in tw.config file X hook for tar and cpio file parsing X inclusion of complete and authorative documentation X add "information mode" that explains inode fields X X change ./aux to some other name so MS-DOS users can unpack the sources! X END_OF_FILE if test 1696 -ne `wc -c <'tripwire-1.1/TODO'`; then echo shar: \"'tripwire-1.1/TODO'\" unpacked with wrong size! fi # end of 'tripwire-1.1/TODO' fi if test -f 'tripwire-1.1/tests/test1.sh' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/tests/test1.sh'\" else echo shar: Extracting \"'tripwire-1.1/tests/test1.sh'\" \(1623 characters\) sed "s/^X//" >'tripwire-1.1/tests/test1.sh' <<'END_OF_FILE' X#!/bin/sh X X# $Id: test1.sh,v 1.12 1993/12/15 17:03:45 genek Exp $ X XHOSTNAME=hostname X# check to see if we ran from top-level makefile! Xif [ $# -ne 2 ] Xthen X echo "Sorry! You must run this test from the top-level Makefile!" X exit 1 Xfi X XHOSTNAME=$1 XDIST=$2 XME=$0 X Xcat << GHK X=== $ME: DESCRIPTION X X This shell script tests all the Tripwire signature routines. XConsequently, this test may take awhile to complete, because even the Xslowest signature routines are exercised. On a Sequent Symmetry Xrunning 16 Mhz Intel 80386s, this test takes over five minutes to Xcomplete. X X This same test using only the MD5 routines completes in less Xthan 30 seconds. X X This test suite will ascertain whether the byte-ordering and Xmachine-dependent routines are working correctly. X XGHK X Xecho "=== $ME: BEGIN ===" Xecho '' X Xecho creating: ./tw.db_TEST.@ Xecho creating: ./@tw.config X XHOST=`$HOSTNAME` XCURRPATH=`pwd` XCURRPATH=`echo $CURRPATH | sed s,/tests$,,` X Xsed s,/tmp/genek/$DIST,$CURRPATH, < ./tw.db_TEST > ./tw.db_TEST.@; Xsed s,/tmp/genek/$DIST,$CURRPATH, < ./tw.conf.test > ./@tw.config; X X../src/tripwire -loosedir -c ./@tw.config -d ./tw.db_TEST.@; X Xecho "=== $ME: END ===" Xecho '' X Xecho Tripwire should have only reported: Xecho " added: $CURRPATH/tests/@tw.config" Xecho " $CURRPATH/tests/tw.db_TEST.@... " Xecho " $CURRPATH/tests/OKEXER... " Xecho " changed: $CURRPATH/... (maybe some directory sizes...) " Xecho " ...and any other files you may have changed!" Xecho '' Xecho '' Xecho removing: ./tests/tw.db_TEST.@ Xecho removing: @tw.config Xrm ./tw.db_TEST.@ Xrm ./@tw.config END_OF_FILE if test 1623 -ne `wc -c <'tripwire-1.1/tests/test1.sh'`; then echo shar: \"'tripwire-1.1/tests/test1.sh'\" unpacked with wrong size! fi # end of 'tripwire-1.1/tests/test1.sh' fi if test -f 'tripwire-1.1/aux/types.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/aux/types.c'\" else echo shar: Extracting \"'tripwire-1.1/aux/types.c'\" \(1542 characters\) sed "s/^X//" >'tripwire-1.1/aux/types.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = "$Id: types.c,v 1.4 1993/12/13 04:02:27 genek Exp $"; X#endif X X#include "../include/config.h" X#include X#include X#include X#ifdef STDLIBH X#include X#endif X Xvoid typeis(); X Xstatic void Xusage() X{ X fputs("types: usage: typename\n", stderr); X exit(1); X} X Xchar *pc; Xint isunsigned; X Xvoid Xmain(argc, argv) X int argc; X char *argv[]; X{ X struct stat statbuf; X int size; X X pc = argv[1]; X X if (argc < 2) X usage(); X X if (strcmp(pc, "mode_t") == 0) { X isunsigned = 1; X typeis(sizeof(statbuf.st_mode)); X } X else if (strcmp(pc, "ino_t") == 0) { X isunsigned = 1; X typeis(sizeof(statbuf.st_ino)); X } X else if (strcmp(pc, "nlink_t") == 0) { X isunsigned = 1; X typeis(sizeof(statbuf.st_nlink)); X } X else if (strcmp(pc, "uid_t") == 0) { X isunsigned = 0; X typeis(sizeof(statbuf.st_uid)); X } X else if (strcmp(pc, "gid_t") == 0) { X isunsigned = 0; X typeis(sizeof(statbuf.st_gid)); X } X else if (strcmp(pc, "off_t") == 0) { X isunsigned = 1; X typeis(sizeof(statbuf.st_size)); X } X X exit(0); X X} X Xvoid Xtypeis(i) X int i; X{ X int shortlen = sizeof(unsigned short); X int longlen = sizeof(unsigned long); X char sign[64]; X X#ifdef ATT_3B2 /* ATT 3B2: Thanks Joe Sirrianni */ X strcpy(sign, "unsigned"); X#else X if (isunsigned) X strcpy(sign, "unsigned"); X else X strcpy(sign, "signed"); X#endif X X if (i == shortlen) X printf("typedef %s short %s;\n", sign, pc); X else X printf("typedef %s long %s;\n", sign, pc); X} END_OF_FILE if test 1542 -ne `wc -c <'tripwire-1.1/aux/types.c'`; then echo shar: \"'tripwire-1.1/aux/types.c'\" unpacked with wrong size! fi # end of 'tripwire-1.1/aux/types.c' fi if test -f 'tripwire-1.1/include/list.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/include/list.h'\" else echo shar: Extracting \"'tripwire-1.1/include/list.h'\" \(1539 characters\) sed "s/^X//" >'tripwire-1.1/include/list.h' <<'END_OF_FILE' X/* $Id: list.h,v 1.2 1993/08/19 05:27:27 genek Exp $ */ X X#define LIST_HASHSZ 17011 X X/* linked list element */ Xstruct list_elem { X char *varname; X char *varvalue; X int priority; X struct list_elem *next; X struct list_elem *prev; X int flag; X}; X X/* hash table structure */ Xstruct list_hash { X char *key; /* hashed string */ X int used; /* table used or not */ X struct list_elem *lptr; /* pointer to entry on list */ X struct list_hash *next; /* pointer to next entry on chain */ X}; X X/* linked list pointer, with head and tail */ Xstruct list { X struct list_elem *p_head; X struct list_elem *p_tail; X struct list_hash hashtable[LIST_HASHSZ]; X}; X X/* prototypes */ X/* Do not remove this line. Protyping depends on it! */ X#if defined(__STDC__) || defined(__cplusplus) X#define P_(s) s X#else X#define P_(s) () X#endif X X/* list.c */ Xvoid list_set P_((char *pc_name, char *pc_value, int priority, struct list **pp_list)); Xchar *list_lookup P_((char *pc_name, struct list **pp_list)); Xint list_isthere P_((char *pc_name, struct list **pp_list)); Xvoid list_unset P_((char *pc_name, struct list **pp_list)); Xint list_setflag P_((char *pc_name, int flag, struct list **pp_list)); Xint list_getflag P_((char *pc_name, struct list **pp_list)); Xvoid list_print P_((struct list **pp_list)); Xvoid list_reset P_((struct list **pp_list)); Xint list_init P_((void)); Xint list_open P_((struct list **pp_list)); Xstruct list_elem *list_get P_((struct list **pp_list)); Xint list_close P_((struct list **pp_list)); X X#undef P_ END_OF_FILE if test 1539 -ne `wc -c <'tripwire-1.1/include/list.h'`; then echo shar: \"'tripwire-1.1/include/list.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/include/list.h' fi if test -f 'tripwire-1.1/configs/tw.conf.ultrix' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/tw.conf.ultrix'\" else echo shar: Extracting \"'tripwire-1.1/configs/tw.conf.ultrix'\" \(1352 characters\) sed "s/^X//" >'tripwire-1.1/configs/tw.conf.ultrix' <<'END_OF_FILE' X# $Id: tw.conf.ultrix,v 1.4 1993/11/22 06:38:02 genek Exp $ X# X# Submitted by: Edward DeHart X# X# kernel X# X/vmunix X# X# access files X# X/usr/bin/login X/usr/bin/su X# X# system config X# X/etc/crontab X/etc/exports X/etc/disktab X/etc/fstab X/etc/gettytab X/etc/hosts X/etc/hosts.equiv X/etc/hosts.lpd X/etc/inetd.conf X/etc/printcap X/etc/rc X/etc/rc.local X/etc/resolv.conf X/etc/sendmail.cf X/etc/services X/etc/svc.conf X/etc/ttys X# X# config files for daemon wrapper X# uncomment if using wrapper X# X#/etc/hosts.allow X#/etc/hosts.deny X# X# Protect these two files if you are running ntp: X# X/etc/ntp.conf X/usr/etc/ntpd X# X# network daemons X# X/usr/etc/fingerd X/usr/etc/mountd X/usr/etc/ftpd X/usr/etc/telnetd X/usr/etc/rlogind X/usr/etc/rshd X/usr/etc/nfsd X/usr/etc/nfsportmon X/usr/etc/nfssetlock X/usr/etc/nfssetup X/usr/etc/nfsstat X/usr/etc/ntpd X/usr/lib/sendmail X/usr/etc/rexecd X/usr/etc/snmpd X/usr/etc/tcpd X# X# clients X# X/usr/ucb/finger X/usr/ucb/ftp X/usr/ucb/rcp X/usr/ucb/rlogin X/usr/ucb/rsh X/usr/ucb/ruptime X/usr/ucb/rwho X/usr/ucb/talk X/usr/ucb/telnet X/usr/ucb/tftp X# X# programs X# X/usr/etc/ntp X/usr/etc/portmap X/usr/etc/quot X/usr/bin/mail X/usr/bin/wall X/usr/bin/sh5 X/bin/sh X/bin/csh X/usr/local/bin/tcsh X# X### These files should be protected if you X### have Ultrix Upgraded or Enhanced security X### installed. X/etc/sec/audit_events X/etc/sec/auditd X/etc/sec/auditmask END_OF_FILE if test 1352 -ne `wc -c <'tripwire-1.1/configs/tw.conf.ultrix'`; then echo shar: \"'tripwire-1.1/configs/tw.conf.ultrix'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/tw.conf.ultrix' fi if test -f 'tripwire-1.1/sigs/md2/md2.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/sigs/md2/md2.h'\" else echo shar: Extracting \"'tripwire-1.1/sigs/md2/md2.h'\" \(1214 characters\) sed "s/^X//" >'tripwire-1.1/sigs/md2/md2.h' <<'END_OF_FILE' X/* $Id: md2.h,v 1.2 1993/08/19 05:27:54 genek Exp $ */ X X/* MD2.H - header file for MD2C.C X */ X X/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All X rights reserved. X X License to copy and use this software is granted for X non-commercial Internet Privacy-Enhanced Mail provided that it is X identified as the "RSA Data Security, Inc. MD2 Message Digest X Algorithm" in all material mentioning or referencing this software X or this function. X X RSA Data Security, Inc. makes no representations concerning either X the merchantability of this software or the suitability of this X software for any particular purpose. It is provided "as is" X without express or implied warranty of any kind. X X These notices must be retained in any copies of any part of this X documentation and/or software. X */ X X X Xtypedef struct { X unsigned char state[16]; /* state */ X unsigned char checksum[16]; /* checksum */ X unsigned int count; /* number of bytes, modulo 16 */ X unsigned char buffer[16]; /* input buffer */ X} MD2_CTX; X Xvoid MD2Init (); Xvoid MD2Update (); Xvoid MD2Final (); X Xint sig_md2_get(); END_OF_FILE if test 1214 -ne `wc -c <'tripwire-1.1/sigs/md2/md2.h'`; then echo shar: \"'tripwire-1.1/sigs/md2/md2.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/sigs/md2/md2.h' fi if test -f 'tripwire-1.1/aux/types.sh' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/aux/types.sh'\" else echo shar: Extracting \"'tripwire-1.1/aux/types.sh'\" \(1151 characters\) sed "s/^X//" >'tripwire-1.1/aux/types.sh' <<'END_OF_FILE' X#!/bin/sh X X# $Id: types.sh,v 1.2 1993/08/19 05:26:40 genek Exp $ X X# types.sh X# X# glean any missing struct stat typedefs. X# X# Gene Kim X# Purdue University X# October 18, 1992 X Xif test ! -x ./types Xthen X echo "You must do 'make' first!" X exit 1 Xfi X XCPP=${1?"Run from the makefile!"} X XTYPES=./ourtypes.h X X# build our own local copy of types.h X Xcat > gettypes.c << 'GHK' X#include X#include XGHK X$CPP gettypes.c > $TYPES Xrm -f gettypes.c X X# print out banner for inode.h X Xcat << 'GHK' X/* X * inode.h X * X * Do not modify this file. This file was automatically X * generated by the Tripwire makefile. X * X */ X XGHK X X# now start finding the missing typedefs X Xgrep mode_t $TYPES > /dev/null Xif [ $? -ne 0 ] Xthen X ./types mode_t; Xfi X Xgrep ino_t $TYPES > /dev/null Xif [ $? -ne 0 ] Xthen X ./types ino_t; Xfi X Xgrep nlink_t $TYPES > /dev/null Xif [ $? -ne 0 ] Xthen X ./types nlink_t; Xfi X Xgrep uid_t $TYPES > /dev/null Xif [ $? -ne 0 ] Xthen X ./types uid_t; Xfi X Xgrep gid_t $TYPES > /dev/null Xif [ $? -ne 0 ] Xthen X ./types gid_t; Xfi X Xgrep off_t $TYPES > /dev/null Xif [ $? -ne 0 ] Xthen X ./types off_t; Xfi X Xrm $TYPES X Xexit 0; END_OF_FILE if test 1151 -ne `wc -c <'tripwire-1.1/aux/types.sh'`; then echo shar: \"'tripwire-1.1/aux/types.sh'\" unpacked with wrong size! fi chmod +x 'tripwire-1.1/aux/types.sh' # end of 'tripwire-1.1/aux/types.sh' fi if test -f 'tripwire-1.1/configs/conf-mach.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/conf-mach.h'\" else echo shar: Extracting \"'tripwire-1.1/configs/conf-mach.h'\" \(1117 characters\) sed "s/^X//" >'tripwire-1.1/configs/conf-mach.h' <<'END_OF_FILE' X/* $Id: conf-mach.h,v 1.2 1993/08/19 05:26:58 genek Exp $ */ X X/* X * conf-mach.h X * X * Tripwire configuration file X * X * Peter Shipley X * TFS (TRW Financial Systems) X */ X X/*** X *** Operating System specifics X *** X *** If the answer to a question in the comment is "Yes", then X *** change the corresponding "#undef" to a "#define" X ***/ X X/* X * is your OS a System V derivitive? if so, what version? X * (e.g., define SYSV 4) X */ X X#undef SYSV X X/* X * does your system have a like System V? X */ X X#undef MALLOCH X X/* X * does your system have a like POSIX says you should? X */ X X#undef STDLIBH X X/* X * does your system use readdir(3) that returns (struct dirent *)? X */ X X/* MACH has readdir(3) but no include file */ X#undef DIRENT X X/* X * is #include ok? (as opposed to ) X */ X X#define STRINGH X X/* X * does your system have gethostname(2) (instead of uname(2))? X */ X X#define GETHOSTNAME X X X/* X * miscellaneous stuff X */ X X#define MACH 1 X X/* MACH seems to be missing the define for S_IFIFO [but is had S_ISFIFO() ] */ X#ifndef S_IFIFO X#define S_IFIFO 0010000 X#endif X X END_OF_FILE if test 1117 -ne `wc -c <'tripwire-1.1/configs/conf-mach.h'`; then echo shar: \"'tripwire-1.1/configs/conf-mach.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/conf-mach.h' fi if test -f 'tripwire-1.1/configs/conf-3b2g.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/conf-3b2g.h'\" else echo shar: Extracting \"'tripwire-1.1/configs/conf-3b2g.h'\" \(1116 characters\) sed "s/^X//" >'tripwire-1.1/configs/conf-3b2g.h' <<'END_OF_FILE' X/* $Id: conf-3b2g.h,v 1.2 1993/08/19 05:26:48 genek Exp $ */ X X/* X * conf-3b2g.h X * X * Tripwire configuration file X * X * Gene Kim X * Purdue University X * X * Port by Joe Sirrianni X * X */ X X/*** X *** Operating System specifics X *** X *** If the answer to a question in the comment is "Yes", then X *** change the corresponding "#undef" to a "#define" X ***/ X X/* X * is your OS a System V derivitive? if so, what version? X * (e.g., define SYSV 4) X */ X X#define SYSV 3 X X/* X * does your system have a like System V? X */ X X#define MALLOCH X X/* X * does your system have a like POSIX says you should? X */ X X#undef STDLIBH X X/* X * does your system use readdir(3) that returns (struct dirent *)? X */ X X#define DIRENT X X/* X * is #include ok? (as opposed to ) X */ X X#define STRINGH X X/* X * does your system have gethostname(2) (instead of uname(2))? X */ X X#undef GETHOSTNAME X X/* X * missing defines X */ X X#define MAXPATHLEN 256 X X/* X * To work around lack of gettimeofday() in src/dbase.build.c X */ X#define NOGETTIMEOFDAY END_OF_FILE if test 1116 -ne `wc -c <'tripwire-1.1/configs/conf-3b2g.h'`; then echo shar: \"'tripwire-1.1/configs/conf-3b2g.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/conf-3b2g.h' fi if test -f 'tripwire-1.1/configs/conf-umaxv.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/conf-umaxv.h'\" else echo shar: Extracting \"'tripwire-1.1/configs/conf-umaxv.h'\" \(1098 characters\) sed "s/^X//" >'tripwire-1.1/configs/conf-umaxv.h' <<'END_OF_FILE' X/* $Id: conf-umaxv.h,v 1.3 1993/11/30 19:29:52 genek Exp $ */ X X/* X * conf-umaxv.h X * X * Tripwire configuration file X * X * Gene Kim X * Purdue University X * X * Modified by Michael Barnett (mikeb@rmit.edu.au) for UMAX V R2.4.1. X * Modified by Georges Tomazi (tomazi@kralizec.zeta.org.au) for UMAX V 2.4.1.P3 X * X */ X X/*** X *** Operating System specifics X *** X *** If the answer to a question in the comment is "Yes", then X *** change the corresponding "#undef" to a "#define" X ***/ X X/* X * is your OS a System V derivitive? if so, what version? X * (e.g., define SYSV 4) X */ X X#define SYSV 2 X X/* X * does your system have a like System V? X */ X X#define MALLOCH X X/* X * does your system have a like POSIX says you should? X */ X X#undef STDLIBH X X/* X * does your system use readdir(3) that returns (struct dirent *)? X */ X X#define DIRENT X X/* X * is #include ok? (as opposed to ) X */ X X#define STRINGH X X/* X * does your system have gethostname(2) (instead of uname(2))? X */ X X#define GETHOSTNAME X X/* X * miscellaneous stuff - mnb X */ X X#define MAXPATHLEN PATH_MAX END_OF_FILE if test 1098 -ne `wc -c <'tripwire-1.1/configs/conf-umaxv.h'`; then echo shar: \"'tripwire-1.1/configs/conf-umaxv.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/conf-umaxv.h' fi if test -f 'tripwire-1.1/aux/byteorder.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/aux/byteorder.c'\" else echo shar: Extracting \"'tripwire-1.1/aux/byteorder.c'\" \(1079 characters\) sed "s/^X//" >'tripwire-1.1/aux/byteorder.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = "$Id: byteorder.c,v 1.4 1993/12/13 04:02:26 genek Exp $"; X#endif X X#include "../include/config.h" X#include X#ifdef STDLIBH X#include X#endif X X/* X * byteorder.c X * X * lifted and hacked from Larry Wall's Configure program. X * X * Gene Kim X * Purdue University X * October 14, 1992 X */ X Xvoid header_print(); X Xvoid Xmain() X{ X int i; X union { X unsigned long l; X char c[sizeof(long)]; X } u; X X /* print out machine-generated banner for .h file */ X header_print(); X X if (sizeof(long) > 4) X u.l = (0x08070605L << 32) | 0x04030201L; X else X u.l = 0x04030201L; X X (void)printf("#define BYTEORDER 0x"); X for (i=0; i < sizeof(long); i++) X (void)printf("%c",u.c[i]+'0'); X (void)printf("\n"); X X exit(0); X /*NOTREACHED*/ X} X Xvoid Xheader_print() X{ X printf("/*\n"); X printf(" * byteorder.h\n"); X printf(" *\n"); X printf(" * Do not modify this file. This file was automatically \n"); X printf(" * generated by the Tripwire makefile.\n"); X printf(" *\n"); X printf(" */\n"); X printf("\n"); X} END_OF_FILE if test 1079 -ne `wc -c <'tripwire-1.1/aux/byteorder.c'`; then echo shar: \"'tripwire-1.1/aux/byteorder.c'\" unpacked with wrong size! fi # end of 'tripwire-1.1/aux/byteorder.c' fi if test -f 'tripwire-1.1/sigs/md5/md5.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/sigs/md5/md5.h'\" else echo shar: Extracting \"'tripwire-1.1/sigs/md5/md5.h'\" \(1076 characters\) sed "s/^X//" >'tripwire-1.1/sigs/md5/md5.h' <<'END_OF_FILE' X/*********************************************************************** X ** md5.h -- header file for implementation of MD5 ** X ** RSA Data Security, Inc. MD5 Message-Digest Algorithm ** X ** Created: 2/17/90 RLR ** X ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version ** X ** Revised (for MD5): RLR 4/27/91 ** X **********************************************************************/ X X/* $Id: md5.h,v 1.4 1993/11/22 06:38:20 genek Exp $ */ X X/* typedef a 32-bit type */ Xtypedef unsigned long int UINT4; X X/* Data structure for MD5 (Message-Digest) computation */ Xtypedef struct { X UINT4 i[2]; /* number of _bits_ handled mod 2^64 */ X UINT4 buf[4]; /* scratch buffer */ X unsigned char in[64]; /* input buffer */ X unsigned char digest[16]; /* actual digest after MD5Final call */ X} MD5_CTX; X Xvoid MD5Init(); Xvoid MD5Update(); Xvoid MD5Final(); X Xint sig_md5_get(); END_OF_FILE if test 1076 -ne `wc -c <'tripwire-1.1/sigs/md5/md5.h'`; then echo shar: \"'tripwire-1.1/sigs/md5/md5.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/sigs/md5/md5.h' fi if test -f 'tripwire-1.1/configs/conf-xenix.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/conf-xenix.h'\" else echo shar: Extracting \"'tripwire-1.1/configs/conf-xenix.h'\" \(1070 characters\) sed "s/^X//" >'tripwire-1.1/configs/conf-xenix.h' <<'END_OF_FILE' X/* $Id: conf-xenix.h,v 1.3 1993/08/19 05:27:10 genek Exp $ */ X X/* X * conf-xenix.h X * X * Tripwire configuration file X * X * Gene Kim X * Purdue University X * X * Xenix port by: X * Daniel Ray X */ X X/*** X *** Operating System specifics X *** X *** If the answer to a question in the comment is "Yes", then X *** change the corresponding "#undef" to a "#define" X ***/ X X/* X * is your OS a System V derivitive? if so, what version? X * (e.g., define SYSV 4) X */ X X#define SYSV 3 X X/* X * does your system have a like System V? X */ X X#define MALLOCH X X/* X * does your system have a like POSIX says you should? X */ X X#define STDLIBH X X/* X * does your system use readdir(3) that returns (struct dirent *)? X */ X X#undef DIRENT X X/* X * is #include ok? (as opposed to ) X */ X X#define STRINGH X X/* X * does your system have gethostname(2) (instead of uname(2))? X */ X X#undef GETHOSTNAME X X/* X * To work around lack of gettimeofday() in src/dbase.build.c X */ X X#define NOGETTIMEOFDAY X X/* X * miscallaneous stuff X */ X X#define XENIX X END_OF_FILE if test 1070 -ne `wc -c <'tripwire-1.1/configs/conf-xenix.h'`; then echo shar: \"'tripwire-1.1/configs/conf-xenix.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/conf-xenix.h' fi if test -f 'tripwire-1.1/src/help.txt' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/src/help.txt'\" else echo shar: Extracting \"'tripwire-1.1/src/help.txt'\" \(1061 characters\) sed "s/^X//" >'tripwire-1.1/src/help.txt' <<'END_OF_FILE' X# $Id: help.txt,v 1.3 1993/09/04 20:47:48 genek Exp $ X# X# this file contains the help text that is printed out when 'help' is X# invoked in Interactive mode, or when '-help' is invoked on the command X# line. X# X# All lines starting with '#' are filtered out when generating this file X# X# >>> START HERE <<< XInode information summary: X========================== X Xst_mode: states the protection mode-bits that are associated X with the file. (i.e., read, write, and execute X permission bits). Xst_ino: the inode number, which uniquely labels the file within X the filesystem. Xst_nlink: the number of links to a file which exist. (Adding a X hard-link to a file or creates a subdirectory adds one X to this number.) Xst_uid: the user-id of the file owner. Xst_gid: the group-id of the file owner. Xst_size: the size (in bytes) of the file. Xst_atime: the timestamp of the last file access. Xst_mtime: the timestamp of the last file modification. Xst_ctime: the timestamp of the last inode update. Xsig[0..9]: the 'fingerprint' yeilded by each signature routine. END_OF_FILE if test 1061 -ne `wc -c <'tripwire-1.1/src/help.txt'`; then echo shar: \"'tripwire-1.1/src/help.txt'\" unpacked with wrong size! fi # end of 'tripwire-1.1/src/help.txt' fi if test -f 'tripwire-1.1/configs/conf-aux3.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/conf-aux3.h'\" else echo shar: Extracting \"'tripwire-1.1/configs/conf-aux3.h'\" \(1012 characters\) sed "s/^X//" >'tripwire-1.1/configs/conf-aux3.h' <<'END_OF_FILE' X/* $Id: conf-aux3.h,v 1.2 1993/08/19 05:26:51 genek Exp $ */ X X/* X * conf-aux3.h X * X * Tripwire configuration file X * X * Gene Kim X * Purdue University X * X * A/UX port provided by: X * Phillip Porch (root@raidernet.com) X */ X X/*** X *** Operating System specifics X *** X *** If the answer to a question in the comment is "Yes", then X *** change the corresponding "#undef" to a "#define" X ***/ X X/* X * is your OS a System V derivitive? if so, what version? X * (e.g., define SYSV 4) X */ X X#define SYSV 2 X X/* X * does your system have a like System V? X */ X X#define MALLOCH X X/* X * does your system have a like POSIX says you should? X */ X X/* #define STDLIBH */ X X/* X * does your system use readdir(3) that returns (struct dirent *)? X */ X X#define DIRENT X X/* X * is #include ok? (as opposed to ) X */ X X#define STRINGH X X/* X * does your system have gethostname(2) (instead of uname(2))? X */ X X#undef GETHOSTNAME X X/* X * missing defines X */ X X/* #define MAXPATHLEN PATH_MAX */ X END_OF_FILE if test 1012 -ne `wc -c <'tripwire-1.1/configs/conf-aux3.h'`; then echo shar: \"'tripwire-1.1/configs/conf-aux3.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/conf-aux3.h' fi if test -f 'tripwire-1.1/src/nullsig.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/src/nullsig.c'\" else echo shar: Extracting \"'tripwire-1.1/src/nullsig.c'\" \(994 characters\) sed "s/^X//" >'tripwire-1.1/src/nullsig.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = "$Id: nullsig.c,v 1.7 1993/12/02 18:03:23 genek Exp $"; X#endif X X/* X * nullsig.c X * X * hook for null signature X * X * Gene Kim X * Purdue University X */ X X#include "../include/config.h" X#include X#ifdef STDLIBH X#include X#include X#endif X#include X#include X#include "../include/tripwire.h" X#include "../include/sigs.h" X X/* X * int X * pf_signature(int fd_in, char *ps_signature, int siglen) X * X * fd_in: pointer to input file descriptor X * ps_signature: pointer to array where signature will be stored X * siglen: length of the signature array (for overflow checking) X */ X Xint Xsig_null_get (fd_in, ps_signature, siglen) X int fd_in; X char *ps_signature; X int siglen; X{ X /* rewind the file descriptor */ X if (lseek(fd_in, 0, SEEK_SET) < 0) { X die_with_err("sig_null_get: lseek()", (char *) NULL); X } X X /* lint pacifier */ X siglen += 0; X X sprintf(ps_signature, "0"); X return 0; X} END_OF_FILE if test 994 -ne `wc -c <'tripwire-1.1/src/nullsig.c'`; then echo shar: \"'tripwire-1.1/src/nullsig.c'\" unpacked with wrong size! fi # end of 'tripwire-1.1/src/nullsig.c' fi if test -f 'tripwire-1.1/configs/conf-hpux.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/conf-hpux.h'\" else echo shar: Extracting \"'tripwire-1.1/configs/conf-hpux.h'\" \(993 characters\) sed "s/^X//" >'tripwire-1.1/configs/conf-hpux.h' <<'END_OF_FILE' X/* $Id: conf-hpux.h,v 1.2 1993/08/19 05:26:56 genek Exp $ */ X X/* X * conf-hpux.h X * X * Tripwire configuration file X * X * Gene Kim X * Purdue University X * X * HP/UX port by: X * Lance Bailey X */ X X#define _HPUX_SOURCE X X/*** X *** Operating System specifics X *** X *** If the answer to a question in the comment is "Yes", then X *** change the corresponding "#undef" to a "#define" X ***/ X X/* X * is your OS a System V derivitive? if so, what version? X * (e.g., define SYSV 4) X */ X X#undef SYSV X X/* X * does your system have a like System V? X */ X X#define MALLOCH X X/* X * does your system have a like POSIX says you should? X */ X X#define STDLIBH X X/* X * does your system use readdir(3) that returns (struct dirent *)? X */ X X#define DIRENT X X/* X * is #include ok? (as opposed to ) X */ X X#define STRINGH X X/* X * does your system have gethostname(2) (instead of uname(2))? X */ X X#define GETHOSTNAME END_OF_FILE if test 993 -ne `wc -c <'tripwire-1.1/configs/conf-hpux.h'`; then echo shar: \"'tripwire-1.1/configs/conf-hpux.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/conf-hpux.h' fi if test -f 'tripwire-1.1/configs/conf-convex.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'tripwire-1.1/configs/conf-convex.h'\" else echo shar: Extracting \"'tripwire-1.1/configs/conf-convex.h'\" \(959 characters\) sed "s/^X//" >'tripwire-1.1/configs/conf-convex.h' <<'END_OF_FILE' X/* $Id: conf-convex.h,v 1.2 1993/08/19 05:26:53 genek Exp $ */ X X/* X * conf-convex.h X * X * Tripwire configuration file X * X * Gene Kim X * Purdue University X * X * Ported to COnvexos 9.1 X * by Adrian P van Bloois at ACCU X */ X X/*** X *** Operating System specifics X *** X *** If the answer to a question in the comment is "Yes", then X *** change the corresponding "#undef" to a "#define" X ***/ X X/* X * is your OS a System V derivitive? if so, what version? X * (e.g., define SYSV 4) X */ X X#undef SYSV X X/* X * does your system have a like System V? X */ X X#undef MALLOCH X X/* X * does your system have a like POSIX says you should? X */ X X#define STDLIBH X X/* X * does your system use readdir(3) that returns (struct dirent *)? X */ X X#define DIRENT X X/* X * is #include ok? (as opposed to ) X */ X X#define STRINGH X X/* X * does your system have gethostname(2) (instead of uname(2))? X */ X X#define GETHOSTNAME END_OF_FILE if test 959 -ne `wc -c <'tripwire-1.1/configs/conf-convex.h'`; then echo shar: \"'tripwire-1.1/configs/conf-convex.h'\" unpacked with wrong size! fi # end of 'tripwire-1.1/configs/conf-convex.h' fi echo shar: End of archive 25 \(of 25\). cp /dev/null ark25isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 25 archives. echo "Now read tripwire-1.1/README.kits" rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0