aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2000-10-04 13:51:27 +0000
committerWerner Koch <[email protected]>2000-10-04 13:51:27 +0000
commit6dc268a8a1911e46259cf86946fcab80a98c8dc2 (patch)
treedcc8303b40552997697ecc66d33c13375d5bc822
parentAdded FAQ to my Nils' of files (diff)
downloadgnupg-6dc268a8a1911e46259cf86946fcab80a98c8dc2.tar.gz
gnupg-6dc268a8a1911e46259cf86946fcab80a98c8dc2.zip
See ChangeLog: Wed Oct 4 15:50:18 CEST 2000 Werner Koch
-rw-r--r--ChangeLog6
-rw-r--r--NEWS13
-rw-r--r--THANKS2
-rw-r--r--TODO9
-rw-r--r--VERSION2
-rw-r--r--cipher/ChangeLog5
-rw-r--r--cipher/sha1.c2
-rw-r--r--configure.in6
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/Makefile.am8
-rw-r--r--doc/gpgv.sgml227
-rw-r--r--g10/ChangeLog9
-rw-r--r--g10/Makefile.am61
-rw-r--r--g10/gpgv.c305
-rw-r--r--g10/mainproc.c5
-rw-r--r--g10/parse-packet.c1
-rw-r--r--g10/sign.c22
-rw-r--r--po/da.po18
-rw-r--r--po/de.po18
-rw-r--r--po/eo.po18
-rw-r--r--po/es_ES.po18
-rw-r--r--po/fr.po18
-rw-r--r--po/id.po18
-rw-r--r--po/it.po18
-rw-r--r--po/ja.po18
-rw-r--r--po/nl.po18
-rw-r--r--po/pl.po18
-rw-r--r--po/pt_BR.po18
-rw-r--r--po/pt_PT.po18
-rw-r--r--po/ru.po18
-rw-r--r--po/sv.po18
-rwxr-xr-xscripts/mk-w32-dist6
-rwxr-xr-xtools/mail-signed-keys15
33 files changed, 786 insertions, 175 deletions
diff --git a/ChangeLog b/ChangeLog
index f3aa1621a..0155064ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Oct 4 15:50:18 CEST 2000 Werner Koch <[email protected]>
+
+ * configure.in: Set DYNLINK_MOD_CFLAGS for Irix. It seems that Irix
+ needs the -shared flag. In 1.1 we are going to use libtool, so this
+ module stuff will get redesigned anyway. Suggested by Jeff Long.
+
Thu Sep 14 14:20:38 CEST 2000 Werner Koch <[email protected]>
* acinclude.m4 (GNUPG_CHECK_FAQPROG): New.
diff --git a/NEWS b/NEWS
index 5b818c5fd..af07aa7bf 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,10 @@
-Noteworthy changes in the current CVS branch STABLE-BRANCH-1-0
---------------------------------------------------------------
+
+ * New utility gpgv which is a stripped down version of gpg to
+ be used to verify signatures against a list of trusted keys.
+
+
+Noteworthy changes in version 1.0.3 (2000-09-18)
+------------------------------------------------
* Fixed problems with piping to/from other MS-Windows software
@@ -18,7 +23,7 @@ Noteworthy changes in the current CVS branch STABLE-BRANCH-1-0
* The --trusted-key option is back after it left us with 0.9.5
* RSA is supported. Key generation does not yet work but will come
- soon.
+ soon.
* CAST5 and SHA-1 are now the default algorithms to protect the key
and for symmetric-only encryption. This should solve a couple
@@ -29,8 +34,6 @@ Noteworthy changes in the current CVS branch STABLE-BRANCH-1-0
this. Older versions of GnuPG don't support it, so they should be
upgraded to at least 1.0.2
-
-
Noteworthy changes in version 1.0.2 (2000-07-12)
----------------------------------------------
diff --git a/THANKS b/THANKS
index 9e4b342f2..77f9b0f86 100644
--- a/THANKS
+++ b/THANKS
@@ -38,7 +38,7 @@ Ed Boraas [email protected]
Edmund GRIMLEY EVANS [email protected]
Enzo Michelangeli [email protected]
Ernst Molitor [email protected]
-Fabio Coatti [email protected]
+Fabio Coatti [email protected]
Felix von Leitner [email protected]
Frank Donahoe [email protected]
Frank Heckenbach [email protected]
diff --git a/TODO b/TODO
index 3efb5f357..4af19a07f 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,13 @@
+ * If there is no secure memory, allocate more memory for the secure
+ memory block or do it in all cases.
+
+ * for detached signatures: Allow to specify a filedescriptor (maybe
+ we can use a generic way to specify filedescriptors - "-" is already
+ used to specify 0/1).
+
+ * List all UserID with GOODSIG?
+
* add a way to set expiration time for key signatures.
* add some minor things vor VMS.
diff --git a/VERSION b/VERSION
index 80cc84cf3..1e7891933 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.2d
+1.0.3a
diff --git a/cipher/ChangeLog b/cipher/ChangeLog
index 7b73fb6a1..0c94910f4 100644
--- a/cipher/ChangeLog
+++ b/cipher/ChangeLog
@@ -1,3 +1,8 @@
+Wed Oct 4 15:50:18 CEST 2000 Werner Koch <[email protected]>
+
+ * sha1.c (transform): Use rol() macro. Actually this is not needed
+ for a newer gcc but there are still aoter compilers.
+
Thu Sep 14 14:20:38 CEST 2000 Werner Koch <[email protected]>
* random.c (fast_random_poll): Check ENOSYS for getrusage.
diff --git a/cipher/sha1.c b/cipher/sha1.c
index 2c2a10a7b..bd21aeea4 100644
--- a/cipher/sha1.c
+++ b/cipher/sha1.c
@@ -108,7 +108,7 @@ transform( SHA1_CONTEXT *hd, byte *data )
#define M(i) ( tm = x[i&0x0f] ^ x[(i-14)&0x0f] \
^ x[(i-8)&0x0f] ^ x[(i-3)&0x0f] \
- , (x[i&0x0f] = (tm << 1) | (tm >> 31)) )
+ , (x[i&0x0f] = rol(tm,1)) )
#define R(a,b,c,d,e,f,k,m) do { e += rol( a, 5 ) \
+ f( b, c, d ) \
diff --git a/configure.in b/configure.in
index 9d23be5e9..349956756 100644
--- a/configure.in
+++ b/configure.in
@@ -272,6 +272,12 @@ case "${target}" in
DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC"
;;
+ *-irix*)
+ NAME_OF_DEV_RANDOM="/dev/random"
+ NAME_OF_DEV_URANDOM="/dev/urandom"
+ DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC"
+ ;;
+
*)
NAME_OF_DEV_RANDOM="/dev/random"
NAME_OF_DEV_URANDOM="/dev/urandom"
diff --git a/doc/ChangeLog b/doc/ChangeLog
index e708aeae3..bca46abef 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+Wed Oct 4 15:50:18 CEST 2000 Werner Koch <[email protected]>
+
+ * gpgv.sgml: New.
+ * Makefile.am: build it.
+
Thu Sep 14 14:20:38 CEST 2000 Werner Koch <[email protected]>
* faq.raw: New.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index cb6874b6d..058fc4e9c 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,9 +1,9 @@
## Process this file with automake to create Makefile.in
-EXTRA_DIST = DETAILS gpg.sgml gpg.1 faq.raw FAQ faq.html \
+EXTRA_DIST = DETAILS gpg.sgml gpg.1 gpgv.sgml gpgv.1 faq.raw FAQ faq.html \
HACKING OpenPGP README.W32
-man_MANS = gpg.1
+man_MANS = gpg.1 gpgv.1
pkgdata_DATA = FAQ faq.html
@@ -49,3 +49,7 @@ dist-hook:
+
+
+
+
diff --git a/doc/gpgv.sgml b/doc/gpgv.sgml
new file mode 100644
index 000000000..8d60a3726
--- /dev/null
+++ b/doc/gpgv.sgml
@@ -0,0 +1,227 @@
+<!-- gpgv.sgml - the man page for GnuPG
+ Copyright (C) 2000 Free Software Foundation, Inc.
+
+ This file is part of GnuPG.
+
+ GnuPG 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.
+
+ GnuPG 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+-->
+<!-- This file should be processed by docbook-to-man to
+ create a manual page. This program has currently the bug
+ not to remove leading white space. So this source file does
+ not look very pretty
+
+ FIXME: generated a file with entity (e.g. pathnames) from the
+ configure scripts and include it here
+-->
+
+
+<!DOCTYPE refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<!entity ParmDir "<parameter>directory</parameter>">
+<!entity ParmFile "<parameter>file</parameter>">
+<!entity OptParmFile "<optional>&ParmFile;</optional>">
+<!entity ParmFiles "<parameter>files</parameter>">
+<!entity OptParmFiles "<optional>&ParmFiles;</optional>">
+<!entity ParmNames "<parameter>names</parameter>">
+<!entity OptParmNames "<optional>&ParmNames;</optional>">
+<!entity ParmName "<parameter>name</parameter>">
+<!entity OptParmName "<optional>&ParmName;</optional>">
+<!entity ParmKeyIDs "<parameter>key IDs</parameter>">
+<!entity ParmN "<parameter>n</parameter>">
+<!entity ParmFlags "<parameter>flags</parameter>">
+<!entity ParmString "<parameter>string</parameter>">
+<!entity ParmValue "<parameter>value</parameter>">
+<!entity ParmNameValue "<parameter>name=value</parameter>">
+]>
+
+<refentry id="gpgb">
+<refmeta>
+ <refentrytitle>gpgv</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="gnu">GNU Tools</refmiscinfo>
+</refmeta>
+<refnamediv>
+ <refname/gpg/
+ <refpurpose>signature verification tool</>
+</refnamediv>
+<refsynopsisdiv>
+ <synopsis>
+<command>gpg</>
+ <optional><parameter/options/</optional>
+ <optional><parameter/signed files/</optional>
+ </synopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+ <para>
+<command/gpgv/ is the OpenPGP signature checking tool.
+ </para>
+ <para>
+This program is a stripped down version of <command/gpg/ which is only
+able
+to check signatures. It is somewhat smaller than the full blown
+<command/gpg/ and uses a different (and more simple way) to check that
+the public keys used to made the signature are trustworth. There is
+no options files and only very few options are implemented.
+</para>
+<para>
+<command/gpgv/ assumes that all keys in the keyring are trustworty.
+It uses by default a keyring named <filename/trustedkeys.gpg/ which is
+assumed to be in the home directory as defined by GnuPG or set by an
+option or an environment variable. An option may be used to specify
+another keyring or even multiple keyrings.
+</para>
+</refsect1>
+
+<refsect1>
+<title>OPTIONS</title>
+<para>
+<command/gpgv/ recognizes these options:
+</para>
+
+<variablelist>
+
+
+<varlistentry>
+<term>-v, --verbose</term>
+<listitem><para>
+Give more information during processing. If used
+twice, the input data is listed in detail.
+</para></listitem></varlistentry>
+
+
+<varlistentry>
+<term>-q, --quiet</term>
+<listitem><para>
+Try to be as quiet as possible.
+</para></listitem></varlistentry>
+
+
+<varlistentry>
+<term>--keyring &ParmFile;</term>
+<listitem><para>
+Add &ParmFile to the list of keyrings.
+If &ParmFile begins with a tilde and a slash, these
+are replaced by the HOME directory. If the filename
+does not contain a slash, it is assumed to be in the
+home-directory ("~/.gnupg" if --homedir is not used).
+The filename may be prefixed with a scheme:</para>
+<para>"gnupg-ring:" is the default one.</para>
+<para>"gnupg-gdbm:" may be used for a GDBM ring. Note that GDBM
+is experimental and likely to be removed in future versions.</para>
+<para>It might make sense to use it together with --no-default-keyring.
+</para></listitem></varlistentry>
+
+
+<varlistentry>
+<term>--homedir &ParmDir;</term>
+<listitem><para>
+Set the name of the home directory to &ParmDir; If this
+option is not used it defaults to "~/.gnupg". It does
+not make sense to use this in a options file. This
+also overrides the environment variable "GNUPGHOME".
+</para></listitem></varlistentry>
+
+
+<varlistentry>
+<term>--status-fd &ParmN;</term>
+<listitem><para>
+Write special status strings to the file descriptor &ParmN;.
+See the file DETAILS in the documentation for a listing of them.
+</para></listitem></varlistentry>
+
+
+<varlistentry>
+<term>--logger-fd &ParmN;</term>
+<listitem><para>
+Write log output to file descriptor &ParmN; and not to stderr.
+</para></listitem></varlistentry>
+
+
+<varlistentry>
+<term>--ignore-time-conflict</term>
+<listitem><para>
+GnuPG normally checks that the timestamps associated with keys and
+signatures have plausible values. However, sometimes a signature seems to
+be older than the key due to clock problems. This option makes these
+checks just a warning.
+</para></listitem></varlistentry>
+
+
+</variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>RETURN VALUE</title>
+ <para>
+The program returns 0 if everything was fine, 1 if at least
+one signature was bad, and other error codes for fatal errors.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+ <variablelist>
+
+<varlistentry>
+<term>gpgv <parameter/pgpfile/</term>
+<term>gpgv <parameter/sigfile/ &OptParmFiles;</term>
+<listitem><para>
+Verify the signature of the file. The second form
+is used for detached signatures, where <parameter/sigfile/ is the detached
+signature (either ASCII armored or binary) and &OptParmFiles are the signed
+data; if this is not given the name of the file holding the signed data is
+constructed by cutting off the extension (".asc", ".sig" or ".sign") from
+<parameter/sigfile/.
+</para></listitem></varlistentry>
+
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>ENVIRONMENT</title>
+
+ <variablelist>
+<varlistentry>
+<term>HOME</term>
+<listitem><para>Used to locate the default home directory.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>GNUPGHOME</term>
+<listitem><para>If set directory used instead of "~/.gnupg".</para></listitem>
+</varlistentry>
+
+ </variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>FILES</title>
+ <variablelist>
+
+<varlistentry>
+<term>~/.gnupg/trustedkeys.gpg</term>
+<listitem><para>The default keyring with the allowed keys</para></listitem>
+</varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<!-- SEE ALSO not yet needed-->
+
+</refentry>
+
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 5a903c625..8bd087ae1 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,12 @@
+Wed Oct 4 15:50:18 CEST 2000 Werner Koch <[email protected]>
+
+ * sign.c (hash_for): New arg to take packet version in account, changed
+ call callers.
+
+ * gpgv.c: New.
+ * Makefile.am: Rearranged source files so that gpgv can be build with
+ at least files as possible.
+
Mon Sep 18 12:13:52 CEST 2000 Werner Koch <[email protected]>
* hkp.c (not_implemented): Print a notice for W32
diff --git a/g10/Makefile.am b/g10/Makefile.am
index 6170b1691..fcf443ecb 100644
--- a/g10/Makefile.am
+++ b/g10/Makefile.am
@@ -7,7 +7,7 @@ LDFLAGS = @LDFLAGS@ @DYNLINK_LDFLAGS@
needed_libs = ../cipher/libcipher.a ../mpi/libmpi.a ../util/libutil.a
#noinst_PROGRAMS = gpgd
-bin_PROGRAMS = gpg
+bin_PROGRAMS = gpg gpgv
common_source = \
build-packet.c \
@@ -15,57 +15,64 @@ common_source = \
filter.h \
free-packet.c \
getkey.c \
- keydb.h \
- delkey.c \
- pkclist.c \
- skclist.c \
ringedit.c \
+ seskey.c \
+ keydb.h \
kbnode.c \
main.h \
mainproc.c \
armor.c \
mdfilter.c \
textfilter.c \
- cipher.c \
misc.c \
options.h \
openfile.c \
keyid.c \
- trustdb.c \
- trustdb.h \
- tdbdump.c \
- tdbio.c \
- tdbio.h \
- hkp.h \
- hkp.c \
packet.h \
parse-packet.c \
- passphrase.c \
- pubkey-enc.c \
- seckey-cert.c \
- seskey.c \
- import.c \
- export.c \
comment.c \
status.c \
status.h \
- sign.c \
plaintext.c \
- encr-data.c \
- encode.c \
- revoke.c \
- keylist.c \
sig-check.c \
- signal.c \
- helptext.c
+ signal.c
gpg_SOURCES = g10.c \
$(common_source) \
+ pkclist.c \
+ skclist.c \
+ pubkey-enc.c \
+ passphrase.c \
+ seckey-cert.c \
+ encr-data.c \
+ cipher.c \
+ keylist.c \
+ encode.c \
+ sign.c \
verify.c \
+ revoke.c \
decrypt.c \
keyedit.c \
dearmor.c \
- keygen.c
+ import.c \
+ export.c \
+ hkp.h \
+ hkp.c \
+ trustdb.c \
+ trustdb.h \
+ tdbdump.c \
+ tdbio.c \
+ tdbio.h \
+ delkey.c \
+ keygen.c \
+ helptext.c
+
+gpgv_SOURCES = gpgv.c \
+ $(common_source) \
+ verify.c
+
+
+
#gpgd_SOURCES = gpgd.c \
# ks-proto.h \
diff --git a/g10/gpgv.c b/g10/gpgv.c
new file mode 100644
index 000000000..bcd97ecb5
--- /dev/null
+++ b/g10/gpgv.c
@@ -0,0 +1,305 @@
+/* gpgv.c - The GnuPG signature verify utility
+ * Copyright (C) 2000 Free Software Foundation, Inc.
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG 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.
+ *
+ * GnuPG 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+#include <config.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <unistd.h>
+#ifdef HAVE_DOSISH_SYSTEM
+ #include <fcntl.h> /* for setmode() */
+#endif
+
+
+#include "packet.h"
+#include "iobuf.h"
+#include "memory.h"
+#include "util.h"
+#include "main.h"
+#include "options.h"
+#include "keydb.h"
+#include "trustdb.h"
+#include "mpi.h"
+#include "cipher.h"
+#include "filter.h"
+#include "ttyio.h"
+#include "i18n.h"
+#include "status.h"
+#include "g10defs.h"
+#include "hkp.h"
+
+
+enum cmd_and_opt_values { aNull = 0,
+ oQuiet = 'q',
+ oVerbose = 'v',
+ oBatch = 500,
+ oKeyring,
+ oIgnoreTimeConflict,
+ oStatusFD,
+ oLoggerFD,
+ oHomedir,
+aTest };
+
+
+static ARGPARSE_OPTS opts[] = {
+
+ { 301, NULL, 0, N_("@\nOptions:\n ") },
+
+ { oVerbose, "verbose", 0, N_("verbose") },
+ { oQuiet, "quiet", 0, N_("be somewhat more quiet") },
+ { oKeyring, "keyring" ,2, N_("take the keys from this keyring")},
+ { oIgnoreTimeConflict, "ignore-time-conflict", 0,
+ N_("make timestamp conflicts only a warning") },
+ { oStatusFD, "status-fd" ,1, N_("|FD|write status info to this FD") },
+ { oLoggerFD, "logger-fd",1, "@" },
+ { oHomedir, "homedir", 2, "@" }, /* defaults to "~/.gnupg" */
+
+{0} };
+
+
+
+int g10_errors_seen = 0;
+
+const char *
+strusage( int level )
+{
+ const char *p;
+ switch( level ) {
+ case 11: p = "gpgv (GnuPG)";
+ break;
+ case 13: p = VERSION; break;
+ case 17: p = PRINTABLE_OS_NAME; break;
+ case 19: p =
+ _("Please report bugs to <[email protected]>.\n");
+ break;
+ case 1:
+ case 40: p =
+ _("Usage: gpgv [options] [files] (-h for help)");
+ break;
+ case 41: p =
+ _("Syntax: gpg [options] [files]\n"
+ "Check signatures against known trusted keys\n");
+ break;
+
+ default: p = default_strusage(level);
+ }
+ return p;
+}
+
+
+
+
+static void
+i18n_init(void)
+{
+ #ifdef USE_SIMPLE_GETTEXT
+ set_gettext_file( PACKAGE );
+ #else
+ #ifdef ENABLE_NLS
+ #ifdef HAVE_LC_MESSAGES
+ setlocale( LC_TIME, "" );
+ setlocale( LC_MESSAGES, "" );
+ #else
+ setlocale( LC_ALL, "" );
+ #endif
+ bindtextdomain( PACKAGE, G10_LOCALEDIR );
+ textdomain( PACKAGE );
+ #endif
+ #endif
+}
+
+
+int
+main( int argc, char **argv )
+{
+ ARGPARSE_ARGS pargs;
+ int rc=0;
+ STRLIST sl;
+ STRLIST nrings=NULL;
+ unsigned configlineno;
+
+ log_set_name("gpgv");
+ init_signals();
+ i18n_init();
+ opt.command_fd = -1; /* no command fd */
+ opt.pgp2_workarounds = 1;
+ opt.auto_key_retrieve = 1;
+ opt.always_trust = 1;
+ opt.batch = 1;
+
+ #ifdef __MINGW32__
+ opt.homedir = read_w32_registry_string( NULL, "Software\\GNU\\GnuPG", "HomeDir" );
+ #else
+ opt.homedir = getenv("GNUPGHOME");
+ #endif
+ if( !opt.homedir || !*opt.homedir ) {
+ opt.homedir = GNUPG_HOMEDIR;
+ }
+ tty_no_terminal(1);
+ tty_batchmode(1);
+ disable_dotlock();
+
+ pargs.argc = &argc;
+ pargs.argv = &argv;
+ pargs.flags= 1; /* do not remove the args */
+ while( optfile_parse( NULL, NULL, &configlineno, &pargs, opts) ) {
+ switch( pargs.r_opt ) {
+ case oQuiet: opt.quiet = 1; break;
+ case oVerbose: g10_opt_verbose++;
+ opt.verbose++; opt.list_sigs=1; break;
+ case oKeyring: append_to_strlist( &nrings, pargs.r.ret_str); break;
+ case oStatusFD: set_status_fd( pargs.r.ret_int ); break;
+ case oLoggerFD: log_set_logfile( NULL, pargs.r.ret_int ); break;
+ case oHomedir: opt.homedir = pargs.r.ret_str; break;
+ default : pargs.err = 2; break;
+ }
+ }
+
+ if( log_get_errorcount(0) )
+ g10_exit(2);
+
+ g10_opt_homedir = opt.homedir;
+
+ if( opt.verbose > 1 )
+ set_packet_list_mode(1);
+
+ if( !nrings ) /* no keyring given: use default one */
+ add_keyblock_resource("trustedkeys.gpg", 0, 0);
+ for(sl = nrings; sl; sl = sl->next )
+ add_keyblock_resource( sl->d, 0, 0 );
+
+ FREE_STRLIST(nrings);
+
+ if( (rc = verify_signatures( argc, argv ) ))
+ log_error("verify signatures failed: %s\n", g10_errstr(rc) );
+
+ /* cleanup */
+ g10_exit(0);
+ return 8; /*NEVER REACHED*/
+}
+
+
+void
+g10_exit( int rc )
+{
+ rc = rc? rc : log_get_errorcount(0)? 2 :
+ g10_errors_seen? 1 : 0;
+ exit(rc );
+}
+
+
+/* Stub:
+ * We have to override the trustcheck from pkclist.c becuase
+ * this utility assumes that all keys in the keyring are trustworthy
+ */
+int
+check_signatures_trust( PKT_signature *sig )
+{
+ return 0;
+}
+
+
+/* Stub:
+ * We don't have the trustdb , so we have to provide some stub functions
+ * instead
+ */
+int
+keyid_from_lid( ulong lid, u32 *keyid )
+{
+ return G10ERR_TRUSTDB;
+}
+
+/* Stub: */
+int
+query_trust_info( PKT_public_key *pk, const byte *namehash )
+{
+ return '?';
+}
+
+/* Stub: */
+int
+get_ownertrust_info( ulong lid )
+{
+ return '?';
+}
+
+
+/* Stub:
+ * Because we only work with trusted keys, it does not make sense to
+ * get them from a keyserver
+ */
+int
+hkp_ask_import( u32 *keyid )
+{
+ return -1;
+}
+
+/* Stub:
+ * No encryption here but mainproc links to these functions.
+ */
+int
+get_session_key( PKT_pubkey_enc *k, DEK *dek )
+{
+ return G10ERR_GENERAL;
+}
+/* Stub: */
+int
+get_override_session_key( DEK *dek, const char *string )
+{
+ return G10ERR_GENERAL;
+}
+/* Stub: */
+int
+decrypt_data( void *procctx, PKT_encrypted *ed, DEK *dek )
+{
+ return G10ERR_GENERAL;
+}
+
+
+/* Stub:
+ * No interactive commnds, so we don't need the helptexts
+ */
+void
+display_online_help( const char *keyword )
+{
+}
+
+/* Stub:
+ * We don't use secret keys, but getkey.c links to this
+ */
+int
+check_secret_key( PKT_secret_key *sk, int n )
+{
+ return G10ERR_GENERAL;
+}
+
+/* Stub:
+ * No secret key, so no passphrase needed
+ */
+DEK *
+passphrase_to_dek( u32 *keyid, int pubkey_algo,
+ int cipher_algo, STRING2KEY *s2k, int mode )
+{
+ return NULL;
+}
+
+
diff --git a/g10/mainproc.c b/g10/mainproc.c
index 882db04e2..6449d3823 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -1262,6 +1262,11 @@ proc_tree( CTX c, KBNODE node )
*/
/* c->mfx.md2? 0 :(sig->sig_class == 0x01) */
#endif
+ if ( DBG_HASHING ) {
+ md_start_debug( c->mfx.md, "verify" );
+ if ( c->mfx.md2 )
+ md_start_debug( c->mfx.md2, "verify2" );
+ }
if( c->sigs_only ) {
rc = hash_datafiles( c->mfx.md, c->mfx.md2,
c->signed_data, c->sigfilename,
diff --git a/g10/parse-packet.c b/g10/parse-packet.c
index 91aa231b0..3521951b9 100644
--- a/g10/parse-packet.c
+++ b/g10/parse-packet.c
@@ -1734,6 +1734,7 @@ parse_encrypted( IOBUF inp, int pkttype, unsigned long pktlen,
if( version != 1 ) {
log_error("encrypted_mdc packet with unknown version %d\n",
version);
+ /*skip_rest(inp, pktlen); should we really do this? */
goto leave;
}
ed->mdc_method = DIGEST_ALGO_SHA1;
diff --git a/g10/sign.c b/g10/sign.c
index 5d87dad84..588b70372 100644
--- a/g10/sign.c
+++ b/g10/sign.c
@@ -162,13 +162,13 @@ complete_sig( PKT_signature *sig, PKT_secret_key *sk, MD_HANDLE md )
}
static int
-hash_for(int pubkey_algo )
+hash_for(int pubkey_algo, int packet_version )
{
if( opt.def_digest_algo )
return opt.def_digest_algo;
if( pubkey_algo == PUBKEY_ALGO_DSA )
return DIGEST_ALGO_SHA1;
- if( pubkey_algo == PUBKEY_ALGO_RSA )
+ if( pubkey_algo == PUBKEY_ALGO_RSA && packet_version < 4 )
return DIGEST_ALGO_MD5;
return DEFAULT_DIGEST_ALGO;
}
@@ -304,7 +304,7 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr,
for( sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) {
PKT_secret_key *sk = sk_rover->sk;
- md_enable(mfx.md, hash_for(sk->pubkey_algo));
+ md_enable(mfx.md, hash_for(sk->pubkey_algo, sk->version ));
}
if( !multifile )
@@ -361,7 +361,7 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr,
sk = sk_rover->sk;
ops = m_alloc_clear( sizeof *ops );
ops->sig_class = opt.textmode && !outfile ? 0x01 : 0x00;
- ops->digest_algo = hash_for(sk->pubkey_algo);
+ ops->digest_algo = hash_for(sk->pubkey_algo, sk->version);
ops->pubkey_algo = sk->pubkey_algo;
keyid_from_sk( sk, ops->keyid );
ops->last = skcount == 1;
@@ -488,7 +488,7 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr,
sig = m_alloc_clear( sizeof *sig );
sig->version = old_style || opt.force_v3_sigs ? 3 : sk->version;
keyid_from_sk( sk, sig->keyid );
- sig->digest_algo = hash_for(sk->pubkey_algo);
+ sig->digest_algo = hash_for(sk->pubkey_algo, sk->version);
sig->pubkey_algo = sk->pubkey_algo;
sig->timestamp = make_timestamp();
sig->sig_class = opt.textmode && !outfile? 0x01 : 0x00;
@@ -538,7 +538,7 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr,
}
md_final( md );
- rc = do_sign( sk, sig, md, hash_for(sig->pubkey_algo) );
+ rc = do_sign( sk, sig, md, hash_for(sig->pubkey_algo, sk->version) );
md_close( md );
if( !rc ) { /* and write it */
@@ -621,7 +621,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
for( sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) {
PKT_secret_key *sk = sk_rover->sk;
- if( hash_for(sk->pubkey_algo) == DIGEST_ALGO_MD5 )
+ if( hash_for(sk->pubkey_algo, sk->version) == DIGEST_ALGO_MD5 )
only_md5 = 1;
else {
only_md5 = 0;
@@ -640,7 +640,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
iobuf_writestr(out, "Hash: " );
for( sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) {
PKT_secret_key *sk = sk_rover->sk;
- int i = hash_for(sk->pubkey_algo);
+ int i = hash_for(sk->pubkey_algo, sk->version);
if( !hashs_seen[ i & 0xff ] ) {
s = digest_algo_to_string( i );
@@ -665,7 +665,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
textmd = md_open(0, 0);
for( sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) {
PKT_secret_key *sk = sk_rover->sk;
- md_enable(textmd, hash_for(sk->pubkey_algo));
+ md_enable(textmd, hash_for(sk->pubkey_algo, sk->version));
}
if ( DBG_HASHING )
md_start_debug( textmd, "clearsign" );
@@ -690,7 +690,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
sig = m_alloc_clear( sizeof *sig );
sig->version = old_style || opt.force_v3_sigs ? 3 : sk->version;
keyid_from_sk( sk, sig->keyid );
- sig->digest_algo = hash_for(sk->pubkey_algo);
+ sig->digest_algo = hash_for(sk->pubkey_algo, sk->version);
sig->pubkey_algo = sk->pubkey_algo;
sig->timestamp = make_timestamp();
sig->sig_class = 0x01;
@@ -739,7 +739,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
}
md_final( md );
- rc = do_sign( sk, sig, md, hash_for(sig->pubkey_algo) );
+ rc = do_sign( sk, sig, md, hash_for(sig->pubkey_algo, sk->version) );
md_close( md );
if( !rc ) { /* and write it */
diff --git a/po/da.po b/po/da.po
index e9e4b789b..a32f8191f 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.0h\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-03-07 22:51+01:00\n"
"Last-Translator: Birger Langkjer <[email protected]>\n"
"Language-Team: Danish <[email protected]>\n"
@@ -2687,41 +2687,41 @@ msgstr ""
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr ""
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "import�r n�gler fra en n�gleserver"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s er ikke et gyldigt tegns�t\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "kan ikke �bne '%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "fejl ved l�sning af '%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/de.po b/po/de.po
index 6dfd7ff08..31a259f92 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.0h\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-06-12 12:50+0200\n"
"Last-Translator: Walter Koch <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
@@ -2804,41 +2804,41 @@ msgstr "Hinweis: Verfahren %d ist kein bevorzugtes Verschl�sselungsverfahren\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "Hinweis: geheimer Schl�ssel %08lX verf�llt am %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr "Schl�ssel %08lX von %s wird angefordert ...\n"
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "Schl�ssel ist beim Schl�sselserver nicht erh�ltlich: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr "Kein Schl�sselserver bekannt (Option --keyserver verwenden)\n"
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s: Dies ist keine g�ltige Schl�ssel-ID\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, c-format
msgid "can't connect to `%s': %s\n"
msgstr "Verbindung zu '%s' kann nicht aufgebaut werden: %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, c-format
msgid "error sending to `%s': %s\n"
msgstr "Fehler beim Senden an `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr "Senden an `%s' erfolgreich (status=%u)\n"
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr "Senden an `%s' erfolglos (status=%u)\n"
diff --git a/po/eo.po b/po/eo.po
index e5fa0a44b..86c0ec7b8 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.1e\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-08-16 23:19+01:00\n"
"Last-Translator: Edmund GRIMLEY EVANS <[email protected]>\n"
"Language-Team: Esperanto <[email protected]>\n"
@@ -2757,41 +2757,41 @@ msgstr "NOTO: �ifrad-metodo %d ne trovita en preferoj\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "NOTO: sekreta �losilo %08lX eksvalidi�is je %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr "petas la �losilon %08lX de %s ...\n"
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "ne povas akiri �losilon de �losilservilo: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr "neniu �losilservilo konata (uzu la opcion --keyserver)\n"
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s: ne valida �losilidentigilo\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, c-format
msgid "can't connect to `%s': %s\n"
msgstr "ne povas konekti�i al '%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, c-format
msgid "error sending to `%s': %s\n"
msgstr "eraro dum sendo al '%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr "sukceso dum sendo al '%s' (statuso=%u)\n"
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr "malsukceso dum sendo al '%s': statuso=%u\n"
diff --git a/po/es_ES.po b/po/es_ES.po
index 3c026a5f8..51c189b97 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -7,7 +7,7 @@
# GPG version: 1.0.0
msgid ""
msgstr ""
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 1999-10-27 06:35+0200\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Date: 1998-11-13 10:49:25+0100\n"
@@ -2791,41 +2791,41 @@ msgstr "NOTA: algoritmo de cifrado %d no encontrado en las preferencias\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "NOTA: clave de la firma caducada el %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "no puede escribirse en el anillo: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "'%s' no es un identificativo largo de clave v�lido\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "no puede abrirse `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "error leyendo `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index dc1f7b6c7..7f51b69a5 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.1h\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-06-28 18:41+02:00\n"
"Last-Translator: Ga�l Qu�ri <[email protected]>\n"
"Language-Team: French <[email protected]>\n"
@@ -2796,41 +2796,41 @@ msgstr ""
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "NOTE: la cl� secr�te %08lX a expir� le %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr "requ�te de la cl� %08lX de %s...\n"
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "impossible d'obtenir les cl�s du serveur: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr "aucun serveur de cl�s n'est connu (utilisez l'option �--keyserver�)\n"
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s: l'identification de la cl� est invalide\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, c-format
msgid "can't connect to `%s': %s\n"
msgstr "impossible de se connecter � `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, c-format
msgid "error sending to `%s': %s\n"
msgstr "erreur pendant l'envoi de `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr "l'envoi � `%s' s'est d�roul� avec succ�s (r�sultat=%u)\n"
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr "l'envoi � `%s' a �chou�: le r�sultat est %u\n"
diff --git a/po/id.po b/po/id.po
index 677fa7c8c..bd51968d2 100644
--- a/po/id.po
+++ b/po/id.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: GNU Privacy Guard 1.0.1\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-02-06 18:04+07:00\n"
"Last-Translator: Tedi Heriyanto <[email protected]>\n"
"Language-Team: Indonesia <[email protected]>\n"
@@ -2757,41 +2757,41 @@ msgstr "CATATAN: algoritma cipher %d tidak ditemukan dalam preferensi\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "CATATAN: kunci signature berakhir %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "impor kunci dari key server"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s bukanlah set karakter yang valid\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "tidak dapat membuka `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "kesalahan membaca `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/it.po b/po/it.po
index d0db82f2b..cb7e13c83 100644
--- a/po/it.po
+++ b/po/it.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.0.0h\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 1999-12-08 15:51+02:00\n"
"Last-Translator: Marco d'Itri <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
@@ -2774,41 +2774,41 @@ msgstr ""
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "NOTA: chiave per firmare scaduta il %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "importa le chiavi da un key server"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s non � un set di caratteri valido\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "impossibile aprire `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "errore leggendo `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/ja.po b/po/ja.po
index 26f8a82ee..16e7b60b8 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.0h\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-02-16 20:10+09:00\n"
"Last-Translator: IIDA Yosiaki <[email protected]>\n"
"Language-Team: Japanese <[email protected]>\n"
@@ -2752,41 +2752,41 @@ msgstr "����: �Ź楢�르�ꥺ�� %d ��ͥ�������äƤ��ޤ���\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "����: ��̾�θ��ϴ����ڤ�Ǥ� %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "�������С����鸰���ɤ߹���"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s ��������ʸ�������ɤǤϤ���ޤ���\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "`%s' �������ޤ���: %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "`%s' ���ɤ߹��ߤ˼���: %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index 11199cced..a7b96f5d3 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.0h\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-02-20 21:30+01:00\n"
"Last-Translator: Ivo Timmermans <[email protected]>\n"
"Language-Team: Dutch <[email protected]>\n"
@@ -2793,41 +2793,41 @@ msgstr "LET OP: versleutelalgoritme %d niet gevonden in de voorkeuren\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "LET OP: sleutel voor ondertekening is vervallen op %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr "opvragen van sleutel %08lX van %s ...\n"
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "kan de sleutel niet opvragen van de server: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr "geen sleutelserver bekend (gebruik de optie --keyserver)\n"
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s: ongeldig sleutelnummer\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, c-format
msgid "can't connect to `%s': %s\n"
msgstr "kan geen verbinding maken met `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, c-format
msgid "error sending to `%s': %s\n"
msgstr "fout bij versturen naar `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr "versturen naar `%s' gelukt (status=%u)\n"
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr "fout bij versturen naar `%s': status=%u\n"
diff --git a/po/pl.po b/po/pl.po
index 1298c05a7..28da7b954 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.0h\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 1999-12-05 21:29+01:00\n"
"Last-Translator: Janusz A. Urbanowicz <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
@@ -2805,41 +2805,41 @@ msgstr "UWAGA: brak algorytmu szyfruj�cego %d w ustawieniach\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "UWAGA: klucz podpisuj�cy przekroczy� dat� wa�no�ci %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "niemo�liwy jest zapis do zbioru kluczy: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "'%s\" nie jest w�a�ciwym identyfikatorem klucza\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "nie mo�na otworzy� %s: %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "b��d odczytu '%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 3ee042daf..a723b3462 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Date: 1998-11-20 23:46:36-0200\n"
"From: Thiago Jung Bauermann <[email protected]>\n"
@@ -2800,41 +2800,41 @@ msgstr "NOTA: algoritmo de criptografia %d n�o encontrado nas prefer�ncias\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "NOTA: chave de assinatura expirou %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "imposs�vel escrever para o chaveiro: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s n�o � um mapa de caracteres v�lido\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "imposs�vel abrir `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 5e8c8a111..7c7d13a75 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 1999-09-09 20:28+0000\n"
"Last-Translator: Pedro Morais <[email protected]>\n"
"Language-Team: pt\n"
@@ -2794,41 +2794,41 @@ msgstr "NOTA: algoritmo de cifragem %d n�o encontrado nas prefer�ncias\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "NOTA: chave de assinatura expirou %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "importar chaves de um servidor"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s n�o � um conjunto de caracteres v�lido\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "imposs�vel abrir `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/ru.po b/po/ru.po
index a0936e45c..445092e27 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@
# QingLong <qinglong@Bolizm> (couldn't send an email to let you know)
msgid ""
msgstr ""
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"Content-Type: text/plain; charset=\n"
"Date: 1998-01-26 22:08:36+0100\n"
"From: Gregory Steuck <[email protected]>\n"
@@ -2918,41 +2918,41 @@ msgstr "���������: ������������ �������� %d �� ������ � �������������\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "��������������: ���� ������� ������� %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr ""
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, fuzzy, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "���������� �������� � ������ ������: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr ""
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, fuzzy, c-format
msgid "%s: not a valid key ID\n"
msgstr "������������ ������ � �����������.\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, fuzzy, c-format
msgid "can't connect to `%s': %s\n"
msgstr "���������� ������� ���� `%s': %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, fuzzy, c-format
msgid "error sending to `%s': %s\n"
msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr ""
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr ""
diff --git a/po/sv.po b/po/sv.po
index 158c0a2cd..7d41f924e 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -13,7 +13,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.1e\n"
-"POT-Creation-Date: 2000-09-14 17:35+0200\n"
+"POT-Creation-Date: 2000-09-18 12:17+0200\n"
"PO-Revision-Date: 2000-04-23 16:43+02:00\n"
"Last-Translator: Daniel Resare <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
@@ -2816,41 +2816,41 @@ msgstr "NOTERA: chifferalgoritmen %d finns inte i inst�llningarna\n"
msgid "NOTE: secret key %08lX expired at %s\n"
msgstr "NOTERA: den hemliga nyckeln %08lX gick ut %s\n"
-#: g10/hkp.c:62
+#: g10/hkp.c:72
#, c-format
msgid "requesting key %08lX from %s ...\n"
msgstr "fr�ga efter nyckeln %08lX fr�n %s ...\n"
-#: g10/hkp.c:75
+#: g10/hkp.c:85
#, c-format
msgid "can't get key from keyserver: %s\n"
msgstr "kan inte h�mta nyckeln fr�n en nyckelserver: %s\n"
-#: g10/hkp.c:98 g10/hkp.c:136
+#: g10/hkp.c:109 g10/hkp.c:148
msgid "no keyserver known (use option --keyserver)\n"
msgstr "k�nner inte till n�gon nyckelserver (anv�nd flaggan --keyserver)\n"
-#: g10/hkp.c:106
+#: g10/hkp.c:117
#, c-format
msgid "%s: not a valid key ID\n"
msgstr "%s: ogiltig nyckelidentitet\n"
-#: g10/hkp.c:158
+#: g10/hkp.c:170
#, c-format
msgid "can't connect to `%s': %s\n"
msgstr "kan inte ansluta till \"%s\": %s\n"
-#: g10/hkp.c:182
+#: g10/hkp.c:194
#, c-format
msgid "error sending to `%s': %s\n"
msgstr "fel vid s�ndning till \"%s\": %s\n"
-#: g10/hkp.c:194
+#: g10/hkp.c:206
#, c-format
msgid "success sending to `%s' (status=%u)\n"
msgstr "lyckades s�nda till \"%s\" (status=%u)\n"
-#: g10/hkp.c:197
+#: g10/hkp.c:209
#, c-format
msgid "failed sending to `%s': status=%u\n"
msgstr "misslyckades s�nda till \"%s\": status=%u\n"
diff --git a/scripts/mk-w32-dist b/scripts/mk-w32-dist
index 235abb98b..0a070a905 100755
--- a/scripts/mk-w32-dist
+++ b/scripts/mk-w32-dist
@@ -20,7 +20,11 @@ fi
rm * || true
ln ../g10/gpg gpg.exe
i386--mingw32-strip gpg.exe
-man -T latin1 -l ../doc/gpg.1 >gpg.man
+if [ -t ../doc/gpg.man ] ; then
+ cat ../doc/gpg.man >gpg.man
+else
+ man -T latin1 -l ../doc/gpg.1 >gpg.man
+fi
todos gpg.man
cp ${srcdir}/README .
todos README
diff --git a/tools/mail-signed-keys b/tools/mail-signed-keys
index 3f9f01831..a9ec154bd 100755
--- a/tools/mail-signed-keys
+++ b/tools/mail-signed-keys
@@ -1,5 +1,7 @@
#!/bin/sh
+# FIXME: Add --dry-run, use only valid email addreses, extract only given keys
+
if [ -z "$1" -o -z "$2" ]; then
echo "usage: mail-signed-keys keyring signedby" >&2
exit 1
@@ -73,3 +75,16 @@ function myflush()
'
+
+
+
+
+
+
+
+
+
+
+
+
+