yafic 1.2.2 (2005-Nov-02)
=========================
Copyright (c) 2001-2005 Allan Saddi <allan@saddi.com>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY ALLAN SADDI AND HIS CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL ALLAN SADDI OR HIS CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Introduction
------------
yafic is Yet Another File Integrity Checker, similar to programs like
Tripwire[1], integrit[2], and AIDE[3]. yafic came to be because no file
integrity checker I found did things the way I wanted it to. (Actually,
I haven't tried AIDE, but from the description, it already seems overly
complex.) I wanted something fast, simple, and yet be flexible enough to
be used in different situations. integrit almost fit the bill, except for
the way it interpreted its checkset. (Pruning a directory would also
ignore explicitly specified directories/files within that directory.)

[1] http://www.tripwire.org/
[2] http://integrit.sourceforge.net/
[3] http://www.cs.tut.fi/~rammer/aide.html

Building & Installing
---------------------
yafic depends on Sleepycat Software's[1] Berkeley DB 1.85[2]. This is
included by default in many distributions of *BSD and Linux.

Optionally, it will also link against OpenSSL's libcrypto, if found.

If you're familiar with using configure scripts, you should have no
problem building & installing yafic. Otherwise, see the file INSTALL.

In addition to the standard options, the configure script takes one
additional option: --disable-crypto. Use this if you do not wish to
use yafic's cryptographic signing/verification features, or if you do
not wish to link against OpenSSL.

Lastly, some operating systems default to 32-bit types for file
sizes/offsets, even though they might support 64-bit types. This
might cause files over 2GB (or 4GB) to be skipped. On Solaris and
Linux, you can get around this by running configure like so:

  env CFLAGS="-D_FILE_OFFSET_BITS=64 -g -O2" ./configure

[1] http://www.sleepycat.com/
[2] http://www.sleepycat.com/update/snapshot/db.1.85.tar.gz

Usage
-----
Refer to the man pages for yafic, yafic-sign, and yafic.conf.

Latest version
--------------
You can always find the latest version at:
  http://www.saddi.com/software/yafic/

- Allan Saddi
  allan@saddi.com
