diff --git a/ChangeLog b/ChangeLog index 787115939..a5b32cc0d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-09-27 Werner Koch + + * 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 * 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 + + * iobuf.c (iobuf_unread): Removed. This code is not required. + Also removed the entire unget buffer stuff. + 2006-09-27 Werner Koch * 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]) @@ -962,22 +962,22 @@ AC_CHECK_FUNCS([ttyname isascii memrchr rand ftello]) AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include ]) +# +# 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 + + * 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 + + * 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 + + Replaced all STRLIST by strlist_t. + 2006-09-21 Werner Koch * 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; - - 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; + 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(); + 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"); + 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(); - } - - - /* 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; + 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(); } - 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; - } + /* 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 { - for(i=0; i < (nprefix+2); i++ ) - if( (c=iobuf_get(ed->buf)) == -1 ) - break; - else - temp[i] = c; + else if( rc ) + { + log_error("key setup failed: %s\n", g10_errstr(rc) ); + goto leave; } - 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 ) { /* check the mdc */ - int datalen = gcry_md_get_algo_dlen (ed->mdc_method); - - 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 (!ed->buf) + { + log_error(_("problem handling encrypted packet\n")); + goto leave; } - - leave: - gcry_cipher_close (dfx.cipher_hd); - gcry_md_close (dfx.mdc_hash); - return rc; + 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; + } + } + 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 ); + + 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); + + 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); + + 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; } /* 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 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 -#endif - -#include -#include - -#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 - -#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 . - - 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 -#endif - -/* Specification. */ -#include "strsep.h" - -#include - -#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 . - - 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 - -#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 + + * 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 * 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 - * 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 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 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 +#include +#include +#include + +#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_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 @@ -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 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 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 #include #include +#include #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 - * 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 - * 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 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 \n" "Language-Team: Belarusian \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 \n" "Language-Team: Catalan \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 \n" "Language-Team: Czech \n" @@ -509,42 +509,42 @@ msgstr "chyba p 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 \n" "Language-Team: Danish \n" @@ -503,42 +503,42 @@ msgstr "fejl ved oprettelse af kodes 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 \n" "Language-Team: German \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 \n" "Language-Team: Greek \n" @@ -507,42 +507,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\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 \n" "Language-Team: Esperanto \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 \n" "Language-Team: Spanish \n" @@ -538,42 +538,42 @@ msgstr "error creando frase contrase 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 \n" "Language-Team: Estonian \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 \n" "Language-Team: Finnish \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 \n" "Language-Team: French \n" @@ -521,42 +521,42 @@ msgstr "erreur pendant la cr 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 \n" "Language-Team: Galician \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ó \n" "Language-Team: Hungarian \n" @@ -506,42 +506,42 @@ msgstr "Hiba a jelsz 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 \n" "Language-Team: Indonesian \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 \n" "Language-Team: Italian \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 \n" "Language-Team: Japanese \n" @@ -509,42 +509,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 "" @@ -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 \n" "Language-Team: Norwegian Bokmål \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 \n" "Language-Team: Polish \n" @@ -517,42 +517,42 @@ msgstr "b 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 \n" "Language-Team: pt \n" @@ -510,42 +510,42 @@ msgstr "erro na cria 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 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 \n" "Language-Team: Romanian \n" @@ -515,42 +515,42 @@ msgstr "eroare la crearea frazei-parol 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 \n" "Language-Team: Russian \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 \n" "Language-Team: Slovak \n" @@ -507,42 +507,42 @@ msgstr "chyba pri vytv 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 \n" "Language-Team: Swedish \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 \n" "Language-Team: Turkish \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 \n" "Language-Team: Chinese (simplified) \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 \n" "Language-Team: Chinese (traditional) \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 + + * signencrypt.test: Add a test for bug 537. + * bug537-test.data.asc: New. Taken from the BTS. + 2006-08-21 Werner Koch 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 #include #include @@ -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;