See ChangeLog: Wed Sep 1 15:30:44 CEST 1999 Werner Koch

This commit is contained in:
Werner Koch 1999-09-01 13:40:07 +00:00
parent 88a916cdd4
commit 0428ca6da6
19 changed files with 290 additions and 150 deletions

View File

@ -56,11 +56,11 @@ Disclaimer. [ru?]
steuck@iname.com
TRANSLATIONS Urko Lusa ??????????
TRANSLATIONS Urko Lusa Okay
es_ES.po
TRANSLATIONS Thiago Jung Bauermann ????????????????
TRANSLATIONS Thiago Jung Bauermann Okay
pt_BR.po
jungmann@cwb.matrix.com.br

34
INSTALL
View File

@ -4,29 +4,35 @@ Please read the Basic Installation section somewhere below.
Configure options for GNUPG
===========================
--enable-static-rnd=<name> Force the use of the random byte gathering
module <name>. Default is either to use /dev/random
or the standard Uix module. Value for name:
egd - Use the module which accesses the
Entropy Gathering Daemon. See the webpages
for more information about it.
unix - Use the standard Unix module which does not
have a very good performance.
linux - Use the module which accesses /dev/random.
This is the first choice and the default one
for GNU/Linux or *BSD.
none - Do not linkl any module in but rely on
a dynmically loaded modules.
--with-included-zlib Forces usage of the local zlib sources. Default is
to use the (shared) library of the system.
--with-included-gettext Forces usage of the local gettext sources instead of
the one provided by your system.
--disable-nls Disable NLS support (See ABOUT-NLS)
--disable-nls Disable NLS support (See the file ABOUT-NLS)
--enable-m-debug Compile with the integrated malloc debugging stuff.
This makes the program slower but it checks every
free operation and can be used to create statistics
of memory usage. If this option is used the program
option "--debug 32" displays every call to a malloc
function (this makes the program *really* slow), the
option "--debug 128" displays a memory statistic after
the program run.
--enable-m-guard Enable the integrated malloc checking code.
--enable-m-guard Enable the integrated malloc checking code.
--disable-dynload If you have problems with dynamic loading, this option
disables all dynamic loading stuff.
--disable-asm Do not use assembler modules.
--disable-asm Do not use assembler modules. It is not possible to
use this on some CPU types.
@ -106,8 +112,8 @@ Or use the -t (--tarbuild) option of rpm:
1. rpm -ta gnupg-x.x.x.tar.gz
The binary rpm file can now be found in /usr/src/redhat/RPMS, source
rpm in /usr/src/redhat/SRPMS
rpm in /usr/src/redhat/SRPMS
Please note that to install gnupg binary rpm you must be root, as
gnupg needs to be suid root, at least on Linux machines

View File

