Subject: Re: muhah
To: Alistair Crooks <agc@pkgsrc.org>
From: Trevor Johnson <trevor@jpj.net>
List: tech-pkg
Date: 03/23/2001 12:17:07
> > You're right, the copy that comes with NetBSD 1.5 for i386 (base.tgz) is
> > 231292 bytes. Still, pkgsrc itself is much larger than that.
> (and that includes CVS dirs, but excludes Makefile.openssl). You're
> seriously telling me I should add well over 10 Megabytes of source to
> a single package in pkgsrc? OK, so on to executable sizes, which isn't
> really relevant:
I understand that OpenSSL, whether as source or binary, is much bigger
than your digest utility. So are other things--sh, make, tar and pax, awk,
patch, cc, and so on--which are needed for the use of pkgsrc. If, for
example, the user hasn't installed a C compiler (not part of the base
system on NetBSD, Solaris, or most Linux distributions), pkgsrc doesn't
bootstrap one into place. If the user installs the wrong C compiler--a
buggy, old, or trojaned one (food for thought:
http://www.acm.org/classics/sep95/)--he loses.
> > > 2. openssl produces output in a slightly different format from
> > > md5(1). I really don't want to have to pre-process everything with
> > > sed or awk or expr.
> >
> > Can't the existing md5 utility still handle the MD5 hashes which were
> > generated with it? For the SHA-1 and RIPEMD-160 hashes, would you
> > consider making the output of your digest utility have the same format as
> > the output from OpenSSL?
>
> It's not a huge problem, it's a minor niggle. Yes, we can massage output
> with sed, awk or expr. But I don't want to do that.
You misunderstand. What I requested is output from "digest sha1 foo" in
the format that "openssl dgst -sha1 foo" has, and likewise for "digest
rmd160 foo" to have the same format as "openssl dgst -rmd160". That way,
if it ever becomes desirable to use OpenSSL for hashing--for instance, in
a future world where pre-1999 versions of NetBSD needn't to be fully
supported--such massaging will not be necessary. I've appended a trivial
patch which does this. For the SHA-1 and RIPEMD-160 hashes, the slightly
different output is unnecessary. MD5 hashes have already been calculated,
so I don't propose changing them.
> > > 3. I want a message digest calculation utility that is small and
> > > quick, and something that either is present on all Operating Systems
> > > on which pkgsrc runs, or is buildable on those operating systems with
> > > minimum fuss. openssl does not really fit the bill here.
> In the whole scheme of things, though, with all the other processing
> that is taking place at that time, the speed of the code produced by
> an optimising compiler vs. hand-tuned assembly code is fairly low on
> my list of priorities.
Thanks for dropping the objection.
--
Trevor Johnson
http://jpj.net/~trevor/gpgkey.txt
--- digest.c.orig Fri Mar 9 13:24:49 2001
+++ digest.c Fri Mar 23 08:04:20 2001
@@ -95,7 +95,7 @@
if (SHA1File(fn, digest) == NULL) {
return 0;
}
- (void) printf("SHA1 (%s) = %s\n", fn, digest);
+ (void) printf("SHA1(%s)= %s\n", fn, digest);
}
return 1;
}
@@ -119,7 +119,7 @@
if (RMD160File(fn, digest) == NULL) {
return 0;
}
- (void) printf("RMD160 (%s) = %s\n", fn, digest);
+ (void) printf("RIPEMD160(%s)= %s\n", fn, digest);
}
return 1;
}