diff options
Diffstat (limited to 'pkgtools/rdigest/DESCR')
-rw-r--r-- | pkgtools/rdigest/DESCR | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/pkgtools/rdigest/DESCR b/pkgtools/rdigest/DESCR index fec28fe43ca..f31cf690b86 100644 --- a/pkgtools/rdigest/DESCR +++ b/pkgtools/rdigest/DESCR @@ -1,11 +1,6 @@ -This utility is a wrapper for the md5(3), sha1(3) and rmd160(3) -routines. - -The utility is linked statically, so that it can be used without any -shared libraries installed on the system. - -It is remarkably similar to the digest package, except that it -can recursively checksum directory trees. +This utility is a wrapper for the md5(3), sha1(3), rmd160(3), and +tiger hash 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 @@ -14,37 +9,8 @@ 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 +The algorithm used to checksum a directory in this implementation +is considers only the files' pathnames, the files' types (ie, +directory vs. file vs. symbolic link), and their contents (for +the latter two). It is described in greater detail in the man +page. |