summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2006-10-02 13:54:35 +0200
committerWerner Koch <wk@gnupg.org>2006-10-02 13:54:35 +0200
commit4b48bcacc9a242365e85ca788c4c966d8aeb1c10 (patch)
tree21e803ec571bbe4d9288e014a16ccafe0ac45056
parent2006-10-02 Marcus Brinkmann <marcus@g10code.de> (diff)
downloadgnupg2-4b48bcacc9a242365e85ca788c4c966d8aeb1c10.tar.xz
gnupg2-4b48bcacc9a242365e85ca788c4c966d8aeb1c10.zip
Fix for bug 537
-rw-r--r--ChangeLog8
-rw-r--r--common/ChangeLog5
-rw-r--r--common/iobuf.c46
-rw-r--r--common/iobuf.h17
-rw-r--r--configure.ac20
-rw-r--r--g10/ChangeLog15
-rw-r--r--g10/armor.c2
-rw-r--r--g10/card-util.c2
-rw-r--r--g10/cipher.c2
-rw-r--r--g10/compress.c51
-rw-r--r--g10/delkey.c2
-rw-r--r--g10/encode.c4
-rw-r--r--g10/encr-data.c411
-rw-r--r--g10/export.c18
-rw-r--r--g10/getkey.c12
-rw-r--r--g10/gpg.c10
-rw-r--r--g10/gpgv.c6
-rw-r--r--g10/import.c2
-rw-r--r--g10/keydb.h8
-rw-r--r--g10/keyedit.c6
-rw-r--r--g10/keylist.c8
-rw-r--r--g10/keyserver-internal.h10
-rw-r--r--g10/keyserver.c40
-rw-r--r--g10/main.h38
-rw-r--r--g10/mainproc.c4
-rw-r--r--g10/options.h16
-rw-r--r--g10/packet.h2
-rw-r--r--g10/parse-packet.c5
-rw-r--r--g10/pkclist.c16
-rw-r--r--g10/plaintext.c4
-rw-r--r--g10/revoke.c2
-rw-r--r--g10/sign.c12
-rw-r--r--g10/skclist.c6
-rw-r--r--g10/verify.c2
-rw-r--r--gl/Makefile.am14
-rw-r--r--gl/m4/gnulib.m44
-rw-r--r--gl/m4/strpbrk.m416
-rw-r--r--gl/m4/strsep.m417
-rw-r--r--gl/strpbrk.c42
-rw-r--r--gl/strpbrk.h28
-rw-r--r--gl/strsep.c55
-rw-r--r--gl/strsep.h52
-rw-r--r--jnlib/ChangeLog72
-rw-r--r--jnlib/Makefile.am36
-rw-r--r--jnlib/README11
-rw-r--r--jnlib/argparse.c28
-rw-r--r--jnlib/argparse.h28
-rw-r--r--jnlib/dotlock.c26
-rw-r--r--jnlib/dotlock.h31
-rw-r--r--jnlib/libjnlib-config.h31
-rw-r--r--jnlib/logging.c30
-rw-r--r--jnlib/logging.h28
-rw-r--r--jnlib/mischelp.c88
-rw-r--r--jnlib/mischelp.h38
-rw-r--r--jnlib/stringhelp.c75
-rw-r--r--jnlib/stringhelp.h49
-rw-r--r--jnlib/strlist.c26
-rw-r--r--jnlib/strlist.h32
-rw-r--r--jnlib/types.h118
-rw-r--r--jnlib/utf8conv.c28
-rw-r--r--jnlib/utf8conv.h28
-rw-r--r--jnlib/w32-afunix.c38
-rw-r--r--jnlib/w32-afunix.h15
-rw-r--r--jnlib/w32-pth.c12
-rw-r--r--jnlib/w32-pth.h12
-rw-r--r--jnlib/xmalloc.c28
-rw-r--r--jnlib/xmalloc.h28
-rw-r--r--po/be.po82
-rw-r--r--po/ca.po82
-rw-r--r--po/cs.po82
-rw-r--r--po/da.po82
-rw-r--r--po/de.po82
-rw-r--r--po/el.po82
-rw-r--r--po/eo.po82
-rw-r--r--po/es.po82
-rw-r--r--po/et.po82
-rw-r--r--po/fi.po82
-rw-r--r--po/fr.po82
-rw-r--r--po/gl.po82
-rw-r--r--po/hu.po82
-rw-r--r--po/id.po82
-rw-r--r--po/it.po82
-rw-r--r--po/ja.po82
-rw-r--r--po/nb.po82
-rw-r--r--po/pl.po82
-rw-r--r--po/pt.po82
-rw-r--r--po/pt_BR.po82
-rw-r--r--po/ro.po82
-rw-r--r--po/ru.po82
-rw-r--r--po/sk.po82
-rw-r--r--po/sv.po82
-rw-r--r--po/tr.po82
-rw-r--r--po/zh_CN.po82
-rw-r--r--po/zh_TW.po82
-rw-r--r--scd/command.c2
-rw-r--r--sm/call-dirmngr.c6
-rw-r--r--sm/certchain.c2
-rw-r--r--sm/delete.c2
-rw-r--r--sm/export.c4
-rw-r--r--sm/gpgsm.c10
-rw-r--r--sm/gpgsm.h8
-rw-r--r--sm/keydb.c4
-rw-r--r--sm/keydb.h2
-rw-r--r--sm/keylist.c8
-rw-r--r--sm/server.c12
-rw-r--r--tests/openpgp/ChangeLog5
-rw-r--r--tests/openpgp/Makefile.am3
-rw-r--r--tests/openpgp/bug537-test.data.asc960
-rwxr-xr-xtests/openpgp/signencrypt.test15
-rwxr-xr-xtests/openpgp/sigs.test2
-rw-r--r--tools/gpgsplit.c13
111 files changed, 3107 insertions, 2141 deletions
diff --git a/ChangeLog b/ChangeLog
index 787115939..a5b32cc0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-09-27 Werner Koch <wk@g10code.com>
+
+ * gl/strsep.h, gl/strsep.c, gl/m4/strsep.m4: Removed.
+ * gl/strpbrk.h, gl/strpbrk.c, gl/m4/strpbrk.m4: Removed.
+ * gl/Makefile.am: Removed module strsep and strpbrk.
+ * configure.ac: Check for strsep in the context of jnlib. Remove
+ check from gl_MODULES. Moved check for timegm into the jnlib context.
+
2006-09-27 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am: Fix cut & paste error.
diff --git a/common/ChangeLog b/common/ChangeLog
index 4e385e109..7fc6af2e5 100644
--- a/common/ChangeLog
+++ b/common/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-02 Werner Koch <wk@g10code.com>
+
+ * iobuf.c (iobuf_unread): Removed. This code is not required.
+ Also removed the entire unget buffer stuff.
+
2006-09-27 Werner Koch <wk@g10code.com>
* util.h: Do not include strsep.h and strpbrk.h.
diff --git a/common/iobuf.c b/common/iobuf.c
index 9b13f8b02..113d35bb4 100644
--- a/common/iobuf.c
+++ b/common/iobuf.c
@@ -1037,7 +1037,6 @@ iobuf_close (iobuf_t a)
{
memset (a->d.buf, 0, a->d.size); /* erase the buffer */
xfree (a->d.buf);
- xfree (a->unget.buf);
}
xfree (a);
}
@@ -1539,7 +1538,6 @@ pop_filter (iobuf_t a, int (*f) (void *opaque, int control,
b = a->chain;
assert (b);
xfree (a->d.buf);
- xfree (a->unget.buf);
xfree (a->real_fname);
memcpy (a, b, sizeof *a);
xfree (b);
@@ -1581,7 +1579,6 @@ pop_filter (iobuf_t a, int (*f) (void *opaque, int control,
*/
b = a->chain;
xfree (a->d.buf);
- xfree (a->unget.buf);
xfree (a->real_fname);
memcpy (a, b, sizeof *a);
xfree (b);
@@ -1624,7 +1621,6 @@ underflow (iobuf_t a)
log_debug ("iobuf-%d.%d: pop `%s' in underflow\n",
a->no, a->subno, a->desc);
xfree (a->d.buf);
- xfree (a->unget.buf);
xfree (a->real_fname);
memcpy (a, b, sizeof *a);
xfree (b);
@@ -1699,7 +1695,6 @@ underflow (iobuf_t a)
log_debug ("iobuf-%d.%d: pop `%s' in underflow (!len)\n",
a->no, a->subno, a->desc);
xfree (a->d.buf);
- xfree (a->unget.buf);
xfree (a->real_fname);
memcpy (a, b, sizeof *a);
xfree (b);
@@ -1780,17 +1775,6 @@ iobuf_readbyte (iobuf_t a)
{
int c;
- /* nlimit does not work together with unget */
- /* nbytes is also not valid! */
- if (a->unget.buf)
- {
- if (a->unget.start < a->unget.len)
- return a->unget.buf[a->unget.start++];
- xfree (a->unget.buf);
- a->unget.buf = NULL;
- a->nofast &= ~2;
- }
-
if (a->nlimit && a->nbytes >= a->nlimit)
return -1; /* forced EOF */
@@ -1812,9 +1796,9 @@ iobuf_read (iobuf_t a, void *buffer, unsigned int buflen)
unsigned char *buf = (unsigned char *)buffer;
int c, n;
- if (a->unget.buf || a->nlimit)
+ if (a->nlimit)
{
- /* handle special cases */
+ /* Handle special cases. */
for (n = 0; n < buflen; n++)
{
if ((c = iobuf_readbyte (a)) == -1)
@@ -1865,30 +1849,6 @@ iobuf_read (iobuf_t a, void *buffer, unsigned int buflen)
-/* This is a verly limited unget fucntion for an iobuf. It does only
- work in certain cases and should be used with care. */
-void
-iobuf_unread (iobuf_t a, const unsigned char *buf, unsigned int buflen)
-{
- unsigned int new_len;
-
- if (!buflen)
- return;
-
- /* We always relocate the buffer, which is not optimal. However,
- the code is easier to read this way, and it is not on the fast
- path. */
- if ( !a->unget.buf )
- a->unget.size = a->unget.start = a->unget.len = 0;
-
- new_len = a->unget.len + buflen;
- a->unget.buf = xrealloc(a->unget.buf, new_len);
- memcpy(a->unget.buf + a->unget.len, buf, buflen);
- a->unget.len = new_len;
- a->nofast |= 2;
-}
-
-
/****************
* Have a look at the iobuf.
* NOTE: This only works in special cases.
@@ -1905,7 +1865,7 @@ iobuf_peek (iobuf_t a, byte * buf, unsigned buflen)
{
if (underflow (a) == -1)
return -1;
- /* and unget this character */
+ /* And unget this character. */
assert (a->d.start == 1);
a->d.start = 0;
}
diff --git a/common/iobuf.h b/common/iobuf.h
index 55c0b3b6d..fa11f3905 100644
--- a/common/iobuf.h
+++ b/common/iobuf.h
@@ -47,8 +47,6 @@ struct iobuf_struct
off_t nbytes; /* Used together with nlimit. */
off_t ntotal; /* Total bytes read (position of stream). */
int nofast; /* Used by the iobuf_get (). */
- /* bit 0 (LSB): slow path because of limit. */
- /* bit 1: slow path because of unread. */
void *directfp;
struct
{
@@ -63,24 +61,16 @@ struct iobuf_struct
int error;
int (*filter) (void *opaque, int control,
iobuf_t chain, byte * buf, size_t * len);
- void *filter_ov; /* value for opaque */
+ void *filter_ov; /* Value for opaque */
int filter_ov_owner;
char *real_fname;
- iobuf_t chain; /* next iobuf used for i/o if any
+ iobuf_t chain; /* Next iobuf used for i/o if any
(passed to filter) */
int no, subno;
const char *desc;
- void *opaque; /* can be used to hold any information
+ void *opaque; /* Can be used to hold any information
this value is copied to all
instances */
- struct
- {
- size_t size; /* allocated size */
- size_t start; /* number of invalid bytes at the
- begin of the buffer */
- size_t len; /* currently filled to this size */
- byte *buf;
- } unget;
};
#ifndef EXTERN_UNLESS_MAIN_MODULE
@@ -137,7 +127,6 @@ int iobuf_writestr (iobuf_t a, const char *buf);
void iobuf_flush_temp (iobuf_t temp);
int iobuf_write_temp (iobuf_t a, iobuf_t temp);
size_t iobuf_temp_to_buffer (iobuf_t a, byte * buffer, size_t buflen);
-void iobuf_unget_and_close_temp (iobuf_t a, iobuf_t temp);
off_t iobuf_get_filelength (iobuf_t a, int *overflow);
#define IOBUF_FILELENGTH_LIMIT 0xffffffff
diff --git a/configure.ac b/configure.ac
index d2f65ee50..829200b2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -952,8 +952,8 @@ AC_CHECK_DECLS(getpagesize)
AC_FUNC_FSEEKO
AC_FUNC_VPRINTF
AC_FUNC_FORK
-AC_CHECK_FUNCS([strerror stpcpy strsep strlwr tcgetattr strtoul mmap])
-AC_CHECK_FUNCS([strcasecmp strncasecmp ctermid times timegm gmtime_r])
+AC_CHECK_FUNCS([strerror stpcpy strlwr tcgetattr strtoul mmap])
+AC_CHECK_FUNCS([strcasecmp strncasecmp ctermid times gmtime_r])
AC_CHECK_FUNCS([unsetenv getpwnam getpwuid fcntl ftruncate])
AC_CHECK_FUNCS([memmove gettimeofday getrusage setrlimit clock_gettime])
AC_CHECK_FUNCS([atexit raise getpagesize strftime nl_langinfo setlocale])
@@ -963,21 +963,21 @@ AC_CHECK_FUNCS([ttyname isascii memrchr rand ftello])
AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include <signal.h>])
#
+# These are needed by libjnlib - fixme: we should have macros for them
+#
+AC_CHECK_FUNCS([memicmp stpcpy strsep strlwr strtoul memmove stricmp strtol])
+AC_CHECK_FUNCS([timegm getrusage setrlimit stat setlocale])
+AC_CHECK_FUNCS([flockfile funlockfile fopencookie funopen])
+
+#
# gnulib checks
#
gl_SOURCE_BASE(gl)
gl_M4_BASE(gl/m4)
-gl_MODULES(setenv strsep mkdtemp vasprintf xsize)
+gl_MODULES(setenv mkdtemp vasprintf xsize)
gl_INIT
-#
-# These are needed by libjnlib - fixme: we should have macros for them
-#
-AC_CHECK_FUNCS([memicmp stpcpy strlwr strtoul memmove stricmp strtol])
-AC_CHECK_FUNCS([getrusage setrlimit stat setlocale])
-AC_CHECK_FUNCS([flockfile funlockfile fopencookie funopen])
-
#
# W32 specific test
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 6c6d2181d..ec0a388df 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,18 @@
+2006-10-02 Werner Koch <wk@g10code.com>
+
+ * encr-data.c (decrypt_data, mdc_decode_filter): Check the MDC
+ right here and don't let parse-packet handle the MDC.
+
+2006-09-29 Werner Koch <wk@g10code.com>
+
+ * compress.c (do_uncompress): Removed use of Z_PARTIAL_FLUSH.
+ This is outdated and old zlib versions which still require it have
+ security problems.
+
+2006-09-27 Werner Koch <wk@g10code.com>
+
+ Replaced all STRLIST by strlist_t.
+
2006-09-21 Werner Koch <wk@g10code.com>
* signal.c (got_fatal_signal): Replaced readline stuff by a tty
diff --git a/g10/armor.c b/g10/armor.c
index 2336ff6f9..e9efa779d 100644
--- a/g10/armor.c
+++ b/g10/armor.c
@@ -992,7 +992,7 @@ armor_filter( void *opaque, int control,
else if( control == IOBUFCTRL_FLUSH && !afx->cancel ) {
if( !afx->status ) { /* write the header line */
const char *s;
- STRLIST comment=opt.comments;
+ strlist_t comment=opt.comments;
if( afx->what >= DIM(head_strings) )
log_bug("afx->what=%d", afx->what);
diff --git a/g10/card-util.c b/g10/card-util.c
index 2738cbebf..d05f61a62 100644
--- a/g10/card-util.c
+++ b/g10/card-util.c
@@ -1386,7 +1386,7 @@ card_edit_completion(const char *text, int start, int end)
/* Menu to edit all user changeable values on an OpenPGP card. Only
Key creation is not handled here. */
void
-card_edit (STRLIST commands)
+card_edit (strlist_t commands)
{
enum cmdids cmd = cmdNOP;
int have_commands = !!commands;
diff --git a/g10/cipher.c b/g10/cipher.c
index b33deb28b..08395575f 100644
--- a/g10/cipher.c
+++ b/g10/cipher.c
@@ -142,7 +142,7 @@ cipher_filter( void *opaque, int control,
byte temp[22];
assert( hashlen == 20 );
- /* we must hash the prefix of the MDC packet here */
+ /* We must hash the prefix of the MDC packet here. */
temp[0] = 0xd3;
temp[1] = 0x14;
gcry_md_putc (cfx->mdc_hash, temp[0]);
diff --git a/g10/compress.c b/g10/compress.c
index 030a4c1d1..6c7463d46 100644
--- a/g10/compress.c
+++ b/g10/compress.c
@@ -45,6 +45,15 @@
#include "main.h"
#include "options.h"
+
+#ifdef __riscos__
+#define BYTEF_CAST(a) ((Bytef *)(a))
+#else
+#define BYTEF_CAST(a) (a)
+#endif
+
+
+
int compress_filter_bz2( void *opaque, int control,
IOBUF a, byte *buf, size_t *ret_len);
@@ -92,11 +101,7 @@ do_compress( compress_filter_context_t *zfx, z_stream *zs, int flush, IOBUF a )
unsigned n;
do {
-#ifndef __riscos__
- zs->next_out = zfx->outbuf;
-#else /* __riscos__ */
- zs->next_out = (Bytef *) zfx->outbuf;
-#endif /* __riscos__ */
+ zs->next_out = BYTEF_CAST (zfx->outbuf);
zs->avail_out = zfx->outbufsize;
if( DBG_FILTER )
log_debug("enter deflate: avail_in=%u, avail_out=%u, flush=%d\n",
@@ -171,11 +176,7 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
if( zs->avail_in < zfx->inbufsize && refill ) {
n = zs->avail_in;
if( !n )
-#ifndef __riscos__
- zs->next_in = zfx->inbuf;
-#else /* __riscos__ */
- zs->next_in = (Bytef *) zfx->inbuf;
-#endif /* __riscos__ */
+ zs->next_in = BYTEF_CAST (zfx->inbuf);
count = zfx->inbufsize - n;
nread = iobuf_read( a, zfx->inbuf + n, count );
if( nread == -1 ) nread = 0;
@@ -194,11 +195,7 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
if( DBG_FILTER )
log_debug("enter inflate: avail_in=%u, avail_out=%u\n",
(unsigned)zs->avail_in, (unsigned)zs->avail_out);
-#ifdef Z_SYNC_FLUSH
- zrc = inflate( zs, Z_SYNC_FLUSH );
-#else
- zrc = inflate( zs, Z_PARTIAL_FLUSH );
-#endif
+ zrc = inflate ( zs, Z_SYNC_FLUSH );
if( DBG_FILTER )
log_debug("leave inflate: avail_in=%u, avail_out=%u, zrc=%d\n",
(unsigned)zs->avail_in, (unsigned)zs->avail_out, zrc);
@@ -210,10 +207,12 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
else
log_fatal("zlib inflate problem: rc=%d\n", zrc );
}
- } while( zs->avail_out && zrc != Z_STREAM_END && zrc != Z_BUF_ERROR );
+ } while( zs->avail_out && zrc != Z_STREAM_END && zrc != Z_BUF_ERROR );
+
*ret_len = zfx->outbufsize - zs->avail_out;
if( DBG_FILTER )
- log_debug("do_uncompress: returning %u bytes\n", (unsigned)*ret_len );
+ log_debug("do_uncompress: returning %u bytes (%u ignored)\n",
+ (unsigned int)*ret_len, (unsigned int)zs->avail_in );
return rc;
}
@@ -233,11 +232,7 @@ compress_filter( void *opaque, int control,
zfx->status = 1;
}
-#ifndef __riscos__
- zs->next_out = buf;
-#else /* __riscos__ */
- zs->next_out = (Bytef *) buf;
-#endif /* __riscos__ */
+ zs->next_out = BYTEF_CAST (buf);
zs->avail_out = size;
zfx->outbufsize = size; /* needed only for calculation */
rc = do_uncompress( zfx, zs, a, ret_len );
@@ -262,11 +257,7 @@ compress_filter( void *opaque, int control,
zfx->status = 2;
}
-#ifndef __riscos__
- zs->next_in = buf;
-#else /* __riscos__ */
- zs->next_in = (Bytef *) buf;
-#endif /* __riscos__ */
+ zs->next_in = BYTEF_CAST (buf);
zs->avail_in = size;
rc = do_compress( zfx, zs, Z_NO_FLUSH, a );
}
@@ -278,11 +269,7 @@ compress_filter( void *opaque, int control,
xfree(zfx->outbuf); zfx->outbuf = NULL;
}
else if( zfx->status == 2 ) {
-#ifndef __riscos__
- zs->next_in = buf;
-#else /* __riscos__ */
- zs->next_in = (Bytef *) buf;
-#endif /* __riscos__ */
+ zs->next_in = BYTEF_CAST (buf);
zs->avail_in = 0;
do_compress( zfx, zs, Z_FINISH, a );
deflateEnd(zs);
diff --git a/g10/delkey.c b/g10/delkey.c
index bb8108754..eca8068e0 100644
--- a/g10/delkey.c
+++ b/g10/delkey.c
@@ -186,7 +186,7 @@ do_delete_key( const char *username, int secret, int force, int *r_sec_avail )
* Delete a public or secret key from a keyring.
*/
int
-delete_keys( STRLIST names, int secret, int allow_both )
+delete_keys( strlist_t names, int secret, int allow_both )
{
int rc, avail, force=(!allow_both && !secret && opt.expert);
diff --git a/g10/encode.c b/g10/encode.c
index 1ce5e01de..b5045ac15 100644
--- a/g10/encode.c
+++ b/g10/encode.c
@@ -428,7 +428,7 @@ write_symkey_enc(STRING2KEY *symkey_s2k,DEK *symkey_dek,DEK *dek,IOBUF out)
* is supplied).
*/
int
-encode_crypt( const char *filename, STRLIST remusr, int use_symkey )
+encode_crypt( const char *filename, strlist_t remusr, int use_symkey )
{
IOBUF inp = NULL, out = NULL;
PACKET pkt;
@@ -841,7 +841,7 @@ write_pubkey_enc_from_list( PK_LIST pk_list, DEK *dek, IOBUF out )
}
void
-encode_crypt_files(int nfiles, char **files, STRLIST remusr)
+encode_crypt_files(int nfiles, char **files, strlist_t remusr)
{
int rc = 0;
diff --git a/g10/encr-data.c b/g10/encr-data.c
index cf2e43da7..c56e01706 100644
--- a/g10/encr-data.c
+++ b/g10/encr-data.c
@@ -34,16 +34,16 @@
#include "i18n.h"
-static int mdc_decode_filter( void *opaque, int control, IOBUF a,
- byte *buf, size_t *ret_len);
-static int decode_filter( void *opaque, int control, IOBUF a,
+static int mdc_decode_filter ( void *opaque, int control, IOBUF a,
+ byte *buf, size_t *ret_len);
+static int decode_filter ( void *opaque, int control, IOBUF a,
byte *buf, size_t *ret_len);
typedef struct
{
gcry_cipher_hd_t cipher_hd;
gcry_md_hd_t mdc_hash;
- char defer[20];
+ char defer[22];
int defer_filled;
int eof_seen;
} decode_filter_ctx_t;
@@ -55,228 +55,271 @@ typedef struct
int
decrypt_data( void *procctx, PKT_encrypted *ed, DEK *dek )
{
- decode_filter_ctx_t dfx;
- byte *p;
- int rc=0, c, i;
- byte temp[32];
- unsigned blocksize;
- unsigned nprefix;
+ decode_filter_ctx_t dfx;
+ byte *p;
+ int rc=0, c, i;
+ byte temp[32];
+ unsigned blocksize;
+ unsigned nprefix;
+
+ memset( &dfx, 0, sizeof dfx );
+ if ( opt.verbose && !dek->algo_info_printed )
+ {
+ const char *s = gcry_cipher_algo_name (dek->algo);
+ if (s && *s)
+ log_info(_("%s encrypted data\n"), s );
+ else
+ log_info(_("encrypted with unknown algorithm %d\n"), dek->algo );
+ dek->algo_info_printed = 1;
+ }
+ rc = openpgp_cipher_test_algo (dek->algo);
+ if (rc)
+ goto leave;
+ blocksize = gcry_cipher_get_algo_blklen (dek->algo);
+ if ( !blocksize || blocksize > 16 )
+ log_fatal("unsupported blocksize %u\n", blocksize );
+ nprefix = blocksize;
+ if ( ed->len && ed->len < (nprefix+2) )
+ BUG();
- memset( &dfx, 0, sizeof dfx );
- if( opt.verbose && !dek->algo_info_printed ) {
- const char *s = gcry_cipher_algo_name (dek->algo);
- if (s && *s)
- log_info(_("%s encrypted data\n"), s );
- else
- log_info(_("encrypted with unknown algorithm %d\n"), dek->algo );
- dek->algo_info_printed = 1;
+ if ( ed->mdc_method )
+ {
+ if (gcry_md_open (&dfx.mdc_hash, ed->mdc_method, 0 ))
+ BUG ();
+ if ( DBG_HASHING )
+ gcry_md_start_debug (dfx.mdc_hash, "checkmdc");
}
- rc = openpgp_cipher_test_algo (dek->algo);
- if (rc)
- goto leave;
- blocksize = gcry_cipher_get_algo_blklen (dek->algo);
- if( !blocksize || blocksize > 16 )
- log_fatal("unsupported blocksize %u\n", blocksize );
- nprefix = blocksize;
- if( ed->len && ed->len < (nprefix+2) )
- BUG();
- if( ed->mdc_method ) {
- if (gcry_md_open (&dfx.mdc_hash, ed->mdc_method, 0 ))
- BUG ();
- if ( DBG_HASHING )
- gcry_md_start_debug (dfx.mdc_hash, "checkmdc");
+ rc = gcry_cipher_open (&dfx.cipher_hd, dek->algo,
+ GCRY_CIPHER_MODE_CFB,
+ (GCRY_CIPHER_SECURE
+ | ((ed->mdc_method || dek->algo >= 100)?
+ 0 : GCRY_CIPHER_ENABLE_SYNC)));
+ if (rc)
+ {
+ /* We should never get an error here cause we already checked
+ * that the algorithm is available. */
+ BUG();
}
- rc = gcry_cipher_open (&dfx.cipher_hd, dek->algo,
- GCRY_CIPHER_MODE_CFB,
- (GCRY_CIPHER_SECURE
- | ((ed->mdc_method || dek->algo >= 100)?
- 0 : GCRY_CIPHER_ENABLE_SYNC)));
- if (rc)
- {
- /* We should never get an error here cause we already checked
- * that the algorithm is available. */
- BUG();
- }
+ /* log_hexdump( "thekey", dek->key, dek->keylen );*/
+ rc = gcry_cipher_setkey (dfx.cipher_hd, dek->key, dek->keylen);
+ if ( gpg_err_code (rc) == GPG_ERR_WEAK_KEY )
+ {
+ log_info(_("WARNING: message was encrypted with"
+ " a weak key in the symmetric cipher.\n"));
+ rc=0;
+ }
+ else if( rc )
+ {
+ log_error("key setup failed: %s\n", g10_errstr(rc) );
+ goto leave;
+ }
- /* log_hexdump( "thekey", dek->key, dek->keylen );*/
- rc = gcry_cipher_setkey (dfx.cipher_hd, dek->key, dek->keylen);
- if ( gpg_err_code (rc) == GPG_ERR_WEAK_KEY )
- {
- log_info(_("WARNING: message was encrypted with"
- " a weak key in the symmetric cipher.\n"));
- rc=0;
- }
- else if( rc )
- {
- log_error("key setup failed: %s\n", g10_errstr(rc) );
- goto leave;
-
- }
- if (!ed->buf) {
- log_error(_("problem handling encrypted packet\n"));
- goto leave;
+ if (!ed->buf)
+ {
+ log_error(_("problem handling encrypted packet\n"));
+ goto leave;
}
- gcry_cipher_setiv (dfx.cipher_hd, NULL, 0);
+ gcry_cipher_setiv (dfx.cipher_hd, NULL, 0);
- if( ed->len ) {
- for(i=0; i < (nprefix+2) && ed->len; i++, ed->len-- ) {
- if( (c=iobuf_get(ed->buf)) == -1 )
- break;
- else
- temp[i] = c;
- }
+ if ( ed->len )
+ {
+ for (i=0; i < (nprefix+2) && ed->len; i++, ed->len-- )
+ {
+ if ( (c=iobuf_get(ed->buf)) == -1 )
+ break;
+ else
+ temp[i] = c;
+ }
}
- else {
- for(i=0; i < (nprefix+2); i++ )
- if( (c=iobuf_get(ed->buf)) == -1 )
- break;
- else
- temp[i] = c;
+ else
+ {
+ for (i=0; i < (nprefix+2); i++ )
+ if ( (c=iobuf_get(ed->buf)) == -1 )
+ break;
+ else
+ temp[i] = c;
}
+
+ gcry_cipher_decrypt (dfx.cipher_hd, temp, nprefix+2, NULL, 0);
+ gcry_cipher_sync (dfx.cipher_hd);
+ p = temp;
+ /* log_hexdump( "prefix", temp, nprefix+2 ); */
+ if (dek->symmetric
+ && (p[nprefix-2] != p[nprefix] || p[nprefix-1] != p[nprefix+1]) )
+ {
+ rc = gpg_error (GPG_ERR_BAD_KEY);
+ goto leave;
+ }
+
+ if ( dfx.mdc_hash )
+ gcry_md_write (dfx.mdc_hash, temp, nprefix+2);
+
+ if ( ed->mdc_method )
+ iobuf_push_filter( ed->buf, mdc_decode_filter, &dfx );
+ else
+ iobuf_push_filter( ed->buf, decode_filter, &dfx );
- gcry_cipher_decrypt (dfx.cipher_hd, temp, nprefix+2, NULL, 0);
- gcry_cipher_sync (dfx.cipher_hd);
- p = temp;
-/* log_hexdump( "prefix", temp, nprefix+2 ); */
- if(dek->symmetric
- && (p[nprefix-2] != p[nprefix] || p[nprefix-1] != p[nprefix+1]) )
- {
- rc = GPG_ERR_BAD_KEY;
- goto leave;
- }
-
- if( dfx.mdc_hash )
- gcry_md_write (dfx.mdc_hash, temp, nprefix+2);
-
- if( ed->mdc_method )
- iobuf_push_filter( ed->buf, mdc_decode_filter, &dfx );
- else
- iobuf_push_filter( ed->buf, decode_filter, &dfx );
+ proc_packets ( procctx, ed->buf );
+ ed->buf = NULL;
+ if ( ed->mdc_method && dfx.eof_seen == 2 )
+ rc = gpg_error (GPG_ERR_INV_PACKET);
+ else if ( ed->mdc_method )
+ {
+ /* We used to let parse-packet.c handle the MDC packet but this
+ turned out to be a problem with compressed packets: With old
+ style packets there is no length information available and
+ the decompressor uses an implicit end. However we can't know
+ this implicit end beforehand (:-) and thus may feed the
+ decompressor with more bytes than actually needed. It would
+ be possible to unread the extra bytes but due to our weird
+ iobuf system any unread is non reliable due to filters
+ already popped off. The easy and sane solution is to care
+ about the MDC packet only here and never pass it to the
+ packet parser. Fortunatley the OpenPGP spec requires a
+ strict format for the MDC packet so that we know that 22
+ bytes are appended. */
+ int datalen = gcry_md_get_algo_dlen (ed->mdc_method);
- proc_packets( procctx, ed->buf );
- ed->buf = NULL;
- if( ed->mdc_method && dfx.eof_seen == 2 )
- rc = gpg_error (GPG_ERR_INV_PACKET);
- else if( ed->mdc_method ) { /* check the mdc */
- int datalen = gcry_md_get_algo_dlen (ed->mdc_method);
+ gcry_cipher_decrypt (dfx.cipher_hd, dfx.defer, 22, NULL, 0);
+ gcry_md_write (dfx.mdc_hash, dfx.defer, 2);
+ gcry_md_final (dfx.mdc_hash);
- gcry_cipher_decrypt (dfx.cipher_hd, dfx.defer, 20, NULL, 0);
- gcry_md_final (dfx.mdc_hash);
- if (datalen != 20
- || memcmp (gcry_md_read( dfx.mdc_hash, 0 ), dfx.defer, datalen) )
- rc = gpg_error (GPG_ERR_BAD_SIGNATURE);
- /*log_hexdump("MDC calculated:", md_read( dfx.mdc_hash, 0), datalen);*/
- /*log_hexdump("MDC message :", dfx.defer, 20);*/
+ if (dfx.defer[0] != '\xd3' || dfx.defer[1] != '\x14' )
+ {
+ log_error("mdc_packet with invalid encoding\n");
+ rc = gpg_error (GPG_ERR_INV_PACKET);
+ }
+ else if (datalen != 20
+ || memcmp (gcry_md_read (dfx.mdc_hash, 0),dfx.defer+2,datalen))
+ rc = gpg_error (GPG_ERR_BAD_SIGNATURE);
+ /* log_printhex("MDC message:", dfx.defer, 22); */
+ /* log_printhex("MDC calc:", gcry_md_read (dfx.mdc_hash,0), datalen); */
}
-
-
- leave:
- gcry_cipher_close (dfx.cipher_hd);
- gcry_md_close (dfx.mdc_hash);
- return rc;
+
+
+ leave:
+ gcry_cipher_close (dfx.cipher_hd);
+ gcry_md_close (dfx.mdc_hash);
+ return rc;
}
/* I think we should merge this with cipher_filter */
static int
-mdc_decode_filter( void *opaque, int control, IOBUF a,
- byte *buf, size_t *ret_len)
+mdc_decode_filter (void *opaque, int control, IOBUF a,
+ byte *buf, size_t *ret_len)
{
- decode_filter_ctx_t *dfx = opaque;
- size_t n, size = *ret_len;
- int rc = 0;
- int c;
-
- if( control == IOBUFCTRL_UNDERFLOW && dfx->eof_seen ) {
- *ret_len = 0;
- rc = -1;
+ decode_filter_ctx_t *dfx = opaque;
+ size_t n, size = *ret_len;
+ int rc = 0;
+ int c;
+
+ if ( control == IOBUFCTRL_UNDERFLOW && dfx->eof_seen )
+ {
+ *ret_len = 0;
+ rc = -1;
}
- else if( control == IOBUFCTRL_UNDERFLOW ) {
- assert(a);
- assert( size > 40 );
-
- /* get at least 20 bytes and put it somewhere ahead in the buffer */
- for(n=20; n < 40 ; n++ ) {
- if( (c = iobuf_get(a)) == -1 )
- break;
- buf[n] = c;
+ else if( control == IOBUFCTRL_UNDERFLOW )
+ {
+ assert(a);
+ assert( size > 44 );
+
+ /* Get at least 22 bytes and put it somewhere ahead in the buffer. */
+ for(n=22; n < 44 ; n++ )
+ {
+ if( (c = iobuf_get(a)) == -1 )
+ break;
+ buf[n] = c;
}
- if( n == 40 ) {
- /* we have enough stuff - flush the deferred stuff */
- /* (we have asserted that the buffer is large enough) */
- if( !dfx->defer_filled ) { /* the first time */
- memcpy(buf, buf+20, 20 );
- n = 20;
+ if ( n == 44 )
+ {
+ /* We have enough stuff - flush the deferred stuff. */
+ /* (we asserted that the buffer is large enough) */
+ if ( !dfx->defer_filled ) /* First time. */
+ {
+ memcpy (buf, buf+22, 22 );
+ n = 22;
}
- else {
- memcpy(buf, dfx->defer, 20 );
+ else
+ {
+ memcpy (buf, dfx->defer, 22 );
}
- /* now fill up */
- for(; n < size; n++ ) {
- if( (c = iobuf_get(a)) == -1 )
- break;
- buf[n] = c;
+ /* Now fill up. */
+ for (; n < size; n++ )
+ {
+ if ( (c = iobuf_get(a)) == -1 )
+ break;
+ buf[n] = c;
}
- /* move the last 20 bytes back to the defer buffer */
- /* (okay, we are wasting 20 bytes of supplied buffer) */
- n -= 20;
- memcpy( dfx->defer, buf+n, 20 );
- dfx->defer_filled = 1;
+ /* Move the last 22 bytes back to the defer buffer. */
+ /* (right, we are wasting 22 bytes of the supplied buffer.) */
+ n -= 22;
+ memcpy (dfx->defer, buf+n, 22 );
+ dfx->defer_filled = 1;
}
- else if( !dfx->defer_filled ) { /* eof seen buf empty defer */
- /* this is bad because there is an incomplete hash */
- n -= 20;
- memcpy(buf, buf+20, n );
- dfx->eof_seen = 2; /* eof with incomplete hash */
+ else if ( !dfx->defer_filled ) /* EOF seen but empty defer buffer. */
+ {
+ /* This is bad because it means an incomplete hash. */
+ n -= 22;
+ memcpy (buf, buf+22, n );
+ dfx->eof_seen = 2; /* EOF with incomplete hash. */
}
- else { /* eof seen */
- memcpy(buf, dfx->defer, 20 );
- n -= 20;
- memcpy( dfx->defer, buf+n, 20 );
- dfx->eof_seen = 1; /* normal eof */
+ else /* EOF seen (i.e. read less than 22 bytes). */
+ {
+ memcpy (buf, dfx->defer, 22 );
+ n -= 22;
+ memcpy (dfx->defer, buf+n, 22 );
+ dfx->eof_seen = 1; /* Normal EOF. */
}
- if( n ) {
- gcry_cipher_decrypt (dfx->cipher_hd, buf, n, NULL, 0);
- gcry_md_write (dfx->mdc_hash, buf, n);
+ if ( n )
+ {
+ gcry_cipher_decrypt (dfx->cipher_hd, buf, n, NULL, 0);
+ gcry_md_write (dfx->mdc_hash, buf, n);
}
- else {
- assert( dfx->eof_seen );
- rc = -1; /* eof */
+ else
+ {
+ assert ( dfx->eof_seen );
+ rc = -1; /* eof */
}
- *ret_len = n;
+ *ret_len = n;
}
- else if( control == IOBUFCTRL_DESC ) {
- *(char**)buf = "mdc_decode_filter";
+ else if ( control == IOBUFCTRL_DESC )
+ {
+ *(char**)buf = "mdc_decode_filter";
}
- return rc;
+ return rc;
}
+
static int
decode_filter( void *opaque, int control, IOBUF a, byte *buf, size_t *ret_len)
{
- decode_filter_ctx_t *fc = opaque;
- size_t n, size = *ret_len;
- int rc = 0;
-
- if( control == IOBUFCTRL_UNDERFLOW ) {
- assert(a);
- n = iobuf_read( a, buf, size );
- if( n == -1 ) n = 0;
- if( n )
- gcry_cipher_decrypt (fc->cipher_hd, buf, n, NULL, 0);
- else
- rc = -1; /* eof */
- *ret_len = n;
+ decode_filter_ctx_t *fc = opaque;
+ size_t n, size = *ret_len;
+ int rc = 0;
+
+ if ( control == IOBUFCTRL_UNDERFLOW )
+ {
+ assert(a);
+ n = iobuf_read ( a, buf, size );
+ if ( n == -1 )
+ n = 0;
+ if ( n )
+ gcry_cipher_decrypt (fc->cipher_hd, buf, n, NULL, 0);
+ else
+ rc = -1; /* EOF */
+ *ret_len = n;
}
- else if( control == IOBUFCTRL_DESC ) {
- *(char**)buf = "decode_filter";
+ else if ( control == IOBUFCTRL_DESC )
+ {
+ *(char**)buf = "decode_filter";
}
- return rc;
+ return rc;
}
diff --git a/g10/export.c b/g10/export.c
index 2760ea054..afc7fd7f9 100644
--- a/g10/export.c
+++ b/g10/export.c
@@ -47,8 +47,8 @@ struct subkey_list_s
typedef struct subkey_list_s *subkey_list_t;
-static int do_export( STRLIST users, int secret, unsigned int options );
-static int do_export_stream( IOBUF out, STRLIST users, int secret,
+static int do_export( strlist_t users, int secret, unsigned int options );
+static int do_export_stream( IOBUF out, strlist_t users, int secret,
KBNODE *keyblock_out, unsigned int options,
int *any );
static int build_sexp (iobuf_t out, PACKET *pkt, int *indent);
@@ -95,7 +95,7 @@ parse_export_options(char *str,unsigned int *options,int noisy)
* options are defined in main.h.
* If USERS is NULL, the complete ring will be exported. */
int
-export_pubkeys( STRLIST users, unsigned int options )
+export_pubkeys( strlist_t users, unsigned int options )
{
return do_export( users, 0, options );
}
@@ -105,7 +105,7 @@ export_pubkeys( STRLIST users, unsigned int options )
* been exported
*/
int
-export_pubkeys_stream( IOBUF out, STRLIST users,
+export_pubkeys_stream( IOBUF out, strlist_t users,
KBNODE *keyblock_out, unsigned int options )
{
int any, rc;
@@ -117,7 +117,7 @@ export_pubkeys_stream( IOBUF out, STRLIST users,
}
int
-export_seckeys( STRLIST users )
+export_seckeys( strlist_t users )
{
/* Use only relevant options for the secret key. */
unsigned int options = (opt.export_options & EXPORT_SEXP_FORMAT);
@@ -125,7 +125,7 @@ export_seckeys( STRLIST users )
}
int
-export_secsubkeys( STRLIST users )
+export_secsubkeys( strlist_t users )
{
/* Use only relevant options for the secret key. */
unsigned int options = (opt.export_options & EXPORT_SEXP_FORMAT);
@@ -133,7 +133,7 @@ export_secsubkeys( STRLIST users )
}
static int
-do_export( STRLIST users, int secret, unsigned int options )
+do_export( strlist_t users, int secret, unsigned int options )
{
IOBUF out = NULL;
int any, rc;
@@ -290,7 +290,7 @@ exact_subkey_match_p (KEYDB_SEARCH_DESC *desc, KBNODE node)
contains a pointer to the first keyblock found and exported. No
other keyblocks are exported. The caller must free it. */
static int
-do_export_stream( IOBUF out, STRLIST users, int secret,
+do_export_stream( IOBUF out, strlist_t users, int secret,
KBNODE *keyblock_out, unsigned int options, int *any )
{
int rc = 0;
@@ -301,7 +301,7 @@ do_export_stream( IOBUF out, STRLIST users, int secret,
KEYDB_SEARCH_DESC *desc = NULL;
subkey_list_t subkey_list = NULL; /* Track alreay processed subkeys. */
KEYDB_HANDLE kdbhd;
- STRLIST sl;
+ strlist_t sl;
int indent = 0;
*any = 0;
diff --git a/g10/getkey.c b/g10/getkey.c
index c0088c38c..002197071 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -808,14 +808,14 @@ skip_unusable(void *dummy,u32 *keyid,PKT_user_id *uid)
*/
static int
-key_byname( GETKEY_CTX *retctx, STRLIST namelist,
+key_byname( GETKEY_CTX *retctx, strlist_t namelist,
PKT_public_key *pk, PKT_secret_key *sk,
int secmode, int include_unusable,
KBNODE *ret_kb, KEYDB_HANDLE *ret_kdbhd )
{
int rc = 0;
int n;
- STRLIST r;
+ strlist_t r;
GETKEY_CTX ctx;
KBNODE help_kb = NULL;
@@ -919,7 +919,7 @@ get_pubkey_byname (PKT_public_key *pk,
KEYDB_HANDLE *ret_kdbhd, int include_unusable )
{
int rc;
- STRLIST namelist = NULL;
+ strlist_t namelist = NULL;
add_to_strlist( &namelist, name );
@@ -1044,7 +1044,7 @@ get_pubkey_byname (PKT_public_key *pk,
int
get_pubkey_bynames( GETKEY_CTX *retctx, PKT_public_key *pk,
- STRLIST names, KBNODE *ret_keyblock )
+ strlist_t names, KBNODE *ret_keyblock )
{
return key_byname( retctx, names, pk, NULL, 0, 1, ret_keyblock, NULL);
}
@@ -1195,7 +1195,7 @@ get_seckey_byname2( GETKEY_CTX *retctx,
PKT_secret_key *sk, const char *name, int unprotect,
KBNODE *retblock )
{
- STRLIST namelist = NULL;
+ strlist_t namelist = NULL;
int rc,include_unusable=1;
/* If we have no name, try to use the default secret key. If we
@@ -1228,7 +1228,7 @@ get_seckey_byname( PKT_secret_key *sk, const char *name, int unlock )
int
get_seckey_bynames( GETKEY_CTX *retctx, PKT_secret_key *sk,
- STRLIST names, KBNODE *ret_keyblock )
+ strlist_t names, KBNODE *ret_keyblock )
{
return key_byname( retctx, names, NULL, sk, 1, 1, ret_keyblock, NULL );
}
diff --git a/g10/gpg.c b/g10/gpg.c
index e7f05f0dd..8ad9c9965 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1371,7 +1371,7 @@ list_config(char *items)
for(iter=opt.grouplist;iter;iter=iter->next)
{
- STRLIST sl;
+ strlist_t sl;
printf("cfg:group:");
print_string(stdout,iter->name,strlen(iter->name),':');
@@ -1728,8 +1728,8 @@ main (int argc, char **argv )
const char *fname;
char *username;
int may_coredump;
- STRLIST sl, remusr= NULL, locusr=NULL;
- STRLIST nrings=NULL, sec_nrings=NULL;
+ strlist_t sl, remusr= NULL, locusr=NULL;
+ strlist_t nrings=NULL, sec_nrings=NULL;
armor_filter_context_t afx;
int detached_sig = 0;
FILE *configfp = NULL;
@@ -4129,7 +4129,7 @@ static void
add_policy_url( const char *string, int which )
{
unsigned int i,critical=0;
- STRLIST sl;
+ strlist_t sl;
if(*string=='!')
{
@@ -4162,7 +4162,7 @@ static void
add_keyserver_url( const char *string, int which )
{
unsigned int i,critical=0;
- STRLIST sl;
+ strlist_t sl;
if(*string=='!')
{
diff --git a/g10/gpgv.c b/g10/gpgv.c
index a9884a31d..0333d084b 100644
--- a/g10/gpgv.c
+++ b/g10/gpgv.c
@@ -131,8 +131,8 @@ main( int argc, char **argv )
{
ARGPARSE_ARGS pargs;
int rc=0;
- STRLIST sl;
- STRLIST nrings=NULL;
+ strlist_t sl;
+ strlist_t nrings=NULL;
unsigned configlineno;
set_strusage (my_strusage);
@@ -186,7 +186,7 @@ main( int argc, char **argv )
for(sl = nrings; sl; sl = sl->next )
keydb_add_resource (sl->d, 0, 0 );
- FREE_STRLIST(nrings);
+ FREE_STRLIST (nrings);
if( (rc = verify_signatures( argc, argv ) ))
log_error("verify signatures failed: %s\n", g10_errstr(rc) );
diff --git a/g10/import.c b/g10/import.c
index 3b41e08cf..0ea1e55d1 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -647,7 +647,7 @@ check_prefs(KBNODE keyblock)
if(!opt.batch)
{
- STRLIST sl=NULL,locusr=NULL;
+ strlist_t sl=NULL,locusr=NULL;
size_t fprlen=0;
byte fpr[MAX_FINGERPRINT_LEN],*p;
char username[(MAX_FINGERPRINT_LEN*2)+1];
diff --git a/g10/keydb.h b/g10/keydb.h
index b58512068..30f91255f 100644
--- a/g10/keydb.h
+++ b/g10/keydb.h
@@ -182,7 +182,7 @@ int keydb_search_fpr (KEYDB_HANDLE hd, const byte *fpr);
void show_revocation_reason( PKT_public_key *pk, int mode );
int check_signatures_trust( PKT_signature *sig );
void release_pk_list( PK_LIST pk_list );
-int build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use );
+int build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned use );
int algo_available( preftype_t preftype, int algo,
const union pref_hint *hint );
int select_algo_from_prefs( PK_LIST pk_list, int preftype,
@@ -192,7 +192,7 @@ int select_mdc_from_pklist (PK_LIST pk_list);
/*-- skclist.c --*/
int random_is_faked (void);
void release_sk_list( SK_LIST sk_list );
-int build_sk_list( STRLIST locusr, SK_LIST *ret_sk_list,
+int build_sk_list( strlist_t locusr, SK_LIST *ret_sk_list,
int unlock, unsigned use );
/*-- passphrase.h --*/
@@ -225,7 +225,7 @@ int get_pubkey_byname( PKT_public_key *pk, const char *name,
KBNODE *ret_keyblock, KEYDB_HANDLE *ret_kdbhd,
int include_unusable );
int get_pubkey_bynames( GETKEY_CTX *rx, PKT_public_key *pk,
- STRLIST names, KBNODE *ret_keyblock );
+ strlist_t names, KBNODE *ret_keyblock );
int get_pubkey_next( GETKEY_CTX ctx, PKT_public_key *pk, KBNODE *ret_keyblock );
void get_pubkey_end( GETKEY_CTX ctx );
int get_seckey( PKT_secret_key *sk, u32 *keyid );
@@ -240,7 +240,7 @@ int get_keyblock_bylid( KBNODE *ret_keyblock, ulong lid );
int seckey_available( u32 *keyid );
int get_seckey_byname( PKT_secret_key *sk, const char *name, int unlock );
int get_seckey_bynames( GETKEY_CTX *rx, PKT_secret_key *sk,
- STRLIST names, KBNODE *ret_keyblock );
+ strlist_t names, KBNODE *ret_keyblock );
int get_seckey_next (GETKEY_CTX ctx, PKT_secret_key *sk, KBNODE *ret_keyblock);
void get_seckey_end( GETKEY_CTX ctx );
diff --git a/g10/keyedit.c b/g10/keyedit.c
index 6b3fbe818..71ad9f083 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -507,7 +507,7 @@ trustsig_prompt(byte *trust_value,byte *trust_depth,char **regexp)
* if some user_ids are marked those will be signed.
*/
static int
-sign_uids( KBNODE keyblock, STRLIST locusr, int *ret_modified,
+sign_uids( KBNODE keyblock, strlist_t locusr, int *ret_modified,
int local, int nonrevocable, int trust, int interactive )
{
int rc = 0;
@@ -1501,8 +1501,8 @@ keyedit_completion(const char *text, int start, int end)
void
-keyedit_menu( const char *username, STRLIST locusr,
- STRLIST commands, int quiet, int seckey_check )
+keyedit_menu( const char *username, strlist_t locusr,
+ strlist_t commands, int quiet, int seckey_check )
{
enum cmdids cmd = 0;
int rc = 0;
diff --git a/g10/keylist.c b/g10/keylist.c
index 441606299..95d452eea 100644
--- a/g10/keylist.c
+++ b/g10/keylist.c
@@ -41,7 +41,7 @@
#include "status.h"
static void list_all(int);
-static void list_one( STRLIST names, int secret);
+static void list_one( strlist_t names, int secret);
static void print_card_serialno (PKT_secret_key *sk);
struct sig_stats
@@ -58,7 +58,7 @@ static FILE *attrib_fp=NULL;
* If list is NULL, all available keys are listed
*/
void
-public_key_list( STRLIST list )
+public_key_list( strlist_t list )
{
if(opt.with_colons)
{
@@ -110,7 +110,7 @@ public_key_list( STRLIST list )
}
void
-secret_key_list( STRLIST list )
+secret_key_list( strlist_t list )
{
check_trustdb_stale ();
@@ -462,7 +462,7 @@ list_all( int secret )
static void
-list_one( STRLIST names, int secret )
+list_one( strlist_t names, int secret )
{
int rc = 0;
KBNODE keyblock = NULL;
diff --git a/g10/keyserver-internal.h b/g10/keyserver-internal.h
index fe08a6b71..136f424e5 100644
--- a/g10/keyserver-internal.h
+++ b/g10/keyserver-internal.h
@@ -35,14 +35,14 @@ struct keyserver_spec *parse_keyserver_uri(const char *string,
const char *configname,
unsigned int configlineno);
struct keyserver_spec *parse_preferred_keyserver(PKT_signature *sig);
-int keyserver_export(STRLIST users);
-int keyserver_import(STRLIST users);
+int keyserver_export(strlist_t users);
+int keyserver_import(strlist_t users);
int keyserver_import_fprint(const byte *fprint,size_t fprint_len,
struct keyserver_spec *keyserver);
int keyserver_import_keyid(u32 *keyid,struct keyserver_spec *keyserver);
-int keyserver_refresh(STRLIST users);
-int keyserver_search(STRLIST tokens);
-int keyserver_fetch(STRLIST urilist);
+int keyserver_refresh(strlist_t users);
+int keyserver_search(strlist_t tokens);
+int keyserver_fetch(strlist_t urilist);
int keyserver_import_cert(const char *name,
unsigned char **fpr,size_t *fpr_len);
int keyserver_import_pka(const char *name,unsigned char **fpr,size_t *fpr_len);
diff --git a/g10/keyserver.c b/g10/keyserver.c
index cbf55c091..aacbfc5c2 100644
--- a/g10/keyserver.c
+++ b/g10/keyserver.c
@@ -80,7 +80,7 @@ static struct parse_options keyserver_opts[]=
{NULL,0,NULL,NULL}
};
-static int keyserver_work(enum ks_action action,STRLIST list,
+static int keyserver_work(enum ks_action action,strlist_t list,
KEYDB_SEARCH_DESC *desc,int count,
unsigned char **fpr,size_t *fpr_len,
struct keyserver_spec *keyserver);
@@ -91,7 +91,7 @@ static int keyserver_work(enum ks_action action,STRLIST list,
static size_t max_cert_size=DEFAULT_MAX_CERT_SIZE;
static void
-add_canonical_option(char *option,STRLIST *list)
+add_canonical_option(char *option,strlist_t *list)
{
char *arg=argsplit(option);
@@ -952,12 +952,12 @@ direct_uri_map(const char *scheme,unsigned int is_direct)
#define KEYSERVER_ARGS_NOKEEP " -o \"%o\" \"%i\""
static int
-keyserver_spawn(enum ks_action action,STRLIST list,KEYDB_SEARCH_DESC *desc,
+keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
int count,int *prog,unsigned char **fpr,size_t *fpr_len,
struct keyserver_spec *keyserver)
{
int ret=0,i,gotversion=0,outofband=0;
- STRLIST temp;
+ strlist_t temp;
unsigned int maxlen,buflen;
char *command,*end,*searchstr=NULL;
byte *line=NULL;
@@ -1167,7 +1167,7 @@ keyserver_spawn(enum ks_action action,STRLIST list,KEYDB_SEARCH_DESC *desc,
case KS_GETNAME:
{
- STRLIST key;
+ strlist_t key;
fprintf(spawn->tochild,"COMMAND GETNAME\n\n");
@@ -1189,7 +1189,7 @@ keyserver_spawn(enum ks_action action,STRLIST list,KEYDB_SEARCH_DESC *desc,
case KS_SEND:
{
- STRLIST key;
+ strlist_t key;
/* Note the extra \n here to send an empty keylist block */
fprintf(spawn->tochild,"COMMAND SEND\n\n\n");
@@ -1349,7 +1349,7 @@ keyserver_spawn(enum ks_action action,STRLIST list,KEYDB_SEARCH_DESC *desc,
case KS_SEARCH:
{
- STRLIST key;
+ strlist_t key;
fprintf(spawn->tochild,"COMMAND SEARCH\n\n");
@@ -1498,7 +1498,7 @@ keyserver_spawn(enum ks_action action,STRLIST list,KEYDB_SEARCH_DESC *desc,
}
static int
-keyserver_work(enum ks_action action,STRLIST list,KEYDB_SEARCH_DESC *desc,
+keyserver_work(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
int count,unsigned char **fpr,size_t *fpr_len,
struct keyserver_spec *keyserver)
{
@@ -1568,9 +1568,9 @@ keyserver_work(enum ks_action action,STRLIST list,KEYDB_SEARCH_DESC *desc,
}
int
-keyserver_export(STRLIST users)
+keyserver_export(strlist_t users)
{
- STRLIST sl=NULL;
+ strlist_t sl=NULL;
KEYDB_SEARCH_DESC desc;
int rc=0;
@@ -1600,7 +1600,7 @@ keyserver_export(STRLIST users)
}
int
-keyserver_import(STRLIST users)
+keyserver_import(strlist_t users)
{
KEYDB_SEARCH_DESC *desc;
int num=100,count=0;
@@ -1675,13 +1675,13 @@ keyserver_import_keyid(u32 *keyid,struct keyserver_spec *keyserver)
/* code mostly stolen from do_export_stream */
static int
-keyidlist(STRLIST users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
+keyidlist(strlist_t users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
{
int rc=0,ndesc,num=100;
KBNODE keyblock=NULL,node;
KEYDB_HANDLE kdbhd;
KEYDB_SEARCH_DESC *desc;
- STRLIST sl;
+ strlist_t sl;
*count=0;
@@ -1831,7 +1831,7 @@ keyidlist(STRLIST users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
usernames to refresh only part of the keyring. */
int
-keyserver_refresh(STRLIST users)
+keyserver_refresh(strlist_t users)
{
int rc,count,numdesc,fakev3=0;
KEYDB_SEARCH_DESC *desc;
@@ -1920,7 +1920,7 @@ keyserver_refresh(STRLIST users)
}
int
-keyserver_search(STRLIST tokens)
+keyserver_search(strlist_t tokens)
{
if(tokens)
return keyserver_work(KS_SEARCH,tokens,NULL,0,NULL,NULL,opt.keyserver);
@@ -1929,10 +1929,10 @@ keyserver_search(STRLIST tokens)
}
int
-keyserver_fetch(STRLIST urilist)
+keyserver_fetch(strlist_t urilist)
{
KEYDB_SEARCH_DESC desc;
- STRLIST sl;
+ strlist_t sl;
unsigned int options=opt.keyserver_options.import_options;
/* Switch on fast-import, since fetch can handle more than one
@@ -2016,7 +2016,7 @@ keyserver_import_cert(const char *name,unsigned char **fpr,size_t *fpr_len)
spec=parse_keyserver_uri(url,1,NULL,0);
if(spec)
{
- STRLIST list=NULL;
+ strlist_t list=NULL;
add_to_strlist(&list,url);
@@ -2083,7 +2083,7 @@ int
keyserver_import_name(const char *name,unsigned char **fpr,size_t *fpr_len,
struct keyserver_spec *keyserver)
{
- STRLIST list=NULL;
+ strlist_t list=NULL;
int rc;
append_to_strlist(&list,name);
@@ -2102,7 +2102,7 @@ keyserver_import_ldap(const char *name,unsigned char **fpr,size_t *fpr_len)
{
char *domain;
struct keyserver_spec *keyserver;
- STRLIST list=NULL;
+ strlist_t list=NULL;
int rc;
append_to_strlist(&list,name);
diff --git a/g10/main.h b/g10/main.h
index c6c0b29b1..4e82a525c 100644
--- a/g10/main.h
+++ b/g10/main.h
@@ -51,7 +51,7 @@ typedef struct
struct groupitem
{
char *name;
- STRLIST values;
+ strlist_t values;
struct groupitem *next;
};
@@ -151,18 +151,18 @@ void display_online_help( const char *keyword );
int setup_symkey(STRING2KEY **symkey_s2k,DEK **symkey_dek);
int encode_symmetric( const char *filename );
int encode_store( const char *filename );
-int encode_crypt( const char *filename, STRLIST remusr, int use_symkey );
-void encode_crypt_files(int nfiles, char **files, STRLIST remusr);
+int encode_crypt( const char *filename, strlist_t remusr, int use_symkey );
+void encode_crypt_files(int nfiles, char **files, strlist_t remusr);
int encrypt_filter( void *opaque, int control,
iobuf_t a, byte *buf, size_t *ret_len);
/*-- sign.c --*/
int complete_sig( PKT_signature *sig, PKT_secret_key *sk, gcry_md_hd_t md );
-int sign_file( STRLIST filenames, int detached, STRLIST locusr,
- int do_encrypt, STRLIST remusr, const char *outfile );
-int clearsign_file( const char *fname, STRLIST locusr, const char *outfile );
-int sign_symencrypt_file (const char *fname, STRLIST locusr);
+int sign_file( strlist_t filenames, int detached, strlist_t locusr,
+ int do_encrypt, strlist_t remusr, const char *outfile );
+int clearsign_file( const char *fname, strlist_t locusr, const char *outfile );
+int sign_symencrypt_file (const char *fname, strlist_t locusr);
/*-- sig-check.c --*/
int check_revocation_keys (PKT_public_key *pk, PKT_signature *sig);
@@ -174,11 +174,11 @@ int check_key_signature2( KBNODE root, KBNODE node, PKT_public_key *check_pk,
u32 *r_expiredate, int *r_expired );
/*-- delkey.c --*/
-int delete_keys( STRLIST names, int secret, int allow_both );
+int delete_keys( strlist_t names, int secret, int allow_both );
/*-- keyedit.c --*/
-void keyedit_menu( const char *username, STRLIST locusr,
- STRLIST commands, int quiet, int seckey_check );
+void keyedit_menu( const char *username, strlist_t locusr,
+ strlist_t commands, int quiet, int seckey_check );
void show_basic_key_info (KBNODE keyblock);
/*-- keygen.c --*/
@@ -237,11 +237,11 @@ int auto_create_card_key_stub ( const char *serialnostr,
/*-- export.c --*/
int parse_export_options(char *str,unsigned int *options,int noisy);
-int export_pubkeys( STRLIST users, unsigned int options );
-int export_pubkeys_stream( iobuf_t out, STRLIST users,
+int export_pubkeys( strlist_t users, unsigned int options );
+int export_pubkeys_stream( iobuf_t out, strlist_t users,
KBNODE *keyblock_out, unsigned int options );
-int export_seckeys( STRLIST users );
-int export_secsubkeys( STRLIST users );
+int export_seckeys( strlist_t users );
+int export_secsubkeys( strlist_t users );
/* dearmor.c --*/
int dearmor_file( const char *fname );
@@ -250,15 +250,15 @@ int enarmor_file( const char *fname );
/*-- revoke.c --*/
struct revocation_reason_info;
int gen_revoke( const char *uname );
-int gen_desig_revoke( const char *uname, STRLIST locusr);
+int gen_desig_revoke( const char *uname, strlist_t locusr);
int revocation_reason_build_cb( PKT_signature *sig, void *opaque );
struct revocation_reason_info *
ask_revocation_reason( int key_rev, int cert_rev, int hint );
void release_revocation_reason_info( struct revocation_reason_info *reason );
/*-- keylist.c --*/
-void public_key_list( STRLIST list );
-void secret_key_list( STRLIST list );
+void public_key_list( strlist_t list );
+void secret_key_list( strlist_t list );
void print_subpackets_colon(PKT_signature *sig);
void reorder_keyblock (KBNODE keyblock);
void list_keyblock( KBNODE keyblock, int secret, int fpr, void *opaque );
@@ -285,7 +285,7 @@ void decrypt_messages(int nfiles, char *files[]);
/*-- plaintext.c --*/
int hash_datafiles( gcry_md_hd_t md, gcry_md_hd_t md2,
- STRLIST files, const char *sigfilename, int textmode );
+ strlist_t files, const char *sigfilename, int textmode );
PKT_plaintext *setup_plaintext_name(const char *filename,IOBUF iobuf);
/*-- signal.c --*/
@@ -299,7 +299,7 @@ void unblock_all_signals(void);
/*-- card-util.c --*/
void change_pin (int no, int allow_admin);
void card_status (FILE *fp, char *serialno, size_t serialnobuflen);
-void card_edit (STRLIST commands);
+void card_edit (strlist_t commands);
int card_generate_subkey (KBNODE pub_keyblock, KBNODE sec_keyblock);
int card_store_subkey (KBNODE node, int use);
#endif
diff --git a/g10/mainproc.c b/g10/mainproc.c
index af3aac70f..c4eb3b0ca 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -65,7 +65,7 @@ struct mainproc_context
md_filter_context_t mfx;
int sigs_only; /* Process only signatures and reject all other stuff. */
int encrypt_only; /* Process only encryption messages. */
- STRLIST signed_data;
+ strlist_t signed_data;
const char *sigfilename;
DEK *dek;
int last_was_session_key;
@@ -1132,7 +1132,7 @@ proc_packets( void *anchor, IOBUF a )
int
proc_signature_packets( void *anchor, IOBUF a,
- STRLIST signedfiles, const char *sigfilename )
+ strlist_t signedfiles, const char *sigfilename )
{
CTX c = xmalloc_clear( sizeof *c );
int rc;
diff --git a/g10/options.h b/g10/options.h
index 75c2745fc..282130085 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -114,7 +114,7 @@ struct
int pgp2_workarounds;
int shm_coprocess;
const char *set_filename;
- STRLIST comments;
+ strlist_t comments;
int throw_keyid;
const char *photo_viewer;
int s2k_mode;
@@ -134,7 +134,7 @@ struct
char *port;
char *path;
char *opaque;
- STRLIST options;
+ strlist_t options;
struct
{
unsigned int direct_uri:1;
@@ -146,7 +146,7 @@ struct
unsigned int options;
unsigned int import_options;
unsigned int export_options;
- STRLIST other;
+ strlist_t other;
} keyserver_options;
int exec_disable;
int exec_path_set;
@@ -166,11 +166,11 @@ struct
int interactive;
struct notation *sig_notations;
struct notation *cert_notations;
- STRLIST sig_policy_url;
- STRLIST cert_policy_url;
- STRLIST sig_keyserver_url;
- STRLIST cert_subpackets;
- STRLIST sig_subpackets;
+ strlist_t sig_policy_url;
+ strlist_t cert_policy_url;
+ strlist_t sig_keyserver_url;
+ strlist_t cert_subpackets;
+ strlist_t sig_subpackets;
int allow_non_selfsigned_uid;
int allow_freeform_uid;
int no_literal;
diff --git a/g10/packet.h b/g10/packet.h
index 2aaf3b902..c61ab073a 100644
--- a/g10/packet.h
+++ b/g10/packet.h
@@ -370,7 +370,7 @@ struct notation
/*-- mainproc.c --*/
int proc_packets( void *ctx, iobuf_t a );
int proc_signature_packets( void *ctx, iobuf_t a,
- STRLIST signedfiles, const char *sigfile );
+ strlist_t signedfiles, const char *sigfile );
int proc_encryption_packets( void *ctx, iobuf_t a );
int list_packets( iobuf_t a );
diff --git a/g10/parse-packet.c b/g10/parse-packet.c
index 33472da4d..691f6696c 100644
--- a/g10/parse-packet.c
+++ b/g10/parse-packet.c
@@ -2355,6 +2355,9 @@ parse_encrypted( IOBUF inp, int pkttype, unsigned long pktlen,
}
+/* Note, that this code is not anymore used in real life because now
+ the MDC checking is done right after the encryption in
+ decrypt_data. */
static int
parse_mdc( IOBUF inp, int pkttype, unsigned long pktlen,
PACKET *pkt, int new_ctb )
@@ -2363,7 +2366,7 @@ parse_mdc( IOBUF inp, int pkttype, unsigned long pktlen,
PKT_mdc *mdc;
byte *p;
- mdc = pkt->pkt.mdc= xmalloc(sizeof *pkt->pkt.mdc );
+ mdc = pkt->pkt.mdc = xmalloc(sizeof *pkt->pkt.mdc );
if( list_mode )
fprintf (listfp, ":mdc packet: length=%lu\n", pktlen);
if( !new_ctb || pktlen != 20 ) {
diff --git a/g10/pkclist.c b/g10/pkclist.c
index f90137aff..354e27023 100644
--- a/g10/pkclist.c
+++ b/g10/pkclist.c
@@ -703,7 +703,7 @@ default_recipient(void)
}
static int
-expand_id(const char *id,STRLIST *into,unsigned int flags)
+expand_id(const char *id,strlist_t *into,unsigned int flags)
{
struct groupitem *groups;
int count=0;
@@ -713,7 +713,7 @@ expand_id(const char *id,STRLIST *into,unsigned int flags)
/* need strcasecmp() here, as this should be localized */
if(strcasecmp(groups->name,id)==0)
{
- STRLIST each,sl;
+ strlist_t each,sl;
/* this maintains the current utf8-ness */
for(each=groups->values;each;each=each->next)
@@ -732,10 +732,10 @@ expand_id(const char *id,STRLIST *into,unsigned int flags)
/* For simplicity, and to avoid potential loops, we only expand once -
you can't make an alias that points to an alias. */
-static STRLIST
-expand_group(STRLIST input)
+static strlist_t
+expand_group(strlist_t input)
{
- STRLIST sl,output=NULL,rover;
+ strlist_t sl,output=NULL,rover;
for(rover=input;rover;rover=rover->next)
if(expand_id(rover->d,&output,rover->flags)==0)
@@ -771,13 +771,13 @@ expand_group(STRLIST input)
not changed.
*/
int
-build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use )
+build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
{
PK_LIST pk_list = NULL;
PKT_public_key *pk=NULL;
int rc=0;
int any_recipients=0;
- STRLIST rov,remusr;
+ strlist_t rov,remusr;
char *def_rec = NULL;
/* Try to expand groups if any have been defined. */
@@ -875,7 +875,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use )
{
int have_def_rec;
char *answer = NULL;
- STRLIST backlog = NULL;
+ strlist_t backlog = NULL;
if (pk_list)
any_recipients = 1;
diff --git a/g10/plaintext.c b/g10/plaintext.c
index 9ac259820..2d516a3a5 100644
--- a/g10/plaintext.c
+++ b/g10/plaintext.c
@@ -515,12 +515,12 @@ ask_for_detached_datafile (gcry_md_hd_t md, gcry_md_hd_t md2,
* If FILES is NULL, hash stdin.
*/
int
-hash_datafiles( gcry_md_hd_t md, gcry_md_hd_t md2, STRLIST files,
+hash_datafiles( gcry_md_hd_t md, gcry_md_hd_t md2, strlist_t files,
const char *sigfilename, int textmode )
{
progress_filter_context_t pfx;
IOBUF fp;
- STRLIST sl;
+ strlist_t sl;
if( !files ) {
/* check whether we can open the signed material */
diff --git a/g10/revoke.c b/g10/revoke.c
index 34f9f5c85..29f4b8d2f 100644
--- a/g10/revoke.c
+++ b/g10/revoke.c
@@ -197,7 +197,7 @@ export_minimal_pk(IOBUF out,KBNODE keyblock,
* Generate a revocation certificate for UNAME via a designated revoker
*/
int
-gen_desig_revoke( const char *uname, STRLIST locusr )
+gen_desig_revoke( const char *uname, strlist_t locusr )
{
int rc = 0;
armor_filter_context_t afx;
diff --git a/g10/sign.c b/g10/sign.c
index 07947b894..32f15c553 100644
--- a/g10/sign.c
+++ b/g10/sign.c
@@ -66,7 +66,7 @@ mk_notation_policy_etc( PKT_signature *sig,
{
const char *string;
char *s=NULL;
- STRLIST pu=NULL;
+ strlist_t pu=NULL;
struct notation *nd=NULL;
struct expando_args args;
@@ -735,8 +735,8 @@ write_signature_packets (SK_LIST sk_list, IOBUF out, gcry_md_hd_t hash,
* uncompressed, non-armored and in binary mode.
*/
int
-sign_file( STRLIST filenames, int detached, STRLIST locusr,
- int encryptflag, STRLIST remusr, const char *outfile )
+sign_file( strlist_t filenames, int detached, strlist_t locusr,
+ int encryptflag, strlist_t remusr, const char *outfile )
{
const char *fname;
armor_filter_context_t afx;
@@ -987,7 +987,7 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr,
/* Setup the inner packet. */
if( detached ) {
if( multifile ) {
- STRLIST sl;
+ strlist_t sl;
if( opt.verbose )
log_info(_("signing:") );
@@ -1069,7 +1069,7 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr,
* make a clear signature. note that opt.armor is not needed
*/
int
-clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
+clearsign_file( const char *fname, strlist_t locusr, const char *outfile )
{
armor_filter_context_t afx;
progress_filter_context_t pfx;
@@ -1223,7 +1223,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
* FIXME: Far too much code is duplicated - revamp the whole file.
*/
int
-sign_symencrypt_file (const char *fname, STRLIST locusr)
+sign_symencrypt_file (const char *fname, strlist_t locusr)
{
armor_filter_context_t afx;
progress_filter_context_t pfx;
diff --git a/g10/skclist.c b/g10/skclist.c
index d9a9d5e9f..5aeaa78ff 100644
--- a/g10/skclist.c
+++ b/g10/skclist.c
@@ -115,7 +115,7 @@ key_present_in_sk_list(SK_LIST sk_list, PKT_secret_key *sk)
}
static int
-is_duplicated_entry (STRLIST list, STRLIST item)
+is_duplicated_entry (strlist_t list, strlist_t item)
{
for(; list && list != item; list = list->next) {
if ( !strcmp (list->d, item->d) )
@@ -126,7 +126,7 @@ is_duplicated_entry (STRLIST list, STRLIST item)
int
-build_sk_list( STRLIST locusr, SK_LIST *ret_sk_list,
+build_sk_list( strlist_t locusr, SK_LIST *ret_sk_list,
int unlock, unsigned int use )
{
SK_LIST sk_list = NULL;
@@ -168,7 +168,7 @@ build_sk_list( STRLIST locusr, SK_LIST *ret_sk_list,
}
}
else {
- STRLIST locusr_orig = locusr;
+ strlist_t locusr_orig = locusr;
for(; locusr; locusr = locusr->next ) {
PKT_secret_key *sk;
diff --git a/g10/verify.c b/g10/verify.c
index f8a1fd90c..e34ad7a5d 100644
--- a/g10/verify.c
+++ b/g10/verify.c
@@ -59,7 +59,7 @@ verify_signatures( int nfiles, char **files )
progress_filter_context_t pfx;
const char *sigfile;
int i, rc;
- STRLIST sl;
+ strlist_t sl;
memset( &afx, 0, sizeof afx);
/* decide whether we should handle a detached or a normal signature,
diff --git a/gl/Makefile.am b/gl/Makefile.am
index be8e6a5b6..dceae98b3 100644
--- a/gl/Makefile.am
+++ b/gl/Makefile.am
@@ -9,7 +9,7 @@
#
# Generated by gnulib-tool.
# Invoked as: gnulib-tool --import
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=scripts alloca-opt allocsa mkdtemp setenv strpbrk strsep vasnprintf vasprintf xsize
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=scripts alloca-opt allocsa mkdtemp setenv strpbrk vasnprintf vasprintf xsize
AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies
@@ -59,18 +59,6 @@ libgnu_a_SOURCES += setenv.h
## end gnulib module setenv
-## begin gnulib module strpbrk
-
-libgnu_a_SOURCES += strpbrk.h
-
-## end gnulib module strpbrk
-
-## begin gnulib module strsep
-
-libgnu_a_SOURCES += strsep.h
-
-## end gnulib module strsep
-
## begin gnulib module vasnprintf
libgnu_a_SOURCES += printf-args.h printf-parse.h vasnprintf.h
diff --git a/gl/m4/gnulib.m4 b/gl/m4/gnulib.m4
index 46d5e338b..a17d49dbd 100644
--- a/gl/m4/gnulib.m4
+++ b/gl/m4/gnulib.m4
@@ -8,7 +8,7 @@
# Generated by gnulib-tool.
#
# Invoked as: gnulib-tool --import
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=scripts alloca-opt allocsa mkdtemp setenv strpbrk strsep vasnprintf vasprintf xsize
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=scripts alloca-opt allocsa mkdtemp setenv strpbrk vasnprintf vasprintf xsize
AC_DEFUN([gl_EARLY],
[
@@ -21,8 +21,6 @@ AC_DEFUN([gl_INIT],
gl_ALLOCSA
gt_FUNC_MKDTEMP
gt_FUNC_SETENV
- gl_FUNC_STRPBRK
- gl_FUNC_STRSEP
gl_FUNC_VASNPRINTF
gl_FUNC_VASPRINTF
gl_XSIZE
diff --git a/gl/m4/strpbrk.m4 b/gl/m4/strpbrk.m4
deleted file mode 100644
index 68360684e..000000000
--- a/gl/m4/strpbrk.m4
+++ /dev/null
@@ -1,16 +0,0 @@
-# strpbrk.m4 serial 2
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRPBRK],
-[
- AC_REPLACE_FUNCS(strpbrk)
- if test $ac_cv_func_strpbrk = no; then
- gl_PREREQ_STRPBRK
- fi
-])
-
-# Prerequisites of lib/strpbrk.c.
-AC_DEFUN([gl_PREREQ_STRPBRK], [:])
diff --git a/gl/m4/strsep.m4 b/gl/m4/strsep.m4
deleted file mode 100644
index 40a087b3d..000000000
--- a/gl/m4/strsep.m4
+++ /dev/null
@@ -1,17 +0,0 @@
-# strsep.m4 serial 3
-dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRSEP],
-[
- dnl Persuade glibc <string.h> to declare strsep().
- AC_REQUIRE([AC_GNU_SOURCE])
-
- AC_REPLACE_FUNCS(strsep)
- gl_PREREQ_STRSEP
-])
-
-# Prerequisites of lib/strsep.c.
-AC_DEFUN([gl_PREREQ_STRSEP], [:])
diff --git a/gl/strpbrk.c b/gl/strpbrk.c
deleted file mode 100644
index 9152440b1..000000000
--- a/gl/strpbrk.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 1991, 1994, 2000, 2002-2003 Free Software Foundation, Inc.
- NOTE: The canonical source of this file is maintained with the GNU C Library.
- Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
- This program 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, or (at your option) any
- later version.
-
- This program 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stddef.h>
-#include <string.h>
-
-#undef strpbrk
-
-/* Find the first occurrence in S of any character in ACCEPT. */
-char *
-strpbrk (const char *s, const char *accept)
-{
- while (*s != '\0')
- {
- const char *a = accept;
- while (*a != '\0')
- if (*a++ == *s)
- return (char *) s;
- ++s;
- }
-
- return NULL;
-}
diff --git a/gl/strpbrk.h b/gl/strpbrk.h
deleted file mode 100644
index acc8d358b..000000000
--- a/gl/strpbrk.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Searching in a string.
- Copyright (C) 2001-2002 Free Software Foundation, Inc.
-
- This program 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, or (at your option)
- any later version.
-
- This program 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#if HAVE_STRPBRK
-
-/* Get strpbrk() declaration. */
-#include <string.h>
-
-#else
-
-/* Find the first occurrence in S of any character in ACCEPT. */
-extern char *strpbrk (const char *s, const char *accept);
-
-#endif
diff --git a/gl/strsep.c b/gl/strsep.c
deleted file mode 100644
index 40c2939c8..000000000
--- a/gl/strsep.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-
- Written by Yoann Vandoorselaere <yoann@prelude-ids.org>.
-
- This program 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, or (at your option)
- any later version.
-
- This program 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-/* Specification. */
-#include "strsep.h"
-
-#include <string.h>
-
-#include "strpbrk.h"
-
-char *
-strsep (char **stringp, const char *delim)
-{
- char *start = *stringp;
- char *ptr;
-
- if (!start)
- return NULL;
-
- if (!*delim)
- ptr = start + strlen (start);
- else
- {
- ptr = strpbrk (start, delim);
- if (!ptr)
- {
- *stringp = NULL;
- return start;
- }
- }
-
- *ptr = '\0';
- *stringp = ptr + 1;
-
- return start;
-}
diff --git a/gl/strsep.h b/gl/strsep.h
deleted file mode 100644
index ca28a2ffe..000000000
--- a/gl/strsep.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-
- Written by Yoann Vandoorselaere <yoann@prelude-ids.org>.
-
- This program 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, or (at your option)
- any later version.
-
- This program 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef GNULIB_STRSEP_H_
-#define GNULIB_STRSEP_H_
-
-#if HAVE_STRSEP
-
-/*
- * Get strsep() declaration.
- */
-#include <string.h>
-
-#else
-
-/* Searches the next delimiter (char listed in DELIM) starting at *STRINGP.
- If one is found, it is overwritten with a NUL, and *STRINGP is advanced
- to point to the next char after it. Otherwise, *STRINGP is set to NULL.
- If *STRINGP was already NULL, nothing happens.
- Returns the old value of *STRINGP.
-
- This is a variant of strtok() that is multithread-safe and supports
- empty fields.
-
- Caveat: It modifies the original string.
- Caveat: These functions cannot be used on constant strings.
- Caveat: The identity of the delimiting character is lost.
- Caveat: It doesn't work with multibyte strings unless all of the delimiter
- characters are ASCII characters < 0x30.
-
- See also strtok_r(). */
-
-extern char *strsep (char **stringp, const char *delim);
-
-#endif
-
-#endif /* GNULIB_STRSEP_H_ */
diff --git a/jnlib/ChangeLog b/jnlib/ChangeLog
index 6c38de2b1..7273f0e5f 100644
--- a/jnlib/ChangeLog
+++ b/jnlib/ChangeLog
@@ -1,3 +1,33 @@
+2006-09-27 Werner Koch <wk@g10code.com>
+
+ * mischelp.c: New.
+ (timegm): Copied from gnupg 1.4, Changed from LGPL to GPL. Fixed
+ a memory leak.
+
+ * stringhelp.h (isascii): New.
+
+ * stringhelp.c (strsep): New. Copied from gnupg 1.4.5
+ util/strgutil.c.
+
+ * strlist.h (STRLIST): Removed deprecated typedef.
+
+ * types.h: Made cpp commands work with old compilers. Also shows
+ up nicer with Emacs' font locking.
+
+ * w32-afunix.c (_w32_sock_connect): Set ERRNO for an invalid port.
+
+ Changed license from GPL to LGPL. Note that all code has either
+ been written by me, David, employees of g10 Code or taken from
+ glibc.
+
+ * libjnlib-config.h, stringhelp.c, stringhelp.h:
+ * strlist.c, strlist.h, utf8conv.c, utf8conv.h:
+ * argparse.c, argparse.h, logging.c, logging.h:
+ * dotlock.c, dotlock.h, types.h, mischelp.h:
+ * xmalloc.c, xmalloc.h, w32-pth.c, w32-pth.h:
+ * w32-afunix.c, w32-afunix.h: Tagged them to be long to jnlib
+ which is a part of GnuPG but also used by other projetcs.
+
2006-09-22 Werner Koch <wk@g10code.com>
* utf8conv.c: Reworked to match the gnupg 1.4.5 code. This now
@@ -342,53 +372,53 @@
2000-07-26 10:02:51 Werner Koch (wk@habibti.openit.de)
- * stringhelp.c.: Add stdarg.h
- * argparse.h: s/ulong/unsigned long/ although this should be defined
- by types.h.
+ * stringhelp.c.: Add stdarg.h
+ * argparse.h: s/ulong/unsigned long/ although this should be defined
+ by types.h.
2000-06-28 19:40:23 Werner Koch (wk@habibti.openit.de)
- * Makefile.am: Replaced second logging.c by .h
+ * Makefile.am: Replaced second logging.c by .h
2000-05-24 08:58:15 Werner Koch (wk@habibti.openit.de)
- * logging.c (log_get_errorcount): New.
+ * logging.c (log_get_errorcount): New.
2000-05-24 08:44:47 Werner Koch (wk@habibti.openit.de)
- * stringhelp.c: Added a few filename related helper functions.
+ * stringhelp.c: Added a few filename related helper functions.
2000-05-11 18:04:43 Werner Koch (wk@habibti.openit.de)
- * xmalloc.c (xstrcat2): Replaced stpcpy to quickly address W32
- problems.
+ * xmalloc.c (xstrcat2): Replaced stpcpy to quickly address W32
+ problems.
2000-05-02 19:43:38 Werner Koch (wk@habibti.openit.de)
- * xmalloc.c (xstrcat2): New.
+ * xmalloc.c (xstrcat2): New.
Mon Jan 24 13:04:28 CET 2000 Werner Koch <wk@gnupg.de>
- * README: New.
- * Makefile.am: new.
- * argparse.c argparse.h logging.c logging.h
- mischelp.h stringhelp.c stringhelp.h xmalloc.c
- xmalloc.h dotlock.c: Moved from ../util to here.
- * dotlock.h: New.
- * libjnlib-config.h: New.
+ * README: New.
+ * Makefile.am: new.
+ * argparse.c, argparse.h, logging.c, logging.h:
+ * mischelp.h, stringhelp.c, stringhelp.h, xmalloc.c:
+ * xmalloc.h, dotlock.c: Moved from ../util to here.
+ * dotlock.h: New.
+ * libjnlib-config.h: New.
- * logging.c (log_set_file): New.
- (log_printf): New.
- (do_logv): Add kludge to insert LFs.
+ * logging.c (log_set_file): New.
+ (log_printf): New.
+ (do_logv): Add kludge to insert LFs.
***********************************************************
- * Please note that Jnlib is maintained as part of GnuPG. *
+ * Please note that JNLIB is maintained as part of GnuPG. *
* You may find it source-copied in other packages. *
***********************************************************
Copyright 2000, 2001, 2002, 2003, 2004,
- 2005 Free Software Foundation, Inc.
+ 2005, 2006 Free Software Foundation, Inc.
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
diff --git a/jnlib/Makefile.am b/jnlib/Makefile.am
index 5fd48495c..951c562f2 100644
--- a/jnlib/Makefile.am
+++ b/jnlib/Makefile.am
@@ -1,21 +1,24 @@
-# Copyright (C) 1999, 2000, 2001, 2004 Feee Software Soundation, Inc.
+# Makefile for the JNLIB part of GnuPG
+# Copyright (C) 1999, 2000, 2001, 2004,
+# 2006 Feee Software Soundation, Inc.
#
-# This file is part of GnuPG
+# This file is part of JNLIB.
#
-# 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.
+# JNLIB is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 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.
+# JNLIB 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
+# Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-# USA.
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
## Process this file with automake to produce Makefile.in
@@ -38,9 +41,10 @@ libjnlib_a_SOURCES = \
argparse.c argparse.h \
logging.c logging.h \
dotlock.c dotlock.h \
- types.h mischelp.h \
+ types.h mischelp.c mischelp.h \
w32-pth.c w32-pth.h \
w32-afunix.c w32-afunix.h
-# xmalloc.c xmalloc.h
+# For GnuPG we don't need the xmalloc stuff.
+# xmalloc.c xmalloc.h
diff --git a/jnlib/README b/jnlib/README
index e49ef4450..5536e1ade 100644
--- a/jnlib/README
+++ b/jnlib/README
@@ -1,7 +1,8 @@
-jnlib - this is a collection of utility function which are
-too small to put into a library.
+JNLIB - This is a collection of utility function which are too small
+to put into a library. The code here is licensed under the LGPL.
+
+libjnlib-config.h should be be modified for each project to make these
+functions fit into the software. Mainly these are memory functions in
+case you need another allocator.
-libjnlib-config.h should be be modified for each project
-to make these functions fit into the software. Mainly these
-are memory functions in case you need another allocator.
diff --git a/jnlib/argparse.c b/jnlib/argparse.c
index 15a7c546e..c4fb057c2 100644
--- a/jnlib/argparse.c
+++ b/jnlib/argparse.c
@@ -1,22 +1,22 @@
/* [argparse.c wk 17.06.97] Argument Parser for option handling
- * Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#include <config.h>
diff --git a/jnlib/argparse.h b/jnlib/argparse.h
index 531622ea5..3528d8156 100644
--- a/jnlib/argparse.h
+++ b/jnlib/argparse.h
@@ -1,22 +1,22 @@
/* argparse.h
- * Copyright (C) 1998,1999,2000,2001 Free Software Foundation, Inc.
+ * Copyright (C) 1998,1999,2000,2001,2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_ARGPARSE_H
diff --git a/jnlib/dotlock.c b/jnlib/dotlock.c
index f5de8fa54..ba89bcea6 100644
--- a/jnlib/dotlock.c
+++ b/jnlib/dotlock.c
@@ -2,22 +2,22 @@
* Copyright (C) 1998, 2000, 2001, 2003, 2004,
* 2005, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#include <config.h>
diff --git a/jnlib/dotlock.h b/jnlib/dotlock.h
index 1c0f05cb2..054900522 100644
--- a/jnlib/dotlock.h
+++ b/jnlib/dotlock.h
@@ -1,22 +1,22 @@
/* dotlock.h
- * Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+ * Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_DOTLOCK_H
@@ -33,6 +33,3 @@ int release_dotlock (DOTLOCK h);
void dotlock_remove_lockfiles (void);
#endif /*LIBJNLIB_DOTLOCK_H*/
-
-
-
diff --git a/jnlib/libjnlib-config.h b/jnlib/libjnlib-config.h
index ded6e057b..4554b9d1a 100644
--- a/jnlib/libjnlib-config.h
+++ b/jnlib/libjnlib-config.h
@@ -1,22 +1,22 @@
/* libjnlib-config.h - local configuration of the jnlib functions
* Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
/****************
@@ -33,6 +33,8 @@
/* We require support for utf-8 conversion. */
#define JNLIB_NEED_UTF8CONV 1
+
+/* Gettext stuff */
#ifdef USE_SIMPLE_GETTEXT
int set_gettext_file( const char *filename );
const char *gettext( const char *msgid );
@@ -59,13 +61,14 @@
#endif
#endif /* !USE_SIMPLE_GETTEXT */
-
+/* Malloc functions to be jused by jnlib. */
#define jnlib_xmalloc(a) gcry_xmalloc( (a) )
#define jnlib_xcalloc(a,b) gcry_xcalloc( (a), (b) )
#define jnlib_xrealloc(a,n) gcry_xrealloc( (a), (n) )
#define jnlib_xstrdup(a) gcry_xstrdup( (a) )
#define jnlib_free(a) gcry_free( (a) )
+/* Logging functions to be jused by jnlib. */
#define jnlib_log_debug log_debug
#define jnlib_log_info log_info
#define jnlib_log_error log_error
diff --git a/jnlib/logging.c b/jnlib/logging.c
index 568c67247..dce5ab2ea 100644
--- a/jnlib/logging.c
+++ b/jnlib/logging.c
@@ -1,23 +1,23 @@
-/* logging.c - useful logging functions
+/* logging.c - Useful logging functions
* Copyright (C) 1998, 1999, 2000, 2001, 2003,
- * 2004, 2005 Free Software Foundation, Inc.
+ * 2004, 2005, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
diff --git a/jnlib/logging.h b/jnlib/logging.h
index 3ad43b4ec..ed54b473e 100644
--- a/jnlib/logging.h
+++ b/jnlib/logging.h
@@ -1,22 +1,22 @@
/* logging.h
- * Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
+ * Copyright (C) 1999, 2000, 2001, 2004, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_LOGGING_H
diff --git a/jnlib/mischelp.c b/jnlib/mischelp.c
new file mode 100644
index 000000000..7f8e671cd
--- /dev/null
+++ b/jnlib/mischelp.c
@@ -0,0 +1,88 @@
+/* mischelp.c - Miscellaneous helper functions
+ * Copyright (C) 1998, 2000, 2001, 2006 Free Software Foundation, Inc.
+ *
+ * This file is part of JNLIB.
+ *
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * JNLIB 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+#include <config.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+#include "libjnlib-config.h"
+#include "mischelp.h"
+
+/* A dummy function to prevent an empty compilation unit. Some
+ compilers bail out in this case. */
+time_t
+libjnlib_dummy_mischelp_func (void)
+{
+ return time (NULL);
+}
+
+
+/*
+ timegm() is a GNU function that might not be available everywhere.
+ It's basically the inverse of gmtime() - you give it a struct tm,
+ and get back a time_t. It differs from mktime() in that it handles
+ the case where the struct tm is UTC and the local environment isn't.
+
+ Note, that this replacement implementaion is not thread-safe!
+
+ Some BSDs don't handle the putenv("foo") case properly, so we use
+ unsetenv if the platform has it to remove environment variables.
+*/
+#ifndef HAVE_TIMEGM
+time_t
+timegm (struct tm *tm)
+{
+ time_t answer;
+ char *zone;
+
+ zone=getenv("TZ");
+ putenv("TZ=UTC");
+ tzset();
+ answer=mktime(tm);
+ if(zone)
+ {
+ static char *old_zone;
+
+ if (!old_zone)
+ {
+ old_zone = malloc(3+strlen(zone)+1);
+ if (old_zone)
+ {
+ strcpy(old_zone,"TZ=");
+ strcat(old_zone,zone);
+ }
+ }
+ if (old_zone)
+ putenv (old_zone);
+ }
+ else
+#ifdef HAVE_UNSETENV
+ unsetenv("TZ");
+#else
+ putenv("TZ");
+#endif
+
+ tzset();
+ return answer;
+}
+#endif /*!HAVE_TIMEGM*/
+
diff --git a/jnlib/mischelp.h b/jnlib/mischelp.h
index 8e7f9c346..7c07c3c3f 100644
--- a/jnlib/mischelp.h
+++ b/jnlib/mischelp.h
@@ -1,28 +1,35 @@
-/* mischelp.h
- * Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+/* mischelp.h - Miscellaneous helper macros and functions
+ * Copyright (C) 1999, 2000, 2001, 2002, 2003,
+ * 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_MISCHELP_H
#define LIBJNLIB_MISCHHELP_H
+#ifndef HAVE_TIMEGM
+#include <time.h>
+time_t timegm (struct tm *tm);
+#endif /*!HAVE_TIMEGM*/
+
+
#define DIM(v) (sizeof(v)/sizeof((v)[0]))
#define DIMof(type,member) DIM(((type *)0)->member)
@@ -51,5 +58,4 @@
-
#endif /*LIBJNLIB_MISCHELP_H*/
diff --git a/jnlib/stringhelp.c b/jnlib/stringhelp.c
index 9df852754..4e2768251 100644
--- a/jnlib/stringhelp.c
+++ b/jnlib/stringhelp.c
@@ -2,22 +2,22 @@
* Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005,
* 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#include <config.h>
@@ -707,6 +707,55 @@ stpcpy(char *a,const char *b)
}
#endif
+#ifndef HAVE_STRSEP
+/* Code taken from glibc-2.2.1/sysdeps/generic/strsep.c. */
+char *
+strsep (char **stringp, const char *delim)
+{
+ char *begin, *end;
+
+ begin = *stringp;
+ if (begin == NULL)
+ return NULL;
+
+ /* A frequent case is when the delimiter string contains only one
+ character. Here we don't need to call the expensive `strpbrk'
+ function and instead work using `strchr'. */
+ if (delim[0] == '\0' || delim[1] == '\0')
+ {
+ char ch = delim[0];
+
+ if (ch == '\0')
+ end = NULL;
+ else
+ {
+ if (*begin == ch)
+ end = begin;
+ else if (*begin == '\0')
+ end = NULL;
+ else
+ end = strchr (begin + 1, ch);
+ }
+ }
+ else
+ /* Find the end of the token. */
+ end = strpbrk (begin, delim);
+
+ if (end)
+ {
+ /* Terminate the token and set *STRINGP past NUL character. */
+ *end++ = '\0';
+ *stringp = end;
+ }
+ else
+ /* No more delimiters; this is the last token. */
+ *stringp = NULL;
+
+ return begin;
+}
+#endif /*HAVE_STRSEP*/
+
+
#ifndef HAVE_STRLWR
char *
strlwr(char *s)
diff --git a/jnlib/stringhelp.h b/jnlib/stringhelp.h
index b8f4dbec0..5de50befe 100644
--- a/jnlib/stringhelp.h
+++ b/jnlib/stringhelp.h
@@ -1,22 +1,23 @@
/* stringhelp.h
- * Copyright (C) 1998,1999,2000,2001,2003 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001, 2003,
+ * 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_STRINGHELP_H
@@ -79,21 +80,33 @@ int memicmp( const char *a, const char *b, size_t n );
#ifndef HAVE_STPCPY
char *stpcpy(char *a,const char *b);
#endif
+#ifndef HAVE_STRSEP
+char *strsep (char **stringp, const char *delim);
+#endif
#ifndef HAVE_STRLWR
char *strlwr(char *a);
#endif
#ifndef HAVE_STRTOUL
- #define strtoul(a,b,c) ((unsigned long)strtol((a),(b),(c)))
+# define strtoul(a,b,c) ((unsigned long)strtol((a),(b),(c)))
#endif
#ifndef HAVE_MEMMOVE
- #define memmove(d, s, n) bcopy((s), (d), (n))
+# define memmove(d, s, n) bcopy((s), (d), (n))
#endif
#ifndef HAVE_STRICMP
- #define stricmp(a,b) strcasecmp( (a), (b) )
+# define stricmp(a,b) strcasecmp( (a), (b) )
#endif
+#ifndef HAVE_ISASCII
+static inline int
+isascii (int c)
+{
+ return (((c) & ~0x7f) == 0);
+}
+#endif /* !HAVE_ISASCII */
+
+
#ifndef STR
- #define STR(v) #v
+# define STR(v) #v
#endif
#define STR2(v) STR(v)
diff --git a/jnlib/strlist.c b/jnlib/strlist.c
index 87e121705..01f483a8a 100644
--- a/jnlib/strlist.c
+++ b/jnlib/strlist.c
@@ -1,22 +1,22 @@
/* strlist.c - string helpers
* Copyright (C) 1998, 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#include <config.h>
diff --git a/jnlib/strlist.h b/jnlib/strlist.h
index ee9f1fa60..a5f1a082f 100644
--- a/jnlib/strlist.h
+++ b/jnlib/strlist.h
@@ -1,33 +1,33 @@
/* strlist.h
- * Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_STRLIST_H
#define LIBJNLIB_STRLIST_H
-struct string_list {
+struct string_list
+{
struct string_list *next;
unsigned int flags;
char d[1];
};
-typedef struct string_list *STRLIST; /* Deprecated. */
typedef struct string_list *strlist_t;
void free_strlist (strlist_t sl);
diff --git a/jnlib/types.h b/jnlib/types.h
index 89d245943..f8548b58a 100644
--- a/jnlib/types.h
+++ b/jnlib/types.h
@@ -1,22 +1,22 @@
-/* types.h
- * Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+/* types.h - define some extra types
+ * Copyright (C) 1999, 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_TYPES_H
@@ -25,16 +25,16 @@
/* The AC_CHECK_SIZEOF() in configure fails for some machines.
* we provide some fallback values here */
#if !SIZEOF_UNSIGNED_SHORT
- #undef SIZEOF_UNSIGNED_SHORT
- #define SIZEOF_UNSIGNED_SHORT 2
+# undef SIZEOF_UNSIGNED_SHORT
+# define SIZEOF_UNSIGNED_SHORT 2
#endif
#if !SIZEOF_UNSIGNED_INT
- #undef SIZEOF_UNSIGNED_INT
- #define SIZEOF_UNSIGNED_INT 4
+# undef SIZEOF_UNSIGNED_INT
+# define SIZEOF_UNSIGNED_INT 4
#endif
#if !SIZEOF_UNSIGNED_LONG
- #undef SIZEOF_UNSIGNED_LONG
- #define SIZEOF_UNSIGNED_LONG 4
+# undef SIZEOF_UNSIGNED_LONG
+# define SIZEOF_UNSIGNED_LONG 4
#endif
@@ -42,65 +42,63 @@
#ifndef HAVE_BYTE_TYPEDEF
- #undef byte /* maybe there is a macro with this name */
+# undef byte /* There might be a macro with this name. */
/* Windows typedefs byte in the rpc headers. Avoid warning about
double definition. */
#if !(defined(_WIN32) && defined(cbNDRContext))
typedef unsigned char byte;
#endif
- #define HAVE_BYTE_TYPEDEF
+# define HAVE_BYTE_TYPEDEF
#endif
#ifndef HAVE_USHORT_TYPEDEF
- #undef ushort /* maybe there is a macro with this name */
- typedef unsigned short ushort;
- #define HAVE_USHORT_TYPEDEF
+# undef ushort /* There might be a macro with this name. */
+ typedef unsigned short ushort;
+# define HAVE_USHORT_TYPEDEF
#endif
#ifndef HAVE_ULONG_TYPEDEF
- #undef ulong /* maybe there is a macro with this name */
- typedef unsigned long ulong;
- #define HAVE_ULONG_TYPEDEF
+# undef ulong /* There might be a macro with this name. */
+ typedef unsigned long ulong;
+# define HAVE_ULONG_TYPEDEF
#endif
#ifndef HAVE_U16_TYPEDEF
- #undef u16 /* maybe there is a macro with this name */
- #if SIZEOF_UNSIGNED_INT == 2
- typedef unsigned int u16;
- #elif SIZEOF_UNSIGNED_SHORT == 2
- typedef unsigned short u16;
- #else
- #error no typedef for u16
- #endif
- #define HAVE_U16_TYPEDEF
+# undef u16 /* There might be a macro with this name. */
+# if SIZEOF_UNSIGNED_INT == 2
+ typedef unsigned int u16;
+# elif SIZEOF_UNSIGNED_SHORT == 2
+ typedef unsigned short u16;
+# else
+# error no typedef for u16
+# endif
+# define HAVE_U16_TYPEDEF
#endif
#ifndef HAVE_U32_TYPEDEF
- #undef u32 /* maybe there is a macro with this name */
- #if SIZEOF_UNSIGNED_INT == 4
- typedef unsigned int u32;
- #elif SIZEOF_UNSIGNED_LONG == 4
- typedef unsigned long u32;
- #else
- #error no typedef for u32
- #endif
- #define HAVE_U32_TYPEDEF
+# undef u32 /* There might be a macro with this name. */
+# if SIZEOF_UNSIGNED_INT == 4
+ typedef unsigned int u32;
+# elif SIZEOF_UNSIGNED_LONG == 4
+ typedef unsigned long u32;
+# else
+# error no typedef for u32
+# endif
+# define HAVE_U32_TYPEDEF
#endif
#ifndef HAVE_U64_TYPEDEF
- #undef u64 /* maybe there is a macro with this name */
- #if SIZEOF_UNSIGNED_INT == 8
- typedef unsigned int u64;
- #define HAVE_U64_TYPEDEF
- #elif SIZEOF_UNSIGNED_LONG == 8
- typedef unsigned long u64;
- #define HAVE_U64_TYPEDEF
- #elif __GNUC__ >= 2 || defined(__SUNPRO_C)
- typedef unsigned long long u64;
- #define HAVE_U64_TYPEDEF
- #endif
+# undef u64 /* There might be a macro with this name. */
+# if SIZEOF_UNSIGNED_INT == 8
+ typedef unsigned int u64;
+# define HAVE_U64_TYPEDEF
+# elif SIZEOF_UNSIGNED_LONG == 8
+ typedef unsigned long u64;
+# define HAVE_U64_TYPEDEF
+# elif __GNUC__ >= 2 || defined(__SUNPRO_C)
+ typedef unsigned long long u64;
+# define HAVE_U64_TYPEDEF
+# endif
#endif
-
-
#endif /*LIBJNLIB_TYPES_H*/
diff --git a/jnlib/utf8conv.c b/jnlib/utf8conv.c
index ebb6ef3fd..ec04a52ad 100644
--- a/jnlib/utf8conv.c
+++ b/jnlib/utf8conv.c
@@ -1,23 +1,23 @@
/* utf8conf.c - UTF8 character set conversion
* Copyright (C) 1994, 1998, 1999, 2000, 2001,
- * 2003 Free Software Foundation, Inc.
+ * 2003, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#include <config.h>
diff --git a/jnlib/utf8conv.h b/jnlib/utf8conv.h
index 344c47f92..f0eb4ec0f 100644
--- a/jnlib/utf8conv.h
+++ b/jnlib/utf8conv.h
@@ -1,22 +1,22 @@
/* utf8conf.h
- * Copyright (C) 2003 Free Software Foundation, Inc.
+ * Copyright (C) 2003, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_UTF8CONF_H
diff --git a/jnlib/w32-afunix.c b/jnlib/w32-afunix.c
index 84d799f1f..dcce423c7 100644
--- a/jnlib/w32-afunix.c
+++ b/jnlib/w32-afunix.c
@@ -1,27 +1,29 @@
-/* w32-afunix.c
- * Copyright (C) 2004 g10 Code GmbH
+/* w32-afunix.c - AF_UNIX emulation for Windows.
+ * Copyright (C) 2004, 2006 g10 Code GmbH
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
+
#ifdef _WIN32
#include <stdio.h>
#include <windows.h>
#include <io.h>
+#include <errno.h>
#include "w32-afunix.h"
@@ -59,9 +61,11 @@ _w32_sock_connect (int sockfd, struct sockaddr * addr, int addrlen)
fscanf (fp, "%d", &port);
fclose (fp);
- /* XXX: set errno in this case */
if (port < 0 || port > 65535)
- return -1;
+ {
+ errno = EINVAL;
+ return -1;
+ }
myaddr.sin_family = AF_INET;
myaddr.sin_port = port;
diff --git a/jnlib/w32-afunix.h b/jnlib/w32-afunix.h
index d0eb8cf7e..d16e86557 100644
--- a/jnlib/w32-afunix.h
+++ b/jnlib/w32-afunix.h
@@ -1,23 +1,24 @@
-/* w32-afunix.h
- * Copyright (C) 2004 g10 Code GmbH
+/* w32-afunix.h - AF_UNIX emulation for Windows
+ * Copyright (C) 2004, 2006 g10 Code GmbH
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * GnuPG is free software; you can redistribute it and/or modify it
+ * JNLIB is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
- * GnuPG is distributed in the hope that it will be useful, but
+ * JNLIB 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
+
#ifdef _WIN32
#ifndef W32AFUNIX_DEFS_H
#define W32AFUNIX_DEFS_H
diff --git a/jnlib/w32-pth.c b/jnlib/w32-pth.c
index 4107c7cb3..0ef4d9e4e 100644
--- a/jnlib/w32-pth.c
+++ b/jnlib/w32-pth.c
@@ -1,23 +1,23 @@
/* w32-pth.c - GNU Pth emulation for W32 (MS Windows).
* Copyright (c) 1999-2003 Ralf S. Engelschall <rse@engelschall.com>
- * Copyright (C) 2004 g10 Code GmbH
+ * Copyright (C) 2004, 2006 g10 Code GmbH
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * GnuPG is free software; you can redistribute it and/or modify it
+ * JNLIB is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
- * GnuPG is distributed in the hope that it will be useful, but
+ * JNLIB 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*
* ------------------------------------------------------------------
* This code is based on Ralf Engelschall's GNU Pth, a non-preemptive
diff --git a/jnlib/w32-pth.h b/jnlib/w32-pth.h
index 524010d92..e351a9f0a 100644
--- a/jnlib/w32-pth.h
+++ b/jnlib/w32-pth.h
@@ -1,23 +1,23 @@
/* w32-pth.h - GNU Pth emulation for W32 (MS Windows).
* Copyright (c) 1999-2003 Ralf S. Engelschall <rse@engelschall.com>
- * Copyright (C) 2004 g10 Code GmbH
+ * Copyright (C) 2004, 2006 g10 Code GmbH
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * GnuPG is free software; you can redistribute it and/or modify it
+ * JNLIB is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
- * GnuPG is distributed in the hope that it will be useful, but
+ * JNLIB 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*
* ------------------------------------------------------------------
* This code is based on Ralf Engelschall's GNU Pth, a non-preemptive
diff --git a/jnlib/xmalloc.c b/jnlib/xmalloc.c
index f5b92ba41..1dafe55a6 100644
--- a/jnlib/xmalloc.c
+++ b/jnlib/xmalloc.c
@@ -1,22 +1,22 @@
/* xmalloc.c - standard malloc wrappers
- * Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+ * Copyright (C) 1999, 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#include <config.h>
diff --git a/jnlib/xmalloc.h b/jnlib/xmalloc.h
index 8bfa7df79..21cfd508d 100644
--- a/jnlib/xmalloc.h
+++ b/jnlib/xmalloc.h
@@ -1,22 +1,22 @@
/* xmalloc.h
- * Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+ * Copyright (C) 1999, 2000, 2001, 2006 Free Software Foundation, Inc.
*
- * This file is part of GnuPG.
+ * This file is part of JNLIB.
*
- * 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.
+ * JNLIB is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 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.
+ * JNLIB 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
+ * Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
*/
#ifndef LIBJNLIB_XMALLOC_H
diff --git a/po/be.po b/po/be.po
index e90a13881..6cfd14d24 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2003-10-30 16:35+0200\n"
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
@@ -499,42 +499,42 @@ msgstr ""
msgid "cancelled\n"
msgstr "ÑкаÑавана карыÑтальнікам\n"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "памылка ÑтварÑÐ½ÑŒÐ½Ñ \"%s\": %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "немагчыма адкрыць %s: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "ÑакрÑтны ключ недаÑтупны"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð°"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "памылка ÑтварÑÐ½ÑŒÐ½Ñ \"%s\": %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -547,7 +547,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -557,7 +557,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -569,19 +569,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "yes [так]"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6368,124 +6368,124 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr ""
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "немагчыма адкрыць %s: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "ÑакрÑтны ключ недаÑтупны"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "%s: немагчыма Ñтварыць Ñ…Ñш-табліцу: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
msgid "certificate has been revoked"
msgstr ""
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "дрÑнны ÑÑртыфікат"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Даведка адÑутнічае"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "збой падпіÑаньнÑ: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
msgid "no issuer found in certificate"
msgstr ""
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "ГÑÑ‚Ñ‹ ключ згубіў ÑаÑтарÑÑž!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "паказаць ключы й адбіткі пальцаў"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "збой падпіÑаньнÑ: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "праверыць подпіÑ"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/ca.po b/po/ca.po
index c5bf563c2..915c293b1 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -27,7 +27,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2005-02-04 02:04+0100\n"
"Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -532,43 +532,43 @@ msgstr "error en la creació de la contrasenya: %s\n"
msgid "cancelled\n"
msgstr "Cancel·la"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "error en la lectura de «%s»: %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "fitxer d'opcions «%s»: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
# Parts? Peces? ivb
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "parts de la clau secreta no estan disponbles\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "error de lectura: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "error en la lectura de «%s»: %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -581,7 +581,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -591,7 +591,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -603,19 +603,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "sí|si"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6932,135 +6932,135 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "la versió %d del protocol de gpg-agent no està suportada\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "no s'ha pogut obrir «%s»: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "s'està escrivint la clau secreta a «%s»\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "NOTA: aquesta clau ha estat revocada!"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "Certificat correcte"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "La clau és disponible en: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Certificat correcte"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, fuzzy, c-format
msgid "certificate with invalid validity: %s"
msgstr "problema en la lectura del certificat: %s\n"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
#, fuzzy
msgid "certificate not yet valid"
msgstr "Certificat de revocació vàlid"
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "problema en la lectura del certificat: %s\n"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
#, fuzzy
msgid "root certificate is not marked trusted"
msgstr ""
"No s'han trobat certificats amb confiança no definida.\n"
"\n"
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Empremta digital:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
#, fuzzy
msgid "root certificate has now been marked as trusted\n"
msgstr ""
"No s'han trobat certificats amb confiança no definida.\n"
"\n"
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
#, fuzzy
msgid "certificate chain too long\n"
msgstr "Certificat de revocació vàlid"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
#, fuzzy
msgid "issuer certificate not found"
msgstr "Certificat de revocació vàlid"
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verifica una signatura"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/cs.po b/po/cs.po
index cab0aa64d..7136d21b7 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.3.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-11-26 09:12+0200\n"
"Last-Translator: Roman Pavlik <rp@tns.cz>\n"
"Language-Team: Czech <translations.cs@gnupg.cz>\n"
@@ -509,42 +509,42 @@ msgstr "chyba pøi vytváøení hesla: %s\n"
msgid "cancelled\n"
msgstr "zru¹eno"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "chyba v `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "soubor s mo¾nostmi `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "tajné èásti klíèe nejsou dostupné\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "chyba pøi ètení v `%s': %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "chyba pøi ètení `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -557,7 +557,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -567,7 +567,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -579,19 +579,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "ano"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6631,126 +6631,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agent protokol verze %d není podporován\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "Nemohu otevøít `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "exportování tajného klíèe není povoleno\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "nelze ulo¾it klíè: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "POZNÁMKA: klíè byl revokován"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "¹patný certifikát"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Klíè k dispozici na: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "kontrola vytvoøeného podpisu se nepodaøila: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "vytvoøit revokaèní certifikát"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Platnost klíèe vypr¹ela!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "CA fingerprint: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "kontrola vytvoøeného podpisu se nepodaøila: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verifikovat podpis"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/da.po b/po/da.po
index fd0efea6d..482333e6f 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.0h\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2003-12-03 16:11+0100\n"
"Last-Translator: Birger Langkjer <birger.langkjer@image.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
@@ -503,42 +503,42 @@ msgstr "fejl ved oprettelse af kodesætning: %s\n"
msgid "cancelled\n"
msgstr ""
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "fejl ved læsning af '%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "%s: bruger ikke fundet: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "hemmelig nøgle ikke tilgængelig"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "panser: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "fejl ved læsning af '%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -551,7 +551,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -561,7 +561,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -573,19 +573,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "ja"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6518,128 +6518,128 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "valgte cifferalgoritme %d er ugyldig\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "kan ikke åbne '%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "skriver hemmeligt certifikat til '%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
# er det klogt at oversætte TrustDB?
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "kunne ikke initialisere TillidsDB: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "nøgle %08lX: nøgle er blevet annulleret!\n"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "Godt certifikat"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Ingen hjælp tilgængelig"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "Kan ikke tjekke signatur: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Godt certifikat"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, fuzzy, c-format
msgid "certificate with invalid validity: %s"
msgstr "certifikatlæseproblem: %s\n"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "certifikatlæseproblem: %s\n"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Fingeraftryk:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "Kan ikke tjekke signatur: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
#, fuzzy
msgid "certificate chain too long\n"
msgstr "certifikatlæseproblem: %s\n"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "godkend en signatur"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/de.po b/po/de.po
index 13f2357b4..254d4f29e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.9.90\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2006-09-25 09:09+0200\n"
"Last-Translator: Walter Koch <koch@u32.de>\n"
"Language-Team: German <de@li.org>\n"
@@ -502,43 +502,43 @@ msgstr "Fehler bei der Abfrage der Passphrase: %s\n"
msgid "cancelled\n"
msgstr "Vom Benutzer abgebrochen\n"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "Fehler beim Erstellen von `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "Konfigurationsdatei `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, fuzzy, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr "Ungültiger Landescode in `%s', Zeile %d\n"
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, c-format
msgid "system trustlist `%s' not available\n"
msgstr ""
"Systemliste der vertrauenswürdigen Zertifikate '%s' ist nicht vorhanden\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "Der Fingerabdruck in `%s', Zeile %d is fehlerhaft formatiert\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, fuzzy, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr "Ungültiger Landescode in `%s', Zeile %d\n"
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "Fehler beim Erstellen von `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
#, fuzzy
msgid "error reading list of trusted root certificates\n"
msgstr "Fehler beim speichern des Zertifikats\n"
@@ -552,7 +552,7 @@ msgstr "Fehler beim speichern des Zertifikats\n"
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -564,7 +564,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr "Korrekt"
@@ -576,7 +576,7 @@ msgstr "Korrekt"
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
@@ -585,11 +585,11 @@ msgstr ""
"Wenn Sie vollständiges Vertrauen haben, daß%%0A \"%s\"%%"
"0ABenutzerzertifikate verläßlich zertifiziert, so antworten Sie mit \"Ja\""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "Yes"
msgstr "Ja"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr "Nein"
@@ -6825,121 +6825,121 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "Die kritische Zertifikaterweiterung %s wird nicht unterstützt"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr "Das Herausgeberzertifikat ist nicht für eine CA gekennzeichnet"
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr "kritische Richtlinie ohne konfigurierte Richtlinien"
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, c-format
msgid "failed to open `%s': %s\n"
msgstr "Datei `%s' kann nicht geöffnet werden: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr "Notiz: Die unkritische Zertifikatrichtlinie ist nicht erlaubt"
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
msgid "certificate policy not allowed"
msgstr "Die Zertifikatrichtlinie ist nicht erlaubt"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr "Der Herausgeber wird von einer externen Stelle gesucht\n"
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr "Anzahl der übereinstimmenden Heruasgeber: %d\n"
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
msgid "failed to allocated keyDB handle\n"
msgstr "Ein keyDB Handle konnte nicht bereitgestellt werden\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
msgid "certificate has been revoked"
msgstr "Das Zertifikat wurde widerrufen"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
msgid "no CRL found for certificate"
msgstr "Keine CRL für das Zertifikat gefunden"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
msgid "the available CRL is too old"
msgstr "Die vorhandene CRL ist zu alt"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
"Bitte vergewissern Sie sich das der \"dirmngr\" richtig installierrt ist\n"
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, c-format
msgid "checking the CRL failed: %s"
msgstr "Die CRL konnte nicht geprüft werden: %s"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
msgid "no issuer found in certificate"
msgstr "Im Zertifikat ist kein Herausgeber enthalten"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr "Zertifikat mit unzulässiger Gültigkeit: %s"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr "Das Zertifikat ist noch nicht gültig"
-#: sm/certchain.c:742
+#: sm/certchain.c:770
msgid "certificate has expired"
msgstr "Das Zertifikat ist abgelaufen"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr "Das eigenbeglaubigte Zertifikat hat eine FALSCHE Signatur"
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr "Das Wurzelzertifikat ist nicht als vertrauenswürdig markiert"
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, c-format
msgid "fingerprint=%s\n"
msgstr "Fingerprint=%s\n"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr "Das Wurzelzertifikat wurde nun als vertrauenswürdig markiert\n"
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, c-format
msgid "checking the trust list failed: %s\n"
msgstr "Fehler beim Prüfen der vertrauenswürdigen Zertifikate: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr "Der Zertifikatkette ist zu lang\n"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr "Herausgeberzertifikat nicht gefunden"
-#: sm/certchain.c:946
+#: sm/certchain.c:984
msgid "certificate has a BAD signature"
msgstr "Das Zertifikat hat eine FALSCHE Signatur"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
"Eine anderes möglicherweise passendes CA-Zertifikat gefunden - versuche "
"nochmal"
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr "Die Zertifikatkette ist länger als von der CA erlaubt (%d)"
diff --git a/po/el.po b/po/el.po
index 4cab415e9..fbc9d6461 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.1.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2003-06-27 12:00+0200\n"
"Last-Translator: Dokianakis Theofanis <madf@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -507,42 +507,42 @@ msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
msgid "cancelled\n"
msgstr "Áêýñùóç"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "ôï êëåéäß '%s' äå âñÝèçêå: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "ôìÞìáôá ôïõ ìõóôéêïý êëåéäéïý äåí åßíáé äéáèÝóéìá\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "óöÜëìá áíÜãíùóçò: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -555,7 +555,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -565,7 +565,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -577,19 +577,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "íáé|íáß"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6810,126 +6810,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "äåí õðïóôçñßæåôáé ç Ýêäïóç ðñùôïêüëëïõ %d ôïõ gpg-agent\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "áäõíáìßá ðñüóâáóçò óôï `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "ÓÇÌÅÉÙÓÇ: ôï êëåéäß Ý÷åé áíáêëçèåß"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "êáêü ðéóôïðïéçôéêü"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Êëåéäß äéáèÝóéìï óôï: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "áðÝôõ÷å ï Ýëåã÷ïò ôçò õðïãñáöÞò ðïõ äçìéïõñãÞèçêå: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "äçìéïõñãßá åíüò ðéóôïðïéçôéêïý áíÜêëçóçò"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Áõôü ôï êëåéäß Ý÷åé ëÞîåé!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "áðåéêüíéóç ôïõ fingerprint"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "áðÝôõ÷å ï Ýëåã÷ïò ôçò õðïãñáöÞò ðïõ äçìéïõñãÞèçêå: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "åðáëÞèåõóç ìéáò õðïãñáöÞò"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/eo.po b/po/eo.po
index dfeb60f3a..bfcafb569 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.6d\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2002-04-14 14:33+0100\n"
"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -507,42 +507,42 @@ msgstr "eraro dum kreado de pasfrazo: %s\n"
msgid "cancelled\n"
msgstr "nuligita de uzanto\n"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "eraro dum legado de '%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "þlosilo '%s' ne trovita: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "sekretaj þlosilpartoj ne estas disponataj\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "kiraso: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "eraro dum legado de '%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -555,7 +555,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -565,7 +565,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -577,19 +577,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "jes"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6745,135 +6745,135 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "protokolversio %d de gpg-agent ne estas uzebla\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "ne povas malfermi '%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "skribas sekretan þlosilon al '%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "þlosilo %08lX: þlosilo estas revokita!\n"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "Bona atestilo"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Nenia helpo disponata"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Bona atestilo"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, fuzzy, c-format
msgid "certificate with invalid validity: %s"
msgstr "problemo æe legado de atestilo: %s\n"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
#, fuzzy
msgid "certificate not yet valid"
msgstr "Valida atestilrevoko"
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "problemo æe legado de atestilo: %s\n"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
#, fuzzy
msgid "root certificate is not marked trusted"
msgstr ""
"Neniom da atestiloj trovitaj kun nedifinita fidovaloro.\n"
"\n"
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Fingrospuro:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
#, fuzzy
msgid "root certificate has now been marked as trusted\n"
msgstr ""
"Neniom da atestiloj trovitaj kun nedifinita fidovaloro.\n"
"\n"
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
#, fuzzy
msgid "certificate chain too long\n"
msgstr "Valida atestilrevoko"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
#, fuzzy
msgid "issuer certificate not found"
msgstr "Valida atestilrevoko"
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "kontroli subskribon"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 3b0a4d220..b58af676f 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gnupg 1.4.1\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2005-03-25 16:50+0100\n"
"Last-Translator: Jaime Suárez <jsuarez@ono.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -538,42 +538,42 @@ msgstr "error creando frase contraseña: %s\n"
msgid "cancelled\n"
msgstr "cancelado"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "error en `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "fichero de opciones `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "las partes de la clave privada no están disponibles\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "error de lectura `%s': %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "error leyendo `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -586,7 +586,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -596,7 +596,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -608,19 +608,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "sí"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6663,135 +6663,135 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "el programa no permite usar el protocolo agente gpg versión %d\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "No se puede abrir `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "no se permite exportar claves secretas\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "fallo al almacenar la clave: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "NOTA: la clave ha sido revocada"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "Certificado correcto"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Clave disponible en: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "la comprobación de la firma creada falló: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Certificado correcto"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, fuzzy, c-format
msgid "certificate with invalid validity: %s"
msgstr "problema en la lectura del certificado: %s\n"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
#, fuzzy
msgid "certificate not yet valid"
msgstr "Revocación de certificado válida"
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "problema en la lectura del certificado: %s\n"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
#, fuzzy
msgid "root certificate is not marked trusted"
msgstr ""
"No se ha encontrado ningún certificado sin valor de confianza.\n"
"\n"
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Huella dactilar CA:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
#, fuzzy
msgid "root certificate has now been marked as trusted\n"
msgstr ""
"No se ha encontrado ningún certificado sin valor de confianza.\n"
"\n"
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "la comprobación de la firma creada falló: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
#, fuzzy
msgid "certificate chain too long\n"
msgstr "Revocación de certificado válida"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
#, fuzzy
msgid "issuer certificate not found"
msgstr "Revocación de certificado válida"
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verifica una firma"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/et.po b/po/et.po
index d1e9879be..bb1f5380c 100644
--- a/po/et.po
+++ b/po/et.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-06-17 11:04+0300\n"
"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
"Language-Team: Estonian <et@li.org>\n"
@@ -506,42 +506,42 @@ msgstr "viga parooli loomisel: %s\n"
msgid "cancelled\n"
msgstr "Katkesta"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "viga `%s' lugemisel: %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "võtit '%s' ei leitud: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "salajase võtme komponendid ei ole kättesaadavad\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "viga lugemisel: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "viga `%s' lugemisel: %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -554,7 +554,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -564,7 +564,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -576,19 +576,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "jah"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6714,126 +6714,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agendi protokolli versioon %d ei ole toetatud\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "`%s' ei õnnestu avada: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "kirjutan salajase võtme faili `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "MÄRKUS: võti on tühistatud"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "halb sertifikaat"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Võtme leiate: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "genereeri tühistamise sertifikaat"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "See võti on aegunud!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "näita sõrmejälge"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "kontrolli allkirja"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/fi.po b/po/fi.po
index 7f94fa26e..705ca71ba 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-06-16 22:40+0300\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -523,42 +523,42 @@ msgstr "virhe luotaessa salasanaa: %s\n"
msgid "cancelled\n"
msgstr "Peru"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "avainta \"%s\" ei löydy: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "salaisen avaimen osat eivät ole käytettävissä\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "lukuvirhe: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -571,7 +571,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -581,7 +581,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -593,19 +593,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "kyllä|kylla|joo"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6793,126 +6793,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agent-protokollaversio %d ei ole tuettu\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "tiedostoa \"%s\" ei voi avata: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "HUOM: avain on mitätöity!"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "virheellinen varmenne"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Avain saatavilla kohteessa: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "luo mitätöintivarmenne"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Tämä avain on vanhentunut!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "näytä sormenjälki"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "tarkista allekirjoitus"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 2c1e8f4cf..166127056 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2rc2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2005-06-28 00:24+0200\n"
"Last-Translator: Gaël Quéri <gael@lautre.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -521,42 +521,42 @@ msgstr "erreur pendant la création de la phrase de passe: %s\n"
msgid "cancelled\n"
msgstr "annulé"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "erreur dans `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "fichier d'options `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "les parties secrètes ne sont pas disponibles\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "erreur de lecture dans `%s': %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "erreur pendant la lecture de `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -569,7 +569,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -579,7 +579,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -591,19 +591,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "oui"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6822,126 +6822,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "le protocole gpg-agent version %d n'est pas supporté\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "Impossible d'ouvrir `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "il est interdit d'exporter les clé secrètes\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "le stockage de la clé a échoué: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "NOTE: la clé a été révoquée"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "mauvais certificat"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Clé disponible sur: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "Impossible de vérifier la signature créée: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "générer un certificat de révocation"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Cette clé a expiré !"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "empreinte de l'autorité de certification: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "Impossible de vérifier la signature créée: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "vérifier une signature"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/gl.po b/po/gl.po
index ef80b9e2d..df536d204 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.4\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2003-12-04 11:39+0100\n"
"Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n"
"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -511,42 +511,42 @@ msgstr "erro ao crea-lo contrasinal: %s\n"
msgid "cancelled\n"
msgstr "Cancelar"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "erro lendo `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "non se atopou a chave `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "hai partes da chave secreta non dispoñibles\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "erro de lectura: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "erro lendo `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -559,7 +559,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -569,7 +569,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -581,19 +581,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "si|sim"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6792,135 +6792,135 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "a versión %d do protocolo de gpg-agent non está soportada\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "non se puido abrir `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "gravando a chave secreta en `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "NOTA: a chave está revocada"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "Certificado correcto"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Chave dispoñible en: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "fallou a comprobación da sinatura creada: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Certificado correcto"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, fuzzy, c-format
msgid "certificate with invalid validity: %s"
msgstr "problema de lectura do certificado: %s\n"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
#, fuzzy
msgid "certificate not yet valid"
msgstr "Revocación de certificado válida"
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "problema de lectura do certificado: %s\n"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
#, fuzzy
msgid "root certificate is not marked trusted"
msgstr ""
"Non se atoparon certificados con confianza non definida.\n"
"\n"
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Pegada dactilar:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
#, fuzzy
msgid "root certificate has now been marked as trusted\n"
msgstr ""
"Non se atoparon certificados con confianza non definida.\n"
"\n"
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "fallou a comprobación da sinatura creada: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
#, fuzzy
msgid "certificate chain too long\n"
msgstr "Revocación de certificado válida"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
#, fuzzy
msgid "issuer certificate not found"
msgstr "Revocación de certificado válida"
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verificar unha sinatura"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/hu.po b/po/hu.po
index 564ef2eb4..77876b81f 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.5\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-06-19 21:53+0200\n"
"Last-Translator: Nagy Ferenc László <nfl@nfllab.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -506,42 +506,42 @@ msgstr "Hiba a jelszó létrehozásakor: %s.\n"
msgid "cancelled\n"
msgstr "Mégsem"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "Hiba \"%s\" olvasásakor: %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "\"%s\" kulcs nem található: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "Titkos kulcsrészek nem állnak rendelkezésre.\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "Olvasási hiba: %s.\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "Hiba \"%s\" olvasásakor: %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -554,7 +554,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -564,7 +564,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -576,19 +576,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "igen"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6754,126 +6754,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "%d gpg-agent protokollverzió nem támogatott!\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "Nem tudom megnyitni a(z) \"%s\" állományt: %s.\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "Írom a titkos kulcsot a %s állományba.\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "MEGJEGYZÉS: A kulcsot visszavonták."
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "rossz igazolás"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Kulcs található: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "A létrehozott aláírás ellenõrzése sikertelen: %s.\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "visszavonási igazolás készítése"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Ez a kulcs lejárt!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "megmutatja az ujjlenyomatot"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "A létrehozott aláírás ellenõrzése sikertelen: %s.\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "aláírás ellenõrzése"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/id.po b/po/id.po
index 6cf7c2fc5..8ff1f0c5d 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-id\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-06-17 16:32+0700\n"
"Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -508,42 +508,42 @@ msgstr "kesalahan penciptaan passphrase: %s\n"
msgid "cancelled\n"
msgstr "Batal"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "kesalahan membaca `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "kunci '%s' tidak ditemukan: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "bagian kunci rahasia tidak tersedia\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "kesalahan pembacaan: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "kesalahan membaca `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -556,7 +556,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -566,7 +566,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -578,19 +578,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "y|ya"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6757,126 +6757,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "protokol gpg-agent versi %d tidak didukung\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "tidak dapat membuka `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "menulis kunci rahasia ke `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "gagal inisialisasi TrustDB: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "CATATAN: kunci telah dibatalkan"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "sertifikat yang buruk"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Kunci tersedia di:"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "Gagal memeriksa signature yang dibuat: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "buat sertifikat revokasi"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Kunci ini telah berakhir!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "tampilkan fingerprint"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "Gagal memeriksa signature yang dibuat: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verifikasi signature"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/it.po b/po/it.po
index 604ebce51..e0cceb629 100644
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.1.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-06-16 17:01+0200\n"
"Last-Translator: Marco d'Itri <md@linux.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -506,42 +506,42 @@ msgstr "errore nella creazione della passhprase: %s\n"
msgid "cancelled\n"
msgstr "Cancella"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "errore leggendo `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "chiave `%s' non trovata: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "parti della chiave segreta non sono disponibili\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "errore di lettura: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "errore leggendo `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -554,7 +554,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -564,7 +564,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -576,19 +576,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "si|sì"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6805,126 +6805,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "la versione %d del protocollo di gpg-agent non è gestita\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "impossibile aprire `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "scrittura della chiave segreta in `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "inizializzazione del trustdb fallita: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "NOTA: la chiave è stata revocata"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "certificato danneggiato"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Chiave disponibile presso: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "controllo della firma creata fallito: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "genera un certificato di revoca"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Questa chiave è scaduta!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "mostra le impronte digitali"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "controllo della firma creata fallito: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verifica una firma"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/ja.po b/po/ja.po
index 26a53da53..fc2d4d371 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.3.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-11-23 11:14+0900\n"
"Last-Translator: IIDA Yosiaki <iida@gnu.org>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -509,42 +509,42 @@ msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎºîÀ®¥¨¥é¡¼: %s\n"
msgid "cancelled\n"
msgstr "¥­¥ã¥ó¥»¥ë"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "¡Ö%s¡×¤Ç¥¨¥é¡¼: %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "¥ª¥×¥·¥ç¥ó¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "ÈëÌ©Éôʬ¤¬ÆÀ¤é¤ì¤Þ¤»¤ó\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "¡Ö%s¡×¤ÇÆɽФ·¥¨¥é¡¼: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -557,7 +557,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -567,7 +567,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -579,19 +579,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "yes"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6561,126 +6561,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agent¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó%d¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "ÈëÌ©¸°¤Î½ñ½Ð¤·¤Ï¶Ø»ß¤Ç¤¹\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "¸°¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "Ãí°Õ: ¸°¤Ï¼º¸úºÑ¤ß¤Ç¤¹"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "°Ê²¼¤Ë¸°¤¬¤¢¤ê¤Þ¤¹: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "ºîÀ®¤µ¤ì¤¿½ð̾¤Î¸¡ºº¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "¼º¸ú¾ÚÌÀ½ñ¤òÀ¸À®"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "¤³¤Î¸°¤ÏËþλ¤Ç¤¹!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "CA¤Î»ØÌæ: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "ºîÀ®¤µ¤ì¤¿½ð̾¤Î¸¡ºº¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "½ð̾¤ò¸¡¾Ú"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/nb.po b/po/nb.po
index 3234c0404..836e594e5 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.3\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2006-06-13 20:31+0200\n"
"Last-Translator: Trond Endrestøl <Trond.Endrestol@fagskolen.gjovik.no>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
@@ -505,42 +505,42 @@ msgstr "feil ved opprettelse av passfrase: %s\n"
msgid "cancelled\n"
msgstr "cancel|cancel"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "feil med «%s»: %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "valgfil «%s»: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "hemmelig nøkkel er ikke tilgjengelig"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "lesefeil ved «%s»: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "feil ved lesing av «%s»: %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -553,7 +553,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -563,7 +563,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -575,19 +575,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "ja"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6437,125 +6437,125 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr ""
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "Kan ikke åpne «%s»: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "eksportering av hemmelige nøkler er ikke tillatt\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "klarte ikke å lagre nøkkelen: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
msgid "certificate has been revoked"
msgstr ""
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "ugyldig sertifikat"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Nøkkel tilgjengelig ved: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "sleting av nøkkelblokk mislyktes: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "generere et opphevingssertifikat"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Denne nøkkelen er utgått!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "CA-fingeravtrykk: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "omdøping fra «%s» til «%s» mislyktes: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "bekrefte en signatur"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index dadf7cb7a..8ad78bcc5 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-06-23 15:54+0200\n"
"Last-Translator: Janusz A. Urbanowicz <alex@bofh.net.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
@@ -517,42 +517,42 @@ msgstr "b³±d podczas tworzenia has³a: %s\n"
msgid "cancelled\n"
msgstr "Anuluj"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "b³±d odczytu ,,%s'': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "klucz ,,%s'' nie zosta³ odnaleziony: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "tajne czê¶ci klucza s± niedostêpne\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "b³±d odczytu: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "b³±d odczytu ,,%s'': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -565,7 +565,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -575,7 +575,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -587,19 +587,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "tak"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6789,135 +6789,135 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "wersja %d protoko³u agenta nie jest obs³ugiwana\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "nie mo¿na otworzyæ ,,%s'': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "zapisujê klucz tajny w '%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "inicjowanie Bazy Zaufania nie powiod³o siê: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "UWAGA: klucz zosta³ uniewa¿niony"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "Poprawny certyfikat"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Klucz dostêpny w: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "sprawdzenie z³o¿onego podpisu nie powiod³o siê: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Poprawny certyfikat"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, fuzzy, c-format
msgid "certificate with invalid validity: %s"
msgstr "b³±d przy odczycie certyfikatu: %s\n"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
#, fuzzy
msgid "certificate not yet valid"
msgstr "Poprawne uniewa¿nienie certyfikatu"
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "b³±d przy odczycie certyfikatu: %s\n"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
#, fuzzy
msgid "root certificate is not marked trusted"
msgstr ""
"Brak certyfikatów o niezdefiniowanym poziomie zaufania.\n"
"\n"
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Odcisk klucza:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
#, fuzzy
msgid "root certificate has now been marked as trusted\n"
msgstr ""
"Brak certyfikatów o niezdefiniowanym poziomie zaufania.\n"
"\n"
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "sprawdzenie z³o¿onego podpisu nie powiod³o siê: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
#, fuzzy
msgid "certificate chain too long\n"
msgstr "Poprawne uniewa¿nienie certyfikatu"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
#, fuzzy
msgid "issuer certificate not found"
msgstr "Poprawne uniewa¿nienie certyfikatu"
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "sprawdzenie podpisu"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/pt.po b/po/pt.po
index fb10c414d..bcc0b365b 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2002-09-13 18:26+0100\n"
"Last-Translator: Pedro Morais <morais@kde.org>\n"
"Language-Team: pt <morais@kde.org>\n"
@@ -510,42 +510,42 @@ msgstr "erro na criação da frase secreta: %s\n"
msgid "cancelled\n"
msgstr "cancelado pelo utilizador\n"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "chave `%s' não encontrada: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "partes da chave secreta não disponíveis\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "armadura: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -558,7 +558,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -568,7 +568,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -580,19 +580,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "sim"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6765,126 +6765,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "a versão %d do protocolo gpg-agent não é suportada\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "impossível abrir `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "a escrever chave privada para `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "falha ao inicializar a base de dados de confiança: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "NOTA: a chave foi revogada"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "certificado incorrecto"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Nenhuma ajuda disponível"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "verificação da assinatura criada falhou: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "gerar um certificado de revogação"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Esta chave expirou!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "mostra impressão digital"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "verificação da assinatura criada falhou: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verificar uma assinatura"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f7bd56bf2..a81e4631f 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gnupg 1.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 1998-11-20 23:46:36-0200\n"
"Last-Translator:\n"
"Language-Team: ?\n"
@@ -512,42 +512,42 @@ msgstr "erro na criação da frase secreta: %s\n"
msgid "cancelled\n"
msgstr ""
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "usuário `%s' não encontrado: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "chave secreta não disponível"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "erro de leitura: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -560,7 +560,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -570,7 +570,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -582,19 +582,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "sim"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6704,135 +6704,135 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "algoritmo de proteção %d não é suportado\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "impossível abrir `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "escrevendo certificado privado para `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "chave %08lX: a chave foi revogada!\n"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "Certificado correto"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Nenhuma ajuda disponível"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "leitura de registro de assinatura falhou: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Certificado correto"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, fuzzy, c-format
msgid "certificate with invalid validity: %s"
msgstr "erro de leitura do certificado: %s\n"
-#: sm/certchain.c:729
+#: sm/certchain.c:757
#, fuzzy
msgid "certificate not yet valid"
msgstr "Certificado de revogação válido"
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "erro de leitura do certificado: %s\n"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
#, fuzzy
msgid "root certificate is not marked trusted"
msgstr ""
"Nenhum certificado com confiança indefinida encontrado.\n"
"\n"
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Impressão digital:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
#, fuzzy
msgid "root certificate has now been marked as trusted\n"
msgstr ""
"Nenhum certificado com confiança indefinida encontrado.\n"
"\n"
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "leitura de registro de assinatura falhou: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
#, fuzzy
msgid "certificate chain too long\n"
msgstr "Certificado de revogação válido"
-#: sm/certchain.c:913
+#: sm/certchain.c:951
#, fuzzy
msgid "issuer certificate not found"
msgstr "Certificado de revogação válido"
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verificar uma assinatura"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/ro.po b/po/ro.po
index 378bd2aa2..76924e97a 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2rc1\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2005-05-31 22:00-0500\n"
"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -515,42 +515,42 @@ msgstr "eroare la crearea frazei-parolã: %s\n"
msgid "cancelled\n"
msgstr "anulatã"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "eroare în `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "fiºier opþiuni `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "pãrþi ale cheii secrete nu sunt disponibile\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "eroare citire în `%s': %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "eroare la citire `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -563,7 +563,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -573,7 +573,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -585,19 +585,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "da"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6665,126 +6665,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agent versiune protocol %d nu este suportat\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "Nu pot deschide `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "exportul cheilor secrete nu este permis\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "am eºuat sã stochez cheia: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "NOTÃ: cheia a fost revocatã"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "certificat incorect"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Cheie disponibilã la: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "verificarea semnãturii create a eºuat: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "genereazã un certificat de revocare"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Aceastã cheie a expirat!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "Amprenta CA: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "verificarea semnãturii create a eºuat: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verificã o semnãturã"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/ru.po b/po/ru.po
index 8fa0d7b3c..99d08bbd3 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GnuPG 1.4.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2005-06-22 02:53+0200\n"
"Last-Translator: Maxim Britov <maxbritov@tut.by>\n"
"Language-Team: Russian <gnupg-ru@gnupg.org>\n"
@@ -508,42 +508,42 @@ msgstr "ошибка при Ñоздании ключевой фразы (пар
msgid "cancelled\n"
msgstr "отменено"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "ошибка в `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "файл конфигурации `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "ÑÐµÐºÑ€ÐµÑ‚Ð½Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ ключ не доÑтупна\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð² `%s': %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -556,7 +556,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -566,7 +566,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -578,19 +578,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "да"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6612,126 +6612,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "протокол gpg-agent верÑии %d не поддерживаетÑÑ\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "Ðе могу открыть `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "ÑкÑпорт Ñекретных ключей не разрешен\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "Ñбой ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð°: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "ЗÐМЕТЬТЕ: ключ был отозван"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "неправильный Ñертификат"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Ключ доÑтупен на:"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "Ñбой проверки Ñозданной подпиÑи: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "Ñоздать Ñертификат отзыва"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Данный ключ проÑрочен!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "отпечаток CA: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "Ñбой проверки Ñозданной подпиÑи: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "проверить подпиÑÑŒ"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/sk.po b/po/sk.po
index a28ee5da7..343b34d98 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.5\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-07-20 15:52+0200\n"
"Last-Translator: Michal Majer <mmajer@econ.umb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -507,42 +507,42 @@ msgstr "chyba pri vytváraní hesla: %s\n"
msgid "cancelled\n"
msgstr "Zru¹i»"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "chyba pri èítaní `%s': %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "kµúè `%s' nebol nájdený: %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "tajné èasti kµúèa nie sú dostupné\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "chyba pri èítaní: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "chyba pri èítaní `%s': %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -555,7 +555,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -565,7 +565,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -577,19 +577,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "ano"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6771,126 +6771,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agent protokol verzie %d nie je podporovaný\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "nemô¾em otvori» `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "zapisujem tajný kµúè do `%s'\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "POZNÁMKA: kµúè bol revokovaný"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "nesprávny certifikát"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Kµúè k dispozícii na: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "vytvori» revokaèný certifikát"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Platnos» kµúèa vypr¹ala!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "vypísa» fingerprint"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verifikova» podpis"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/sv.po b/po/sv.po
index c2550e6da..ba4eb7caa 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.6\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2004-12-01 17:49+0100\n"
"Last-Translator: Per Tunedal <info@clipanish.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -531,42 +531,42 @@ msgstr "fel vid skapandet av lösenmening: %s\n"
msgid "cancelled\n"
msgstr "Avbryt"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "fel vid läsning av \"%s\": %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "inställningsfil \"%s\": %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "de hemliga nyckeldelarna är inte tillgänliga\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "läsfel: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "fel vid läsning av \"%s\": %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -579,7 +579,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -589,7 +589,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -601,19 +601,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "ja"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6926,126 +6926,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "GPG-Agent protokoll version %d stöds inte\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "kan inte öppna \"%s\": %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "skriver hemlig nyckel till \"%s\"\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "misslyckades med att initialisera tillitsdatabasen: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "OBS: nyckeln har spärrats"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "felaktigt certifikat"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Nyckeln tillgänglig hos: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "försök att verifiera den skapade signaturen misslyckades: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "generera ett spärrcertifikat"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Giltighetstiden för denna nyckel har gått ut!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "visa fingeravtryck"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "försök att verifiera den skapade signaturen misslyckades: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "verifiera en signatur"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/tr.po b/po/tr.po
index 86b13e29a..92855c060 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.1\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2005-03-16 07:30+0300\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@superonline.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -509,42 +509,42 @@ msgstr "anahtar parolası oluşturulurken hata: %s\n"
msgid "cancelled\n"
msgstr "iptal edildi"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "'%s' de hata: %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "seçenek dosyası \"%s\": %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "gizli anahtar parçaları kullanım dışı\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "`%s' için okuma hatası: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "\"%s\" okunurken hata: %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -557,7 +557,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -567,7 +567,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -579,19 +579,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "evet"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6647,126 +6647,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agent protokolü sürüm %d desteklenmiyor\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "`%s' açılamıyor: %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "gizli anahtarların ihracına izin verilmez\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "anahtarın saklanması başarısız: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "BİLGİ: anahtar yürürlükten kaldırılmıştı"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "sertifika hatalı"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "Anahtar burada:"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "oluşturulan imzanın denetimi başarısız: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "bir yürürlükten kaldırma sertifikası üretir"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "Bu anahtarın kullanım süresi dolmuş!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "CA parmak izi: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "oluşturulan imzanın denetimi başarısız: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "bir imzayı doğrular"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index f96e98e4c..79d8ce041 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.4\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2006-07-02 10:58+0800\n"
"Last-Translator: Meng Jie <zuxyhere@eastday.com>\n"
"Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
@@ -513,42 +513,42 @@ msgstr "生æˆå¯†ç çš„时候å‘生错误:%s\n"
msgid "cancelled\n"
msgstr "å·²å–消"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "‘%s’中出错:%s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "é…置文件‘%s’:%s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "ç§é’¥éƒ¨åˆ†ä¸å¯ç”¨\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "读å–‘%s’错误:%s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "读å–‘%s’时出错:%s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -561,7 +561,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -571,7 +571,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -583,19 +583,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "yes"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6465,126 +6465,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "ä¸æ”¯æŒ gpg-agent å议版本 %d\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "无法打开‘%s’:%s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "ä¸å…许导出ç§é’¥\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "无法存储密钥:%s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "注æ„:密钥已被åŠé”€"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "è¯ä¹¦å·²æŸå"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "å¯ç”¨çš„密钥在:"
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "检查已建立的签åæ—¶å‘生错误: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "生æˆä¸€ä»½åŠé”€è¯ä¹¦"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "这把密钥已ç»è¿‡æœŸï¼"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "CA 指纹:"
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "检查已建立的签åæ—¶å‘生错误: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "验è¯ç­¾å"
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 22c2865a9..c657d81b8 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-09-25 09:19+0200\n"
+"POT-Creation-Date: 2006-09-27 17:44+0200\n"
"PO-Revision-Date: 2005-07-29 09:49+0800\n"
"Last-Translator: Jedi <Jedi@Jedi.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -509,42 +509,42 @@ msgstr "建立密語的時候發生錯誤: %s\n"
msgid "cancelled\n"
msgstr "å·²å–消"
-#: agent/trustlist.c:109 agent/trustlist.c:267
+#: agent/trustlist.c:115 agent/trustlist.c:303
#, fuzzy, c-format
msgid "error opening `%s': %s\n"
msgstr "在 `%s' 中出錯: %s\n"
-#: agent/trustlist.c:124
+#: agent/trustlist.c:130
#, fuzzy, c-format
msgid "file `%s', line %d: %s\n"
msgstr "é¸é …檔 `%s': %s\n"
-#: agent/trustlist.c:144 agent/trustlist.c:152
+#: agent/trustlist.c:150 agent/trustlist.c:158
#, c-format
msgid "statement \"%s\" ignored in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:158
+#: agent/trustlist.c:164
#, fuzzy, c-format
msgid "system trustlist `%s' not available\n"
msgstr "ç§é‘°éƒ¨åˆ†ç„¡æ³•å–用\n"
-#: agent/trustlist.c:193
+#: agent/trustlist.c:199
#, fuzzy, c-format
msgid "bad fingerprint in `%s', line %d\n"
msgstr "è®€å– `%s' 錯誤: %s\n"
-#: agent/trustlist.c:211 agent/trustlist.c:218
+#: agent/trustlist.c:225 agent/trustlist.c:232
#, c-format
msgid "invalid keyflag in `%s', line %d\n"
msgstr ""
-#: agent/trustlist.c:228
+#: agent/trustlist.c:264
#, fuzzy, c-format
msgid "error reading `%s', line %d: %s\n"
msgstr "è®€å– `%s' 時發生錯誤: %s\n"
-#: agent/trustlist.c:320 agent/trustlist.c:349
+#: agent/trustlist.c:356 agent/trustlist.c:395
msgid "error reading list of trusted root certificates\n"
msgstr ""
@@ -557,7 +557,7 @@ msgstr ""
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:424
+#: agent/trustlist.c:471
#, c-format
msgid ""
"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
@@ -567,7 +567,7 @@ msgstr ""
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:433
+#: agent/trustlist.c:480
msgid "Correct"
msgstr ""
@@ -579,19 +579,19 @@ msgstr ""
#. plain % sign, you need to encode it as "%%25". The
#. "%s" gets replaced by the name as store in the
#. certificate.
-#: agent/trustlist.c:447
+#: agent/trustlist.c:494
#, c-format
msgid ""
"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
"certificates?"
msgstr ""
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
#, fuzzy
msgid "Yes"
msgstr "yes"
-#: agent/trustlist.c:453
+#: agent/trustlist.c:500
msgid "No"
msgstr ""
@@ -6505,126 +6505,126 @@ msgstr ""
msgid "critical certificate extension %s is not supported"
msgstr "gpg-agent å”定版本 %d 未被支æ´\n"
-#: sm/certchain.c:144
+#: sm/certchain.c:153
msgid "issuer certificate is not marked as a CA"
msgstr ""
-#: sm/certchain.c:182
+#: sm/certchain.c:191
msgid "critical marked policy without configured policies"
msgstr ""
-#: sm/certchain.c:192
+#: sm/certchain.c:201
#, fuzzy, c-format
msgid "failed to open `%s': %s\n"
msgstr "無法開啟 `%s': %s\n"
-#: sm/certchain.c:199 sm/certchain.c:228
+#: sm/certchain.c:208 sm/certchain.c:237
msgid "note: non-critical certificate policy not allowed"
msgstr ""
-#: sm/certchain.c:203 sm/certchain.c:232
+#: sm/certchain.c:212 sm/certchain.c:241
#, fuzzy
msgid "certificate policy not allowed"
msgstr "未被å…許匯出ç§é‘°\n"
-#: sm/certchain.c:343
+#: sm/certchain.c:352
msgid "looking up issuer at external location\n"
msgstr ""
-#: sm/certchain.c:363
+#: sm/certchain.c:372
#, c-format
msgid "number of issuers matching: %d\n"
msgstr ""
-#: sm/certchain.c:516 sm/certchain.c:680 sm/certchain.c:1118 sm/decrypt.c:261
+#: sm/certchain.c:525 sm/certchain.c:689 sm/certchain.c:1192 sm/decrypt.c:261
#: sm/encrypt.c:342 sm/sign.c:325 sm/verify.c:107
#, fuzzy
msgid "failed to allocated keyDB handle\n"
msgstr "存放金鑰失敗: %s\n"
-#: sm/certchain.c:607
+#: sm/certchain.c:616
#, fuzzy
msgid "certificate has been revoked"
msgstr "請注æ„: 金鑰已經被撤銷了"
-#: sm/certchain.c:616
+#: sm/certchain.c:625
#, fuzzy
msgid "no CRL found for certificate"
msgstr "æ壞的憑證"
-#: sm/certchain.c:620
+#: sm/certchain.c:629
#, fuzzy
msgid "the available CRL is too old"
msgstr "å¯ç”¨çš„金鑰於: "
-#: sm/certchain.c:622
+#: sm/certchain.c:631
msgid "please make sure that the \"dirmngr\" is properly installed\n"
msgstr ""
-#: sm/certchain.c:627
+#: sm/certchain.c:636
#, fuzzy, c-format
msgid "checking the CRL failed: %s"
msgstr "檢查已建立的簽章時發生錯誤: %s\n"
-#: sm/certchain.c:700
+#: sm/certchain.c:714
#, fuzzy
msgid "no issuer found in certificate"
msgstr "產生一份撤銷憑證"
-#: sm/certchain.c:713
+#: sm/certchain.c:741
#, c-format
msgid "certificate with invalid validity: %s"
msgstr ""
-#: sm/certchain.c:729
+#: sm/certchain.c:757
msgid "certificate not yet valid"
msgstr ""
-#: sm/certchain.c:742
+#: sm/certchain.c:770
#, fuzzy
msgid "certificate has expired"
msgstr "這把金鑰已經éŽæœŸäº†!"
-#: sm/certchain.c:779
+#: sm/certchain.c:813
msgid "self-signed certificate has a BAD signature"
msgstr ""
-#: sm/certchain.c:844
+#: sm/certchain.c:881
msgid "root certificate is not marked trusted"
msgstr ""
-#: sm/certchain.c:855
+#: sm/certchain.c:892
#, fuzzy, c-format
msgid "fingerprint=%s\n"
msgstr "憑證中心 (CA) 指紋: "
-#: sm/certchain.c:860
+#: sm/certchain.c:897
msgid "root certificate has now been marked as trusted\n"
msgstr ""
-#: sm/certchain.c:875
+#: sm/certchain.c:912
#, fuzzy, c-format
msgid "checking the trust list failed: %s\n"
msgstr "檢查已建立的簽章時發生錯誤: %s\n"
-#: sm/certchain.c:901 sm/import.c:158
+#: sm/certchain.c:939 sm/import.c:158
msgid "certificate chain too long\n"
msgstr ""
-#: sm/certchain.c:913
+#: sm/certchain.c:951
msgid "issuer certificate not found"
msgstr ""
-#: sm/certchain.c:946
+#: sm/certchain.c:984
#, fuzzy
msgid "certificate has a BAD signature"
msgstr "é©—è­‰æŸä»½ç°½ç« "
-#: sm/certchain.c:976
+#: sm/certchain.c:1014
msgid "found another possible matching CA certificate - trying again"
msgstr ""
-#: sm/certchain.c:999
+#: sm/certchain.c:1065
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
msgstr ""
diff --git a/scd/command.c b/scd/command.c
index b879e9a6f..5116461d4 100644
--- a/scd/command.c
+++ b/scd/command.c
@@ -941,7 +941,7 @@ cmd_getattr (assuan_context_t ctx, char *line)
/* (We ignore any garbage for now.) */
- /* FIXME: Applications should not return sensistive data if the card
+ /* FIXME: Applications should not return sensitive data if the card
is locked. */
rc = app_getattr (ctrl->app_ctx, ctrl, keyword);
diff --git a/sm/call-dirmngr.c b/sm/call-dirmngr.c
index 376940bd5..5cc34e132 100644
--- a/sm/call-dirmngr.c
+++ b/sm/call-dirmngr.c
@@ -575,9 +575,9 @@ lookup_cb (void *opaque, const void *buffer, size_t length)
/* Return a properly escaped pattern from NAMES. The only error
return is NULL to indicate a malloc failure. */
static char *
-pattern_from_strlist (STRLIST names)
+pattern_from_strlist (strlist_t names)
{
- STRLIST sl;
+ strlist_t sl;
int n;
const char *s;
char *pattern, *p;
@@ -665,7 +665,7 @@ lookup_status_cb (void *opaque, const char *line)
the callback CB which will be passed cert by cert. Note that CTRL
is optional. */
int
-gpgsm_dirmngr_lookup (ctrl_t ctrl, STRLIST names,
+gpgsm_dirmngr_lookup (ctrl_t ctrl, strlist_t names,
void (*cb)(void*, ksba_cert_t), void *cb_value)
{
int rc;
diff --git a/sm/certchain.c b/sm/certchain.c
index ea4a3792a..bd130494b 100644
--- a/sm/certchain.c
+++ b/sm/certchain.c
@@ -701,7 +701,7 @@ gpgsm_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t r_exptime,
for (;;)
{
int is_root;
- gpg_error_t istrusted_rc;
+ gpg_error_t istrusted_rc = -1;
struct rootca_flags_s rootca_flags;
xfree (issuer);
diff --git a/sm/delete.c b/sm/delete.c
index 5066a737e..199e53eb4 100644
--- a/sm/delete.c
+++ b/sm/delete.c
@@ -148,7 +148,7 @@ delete_one (ctrl_t ctrl, const char *username)
/* Delete the certificates specified by NAMES. */
int
-gpgsm_delete (ctrl_t ctrl, STRLIST names)
+gpgsm_delete (ctrl_t ctrl, strlist_t names)
{
int rc;
diff --git a/sm/export.c b/sm/export.c
index 0f01e5f64..dc0820e50 100644
--- a/sm/export.c
+++ b/sm/export.c
@@ -129,14 +129,14 @@ insert_duptable (duptable_t *table, unsigned char *fpr, int *exists)
/* Export all certificates or just those given in NAMES. */
void
-gpgsm_export (ctrl_t ctrl, STRLIST names, FILE *fp)
+gpgsm_export (ctrl_t ctrl, strlist_t names, FILE *fp)
{
KEYDB_HANDLE hd = NULL;
KEYDB_SEARCH_DESC *desc = NULL;
int ndesc;
Base64Context b64writer = NULL;
ksba_writer_t writer;
- STRLIST sl;
+ strlist_t sl;
ksba_cert_t cert = NULL;
int rc=0;
int count = 0;
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index 6769a486d..08251647b 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -721,8 +721,8 @@ main ( int argc, char **argv)
const char *fname;
/* char *username;*/
int may_coredump;
- STRLIST sl, remusr= NULL, locusr=NULL;
- STRLIST nrings=NULL;
+ strlist_t sl, remusr= NULL, locusr=NULL;
+ strlist_t nrings=NULL;
int detached_sig = 0;
FILE *configfp = NULL;
char *configname = NULL;
@@ -1673,10 +1673,10 @@ main ( int argc, char **argv)
/* cleanup */
gpgsm_release_certlist (recplist);
gpgsm_release_certlist (signerlist);
- FREE_STRLIST(remusr);
- FREE_STRLIST(locusr);
+ FREE_STRLIST (remusr);
+ FREE_STRLIST (locusr);
gpgsm_exit(0);
- return 8; /*NEVER REACHED*/
+ return 8; /*NOTREACHED*/
}
/* Note: This function is used by signal handlers!. */
diff --git a/sm/gpgsm.h b/sm/gpgsm.h
index ba0ea3d27..541783dd7 100644
--- a/sm/gpgsm.h
+++ b/sm/gpgsm.h
@@ -278,7 +278,7 @@ void gpgsm_release_certlist (certlist_t list);
int gpgsm_find_cert (const char *name, ksba_sexp_t keyid, ksba_cert_t *r_cert);
/*-- keylist.c --*/
-gpg_error_t gpgsm_list_keys (ctrl_t ctrl, STRLIST names,
+gpg_error_t gpgsm_list_keys (ctrl_t ctrl, strlist_t names,
FILE *fp, unsigned int mode);
/*-- import.c --*/
@@ -287,11 +287,11 @@ int gpgsm_import_files (ctrl_t ctrl, int nfiles, char **files,
int (*of)(const char *fname));
/*-- export.c --*/
-void gpgsm_export (ctrl_t ctrl, STRLIST names, FILE *fp);
+void gpgsm_export (ctrl_t ctrl, strlist_t names, FILE *fp);
void gpgsm_p12_export (ctrl_t ctrl, const char *name, FILE *fp);
/*-- delete.c --*/
-int gpgsm_delete (ctrl_t ctrl, STRLIST names);
+int gpgsm_delete (ctrl_t ctrl, strlist_t names);
/*-- verify.c --*/
int gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp);
@@ -341,7 +341,7 @@ gpg_error_t gpgsm_agent_get_confirmation (ctrl_t ctrl, const char *desc);
int gpgsm_dirmngr_isvalid (ctrl_t ctrl,
ksba_cert_t cert, ksba_cert_t issuer_cert,
int use_ocsp);
-int gpgsm_dirmngr_lookup (ctrl_t ctrl, STRLIST names,
+int gpgsm_dirmngr_lookup (ctrl_t ctrl, strlist_t names,
void (*cb)(void*, ksba_cert_t), void *cb_value);
int gpgsm_dirmngr_run_command (ctrl_t ctrl, const char *command,
int argc, char **argv);
diff --git a/sm/keydb.c b/sm/keydb.c
index 8ba1287fc..da2ec4ac5 100644
--- a/sm/keydb.c
+++ b/sm/keydb.c
@@ -1420,13 +1420,13 @@ keydb_set_cert_flags (ksba_cert_t cert, int which, int idx, unsigned int value)
/* Reset all the certificate flags we have stored with the certificates
for performance reasons. */
void
-keydb_clear_some_cert_flags (ctrl_t ctrl, STRLIST names)
+keydb_clear_some_cert_flags (ctrl_t ctrl, strlist_t names)
{
gpg_error_t err;
KEYDB_HANDLE hd = NULL;
KEYDB_SEARCH_DESC *desc = NULL;
int ndesc;
- STRLIST sl;
+ strlist_t sl;
int rc=0;
unsigned int old_value, value;
diff --git a/sm/keydb.h b/sm/keydb.h
index a6a6f3c29..e12afe1f6 100644
--- a/sm/keydb.h
+++ b/sm/keydb.h
@@ -77,7 +77,7 @@ int keydb_store_cert (ksba_cert_t cert, int ephemeral, int *existed);
gpg_error_t keydb_set_cert_flags (ksba_cert_t cert, int which, int idx,
unsigned int value);
-void keydb_clear_some_cert_flags (ctrl_t ctrl, STRLIST names);
+void keydb_clear_some_cert_flags (ctrl_t ctrl, strlist_t names);
#endif /*GNUPG_KEYDB_H*/
diff --git a/sm/keylist.c b/sm/keylist.c
index 3994afedc..39c4e5003 100644
--- a/sm/keylist.c
+++ b/sm/keylist.c
@@ -1135,12 +1135,12 @@ list_cert_chain (ctrl_t ctrl, KEYDB_HANDLE hd,
output mode will be used instead of the standard beautified one.
*/
static gpg_error_t
-list_internal_keys (ctrl_t ctrl, STRLIST names, FILE *fp,
+list_internal_keys (ctrl_t ctrl, strlist_t names, FILE *fp,
unsigned int mode, int raw_mode)
{
KEYDB_HANDLE hd;
KEYDB_SEARCH_DESC *desc = NULL;
- STRLIST sl;
+ strlist_t sl;
int ndesc;
ksba_cert_t cert = NULL;
gpg_error_t rc = 0;
@@ -1329,7 +1329,7 @@ list_external_cb (void *cb_value, ksba_cert_t cert)
make sense here because it would be unwise to list external secret
keys */
static gpg_error_t
-list_external_keys (ctrl_t ctrl, STRLIST names, FILE *fp, int raw_mode)
+list_external_keys (ctrl_t ctrl, strlist_t names, FILE *fp, int raw_mode)
{
int rc;
struct list_external_parm_s parm;
@@ -1359,7 +1359,7 @@ list_external_keys (ctrl_t ctrl, STRLIST names, FILE *fp, int raw_mode)
Bit 8: Do a raw format dump.
*/
gpg_error_t
-gpgsm_list_keys (ctrl_t ctrl, STRLIST names, FILE *fp, unsigned int mode)
+gpgsm_list_keys (ctrl_t ctrl, strlist_t names, FILE *fp, unsigned int mode)
{
gpg_error_t err = 0;
diff --git a/sm/server.c b/sm/server.c
index 4054c1857..4b6fe390b 100644
--- a/sm/server.c
+++ b/sm/server.c
@@ -537,12 +537,12 @@ cmd_export (assuan_context_t ctx, char *line)
int fd = assuan_get_output_fd (ctx);
FILE *out_fp;
char *p;
- STRLIST list, sl;
+ strlist_t list, sl;
if (fd == -1)
return set_error (GPG_ERR_ASS_NO_OUTPUT, NULL);
- /* break the line down into an STRLIST */
+ /* break the line down into an strlist_t */
list = NULL;
for (p=line; *p; line = p)
{
@@ -588,10 +588,10 @@ cmd_delkeys (assuan_context_t ctx, char *line)
{
ctrl_t ctrl = assuan_get_pointer (ctx);
char *p;
- STRLIST list, sl;
+ strlist_t list, sl;
int rc;
- /* break the line down into an STRLIST */
+ /* break the line down into an strlist_t */
list = NULL;
for (p=line; *p; line = p)
{
@@ -658,11 +658,11 @@ do_listkeys (assuan_context_t ctx, char *line, int mode)
ctrl_t ctrl = assuan_get_pointer (ctx);
FILE *fp;
char *p;
- STRLIST list, sl;
+ strlist_t list, sl;
unsigned int listmode;
gpg_error_t err;
- /* Break the line down into an STRLIST. */
+ /* Break the line down into an strlist. */
list = NULL;
for (p=line; *p; line = p)
{
diff --git a/tests/openpgp/ChangeLog b/tests/openpgp/ChangeLog
index fc71f260b..53b09853a 100644
--- a/tests/openpgp/ChangeLog
+++ b/tests/openpgp/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-27 Werner Koch <wk@g10code.com>
+
+ * signencrypt.test: Add a test for bug 537.
+ * bug537-test.data.asc: New. Taken from the BTS.
+
2006-08-21 Werner Koch <wk@g10code.com>
Copied tests from 1.4 and adjusted paths.
diff --git a/tests/openpgp/Makefile.am b/tests/openpgp/Makefile.am
index 64775a034..dac3df5f7 100644
--- a/tests/openpgp/Makefile.am
+++ b/tests/openpgp/Makefile.am
@@ -37,7 +37,7 @@ TESTS = version.test mds.test \
TEST_FILES = pubring.asc secring.asc plain-1o.asc plain-2o.asc plain-3o.asc \
plain-1.asc plain-2.asc plain-3.asc plain-1-pgp.asc \
pubring.pkr.asc secring.skr.asc secdemo.asc pubdemo.asc \
- gpg.conf.tmpl
+ gpg.conf.tmpl bug537-test.data.asc
DATA_FILES = data-500 data-9000 data-32000 data-80000 plain-large
@@ -47,6 +47,7 @@ CLEANFILES = prepared.stamp x y yy z out err $(DATA_FILES) \
plain-1 plain-2 plain-3 trustdb.gpg *.lock .\#lk* \
*.test.log gpg_dearmor gpg.conf \
pubring.gpg secring.gpg pubring.pkr secring.skr
+
DISTCLEANFILES = pubring.gpg~ random_seed
diff --git a/tests/openpgp/bug537-test.data.asc b/tests/openpgp/bug537-test.data.asc
new file mode 100644
index 000000000..130dd5b9f
--- /dev/null
+++ b/tests/openpgp/bug537-test.data.asc
@@ -0,0 +1,960 @@
+This is a binary (gzip compressed) file which exhibits a problem with
+the zlib decryptor. See encr-data.c:decrypt_data for a decription of
+the problem we solved with 1.9.92 (1.4.6). It is not easy to produce
+such files, but this one works. The source file is also in the BTS
+under the name check-data-410-1.data. The result of the decryption
+should yield a file with the SHA-1 hash
+4336AE2A528FAE091E73E59E325B588FEE795F9B.
+
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.4.5 (GNU/Linux)
+
+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
+qgtkR/1FowOQkyE=
+=5l5y
+-----END PGP MESSAGE-----
+
diff --git a/tests/openpgp/signencrypt.test b/tests/openpgp/signencrypt.test
index 1d05990fc..5a9786704 100755
--- a/tests/openpgp/signencrypt.test
+++ b/tests/openpgp/signencrypt.test
@@ -3,7 +3,7 @@
. $srcdir/defs.inc || exit 3
-#info Checking signing and encryption
+info "Checking signing and encryption"
for i in $plain_files $data_files ; do
echo "$usrpass1" | $GPG --passphrase-fd 0 --always-trust \
-se -o x --yes -r "$usrname2" $i
@@ -11,3 +11,16 @@ for i in $plain_files $data_files ; do
cmp $i y || error "$i: mismatch"
done
+i=bug537-test.data.asc
+info "Checking bug 537: MDC problem with old style compressed packets."
+echo "$usrpass1" | $GPG --passphrase-fd 0 -o y --yes $i
+tmp=`$GPG --with-colons --print-md sha1 <y`
+if [ "$tmp" != ":2:4336AE2A528FAE091E73E59E325B588FEE795F9B:" ]; then
+ error "$i: mismatch (bug 537)"
+fi
+
+
+
+
+
+
diff --git a/tests/openpgp/sigs.test b/tests/openpgp/sigs.test
index 2c3be5cf5..79a3a18a4 100755
--- a/tests/openpgp/sigs.test
+++ b/tests/openpgp/sigs.test
@@ -2,6 +2,8 @@
. $srcdir/defs.inc || exit 3
+set -x
+
#info Checking signatures
for i in $plain_files $data_files; do
echo "$usrpass1" | $GPG --passphrase-fd 0 -s -o x --yes $i
diff --git a/tools/gpgsplit.c b/tools/gpgsplit.c
index 96760dab3..8c1705396 100644
--- a/tools/gpgsplit.c
+++ b/tools/gpgsplit.c
@@ -19,10 +19,6 @@
* USA.
*/
-/*
- * TODO: Add an option to uncompress packets. This should come quite handy.
- */
-
#include <config.h>
#include <errno.h>
#include <stdio.h>
@@ -446,6 +442,15 @@ handle_zlib(int algo,FILE *fpin,FILE *fpout)
}
}
while (zrc != Z_STREAM_END && zrc != Z_BUF_ERROR);
+ {
+ int i;
+
+ fputs ("Left over bytes:", stderr);
+ for (i=0; i < zs.avail_in; i++)
+ fprintf (stderr, " %02X", zs.next_in[i]);
+ putc ('\n', stderr);
+
+ }
inflateEnd (&zs);
return 0;