See ChangeLog: Mon May 31 19:41:10 CEST 1999 Werner Koch
authorWerner Koch <wk@gnupg.org>
Mon, 31 May 1999 17:49:37 +0000 (17:49 +0000)
committerWerner Koch <wk@gnupg.org>
Mon, 31 May 1999 17:49:37 +0000 (17:49 +0000)
18 files changed:
AUTHORS
BUGS
TODO
doc/gpg.1pod
g10/ChangeLog
g10/build-packet.c
g10/compress.c
g10/encr-data.c
g10/free-packet.c
g10/g10.c
g10/mdfilter.c
g10/plaintext.c
po/ChangeLog
po/de.po
po/pl.po
scripts/gnupg.spec.in
util/ChangeLog
util/iobuf.c

diff --git a/AUTHORS b/AUTHORS
index 8c20802..d376c44 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -29,6 +29,12 @@ nh@df.lth.se
 Weak key patches.
 
 
+GNUPG  Rémi Guyomarch          ????????????
+Assigns changes.
+rguyom@mail.dotcom.fr
+Various speed up patches.
+
+
 TRANSLATIONS   Marco d'Itri    1997-02-22
 Disclaimer.  [it]
 md@linux.it
@@ -61,10 +67,11 @@ jungmann@cwb.matrix.com.br
 
 TRANSLATIONS   Janusz Aleksander Urbanowicz    1999-01-09
 pl.po
+alex@bofh.torun.pl
 
 
 
-Other notes:
+More credits
 ============
 This program uses the zlib compression library written by
 Jean-loup Gailly and Mark Adler.
diff --git a/BUGS b/BUGS
index bfadaa0..753265a 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -42,6 +42,10 @@ and after about half a day in the rsync snapshots.
     --> Solaris fixed.
     --> IRIX bug still there
 
+[  *] #18 1999-05-27 <Steffen.Zahn@icn.siemens.de> 0.9.7
+    rndunix hangs on hp/ux.  The problme is related to my_plcose which is
+    not always called. (I suggest to use EGD instead of rndunix.)
 
-Next #18
+
+Next #19
 
diff --git a/TODO b/TODO
index df6a958..dbe27bf 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,6 @@
 
+  * add keylength and type to status output.
+
   * add some status output put for signing and encryption.
     replace the putc in primegen with some kind of status-fd outputs.
 
index 1ad795c..af41869 100644 (file)
@@ -461,12 +461,6 @@ B<--compress-algo> I<number>
     i.e. the compression algorithm is selected from the
     preferences.
 
-B<--digest-algo> I<name>
-    Use I<name> as message digest algorithm. Running the
-    program with the command B<--version> yields a list of
-    supported algorithms.
-
-
 B<--throw-keyid>
     Do not put the keyid into encrypted packets.  This option
     hides the receiver of the message and is a countermeasure
@@ -600,7 +594,9 @@ is B<very> easy to spy out your passphrase!
 =head1 BUGS
 
 On many systems this program should be installed as setuid(root). This
-is necessary to lock memory pages. If you get no warning message about
-insecure memory your OS kernel supports locking without being root.
-The program drops root privileges as soon as locked memory is allocated.
+is necessary to lock memory pages. Locking memory pages prevents the
+operating system from writing memory pages to disk. If you get no 
+warning message about insecure memory your operating system supports 
+locking without being root. The program drops root privileges as soon 
+as locked memory is allocated.
 
index 6c1fe9f..5096b94 100644 (file)
@@ -1,3 +1,10 @@
+Mon May 31 19:41:10 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * g10.c (main): Fix for SHM init (Michael).
+
+       * compress.c, encr-data.c, mdfilter.c,
+         plaintext.c, free-packet.c: Speed patches (Rémi).
+
 Thu May 27 09:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * status.c (cpr_get_answer_yes_no_quit): New.
