--- hashcash-1.21.orig/hashcash.html +++ hashcash-1.21/hashcash.html @@ -110,9 +110,7 @@ filtering rules.

A hashcash stamp constitutes a proof-of-work which takes a parameterizable amount of work to compute for the sender. The -recipient can verify received stamps efficiently. This package also -includes a sha1 implementation which is equivalent in functionality to -the sha1sum program available on some systems.

+recipient can verify received stamps efficiently.

The hashcash proof-of-work function is to compute partial hash collisions (the SHA1 hash function is used). By choosing the number of bits of collision, the work required to compute a collision can be @@ -1066,7 +1064,7 @@


SEE ALSO

-

sha1sum(1), sha1-hashcash(1), sha1(1), http://www.hashcash.org/

+

sha1sum(1), sha1(1), http://www.hashcash.org/

--- hashcash-1.21.orig/hashcash.c +++ hashcash-1.21/hashcash.c @@ -78,6 +78,7 @@ #define VPUTS(f,str) VV { fputs(str,f); } #define HDR_LINE_LEN 80 +int read_append( char**, int*, int*, char* ); char *read_header( FILE* f, char** s, int* slen, int* alloc, char* a, int alen ); int read_eof( FILE* fp, char* a ); --- hashcash-1.21.orig/debian/README +++ hashcash-1.21/debian/README @@ -8,3 +8,11 @@ not support hashcash natively, such as mutt. hashcash-request can be used to pre-request hashcash tokens for future use. The current version of both scripts are considered ALPHA quality. Use at your own risk. + +For users with multi-processor machines or clusters, the examples directory +also includes a wrapper script, hashfork.py, written in Python, to start +multiple instances of Hashcash. Running n processes on a machine (with at +least n processes) will roughly divide the average time required to generate a +stamp by n. Note that since Hashcash is numeric-intensive, one will not be +able to get better performance out of a single hyperthreaded processor using +this technique. --- hashcash-1.21.orig/debian/rules +++ hashcash-1.21/debian/rules @@ -6,21 +6,31 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) - - -CFLAGS = -Wall -g INSTALL = /usr/bin/install -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s endif +CFLAGS = -Wall -DREGEXP_POSIX +OPTFLAGS = -O3 -funroll-loops + +ifeq ($(DEB_HOST_ARCH),amd64) +OPTFLAGS = -O3 -funroll-loops -D_REENTRANT -D_THREAD_SAFE -fPIC +endif + +ifeq ($(DEB_HOST_ARCH),i386) +OPTFLAGS = -O3 -funroll-loops -march=i386 -mcpu=i486 -mmmx \ + -D_REENTRANT -D_THREAD_SAFE -fPIC +endif + +ifeq ($(DEB_HOST_ARCH),powerpc) +OPTFLAGS = -O3 -funroll-loops -fno-inline -mcpu=powerpc -maltivec \ + -mabi=altivec +endif + configure: configure-stamp configure-stamp: dh_testdir @@ -35,7 +45,7 @@ dh_testdir # Add here commands to compile the package. - $(MAKE) hashcash + $(MAKE) "CFLAGS=$(CFLAGS) $(OPTFLAGS)" hashcash $(MAKE) docs #/usr/bin/docbook-to-man debian/hashcash.sgml > hashcash.1 @@ -74,7 +84,7 @@ dh_testroot dh_installchangelogs CHANGELOG dh_installdocs - dh_installexamples + dh_installexamples -Xhashfork.c # dh_install # dh_installmenu # dh_installdebconf --- hashcash-1.21.orig/debian/changelog +++ hashcash-1.21/debian/changelog @@ -1,3 +1,52 @@ +hashcash (1.21-1) unstable; urgency=low + + * New upstream release. + * Fix copyright file. + + -- Hubert Chan Thu, 30 Mar 2006 21:01:13 -0700 + +hashcash (1.20-1) unstable; urgency=low + + * New upstream release. + * Set DEB_HOST_ARCH if it is not set, so that debian/rules works properly + even if not run form dpkg-buildpackage. + * Bump standards version to 3.6.2. + + -- Hubert Chan Thu, 22 Dec 2005 00:00:43 -0500 + +hashcash (1.17-1) unstable; urgency=low + + * New upstream release. + * Adds hashfork.py script to run multiple instances of Hashcash on + multiprocessor machines. (closes: 281918) + + -- Hubert Chan Wed, 30 Mar 2005 15:07:08 -0500 + +hashcash (1.13-1) unstable; urgency=low + + * New upstream release. + * Fix compile flags for amd64 architecture so that it compiles. + (closes: 278047) + + -- Hubert Chan Thu, 4 Nov 2004 17:41:28 -0500 + +hashcash (1.12-1) unstable; urgency=low + + * New upstream release. (closes: 271635) + * Add architecture-dependent flags in debian/rules to enable assembly + optimizations. + * New license from upstream. + + -- Hubert Chan Fri, 8 Oct 2004 23:17:32 -0400 + +hashcash (1.01-1) unstable; urgency=low + + * New upstream release. + * Clarified license as per upstream. + * Compile with -Wall. + + -- Hubert Chan Sun, 8 Aug 2004 19:31:43 -0400 + hashcash (1.00-1) unstable; urgency=low * New upstream release. --- hashcash-1.21.orig/debian/copyright +++ hashcash-1.21/debian/copyright @@ -3,27 +3,160 @@ It was downloaded from http://www.hashcash.org/ -Upstream Author: Adam Back +Copyright Holder: Adam Back -Copyright: +License: The source contains getopt.c and getopt.h, which are copyright by the FSF, and -licensed under the GPL. On Debian systems, the GPL can be found at +licensed under the GPL. + + 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 2 of the License, or + (at your option) any later version. + + This program 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, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the full text of the GPL can be found at /usr/share/common-licenses/GPL. The source contains fip180-1.txt, written by the United States government, and is in the public domain. -The hashcash-sendmail and hashcash-request programs in the contrib directory +The hashcash-sendmail and hashcash-request programs in the examples directory are copyright Kyle Hasselbacher, and licensed under the GPL. +The hashfork.py program in the examples directory was written by Hubert Chan, +and is in the public domain. + The rest of the software is licensed under your choice of (in the upstream author's preference): + - Cypherpunks CPL (Cypherpunks anti-License) - public domain - - BSD - - LGPL - - GPL + - modified BSD (without advertising clause) + - LGPL 2.1 + - GPL 2 + +The text of the Cypherpunks CPL is included below. On Debian systems, the BSD license can be found at /usr/share/common-licenses/BSD, the LGPL at /usr/share/common-licenses/LGPL, and the GPL at /usr/share/common-licenses/GPL. + +The upstream author makes the following comments and requests. They are not +licensing requirements: + +- If you have to make changes to make this library work for your system or + application it would be useful if you could tell me what you had to + do, and optionally send me the source changes so I can include them + or update the library. The aim is to make a practically useful + library. + +- It would be useful if you could inform me if you use or distribute + hashcash. The intent here is to give me feedback and insight into the + areas of application which people find useful in practice. + +- If you are unclear on how to use hashcash there is a FAQ here: + http://www.hashcash.org/faq.html. If that doesn't answer your question or + doesn't apply to your usage, feel free to discuss in email. + +- It may help the deployment of hashcash as an anti-spam system if different + systems based on hashcash were interoperable as far as that makes + sense for your system. To this end the FAQ + http://www.hashcash.org/faq.html and Internet-Draft + http://www.hashcash.org/draft-hashcash.txt document my + thoughts in this area. See also the hashcash home page + http://www.hashcash.org and paper there as I update with links to deployed + systems which it might be useful for you to interoperate with. + + +Cypherpunks anti-License + +Intent + +The intent of the Cypherpunks anti-License (CPL) is to inform users that they +are free to use and redistribute the indicated work or any derived or modified +work in any manner they choose. Works distributed under the CPL are in the +Public Domain. + +Licensing + +The CPL is not a license, it does not require the user to do or not do +anything; the user does not agree to any terms, because there are no terms, and +the user does not need to do anything to indicate acceptance or rejection of +the CPL. + +Non Litigation + +The CPL serves to pledge to the user that the distributors will behave in a +manner consistent with the non-existance of Intellectual Property (IP) laws as +far as they are able. The distributors will not use or participate as far as +they are able to government legal systems to attempt to enforce requests +restricting the use, modifications, or redistribution of the work for +perpetuity. The distributor may prefer to be anonymous to preclude attempts to +coerce them into enforcing IP laws relating to this work against their will. + +Requests + +The work may be distributed with some distributor requests in addition to the +CPL. The distributor pledges similarly to not attempt to use IP laws to enforce +these requests. + +Redistribution + +Users choosing to redistribute this work may change anything about the work, +including distributing it under a different license, and adding or removing +previous distributors requests. + +Interpretation + +The CPL is completely liberal. Here are some examples of implications of this +which are not true for many licenses. The user can redistribute the work or a +derived or modified work + + * under a different license of their choosing + * with or without source code as they choose + * without acknowledging the distributors or authors + * with false or innaccurate claims about authorship of the work + * advertise without acknowledging the authors + +Requests can be arbitrary, but are requests only. Example of requests that the +distributor may choose to make: + + * that improvements to the work be drawn to the distributors attention + * that improvements to the work be released back to the distributor under + the CPL + * that the distributors name not be used to advertise derived works without + the distributors approval + +Legacy Considerations + +The distributor may choose to inform the user of his opinion of the IP status +of the work, for example by identifying any IP law restricted aspects such as +the copyright holders of parts or the whole of the work, trademark owners of +trademarks used in the work, potentially applicable patents on algorithms or +ideas contained in the work, but the distributor is not obliged to do so and +takes no responsibility for the accuracy of such information. + +Background + +The CPL is written from a mindset which derides the very concept of Intellectual Property restrictions as being incompatible with a free society. + +Cryptographically assured anonymity and anonymous use of Internet resources +mean that denizens of cypherspace can ignore copyright, licenses attempting to +control use and distribution of works, and patents on ideas. It is not possible +to enforce IP laws by calls to government legal systems when the flaunter is +strongly anonymous. + +The enforcement of IP law and anonymity are in direct conflict. To fully +enforce IP laws, anonymity would have to be outlawed. Cypherpunks believe this +would be a bad thing, because control of information imparts power, and +anonymity gives individuals control over disclosure of information about +themselves and their actions. --- hashcash-1.21.orig/debian/control +++ hashcash-1.21/debian/control @@ -3,7 +3,7 @@ Priority: optional Maintainer: Hubert Chan Build-Depends: debhelper (>= 4.0.0) -Standards-Version: 3.6.1 +Standards-Version: 3.6.2 Package: hashcash Architecture: any --- hashcash-1.21.orig/hashcash.1 +++ hashcash-1.21/hashcash.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3 .\" .\" Standard preamble: .\" ======================================================================== @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "HASHCASH 1" -.TH HASHCASH 1 "2005-01-12" "1.15" "hashcash" +.TH HASHCASH 1 "2005-12-22" "1.20" "hashcash" .SH "NAME" hashcash \- hashcash anti\-spam / denial of service counter\-measure tool .SH "SYNOPSIS" @@ -170,9 +170,7 @@ .PP A hashcash stamp constitutes a proof-of-work which takes a parameterizable amount of work to compute for the sender. The -recipient can verify received stamps efficiently. This package also -includes a sha1 implementation which is equivalent in functionality to -the sha1sum program available on some systems. +recipient can verify received stamps efficiently. .PP The hashcash proof-of-work function is to compute partial hash collisions (the \s-1SHA1\s0 hash function is used). By choosing the number @@ -917,4 +915,4 @@ Written by Adam Back .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIsha1sum\fR\|(1), \fIsha1\-hashcash\fR\|(1), \fIsha1\fR\|(1), http://www.hashcash.org/ +\&\fIsha1sum\fR\|(1), \fIsha1\fR\|(1), http://www.hashcash.org/ --- hashcash-1.21.orig/hashcash.txt +++ hashcash-1.21/hashcash.txt @@ -37,9 +37,7 @@ A hashcash stamp constitutes a proof-of-work which takes a parameterizable amount of work to compute for the sender. The recipient - can verify received stamps efficiently. This package also includes a - sha1 implementation which is equivalent in functionality to the sha1sum - program available on some systems. + can verify received stamps efficiently. The hashcash proof-of-work function is to compute partial hash collisions (the SHA1 hash function is used). By choosing the number of @@ -740,5 +738,5 @@ Written by Adam Back SEE ALSO - sha1sum(1), sha1-hashcash(1), sha1(1), http://www.hashcash.org/ + sha1sum(1), sha1(1), http://www.hashcash.org/ --- hashcash-1.21.orig/sha1-hashcash.1 +++ hashcash-1.21/sha1-hashcash.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3 .\" .\" Standard preamble: .\" ======================================================================== @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "SHA1-HASHCASH 1" -.TH SHA1-HASHCASH 1 "2004-12-17" "1.15" "sha1" +.TH SHA1-HASHCASH 1 "2005-12-22" "1.20" "sha1" .SH "NAME" sha1 \- Secure Hash Algorithm (version 1) hash function .SH "SYNOPSIS" @@ -200,7 +200,7 @@ \& To: Adam Back \& Subject: test hashcash \& Date: Thu, 15 Aug 2002 11:12:02 +0000 -\& X-Hashcash: 0:030626:adam@cypherspace.org:6470e06d773e05a8 +\& X\-Hashcash: 0:030626:adam@cypherspace.org:6470e06d773e05a8 .Ve .PP Then the following command would show visually the size of the --- hashcash-1.21.orig/hashcash.pod +++ hashcash-1.21/hashcash.pod @@ -47,9 +47,7 @@ A hashcash stamp constitutes a proof-of-work which takes a parameterizable amount of work to compute for the sender. The -recipient can verify received stamps efficiently. This package also -includes a sha1 implementation which is equivalent in functionality to -the sha1sum program available on some systems. +recipient can verify received stamps efficiently. The hashcash proof-of-work function is to compute partial hash collisions (the SHA1 hash function is used). By choosing the number @@ -892,4 +890,4 @@ =head1 SEE ALSO -sha1sum(1), sha1-hashcash(1), sha1(1), http://www.hashcash.org/ +sha1sum(1), sha1(1), http://www.hashcash.org/