@ -1,47 +1,26 @@
* Check if an object (a message, detached sign, public key, or whatever)
is signed by definite user, i.e. define user
(userid, or any other unique identification) on command line.
--> NO: Use a script and --status-fd
* Change the internal representation of keyid into a struct which
can also hold the localid and extend the localid to hold information
of the subkey number because two subkeys may have the same keyid.
* signature verification is done duplicated on import: in import.c and
then in trustdb.c too. Maybe we can use a flag to skip the actual
verification process (this should work if we use the same keyblock,
but I'm not sure how to accomplish that). Another way is to allow
the import of bogus data and let trustdb mark these keys as invalid;
I see an advantage in this that it may help to prevent a DoS on a
keyserver by sending him a lot of bogus signatures which he has
to check - Needs further investigation.
* Add a way to override the current cipher/md implementations
by others (using extensions)
* Not GnuPG related: What about option completion in bash?
Can "--dump-options" be used for this or should we place the
options in a special ELF segment?
options in an ELF note section?
* Split key support (n-out-of-m)
* Split key support (n-out-of-m). Use our own protocol or figure out
how PGP does it.
* add an option to re-create a public key from a secret key; we
can do this in trustdb.c:verify_own_keys.
(special tool?)
can do this in trustdb.c:verify_own_keys. (special tool?)
* rewrite --list-packets or put it into another tool.
* We need a maintenance pass over the trustdb which flags
signatures as expired if the key used to make the signature has
expired. Maybe it is a good idea to store the expiration time
in the key record of the trustdb.
* write a tool to extract selected keys from a file.
* Change the buffering to a mbuf like scheme? Need it for PSST anyway;
see Michael's proposal.
* Work on the library
* Change the buffering to a mbuf like scheme? See Michael's proposal.
* Keep a list of duplicate, faked or unwanted keyids.

View File

@ -184,9 +184,9 @@ o the KS should verify signatures and only accept those
o Keep a blacklist of known bad signatures to minimize
the time needed to check them
o Should be fast - I currently designing a new storage
o Should be fast - I'm currently designing a new storage
system called keybox which takes advantage of the fact
that the keyID is highly random and can be directly be
that the keyID is highly random and can directly be
used as a hash value and this keyID is (for v4 keys)
part of the fingerprint: So it is possible to use the
fingerprint as key but do an lookup by the keyID.
@ -233,5 +233,9 @@ Suggested things which I will not do:
=====================================
* Let take --help an option to select some topics.
Using grep is much easier
* Check if an object (a message, detached sign, public key, or whatever)
is signed by definite user, i.e. define user
(userid, or any other unique identification) on command line.
--> Use a script and --status-fd

View File

@ -1,3 +1,9 @@
Wed Sep 1 15:30:44 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
* keygen.c (ask_expire_interval): Fixed bug related to cpr_xx (tnx
Francis J. Lacoste).
Tue Aug 31 17:20:44 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>

View File

@ -1288,7 +1288,7 @@ find_by_name( KBNODE keyblock, PKT_public_key *pk, const char *name,
else if( is_RSA(pk->pubkey_algo) )
log_error(_("RSA key cannot be used in this version\n"));
else
log_error(_("No key for user-id\n"));
log_error(_("No key for user ID\n"));
}
}
return NULL;
@ -1327,7 +1327,7 @@ find_by_name_sk( KBNODE keyblock, PKT_secret_key *sk, const char *name,
else if( is_RSA(sk->pubkey_algo) )
log_error(_("RSA key cannot be used in this version\n"));
else
log_error(_("No key for user-id\n"));
log_error(_("No key for user ID\n"));
}
}
return NULL;
@ -1366,7 +1366,7 @@ find_by_keyid( KBNODE keyblock, PKT_public_key *pk, u32 *keyid, int mode )
if( kk )
cache_user_id( kk->pkt->pkt.user_id, aki );
else
log_error(_("No user-id for key\n"));
log_error(_("No user ID for key\n"));
return k; /* found */
}
}
@ -1406,7 +1406,7 @@ find_by_keyid_sk( KBNODE keyblock, PKT_secret_key *sk, u32 *keyid, int mode )
if( kk )
cache_user_id( kk->pkt->pkt.user_id, aki );
else
log_error(_("No user-id for key\n"));
log_error(_("No user ID for key\n"));
return k; /* found */
}
}

View File