index ee19287..75066de 100644 (file)
@@ -566,7 +566,6 @@ find_subpkt( byte *buffer, sigsubpkttype_t reqtype,
        return NULL;
     buflen = (*buffer << 8) | buffer[1];
     buffer += 2;
-  log_debug("find_subpkt: tyoe=%d bufferlength=%d\n", reqtype, buflen );
     for(;;) {
        if( !buflen )
            return NULL; /* end of packets; not found */
@@ -587,7 +586,6 @@ find_subpkt( byte *buffer, sigsubpkttype_t reqtype,
            buffer++;
            buflen--;
        }
-  log_debug("find_subpkt: this len=%u\n", n );
        if( buflen < n )
            break;
        type = *buffer & 0x7f;
index 5ad4a27..4862346 100644 (file)
@@ -132,8 +132,7 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
     int zrc;
     int rc=0;
     size_t n;
-    byte *p;
-    int c;
+    int nread, count;
     int refill = !zs->avail_in;
 
     if( DBG_FILTER )
@@ -145,16 +144,17 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
            n = zs->avail_in;
            if( !n )
                zs->next_in = zfx->inbuf;
-           for( p=zfx->inbuf+n; n < zfx->inbufsize; n++, p++ ) {
-               if( (c=iobuf_get(a)) == -1 ) {
-                   /* If we use the undocumented feature to suppress
-                    * the zlib header, we have to give inflate an
-                    * extra dummy byte to read */
-                   if( zfx->algo != 1 || zfx->algo1hack )
-                       break;
-                   zfx->algo1hack = 1;
-               }
-               *p = c & 0xff;
+           count = zfx->inbufsize - n;
+           nread = iobuf_read( a, zfx->inbuf + n, count );
+           if( nread == -1 ) nread = 0;
+           n += nread;
+           /* If we use the undocumented feature to suppress
+            * the zlib header, we have to give inflate an
+            * extra dummy byte to read */
+           if( nread < count && zfx->algo == 1 ) {
+               *(zfx->inbuf + n) = 0xFF; /* is it really needed ? */
+               zfx->algo1hack = 1;
+               n++;
            }
            zs->avail_in = n;
        }
index fd3da05..0593efe 100644 (file)
@@ -217,16 +217,11 @@ 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;
-    int c;
 
     if( control == IOBUFCTRL_UNDERFLOW ) {
        assert(a);
-       for(n=0; n < size; n++ ) {
-           if( (c = iobuf_get(a)) == -1 )
-               break;
-           buf[n] = c;
-       }
-
+       n = iobuf_read( a, buf, size );
+       if( n == -1 ) n = 0;
        if( n )
            cipher_decrypt( fc->cipher_hd, buf, buf, n);
        else
index aef8e2f..5d74544 100644 (file)
@@ -229,7 +229,7 @@ free_compressed( PKT_compressed *zd )
     if( zd->buf ) { /* have to skip some bytes */
        /* don't have any information about the length, so
         * we assume this is the last packet */
-       while( iobuf_get(zd->buf) != -1 )
+       while( iobuf_read( zd->buf, NULL, 1<<30 ) != -1 )
            ;
     }
     m_free(zd);
@@ -240,12 +240,12 @@ free_encrypted( PKT_encrypted *ed )
 {
     if( ed->buf ) { /* have to skip some bytes */
        if( iobuf_in_block_mode(ed->buf) ) {
-           while( iobuf_get(ed->buf) != -1 )
+           while( iobuf_read( ed->buf, NULL, 1<<30 ) != -1 )
                ;
        }
        else {
-           for( ; ed->len; ed->len-- ) /* skip the packet */
-               iobuf_get(ed->buf);
+           while( ed->len ) /* skip the packet */
+               ed->len -= iobuf_read( ed->buf, NULL, ed->len );
        }
     }
     m_free(ed);
@@ -257,12 +257,12 @@ free_plaintext( PKT_plaintext *pt )
 {
     if( pt->buf ) { /* have to skip some bytes */
        if( iobuf_in_block_mode(pt->buf) ) {
-           while( iobuf_get(pt->buf) != -1 )
+           while( iobuf_read( pt->buf, NULL, 1<<30 ) != -1 )
                ;
        }
        else {
-           for( ; pt->len; pt->len-- ) /* skip the packet */
-               iobuf_get(pt->buf);
+           while( pt->len ) /* skip the packet */
+               pt->len -= iobuf_read( pt->buf, NULL, pt->len );
        }
     }
     m_free(pt);
index c530537..eb6d32f 100644 (file)
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -554,6 +554,11 @@ main( int argc, char **argv )
            opt.shm_coprocess = 1;
            requested_shm_size = pargs.r.ret_ulong;
        }
+       else if ( pargs.r_opt == oStatusFD ) {
+           /* this is needed to ensure that the status-fd filedescriptor is
+            * initialized when init_shm_coprocessing() is called */
+           set_status_fd( pargs.r.ret_int );
+       }
       #endif
     }
 
index 2cdbd32..951fd73 100644 (file)
@@ -42,17 +42,13 @@ md_filter( void *opaque, int control,
 {
     size_t size = *ret_len;
     md_filter_context_t *mfx = opaque;
-    int i, c, rc=0;
+    int i, rc=0;
 
     if( control == IOBUFCTRL_UNDERFLOW ) {
        if( mfx->maxbuf_size && size > mfx->maxbuf_size )
            size = mfx->maxbuf_size;
-       for(i=0; i < size; i++ ) {
-           if( (c = iobuf_get(a)) == -1 )
-               break;
-           buf[i] = c;
-       }
-
+       i = iobuf_read( a, buf, size );
+       if( i == -1 ) i = 0;
        if( i ) {
            md_write(mfx->md, buf, i );
            if( mfx->md2 )
index 577641a..000ede0 100644 (file)
@@ -90,41 +90,92 @@ handle_plaintext( PKT_plaintext *pt, md_filter_context_t *mfx,
 
     if( pt->len ) {
        assert( !clearsig );
-       for( ; pt->len; pt->len-- ) {
-           if( (c = iobuf_get(pt->buf)) == -1 ) {
-               log_error("Problem reading source (%u bytes remaining)\n",
-                                                        (unsigned)pt->len);
-               rc = G10ERR_READ_FILE;
-               goto leave;
+       if( convert ) { // text mode
+           for( ; pt->len; pt->len-- ) {
+               if( (c = iobuf_get(pt->buf)) == -1 ) {
+                   log_error("Problem reading source (%u bytes remaining)\n",
+                             (unsigned)pt->len);
+                   rc = G10ERR_READ_FILE;
+                   goto leave;
+               }
+               if( mfx->md )
+                   md_putc(mfx->md, c );
+               if( c == '\r' )
+                   continue; /* fixme: this hack might be too simple */
+               if( fp ) {
+                   if( putc( c, fp ) == EOF ) {
+                       log_error("Error writing to `%s': %s\n",
+                                 fname, strerror(errno) );
+                       rc = G10ERR_WRITE_FILE;
+                       goto leave;
+                   }
+               }
            }
-           if( mfx->md )
-               md_putc(mfx->md, c );
-           if( convert && c == '\r' )
-               continue; /* fixme: this hack might be too simple */
-           if( fp ) {
-               if( putc( c, fp ) == EOF ) {
-                   log_error("Error writing to `%s': %s\n",
-                                           fname, strerror(errno) );
-                   rc = G10ERR_WRITE_FILE;
+       }
+       else { // binary mode
+           byte *buffer = m_alloc( 32768 );
+           while( pt->len ) {
+               int len = pt->len > 32768 ? 32768 : pt->len;
+               len = iobuf_read( pt->buf, buffer, len );
+               if( len == -1 ) {
+                   log_error("Problem reading source (%u bytes remaining)\n",
+                             (unsigned)pt->len);
+                   rc = G10ERR_READ_FILE;
+                   m_free( buffer );
                    goto leave;
                }
+               if( mfx->md )
+                   md_write( mfx->md, buffer, len );
+               if( fp ) {
+                   if( fwrite( buffer, 1, len, fp ) != len ) {
+                       log_error("Error writing to `%s': %s\n",
+                                 fname, strerror(errno) );
+                       rc = G10ERR_WRITE_FILE;
+                       m_free( buffer );
+                       goto leave;
+                   }
+               }
+               pt->len -= len;
            }
+           m_free( buffer );
        }
     }
     else if( !clearsig ) {
-       while( (c = iobuf_get(pt->buf)) != -1 ) {
-           if( mfx->md )
-               md_putc(mfx->md, c );
-           if( convert && c == '\r' )
-               continue; /* fixme: this hack might be too simple */
-           if( fp ) {
-               if( putc( c, fp ) == EOF ) {
-                   log_error("Error writing to `%s': %s\n",
-                                               fname, strerror(errno) );
-                   rc = G10ERR_WRITE_FILE;
-                   goto leave;
+       if( convert ) { // text mode
+           while( (c = iobuf_get(pt->buf)) != -1 ) {
+               if( mfx->md )
+                   md_putc(mfx->md, c );
+               if( convert && c == '\r' )
+                   continue; /* fixme: this hack might be too simple */
+               if( fp ) {
+                   if( putc( c, fp ) == EOF ) {
+                       log_error("Error writing to `%s': %s\n",
+                                 fname, strerror(errno) );
+                       rc = G10ERR_WRITE_FILE;
+                       goto leave;
+                   }
+               }
+           }
+       }
+       else { // binary mode
+           byte *buffer = m_alloc( 32768 );
+           for( ;; ) {
+               int len = iobuf_read( pt->buf, buffer, 32768 );
+               if( len == -1 )
+                   break;
+               if( mfx->md )
+                   md_write( mfx->md, buffer, len );
+               if( fp ) {
+                   if( fwrite( buffer, 1, len, fp ) != len ) {
+                       log_error("Error writing to `%s': %s\n",
+                                 fname, strerror(errno) );
+                       rc = G10ERR_WRITE_FILE;
+                       m_free( buffer );
+                       goto leave;
+                   }
                }
            }
+           m_free( buffer );
        }
        pt->buf = NULL;
     }
index b7f63fa..09fa6e2 100644 (file)
@@ -1,3 +1,9 @@
+Mon May 31 19:41:10 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * de.po: New version (Walter).
+
+       * pl.po: New version (Alex).
+
 Tue May 25 19:50:32 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * fr.po: Imported new version.
index 8a40174..184169e 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -3,8 +3,8 @@
 # Walter Koch <walterk@dip.de>, 1998.
 msgid ""
 msgstr ""
-"POT-Creation-Date: 1999-05-23 15:36+0200\n"
-"PO-Revision-Date: 1999-05-08 20:24+0200\n"
+"POT-Creation-Date: 1999-05-30 21:55+0200\n"
+"PO-Revision-Date: 1999-05-30 21:56+0200\n"
 "Last-Translator: Walter Koch <walterk@mail.dip.de>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -26,14 +26,22 @@ msgid "(you may have used the wrong program for this task)\n"
 msgstr ""
 "(möglicherweise haben Sie das falsche Programm für diese Aufgabe benutzt)\n"
 
-#: util/miscutil.c:156
+#: util/miscutil.c:156 util/miscutil.c:173
 msgid "yes"
 msgstr "ja"
 
-#: util/miscutil.c:157
+#: util/miscutil.c:157 util/miscutil.c:175
 msgid "yY"
 msgstr "jJyY"
 
+#: g10/keyedit.c:559 util/miscutil.c:174
+msgid "quit"
+msgstr "quit"
+
+#: util/miscutil.c:176
+msgid "qQ"
+msgstr "qQ"
+
 #: util/errors.c:54
 msgid "general error"
 msgstr "Allgemeiner Fehler"
@@ -266,7 +274,7 @@ msgstr ""
 "Arbeiten durch, damit das Betriebssystem weitere Entropie sammeln kann!\n"
 "(Es werden noch %d Byte benötigt.)\n"
 
-#: g10/g10.c:165
+#: g10/g10.c:167
 msgid ""
 "@Commands:\n"
 " "
@@ -274,131 +282,131 @@ msgstr ""
 "@Befehle:\n"
 " "
 
-#: g10/g10.c:167
+#: g10/g10.c:169
 msgid "|[file]|make a signature"
-msgstr "|[file]|Eine Unterschrift erzeugen"
+msgstr "|[Datei]|Eine Unterschrift erzeugen"
 
-#: g10/g10.c:168
+#: g10/g10.c:170
 msgid "|[file]|make a clear text signature"
-msgstr "|[file]|Eine Klartextunterschrift erzeugen"
+msgstr "|[Datei]|Eine Klartextunterschrift erzeugen"
 
-#: g10/g10.c:169
+#: g10/g10.c:171
 msgid "make a detached signature"
 msgstr "Eine abgetrennte Unterschrift erzeugen"
 
-#: g10/g10.c:170
+#: g10/g10.c:172
 msgid "encrypt data"
 msgstr "Daten verschlüsseln"
 
-#: g10/g10.c:171
+#: g10/g10.c:173
 msgid "encryption only with symmetric cipher"
 msgstr "Daten symmetrisch verschlüsseln"
 
-#: g10/g10.c:172
+#: g10/g10.c:174
 msgid "store only"
 msgstr "Nur speichern"
 
-#: g10/g10.c:173
+#: g10/g10.c:175
 msgid "decrypt data (default)"
 msgstr "Daten entschlüsseln (Voreinstellung)"
 
-#: g10/g10.c:174
+#: g10/g10.c:176
 msgid "verify a signature"
 msgstr "Signatur prüfen"
 
-#: g10/g10.c:175
+#: g10/g10.c:177
 msgid "list keys"
 msgstr "Liste der Schlüssel"
 
-#: g10/g10.c:177
+#: g10/g10.c:179
 msgid "list keys and signatures"
 msgstr "Liste der Schlüssel und ihrer Signaturen"
 
-#: g10/g10.c:178
+#: g10/g10.c:180
 msgid "check key signatures"
 msgstr "Signaturen der Schlüssel prüfen"
 
-#: g10/g10.c:179
+#: g10/g10.c:181
 msgid "list keys and fingerprints"
 msgstr "Liste der Schlüssel und ihrer \"Fingerabdrücke\""
 
-#: g10/g10.c:180
+#: g10/g10.c:182
 msgid "list secret keys"
 msgstr "Liste der geheimen Schlüssel"
 
-#: g10/g10.c:181
+#: g10/g10.c:183
 msgid "generate a new key pair"
 msgstr "Ein neues Schlüsselpaar erzeugen"
 
-#: g10/g10.c:182
+#: g10/g10.c:184
 msgid "remove key from the public keyring"
 msgstr "Schlüssel entfernen"
 
-#: g10/g10.c:183
+#: g10/g10.c:185
 msgid "sign or edit a key"
 msgstr "Unterschreiben oder Bearbeiten eines Schlüssels"
 
-#: g10/g10.c:184
+#: g10/g10.c:186
 msgid "generate a revocation certificate"
 msgstr "Ein Schlüsselwiderruf-Zertifikat erzeugen"
 
-#: g10/g10.c:185
+#: g10/g10.c:187
 msgid "export keys"
 msgstr "Schlüssel exportieren"
 
-#: g10/g10.c:186
+#: g10/g10.c:188
 msgid "export keys to a key server"
 msgstr "Schlüssel zu einem Schlüsselserver exportieren"
 
-#: g10/g10.c:187
+#: g10/g10.c:189
 msgid "import keys from a key server"
 msgstr "Schlüssel von einem Schlüsselserver importieren"
 
-#: g10/g10.c:190
+#: g10/g10.c:192
 msgid "import/merge keys"
 msgstr "Schlüssel importieren/kombinieren"
 
-#: g10/g10.c:192
+#: g10/g10.c:194
 msgid "list only the sequence of packets"
 msgstr "Lediglich die Struktur der Datenpakete anzeigen"
 
-#: g10/g10.c:194
+#: g10/g10.c:196
 msgid "export the ownertrust values"
 msgstr "Exportieren der \"Owner trust\" Werte"
 
-#: g10/g10.c:196
+#: g10/g10.c:198
 msgid "import ownertrust values"
 msgstr "Importieren der \"Owner trust\" Werte"
 
-#: g10/g10.c:198
+#: g10/g10.c:200
 msgid "|[NAMES]|update the trust database"
-msgstr "|[NAMES]|Ändern der \"Trust\"-Datenbank"
+msgstr "|[NAMEN]|Ändern der \"Trust\"-Datenbank"
 
-#: g10/g10.c:200
+#: g10/g10.c:202
 msgid "|[NAMES]|check the trust database"
-msgstr "|[NAMES]|Überprüfen der \"Trust\"-Datenbank"
+msgstr "|[NAMEN]|Überprüfen der \"Trust\"-Datenbank"
 
-#: g10/g10.c:201
+#: g10/g10.c:203
 msgid "fix a corrupted trust database"
 msgstr "Reparieren einer beschädigten \"Trust\"-Datenbank"
 
-#: g10/g10.c:202
+#: g10/g10.c:204
 msgid "De-Armor a file or stdin"
 msgstr "Datei oder stdin von der ASCII-Hülle befreien"
 
-#: g10/g10.c:203
+#: g10/g10.c:205
 msgid "En-Armor a file or stdin"
 msgstr "Datei oder stdin in eine ASCII-Hülle einpacken"
 
-#: g10/g10.c:204
+#: g10/g10.c:206
 msgid "|algo [files]|print message digests"
-msgstr "|algo [files]|Message-Digests für die Dateien ausgeben"
+msgstr "|algo [Dateien]|Message-Digests für die Dateien ausgeben"
 
-#: g10/g10.c:205
+#: g10/g10.c:207
 msgid "print all message digests"
 msgstr "Message-Digests für die Eingabedaten ausgeben"
 
-#: g10/g10.c:211
+#: g10/g10.c:213
 msgid ""
 "@\n"
 "Options:\n"
@@ -408,148 +416,152 @@ msgstr ""
 "Optionen:\n"
 " "
 
-#: g10/g10.c:213
+#: g10/g10.c:215
 msgid "create ascii armored output"
 msgstr "Ausgabe mit ASCII-Hülle versehen"
 
-#: g10/g10.c:214
+#: g10/g10.c:216
 msgid "|NAME|encrypt for NAME"
-msgstr "|NAME|verschlüsseln für NAME"
+msgstr "|NAME|Verschlüsseln für NAME"
 
-#: g10/g10.c:218
+#: g10/g10.c:220
 msgid "use this user-id to sign or decrypt"
 msgstr "Mit dieser User-ID signieren"
 
-#: g10/g10.c:219
+#: g10/g10.c:221
 msgid "|N|set compress level N (0 disables)"
 msgstr "Kompressionsstufe auf N setzen (0=keine Kompr.)"
 
-#: g10/g10.c:221
+#: g10/g10.c:223
 msgid "use canonical text mode"
 msgstr "Textmodus benutzen"
 
-#: g10/g10.c:222
+#: g10/g10.c:224
 msgid "use as output file"
 msgstr "Als Ausgabedatei benutzen"
 
-#: g10/g10.c:223
+#: g10/g10.c:225
 msgid "verbose"
 msgstr "Detaillierte Informationen"
 
-#: g10/g10.c:224
+#: g10/g10.c:226
 msgid "be somewhat more quiet"
 msgstr "Etwas weniger Infos"
 
-#: g10/g10.c:225
+#: g10/g10.c:227
 msgid "force v3 signatures"
 msgstr "v3 Signaturen erzwingen"
 
-#: g10/g10.c:226
+#: g10/g10.c:228
 msgid "always use a MDC for encryption"
-msgstr "Beim Verschlüssen ein Siegel (MDC) verwenden"
+msgstr "Beim Verschlüsseln ein Siegel (MDC) verwenden"
 
-#: g10/g10.c:227
+#: g10/g10.c:229
 msgid "do not make any changes"
 msgstr "Keine wirklichen Änderungen durchführen"
 
 #. { oInteractive, "interactive", 0, N_("prompt before overwriting") },
-#: g10/g10.c:229
+#: g10/g10.c:231
 msgid "batch mode: never ask"
 msgstr "Stapelmodus: Keine Abfragen"
 
-#: g10/g10.c:230
+#: g10/g10.c:232
 msgid "assume yes on most questions"
 msgstr "\"Ja\" als Standardantwort annehmen"
 
-#: g10/g10.c:231
+#: g10/g10.c:233
 msgid "assume no on most questions"
 msgstr "\"Nein\" als Standardantwort annehmen"
 
-#: g10/g10.c:232
+#: g10/g10.c:234
 msgid "add this keyring to the list of keyrings"
 msgstr "Als öffentlichen Schlüsselbund mitbenutzen"
 
-#: g10/g10.c:233
+#: g10/g10.c:235
 msgid "add this secret keyring to the list"
 msgstr "Als geheimen Schlüsselbund mitbenutzen"
 
-#: g10/g10.c:234
+#: g10/g10.c:236
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen"
 
-#: g10/g10.c:235
+#: g10/g10.c:237
 msgid "|HOST|use this keyserver to lookup keys"
-msgstr "|HOST|Schlüssel bei diesen Server nachschlagen"
+msgstr "|HOST|Schlüssel bei diesem Server nachschlagen"
 
-#: g10/g10.c:236
+#: g10/g10.c:238
 msgid "|NAME|set terminal charset to NAME"
 msgstr "|NAME|Terminalzeichensatz NAME benutzen"
 
-#: g10/g10.c:237
+#: g10/g10.c:239
 msgid "read options from file"
 msgstr "Optionen aus der Datei lesen"
 
-#: g10/g10.c:239
+#: g10/g10.c:241
 msgid "set debugging flags"
 msgstr "Debug-Flags einschalten"
 
-#: g10/g10.c:240
+#: g10/g10.c:242
 msgid "enable full debugging"
 msgstr "Alle Debug-Flags einschalten"
 
-#: g10/g10.c:241
+#: g10/g10.c:243
 msgid "|FD|write status info to this FD"
 msgstr "|FD|Statusinfo auf FD (Dateihandle) ausgeben"
 
-#: g10/g10.c:242
+#: g10/g10.c:244
 msgid "do not write comment packets"
 msgstr "Keine Kommentarpakete schreiben"
 
-#: g10/g10.c:243
+#: g10/g10.c:245
 msgid "(default is 1)"
 msgstr "Benötigte Vollvertrauen (Voreinstellung 1)"
 
-#: g10/g10.c:244
+#: g10/g10.c:246
 msgid "(default is 3)"
 msgstr "Benötigte Teilvertrauen (Voreinstellung 3)"
 
-#: g10/g10.c:246
+#: g10/g10.c:248
 msgid "|FILE|load extension module FILE"
-msgstr "|FILE|Erweiterungsmodul DATEI laden"
+msgstr "|DATEI|Erweiterungsmodul DATEI laden"
 
-#: g10/g10.c:247
+#: g10/g10.c:249
 msgid "emulate the mode described in RFC1991"
 msgstr "Den in RFC1991 beschriebenen Modus nachahmen"
 
-#: g10/g10.c:248
+#: g10/g10.c:250
 msgid "|N|use passphrase mode N"
 msgstr "|N|Verwenden des Mantra-Modus N"
 
-#: g10/g10.c:250
+#: g10/g10.c:252
 msgid "|NAME|use message digest algorithm NAME for passphrases"
 msgstr "|NAME|Das Hashverfahren NAME für Mantras benutzen"
 
-#: g10/g10.c:252
+#: g10/g10.c:254
 msgid "|NAME|use cipher algorithm NAME for passphrases"
 msgstr "|NAME|Das Verschlü.verfahren NAME für Mantras benutzen"
 
-#: g10/g10.c:253
+#: g10/g10.c:255
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|Das Verschlü.verfahren NAME benutzen"
 
-#: g10/g10.c:254
+#: g10/g10.c:256
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|Das Hashverfahren NAME benutzen"
 
-#: g10/g10.c:255
+#: g10/g10.c:257
 msgid "|N|use compress algorithm N"
 msgstr "|N|Die Komprimierverfahren N benutzen"
 
-#: g10/g10.c:256
+#: g10/g10.c:258
 msgid "throw keyid field of encrypted packets"
-msgstr "entferne die Absender-ID verschlüsselter Pakete"
+msgstr "Entferne die Absender-ID verschlüsselter Pakete"
 
-#: g10/g10.c:258
+#: g10/g10.c:259
+msgid "|NAME=VALUE|use this notation data"
+msgstr "|NAME=WERT|verwende diese \"notation\"-Daten"
+
+#: g10/g10.c:261
 msgid ""
 "@\n"
 "Examples:\n"
@@ -569,15 +581,15 @@ msgstr ""
 " --list-keys [Namen]        Schlüssel anzeigen\n"
 " --fingerprint [Namen]      \"Fingerabdrücke\" anzeigen\n"
 
-#: g10/g10.c:327
+#: g10/g10.c:333
 msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
 msgstr "Berichte über Bugs (Programmfehler) bitte an <gnupg-bugs@gnu.org>.\n"
 
-#: g10/g10.c:331
+#: g10/g10.c:337
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Aufruf: gpg [Optionen] [Dateien] (-h für Hilfe)"
 
-#: g10/g10.c:334
+#: g10/g10.c:340
 msgid ""
 "Syntax: gpg [options] [files]\n"
 "sign, check, encrypt or decrypt\n"
@@ -587,7 +599,7 @@ msgstr ""
 "Signieren, prüfen, verschlüsseln, entschlüsseln\n"
 "Die voreingestellte Operation ist abhängig von den Eingabedaten\n"
 
-#: g10/g10.c:339
+#: g10/g10.c:345
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -595,149 +607,176 @@ msgstr ""
 "\n"
 "Unterstützte Verfahren:\n"
 
-#: g10/g10.c:413
+#: g10/g10.c:419
 msgid "usage: gpg [options] "
 msgstr "Aufruf: gpg [Optionen] "
 
-#: g10/g10.c:453
+#: g10/g10.c:459
 msgid "conflicting commands\n"
 msgstr "Widersprüchliche Befehle\n"
 
-#: g10/g10.c:580
+#: g10/g10.c:586
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n"
 
-#: g10/g10.c:584
+#: g10/g10.c:590
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "Optionendatei '%s': %s\n"
 
-#: g10/g10.c:591
+#: g10/g10.c:597
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "Optionen werden aus '%s' gelesen\n"
 
-#: g10/g10.c:737
+#: g10/g10.c:744
 #, c-format
 msgid "%s is not a valid character set\n"
 msgstr "%s ist kein gültiger Zeichensatz.\n"
 
-#: g10/g10.c:780 g10/g10.c:792
+#: g10/g10.c:788 g10/g10.c:800
 msgid "selected cipher algorithm is invalid\n"
 msgstr "Das ausgewählte Verschlüsslungsverfahren ist ungültig\n"
 
-#: g10/g10.c:786 g10/g10.c:798
+#: g10/g10.c:794 g10/g10.c:806
 msgid "selected digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
-#: g10/g10.c:801
+#: g10/g10.c:810
+msgid "the given policy URL is invalid\n"
+msgstr "Die angegebene URL für Richtlinien ist ungültig\n"
+
+#: g10/g10.c:813
 #, c-format
 msgid "compress algorithm must be in range %d..%d\n"
 msgstr "Das Komprimierverfahren muß im Bereich %d bis %d liegen\n"
 
-#: g10/g10.c:803
+#: g10/g10.c:815
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed müssen größer als 0 sein\n"
 
-#: g10/g10.c:805
+#: g10/g10.c:817
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed müssen größer als 1 sein\n"
 
-#: g10/g10.c:807
+#: g10/g10.c:819
 msgid "max-cert-depth must be in range 1 to 255\n"
 msgstr "max-cert-depth muß im Bereich 1 bis 255 liegen\n"
 
-#: g10/g10.c:810
+#: g10/g10.c:822
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Hinweis: Vom \"simple S2K\"-Modus (0) ist strikt abzuraten\n"
 
-#: g10/g10.c:814
+#: g10/g10.c:826
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ungültiger \"simple S2K\"-Modus; Wert muß 0, 1 oder 3 sein\n"
 
-#: g10/g10.c:891
+#: g10/g10.c:903
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "Die Trust-DB kann nicht initialisiert werden: %s\n"
 
-#: g10/g10.c:897
+#: g10/g10.c:909
 msgid "--store [filename]"
 msgstr "--store [Dateiname]"
 
-#: g10/g10.c:904
+#: g10/g10.c:916
 msgid "--symmetric [filename]"
 msgstr "--symmetric [Dateiname]"
 
-#: g10/g10.c:912
+#: g10/g10.c:924
 msgid "--encrypt [filename]"
 msgstr "--encrypt [Dateiname]"
 
-#: g10/g10.c:925
+#: g10/g10.c:937
 msgid "--sign [filename]"
 msgstr "--sign [Dateiname]"
 
-#: g10/g10.c:938
+#: g10/g10.c:950
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [Dateiname]"
 
-#: g10/g10.c:952
+#: g10/g10.c:964
 msgid "--clearsign [filename]"
 msgstr "--clearsign [Dateiname]"
 
-#: g10/g10.c:964
+#: g10/g10.c:976
 msgid "--decrypt [filename]"
 msgstr "--decrypt [Dateiname]"
 
-#: g10/g10.c:973
+#: g10/g10.c:985
 msgid "--edit-key username [commands]"
 msgstr "--edit-key Username [Befehle]"
 
-#: g10/g10.c:987
+#: g10/g10.c:999
 msgid "--delete-secret-key username"
 msgstr "--delete-secret-key Username"
 
-#: g10/g10.c:990
+#: g10/g10.c:1002
 msgid "--delete-key username"
 msgstr "--delete-key Benutzername"
 
-#: g10/encode.c:231 g10/g10.c:1013 g10/sign.c:311
+#: g10/encode.c:231 g10/g10.c:1025 g10/sign.c:366
 #, c-format
 msgid "can't open %s: %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
-#: g10/g10.c:1024
+#: g10/g10.c:1036
 msgid "-k[v][v][v][c] [userid] [keyring]"
 msgstr "-k[v][v][v][c] [Benutzername] [Keyring]"
 
-#: g10/g10.c:1083
+#: g10/g10.c:1095
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "Entfernen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/g10.c:1091
+#: g10/g10.c:1103
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "Anbringen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/g10.c:1157
+#: g10/g10.c:1169
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "Ungültiges Hashverfahren '%s'\n"
 
-#: g10/g10.c:1232
+#: g10/g10.c:1244
 msgid "[filename]"
 msgstr "[Dateiname]"
 
-#: g10/g10.c:1236
+#: g10/g10.c:1248
 msgid "Go ahead and type your message ...\n"
 msgstr "Auf geht's - Botschaft eintippen ...\n"
 
-#: g10/decrypt.c:59 g10/g10.c:1239 g10/verify.c:66
+#: g10/decrypt.c:59 g10/g10.c:1251 g10/verify.c:66
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "'%s' kann nicht geöffnet werden\n"
 
+#: g10/g10.c:1418
+msgid ""
+"the first character of a notation name must be a letter or an underscore\n"
+msgstr ""
+"Das erste Zeichen eines \"notation\"-Namens muß ein Buchstabe oder\n"
+"ein Unterstrich sein\n"
+
+#: g10/g10.c:1424
+msgid ""
+"a notation name must have only letters, digits, dots or underscores and end "
+"with an '='\n"
+msgstr ""
+"Ein \"notation\"-Name darf nur Buchstaben, Zahlen, Punkte oder Unterstriche "
+"enthalten und muß mit einem '=' enden\n"
+
+#: g10/g10.c:1430
+msgid "dots in a notation name must be surrounded by other characters\n"
+msgstr "Punkte in einem \"notation\"-Namen müssen von anderen Zeichen umgeben sein\n"
+
+#: g10/g10.c:1438
+msgid "a notation value must not use any control characters\n"
+msgstr "Ein \"notation\"-Wert darf keine Kontrollzeichen verwenden\n"
+
 #: g10/armor.c:296
 #, c-format
 msgid "armor: %s\n"
@@ -1287,7 +1326,7 @@ msgstr ""
 "Sie benötigen ein Mantra, um den geheimen Schlüssel zu schützen.\n"
 "\n"
 
-#: g10/keyedit.c:433 g10/keygen.c:748
+#: g10/keyedit.c:455 g10/keygen.c:748
 msgid "passphrase not correctly repeated; try again.\n"
 msgstr "Mantra wurde nicht richtig wiederholt; noch einmal versuchen.\n"
 
@@ -1356,7 +1395,7 @@ msgstr ""
 msgid "Key generation failed: %s\n"
 msgstr "Schlüsselerzeugung fehlgeschlagen: %s\n"
 
-#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:52
+#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -1364,7 +1403,7 @@ msgstr ""
 "Der Schlüssel wurde %lu Sekunde in der Zukunft erzeugt (Zeitreise oder Uhren "
 "stimmen nicht überein)\n"
 
-#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:54
+#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -1436,7 +1475,7 @@ msgstr ""
 "der Zweitschlüssel %08lX wird anstelle des Hauptschlüssels %08lX verwendet\n"
 
 #: g10/import.c:116
-#, fuzzy, c-format
+#, c-format
 msgid "can't open `%s': %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
@@ -1451,9 +1490,9 @@ msgid "%lu keys so far processed\n"
 msgstr "%lu Schlüssel bislang bearbeitet\n"
 
 #: g10/import.c:172
-#, fuzzy, c-format
+#, c-format
 msgid "error reading `%s': %s\n"
-msgstr "Fehler beim Lesen des Schl.Satzes: %s\n"
+msgstr "Fehler beim Lesen von `%s': %s\n"
 
 #: g10/import.c:175
 #, c-format
@@ -1533,20 +1572,20 @@ msgstr "Schl
 msgid "no default public keyring\n"
 msgstr "Kein voreingestellter öffentlicher Schlüsselbund\n"
 
-#: g10/import.c:376 g10/openfile.c:117 g10/sign.c:215 g10/sign.c:501
+#: g10/import.c:376 g10/openfile.c:117 g10/sign.c:268 g10/sign.c:559
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "Schreiben nach '%s'\n"
 
-#: g10/import.c:379 g10/import.c:435
-#, fuzzy
-msgid "can't lock keyring `%': %s\n"
-msgstr "kann öffentlichen Schlüsselbund nicht sperren: %s\n"
+#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645
+#, c-format
+msgid "can't lock keyring `%s': %s\n"
+msgstr "kann Schlüsselbund `%s' nicht sperren: %s\n"
 
-#: g10/import.c:382
-#, fuzzy
-msgid "error writing keyring `%': %s\n"
-msgstr "%s: Fehler beim Schreiben des Versionsatzes: %s\n"
+#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648
+#, c-format
+msgid "error writing keyring `%s': %s\n"
+msgstr "Fehler beim Schreiben des Schlüsselbundes `%s': %s\n"
 
 #: g10/import.c:387
 #, c-format
@@ -1571,11 +1610,6 @@ msgid "key %08lX: can't read original keyblock: %s\n"
 msgstr ""
 "Schlüssel %08lX: Lesefehler im lokalen originalen Schlüsselblocks: %s\n"
 
-#: g10/import.c:438 g10/import.c:547 g10/import.c:648
-#, fuzzy, c-format
-msgid "error writing keyring `%s': %s\n"
-msgstr "%s: Fehler beim Schreiben des Versionsatzes: %s\n"
-
 #: g10/import.c:444
 #, c-format
 msgid "key %08lX: 1 new user-id\n"
@@ -1611,11 +1645,6 @@ msgstr "Schl
 msgid "key %08lX: not changed\n"
 msgstr "Schlüssel %08lX: Nicht geändert\n"
 
-#: g10/import.c:544 g10/import.c:645
-#, fuzzy, c-format
-msgid "can't lock keyring `%s': %s\n"
-msgstr "kann öffentlichen Schlüsselbund nicht sperren: %s\n"
-
 #: g10/import.c:552
 #, c-format
 msgid "key %08lX: secret key imported\n"
@@ -1706,7 +1735,7 @@ msgstr "Schl
 #: g10/import.c:915
 #, c-format
 msgid "key %08lX: duplicated user ID detected - merged\n"
-msgstr ""
+msgstr "Schlüssel %08lX: Doppelte User-ID entdeckt - zusammengeführt\n"
 
 #: g10/import.c:966
 #, c-format
@@ -1718,68 +1747,68 @@ msgstr "Schl
 msgid "key %08lX: our copy has no self-signature\n"
 msgstr "Schlüssel %08lX: Unsere Kopie hat keine Eigenbeglaubigung\n"
 
-#: g10/keyedit.c:91
+#: g10/keyedit.c:92
 #, c-format
 msgid "%s: user not found\n"
 msgstr "%s: Benutzer nicht gefunden\n"
 
-#: g10/keyedit.c:177
+#: g10/keyedit.c:153
 msgid "[revocation]"
 msgstr "[Widerruf]"
 
-#: g10/keyedit.c:178
+#: g10/keyedit.c:154
 msgid "[self-signature]"
 msgstr "[Eigenbeglaubigung]"
 
-#: g10/keyedit.c:196
+#: g10/keyedit.c:218
 msgid "1 bad signature\n"
 msgstr "1 falsche Beglaubigung\n"
 
-#: g10/keyedit.c:198
+#: g10/keyedit.c:220
 #, c-format
 msgid "%d bad signatures\n"
 msgstr "%d falsche Beglaubigungen\n"
 
-#: g10/keyedit.c:200
+#: g10/keyedit.c:222
 msgid "1 signature not checked due to a missing key\n"
 msgstr "1 Beglaubigung wegen fehlendem Schlüssel nicht geprüft\n"
 
-#: g10/keyedit.c:202
+#: g10/keyedit.c:224
 #, c-format
 msgid "%d signatures not checked due to missing keys\n"
 msgstr "%d Beglaubigungen wegen fehlenden Schlüsseln nicht geprüft\n"
 
-#: g10/keyedit.c:204
+#: g10/keyedit.c:226
 msgid "1 signature not checked due to an error\n"
 msgstr "1 Beglaubigung aufgrund von Fehler nicht geprüft\n"
 
-#: g10/keyedit.c:206
+#: g10/keyedit.c:228
 #, c-format
 msgid "%d signatures not checked due to errors\n"
 msgstr "%d Beglaubigungen aufgrund von Fehlern nicht geprüft\n"
 
-#: g10/keyedit.c:208
+#: g10/keyedit.c:230
 msgid "1 user id without valid self-signature detected\n"
 msgstr "Eine User-ID ohne gültige Eigenbeglaubigung entdeckt\n"
 
-#: g10/keyedit.c:210
+#: g10/keyedit.c:232
 #, c-format
 msgid "%d user ids without valid self-signatures detected\n"
 msgstr "%d User-IDs ohne gültige Eigenbeglaubigung entdeckt\n"
 
 #. Fixme: see whether there is a revocation in which
 #. * case we should allow to sign it again.
-#: g10/keyedit.c:290
+#: g10/keyedit.c:312
 #, c-format
 msgid "Already signed by key %08lX\n"
 msgstr "Ist bereits durch Schlüssel %08lX beglaubigt.\n"
 
-#: g10/keyedit.c:298
+#: g10/keyedit.c:320
 #, c-format
 msgid "Nothing to sign with key %08lX\n"
 msgstr "Nichts zu beglaubigen für Schlüssel %08lX\n"
 
-#: g10/keyedit.c:307
+#: g10/keyedit.c:329
 msgid ""
 "Are you really sure that you want to sign this key\n"
 "with your key: \""
@@ -1787,7 +1816,7 @@ msgstr ""
 "Sind Sie wirklich sicher, daß Sie vorstehenden Schlüssel mit Ihrem\n"
 "Schlüssel beglaubigen wollen: \""
 
-#: g10/keyedit.c:316
+#: g10/keyedit.c:338
 msgid ""
 "The signature will be marked as non-exportable.\n"
 "\n"
@@ -1795,29 +1824,29 @@ msgstr ""
 "Die Unterschrift wird als nicht exportfähig markiert werden.\n"
 "\n"
 
-#: g10/keyedit.c:321
+#: g10/keyedit.c:343
 msgid "Really sign? "
 msgstr "Wirklich unterschreiben? "
 
-#: g10/keyedit.c:347 g10/keyedit.c:1688 g10/keyedit.c:1737 g10/sign.c:75
+#: g10/keyedit.c:369 g10/keyedit.c:1779 g10/keyedit.c:1828 g10/sign.c:128
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Beglaubigung fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:400
+#: g10/keyedit.c:422
 msgid "This key is not protected.\n"
 msgstr "Dieser Schlüssel ist nicht geschützt.\n"
 
-#: g10/keyedit.c:403
+#: g10/keyedit.c:425
 msgid "Key is protected.\n"
 msgstr "Schlüssel ist geschützt.\n"
 
-#: g10/keyedit.c:420
+#: g10/keyedit.c:442
 #, c-format
 msgid "Can't edit this key: %s\n"
 msgstr "Dieser Schlüssel kann nicht editiert werden: %s\n"
 
-#: g10/keyedit.c:425
+#: g10/keyedit.c:447
 msgid ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
@@ -1825,7 +1854,7 @@ msgstr ""
 "Geben Sie das neue Mantra für diesen geheimen Schlüssel ein.\n"
 "\n"
 
-#: g10/keyedit.c:437
+#: g10/keyedit.c:459
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
@@ -1833,341 +1862,369 @@ msgstr ""
 "Sie wollen kein Mantra - dies ist bestimmt *keine* gute Idee!\n"
 "\n"
 
-#: g10/keyedit.c:440
+#: g10/keyedit.c:462
 msgid "Do you really want to do this? "
 msgstr "Möchten Sie dies wirklich tun? "
 
-#: g10/keyedit.c:501
+#: g10/keyedit.c:523
 msgid "moving a key signature to the correct place\n"
 msgstr "schiebe eine Beglaubigung an die richtige Stelle\n"
 
-#: g10/keyedit.c:537
-msgid "quit"
-msgstr "quit"
-
-#: g10/keyedit.c:537
+#: g10/keyedit.c:559
 msgid "quit this menu"
 msgstr "Menü verlassen"
 
-#: g10/keyedit.c:538
+#: g10/keyedit.c:560
 msgid "q"
 msgstr "q"
 
-#: g10/keyedit.c:539
+#: g10/keyedit.c:561
 msgid "save"
 msgstr "save"
 
-#: g10/keyedit.c:539
+#: g10/keyedit.c:561
 msgid "save and quit"
 msgstr "speichern und Menü verlassen"
 
-#: g10/keyedit.c:540
+#: g10/keyedit.c:562
 msgid "help"
 msgstr "help"
 
-#: g10/keyedit.c:540
+#: g10/keyedit.c:562
 msgid "show this help"
 msgstr "Diese Hilfe zeigen"
 
-#: g10/keyedit.c:542
+#: g10/keyedit.c:564
 msgid "fpr"
 msgstr "fpr"
 
-#: g10/keyedit.c:542
+#: g10/keyedit.c:564
 msgid "show fingerprint"
 msgstr "\"Fingerabdruck\" anzeigen"
 
-#: g10/keyedit.c:543
+#: g10/keyedit.c:565
 msgid "list"
 msgstr "Liste der Schlüssel"
 
-#: g10/keyedit.c:543
+#: g10/keyedit.c:565
 msgid "list key and user ids"
 msgstr "Schlüssel und User-ID auflisten"
 
-#: g10/keyedit.c:544
+#: g10/keyedit.c:566
 msgid "l"
 msgstr "l"
 
-#: g10/keyedit.c:545
+#: g10/keyedit.c:567
 msgid "uid"
 msgstr "uid"
 
-#: g10/keyedit.c:545
+#: g10/keyedit.c:567
 msgid "select user id N"
 msgstr "User-ID N auswählen"
 
-#: g10/keyedit.c:546
+#: g10/keyedit.c:568
 msgid "key"
 msgstr "key"
 
-#: g10/keyedit.c:546
+#: g10/keyedit.c:568
 msgid "select secondary key N"
 msgstr "Zweitschlüssel N auswählen"
 
-#: g10/keyedit.c:547
+#: g10/keyedit.c:569
 msgid "check"
 msgstr "check"
 
-#: g10/keyedit.c:547
+#: g10/keyedit.c:569
 msgid "list signatures"
 msgstr "Liste der Signaturen"
 
-#: g10/keyedit.c:548
+#: g10/keyedit.c:570
 msgid "c"
 msgstr "c"
 
-#: g10/keyedit.c:549
+#: g10/keyedit.c:571
 msgid "sign"
 msgstr "sign"
 
-#: g10/keyedit.c:549
+#: g10/keyedit.c:571
 msgid "sign the key"
 msgstr "Den Schlüssel signieren"
 
-#: g10/keyedit.c:550
+#: g10/keyedit.c:572
 msgid "s"
 msgstr "s"
 
-#: g10/keyedit.c:551
+#: g10/keyedit.c:573
 msgid "lsign"
 msgstr "lsign"
 
-#: g10/keyedit.c:551
+#: g10/keyedit.c:573
 msgid "sign the key locally"
 msgstr "Den Schlüssel nur auf diesem Rechner signieren"
 
-#: g10/keyedit.c:552
+#: g10/keyedit.c:574
 msgid "debug"
 msgstr "debug"
 
-#: g10/keyedit.c:553
+#: g10/keyedit.c:575
 msgid "adduid"
 msgstr "adduid"
 
-#: g10/keyedit.c:553
+#: g10/keyedit.c:575
 msgid "add a user id"
 msgstr "Eine User-ID hinzufügen"
 
-#: g10/keyedit.c:554
+#: g10/keyedit.c:576
 msgid "deluid"
 msgstr "deluid"
 
-#: g10/keyedit.c:554
+#: g10/keyedit.c:576
 msgid "delete user id"
 msgstr "User-ID entfernen"
 
-#: g10/keyedit.c:555
+#: g10/keyedit.c:577
 msgid "addkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:555
+#: g10/keyedit.c:577
 msgid "add a secondary key"
 msgstr "Einen Zweitschlüssel hinzufügen"
 
-#: g10/keyedit.c:556
+#: g10/keyedit.c:578
 msgid "delkey"
 msgstr "delkey"
 
-#: g10/keyedit.c:556
+#: g10/keyedit.c:578
 msgid "delete a secondary key"
 msgstr "Einen Zweitschlüssel entfernen"
 
-#: g10/keyedit.c:557
+#: g10/keyedit.c:579
+msgid "delsig"
+msgstr "delsig"
+
+#: g10/keyedit.c:579
+msgid "delete signatures"
+msgstr "Signatur entfernen"
+
+#: g10/keyedit.c:580
 msgid "expire"
 msgstr "expire"
 
-#: g10/keyedit.c:557
+#: g10/keyedit.c:580
 msgid "change the expire date"
 msgstr "Ändern des Verfallsdatums"
 
-#: g10/keyedit.c:558
+#: g10/keyedit.c:581
 msgid "toggle"
 msgstr "toggle"
 
-#: g10/keyedit.c:558
+#: g10/keyedit.c:581
 msgid "toggle between secret and public key listing"
 msgstr "Umschalten zwischen Anzeige geheimer und öffentlicher Schlüssel"
 
-#: g10/keyedit.c:560
+#: g10/keyedit.c:583
 msgid "t"
 msgstr "t"
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:584
 msgid "pref"
 msgstr "pref"
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:584
 msgid "list preferences"
 msgstr "Liste der Voreinstellungen"
 
-#: g10/keyedit.c:562
+#: g10/keyedit.c:585
 msgid "passwd"
 msgstr "passwd"
 
-#: g10/keyedit.c:562
+#: g10/keyedit.c:585
 msgid "change the passphrase"
 msgstr "Das Mantra ändern"
 
-#: g10/keyedit.c:563
+#: g10/keyedit.c:586
 msgid "trust"
 msgstr "trust"
 
-#: g10/keyedit.c:563
+#: g10/keyedit.c:586
 msgid "change the ownertrust"
 msgstr "Den \"Owner trust\" ändern"
 
-#: g10/keyedit.c:564
-#, fuzzy
+#: g10/keyedit.c:587
 msgid "revsig"
-msgstr "sign"
+msgstr "revsig"
 
-#: g10/keyedit.c:564
+#: g10/keyedit.c:587
 msgid "revoke signatures"
 msgstr "Signaturen widerrufen"
 
-#: g10/keyedit.c:565
-#, fuzzy
+#: g10/keyedit.c:588
 msgid "revkey"
-msgstr "key"
+msgstr "revkey"
 
-#: g10/keyedit.c:565
+#: g10/keyedit.c:588
 msgid "revoke a secondary key"
 msgstr "Einen Zweitschlüssel widerrufen"
 
-#: g10/keyedit.c:584
+#: g10/keyedit.c:607
 msgid "can't do that in batchmode\n"
 msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n"
 
 #. check that they match
 #. FIXME: check that they both match
-#: g10/keyedit.c:613
+#: g10/keyedit.c:636
 msgid "Secret key is available.\n"
 msgstr "Geheimer Schlüssel ist vorhanden.\n"
 
-#: g10/keyedit.c:642
+#: g10/keyedit.c:665
 msgid "Command> "
 msgstr "Befehl> "
 
-#: g10/keyedit.c:669
+#: g10/keyedit.c:692
 msgid "Need the secret key to do this.\n"
 msgstr "Hierzu wird der geheime Schlüssel benötigt.\n"
 
-#: g10/keyedit.c:691
+#: g10/keyedit.c:714
 msgid "Save changes? "
 msgstr "Änderungen speichern? "
 
-#: g10/keyedit.c:694
+#: g10/keyedit.c:717
 msgid "Quit without saving? "
 msgstr "Beenden ohne zu speichern? "
 
-#: g10/keyedit.c:704
+#: g10/keyedit.c:727
 #, c-format
 msgid "update failed: %s\n"
 msgstr "Änderung fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:711
+#: g10/keyedit.c:734
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "Änderung des Geheimnisses fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:718
+#: g10/keyedit.c:741
 msgid "Key not changed so no update needed.\n"
 msgstr "Schlüssel ist nicht geändert worden, also ist kein Speichern nötig.\n"
 
-#: g10/keyedit.c:721 g10/keyedit.c:780
+#: g10/keyedit.c:744 g10/keyedit.c:803
 #, c-format
 msgid "update of trustdb failed: %s\n"
 msgstr "Änderung der \"Trust-DB\" fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:754
+#: g10/keyedit.c:777
 msgid "Really sign all user ids? "
 msgstr "Wirklich alle User-IDs beglaubigen? "
 
-#: g10/keyedit.c:755
+#: g10/keyedit.c:778
 msgid "Hint: Select the user ids to sign\n"
 msgstr "Tip: Wählen Sie die User-ID, die beglaubigt werden soll\n"
 
-#: g10/keyedit.c:791
+#: g10/keyedit.c:814 g10/keyedit.c:835
 msgid "You must select at least one user id.\n"
 msgstr "Zumindestens eine User-ID muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:793
+#: g10/keyedit.c:816
 msgid "You can't delete the last user id!\n"
 msgstr "Die letzte User-ID kann nicht gelöscht werden!\n"
 
-#: g10/keyedit.c:796
+#: g10/keyedit.c:819
 msgid "Really remove all selected user ids? "
 msgstr "Möchten Sie alle ausgewählten User-IDs wirklich entfernen? "
 
-#: g10/keyedit.c:797
+#: g10/keyedit.c:820
 msgid "Really remove this user id? "
 msgstr "Diese User-ID wirklich entfernen? "
 
-#: g10/keyedit.c:820 g10/keyedit.c:842
+#: g10/keyedit.c:856 g10/keyedit.c:878
 msgid "You must select at least one key.\n"
 msgstr "Zumindestens ein Schlüssel muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:824
+#: g10/keyedit.c:860
 msgid "Do you really want to delete the selected keys? "
 msgstr "Möchten Sie die ausgewählten Schlüssel wirklich entfernen? "
 
-#: g10/keyedit.c:825
+#: g10/keyedit.c:861
 msgid "Do you really want to delete this key? "
 msgstr "Möchten Sie diesen Schlüssel wirklich entfernen? "
 
-#: g10/keyedit.c:846
+#: g10/keyedit.c:882
 msgid "Do you really want to revoke the selected keys? "
 msgstr "Möchten Sie die ausgewählten Schlüssel wirklich widerrufen? "
 
-#: g10/keyedit.c:847
+#: g10/keyedit.c:883
 msgid "Do you really want to revoke this key? "
 msgstr "Möchten Sie diesen Schlüssel wirklich wiederrufen? "
 
-#: g10/keyedit.c:901
+#: g10/keyedit.c:937
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n"
 
-#: g10/keyedit.c:1293
+#: g10/keyedit.c:1289
+msgid "Delete this good signature? (y/N/q)"
+msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)"
+
+#: g10/keyedit.c:1292
+msgid "Delete this invalid signature? (y/N/q)"
+msgstr "Diese ungültige Beglaubigung entfernen= (j/N/q)"
+
+#: g10/keyedit.c:1297
+msgid "Really delete this self-signature? (y/N)"
+msgstr "Eigenbeglaubigung wirklich entfernen? (j/N)"
+
+#: g10/keyedit.c:1311
+#, c-format
+msgid "Deleted %d signature.\n"
+msgstr "%d Beglaubigungen entfernt.\n"
+
+#: g10/keyedit.c:1312
+#, c-format
+msgid "Deleted %d signatures.\n"
+msgstr "%d Beglaubigungen entfernt.\n"
+
+#: g10/keyedit.c:1315
+msgid "Nothing deleted.\n"
+msgstr "Nichts entfernt.\n"
+
+#: g10/keyedit.c:1384
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Bitte entfernen Sie die Auswahl von den geheimen Schlüsseln.\n"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1390
 msgid "Please select at most one secondary key.\n"
 msgstr "Bitte wählen Sie höchstens einen Zweitschlüssel aus.\n"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1394
 msgid "Changing exiration time for a secondary key.\n"
 msgstr "Ändern des Verfallsdatums des Zweitschlüssels.\n"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1396
 msgid "Changing exiration time for the primary key.\n"
 msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n"
 
-#: g10/keyedit.c:1346
+#: g10/keyedit.c:1437
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Sie können das Verfallsdatum eines v3-Schlüssels nicht ändern\n"
 
-#: g10/keyedit.c:1362
+#: g10/keyedit.c:1453
 msgid "No corresponding signature in secret ring\n"
 msgstr "Keine entsprechende Signatur im geheimen Schlüsselbund\n"
 
-#: g10/keyedit.c:1422
+#: g10/keyedit.c:1513
 #, c-format
 msgid "No user id with index %d\n"
 msgstr "Keine User-ID mit Index %d\n"
 
-#: g10/keyedit.c:1468
+#: g10/keyedit.c:1559
 #, c-format
 msgid "No secondary key with index %d\n"
 msgstr "Kein Zweitschlüssel mit Index %d\n"
 
-#: g10/keyedit.c:1566
+#: g10/keyedit.c:1657
 msgid "user ID: \""
 msgstr "User-ID: \""
 
-#: g10/keyedit.c:1569
-#, fuzzy, c-format
+#: g10/keyedit.c:1660
+#, c-format
 msgid ""
 "\"\n"
 "signed with your key %08lX at %s\n"
@@ -2175,15 +2232,15 @@ msgstr ""
 "\"\n"
 "unterschrieben mit Ihrem Schlüssel %08lX um %s\n"
 
-#: g10/keyedit.c:1573
+#: g10/keyedit.c:1664
 msgid "Create a revocation certificate for this signature? (y/N)"
 msgstr "Ein Widerrufszertifikat für diese Unterschrift erzeugen (j/N)"
 
-#: g10/keyedit.c:1653
+#: g10/keyedit.c:1744
 msgid "Really create the revocation certificates? (y/N)"
 msgstr "Wirklich ein Unterschrift-Widerrufszertifikat erzeugen? (j/N) "
 
-#: g10/keyedit.c:1676
+#: g10/keyedit.c:1767
 msgid "no secret key\n"
 msgstr "Kein geheimer Schlüssel\n"
 
@@ -2228,39 +2285,51 @@ msgstr ""
 msgid "original file name='%.*s'\n"
 msgstr "Ursprünglicher Dateiname='%.*s'\n"
 
-#: g10/mainproc.c:890
+#: g10/mainproc.c:505 g10/mainproc.c:514
+msgid "WARNING: invalid notation data found\n"
+msgstr "WARNUNG: Ungültige \"Notation\"-Daten gefunden\n"
+
+#: g10/mainproc.c:517
+msgid "Notation: "
+msgstr "\"Notation\": "
+
+#: g10/mainproc.c:524
+msgid "Policy: "
+msgstr "Richtlinie: "
+
+#: g10/mainproc.c:929
 msgid "signature verification suppressed\n"
 msgstr "Unterschriften-Überprüfung unterdrückt\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:896
+#: g10/mainproc.c:935
 #, c-format
 msgid "Signature made %.*s using %s key ID %08lX\n"
 msgstr "Unterschrift vom %.*s, %s Schlüssel ID %08lX\n"
 
 #. just in case that we have no userid
-#: g10/mainproc.c:922 g10/mainproc.c:933
+#: g10/mainproc.c:961 g10/mainproc.c:972
 msgid "BAD signature from \""
 msgstr "FALSCHE Unterschrift von \""
 
-#: g10/mainproc.c:923 g10/mainproc.c:934
+#: g10/mainproc.c:962 g10/mainproc.c:973
 msgid "Good signature from \""
 msgstr "Korrekte Unterschrift von \""
 
-#: g10/mainproc.c:925
+#: g10/mainproc.c:964
 msgid "                aka \""
 msgstr "                    alias \""
 
-#: g10/mainproc.c:975
+#: g10/mainproc.c:1015
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Unterschrift kann nicht geprüft werden: %s\n"
 
-#: g10/mainproc.c:1056
+#: g10/mainproc.c:1096
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Unterschrift nach alter (PGP 2.x) Art\n"
 
-#: g10/mainproc.c:1061
+#: g10/mainproc.c:1101
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "ungültiges root-Paket in proc_tree() entdeckt\n"
 
@@ -2296,7 +2365,7 @@ msgstr ""
 msgid "can't handle public key algorithm %d\n"
 msgstr "dieses Public-Key Verfahren %d kann nicht benutzt werden\n"
 
-#: g10/parse-packet.c:872
+#: g10/parse-packet.c:931
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "Im Unterpaket des Typs %d ist das \"critical bit\" gesetzt\n"
@@ -2415,21 +2484,21 @@ msgid "assuming bad signature due to an unknown critical bit\n"
 msgstr ""
 "Vermutlich eine FALSCHE Unterschrift, wegen unbekanntem \"critical bit\"\n"
 
-#: g10/sign.c:79
+#: g10/sign.c:132
 #, c-format
 msgid "%s signature from: %s\n"
 msgstr "%s Unterschrift von: %s\n"
 
-#: g10/sign.c:210 g10/sign.c:496
+#: g10/sign.c:263 g10/sign.c:554
 #, c-format
 msgid "can't create %s: %s\n"
 msgstr "%s kann nicht erzeugt werden: %s\n"
 
-#: g10/sign.c:306
+#: g10/sign.c:361
 msgid "signing:"
 msgstr "unterschreibe:"
 
-#: g10/sign.c:346
+#: g10/sign.c:401
 #, c-format
 msgid "WARNING: `%s' is an empty file\n"
 msgstr "WARNUNG: '%s' ist eine leere Datei.\n"
@@ -3265,10 +3334,47 @@ msgid "keyedit.remove.subkey.okay"
 msgstr ""
 "Geben Sie \"Ja\" (oder nur \"j\") ein, um diesen Unterschlüssel zu löschen"
 
+# ("keyedit.delsig.valid"),
+# "This is a valid signature on the key; you normally don't want\n"
+# "to delete this signature may be important to establish a trust\n"
+# "connection to the key or another key certified by this key."
+#: g10/helptext.c:176  
+msgid "keyedit.delsig.valid"
+msgstr ""
+"Dies ist eine gültige Beglaubigung für den Schlüssel. Es ist normalerweise\n"
+"unnötig sie zu löschen. Sie ist möglicherweise sogar notwendig, um einen\n"
+"Trust-Weg zu diesem oder einem durch diesen Schlüssel beglaubigten Schlüssel\n"
+"herzustellen"
+
+# ("keyedit.delsig.invalid"),
+# "The signature is not valid.  It does make sense to remove it from\n"
+# "your keyring if it is really invalid and not just unchecked due to\n"
+# "a missing public key (marked by \"sig?\")."
+#: g10/helptext.c:181
+msgid "keyedit.delsig.invalid"
+msgstr "Diese Beglaubigung ist ungültig. Es ist sinnvoll sie aus Ihrem\n"
+"Schlüsselbund zu entfernen, sofern sie wirklich ungültig ist und nicht nur\n"
+"wegen eines fehlenden öff.Schlüssel (\"sig?\") unkontrollierbar ist."
+
+# ("keyedit.delsig.selfsig")
+# "This is a signature which binds the user ID to the key. It is\n"
+# "usually not a good idea to remove such a signature.  Actually\n"
+# "GnuPG might not be able to use this key anymore.  So do this\n"
+# "only if this self-signature is for some reason not valid and\n"
+# "a second one is available."
+#: g10/helptext.c:186
+msgid "keyedit.delsig.selfsig"
+msgstr ""
+"Diese Beglaubigung bindet die User-ID an den Schlüssel. Normalerweise ist\n"
+"es nicht gut, solche Beglaubigungen zu entfernen. Um ehrlich zu sein:\n"
+"Es kann sein, daß GnuPG solche Schlüssel gar nicht mehr benutzen kann.\n"
+"Sie sollten diese Eigenbeglaubigung also nur dann entfernen, wenn sie aus\n"
+"irgendeinem Grund nicht gültig ist und eine zweite Beglaubigung verfügbar ist."
+
 # ################################
 # ####### Help msgids ############
 # ################################
-#: g10/helptext.c:175
+#: g10/helptext.c:195
 msgid "passphrase.enter"
 msgstr ""
 "Bitte geben Sie das Mantra ein. Dies ist ein geheimer Satz, der aus\n"
@@ -3279,11 +3385,10 @@ msgstr ""
 "bekannte Texte sind eine SCHLECHTE Wahl, da diese mit Sicherheit online\n"
 "verfügbar sind und durch entsprechende Programme zum Raten des Mantras\n"
 "benutzt werden.  Sätze mit persönlicher Bedeutung, die auch noch durch\n"
-"falsche Groß-/Kleinschreibung und eingestreute Sonderzeichen verändert "
-"werden,\n"
+"falsche Groß-/Kleinschreibung und eingestreute Sonderzeichen verändert werden,\n"
 "sind i.d.R. eine gute Wahl"
 
-#: g10/helptext.c:182
+#: g10/helptext.c:202
 msgid "passphrase.repeat"
 msgstr ""
 "Um sicher zu gehen, daß Sie sich bei der Eingabe des Mantras nicht\n"
@@ -3291,21 +3396,21 @@ msgstr ""
 "übereinstimmen, wird das Mantra akzeptiert."
 
 # "Give the name fo the file to which the signature applies"
-#: g10/helptext.c:186
+#: g10/helptext.c:206
 msgid "detached_signature.filename"
 msgstr ""
 "Geben Sie den Namen der Datei an, zu dem die abgetrennte Unterschrift gehört"
 
 # "Answer \"yes\" if it is okay to overwrite the file"
-#: g10/helptext.c:190
+#: g10/helptext.c:210
 msgid "openfile.overwrite.okay"
 msgstr "Geben Sie \"ja\" ein, wenn Sie die Datei überschreiben möchten"
 
-#: g10/helptext.c:204
+#: g10/helptext.c:224
 msgid "No help available"
 msgstr "Keine Hilfe vorhanden."
 
-#: g10/helptext.c:216
+#: g10/helptext.c:236
 #, c-format
 msgid "No help available for `%s'"
 msgstr "Keine Hilfe für '%s' vorhanden."
index 85ac9b7..380831b 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,22 +5,16 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnupg-0.9.2\n"
+"Project-Id-Version: gnupg-0.9.7\n"
 "POT-Creation-Date: 1999-05-23 15:36+0200\n"
-"PO-Revision-Date: 1999-01-26 01:30+01:00\n"
+"PO-Revision-Date: 1999-05-30 19:08+02:00\n"
 "Last-Translator: Janusz A. Urbanowicz <alex@bofh.net.pl>\n"
 "Language-Team: Polish <pl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Xgettext-Options: --default-domain=gnupg --directory=.. --add-comments "
-"--keywor\\d=_ --keyword=N_ --files-from=./POTFILES.in\n"
-"Files: util/secmem.c util/argparse.c cipher/random.c cipher/rand-dummy.c "
-"cipher\\/rand-unix.c cipher/rand-w32.c g10/g10.c g10/pkclist.c g10/keygen.c "
-"g10/decrypt\\.c g10/encode.c g10/import.c g10/keyedit.c g10/keylist.c "
-"g10/mainproc.c g10/pas\\sphrase.c g10/plaintext.c g10/pref.c "
-"g10/seckey-cert.c g10/sig-check.c g10/sign\\.c g10/trustdb.c g10/verify.c "
-"g10/status.c g10/pubkey-enc.c\n"
+"Xgettext-Options: --default-domain=gnupg --directory=.. --add-comments --keywor\\d=_ --keyword=N_ --files-from=./POTFILES.in\n"
+"Files: util/secmem.c util/argparse.c cipher/random.c cipher/rand-dummy.c cipher\\/rand-unix.c cipher/rand-w32.c g10/g10.c g10/pkclist.c g10/keygen.c g10/decrypt\\.c g10/encode.c g10/import.c g10/keyedit.c g10/keylist.c g10/mainproc.c g10/pas\\sphrase.c g10/plaintext.c g10/pref.c g10/seckey-cert.c g10/sig-check.c g10/sign\\.c g10/trustdb.c g10/verify.c g10/status.c g10/pubkey-enc.c\n"
 
 #: util/secmem.c:76
 msgid "Warning: using insecure memory!\n"
@@ -28,11 +22,11 @@ msgstr "Ostrze
 
 #: util/secmem.c:249
 msgid "operation is not possible without initialized secure memory\n"
-msgstr ""
+msgstr "operacja niemo¿liwa do wykonania bez dostêpnej pamiêci bezpiecznej\n"
 
 #: util/secmem.c:250
 msgid "(you may have used the wrong program for this task)\n"
-msgstr ""
+msgstr "(prawdopodobnie u¿ywany program jest niew³a¶ciwy dlatego zadania)\n"
 
 #: util/miscutil.c:156
 msgid "yes"
@@ -152,7 +146,7 @@ msgstr "algorytm szyfrowania z kluczem publicznym nie jest zaimplementowany"
 
 #: util/errors.c:81
 msgid "unimplemented cipher algorithm"
-msgstr "algorytm szyfruj±cy nie jest zaimplementowany."
+msgstr "algorytm szyfruj±cy nie jest zaimplementowany"
 
 #: util/errors.c:82
 msgid "unknown signature class"
@@ -224,16 +218,15 @@ msgstr "niepoprawny URI"
 
 #: util/errors.c:99
 msgid "unsupported URI"
-msgstr "URI nie obs³ugiwanego typu"
+msgstr "URI typu nie obs³ugiwanego"
 
 #: util/errors.c:100
 msgid "network error"
 msgstr "b³±d sieci"
 
 #: util/errors.c:102
-#, fuzzy
 msgid "not encrypted"
-msgstr "%s zaszyfrowane dane\n"
+msgstr "nie zaszyfrowany"
 
 #: util/logger.c:218
 #, c-format
@@ -362,13 +355,12 @@ msgid "export keys to a key server"
 msgstr "eksport kluczy do serwera kluczy"
 
 #: g10/g10.c:187
-#, fuzzy
 msgid "import keys from a key server"
-msgstr "eksport kluczy do serwera kluczy"
+msgstr "import kluczy z serwera kluczy"
 
 #: g10/g10.c:190
 msgid "import/merge keys"
-msgstr "do³±czanie klucza do zbioru"
+msgstr "import/do³±czenie kluczy"
 
 #: g10/g10.c:192
 msgid "list only the sequence of packets"
@@ -396,11 +388,11 @@ msgstr "naprawa uszkodzonej Bazy Zaufania"
 
 #: g10/g10.c:202
 msgid "De-Armor a file or stdin"
-msgstr "Zdjêcie opakowania ASCII pliku lub potoku"
+msgstr "zdjêcie opakowania ASCII pliku lub potoku"
 
 #: g10/g10.c:203
 msgid "En-Armor a file or stdin"
-msgstr "Opakowanie ASCII pliku lub potoku"
+msgstr "opakowanie ASCII pliku lub potoku"
 
 #: g10/g10.c:204
 msgid "|algo [files]|print message digests"
@@ -425,9 +417,8 @@ msgid "create ascii armored output"
 msgstr "plik wynikowy w opakowaniu ASCII"
 
 #: g10/g10.c:214
-#, fuzzy
 msgid "|NAME|encrypt for NAME"
-msgstr "|NAZWA|zestaw znaków terminala NAZWA"
+msgstr "|NAZWA|szyfrowanie dla odbiorcy NAZWA"
 
 #: g10/g10.c:218
 msgid "use this user-id to sign or decrypt"
@@ -458,13 +449,12 @@ msgid "force v3 signatures"
 msgstr "wymuszenie trzeciej wersji formatu podpisów"
 
 #: g10/g10.c:226
-#, fuzzy
 msgid "always use a MDC for encryption"
-msgstr "u¿yæ tego identyfikatora do szyfrowania"
+msgstr "do szyfrowania bêdzie u¿ywany MDC"
 
 #: g10/g10.c:227
 msgid "do not make any changes"
-msgstr ""
+msgstr "pozostawienie bez zmian"
 
 #. { oInteractive, "interactive", 0, N_("prompt before overwriting") },
 #: g10/g10.c:229
@@ -481,7 +471,7 @@ msgstr "automatyczna odpowied
 
 #: g10/g10.c:232
 msgid "add this keyring to the list of keyrings"
-msgstr "dodaæ zbiór kluczy do listy"
+msgstr "dodaæ zbiór kluczy do listy u¿ywanych"
 
 #: g10/g10.c:233
 msgid "add this secret keyring to the list"
@@ -561,7 +551,7 @@ msgstr "|N|algorytm kompresji N"
 
 #: g10/g10.c:256
 msgid "throw keyid field of encrypted packets"
-msgstr "usuniêcie identyfikatorów kluczy pakietów"
+msgstr "usuniêcie identyfikatorów kluczy pakietów"
 
 #: g10/g10.c:258
 msgid ""
@@ -590,7 +580,7 @@ msgstr "B
 
 #: g10/g10.c:331
 msgid "Usage: gpg [options] [files] (-h for help)"
-msgstr "Sposób u¿ycia: gpg [opcje] [pliki] (-h podaje pomoc)"
+msgstr "Wywo³anie: gpg [opcje] [pliki] (-h podaje pomoc)"
 
 #: g10/g10.c:334
 msgid ""
@@ -612,7 +602,7 @@ msgstr ""
 
 #: g10/g10.c:413
 msgid "usage: gpg [options] "
-msgstr "sposób u¿ycia: gpg [opcje]"
+msgstr "wywo³anie: gpg [opcje]"
 
 #: g10/g10.c:453
 msgid "conflicting commands\n"
@@ -728,12 +718,12 @@ msgstr "-k[v][v][v][c] [identyfikator] [zbi
 #: g10/g10.c:1083
 #, c-format
 msgid "dearmoring failed: %s\n"
-msgstr "Usuniêcie opakowania ASCII nie powiod³o siê: %s\n"
+msgstr "usuniêcie opakowania ASCII nie powiod³o siê: %s\n"
 
 #: g10/g10.c:1091
 #, c-format
 msgid "enarmoring failed: %s\n"
-msgstr "Opakowywanie ASCII nie powiod³o siê: %s\n"
+msgstr "opakowywanie ASCII nie powiod³o siê: %s\n"
 
 #: g10/g10.c:1157
 #, c-format
@@ -760,7 +750,7 @@ msgstr "opakowanie: %s\n"
 
 #: g10/armor.c:319
 msgid "invalid armor header: "
-msgstr "Niepoprawny nag³ówek opakowania: "
+msgstr "niepoprawny nag³ówek opakowania: "
 
 #: g10/armor.c:326
 msgid "armor header: "
@@ -925,9 +915,9 @@ msgid "Use this key anyway? "
 msgstr "U¿yæ tego klucza pomimo to? "
 
 #: g10/pkclist.c:291
-#, fuzzy, c-format
+#, c-format
 msgid "key %08lX: subkey has been revoked!\n"
-msgstr "klucz %08lX: klucz zosta³ uniewa¿niony!\n"
+msgstr "klucz %08lX: podklucz zosta³ uniewa¿niony!\n"
 
 #: g10/pkclist.c:321
 #, c-format
@@ -942,7 +932,7 @@ msgstr "%08lX: brak informacji aby obliczy
 #: g10/pkclist.c:341
 #, c-format
 msgid "%08lX: We do NOT trust this key\n"
-msgstr "%08lX: OSTRZE¯ENIE: Nie ufamy temu kluczowi!\n"
+msgstr "%08lX: NIE UFAMY temu kluczowi\n"
 
 #: g10/pkclist.c:347
 #, c-format
@@ -986,9 +976,8 @@ msgid "         This could mean that the signature is forgery.\n"
 msgstr "         To mo¿e oznaczaæ ¿e podpis jest fa³szerstwem.\n"
 
 #: g10/pkclist.c:459
-#, fuzzy
 msgid "WARNING: This subkey has been revoked by its owner!\n"
-msgstr "OSTRZE¯ENIE: Ten klucz zosta³ uniewa¿niony przez w³a¶ciciela!\n"
+msgstr "OSTRZE¯ENIE: Ten podklucz zosta³ uniewa¿niony przez w³a¶ciciela!\n"
 
 #: g10/pkclist.c:480
 msgid "Note: This key has expired!\n"
@@ -1006,7 +995,7 @@ msgstr ""
 
 #: g10/pkclist.c:505
 msgid "WARNING: We do NOT trust this key!\n"
-msgstr "OSTRZE¯ENIE: Nie ufamy temu kluczowi!\n"
+msgstr "OSTRZE¯ENIE: NIE UFAMY temu kluczowi!\n"
 
 #: g10/pkclist.c:506
 msgid "         The signature is probably a FORGERY.\n"
@@ -1138,16 +1127,16 @@ msgstr "D
 #. * you start a discussion with Marvin about this theme and then
 #. * do whatever you want.
 #: g10/keygen.c:466
-#, fuzzy, c-format
+#, c-format
 msgid "keysize too large; %d is largest value allowed.\n"
-msgstr "D³ugo¶æ klucza zbyt ma³a; minimalna dopuszczona wynosi 768 bitów.\n"
+msgstr "zbyt du¿y rozmiar klucza, ograniczenie wynosi %d.\n"
 
 #: g10/keygen.c:471
 msgid ""
 "Keysizes larger than 2048 are not suggested because\n"
 "computations take REALLY long!\n"
 msgstr ""
-"Klucze d³u¿sze ni¿ 2048 bitów s± odradzane poniewa¿ obliczenia\n"
+"Klucze d³u¿sze ni¿ 2048 bitów s± odradzane, poniewa¿ obliczenia\n"
 "trwaj± wtedy BARDZO d³ugo!\n"
 
 #: g10/keygen.c:474
@@ -1265,7 +1254,7 @@ msgstr "Niew
 #: g10/keygen.c:669
 #, c-format
 msgid "You are using the `%s' character set.\n"
-msgstr ""
+msgstr "U¿ywasz zestawu znaków %s.\n"
 
 #: g10/keygen.c:675
 #, c-format
@@ -1315,20 +1304,18 @@ msgstr ""
 "\n"
 
 #: g10/keygen.c:775
-#, fuzzy
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
 "disks) during the prime generation; this gives the random number\n"
 "generator a better chance to gain enough entropy.\n"
 msgstr ""
-"Program musi wygenerowaæ du¿o losowych bajtów. Dobrze by by³o, zmusiæ "
-"komputer\n"
-"do równoleg³ej pracy nad czym¶ innym (w innym oknie, wykonaæ jakie¶ ruchy\n"
-"myszk±, u¿yæ sieci albo odwo³aæ siê do dysku) podczas generacji liczb\n"
-"pierwszych; to daje komputerowi szansê zebrania dostatecznej ilo¶ci "
-"entropii\n"
-"do zasilenia generatora liczb losowych.\n"
+"Musimy wygenerowaæ du¿o losowych bajtów. Dobrym pomys³em podczas "
+"generowania\n"
+"liczb pierszych jest wykonanywanie w tym czasie innych dzia³añ (pisanie na\n"
+"klawiaturzeze, poruszanie myszk±, odwo³anie siê do dysków); dziêki temu\n"
+"generator liczb losowych ma mo¿liwo¶æ zebrania odpowiedniej ilo¶ci "
+"entropii.\n"
 
 #: g10/keygen.c:845
 msgid "Key generation can only be used in interactive mode\n"
@@ -1448,9 +1435,9 @@ msgid "using secondary key %08lX instead of primary key %08lX\n"
 msgstr "u¿ywany jest podklucz %08lX zamiast klucza g³ównego %08lX\n"
 
 #: g10/import.c:116
-#, fuzzy, c-format
+#, c-format
 msgid "can't open `%s': %s\n"
-msgstr "nie mo otworzyæ %s: %s\n"
+msgstr "nie mo¿na otworzyæ %s: %s\n"
 
 #: g10/import.c:160
 #, c-format
@@ -1463,9 +1450,9 @@ msgid "%lu keys so far processed\n"
 msgstr "%lu kluczy przetworzonych do tej chwili\n"
 
 #: g10/import.c:172
-#, fuzzy, c-format
+#, c-format
 msgid "error reading `%s': %s\n"
-msgstr "b³±d odczytu rekordu podpisu: %s\n"
+msgstr "b³±d odczytu '%s': %s\n"
 
 #: g10/import.c:175
 #, c-format
@@ -1551,14 +1538,12 @@ msgid "writing to `%s'\n"
 msgstr "zapis do '%s'\n"
 
 #: g10/import.c:379 g10/import.c:435
-#, fuzzy
 msgid "can't lock keyring `%': %s\n"
-msgstr "nie mo zablokowaæ zbioru kluczy publicznych: %s\n"
+msgstr "nie mo¿na zablokowaæ zbioru kluczy publicznych: %s\n"
 
 #: g10/import.c:382
-#, fuzzy
 msgid "error writing keyring `%': %s\n"
-msgstr "%s: b³±d zapisu numeru wersji: %s\n"
+msgstr "b³±d zapisu zbioru kluczy '%': %s\n"
 
 #: g10/import.c:387
 #, c-format
@@ -1581,9 +1566,9 @@ msgid "key %08lX: can't read original keyblock: %s\n"
 msgstr "klucz %08lX: nie mo¿na odczytaæ oryginalnego bloku klucza; %s\n"
 
 #: g10/import.c:438 g10/import.c:547 g10/import.c:648
-#, fuzzy, c-format
+#, c-format
 msgid "error writing keyring `%s': %s\n"
-msgstr "%s: b³±d zapisu numeru wersji: %s\n"
+msgstr "b³±d zapisu zbioru kluczy '%s': %s\n"
 
 #: g10/import.c:444
 #, c-format
@@ -1621,9 +1606,9 @@ msgid "key %08lX: not changed\n"
 msgstr "klucz %08lX: bez zmian\n"
 
 #: g10/import.c:544 g10/import.c:645
-#, fuzzy, c-format
+#, c-format
 msgid "can't lock keyring `%s': %s\n"
-msgstr "nie mogê zablokowaæ zbioru kluczy publicznych: %s\n"
+msgstr "nie mo¿na zablokowaæ zbioru kluczy publicznych '%s': %s\n"
 
 #: g10/import.c:552
 #, c-format
@@ -1701,11 +1686,9 @@ msgstr "klucz %08lX: podklucz pomini
 #. * the secret key used to create this signature - it
 #. * seems that this makes sense
 #: g10/import.c:798
-#, fuzzy, c-format
+#, c-format
 msgid "key %08lX: non exportable signature (class %02x) - skipped\n"
-msgstr ""
-"klucz %08lX: certyfikat uniewa¿nienia umieszczony w niew³a¶ciwym \n"
-"miejscu - zosta³ pominiêty\n"
+msgstr "klucz %08lX: podpis nieeksportowalny (klasa %02x) - pominiêty\n"
 
 #: g10/import.c:807
 #, c-format
@@ -1722,7 +1705,7 @@ msgstr "klucz %08lX: niepoprawny certyfikat uniewa
 #: g10/import.c:915
 #, c-format
 msgid "key %08lX: duplicated user ID detected - merged\n"
-msgstr ""
+msgstr "key %08lX: powtórzony identyfikator u¿ytkownika - do³±czony\n"
 
 #: g10/import.c:966
 #, c-format
@@ -1741,7 +1724,7 @@ msgstr "%s: nie znaleziono u
 
 #: g10/keyedit.c:177
 msgid "[revocation]"
-msgstr ""
+msgstr "[uniewa¿nienie]"
 
 #: g10/keyedit.c:178
 msgid "[self-signature]"
@@ -1809,6 +1792,8 @@ msgid ""
 "The signature will be marked as non-exportable.\n"
 "\n"
 msgstr ""
+"Podpis zostanie oznaczony jako nieeksportowalny.\n"
+"\n"
 
 #: g10/keyedit.c:321
 msgid "Really sign? "
@@ -1817,7 +1802,7 @@ msgstr "Na pewno podpisa
 #: g10/keyedit.c:347 g10/keyedit.c:1688 g10/keyedit.c:1737 g10/sign.c:75
 #, c-format
 msgid "signing failed: %s\n"
-msgstr "podpisywanie nie powiod³o siê: %s\n"
+msgstr "z³o¿enie podpisu nie powiod³o siê: %s\n"
 
 #: g10/keyedit.c:400
 msgid "This key is not protected.\n"
@@ -1845,7 +1830,7 @@ msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
 msgstr ""
-"Nie chcesz podaæ wyra¿enia przej¶ciowego (has³a) - to z³y pomys³!\n"
+"Nie chcesz podaæ wyra¿enia przej¶ciowego (has³a) - to *z³y* pomys³!\n"
 "\n"
 
 #: g10/keyedit.c:440
@@ -1945,14 +1930,12 @@ msgid "s"
 msgstr "p"
 
 #: g10/keyedit.c:551
-#, fuzzy
 msgid "lsign"
-msgstr "podpis"
+msgstr "lpodpis"
 
 #: g10/keyedit.c:551
-#, fuzzy
 msgid "sign the key locally"
-msgstr "z³o¿enie podpisu na kluczu"
+msgstr "z³o¿enie lokalnego podpisu na kluczu"
 
 #: g10/keyedit.c:552
 msgid "debug"
@@ -2035,28 +2018,24 @@ msgid "change the ownertrust"
 msgstr "zmiana zaufania w³a¶ciciela"
 
 #: g10/keyedit.c:564
-#, fuzzy
 msgid "revsig"
-msgstr "podpis"
+msgstr "unpod"
 
 #: g10/keyedit.c:564
-#, fuzzy
 msgid "revoke signatures"
-msgstr "wymuszenie trzeciej wersji formatu podpisów"
+msgstr "uniewa¿nienie podpisu"
 
 #: g10/keyedit.c:565
-#, fuzzy
 msgid "revkey"
-msgstr "klucz"
+msgstr "unpkl"
 
 #: g10/keyedit.c:565
-#, fuzzy
 msgid "revoke a secondary key"
-msgstr "usuniêcie podklucza"
+msgstr "uniewa¿nienie podklucza"
 
 #: g10/keyedit.c:584
 msgid "can't do that in batchmode\n"
-msgstr "operacja niemo¿liwa do wykonania w trybie wsadowym\n"
+msgstr "nie dzia³a w trybie wsadowym\n"
 
 #. check that they match
 #. FIXME: check that they both match
@@ -2137,14 +2116,12 @@ msgid "Do you really want to delete this key? "
 msgstr "Czy na pewno chcesz usun±æ ten klucz? "
 
 #: g10/keyedit.c:846
-#, fuzzy
 msgid "Do you really want to revoke the selected keys? "
-msgstr "Czy na pewno chcesz usun±æ wybrane klucze? "
+msgstr "Czy na pewno chcesz uniewa¿niæ wybrane klucze? "
 
 #: g10/keyedit.c:847
-#, fuzzy
 msgid "Do you really want to revoke this key? "
-msgstr "Czy na pewno chcesz usun±æ ten klucz? "
+msgstr "Czy na pewno chcesz uniewa¿niæ ten klucz? "
 
 #: g10/keyedit.c:901
 msgid "Invalid command  (try \"help\")\n"
@@ -2185,36 +2162,34 @@ msgid "No secondary key with index %d\n"
 msgstr "Brak podklucza o indeksie %d\n"
 
 #: g10/keyedit.c:1566
-#, fuzzy
 msgid "user ID: \""
-msgstr "Wprowad¼ identyfikator u¿ytkownika (user ID): "
+msgstr "Identyfikator u¿ytkownika: "
 
 #: g10/keyedit.c:1569
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\"\n"
 "signed with your key %08lX at %s\n"
-msgstr "Nie ma nic do podpisania kluczem %08lX.\n"
+msgstr ""
+"\"\n"
+"podpisano Twoim kluczem %08lX w %s\n"
 
 #: g10/keyedit.c:1573
-#, fuzzy
 msgid "Create a revocation certificate for this signature? (y/N)"
-msgstr "generacja certyfikatu uniewa¿nienia klucza"
+msgstr "Stworzyæ certyfikat uniewa¿nienia tego podpisu? (t/N)"
 
 #: g10/keyedit.c:1653
-#, fuzzy
 msgid "Really create the revocation certificates? (y/N)"
-msgstr "generacja certyfikatu uniewa¿nienia klucza"
+msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)"
 
 #: g10/keyedit.c:1676
-#, fuzzy
 msgid "no secret key\n"
-msgstr "niepoprawny klucz prywatny"
+msgstr "brak klucza prywatnego\n"
 
 #: g10/mainproc.c:184
-#, fuzzy, c-format
+#, c-format
 msgid "public key is %08lX\n"
-msgstr "klucz publiczny nie odnaleziony"
+msgstr "klucz publiczny %08lX\n"
 
 #: g10/mainproc.c:212
 msgid "public key encrypted data: good DEK\n"
@@ -2235,7 +2210,7 @@ msgstr "odszyfrowane poprawnie\n"
 
 #: g10/mainproc.c:252
 msgid "WARNING: encrypted message has been manipulated!\n"
-msgstr ""
+msgstr "OSTRZE¯ENIE: zaszyfrowana wiadomo¶æ by³a manipulowana!\n"
 
 #: g10/mainproc.c:257
 #, c-format
@@ -2272,9 +2247,8 @@ msgid "Good signature from \""
 msgstr "Poprawny podpis z³o¿ony przez \""
 
 #: g10/mainproc.c:925
-#, fuzzy
 msgid "                aka \""
-msgstr "         do³±czono do zbioru: %lu"
+msgstr "                        alias \""
 
 #: g10/mainproc.c:975
 #, c-format
@@ -2407,10 +2381,9 @@ msgstr ""
 "wyra¿enie przej¶ciowe (has³o).\n"
 
 #: g10/sig-check.c:187
-#, fuzzy
 msgid "assuming bad MDC due to an unknown critical bit\n"
 msgstr ""
-"przyjêto niewa¿no¶æ podpisu z powonu ustawienia nieznanego bitu krytycznego\n"
+"przyjêto niepoprawno¶æ MDC z powonu ustawienia nieznanego bitu krytycznego\n"
 
 #: g10/sig-check.c:283
 msgid ""
@@ -2464,9 +2437,9 @@ msgid "can't handle text lines longer than %d characters\n"
 msgstr "nie mogê obs³u¿yæ linii tekstu d³u¿szej ni¿ %d znaków\n"
 
 #: g10/textfilter.c:197
-#, fuzzy, c-format
+#, c-format
 msgid "input line longer than %d characters\n"
-msgstr "b³±d opakowania: linia d³u¿sza ni¿ %d znaków\n"
+msgstr "linia d³u¿sza ni¿ %d znaków\n"
 
 #: g10/tdbio.c:116 g10/tdbio.c:1505
 #, c-format
@@ -2508,9 +2481,9 @@ msgid "%s: can't create: %s\n"
 msgstr "%s: nie mogê utworzyæ: %s\n"
 
 #: g10/tdbio.c:472 g10/tdbio.c:521
-#, fuzzy, c-format
+#, c-format
 msgid "%s: can't create lock\n"
-msgstr "%s: nie mogê utworzyæ: %s\n"
+msgstr "%s: nie mogê utworzyæ blokady\n"
 
 #: g10/tdbio.c:486
 #, c-format
@@ -2823,14 +2796,12 @@ msgid "WARNING: can't yet handle long pref records\n"
 msgstr "OSTRZE¯ENIE: d³ugie wpisy ustawieñ jeszcze nie s± obs³ugiwane.\n"
 
 #: g10/trustdb.c:1654
-#, fuzzy
 msgid "duplicated certificate - deleted"
-msgstr "Podwójna kopia certyfikatu - usuniêta"
+msgstr "podwójny certyfikat - usuniêty"
 
 #: g10/trustdb.c:1692
-#, fuzzy
 msgid "public key not anymore available"
-msgstr "klucz tajny jest niedostêpny"
+msgstr "klucz publiczny jest ju¿ niedostêpny"
 
 #: g10/trustdb.c:1702 g10/trustdb.c:1791
 msgid "Invalid certificate revocation"
@@ -2914,7 +2885,7 @@ msgstr "\t%lu kluczy uaktualnionych\n"
 #: g10/trustdb.c:2568
 #, c-format
 msgid "\t%lu keys inserted\n"
-msgstr "        %lu kluczy wpisanych\n"
+msgstr "\t%lu kluczy wpisanych\n"
 
 #: g10/trustdb.c:2571
 #, c-format
@@ -3094,8 +3065,7 @@ msgstr "zaszyfrowane nieznanym algorytmem %d\n"
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
-"OSTRZE¯ENIE: Informacje by³y szyfrowane s³abym kluczem szyfru "
-"symetrycznego.\n"
+"OSTRZE¯ENIE: wiadomo¶æ by³a szyfrowana s³abym kluczem szyfru symetrycznego.\n"
 
 #: g10/seskey.c:52
 msgid "weak key created - retrying\n"
@@ -3135,7 +3105,7 @@ msgstr "Podaj identyfikator u
 #: g10/helptext.c:66
 msgid "keygen.algo"
 msgstr ""
-"Wybór algorytmu.\n"
+"Wybór algorytmu:\n"
 "DSA (znany te¿ jako DSS) to Algorytm Podpisu Cyfrowego - u¿ywaæ go mo¿na "
 "tylko\n"
 "do tworzenia cyfrowych podpisów. Jego wybór jest sugerowany poniewa¿\n"
@@ -3299,16 +3269,14 @@ msgstr "Brak pomocy o '%s'"
 #~ msgid "can't write keyring: %s\n"
 #~ msgstr "niemo¿liwy jest zapis zbioru kluczy: %s\n"
 
-#, fuzzy
 #~ msgid "encrypted message is valid\n"
-#~ msgstr "wybrany algorytm geenracji skrótów wiadomo¶ci jest niepoprawny\n"
+#~ msgstr "zaszyfrowana wiadomo¶æ jest poprawna\n"
 
-#, fuzzy
 #~ msgid "Can't check MDC: %s\n"
-#~ msgstr "Nie mogê sprawdziæ podpisu: %s\n"
+#~ msgstr "Sprawdzenie MDC niemo¿liwe: %s\n"
 
 #~ msgid "Usage: gpgm [options] [files] (-h for help)"
-#~ msgstr "Sposób u¿ycia: gpgm [opcje] [pliki] (-h podaje pomoc)"
+#~ msgstr "Wywo³anie: gpgm [opcje] [pliki] (-h podaje pomoc)"
 
 #~ msgid ""
 #~ "Syntax: gpgm [options] [files]\n"
@@ -3395,7 +3363,7 @@ msgstr "Brak pomocy o '%s'"
 #~ msgstr "b³±d podczas poszukiwania wpisu katalogowego: %s\n"
 
 #~ msgid "Hmmm, public key lost?"
-#~ msgstr "Hmmm, klucz publiczny starcony?"
+#~ msgstr "Hmmm, klucz publiczny utracony?"
 
 #~ msgid "did not use primary key for insert_trust_record()\n"
 #~ msgstr "g³owny klucz nie zosta³ u¿yty w procedurze insert_trust_record()\n"
index fea79b5..e116ea3 100644 (file)
@@ -16,9 +16,13 @@ Provides: gpg openpgp
 BuildRoot: /tmp/rpmbuild_%{name}
 
 %changelog
+* Sat May 29 1999 Fabio Coatti <cova@ferrara.linux.it>
+- Some corrections in French description, thanks to 
+Gaël Quéri <gqueri@mail.dotcom.fr>  
 
 * Mon May 17 1999 Fabio Coatti <cova@felix.unife.it>
-- Added French description, provided by Christophe Labouisse <labouiss@cybercable.fr>
+- Added French description, provided by 
+Christophe Labouisse <labouiss@cybercable.fr>
 
 * Thu May 06 1999 Fabio Coatti <cova@felix.unife.it> 
 - Upgraded for 0.9.6 (removed gpgm)
@@ -49,9 +53,9 @@ IDEA o RSA pu
 alle specifiche OpenPGP (RFC2440).
 
 %description -l fr
-GnuPG est remplacement complet et "libre" de PGP. Comme il n'utilise
+GnuPG est un remplacement complet et « libre » de PGP. Comme il n'utilise
 ni IDEA ni RSA il peut être utilisé sans restriction. GnuPG est conforme
-avec la spécification OpenPGP (RFC2440).                     
+à la spécification OpenPGP (RFC2440).                         
 
 %prep
 rm -rf $RPM_BUILD_ROOT
index bf0ebb5..e0288e2 100644 (file)
@@ -1,3 +1,7 @@
+Mon May 31 19:41:10 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * iobuf.c (file_filter,block_filter): Speed patches (Rémi).
+
 Thu May 27 09:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * miscutil.c (answer_is_yes_no_quit): New.
index 03fb353..8e49a16 100644 (file)
@@ -89,33 +89,28 @@ file_filter(void *opaque, int control, IOBUF chain, byte *buf, size_t *ret_len)
     FILE *fp = a->fp;
     size_t size = *ret_len;
     size_t nbytes = 0;
-    int c, rc = 0;
-    char *p;
+    int rc = 0;
 
     if( control == IOBUFCTRL_UNDERFLOW ) {
        assert( size ); /* need a buffer */
-       for(; size; size-- ) {
-           if( (c=getc(fp)) == EOF ) {
-               if( ferror(fp) && errno != EPIPE  ) {
-                   log_error("%s: read error: %s\n",
-                                       a->fname, strerror(errno));
-                   rc = G10ERR_READ_FILE;
-               }
-               else if( !nbytes )
-                   rc = -1; /* okay: we can return EOF now. */
-               break;
-           }
-           buf[nbytes++] = c & 0xff;
+       clearerr( fp );
+       nbytes = fread( buf, 1, size, fp );
+       if( feof(fp) && !nbytes )
+           rc = -1; /* okay: we can return EOF now. */
+       else if( ferror(fp) && errno != EPIPE  ) {
+           log_error("%s: read error: %s\n",
+                     a->fname, strerror(errno));
+           rc = G10ERR_READ_FILE;
        }
        *ret_len = nbytes;
     }
     else if( control == IOBUFCTRL_FLUSH ) {
-       for(p=buf; nbytes < size; nbytes++, p++ ) {
-           if( putc(*p, fp) == EOF ) {
-               log_error("%s: write error: %s\n",
-                                   a->fname, strerror(errno));
+       if( size ) {
+           clearerr( fp );
+           nbytes = fwrite( buf, 1, size, fp );
+           if( ferror(fp) ) {
+               log_error("%s: write error: %s\n", a->fname, strerror(errno));
                rc = G10ERR_WRITE_FILE;
-               break;
            }
        }
        *ret_len = nbytes;
@@ -149,7 +144,7 @@ block_filter(void *opaque, int control, IOBUF chain, byte *buf, size_t *ret_len)
 {
     block_filter_ctx_t *a = opaque;
     size_t size = *ret_len;
-    int c, rc = 0;
+    int c, needed, rc = 0;
     char *p;
 
     if( control == IOBUFCTRL_UNDERFLOW ) {
@@ -239,15 +234,20 @@ block_filter(void *opaque, int control, IOBUF chain, byte *buf, size_t *ret_len)
                }
            }
 
-           for(; !rc && size && a->size; size--, a->size-- ) {
-               if( (c=iobuf_get(chain)) == -1 ) {
+           while( !rc && size && a->size ) {
+               needed = size < a->size ? size : a->size;
+               c = iobuf_read( chain, p, needed );
+               if( c < needed ) {
+                   if( c == -1 ) c = 0;
                    log_error("block_filter %p: read error (size=%lu,a->size=%lu)\n",
-                               a,  (ulong)size, (ulong)a->size);
+                             a,  (ulong)size+c, (ulong)a->size+c);
                    rc = G10ERR_READ_FILE;
                }
                else {
-                   *p++ = c;
-                   n++;
+                   size -= c;
+                   a->size -= c;
+                   p += c;
+                   n += c;
                }
            }
        }
@@ -1058,28 +1058,36 @@ iobuf_read(IOBUF a, byte *buf, unsigned buflen )
 
     if( a->unget.buf || a->nlimit ) {
        /* handle special cases */
-       for(n=0 ; n < buflen; n++, buf++ ) {
+       for(n=0 ; n < buflen; n++ ) {
            if( (c = iobuf_readbyte(a)) == -1 ) {
                if( !n )
                    return -1; /* eof */
                break;
            }
            else
-               *buf = c;
+               if( buf ) *buf = c;
+           if( buf ) buf++;
        }
        return n;
     }
 
     n = 0;
     do {
-       for( ; n < buflen && a->d.start < a->d.len; n++ )
-           *buf++ = a->d.buf[a->d.start++];
+       if( n < buflen && a->d.start < a->d.len ) {
+           unsigned size = a->d.len - a->d.start;
+           if( size > buflen - n ) size = buflen - n;
+           if( buf ) memcpy( buf, a->d.buf + a->d.start, size );
+           n += size;
+           a->d.start += size;
+           if( buf ) buf += size;
+       }
        if( n < buflen ) {
            if( (c=underflow(a)) == -1 ) {
                a->nbytes += n;
                return n? n : -1/*EOF*/;
            }
-           *buf++ = c; n++;
+           if( buf ) *buf++ = c;
+           n++;
        }
     } while( n < buflen );
     a->nbytes += n;
@@ -1140,8 +1148,14 @@ iobuf_write(IOBUF a, byte *buf, unsigned buflen )
        BUG();
 
     do {
-       for( ; buflen && a->d.len < a->d.size; buflen--, buf++ )
-           a->d.buf[a->d.len++] = *buf;
+       if( buflen && a->d.len < a->d.size ) {
+           unsigned size = a->d.size - a->d.len;
+           if( size > buflen ) size = buflen;
+           memcpy( a->d.buf + a->d.len, buf, size );
+           buflen -= size;
+           buf += size;
+           a->d.len += size;
+       }
        if( buflen ) {
            if( iobuf_flush(a) )
                return -1;