diff options
Diffstat (limited to 'security/rdigest/pkg-descr')
-rw-r--r-- | security/rdigest/pkg-descr | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/security/rdigest/pkg-descr b/security/rdigest/pkg-descr new file mode 100644 index 000000000000..24faa4026c06 --- /dev/null +++ b/security/rdigest/pkg-descr @@ -0,0 +1,47 @@ +This utility is a wrapper for the md5(3), sha1(3) and rmd160(3) +routines. + +It is remarkably similar to the digest package, except that it +can recursively checksum directory trees. + +While a simple checksum on a tar file is usually satisfactory, once +said archive has been extracted, it is virtually impossible to +repackage the extracted tree in a form that can yield a repeatable +checksum. To be specific, changes in timestamps and ownership, and +changes in file ordering within directories can affect the checksum of +the archive, while not really impacting the actual code at all. + +The algorithm used to checksum a directory in this implementation is +as follows: + + cd into directory + initialize MASTER_HASH + walk directory tree, sorting all entries + foreach entry + if it is a directory: + skip it if it is named "RCS", "CVS", or "SCCS" + initialize SLAVE_HASH + add the string "d " into SLAVE_HASH + add the pathname of the directory into SLAVE_HASH + finish SLAVE_HASH + fold the hexified SLAVE_HASH result into MASTER_HASH + if it is a file: + initialize SLAVE_HASH + add the string "f " into SLAVE_HASH + add the pathname of the file into SLAVE_HASH + finish SLAVE_HASH + fold the hexified SLAVE_HASH result into MASTER_HASH + initialize SLAVE_HASH + add the contents of the file into SLAVE_HASH + finish SLAVE_HASH + fold the hexified SLAVE_HASH result into MASTER_HASH + if it is a symbolic link + initialize SLAVE_HASH + add the string "l " into SLAVE_HASH + add the pathname of the link into SLAVE_HASH + finish SLAVE_HASH + fold the hexified SLAVE_HASH result into MASTER_HASH + initialize SLAVE_HASH + add the contents of the link into SLAVE_HASH + finish SLAVE_HASH + fold the hexified SLAVE_HASH result into MASTER_HASH |