[Forensics-changes] [hashrat] 02/02: Imported Debian patch 1.5-1

Joao Eriberto Mota Filho eriberto at moszumanska.debian.org
Wed Jan 28 23:16:21 UTC 2015


This is an automated email from the git hooks/post-receive script.

eriberto pushed a commit to branch debian
in repository hashrat.

commit 9cd08ddd961ec43a76863f30fc9e704c8447c28d
Author: Joao Eriberto Mota Filho <eriberto at debian.org>
Date:   Wed Jan 28 10:32:25 2015 -0200

    Imported Debian patch 1.5-1
---
 debian/changelog                |   5 +
 debian/clean                    |   1 +
 debian/compat                   |   1 +
 debian/control                  |  29 +++
 debian/copyright                | 131 ++++++++++
 debian/manpage/genallman.sh     |  29 +++
 debian/manpage/hashrat.1        | 525 ++++++++++++++++++++++++++++++++++++++++
 debian/manpage/hashrat.header   |   1 +
 debian/manpage/hashrat.txt      | 234 ++++++++++++++++++
 debian/manpages                 |   1 +
 debian/patches/fix-help         | 106 ++++++++
 debian/patches/series           |   1 +
 debian/rules                    |  10 +
 debian/source.lintian-overrides |   3 +
 debian/source/format            |   1 +
 debian/watch                    |   4 +
 16 files changed, 1082 insertions(+)

diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..ae9bc59
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+hashrat (1.5-1) experimental; urgency=low
+
+  * Initial release. (Closes: #776499)
+
+ -- Joao Eriberto Mota Filho <eriberto at debian.org>  Wed, 28 Jan 2015 10:32:25 -0200
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..0d9f759
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1 @@
+libUseful-2.0/config.cache
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..02f0d28
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,29 @@
+Source: hashrat
+Section: utils
+Priority: optional
+Maintainer: Debian Forensics <forensics-devel at lists.alioth.debian.org>
+Uploaders: Joao Eriberto Mota Filho <eriberto at debian.org>
+Build-Depends: debhelper (>= 9), dh-autoreconf
+Standards-Version: 3.9.6
+Homepage: http://www.cjpaget.co.uk/Code/Hashrat
+Vcs-Git: git://anonscm.debian.org/forensics/hashrat.git
+Vcs-Browser: http://anonscm.debian.org/cgit/forensics/hashrat.git
+
+Package: hashrat
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: hashing tool supporting several hashes and recursivity
+ Hashrat is a hash-generation utility that supports the md5, sha1, sha256,
+ sha512, whirlpool, jh-244, jh256, jh-384 and jh-512 hash functions, and
+ also the HMAC versions of those functions. It can output in 'traditional'
+ format (same as md5sum and shasum and the like), or it's own format.
+ .
+ Hashes can be output in octal, decimal, hexadecimal, uppercase hexadecimal
+ or base64.
+ .
+ Hashrat also supports directory recursion, hashing entire devices,
+ generating a hash for an entire directory, operations in remote machines
+ and several other features. It has a 'CGI' mode that can be used as a
+ web-page to lookup hashes.
+ .
+ This tool is useful in forensics investigations and network security.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..67ea012
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,131 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: hashrat
+Source: http://www.cjpaget.co.uk/Code/Hashrat
+
+Files: *
+Copyright: 2014-2015 Colum Paget <colums.projects at gmail.com>
+License: GPL-3.0
+
+
+Files: install-sh libUseful-2.0/install-sh
+Copyright: 1991 Massachusetts Institute of Technology
+License: MIT
+
+
+Files: libUseful-2.0/crc32.*
+Copyright: 2003 Dominik Reichl <dominik.reichl at t-online.de>
+License: GPL-2
+
+
+Files: libUseful-2.0/md5.*
+Copyright: 1991-2, RSA Data Security, Inc.
+License: RSA-MD5
+
+
+Files: libUseful-2.0/sha1.*
+Copyright: 2000-2001, 2003-2006, 2008-2011 Free Software Foundation, Inc.
+License: GPL-2+
+
+
+Files: libUseful-2.0/sha2.*
+Copyright: 2000-2001 Aaron D. Gifford
+License: BSD-3-Clause
+
+
+Files: debian/*
+Copyright: 2014-2015 Joao Eriberto Mota Filho <eriberto at debian.org>
+License: GPL-3.0+
+
+
+License: GPL-3.0 or GPL-3.0+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
+
+
+License: MIT
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of M.I.T. not be used in advertising or
+ publicity pertaining to distribution of the software without specific,
+ written prior permission.  M.I.T. makes no representations about the
+ suitability of this software for any purpose.  It is provided "as is"
+ without express or implied warranty.
+
+
+License: RSA-MD5
+ License to copy and use this software is granted provided that it
+ is identified as the "RSA Data Security, Inc. MD5 Message-Digest
+ Algorithm" in all material mentioning or referencing this software
+ or this function.
+ .
+ License is also granted to make and use derivative works provided
+ that such works are identified as "derived from the RSA Data
+ Security, Inc. MD5 Message-Digest Algorithm" in all material
+ mentioning or referencing the derived work.
+ .
+ RSA Data Security, Inc. makes no representations concerning either
+ the merchantability of this software or the suitability of this
+ software for any particular purpose. It is provided "as is"
+ without express or implied warranty of any kind.
+ .
+ These notices must be retained in any copies of any part of this
+ documentation and/or software.
+
+
+License: GPL-2 or GPL-2+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
+
+License: BSD-3-Clause
+ 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.
+ 3. Neither the name of the copyright holder nor the names of contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``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 THE AUTHOR OR CONTRIBUTOR(S) 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.
diff --git a/debian/manpage/genallman.sh b/debian/manpage/genallman.sh
new file mode 100755
index 0000000..fe4054f
--- /dev/null
+++ b/debian/manpage/genallman.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# Generate several manpages at the same time.
+# C 2014-2015 Joao Eriberto Mota Filho <eriberto at debian.org>
+#
+# You can use this code in the same terms of the BSD-3-clause license or,
+# optionally, in the same terms of the license used in debian/ directory
+# in this Debian package. Please, to the last option, refer the package
+# name when using.
+#
+# This script uses txt2man. You need 2 files: program_name.txt and
+# program_name.header.
+#
+# The program_name.header must be use this structure:
+#
+# .TH <program_name> "<manpage_level>"  "<date>" "<program_name_upper_case> <program_version>" "<program_description>"
+#
+# Example:
+#
+# .TH mac-robber "1"  "May 2013" "MAC-ROBBER 1.02" "collects data about allocated files in mounted filesystems"
+
+[ ! -f /usr/bin/txt2man ] && echo txt2man not installed. && exit 0
+
+for NAME in $(ls | grep header | cut -d'.' -f1)
+do
+    LEVEL=$(cat $NAME.header | cut -d" " -f3 | tr -d '"')
+    cat $NAME.header > $NAME.$LEVEL
+    txt2man $NAME.txt | grep -v '^.TH ' >> $NAME.$LEVEL
+done
diff --git a/debian/manpage/hashrat.1 b/debian/manpage/hashrat.1
new file mode 100644
index 0000000..ffa7503
--- /dev/null
+++ b/debian/manpage/hashrat.1
@@ -0,0 +1,525 @@
+.TH hashrat "1" "Jan 2015" "HASHRAT 1.5" "hashing tool supporting several hashes and recursivity"
+.\"Text automatically generated by txt2man
+.SH NAME
+\fBhashrat \fP- hashing tool supporting several hashes and recursivity
+\fB
+.SH SYNOPSIS
+.nf
+.fam C
+\fBhashrat\fP [\fIoptions\fP] [\fIpaths\fP \fIto\fP \fIhash\fP]
+
+\fBhashrat\fP \fB-c\fP [\fIoptions\fP] [\fIinput\fP \fIfile\fP \fIof\fP \fIhashes\fP]
+
+.fam T
+.fi
+.fam T
+.fi
+.SH DESCRIPTION
+Hashrat is a \fIhash\fP-generation utility that supports the md5, sha1, sha256, sha512, whirlpool, jh-244, jh256, jh-384 and jh-512 \fIhash\fP functions, and
+also the HMAC versions \fIof\fP those functions. It can output in traditional format (same as md5sum and shasum and the like) or it's own format.
+.PP
+Hashes can be output in octal, decimal, hexadecimal, uppercase hexadecimal or base64.
+.PP
+Hashrat also supports directory recursion, hashing entire devices, and generating a \fIhash\fP for an entire directory. It has a CGI mode that can
+be used as a web-page \fIto\fP lookup \fIhashes\fP.
+.SH OPTIONS
+.TP
+.B
+-?, \fB-help\fP, \fB--help\fP
+Print this help.
+.TP
+.B
+\fB-version\fP, \fB--version\fP
+Print program version.
+.TP
+.B
+\fB-md5\fP
+Use md5 \fIhash\fP algorithm. This is the default \fIhash\fP.
+.TP
+.B
+\fB-sha1\fP
+Use sha1 \fIhash\fP algorithm.
+.TP
+.B
+\fB-sha256\fP
+Use sha256 \fIhash\fP algorithm.
+.TP
+.B
+\fB-sha512\fP
+Use sha512 \fIhash\fP algorithm.
+.TP
+.B
+\fB-whirl\fP
+Use whirlpool \fIhash\fP algorithm.
+.TP
+.B
+\fB-whirlpool\fP
+Use whirlpool \fIhash\fP algorithm.
+.TP
+.B
+\fB-jh244\fP
+Use jh-244 \fIhash\fP algorithm.
+.TP
+.B
+\fB-jh256\fP
+Use jh-256 \fIhash\fP algorithm.
+.TP
+.B
+\fB-jh384\fP
+Use jh-384 \fIhash\fP algorithm.
+.TP
+.B
+\fB-jh512\fP
+Use jh-512 \fIhash\fP algorithm.
+.TP
+.B
+\fB-hmac\fP
+HMAC using specified \fIhash\fP algorithm.
+.TP
+.B
+\fB-8\fP
+Encode with octal instead \fIof\fP hex.
+.TP
+.B
+\fB-10\fP
+Encode with decimal instead \fIof\fP hex.
+.TP
+.B
+\fB-H\fP, \fB-HEX\fP
+Encode with UPPERCASE hexadecimal.
+.TP
+.B
+\fB-64\fP, \fB-base64\fP
+Encode with base64 instead \fIof\fP hex.
+.TP
+.B
+\fB-t\fP, \fB-trad\fP
+Output \fIhashes\fP in traditional md5sum, shaXsum format.
+.TP
+.B
+\fB-r\fP
+Recurse into directories when hashing files.
+.TP
+.B
+\fB-f\fP <listfile>
+Hash files listed in <listfile>.
+.TP
+.B
+\fB-i\fP <pattern>
+Only \fIhash\fP items matching <pattern>.
+.TP
+.B
+\fB-x\fP <pattern>
+Exclude items matching <pattern>.
+.TP
+.B
+\fB-n\fP <length>
+Truncate \fIhashes\fP \fIto\fP <length> bytes.
+.TP
+.B
+\fB-c\fP
+CHECK \fIhashes\fP against list from \fIfile\fP (or stdin).
+.TP
+.B
+\fB-cf\fP
+CHECK \fIhashes\fP but only show failures.
+.TP
+.B
+\fB-m\fP
+MATCH files from a list read from stdin.
+.TP
+.B
+\fB-lm\fP
+Read \fIhashes\fP from stdin, upload them \fIto\fP a memcached server (requires the \fB-memcached\fP option).
+.TP
+.B
+\fB-X\fP, \fB-exec\fP
+In CHECK or MATCH mode only examine executable files.
+.TP
+.B
+\fB-dups\fP
+Search for duplicate files.
+.TP
+.B
+\fB-memcached\fP <server>, \fB-mcd\fP <server>
+Specify memcached server. This option overrides reading list from stdin if used with \fB-m\fP, \fB-c\fP or \fB-cf\fP.
+.TP
+.B
+\fB-h\fP <script>
+Script \fIto\fP run when a \fIfile\fP fails CHECK mode, or is found in MATCH mode.
+.TP
+.B
+\fB-hook\fP <script>
+Script \fIto\fP run when a \fIfile\fP fails CHECK mode, or is found in FIND mode
+.TP
+.B
+\fB-color\fP
+Use ANSI color codes on output when checking \fIhashes\fP.
+.TP
+.B
+\fB-S\fP, \fB-strict\fP
+Strict mode: when checking, check \fIfile\fP mtime, owner, group, and inode as well as it's \fIhash\fP.
+.TP
+.B
+\fB-d\fP
+Dereference (follow) symlinks.
+.TP
+.B
+\fB-fs\fP
+Stay one filesystem.
+.TP
+.B
+\fB-dirmode\fP
+DirMode: read all files in directory and create one \fIhash\fP for them.
+.TP
+.B
+\fB-devmode\fP
+DevMode: read from a \fIfile\fP EVEN OF IT'S A DEVNODE.
+.TP
+.B
+\fB-lines\fP
+Read lines from stdin and \fIhash\fP each line independantly.
+.TP
+.B
+\fB-rl\fP, \fB-rawlines\fP
+Read lines from stdin and \fIhash\fP each line independantly, INCLUDING any trailing whitespace. This is compatible with 'echo text | md5sum'.
+.TP
+.B
+\fB-cgi\fP
+Run in HTTP CGI mode.
+.TP
+.B
+\fB-net\fP
+Treat '\fIfile\fP' arguments as either ssh or http URLs, and pull files over the network and then \fIhash\fP them (allows hashing \fIof\fP files on remote machines).
+URLs are in the format ssh://[username]:[password]@[host]:[port] or http://[username]:[password]@[host]:[port].
+.TP
+.B
+\fB-idfile\fP <path>
+Path \fIto\fP a ssh private key \fIfile\fP \fIto\fP use \fIto\fP authenticate INSTEAD OF A PASSWORD when pulling files via ssh.
+.TP
+.B
+\fB-xattr\fP
+Use eXtended \fIfile\fP ATTRibutes. In \fIhash\fP mode, store \fIhashes\fP in the \fIfile\fP attributes. In check mode compare against \fIhashes\fP stored in \fIfile\fP attributes.
+.TP
+.B
+\fB-txattr\fP
+Use TRUSTED eXtended \fIfile\fP ATTRibutes. In \fIhash\fP mode, store \fIhashes\fP in trusted \fIfile\fP attributes. The trusted attributes can only be read and written by root.
+.TP
+.B
+\fB-cache\fP
+Use \fIhashes\fP stored in user xattr if they're younger than the mtime \fIof\fP the \fIfile\fP. This speeds up outputting \fIhashes\fP.
+.TP
+.B
+\fB-u\fP <types>
+Update. In checking mode, update \fIhashes\fP for the files as you go. The <types> is a comma-separated list \fIof\fP things \fIto\fP update, which can be xattr memcached
+or a \fIfile\fP name. This will update these targets with the \fIhash\fP that was found at the time \fIof\fP checking.
+.TP
+.B
+\fB-hide\fP-\fIinput\fP
+When reading data from stdin in linemode, set the terminal \fIto\fP not echo characters, thus hiding typed \fIinput\fP.
+.TP
+.B
+\fB-star\fP-\fIinput\fP
+When reading data from stdin in linemode replace characters with stars.
+.SH NOTES
+Hashrat can also detect if it's being run under any \fIof\fP the following names (e.g., via symlinks):
+.TP
+.B
+md5sum
+Run with '\fB-trad\fP \fB-md5\fP'.
+.TP
+.B
+shasum
+Run with '\fB-trad\fP \fB-sha1\fP'.
+.TP
+.B
+sha1sum
+Run with '\fB-trad\fP \fB-sha1\fP'.
+.TP
+.B
+sha256sum
+Run with '\fB-trad\fP \fB-sha256\fP'.
+.TP
+.B
+sha512sum
+Run with '\fB-trad\fP \fB-sha512\fP'.
+.TP
+.B
+jh244sum
+Run with '\fB-trad\fP \fB-jh244\fP'.
+.TP
+.B
+jh256sum
+Run with '\fB-trad\fP \fB-jh256\fP'.
+.TP
+.B
+jh384sum
+Run with '\fB-trad\fP \fB-jh384\fP'.
+.TP
+.B
+jh512sum
+Run with '\fB-trad\fP \fB-jh512\fP'.
+.TP
+.B
+whirlpoolsum
+Run with '\fB-trad\fP \fB-whirl\fP'.
+.TP
+.B
+hashrat.cgi
+Run in web-enabled 'cgi mode'.
+.SH EXAMPLES
+.TP
+.B
+\fBhashrat\fP
+Generate a md5 \fIhash\fP \fIof\fP data read from stdin  (default \fIhash\fP type is md5).
+.TP
+.B
+\fBhashrat\fP \fB-jh256\fP
+Generate a jh-256 \fIhash\fP \fIof\fP data read from stdin.
+.TP
+.B
+\fBhashrat\fP \fB-sha256\fP \fB-64\fP
+Generate a sha-256 \fIhash\fP \fIof\fP data read from stdin, output with base64 encoding.
+.TP
+.B
+\fBhashrat\fP \fB-sha256\fP \fB-64\fP \fB-lines\fP
+Read lines from stdin, and generate a sha-256 with base64 encoding FOR EVERY LINE. This strips any whitespace
+from the end \fIof\fP the line (including \\r and/or \\n line terminators).
+.TP
+.B
+\fBhashrat\fP \fB-md5\fP \fB-trad\fP \fB-rawlines\fP
+Read lines from stdin, and generate a md5 \fIhash\fP in traditional format for every line INCLUDING TRAILING WHITESPACE.
+This is compatible with 'echo text | md5sum', where text is one line, as echo adds a newline \fIto\fP the end \fIof\fP the
+text it outputs.
+.TP
+.B
+\fBhashrat\fP *
+Generate a list \fIof\fP \fIhashes\fP for files in the current directory (default \fIhash\fP type is md5).
+.TP
+.B
+\fBhashrat\fP \fB-r\fP \fB-sha1\fP * > hashes.sha1
+Generate a list \fIof\fP \fIhashes\fP for files in the current directory, AND ALL SUBDIRECTORIES, using sha1 hashing.
+.TP
+.B
+cat hashes.sha1 > \fBhashrat\fP \fB-c\fP
+Check \fIhashes\fP listed in hashes.sha1.
+.TP
+.B
+cat hashes.sha1 > \fBhashrat\fP \fB-c\fP \fB-strict\fP
+Check \fIhashes\fP listed in hashes.sha1. If \fIhashes\fP are NOT in traditional format than the \fB-strict\fP flag will cause
+\fBhashrat\fP \fIto\fP check the files uid, gid, size, mtime and inode and print a failure message if any \fIof\fP those don't match.
+.TP
+.B
+cat hashes.sha1 > \fBhashrat\fP \fB-cf\fP
+Check \fIhashes\fP listed in hashes.sha1 but only output failures.
+.TP
+.B
+cat APT1.md5 | \fBhashrat\fP \fB-m\fP \fB-r\fP /
+Read a list \fIof\fP \fIhashes\fP from stdin and search recursively for files matching them.
+.TP
+.B
+cat APT1.md5 | \fBhashrat\fP \fB-lm\fP \fB-memcached\fP 127.0.0.1
+Read a list \fIof\fP \fIhashes\fP from stdin, and register them in a memcached server.
+.TP
+.B
+\fBhashrat\fP \fB-m\fP \fB-memcached\fP 127.0.0.1 \fB-r\fP /
+Search recursively for files whose \fIhashes\fP are stored in a memcached server.
+.TP
+.B
+\fBhashrat\fP \fB-devmode\fP \fB-whirlpool\fP \fB-64\fP /dev/sda1
+Generate a whirlpool \fIhash\fP \fIof\fP the entire device /dev/sda1. Output result in base 64.
+.TP
+.B
+\fBhashrat\fP \fB-sha1\fP \fB-net\fP ssh:user:password at myhost/bin/*
+Generate sha1 \fIhashes\fP \fIof\fP files in /bin/* on the remote machine 'myhost'.
+.TP
+.B
+\fBhashrat\fP \fB-whirlpool\fP \fB-net\fP http://myhost.com/webpage.html
+Generate whirlpool \fIhash\fP for the listed URL. Note, many webpages have dynamic content that changes
+every time, so this will only return the same \fIhash\fP over and over if the page is static and doesn't change.
+.TP
+.B
+\fBhashrat\fP \fB-dups\fP \fB-r\fP /home \fB-u\fP xattr
+Search for duplicate files under /home. Update \fIhashes\fP stored in filesystem attributes as you go.
+.SH USES FOR HASHRAT
+.IP 1) 4
+Strong Passwords
+.PP
+Hashrat can be used \fIto\fP generate strong passwords for websites. So, you don't have \fIto\fP remember the strong password, if it be always regenerate with \fBhashrat\fP.
+You need \fIto\fP remember a handful \fIof\fP moderately decent passwords, i.e., things that I can't find by grepping in the '10,000 most popular passwords' list[1],
+and an additional personal pin. Now, you need \fIto\fP combine the website name, one \fIof\fP passwords, and the personal pin, into a string and feed them into \fBhashrat\fP:
+.PP
+.nf
+.fam C
+    $ echo "facebook.com password 1234" | hashrat \-sha1 \-64
+
+.fam T
+.fi
+Obviously, a good password isn't 'password' and a good pin isn't '1234', but you get the idea. This gives a 28-character string that should take "8.02 trillion
+centuries" \fIto\fP crack with a "massive cracking array", according \fIto\fP Steve Gibson's Password haystacks utility[2]. This is what I then use as my password. Unfortunately
+some websites won't take a 28-character password, and for these you can truncate \fIto\fP the appropriate length (using the \fB-n\fP flag), but the results are still stronger
+than anything you could remember, and nothing needs storing on disk (as with password managers).
+.PP
+There are some dangers \fIto\fP using the 'echo' method shown above if you are on a shared machine, or if someone gets hold \fIof\fP your computer/harddrive. On a shared machine
+someone could type 'ps ax' \fIto\fP see all commands running, and if they time it right, they might see your command-line with your password in it. Another danger lies in
+using a shell (like bash) that will record your typed commands so you can recall them later. Bash stores this information on disk in the \fIfile\fP .bash_history, so if
+you use the 'echo' method shown above your password will be saved on disk. To combat this \fBhashrat\fP has line mode:
+.PP
+.nf
+.fam C
+    $ hashrat \-sha1 \-64 \-lines
+
+.fam T
+.fi
+This reads lines from stdin, so type into \fBhashrat\fP and then press ENTER, and you'll be given the \fIhash\fP \fIof\fP the line you typed. By this method your password is neither
+visible in 'ps ax', nor is ever stored on disk.
+.PP
+A \fB-lines\fP will produce a different \fIhash\fP \fIto\fP the 'echo' method listed above, because it strips any trailing whiespace off the lines read. If you want strict compatiblity
+with 'echo' (by default echo adds a newline \fIto\fP the end \fIof\fP the text \fIto\fP output) then use rawlines mode:
+.PP
+.nf
+.fam C
+    $ hashrat \-sha1 \-64 \-rawlines
+
+.fam T
+.fi
+Finally, you can prevent shoulder-surfers seeing you type your password by using the \fB-hide\fP-\fIinput\fP or \fB-star\fP-\fIinput\fP \fIoptions\fP \fIto\fP hide what you type.
+.PP
+.nf
+.fam C
+    [1] https://github.com/discourse/discourse/blob/master/lib/common_passwords/10k-common-passwords.txt
+
+    [2] https://www.grc.com/haystack.htm
+
+.fam T
+.fi
+.IP 2) 4
+Watching for \fIfile\fP changes
+.PP
+Like md5sum/shasum etc, \fBhashrat\fP can be used \fIto\fP detect changes in files that might indicate malicious activity. For instance, in order \fIto\fP get early warning \fIof\fP malware
+like cryptolocker (that encrypts files on a users disk, or on network shares, and then demands a ransom for \fIfile\fP recovery) you can scatter about the disk a number
+\fIof\fP Canary files that should not change. You need record their \fIhashes\fP and regularly check them. If they change, you will know something is going on.
+.PP
+Hashes generated by \fBhashrat\fP can be output \fIto\fP a \fIfile\fP, or stored in extended \fIfile\fP attributes, or in a memcached server.
+.PP
+.nf
+.fam C
+    $ hashrat \-sha256 \-r . > /tmp/files.sha256
+
+    $ hashrat \-sha256 \-r . \-xattr
+
+    $ hashrat \-sha256 \-r . \-memcached
+
+.fam T
+.fi
+Similarly these can then be used \fIto\fP check files later:
+.PP
+.nf
+.fam C
+    $ cat /tmp/files.sha256 | hashrat \-sha256
+
+    $ hashrat \-c \-sha256 \-r . \-xattr
+
+    $ hashrat \-c \-sha256 \-r . \-memcached
+
+.fam T
+.fi
+There is a slight difference between xattr/memcached checks and checks where a list is read from stdin. Currently when reading from stdin \fBhashrat\fP will ONLY check the
+files in the list. However, in \fB-xattr\fP and \fB-memcached\fP mode, it will check all files, outputting and error for those where no stored \fIhash\fP can be found. This is likely
+\fIto\fP change in the a future release, with the stdin method being brought into line with the others.
+.IP 3) 4
+Finding files that match \fIhashes\fP
+.PP
+Using the \fB-m\fP flag \fBhashrat\fP can be told \fIto\fP read a range \fIof\fP \fIhashes\fP from stdin, and then search for files matching those \fIhashes\fP. For Example:
+.PP
+.nf
+.fam C
+    $ cat APT1-AppendixE-MD5s.txt | hashrat \-r \-m /usr
+
+.fam T
+.fi
+The last command will search recursively under /usr for files with \fIhashes\fP matching those in APT1-AppendixE-MD5s.txt. The \fIinput\fP on stdin must begin with a \fIhash\fP, anything
+written after the \fIhash\fP will be treated as a comment \fIto\fP be displayed if a \fIfile\fP matching the \fIhash\fP is found.
+.PP
+Hashtypes other than md5 can be used thusly:
+.PP
+.nf
+.fam C
+    $ cat sha1-list.lst | hashrat \-r \-sha1 \-m /usr
+
+.fam T
+.fi
+Hashes can also be loaded into a memcached server, so that the same \fIfile\fP list can be checked on a number \fIof\fP machines, without needing \fIto\fP store the hashlist on those
+machines. First you need load the \fIhashes\fP:
+.PP
+.nf
+.fam C
+    $ cat APT1-AppendixE-MD5s.txt | hashrat \-lm \-memcached 192.168.1.5
+
+.fam T
+.fi
+The last line loads the \fIhashes\fP \fIto\fP a memcached server at 192.168.1.5. You can then search against the memcached server by:
+.PP
+.nf
+.fam C
+    $ hashrat \-r \-m \-memcached 192.168.1.5 /usr
+
+.fam T
+.fi
+.IP 4) 4
+Find duplicate files
+.PP
+Using the \fB-dups\fP flag (usually in combination with the \fB-r\fP recursive flag) \fBhashrat\fP can be set \fIto\fP search for duplicate files and output any found \fIto\fP stdout.
+.IP 5) 4
+CGI Mode
+.PP
+If \fBhashrat\fP is run with the \fB-cgi\fP flag, or if it's run with a name \fIof\fP hashrat.cgi (either by renaming the \fBhashrat\fP executable, or via a symbolic link) it will output a
+webpage that allows users \fIto\fP look up \fIhashes\fP over the web. This allows \fIto\fP look-up your strong passwords even if youI don't have access \fIto\fP a local version \fIof\fP \fBhashrat\fP.
+.SH EXTENDED FILESYSTEM ATTRIBUTES
+
+Hashrat can use extended filesystem attributes where these are supported. This allows a \fIhash\fP \fIto\fP be stored in the filesystem metadata \fIof\fP the target \fIfile\fP. This can
+then be used for checking \fIhashes\fP, or for caching \fIhashes\fP \fIto\fP produce faster output during hashing runs. There are two types \fIof\fP filesystem attribute, trusted attributes,
+which can only be set and read by root, and user attributes, which can be set and read by any user that has the appropriate permissions for the \fIfile\fP.
+.PP
+Hashes can be stored against files by using the \fB-xattr\fP option \fIto\fP set user attributes:
+.PP
+.nf
+.fam C
+    $ hashrat \-sha256 \-r . \-xattr
+
+.fam T
+.fi
+And using the \fB-txattr\fP flag \fIto\fP set trusted attributes (you must be root \fIto\fP set trusted attributes):
+.PP
+.nf
+.fam C
+    # hashrat \-sha256 \-r . \-txattr
+
+.fam T
+.fi
+When checking either flag can be used, but \fBhashrat\fP will always use trusted attributes when running as root, if those are avaialable, otherwise it will fall
+back \fIto\fP user attributes.
+.PP
+.nf
+.fam C
+    $ hashrat \-c \-sha256 \-r . \-xattr
+
+.fam T
+.fi
+The \fB-cache\fP option allows using stored \fIhashes\fP rather than regenerating \fIhashes\fP. It only considers \fIhashes\fP stored in user attributes at current.
+.PP
+.nf
+.fam C
+    $ hashrat \-r . \-cache
+
+.fam T
+.fi
+This makes getting a report \fIof\fP \fIhashes\fP considerably faster, but it runs the risk that the \fIhashes\fP may not be accurate. Hashrat will only output a \fIhash\fP stored in \fIfile\fP
+attributes if the storage time \fIof\fP the \fIhash\fP is younger than the modify time (mtime) \fIof\fP the \fIfile\fP, however, this means an attacker could change the modify time \fIof\fP the \fIfile\fP
+\fIto\fP hide changes they've made. Thus this feature should not be used for security checking purposes (but should be safe for uses like finding files that have changed and
+need \fIto\fP be backed up, for instance).
+.SH AUTHOR
+The \fBhashrat\fP was written by Colum Paget <colums.projects at gmail.com>.
+.PP
+This manual page was written by Joao Eriberto Mota Filho <eriberto at debian.org>
+for the Debian project (but may be used by others).
diff --git a/debian/manpage/hashrat.header b/debian/manpage/hashrat.header
new file mode 100644
index 0000000..40ea65d
--- /dev/null
+++ b/debian/manpage/hashrat.header
@@ -0,0 +1 @@
+.TH hashrat "1" "Jan 2015" "HASHRAT 1.5" "hashing tool supporting several hashes and recursivity"
diff --git a/debian/manpage/hashrat.txt b/debian/manpage/hashrat.txt
new file mode 100644
index 0000000..b3943c4
--- /dev/null
+++ b/debian/manpage/hashrat.txt
@@ -0,0 +1,234 @@
+NAME
+  hashrat - hashing tool supporting several hashes and recursivity
+
+SYNOPSIS
+  hashrat [options] [paths to hash]
+
+  hashrat -c [options] [input file of hashes]
+
+DESCRIPTION
+  Hashrat is a hash-generation utility that supports the md5, sha1, sha256, sha512, whirlpool, jh-244, jh256, jh-384 and jh-512 hash functions, and
+  also the HMAC versions of those functions. It can output in traditional format (same as md5sum and shasum and the like) or it's own format.
+
+  Hashes can be output in octal, decimal, hexadecimal, uppercase hexadecimal or base64.
+
+  Hashrat also supports directory recursion, hashing entire devices, and generating a hash for an entire directory. It has a CGI mode that can
+  be used as a web-page to lookup hashes.
+
+OPTIONS
+  -?, -help, --help    Print this help.
+  -version, --version  Print program version.
+  -md5                 Use md5 hash algorithm. This is the default hash.
+  -sha1                Use sha1 hash algorithm.
+  -sha256              Use sha256 hash algorithm.
+  -sha512              Use sha512 hash algorithm.
+  -whirl               Use whirlpool hash algorithm.
+  -whirlpool           Use whirlpool hash algorithm.
+  -jh244               Use jh-244 hash algorithm.
+  -jh256               Use jh-256 hash algorithm.
+  -jh384               Use jh-384 hash algorithm.
+  -jh512               Use jh-512 hash algorithm.
+  -hmac                HMAC using specified hash algorithm.
+  -8                   Encode with octal instead of hex.
+  -10                  Encode with decimal instead of hex.
+  -H, -HEX             Encode with UPPERCASE hexadecimal.
+  -64, -base64         Encode with base64 instead of hex.
+  -t, -trad            Output hashes in traditional md5sum, shaXsum format.
+  -r                   Recurse into directories when hashing files.
+  -f <listfile>        Hash files listed in <listfile>.
+  -i <pattern>         Only hash items matching <pattern>.
+  -x <pattern>         Exclude items matching <pattern>.
+  -n <length>          Truncate hashes to <length> bytes.
+  -c                   CHECK hashes against list from file (or stdin).
+  -cf                  CHECK hashes but only show failures.
+  -m                   MATCH files from a list read from stdin.
+  -lm                  Read hashes from stdin, upload them to a memcached server (requires the -memcached option).
+  -X, -exec            In CHECK or MATCH mode only examine executable files.
+  -dups                Search for duplicate files.
+  -memcached <server>, -mcd <server>  Specify memcached server. This option overrides reading list from stdin if used with -m, -c or -cf.
+  -h <script>          Script to run when a file fails CHECK mode, or is found in MATCH mode.
+  -hook <script>       Script to run when a file fails CHECK mode, or is found in FIND mode
+  -color               Use ANSI color codes on output when checking hashes.
+  -S, -strict          Strict mode: when checking, check file mtime, owner, group, and inode as well as it's hash.
+  -d                   Dereference (follow) symlinks.
+  -fs                  Stay one filesystem.
+  -dirmode             DirMode: read all files in directory and create one hash for them.
+  -devmode             DevMode: read from a file EVEN OF IT'S A DEVNODE.
+  -lines               Read lines from stdin and hash each line independantly.
+  -rl, -rawlines       Read lines from stdin and hash each line independantly, INCLUDING any trailing whitespace. This is compatible with 'echo text | md5sum'.
+  -cgi                 Run in HTTP CGI mode.
+  -net                 Treat 'file' arguments as either ssh or http URLs, and pull files over the network and then hash them (allows hashing of files on remote machines).
+                       URLs are in the format ssh://[username]:[password]@[host]:[port] or http://[username]:[password]@[host]:[port].
+  -idfile <path>       Path to a ssh private key file to use to authenticate INSTEAD OF A PASSWORD when pulling files via ssh.
+  -xattr               Use eXtended file ATTRibutes. In hash mode, store hashes in the file attributes. In check mode compare against hashes stored in file attributes.
+  -txattr              Use TRUSTED eXtended file ATTRibutes. In hash mode, store hashes in trusted file attributes. The trusted attributes can only be read and written by root.
+  -cache               Use hashes stored in user xattr if they're younger than the mtime of the file. This speeds up outputting hashes.
+  -u <types>           Update. In checking mode, update hashes for the files as you go. The <types> is a comma-separated list of things to update, which can be xattr memcached
+                       or a file name. This will update these targets with the hash that was found at the time of checking.
+  -hide-input          When reading data from stdin in linemode, set the terminal to not echo characters, thus hiding typed input.
+  -star-input          When reading data from stdin in linemode replace characters with stars.
+
+NOTES
+  Hashrat can also detect if it's being run under any of the following names (e.g., via symlinks):
+
+  md5sum        Run with '-trad -md5'.
+  shasum        Run with '-trad -sha1'.
+  sha1sum       Run with '-trad -sha1'.
+  sha256sum     Run with '-trad -sha256'.
+  sha512sum     Run with '-trad -sha512'.
+  jh244sum      Run with '-trad -jh244'.
+  jh256sum      Run with '-trad -jh256'.
+  jh384sum      Run with '-trad -jh384'.
+  jh512sum      Run with '-trad -jh512'.
+  whirlpoolsum  Run with '-trad -whirl'.
+  hashrat.cgi   Run in web-enabled 'cgi mode'.
+
+EXAMPLES
+  hashrat                               Generate a md5 hash of data read from stdin  (default hash type is md5).
+  hashrat -jh256                        Generate a jh-256 hash of data read from stdin.
+  hashrat -sha256 -64                   Generate a sha-256 hash of data read from stdin, output with base64 encoding.
+  hashrat -sha256 -64 -lines            Read lines from stdin, and generate a sha-256 with base64 encoding FOR EVERY LINE. This strips any whitespace
+                                        from the end of the line (including \\r and/or \\n line terminators).
+  hashrat -md5 -trad -rawlines          Read lines from stdin, and generate a md5 hash in traditional format for every line INCLUDING TRAILING WHITESPACE.
+                                        This is compatible with 'echo text | md5sum', where text is one line, as echo adds a newline to the end of the
+                                        text it outputs.
+  hashrat *                             Generate a list of hashes for files in the current directory (default hash type is md5).
+  hashrat -r -sha1 * > hashes.sha1      Generate a list of hashes for files in the current directory, AND ALL SUBDIRECTORIES, using sha1 hashing.
+  cat hashes.sha1 > hashrat -c          Check hashes listed in hashes.sha1.
+  cat hashes.sha1 > hashrat -c -strict  Check hashes listed in hashes.sha1. If hashes are NOT in traditional format than the -strict flag will cause
+                                        hashrat to check the files uid, gid, size, mtime and inode and print a failure message if any of those don't match.
+  cat hashes.sha1 > hashrat -cf         Check hashes listed in hashes.sha1 but only output failures.
+  cat APT1.md5 | hashrat -m -r /        Read a list of hashes from stdin and search recursively for files matching them.
+  cat APT1.md5 | hashrat -lm -memcached 127.0.0.1  Read a list of hashes from stdin, and register them in a memcached server.
+  hashrat -m -memcached 127.0.0.1 -r /  Search recursively for files whose hashes are stored in a memcached server.
+  hashrat -devmode -whirlpool -64 /dev/sda1  Generate a whirlpool hash of the entire device /dev/sda1. Output result in base 64.
+  hashrat -sha1 -net ssh:user:password at myhost/bin/*  Generate sha1 hashes of files in /bin/* on the remote machine 'myhost'.
+  hashrat -whirlpool -net http://myhost.com/webpage.html  Generate whirlpool hash for the listed URL. Note, many webpages have dynamic content that changes
+                                                          every time, so this will only return the same hash over and over if the page is static and doesn't change.
+  hashrat -dups -r /home -u xattr  Search for duplicate files under /home. Update hashes stored in filesystem attributes as you go.
+
+USES FOR HASHRAT
+  1) Strong Passwords
+
+  Hashrat can be used to generate strong passwords for websites. So, you don't have to remember the strong password, if it be always regenerate with hashrat.
+  You need to remember a handful of moderately decent passwords, i.e., things that I can't find by grepping in the '10,000 most popular passwords' list[1],
+  and an additional personal pin. Now, you need to combine the website name, one of passwords, and the personal pin, into a string and feed them into hashrat:
+
+    $ echo "facebook.com password 1234" | hashrat \-sha1 \-64
+
+  Obviously, a good password isn't 'password' and a good pin isn't '1234', but you get the idea. This gives a 28-character string that should take "8.02 trillion
+  centuries" to crack with a "massive cracking array", according to Steve Gibson's Password haystacks utility[2]. This is what I then use as my password. Unfortunately
+  some websites won't take a 28-character password, and for these you can truncate to the appropriate length (using the -n flag), but the results are still stronger
+  than anything you could remember, and nothing needs storing on disk (as with password managers).
+
+  There are some dangers to using the 'echo' method shown above if you are on a shared machine, or if someone gets hold of your computer/harddrive. On a shared machine
+  someone could type 'ps ax' to see all commands running, and if they time it right, they might see your command-line with your password in it. Another danger lies in
+  using a shell (like bash) that will record your typed commands so you can recall them later. Bash stores this information on disk in the file .bash_history, so if
+  you use the 'echo' method shown above your password will be saved on disk. To combat this hashrat has line mode:
+
+    $ hashrat \-sha1 \-64 \-lines
+
+  This reads lines from stdin, so type into hashrat and then press ENTER, and you'll be given the hash of the line you typed. By this method your password is neither
+  visible in 'ps ax', nor is ever stored on disk.
+
+  A -lines will produce a different hash to the 'echo' method listed above, because it strips any trailing whiespace off the lines read. If you want strict compatiblity
+  with 'echo' (by default echo adds a newline to the end of the text to output) then use rawlines mode:
+
+    $ hashrat \-sha1 \-64 \-rawlines
+
+  Finally, you can prevent shoulder-surfers seeing you type your password by using the -hide-input or -star-input options to hide what you type.
+
+    [1] https://github.com/discourse/discourse/blob/master/lib/common_passwords/10k-common-passwords.txt
+
+    [2] https://www.grc.com/haystack.htm
+
+  2) Watching for file changes
+
+  Like md5sum/shasum etc, hashrat can be used to detect changes in files that might indicate malicious activity. For instance, in order to get early warning of malware
+  like cryptolocker (that encrypts files on a users disk, or on network shares, and then demands a ransom for file recovery) you can scatter about the disk a number
+  of Canary files that should not change. You need record their hashes and regularly check them. If they change, you will know something is going on.
+
+  Hashes generated by hashrat can be output to a file, or stored in extended file attributes, or in a memcached server.
+
+    $ hashrat \-sha256 \-r . > /tmp/files.sha256
+
+    $ hashrat \-sha256 \-r . \-xattr
+
+    $ hashrat \-sha256 \-r . \-memcached
+
+  Similarly these can then be used to check files later:
+
+    $ cat /tmp/files.sha256 | hashrat \-sha256
+
+    $ hashrat \-c \-sha256 \-r . \-xattr
+
+    $ hashrat \-c \-sha256 \-r . \-memcached
+
+  There is a slight difference between xattr/memcached checks and checks where a list is read from stdin. Currently when reading from stdin hashrat will ONLY check the
+  files in the list. However, in -xattr and -memcached mode, it will check all files, outputting and error for those where no stored hash can be found. This is likely
+  to change in the a future release, with the stdin method being brought into line with the others.
+
+  3) Finding files that match hashes
+
+  Using the -m flag hashrat can be told to read a range of hashes from stdin, and then search for files matching those hashes. For Example:
+
+    $ cat APT1-AppendixE-MD5s.txt | hashrat \-r \-m /usr
+
+  The last command will search recursively under /usr for files with hashes matching those in APT1-AppendixE-MD5s.txt. The input on stdin must begin with a hash, anything
+  written after the hash will be treated as a comment to be displayed if a file matching the hash is found.
+
+  Hashtypes other than md5 can be used thusly:
+
+    $ cat sha1-list.lst | hashrat \-r \-sha1 \-m /usr
+
+  Hashes can also be loaded into a memcached server, so that the same file list can be checked on a number of machines, without needing to store the hashlist on those
+  machines. First you need load the hashes:
+
+    $ cat APT1-AppendixE-MD5s.txt | hashrat \-lm \-memcached 192.168.1.5
+
+  The last line loads the hashes to a memcached server at 192.168.1.5. You can then search against the memcached server by:
+
+    $ hashrat \-r \-m \-memcached 192.168.1.5 /usr
+
+  4) Find duplicate files
+
+  Using the -dups flag (usually in combination with the -r recursive flag) hashrat can be set to search for duplicate files and output any found to stdout.
+
+  5) CGI Mode
+
+  If hashrat is run with the -cgi flag, or if it's run with a name of hashrat.cgi (either by renaming the hashrat executable, or via a symbolic link) it will output a
+  webpage that allows users to look up hashes over the web. This allows to look-up your strong passwords even if youI don't have access to a local version of hashrat.
+
+EXTENDED FILESYSTEM ATTRIBUTES
+
+  Hashrat can use extended filesystem attributes where these are supported. This allows a hash to be stored in the filesystem metadata of the target file. This can
+  then be used for checking hashes, or for caching hashes to produce faster output during hashing runs. There are two types of filesystem attribute, trusted attributes,
+  which can only be set and read by root, and user attributes, which can be set and read by any user that has the appropriate permissions for the file.
+
+  Hashes can be stored against files by using the -xattr option to set user attributes:
+
+    $ hashrat \-sha256 \-r . \-xattr
+
+  And using the -txattr flag to set trusted attributes (you must be root to set trusted attributes):
+
+    # hashrat \-sha256 \-r . \-txattr
+
+  When checking either flag can be used, but hashrat will always use trusted attributes when running as root, if those are avaialable, otherwise it will fall
+  back to user attributes.
+
+    $ hashrat \-c \-sha256 \-r . \-xattr
+
+  The -cache option allows using stored hashes rather than regenerating hashes. It only considers hashes stored in user attributes at current.
+
+    $ hashrat \-r . \-cache
+
+  This makes getting a report of hashes considerably faster, but it runs the risk that the hashes may not be accurate. Hashrat will only output a hash stored in file
+  attributes if the storage time of the hash is younger than the modify time (mtime) of the file, however, this means an attacker could change the modify time of the file
+  to hide changes they've made. Thus this feature should not be used for security checking purposes (but should be safe for uses like finding files that have changed and
+  need to be backed up, for instance).
+
+AUTHOR
+  The hashrat was written by Colum Paget <colums.projects at gmail.com>.
+
+  This manual page was written by Joao Eriberto Mota Filho <eriberto at debian.org>
+  for the Debian project (but may be used by others).
diff --git a/debian/manpages b/debian/manpages
new file mode 100644
index 0000000..618db11
--- /dev/null
+++ b/debian/manpages
@@ -0,0 +1 @@
+debian/manpage/hashrat.1
diff --git a/debian/patches/fix-help b/debian/patches/fix-help
new file mode 100644
index 0000000..895e8a9
--- /dev/null
+++ b/debian/patches/fix-help
@@ -0,0 +1,106 @@
+Description: fix wrong information or typos in the help and README file
+Author: Joao Eriberto Mota Filho <eriberto at debian.org>
+Last-Update: 2015-01-28
+Index: hashrat-1.5/README
+===================================================================
+--- hashrat-1.5.orig/README
++++ hashrat-1.5/README
+@@ -56,8 +56,8 @@ Options:
+   -10             Encode with decimal instead of hex
+   -H              Encode with UPPERCASE hexadecimal
+   -HEX            Encode with UPPERCASE hexadecimal
+-  -64             Encode with base65 instead of hex
+-  -base64         Encode with base65 instead of hex
++  -64             Encode with base64 instead of hex
++  -base64         Encode with base64 instead of hex
+   -t              Output hashes in traditional md5sum, shaXsum format
+   -trad           Output hashes in traditional md5sum, shaXsum format
+   -r              Recurse into directories when hashing files
+@@ -81,7 +81,7 @@ Options:
+   -strict         Strict mode: when checking, check file mtime, owner, group, and inode as well as it's hash
+   -S              Strict mode: when checking, check file mtime, owner, group, and inode as well as it's hash
+   -d              dereference (follow) symlinks
+-  -fs             Stay one one file system
++  -fs             Stay one filesystem
+   -dirmode        DirMode: Read all files in directory and create one hash for them!
+   -devmode        DevMode: read from a file EVEN OF IT'S A DEVNODE
+   -lines          Read lines from stdin and hash each line independantly.
+@@ -90,7 +90,7 @@ Options:
+   -cgi            Run in HTTP CGI mode
+   -net            Treat 'file' arguments as either ssh or http URLs, and pull files over the network and then hash them (Allows hashing of files on remote machines).
+                   URLs are in the format ssh://[username]:[password]@[host]:[port] or http://[username]:[password]@[host]:[port]..
+-  -idfile <path>  Path to an ssh private key file to use to authenticate INSTEAD OF A PASSWORD when pulling files via ssh.
++  -idfile <path>  Path to a ssh private key file to use to authenticate INSTEAD OF A PASSWORD when pulling files via ssh.
+   -xattr          Use eXtended file ATTRibutes. In hash mode, store hashes in the file attributes, in check mode compare against hashes stored in file attributes.
+   -cache          Use hashes stored in 'user' file attributes. If the stored hash is younger than the mtime of the file, it will be used instead of recalculating the hash. This speeds up hashing, but can result in errors if file mtimes are inaccurate or have been modified for malicious purposes.
+   -u <types>      Update. In checking mode, update hashes for the files as you go. <types> is a comma-separated list of things to update, which can be 'xattr' 'memcached' or a file name. This will update these targets with the hash that was found at the time of checking.
+@@ -119,7 +119,7 @@ USE EXAMPLES:
+ 
+ 	hashrat
+ 
+-		Generate an md5 hash of data read from stdin  (default hash type is md5).
++		Generate a md5 hash of data read from stdin  (default hash type is md5).
+ 
+ 	hashrat -jh256
+ 
+@@ -127,15 +127,15 @@ USE EXAMPLES:
+ 		
+ 	hashrat -sha256 -64
+ 
+-		Generate an sha-256 hash of data read from stdin, output with base64 encoding.
++		Generate a sha-256 hash of data read from stdin, output with base64 encoding.
+ 
+ 	hashrat -sha256 -64 -lines
+ 
+-		Read lines from stdin, and generate an sha-256 with base64 encoding FOR EVERY LINE. This strips any whitespace from the end of the line (including \r and/or \n line terminators). 
++		Read lines from stdin, and generate a sha-256 with base64 encoding FOR EVERY LINE. This strips any whitespace from the end of the line (including \r and/or \n line terminators). 
+ 
+ 	hashrat -md5 -trad -rawlines
+ 
+-		Read lines from stdin, and generate an md5 hash in 'traditional' format for every line INCLUDING TRAILING WHITESPACE. This is compatible with 'echo text | md5sum' where 'text' is one line, as 'echo' adds a newline to the end of the text it outputs.
++		Read lines from stdin, and generate a md5 hash in 'traditional' format for every line INCLUDING TRAILING WHITESPACE. This is compatible with 'echo text | md5sum' where 'text' is one line, as 'echo' adds a newline to the end of the text it outputs.
+ 
+ 	hashrat *
+ 
+@@ -194,7 +194,7 @@ USES FOR HASHRAT
+ 
+ 		echo "facebook.com password 1234" | hashrat -sha1 -64
+ 
+-	Obviously, my password isn't 'password' and my pin isn't '1234', but you get the idea. This gives me a 28-character string that should take "8.02 trillion trillion centuries" to crack with a "massive cracking array" according to Steve Gibson's 'Password haystacks' utility, https://www.grc.com/haystack.htm. This is what I then use as my password. Unfortunately some websites won't take a 28-character password, and for these I have to truncate to the appropriate length (using the -n flag) [...]
++	Obviously, my password isn't 'password' and my pin isn't '1234', but you get the idea. This gives me a 28-character string that should take "8.02 trillion centuries" to crack with a "massive cracking array" according to Steve Gibson's 'Password haystacks' utility, https://www.grc.com/haystack.htm. This is what I then use as my password. Unfortunately some websites won't take a 28-character password, and for these I have to truncate to the appropriate length (using the -n flag), but the [...]
+ 
+ 	There are some dangers to using the 'echo' method shown above if you are on a shared machine, or if someone gets hold of your computer/harddrive. On a shared machine someone could type 'ps ax' to see all commands running, and if they time it right, they might see your command-line with your password in it. Another danger lies in using a shell (like bash) that will record your typed commands so you can recall them later. Bash stores this information on disk in the file .bash_history, so [...]
+ 
+Index: hashrat-1.5/command-line-args.c
+===================================================================
+--- hashrat-1.5.orig/command-line-args.c
++++ hashrat-1.5/command-line-args.c
+@@ -439,8 +439,8 @@ printf("  %-15s %s\n","-8", "Encode with
+ printf("  %-15s %s\n","-10", "Encode with decimal instead of hex");
+ printf("  %-15s %s\n","-H", "Encode with UPPERCASE hexadecimal");
+ printf("  %-15s %s\n","-HEX", "Encode with UPPERCASE hexadecimal");
+-printf("  %-15s %s\n","-64", "Encode with base65 instead of hex");
+-printf("  %-15s %s\n","-base64", "Encode with base65 instead of hex");
++printf("  %-15s %s\n","-64", "Encode with base64 instead of hex");
++printf("  %-15s %s\n","-base64", "Encode with base64 instead of hex");
+ printf("  %-15s %s\n","-t", "Output hashes in traditional md5sum, shaXsum format");
+ printf("  %-15s %s\n","-trad", "Output hashes in traditional md5sum, shaXsum format");
+ printf("  %-15s %s\n","-r", "Recurse into directories when hashing files");
+@@ -463,7 +463,7 @@ printf("  %-15s %s\n","-color", "Use ANS
+ printf("  %-15s %s\n","-strict", "Strict mode: when checking, check file mtime, owner, group, and inode as well as it's hash");
+ printf("  %-15s %s\n","-S", "Strict mode: when checking, check file mtime, owner, group, and inode as well as it's hash");
+ printf("  %-15s %s\n","-d","dereference (follow) symlinks"); 
+-printf("  %-15s %s\n","-fs", "Stay one one file system");
++printf("  %-15s %s\n","-fs", "Stay one filesystem");
+ printf("  %-15s %s\n","-dirmode", "DirMode: Read all files in directory and create one hash for them!");
+ printf("  %-15s %s\n","-devmode", "DevMode: read from a file EVEN OF IT'S A DEVNODE");
+ printf("  %-15s %s\n","-lines", "Read lines from stdin and hash each line independantly.");
+@@ -472,7 +472,7 @@ printf("  %-15s %s\n","-rl", "Read lines
+ printf("  %-15s %s\n","-cgi", "Run in HTTP CGI mode");
+ printf("  %-15s %s\n","-net", "Treat 'file' arguments as either ssh or http URLs, and pull files over the network and then hash them (Allows hashing of files on remote machines).");
+ printf("  %-15s %s\n","", "URLs are in the format ssh://[username]:[password]@[host]:[port] or http://[username]:[password]@[host]:[port]..");
+-printf("  %-15s %s\n","-idfile <path>", "Path to an ssh private key file to use to authenticate INSTEAD OF A PASSWORD when pulling files via ssh.");
++printf("  %-15s %s\n","-idfile <path>", "Path to a ssh private key file to use to authenticate INSTEAD OF A PASSWORD when pulling files via ssh.");
+ printf("  %-15s %s\n","-xattr", "Use eXtended file ATTRibutes. In hash mode, store hashes in the file attributes, in check mode compare against hashes stored in file attributes.");
+ printf("  %-15s %s\n","-txattr", "Use TRUSTED eXtended file ATTRibutes. In hash mode, store hashes in 'trusted' file attributes. 'trusted' attributes can only be read and written by root.");
+ printf("  %-15s %s\n","-cache", "Use hashes stored in 'user' xattr if they're younger than the mtime of the file. This speeds up outputting hashes.");
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..0ed373d
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+fix-help
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..aa76867
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+#export DH_VERBOSE=1
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+%:
+	dh $@  --with autoreconf
+
+# Disabling the auto_test
+override_dh_auto_test:
diff --git a/debian/source.lintian-overrides b/debian/source.lintian-overrides
new file mode 100644
index 0000000..8c7a989
--- /dev/null
+++ b/debian/source.lintian-overrides
@@ -0,0 +1,3 @@
+# The file is being removed by debian/clean file.
+# The upstream will fix the issue in the next release.
+hashrat source: configure-generated-file-in-source libUseful-2.0/config.cache
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..ef4851f
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=3
+https://sites.google.com/site/columscode/home/hashrat .*/files/hashrat-(\d\S+)\.(?:tgz|tar\.(?:bz2|gz|xz)).*
+http://www.cjpaget.co.uk/Code/Hashrat/hashrat-(\d\S+)\.(?:tgz|tar\.(?:bz2|gz|xz))
+https://github.com/ColumPaget/Hashrat/releases .*/archive/(\d\S+)\.tar\.(?:bz2|gz|xz)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/hashrat.git



More information about the forensics-changes mailing list