summaryrefslogtreecommitdiff
path: root/security/hashcash
diff options
context:
space:
mode:
authortv <tv>2004-11-29 01:56:16 +0000
committertv <tv>2004-11-29 01:56:16 +0000
commit936be5479162179219c049bfd3de00922cb2baf5 (patch)
treef8442d7bdc4a78939ef3674719639f53d38bebc3 /security/hashcash
parent9badadf25e864010629fe9c2688dcda7396ca381 (diff)
downloadpkgsrc-936be5479162179219c049bfd3de00922cb2baf5.tar.gz
Update to 1.13. Among other things, the hash format has changed since the
0.xx releases. Full changelog: hashcash-1.13 - 16-Oct-2004 - Adam Back <adam@cypherspace.org> * fix bug where grace period not applied to double-spend db. I think this could allow people to double-spend in the time period after the resulting premature purging and before expiry (which is the grace period) * add new feature where -e <period> can be used with -p to override the expiry given at spend time (that is stored in the double-spend db). Inspired by question from Atom Smasher <atom@suspicious.org>. * clean up some memory leaks * add hashcash_free function (DLL scenario caller can't rely on having same deallocator to call as library compiled with) * lots more function documentation in hashcash.h for library/DLL users, renamed all exported library functions to start with hashcash_ prefix. * added hashcash_version function. * added callback function to allow user quit (returns HASHCASH_USER_ABORT) and to give progress feedback. * added option -P which uses the callback to show progress. * added -O core option to allow user selection of core. * added small parameter to hashcash (to request small stamps rather than slightly larger fast to generate stamps), and -Z option to turn this on. (In fact it is not implemented yet but want to avoid changing library interface later). hashcash-1.12 - 03-Oct-2004 - Adam Back <adam@cypherspace.org> * make a HASHCASH.DLL on windows using MINGW. hashcash-1.11 - 02-Oct-2004 - Adam Back <adam@cypherspace.org> * _really_ fix trailing ascii(32) (spaces). I have no idea how I decided the 1.10 code fixed it. Must have messed up the test I was using to check it worked. hashcash-1.10 - 01-Oct-2004 - Adam Back <adam@cypherspace.org> * remove trailing ascii(32) (spaces) which padding somehow leaves hashcash-1.09 - 17-Sep-2004 - Adam Back <adam@cypherspace.org> * fix missing space between resource name and width with -cv reported by Panta Admin. * apply cumulative patch of 3 patches from Jonathan Morton. hashcash-1.08 - 12-Sep-2004 - Adam Back <adam@cypherspace.org> * fix bug reported by Panta Admin <admin@panta-rhei.dyndns.org> must have introduced in recent version where with pipe prints stamp twice. * attempt to work around MINGW problem with signals -- somehow it is changing it's mind about whether the MMX core can run from the first call to the 2nd call. But the test result is cached so it is hard to see how this happens. Not clear if this work-around will work as don't have a 486 to test on. (Work around is make single gIsMMXpresent shared between the two mmx cores, should at least result in signal call being used fewer times (max 1 time). Also pass 1 to longjmp.) * give up entirely on conditional make. One Makefile, no funky stuff. Prints info about what you need to do to compile on your platform and goes ahead and compiles with generic anyway. Make new gnu (generic) target for gcc, and normal generic with no gcc specific flags. hashcash-1.07 - 11-Sep-2004 - Adam Back <adam@cypherspace.org> * patch from J H Wilson <jhw@ieee.org> to initialize a bunch of variables (actually I had to back some of these out to get to compile on non gnu compilers -- some of those structure initializations are gnu extensions I think.) * also J H Wilson one of patch changes was to avoid mmx assembler code clobbering ebx register which is needed for fPIC support. * better randomness on windows using the CAPI rng CryptGenRandom. Still compiles using MINGW ... whee! * made a separate GNUmakefile for gnu make (it takes that one first over Makefile) and a Makefile which is the same but no ifdef stuff which confuses some other makes, and no gnu specific compile options (for x86 anyway). * add gettimeofday timer into entropy to improve randomness on systems which do not have /dev/urandom, and are not windows hashcash-1.06 - 10-Sep-2004 - Adam Back <adam@cypherspace.org> * patch from Justin Guyett <justin@soze.net> to fix unsigned error which would have made libfastmint do something odd if no minter worked. * Makefile changes to compile under MINGW (gnu for windows portability layer which produces win32 exes). new target mingw-exe * #ifdefs to avoid locking on MINGW (seems no lock support!) * #ifdefs to use longjmp instead of siglongjmp, signal instead of sigaction on MINGW * #ifdef to use chsize instead of ftruncate on MINGW hashcash-1.05 - 08-Sep-2004 - Adam Back <adam@cypherspace.org> * and another issue (last I promise!) with case comparison. 1.04 change was good; however flaw in 1.02 means 1.04 minted stamps (resource not canonicalized to lowercase) can falsely fail to verify with 1.02 - 1.00 as those versions presume canonicalized stamp. So we go back to making -C have effect on minting also. With no -C canonicalize to lowercase, with -C use resource as-is. * get rid of -W flag reserved for posix, use -M in it's place. hashcash-1.04 - 07-Sep-2004 - Adam Back <adam@cypherspace.org> * fixed issue with case comparisons -- presumed resources were in lower case at minting -- better to just ignore case during comparison. Then will accept stamps containing upper case or mixed-case resource names. * integrate fastmint_benchtest as -sv option to hashcash. * introduce COPT as well as CFLAGS as optimization subset of flags passed with CFLAGS to nested make -- suits RPM hashcash-1.03 - 07-Sep-2004 - Adam Back <adam@cypherspace.org> * remove TARGET_ARCH again, let's keep things simple. Just use CFLAGS period. * figured out what GENTOO ebuild is doing, changed ebuild file * remove recursion from hashcash_fastmint * start using TARGET_ARCH in Makefile, hope it's portable; it's an attempt to be more GENTOO ebuild friendly * Makefile change: when PACKAGE is defined build default target, otherwise echo the target info as before * removed a bunch of old code replaced by fastmint, got rid of CHROMATIX define * fix following errors reported by Atom Smasher <atom@suspicious.org> * fix width measuring bug with v0 stamps * fix resource read from stdin bug * use GNU getopt source always -- getopt on BSD behaves differently (the getopt source is smart -- it comments itself out on machines with GNU_LIBRARY so using it always is not a problem) * bug: should send the time estimate to stderr, and the stamp to stdout * -z width flag not properly error checked to enforce UTCTIME restrictions (only valid widths 6, 10 or 12 digits) * update LICENSE to note you end up with some GNU GPL taint from getopt on systems without POSIX getopt which probably forces you to use GPL as I link against it. Unless someone wants to re-write the getopt or can point me at a public domain replacement. In particular this includes BSD and MACH (OSX) and as before windows. * apply patch from Jonathan Morton <chromi@chromatix.demon.co.uk> with following fixes: * fix bug in mmx assembler code exposed by integration * add generic target in Makefile * increase benchmark work factor to improve accuracy of results (as not used at run-time) * new hashcash_quickbench() * changes to hashcash_quickbench() to give faster timing on linux x86 which has low resolution clock() (1/100th sec vs 1usec on OSX). (It was taking ~ 0.6sec on linux x86, code takes 0.1 sec now which is less noticeable) * related to above studiously avoided calling hc_per_sec() which invokes hashcash_quickbench() -- seems a shame to burn 1/10th sec in default mint creation path if user typically doesn't care about the info about how long it took. Now you have to give -s or -v to get speed info when minting. * fix case sensitivity bug reported by Atom Smasher <atom@suspicious.org> * add CPL option back to LICENSE file * add make targets for different processors * remove 2nd call of hashcash_benchtest (supposed to call hc_per_second which caches not hashcash_per_second) * enable static selection of fastmint cores, disable run time benchtest * applied fastmint fix patch from Jonathan Morton <chromi@chromatix.demon.co.uk> and re-enabled fastmint (remove -DCHROMATIX in Makefile to disable) hashcash-1.02 - 11-Aug-2004 - Adam Back <adam@cypherspace.org> * minor documentation stuff (put back ref to sha1-hashcash in hashcash.pod manpage) * add back requests to LICENSE file hashcash-1.01 - 08-Aug-2004 - Adam Back <adam@cypherspace.org> * fold in patches from by Hubert Chan <hubert@uhoreg.ca> and Justin Guyett <justin@soze.net> to clean up some stuff and fix minor bugs. * another couple of minor bug fixes. hashcash-1.00 - 07-Aug-2004 - Adam Back <adam@cypherspace.org> * increment version number, 1.x to reflect move to version 1 stamp format * explicit bits field in token (helps people who want to prevalidate header and parse, and who want to know what the intended bits were vs how lucky the sender got); new stamp size definition is min( counted_bits, explicit bits field ) * no : in resource field to make easier to parse eg with cut, awk etc * new extension field * reclaimed -x to use for passing eXtension data (old -x no longer available, use -X, which has string fixed to X-Hashcash) * put /dev/urandom macro for MAC from Jonathan Morton <chromi@chromatix.demon.co.uk> so we use /dev/urandom on MAC * copy in and adjust Makefile for Jonathan Morton's optimized minter (need to integrate) * copy in Jonathan Morton's COMPACT option (method B vs method A from fips-180-1, uses less registers) for libsha1.c * copy in next rev of minter breaks 4megahashes/sec barrier on 3.06Ghz P4 -- disabled at present until some stuff gets fixed and we figure out rpm/deb package portability * added back v0 read support (but still only generates v1) * pr5: first attempt at integrating libfastmint (some bug in my integration code, broken so far) * (pr6: libfastmint integ still not working) * pr6: made X-Hashcash header accepatance case insensitive * pr7: also reject tokens with count_bits < claimed_bits (as previous logic of setting bits = min( count_bits, claimed_bits) necessary to avoid people getting lucky * use clock() instead of wall time * expand max stamp size out to cope with 10KB extension fields * update man page and usage with v1 stuff * and release as 1.00 ready for Hubert Chan <hubert@uhoreg.ca> to package for the imminent debian release hashcash-0.33 - 13-Apr-2004 - Adam Back <adam@cypherspace.org> * allow wild card without @ sign if there is no @ sign in pattern
Diffstat (limited to 'security/hashcash')
-rw-r--r--security/hashcash/Makefile8
-rw-r--r--security/hashcash/distinfo7
-rw-r--r--security/hashcash/patches/patch-aa13
3 files changed, 21 insertions, 7 deletions
diff --git a/security/hashcash/Makefile b/security/hashcash/Makefile
index 6174c5348ca..54cd01b5130 100644
--- a/security/hashcash/Makefile
+++ b/security/hashcash/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.3 2004/08/01 18:35:30 tv Exp $
+# $NetBSD: Makefile,v 1.4 2004/11/29 01:56:16 tv Exp $
#
-DISTNAME= hashcash-0.32
+DISTNAME= hashcash-1.13
CATEGORIES= security
MASTER_SITES= http://www.hashcash.org/source/
EXTRACT_SUFX= .tgz
@@ -10,10 +10,10 @@ MAINTAINER= tv@duh.org
HOMEPAGE= http://www.hashcash.org/
COMMENT= Hash collision based postage stamp
-MAKE_FLAGS= COPT="${CFLAGS} -Dunix"
-
USE_BUILDLINK3= yes
+CFLAGS+= -Dunix
+
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/hashcash ${PREFIX}/bin/
${INSTALL_DATA} ${WRKSRC}/hashcash.1 ${PREFIX}/man/man1/
diff --git a/security/hashcash/distinfo b/security/hashcash/distinfo
index 4dff7d051c5..aa539913d79 100644
--- a/security/hashcash/distinfo
+++ b/security/hashcash/distinfo
@@ -1,4 +1,5 @@
-$NetBSD: distinfo,v 1.3 2004/08/01 18:35:30 tv Exp $
+$NetBSD: distinfo,v 1.4 2004/11/29 01:56:16 tv Exp $
-SHA1 (hashcash-0.32.tgz) = 8abf44b57cde884d191978cb7ffc8184459dbb78
-Size (hashcash-0.32.tgz) = 110086 bytes
+SHA1 (hashcash-1.13.tgz) = 045b05e3e1a6422c0c853c6e5eaf21fea3d3c377
+Size (hashcash-1.13.tgz) = 175741 bytes
+SHA1 (patch-aa) = c8e619f2b8ce9a2b656986ff813107eae3aeb584
diff --git a/security/hashcash/patches/patch-aa b/security/hashcash/patches/patch-aa
new file mode 100644
index 00000000000..d76a5eae3fa
--- /dev/null
+++ b/security/hashcash/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.1 2004/11/29 01:56:16 tv Exp $
+
+--- Makefile.orig 2004-11-28 20:52:15.000000000 -0500
++++ Makefile
+@@ -23,7 +23,7 @@ COPT_MINGW = -O3 -funroll-loops -march=i
+ COPT_G3_OSX = -O3 -funroll-loops -fno-inline -mcpu=750 -faltivec
+ COPT_PPC_LINUX = -O3 -funroll-loops -fno-inline -mcpu=604e -maltivec \
+ -mabi=altivec
+-CFLAGS = -DREGEXP_POSIX
++CFLAGS += -DREGEXP_POSIX
+ EXES = hashcash$(EXE) sha1$(EXE) sha1test$(EXE)
+ INSTALL = install
+ POD2MAN = pod2man