<<< Date Index >>>     <<< Thread Index >>>

smime_keys: bug or me ???



OK, I am successfully reading and writing s/mime signed messages, and
successfully encrypting and decrypting s/mime messages.

Most everything appears to behave as expected, except two (2) things:

[1] I get an odd error on verify; but, I think that doc/smime-notes.txt
answers this with ``purpose fields of a certificate do not get verified
yet'':

   # /usr/lib/mutt/smime_keys verify 0da0f5fe.0
   ==> about to verify certificate of mds@xxxxxxxxxxx
   /home/mds/.smime/certificates/0da0f5fe.0: /CN=Thawte Freemail \
      Member/emailAddress=mds@xxxxxxxxxxx
   error 26 at 0 depth lookup:unsupported certificate purpose
   OK


[2] smime_keys stumbles badly at `list':

   # /usr/lib/mutt/smime_keys.ORIG list
   0da0f5fe.0: Issued for: mds@xxxxxxxxxxx "thawte-personal" (Trusted)
   Use of uninitialized value in string eq at /usr/lib/mutt/smime_keys.ORIG \
      line 961, <F> line 1.
   unable to load certificate
   13958:error:0906D06C:PEM routines:PEM_read_bio:no start \
      line:pem_lib.c:632:Expecting: TRUSTED CERTIFICATE
   '/usr/bin/openssl x509 -subject -issuer -dates -noout -in \
      /tmp/smime/cert_tmp.list -inform PEM' returned 256 at i\
      /usr/lib/mutt/smime_keys.ORIG line 320, <F> line 1.


Partly, this is due to smime_keys _not_ following the function template
that it sets _twice_:

   # grep -n 'newfile *(' /usr/lib/mutt/smime_keys.ORIG | grep -v ','
   29:sub newfile ($;$$);
   735:    my $newindex = newfile("$path/.index.tmp");
   952:sub newfile ($;$$) {
   958:            $tmpdir = newfile("$tmpdir/smime");


However, even with this:

   # diff -u /usr/lib/mutt/smime_keys.ORIG /usr/lib/mutt/smime_keys
   --- /usr/lib/mutt/smime_keys.ORIG       2003-03-20 08:41:33.000000000 -0600
   +++ /usr/lib/mutt/smime_keys    2004-01-10 15:58:46.000000000 -0600
   @@ -953,6 +953,8 @@
           # returns a file name which does not exist for tmp file creation
           my $filename = shift;
           my $option = shift;
   +       defined $option
   +               or $option = "";
           if (! $tmpdir and $option eq "temp") {
                   $tmpdir = mutt_Q 'tmpdir';
                   $tmpdir = newfile("$tmpdir/smime");


I still get these errors:

   # /usr/lib/mutt/smime_keys list
   0da0f5fe.0: Issued for: mds@xxxxxxxxxxx "thawte-personal" (Trusted)
   unable to load certificate
   18868:error:0906D06C:PEM routines:PEM_read_bio:no start \
      line:pem_lib.c:632:Expecting: TRUSTED CERTIFICATE
   '/usr/bin/openssl x509 -subject -issuer -dates -noout -in \
      /tmp/smime/cert_tmp.list -inform PEM' returned 256 at
      /usr/lib/mutt/smime_keys line 320, <F> line 1.


What do you think?

-- 
Best Regards,

mds
mds resource
877.596.8237
-
Dare to fix things before they break . . .
-
Our capacity for understanding is inversely proportional to how much
we think we know.  The more I know, the more I know I don't know . . .
--

Attachment: pgppgkx0eKhYe.pgp
Description: PGP signature