1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-20 01:02:44 +02:00

See ChangeLog: Wed Oct 4 15:50:18 CEST 2000 Werner Koch

This commit is contained in:
Werner Koch 2000-10-04 13:51:27 +00:00
parent 47b95d1159
commit 6dc268a8a1
33 changed files with 793 additions and 182 deletions

View File

@ -1,3 +1,9 @@
Wed Oct 4 15:50:18 CEST 2000 Werner Koch <wk@openit.de>
* 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 <wk@openit.de>
* acinclude.m4 (GNUPG_CHECK_FAQPROG): New.

13
NEWS
View File

@ -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)
----------------------------------------------

2
THANKS
View File

@ -38,7 +38,7 @@ Ed Boraas ecxjo@esperanto.org
Edmund GRIMLEY EVANS edmundo@rano.org
Enzo Michelangeli em@MailAndNews.com
Ernst Molitor ernst.molitor@uni-bonn.de
Fabio Coatti cova@felix.unife.it
Fabio Coatti cova@ferrara.linux.it
Felix von Leitner leitner@amdiv.de
Frank Donahoe fdonahoe@wilkes1.wilkes.edu
Frank Heckenbach heckenb@mi.uni-erlangen.de

9
TODO
View File

@ -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.

View File

@ -1 +1 @@
1.0.2d
1.0.3a

View File

@ -1,3 +1,8 @@
Wed Oct 4 15:50:18 CEST 2000 Werner Koch <wk@openit.de>
* 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 <wk@openit.de>
* random.c (fast_random_poll): Check ENOSYS for getrusage.

View File

@ -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 ) \

View File

@ -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"

View File

@ -1,3 +1,8 @@
Wed Oct 4 15:50:18 CEST 2000 Werner Koch <wk@openit.de>
* gpgv.sgml: New.
* Makefile.am: build it.
Thu Sep 14 14:20:38 CEST 2000 Werner Koch <wk@openit.de>
* faq.raw: New.

View File

@ -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:

227
doc/gpgv.sgml Normal file
View File

@ -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>

View File

@ -1,3 +1,12 @@
Wed Oct 4 15:50:18 CEST 2000 Werner Koch <wk@openit.de>
* 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 <wk@openit.de>
* hkp.c (not_implemented): Print a notice for W32

View File

@ -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 \
packet.h \
parse-packet.c \
comment.c \
status.c \
status.h \
plaintext.c \
sig-check.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 \
import.c \
export.c \
hkp.h \
hkp.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 \
delkey.c \
keygen.c \
helptext.c
gpg_SOURCES = g10.c \
$(common_source) \
verify.c \
decrypt.c \
keyedit.c \
dearmor.c \
keygen.c
gpgv_SOURCES = gpgv.c \
$(common_source) \
verify.c
#gpgd_SOURCES = gpgd.c \
# ks-proto.h \

305
g10/gpgv.c Normal file
View File

@ -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 <gnupg-bugs@gnu.org>.\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;
}

View File

@ -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,

View File

@ -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;

View File

@ -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 */

View File

@ -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 <birger.langkjer@image.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\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 ""

View File

@ -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 <koch@hsp.de>\n"
"Language-Team: German <de@li.org>\n"
@ -2804,41 +2804,41 @@ msgstr "Hinweis: Verfahren %d ist kein bevorzugtes Verschl
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"

View File

@ -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 <edmundo@rano.org>\n"
"Language-Team: Esperanto <eo@li.org>\n"
@ -2757,41 +2757,41 @@ msgstr "NOTO:
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"

View File

@ -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 ""

View File

@ -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 <gqueri@mail.dotcom.fr>\n"
"Language-Team: French <traduc@traduc.org>\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"

View File

@ -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 <tedi-h@usa.net>\n"
"Language-Team: Indonesia <id@li.org>\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 ""

View File

@ -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 <md@linux.it>\n"
"Language-Team: Italian <it@li.org>\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 ""

View File

@ -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 <iida@secom.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
@ -2752,41 +2752,41 @@ msgstr "
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 ""

View File

@ -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 <itimmermans@bigfoot.com>\n"
"Language-Team: Dutch <nl@li.org>\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"

View File

@ -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 <alex@bofh.net.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
@ -2805,41 +2805,41 @@ msgstr "UWAGA: brak algorytmu szyfruj
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 ""

View File

@ -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 <jungmann@usa.net>\n"
@ -2800,41 +2800,41 @@ msgstr "NOTA: algoritmo de criptografia %d 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 ""

View File

@ -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 <morais@poli.org>\n"
"Language-Team: pt\n"
@ -2794,41 +2794,41 @@ msgstr "NOTA: algoritmo de cifragem %d 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 ""

View File

@ -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 <steuck@iname.com>\n"
@ -2918,41 +2918,41 @@ msgstr "
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 ""

View File

@ -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 <daniel@resare.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
@ -2816,41 +2816,41 @@ msgstr "NOTERA: chifferalgoritmen %d finns inte i inst
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"

View File

@ -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

View File

@ -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()
'