@ -58,7 +58,7 @@ static struct helptexts { const char *key; const char *help; } helptexts[] = {
)},
{ "pklist.user_id.enter", N_(
"Enter the user id of the addressee to whom you want to send the message."
"Enter the user ID of the addressee to whom you want to send the message."
)},
{ "keygen.algo", N_(

View File

@ -359,7 +359,7 @@ import_one( const char *fname, KBNODE keyblock, int fast )
putc('\n', stderr);
}
if( !uidnode ) {
log_error( _("key %08lX: no user id\n"), (ulong)keyid[1]);
log_error( _("key %08lX: no user ID\n"), (ulong)keyid[1]);
return 0;
}
@ -373,7 +373,7 @@ import_one( const char *fname, KBNODE keyblock, int fast )
if( !delete_inv_parts( fname, keyblock, keyid ) ) {
if( !opt.quiet ) {
log_info( _("key %08lX: no valid user ids\n"),
log_info( _("key %08lX: no valid user IDs\n"),
(ulong)keyid[1]);
log_info(_("this may be caused by a missing self-signature\n"));
}
@ -466,10 +466,10 @@ import_one( const char *fname, KBNODE keyblock, int fast )
/* we are ready */
if( !opt.quiet ) {
if( n_uids == 1 )
log_info( _("key %08lX: 1 new user-id\n"),
log_info( _("key %08lX: 1 new user ID\n"),
(ulong)keyid[1]);
else if( n_uids )
log_info( _("key %08lX: %d new user-ids\n"),
log_info( _("key %08lX: %d new user IDs\n"),
(ulong)keyid[1], n_uids );
if( n_sigs == 1 )
log_info( _("key %08lX: 1 new signature\n"),
@ -551,7 +551,7 @@ import_secret_one( const char *fname, KBNODE keyblock )
}
stats.secret_read++;
if( !uidnode ) {
log_error( _("key %08lX: no user id\n"), (ulong)keyid[1]);
log_error( _("key %08lX: no user ID\n"), (ulong)keyid[1]);
return 0;
}
@ -708,7 +708,7 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
if( (sig->sig_class&~3) == 0x10 ) {
KBNODE unode = find_prev_kbnode( keyblock, n, PKT_USER_ID );
if( !unode ) {
log_error( _("key %08lX: no user-id for signature\n"),
log_error( _("key %08lX: no user ID for signature\n"),
(ulong)keyid[1]);
return -1; /* the complete keyblock is invalid */
}
@ -766,7 +766,7 @@ mark_non_selfsigned_uids_valid( KBNODE keyblock, u32 *kid )
if( node->pkt->pkttype == PKT_USER_ID && !(node->flag & 1) ) {
if( node->next && node->next->pkt->pkttype == PKT_SIGNATURE ) {
node->flag |= 1;
log_info( _("key %08lX: accepted non self-signed user-id '"),
log_info( _("key %08lX: accepted non self-signed user ID '"),
(ulong)kid[1]);
print_string( log_stream(), node->pkt->pkt.user_id->name,
node->pkt->pkt.user_id->len, 0 );
@ -795,7 +795,7 @@ delete_inv_parts( const char *fname, KBNODE keyblock, u32 *keyid )
uid_seen = 1;
if( (node->flag & 2) || !(node->flag & 1) ) {
if( opt.verbose ) {
log_info( _("key %08lX: skipped user-id '"),
log_info( _("key %08lX: skipped user ID '"),
(ulong)keyid[1]);
print_string( stderr, node->pkt->pkt.user_id->name,
node->pkt->pkt.user_id->len, 0 );
@ -1176,7 +1176,7 @@ merge_sigs( KBNODE dst, KBNODE src, int *n_sigs,
assert(dst->pkt->pkttype == PKT_USER_ID );
assert(src->pkt->pkttype == PKT_USER_ID );
/* at least a self signature comes next to the user-ids */
/* at least a self signature comes next to the user IDs */
assert(src->next->pkt->pkttype != PKT_USER_ID );
if( dst->next->pkt->pkttype == PKT_USER_ID ) {
log_error( _("key %08lX: our copy has no self-signature\n"),

View File

@ -228,9 +228,9 @@ check_all_keysigs( KBNODE keyblock, int only_selected )
else if( oth_err )
tty_printf(_("%d signatures not checked due to errors\n"), oth_err );
if( mis_selfsig == 1 )
tty_printf(_("1 user id without valid self-signature detected\n"));
tty_printf(_("1 user ID without valid self-signature detected\n"));
else if( mis_selfsig )
tty_printf(_("%d user ids without valid self-signatures detected\n"),
tty_printf(_("%d user IDs without valid self-signatures detected\n"),
mis_selfsig);
return inv_sigs || no_key || oth_err || mis_selfsig;
@ -567,9 +567,9 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands,
{ N_("help") , cmdHELP , 0,1, N_("show this help") },
{ "?" , cmdHELP , 0,1, NULL },
{ N_("fpr") , cmdFPR , 0,1, N_("show fingerprint") },
{ N_("list") , cmdLIST , 0,1, N_("list key and user ids") },
{ N_("list") , cmdLIST , 0,1, N_("list key and user IDs") },
{ N_("l") , cmdLIST , 0,1, NULL },
{ N_("uid") , cmdSELUID , 0,1, N_("select user id N") },
{ N_("uid") , cmdSELUID , 0,1, N_("select user ID N") },
{ N_("key") , cmdSELKEY , 0,0, N_("select secondary key N") },
{ N_("check") , cmdCHECK , 0,1, N_("list signatures") },
{ N_("c") , cmdCHECK , 0,1, NULL },
@ -577,8 +577,8 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands,
{ N_("s") , cmdSIGN , 0,1, NULL },
{ N_("lsign") , cmdLSIGN , 0,1, N_("sign the key locally") },
{ N_("debug") , cmdDEBUG , 0,0, NULL },
{ N_("adduid") , cmdADDUID , 1,0, N_("add a user id") },
{ N_("deluid") , cmdDELUID , 0,0, N_("delete user id") },
{ N_("adduid") , cmdADDUID , 1,0, N_("add a user ID") },
{ N_("deluid") , cmdDELUID , 0,0, N_("delete user ID") },
{ N_("addkey") , cmdADDKEY , 1,0, N_("add a secondary key") },
{ N_("delkey") , cmdDELKEY , 0,0, N_("delete a secondary key") },
{ N_("delsig") , cmdDELSIG , 0,0, N_("delete signatures") },
@ -755,8 +755,8 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands,
case cmdLSIGN: /* sign (only the public key) */
if( count_uids(keyblock) > 1 && !count_selected_uids(keyblock) ) {
if( !cpr_get_answer_is_yes("keyedit.sign_all.okay",
_("Really sign all user ids? ")) ) {
tty_printf(_("Hint: Select the user ids to sign\n"));
_("Really sign all user IDs? ")) ) {
tty_printf(_("Hint: Select the user IDs to sign\n"));
break;
}
}
@ -794,13 +794,13 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands,
int n1;
if( !(n1=count_selected_uids(keyblock)) )
tty_printf(_("You must select at least one user id.\n"));
tty_printf(_("You must select at least one user ID.\n"));
else if( count_uids(keyblock) - n1 < 1 )
tty_printf(_("You can't delete the last user id!\n"));
tty_printf(_("You can't delete the last user ID!\n"));
else if( cpr_get_answer_is_yes(
"keyedit.remove.uid.okay",
n1 > 1? _("Really remove all selected user ids? ")
: _("Really remove this user id? ")
n1 > 1? _("Really remove all selected user IDs? ")
: _("Really remove this user ID? ")
) ) {
menu_deluid( keyblock, sec_keyblock );
redisplay = 1;
@ -815,7 +815,7 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands,
int n1;
if( !(n1=count_selected_uids(keyblock)) )
tty_printf(_("You must select at least one user id.\n"));
tty_printf(_("You must select at least one user ID.\n"));
else if( menu_delsig( keyblock ) ) {
/* no redisplay here, because it may scroll away some
* status output of delsig */
@ -1563,7 +1563,7 @@ menu_select_uid( KBNODE keyblock, int idx )
}
}
if( !node ) {
tty_printf(_("No user id with index %d\n"), idx );
tty_printf(_("No user ID with index %d\n"), idx );
return 0;
}
}

View File

@ -559,9 +559,8 @@ ask_expire_interval(void)
asctimestamp(curtime + interval ) );
}
if( !cpr_enabled()
&& cpr_get_answer_is_yes("keygen.valid.okay",
_("Is this correct (y/n)? ")) )
if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay",
_("Is this correct (y/n)? ")) )
break;
}
m_free(answer);

View File

@ -124,7 +124,7 @@ static int
add_user_id( CTX c, PACKET *pkt )
{
if( !c->list ) {
log_error("orphaned user id\n" );
log_error("orphaned user ID\n" );
return 0;
}
add_kbnode( c->list, new_kbnode( pkt ) );

View File

@ -793,7 +793,7 @@ dump_sig_subpkt( int hashed, int type, int critical,
p = "preferred key server";
break;
case SIGSUBPKT_PRIMARY_UID:
p = "primary user id";
p = "primary user ID";
break;
case SIGSUBPKT_POLICY:
fputs("policy: ", stdout );
@ -803,10 +803,10 @@ dump_sig_subpkt( int hashed, int type, int critical,
p = "key flags";
break;
case SIGSUBPKT_SIGNERS_UID:
p = "signer's user id";
p = "signer's user ID";
break;
case SIGSUBPKT_PRIV_ADD_SIG:
p = "signs additional user id";
p = "signs additional user ID";
break;
default: p = "?"; break;
}
@ -1482,7 +1482,7 @@ parse_user_id( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet )
if( list_mode ) {
int n = packet->pkt.user_id->len;
printf(":user id packet: \"");
printf(":user ID packet: \"");
/* fixme: Hey why don't we replace this wioth print_string?? */
for(p=packet->pkt.user_id->name; n; p++, n-- ) {
if( *p >= ' ' && *p <= 'z' )

View File

@ -505,7 +505,7 @@ check_key_signature2( KBNODE root, KBNODE node, int *is_selfsig, u32 *r_expire)
md_close(md);
}
else {
log_error("no user id for key signature packet\n");
log_error("no user ID for key signature packet\n");
rc = G10ERR_SIG_CLASS;
}
}

View File

@ -2058,7 +2058,7 @@ do_check( TRUSTREC *dr, unsigned *validity,
return G10ERR_TRUSTDB;
}
if( !dr->r.dir.uidlist ) {
log_error(_("Ooops, no user ids\n"));
log_error(_("Ooops, no user IDs\n"));
return G10ERR_TRUSTDB;
}

View File

@ -1,3 +1,8 @@
Wed Sep 1 15:30:44 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
* de.po: Updated.
Mon Aug 30 20:38:33 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>

223
po/de.po
View File

@ -1,11 +1,11 @@
# GnuPG german translation
# Copyright (C) 1998 Free Software Foundation, Inc.
# Walter Koch <walterk@dip.de>, 1998.
msgid ""
# Walter Koch <koch@hsp.de>, 1998.
msgid ""
msgstr ""
"POT-Creation-Date: 1999-08-30 19:40+0200\n"
"PO-Revision-Date: 1999-08-05 21:56+0200\n"
"Last-Translator: Walter Koch <walterk@mail.dip.de>\n"
"POT-Creation-Date: 1999-08-31 21:31+0200\n"
"PO-Revision-Date: 1999-08-31 21:36+0200\n"
"Last-Translator: Walter Koch <koch@hsp.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
@ -36,11 +36,11 @@ msgstr "jJyY"
#: util/miscutil.c:256 util/miscutil.c:284
msgid "no"
msgstr ""
msgstr "nein"
#: util/miscutil.c:257 util/miscutil.c:287
msgid "nN"
msgstr ""
msgstr "nN"
#: g10/keyedit.c:564 util/miscutil.c:285
msgid "quit"
@ -444,7 +444,7 @@ msgstr "|NAME|NAME als voreingestellten Empf
msgid "use the default key as default recipient"
msgstr ""
"Den Standardschlüssel als voreingestellten\n"
"\tEmpfänger benutzen"
"Empfänger benutzen"
#: g10/g10.c:242
msgid "use this user-id to sign or decrypt"
@ -558,7 +558,7 @@ msgstr "Den in RFC1991 beschriebenen Modus nachahmen"
#: g10/g10.c:273
msgid "set all packet, cipher and digest options to OpenPGP behavior"
msgstr ""
"alle Paket-, Verschlüsselungs- und \n"
"alle Paket-, Verschlüsselungs- und\n"
"Hashoptionen auf OpenPGP-Verhalten einstellen"
#: g10/g10.c:274
@ -615,7 +615,9 @@ msgstr ""
#: g10/g10.c:370
msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
msgstr "Berichte über Bugs (Programmfehler) bitte an <gnupg-bugs@gnu.org>.\n"
msgstr
"Berichte über Bugs (Programmfehler) bitte an <gnupg-bugs@gnu.org>.\n"
"Sinn- oder Schreibfehler in den deutschen Texten bitte an <de@li.org>.\n"
#: g10/g10.c:374
msgid "Usage: gpg [options] [files] (-h for help)"
@ -1441,7 +1443,7 @@ msgstr ""
#: g10/keygen.c:857
msgid "Key generation can only be used in interactive mode\n"
msgstr ""
msgstr
"Die Schlüsselerzeugung kann nur im interaktiven Modus benutzt werden.\n"
#: g10/keygen.c:865
@ -3184,88 +3186,125 @@ msgstr ""
"sym.Verschlüsselung nicht vermieden werden!\n"
#: g10/helptext.c:47
#, fuzzy
msgid ""
"It's up to you to assign a value here; this value will never be exported\n"
"to any 3rd party. We need it to implement the web-of-trust; it has nothing\n"
"to do with the (implicitly created) web-of-certificates."
msgstr ""
"Sie müssen selbt entscheiden, welchen Wert Sie hier eintragen; dieser Wert\n"
"Sie müssen selbst entscheiden, welchen Wert Sie hier eintragen; dieser Wert\n"
"wird niemals an eine dritte Seite weitergegeben. Wir brauchen diesen Wert,\n"
"um das \"Netz des Vertrauens\" aufzubauen. Dieses hat nichts mit dem "
"(implizit\n"
"erzeugten) \"Netz der Zertifikate\" zu tun.\n"
"um das \"Netz des Vertrauens\" aufzubauen. Dieses hat nichts mit dem\n"
"(implizit erzeugten) \"Netz der Zertifikate\" zu tun."
#: g10/helptext.c:53
msgid "If you want to use this revoked key anyway, answer \"yes\"."
msgstr ""
msgstr
"Wenn Sie diesen widerrufenen Schlüssel trotzdem benutzen wollen,\n"
"so antworten Sie mit \"ja\"."
#: g10/helptext.c:57
msgid "If you want to use this untrusted key anyway, answer \"yes\"."
msgstr ""
msgstr
"Wenn Sie diesen nicht vertrauenswürdigen Schlüssel trotzdem benutzen wollen,\n"
"so antworten Sie mit \"ja\"."
#: g10/helptext.c:61
msgid ""
"Enter the user id of the addressee to whom you want to send the message."
msgstr ""
msgstr
"Geben Sie die User-ID dessen ein, dem Sie die Botschaft senden wollen."
#: g10/helptext.c:65
msgid ""
"Select the algorithm to use.\n"
"\n"
"DSA (aka DSS) is the digital signature algorithm which can only be used\n"
"for signatures. This is the suggested algorithm because verification of\n"
"DSA signatures are much faster than those of ElGamal.\n"
"\n"
"ElGamal is an algorithm which can be used for signatures and encryption.\n"
"OpenPGP distunguishs between two flavors of this algorithms: an encrypt "
"OpenPGP distinguishs between two flavors of this algorithms: an encrypt "
"only\n"
"and a sign+encrypt; actually it is the same, but some parameters must be\n"
"selected in a special way to create a safe key for signatures: this program\n"
"does this but other OpenPGP implementations are not required to understand\n"
"the signature+encryption flavor.\n"
"\n"
"The first (primary) key must always be a key which is capable of signing;\n"
"this is the reason why the encryption only ElGamal key is not available in\n"
"this menu."
msgstr ""
msgstr
"Wählen Sie die zu verwendende Methode aus.\n\n"
"DSA (alias DSS) bedeutet \"digital signature algorithm\" (Digitales\n"
" Unterschrift-Verfahren). Es kann nur zum Unterschreiben und Beglaubigen\n"
" benutzt werden. Dies ist das empfohlene Verfahren, da dessen Überprüfung\n"
" wesentlich schneller abläuft, als die von \"ElGamal\".\n"
"\n"
"ElGamal ist ein Verfahren für Unterschrift, Beglaubigung und Verschlüsselung\n"
" OpenPGP unterscheidet zwischen zwei Arten von ElGamal: eines nur zum\n"
" Unterschreiben/Beglaubigen und eines zusätzlich zum Verschlüsseln.\n"
" Eigentlich sind diese Arten identisch; allerdings müssen einige Parameter\n"
" auf eine besondere Art gewählt werden, um einen sicheren Schlüssel für\n"
" Unterschriften zu erzeugen. Dieses Programm macht dies zwar so, aber "
"andere\n"
" Programme sind laut der OpenPGP-Spezifikation nicht verpflichtet, die\n"
" zweite Art (die mit zusätzlichem Verschlüsseln) zu verstehen.\n"
"\n"
"Der Hauptschlüssel (\"primary Key\") muß auf jeden Fall zum Unterschreiben "
"fähig\n"
"sein. Deshalb kann ein nur-Verschlüssel-ElGamal-Schlüssel dafür nicht\n"
"verwendet werden."
#: g10/helptext.c:82
#: g10/helptext.c:85
msgid ""
"Although these keys are defined in RFC2440 they are not suggested\n"
"because they are not supported by all programs and signatures created\n"
"with them are quite large and very slow to verify."
msgstr ""
msgstr
"Obwohl diese Schlüssel in RFC 2440 definiert sind, ist ihre Verwendung "
"nicht\n"
"empfohlen. Sie werden nämlich nicht von allen Programmen unterstützt.\n"
"Außerdem sind damit ezeugte Unterschriften recht groß und ihre Überprüfung\n"
"ist langsam."
#: g10/helptext.c:89
#, fuzzy
#: g10/helptext.c:92
msgid "Enter the size of the key"
msgstr "Geben Sie die User-ID ein: "
msgstr "Wählen Sie die gewünschte Schlüssellänge"
#: g10/helptext.c:93 g10/helptext.c:98 g10/helptext.c:110 g10/helptext.c:142
#: g10/helptext.c:147 g10/helptext.c:152 g10/helptext.c:157
#: g10/helptext.c:96 g10/helptext.c:101 g10/helptext.c:113 g10/helptext.c:145
#: g10/helptext.c:150 g10/helptext.c:155 g10/helptext.c:160
msgid "Answer \"yes\" or \"no\""
msgstr ""
msgstr "Geben Sie \"ja\" oder \"nein\" ein"
#: g10/helptext.c:103
#: g10/helptext.c:106
msgid ""
"Enter the required value as shown in the pronpt.\n"
"It is possible to enter a ISO date (YYYY-MM-DD) but you won't\n"
"get a good error response - instead the system tries to interpret\n"
"the given value as an interval."
msgstr ""
msgstr
"Geben Sie den benötigten Wert so an, wie er im Prompt erscheint.\n"
"Es ist zwar möglich ein \"ISO\"-Datum (JJJJ-MM-DD) einzugeben, aber man\n"
"erhält dann ggfs. keine brauchbaren Fehlermeldungen - stattdessen versucht\n"
"der Rechner den Wert als Intervall (von-bis) zu deuten."
#: g10/helptext.c:115
#: g10/helptext.c:118
msgid "Enter the name of the key holder"
msgstr ""
msgstr "Geben Sie den Namen des Schlüsselinhabers ein"
#: g10/helptext.c:120
#: g10/helptext.c:123
msgid "please enter an optional but highly suggested email address"
msgstr ""
msgstr
"Geben Sie eine E-Mail-Adresse ein. Dies ist zwar nicht unbedingt notwendig,\n"
"aber sehr empfehlenswert."
#: g10/helptext.c:124
#, fuzzy
#: g10/helptext.c:127
msgid "Please enter an optional comment"
msgstr "Bitte geben Sie den Namen der Datendatei ein: "
msgstr "Geben Sie - bei Bedarf - einen Kommentar ein"
#: g10/helptext.c:129
#: g10/helptext.c:132
msgid ""
"N to change the name.\n"
"C to change the comment.\n"
@ -3273,84 +3312,134 @@ msgid ""
"O to continue with key generation.\n"
"Q to to quit the key generation."
msgstr ""
"N um den Namen zu ändern.\n"
"K um den Kommentar zu ändern.\n"
"E um die E-Mail-Adresse zu ändern.\n"
"F um mit der Schlüsselerzeugung fortzusetzen.\n"
"B um die Schlüsselerzeugung abbrechen."
#: g10/helptext.c:138
#: g10/helptext.c:141
msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key."
msgstr ""
msgstr
"Geben Sie \"ja\" (oder nur \"j\") ein, um den Unterschlüssel zu erzeugen."
#: g10/helptext.c:161
#: g10/helptext.c:164
msgid "Answer \"yes\" is you want to sign ALL the user IDs"
msgstr ""
msgstr
"Geben Sie \"ja\" (oder nur \"j\") ein, um alle User-IDs zu beglaubigen"
#: g10/helptext.c:165
#: g10/helptext.c:168
msgid ""
"Answer \"yes\" if you really want to delete this user ID.\n"
"All certificates are then also lost!"
msgstr ""
msgstr
"Geben Sie \"ja\" (oder nur \"j\") ein, um diese User-ID zu LÖSCHEN.\n"
"Alle Zertifikate werden dann auch weg sein!"
#: g10/helptext.c:170
#: g10/helptext.c:173
msgid "Answer \"yes\" if it is okay to delete the subkey"
msgstr ""
msgstr
"Geben Sie \"ja\" (oder nur \"j\") ein, um diesen Unterschlüssel zu löschen"
#: g10/helptext.c:175
#: g10/helptext.c:178
msgid ""
"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."
msgstr ""
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."
#: g10/helptext.c:180
#: g10/helptext.c:183
msgid ""
"This signature can't be checked because you don't have the\n"
"corresponding key. You should postpone its deletion until you\n"
"know which key was used because this signing key might establisha trust "
"connection through another already certified key."
msgstr ""
msgstr
"Diese Beglaubigung kann nicht geprüft werden, da Sie den passenden Schlüssel\n"
"nicht besitzen. Sie sollten die Löschung der Beglaubigung verschieben, bis\n"
"sie wissen, welcher Schlüssel verwendet wurde. Denn vielleicht würde genau\n"
"diese Beglaubigung den \"Trust\"-Weg kompletieren."
#: g10/helptext.c:186
#: g10/helptext.c:189
msgid ""
"The signature is not valid. It does make sense to remove it from\n"
"your keyring."
msgstr ""
msgstr
"Diese Beglaubigung ist ungültig. Es ist sinnvoll sie aus Ihrem\n"
"Schlüsselbund zu entfernen."
#: g10/helptext.c:190
#: g10/helptext.c:193
msgid ""
"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."
msgstr ""
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 könnte dann sein, daß GnuPG diesen 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."
#: g10/helptext.c:199
#: g10/helptext.c:202
msgid ""
"Please enter the passhrase; this is a secret sentence \n"
" Blurb, blurb,.... "
msgstr ""
msgstr
"Bitte geben Sie das Mantra ein. Dies ist ein geheimer Satz, der aus\n"
"beliebigen Zeichen bestehen kann. Was Sie eingegeben wird nicht angezeigt.\n"
"\n"
"Zur ihrer eigenen Sicherbeit benutzen Sie bitte einen Satz, den sie sich\n"
"gut merken könne, der aber nicht leicht zu erraten ist; Zitate und andere\n"
"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"
"sind i.d.R. eine gute Wahl"
#: g10/helptext.c:206
#: g10/helptext.c:209
msgid "Please repeat the last passphrase, so you are sure what you typed in."
msgstr ""
msgstr
"Um sicher zu gehen, daß Sie sich bei der Eingabe des Mantras nicht\n"
"vertippt haben, geben Sie diese bitte nochmal ein. Nur wenn beide Eingaben\n"
"übereinstimmen, wird das Mantra akzeptiert."
#: g10/helptext.c:210
#: g10/helptext.c:213
msgid "Give the name fo the file to which the signature applies"
msgstr ""
msgstr
"Geben Sie den Namen der Datei an, zu dem die abgetrennte Unterschrift gehört"
#: g10/helptext.c:215
#: g10/helptext.c:218
msgid "Answer \"yes\" if it is okay to overwrite the file"
msgstr ""
msgstr "Geben Sie \"ja\" ein, wenn Sie die Datei überschreiben möchten"
#: g10/helptext.c:220
#: g10/helptext.c:223
msgid ""
"Please enter a new filename. If you just hit RETURN the default\n"
"file (which is shown in brackets) will be used."
msgstr ""
msgstr
"Geben Sie bitte einen neuen Dateinamen ein. Falls Sie nur die\n"
"Eingabetaste betätigen, wird der (in Klammern angezeigte) Standarddateiname\n"
"verwendet."
#: g10/helptext.c:234
#: g10/helptext.c:237
msgid "No help available"
msgstr "Keine Hilfe vorhanden."
#: g10/helptext.c:242
#: g10/helptext.c:245
#, c-format
msgid "No help available for `%s'"
msgstr "Keine Hilfe für '%s' vorhanden."

44
tools/crlf.c Normal file
View File

@ -0,0 +1,44 @@
/* crlf.c
*/
#include <stdio.h>
int
main(int argc, char **argv)
{
int c, lc;
int off=0;
if( argc > 1 ) {
fprintf(stderr, "no arguments, please\n");
return 1;
}
lc = -1;
while( (c=getchar()) != EOF ) {
#if 0
if( c == '\r' && lc == ' ' )
fprintf(stderr,"SP,CR at %d\n", off );
if( c == '\n' && lc == ' ' )
fprintf(stderr,"SP,LF at %d\n", off );
#endif
if( c == '\n' && lc == '\r' )
putchar(c);
else if( c == '\n' ) {
putchar('\r');
putchar(c);
}
else if( c != '\n' && lc == '\r' ) {
putchar('\n');
putchar(c);
}
else
putchar(c);
lc = c;
off++;
}
return 0;
}

View File

@ -1,3 +1,9 @@
Wed Sep 1 15:30:44 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
* argparse.c (arg_parse): Add standard options to the dump-options
output.
Tue Aug 31 17:20:44 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>

View File

@ -526,9 +526,11 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts)
exit(0);
}
else if( i < 0 && !strcmp( "dump-options", s+2) ) {
for(i=0; opts[i].short_opt; i++ )
for(i=0; opts[i].short_opt; i++ ) {
if( opts[i].long_opt )
printf( "--%s\n", opts[i].long_opt );
}
fputs("--dump-options\n--help\n--version\n--warranty\n", stdout );
exit(0);
}