diff --git a/AUTHORS b/AUTHORS index 8c20802f9..d376c4455 100644 --- 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 bfadaa002..753265aef 100644 --- 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 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 df6a958a6..dbe27bffb 100644 --- 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. diff --git a/doc/gpg.1pod b/doc/gpg.1pod index 1ad795c37..af4186964 100644 --- a/doc/gpg.1pod +++ b/doc/gpg.1pod @@ -461,12 +461,6 @@ B<--compress-algo> I i.e. the compression algorithm is selected from the preferences. -B<--digest-algo> I - Use I 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 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. diff --git a/g10/ChangeLog b/g10/ChangeLog index 6c1fe9f50..5096b94fa 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,10 @@ +Mon May 31 19:41:10 CEST 1999 Werner Koch + + * 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 * status.c (cpr_get_answer_yes_no_quit): New. diff --git a/g10/build-packet.c b/g10/build-packet.c index ee19287b1..75066de2b 100644 --- a/g10/build-packet.c +++ b/g10/build-packet.c @@ -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; diff --git a/g10/compress.c b/g10/compress.c index 5ad4a27de..4862346ad 100644 --- a/g10/compress.c +++ b/g10/compress.c @@ -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; } diff --git a/g10/encr-data.c b/g10/encr-data.c index fd3da055b..0593efe97 100644 --- a/g10/encr-data.c +++ b/g10/encr-data.c @@ -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 diff --git a/g10/free-packet.c b/g10/free-packet.c index aef8e2fb0..5d74544fc 100644 --- a/g10/free-packet.c +++ b/g10/free-packet.c @@ -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); diff --git a/g10/g10.c b/g10/g10.c index c53053746..eb6d32ff3 100644 --- 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 } diff --git a/g10/mdfilter.c b/g10/mdfilter.c index 2cdbd326d..951fd730e 100644 --- a/g10/mdfilter.c +++ b/g10/mdfilter.c @@ -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 ) diff --git a/g10/plaintext.c b/g10/plaintext.c index 577641a6d..000ede0c3 100644 --- a/g10/plaintext.c +++ b/g10/plaintext.c @@ -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( 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; + 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; + } + } } } - } - 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; + 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 ) { + 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; } diff --git a/po/ChangeLog b/po/ChangeLog index b7f63faa1..09fa6e29f 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,9 @@ +Mon May 31 19:41:10 CEST 1999 Werner Koch + + * de.po: New version (Walter). + + * pl.po: New version (Alex). + Tue May 25 19:50:32 CEST 1999 Werner Koch * fr.po: Imported new version. diff --git a/po/de.po b/po/de.po index 8a4017421..184169e11 100644 --- a/po/de.po +++ b/po/de.po @@ -3,8 +3,8 @@ # Walter Koch , 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 \n" "Language-Team: German \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 -msgid "|[file]|make a signature" -msgstr "|[file]|Eine Unterschrift erzeugen" - -#: g10/g10.c:168 -msgid "|[file]|make a clear text signature" -msgstr "|[file]|Eine Klartextunterschrift erzeugen" - #: g10/g10.c:169 +msgid "|[file]|make a signature" +msgstr "|[Datei]|Eine Unterschrift erzeugen" + +#: g10/g10.c:170 +msgid "|[file]|make a clear text signature" +msgstr "|[Datei]|Eine Klartextunterschrift erzeugen" + +#: 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 -msgid "|[NAMES]|update the trust database" -msgstr "|[NAMES]|Ändern der \"Trust\"-Datenbank" - #: g10/g10.c:200 -msgid "|[NAMES]|check the trust database" -msgstr "|[NAMES]|Überprüfen der \"Trust\"-Datenbank" +msgid "|[NAMES]|update the trust database" +msgstr "|[NAMEN]|Ändern der \"Trust\"-Datenbank" -#: g10/g10.c:201 +#: g10/g10.c:202 +msgid "|[NAMES]|check the trust database" +msgstr "|[NAMEN]|Überprüfen der \"Trust\"-Datenbank" + +#: 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 -msgid "throw keyid field of encrypted packets" -msgstr "entferne die Absender-ID verschlüsselter Pakete" - #: g10/g10.c:258 +msgid "throw keyid field of encrypted packets" +msgstr "Entferne die Absender-ID verschlüsselter Pakete" + +#: 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 .\n" msgstr "Berichte über Bugs (Programmfehler) bitte an .\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." diff --git a/po/pl.po b/po/pl.po index 85ac9b741..380831b65 100644 --- 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 \n" "Language-Team: Polish \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 z 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 mogê 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 mogê 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" diff --git a/scripts/gnupg.spec.in b/scripts/gnupg.spec.in index fea79b519..e116ea3b4 100644 --- a/scripts/gnupg.spec.in +++ b/scripts/gnupg.spec.in @@ -16,9 +16,13 @@ Provides: gpg openpgp BuildRoot: /tmp/rpmbuild_%{name} %changelog +* Sat May 29 1999 Fabio Coatti +- Some corrections in French description, thanks to +Gaël Quéri * Mon May 17 1999 Fabio Coatti -- Added French description, provided by Christophe Labouisse +- Added French description, provided by +Christophe Labouisse * Thu May 06 1999 Fabio Coatti - 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 diff --git a/util/ChangeLog b/util/ChangeLog index bf0ebb5f9..e0288e2ef 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,7 @@ +Mon May 31 19:41:10 CEST 1999 Werner Koch + + * iobuf.c (file_filter,block_filter): Speed patches (Rémi). + Thu May 27 09:40:55 CEST 1999 Werner Koch * miscutil.c (answer_is_yes_no_quit): New. diff --git a/util/iobuf.c b/util/iobuf.c index 03fb35319..8e49a1606 100644 --- a/util/iobuf.c +++ b/util/iobuf.c @@ -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;