diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | TODO | 6 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | configure.in | 5 | ||||
-rw-r--r-- | doc/gpg.1pod | 7 | ||||
-rw-r--r-- | g10/ChangeLog | 13 | ||||
-rw-r--r-- | g10/build-packet.c | 1 | ||||
-rw-r--r-- | g10/g10.c | 54 | ||||
-rw-r--r-- | g10/mainproc.c | 32 | ||||
-rw-r--r-- | g10/options.h | 2 | ||||
-rw-r--r-- | g10/parse-packet.c | 27 | ||||
-rw-r--r-- | g10/sign.c | 56 | ||||
-rw-r--r-- | include/util.h | 2 | ||||
-rw-r--r-- | po/ChangeLog | 4 | ||||
-rw-r--r-- | po/fr.po | 163 | ||||
-rw-r--r-- | util/miscutil.c | 2 |
17 files changed, 268 insertions, 118 deletions
@@ -1,3 +1,7 @@ +Tue May 25 19:50:32 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> + + * configure.in (IS_DEVELOPMENT_VERSION): Fixed detection. + Sun May 23 14:20:22 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> * acinclude.m4 (GNUPG_SYS_SYMBOL_UNDERSCORE): assume yes when @@ -1,3 +1,9 @@ + + * New option -N to insert notations + + + + Noteworthy changes in version 0.9.7 ----------------------------------- @@ -1,4 +1,10 @@ + * gppm links in doc und bin sind inkonsistent + + * remove signature: +Got an idea: just specify the keyid of the signature - this can be +done quite easily. + * add some status output put for signing and encryption. replace the putc in primegen with some kind of status-fd outputs. @@ -1 +1 @@ -0.9.7 +0.9.7a diff --git a/configure.in b/configure.in index dbcffd66c..a67516c41 100644 --- a/configure.in +++ b/configure.in @@ -494,7 +494,10 @@ fi fi AC_SUBST(ZLIBS) -if echo "$VERSION" | grep '[a-zA-Z]' >/dev/null ; then +changequote(,)dnl +tmp_pat='[a-zA-Z]' +changequote([,])dnl +if echo "$VERSION" | grep $tmp_pat >/dev/null ; then AC_DEFINE(IS_DEVELOPMENT_VERSION) fi diff --git a/doc/gpg.1pod b/doc/gpg.1pod index d6791993d..3844977e9 100644 --- a/doc/gpg.1pod +++ b/doc/gpg.1pod @@ -390,6 +390,13 @@ B<--no-comment> B<--comment> I<string> Use I<string> as comment string in clear text signatures. +B<--notation-data>, B<-N> I<name>=<value> + Put the name value pair into the signature as notation data. + I<name> Must consists only of alphanumeric characters, digits + or the underscore; the first character muts not be a digit. + B<value> May be any printable string; it will encoded in UTF8, + so sou should have check that your B<--charset> is set right. + B<--set-filename> I<string> Use I<string> as the name of file which is stored in messages. diff --git a/g10/ChangeLog b/g10/ChangeLog index 7d46c88c9..ecf7a6853 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,16 @@ +Tue May 25 19:50:32 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> + + * sign.c (sign_file): Always use compression algo 1 for signed + onyl file becuase we can´ be sure the the verifier supports other + algorithms. + + * build-packet.c (build_sig_subpkt): Support for notation data. + * sign.c (sign_file,clearsign_file,make_keysig_packet): Ditto. + (mk_notation): New. + * g10.c (add_notation_data): New and add option -N + * mainproc.c (print_notation_data): New. + (check_sig_and_print): Print any notation data of the signed text. + Sun May 23 14:20:22 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> * pkclist.c (check_signatures_trust): Print a warning and return diff --git a/g10/build-packet.c b/g10/build-packet.c index f90790343..0db12a727 100644 --- a/g10/build-packet.c +++ b/g10/build-packet.c @@ -646,6 +646,7 @@ build_sig_subpkt( PKT_signature *sig, sigsubpkttype_t type, case SIGSUBPKT_PREF_COMPR: case SIGSUBPKT_KS_FLAGS: case SIGSUBPKT_KEY_EXPIRE: + case SIGSUBPKT_NOTATION: hashed = 1; break; default: hashed = 0; break; } @@ -63,6 +63,7 @@ enum cmd_and_opt_values { aNull = 0, oUser = 'u', oVerbose = 'v', oCompress = 'z', + oNotation = 'N', oBatch = 500, aClearsign, aStore, @@ -254,6 +255,7 @@ static ARGPARSE_OPTS opts[] = { { oDigestAlgo, "digest-algo", 2 , N_("|NAME|use message digest algorithm NAME")}, { oCompressAlgo, "compress-algo", 1 , N_("|N|use compress algorithm N")}, { oThrowKeyid, "throw-keyid", 0, N_("throw keyid field of encrypted packets")}, + { oNotation, "notation-data", 2, N_("|NAME=VALUE|use this notation data")}, { 302, NULL, 0, N_("@\nExamples:\n\n" " -se -r Bob [file] sign and encrypt for user Bob\n" @@ -312,6 +314,7 @@ static void set_cmd( enum cmd_and_opt_values *ret_cmd, enum cmd_and_opt_values new_cmd ); static void print_hex( byte *p, size_t n ); static void print_mds( const char *fname, int algo ); +static void add_notation_data( const char *string ); const char * strusage( int level ) @@ -741,6 +744,7 @@ main( int argc, char **argv ) case oEscapeFrom: opt.escape_from = 1; break; case oLockOnce: opt.lock_once = 1; break; case oKeyServer: opt.keyserver_name = pargs.r.ret_str; break; + case oNotation: add_notation_data( pargs.r.ret_str ); break; default : pargs.err = configfp? 1:2; break; } @@ -1382,3 +1386,53 @@ print_mds( const char *fname, int algo ) fclose(fp); } + +/**************** + * Check the supplied name,value string and add it to the notation + * data to be used for signatures. + */ +static void +add_notation_data( const char *string ) +{ + const char *s = string; + const char *s2; + int highbit=0; + + if( !*s || (*s & 0x80) || (!isalpha(*s) && *s != '_') ) { + log_error(_("the first character of a notation name " + "must be a letter or an underscore\n") ); + return; + } + for(s++; *s != '='; s++ ) { + if( !*s || (*s & 0x80) || (!isalnum(*s) && *s != '_' && *s != '.' ) ) { + log_error(_("a notation name must have only letters, " + "digits, dots or underscores and end with an '='\n") ); + return; + } + } + if( s[-1] == '.' || ((s2=strstr(string, "..")) && s2 < s ) ) { + log_error(_("dots in a notation name must be surrounded " + "by other characters\n") ); + return; + } + /* we do only support printabe text - therefore we enforce the use + * of only printable characters (an empty value is valid) */ + for( s++; *s ; s++ ) { + if( iscntrl(*s) ) { + log_error(_("a notation value must not use " + "any control characters\n") ); + return; + } + else if( *s & 0x80 ) + highbit = 1; + } + + if( highbit ) { /* must use UTF8 encoding */ + char *p = native_to_utf8( string ); + add_to_strlist( &opt.notation_data, p ); + m_free( p ); + } + else + add_to_strlist( &opt.notation_data, string ); +} + diff --git a/g10/mainproc.c b/g10/mainproc.c index 6d16d624a..6eb587fe9 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -492,6 +492,35 @@ print_fingerprint( PKT_public_key *pk, PKT_secret_key *sk ) putchar('\n'); } +static void +print_notation_data( PKT_signature *sig ) +{ + size_t n, n1, n2; + const byte *p; + + /* FIXME: we can not handle multiple notaion data packets yet */ + p = parse_sig_subpkt( sig->hashed_data, SIGSUBPKT_NOTATION, &n ); + if( !p ) + return; + if( n < 8 ) { + log_info(_("WARNING: invalid notation data found\n")); + return; + } + if( !(*p & 0x80) ) + return; /* not human readable */ + n1 = (p[4] << 8) | p[5]; + n2 = (p[6] << 8) | p[7]; + p += 8; + if( 8+n1+n2 != n ) { + log_info(_("WARNING: invalid notation data found\n")); + return; + } + log_info(_("Notation: ") ); + print_string( log_stream(), p, n1, 0 ); + putc( '=', log_stream() ); + print_string( log_stream(), p+n1, n2, 0 ); + putc( '\n', log_stream() ); +} /**************** * List the certificate in a user friendly way @@ -935,7 +964,8 @@ check_sig_and_print( CTX c, KBNODE node ) fputs("[?]\"\n", log_stream() ); } release_kbnode( keyblock ); - + if( !rc ) + print_notation_data( sig ); if( !rc && is_status_enabled() ) { /* print a status response with the fingerprint */ diff --git a/g10/options.h b/g10/options.h index 3e81044be..8d3b3c61c 100644 --- a/g10/options.h +++ b/g10/options.h @@ -20,6 +20,7 @@ #ifndef G10_OPTIONS_H #define G10_OPTIONS_H +#include <types.h> #undef ENABLE_COMMENT_PACKETS /* don't create comment packets */ @@ -73,6 +74,7 @@ struct { const char *keyserver_name; int no_encrypt_to; int interactive; + STRLIST notation_data; } opt; diff --git a/g10/parse-packet.c b/g10/parse-packet.c index 47d28e396..7d5958adf 100644 --- a/g10/parse-packet.c +++ b/g10/parse-packet.c @@ -745,7 +745,28 @@ dump_sig_subpkt( int hashed, int type, int critical, (ulong)buffer_to_u32(buffer+4) ); break; case SIGSUBPKT_NOTATION: - p = "notation data"; + { + fputs("notation: ", stdout ); + if( length < 8 ) + p = "[too short]"; + else if( !(*buffer & 0x80) ) + p = "[not human readable]"; + else { + const byte *s = buffer; + size_t n1, n2; + + n1 = (s[4] << 8) | s[5]; + n2 = (s[6] << 8) | s[7]; + s += 8; + if( 8+n1+n2 != length ) + p = "[error]"; + else { + print_string( stdout, s, n1, 0 ); + putc( '=', stdout ); + print_string( stdout, s+n1, n2, 0 ); + } + } + } break; case SIGSUBPKT_PREF_HASH: fputs("pref-hash-algos:", stdout ); @@ -808,6 +829,10 @@ parse_one_sig_subpkt( const byte *buffer, size_t n, int type ) if( n < 8 ) break; return 0; + case SIGSUBPKT_NOTATION: + if( n < 8 ) /* minimum length needed */ + break; + return 0; case SIGSUBPKT_PREF_SYM: case SIGSUBPKT_PREF_HASH: case SIGSUBPKT_PREF_COMPR: diff --git a/g10/sign.c b/g10/sign.c index a74ee867e..e62bbbaef 100644 --- a/g10/sign.c +++ b/g10/sign.c @@ -39,6 +39,46 @@ #include "i18n.h" + +/**************** + * Create a notation. It is assumed that the stings in STRLIST + * are already checked to contain only printable data and have a valid + * NAME=VALUE format. + */ +static void +mk_notation( PKT_signature *sig, STRLIST nd ) +{ + const char *string, *s; + byte *buf; + unsigned n1, n2; + + if( sig->version < 4 ) { + log_info("can't put notation data into v3 signatures\n"); + return; + } + + for( ; nd; nd = nd->next ) { + string = nd->d; + s = strchr( string, '=' ); + if( !s ) + BUG(); /* we have already parsed this */ + n1 = s - string; + s++; + n2 = strlen(s); + buf = m_alloc( 8 + n1 + n2 ); + buf[0] = 0x80; /* human readable */ + buf[1] = buf[2] = buf[3] = 0; + buf[4] = n1 >> 8; + buf[5] = n1; + buf[6] = n2 >> 8; + buf[7] = n2; + memcpy(buf+8, string, n1 ); + memcpy(buf+8+n1, s, n2 ); + build_sig_subpkt( sig, SIGSUBPKT_NOTATION, buf, 8+n1+n2 ); + } +} + + static int do_sign( PKT_secret_key *sk, PKT_signature *sig, MD_HANDLE md, int digest_algo ) @@ -253,8 +293,10 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr, if( !compr_algo ) ; /* don't use compression */ else { - if( old_style || compr_algo == 1 ) - zfx.algo = 1; + if( old_style + || compr_algo == 1 + || (compr_algo == -1 && !encrypt) ) + zfx.algo = 1; /* use the non optional algorithm */ iobuf_push_filter( out, compress_filter, &zfx ); } } @@ -392,6 +434,10 @@ sign_file( STRLIST filenames, int detached, STRLIST locusr, build_sig_subpkt_from_sig( sig ); md_putc( md, sig->version ); } + + if( opt.notation_data ) + mk_notation( sig, opt.notation_data ); + md_putc( md, sig->sig_class ); if( sig->version < 4 ) { u32 a = sig->timestamp; @@ -578,6 +624,10 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile ) build_sig_subpkt_from_sig( sig ); md_putc( md, sig->version ); } + + if( opt.notation_data ) + mk_notation( sig, opt.notation_data ); + md_putc( md, sig->sig_class ); if( sig->version < 4 ) { u32 a = sig->timestamp; @@ -706,6 +756,8 @@ make_keysig_packet( PKT_signature **ret_sig, PKT_public_key *pk, rc = (*mksubpkt)( sig, opaque ); if( !rc ) { + if( opt.notation_data ) + mk_notation( sig, opt.notation_data ); if( sig->version >= 4 ) md_putc( md, sig->version ); md_putc( md, sig->sig_class ); diff --git a/include/util.h b/include/util.h index 35cc8fe3a..f62f34de8 100644 --- a/include/util.h +++ b/include/util.h @@ -152,7 +152,7 @@ u32 add_days_to_timestamp( u32 stamp, u16 days ); const char *strtimevalue( u32 stamp ); const char *strtimestamp( u32 stamp ); /* GMT */ const char *asctimestamp( u32 stamp ); /* localized */ -void print_string( FILE *fp, byte *p, size_t n, int delim ); +void print_string( FILE *fp, const byte *p, size_t n, int delim ); int answer_is_yes( const char *s ); /*-- strgutil.c --*/ diff --git a/po/ChangeLog b/po/ChangeLog index 0f1eceae1..b7f63faa1 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,7 @@ +Tue May 25 19:50:32 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> + + * fr.po: Imported new version. + Mon May 17 21:54:43 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> * de.po, de.glo: New version from Walter. @@ -4,11 +4,11 @@ # msgid "" msgstr "" -"Project-Id-Version: gnupg 0.9.4a\n" -"POT-Creation-Date: 1999-05-23 15:36+0200\n" -"PO-Revision-Date: 1999-03-20 20:09+01:00\n" +"Project-Id-Version: gnupg 0.9.7\n" +"POT-Creation-Date: 1999-05-24 20:18+0200\n" +"PO-Revision-Date: 1999-05-24 21:48+02:00\n" "Last-Translator: Gaël Quéri <gqueri@mail.dotcom.fr>\n" -"Language-Team: French <fr@li.org>\n" +"Language-Team: French <traduc@Linux.EU.ORG>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" @@ -224,9 +224,8 @@ msgid "network error" msgstr "erreur de réseau" #: util/errors.c:102 -#, fuzzy msgid "not encrypted" -msgstr "données chiffrées avec %s\n" +msgstr "non chiffré" #: util/logger.c:218 #, c-format @@ -353,9 +352,8 @@ msgid "export keys to a key server" msgstr "exporter les clés vers un serveur de clés" #: g10/g10.c:187 -#, fuzzy msgid "import keys from a key server" -msgstr "exporter les clés vers un serveur de clés" +msgstr "importer les clés d'un serveur de clés" #: g10/g10.c:190 msgid "import/merge keys" @@ -414,7 +412,7 @@ msgstr "" #: g10/g10.c:213 msgid "create ascii armored output" -msgstr "créer une sortie ascii armurée" +msgstr "créer une sortie ascii avec armure" #: g10/g10.c:214 msgid "|NAME|encrypt for NAME" @@ -430,7 +428,7 @@ msgstr "|N|niveau de compression N (0 désactive)" #: g10/g10.c:221 msgid "use canonical text mode" -msgstr "utiliser le mode de texte canonique" +msgstr "utiliser le mode texte canonique" #: g10/g10.c:222 msgid "use as output file" @@ -451,7 +449,7 @@ msgstr "forcer les signatures en v3" #: g10/g10.c:226 msgid "always use a MDC for encryption" -msgstr "" +msgstr "toujours utiliser un sceau pour le chiffrement" #: g10/g10.c:227 msgid "do not make any changes" @@ -512,11 +510,11 @@ msgstr "ne pas écrire de paquets de commentaire" #: g10/g10.c:243 msgid "(default is 1)" -msgstr "(1 par défaut)" +msgstr "nombre de signatures complètes requises (1)" #: g10/g10.c:244 msgid "(default is 3)" -msgstr "(3 par défaut)" +msgstr "nombre de signatures marginales requises (3)" #: g10/g10.c:246 msgid "|FILE|load extension module FILE" @@ -805,7 +803,7 @@ msgstr "erreur dans la ligne de remorque\n" #: g10/armor.c:1001 msgid "no valid OpenPGP data found.\n" -msgstr "aucune de donnée OpenPGP valide n'a été trouvée.\n" +msgstr "aucune donnée OpenPGP valide n'a été trouvée.\n" #: g10/armor.c:1005 #, c-format @@ -840,15 +838,17 @@ msgid "" " 4 = I trust fully\n" " s = please show me more information\n" msgstr "" -"Décidez à quel point vous avez confiance en cet utilisateur pour vérifier\n" -"correctement les clés des autres utilisateurs (en regardant des passeports,\n" -"en vérifiant les empreintes de diverses sources...)?\n" +"À quel point avez-vous confiance en cet utilisateur pour vérifier " +"correctement\n" +"les clés des autres utilisateurs (vous pouvez vérifier son passeport, " +"vérifier\n" +"les empreintes de diverses sources...) ?\n" "\n" " 1 = je ne sais pas\n" " 2 = je ne lui fais pas confiance\n" " 3 = je le crois marginalement\n" " 4 = je le crois totalement\n" -" s = montrez moi plus d'informations\n" +" s = montrez-moi plus d'informations\n" #: g10/pkclist.c:156 msgid " m = back to the main menu\n" @@ -914,9 +914,9 @@ msgid "Use this key anyway? " msgstr "Utiliser cette clé quand-même ? " #: g10/pkclist.c:291 -#, fuzzy, c-format +#, c-format msgid "key %08lX: subkey has been revoked!\n" -msgstr "clé %08lX : la clé a été révoquée !\n" +msgstr "clé %08lX : la sous-clé a été révoquée !\n" #: g10/pkclist.c:321 #, c-format @@ -976,9 +976,8 @@ msgid " This could mean that the signature is forgery.\n" msgstr " Cela pourrait signifier que la signature est fausse.\n" #: g10/pkclist.c:459 -#, fuzzy msgid "WARNING: This subkey has been revoked by its owner!\n" -msgstr "ATTENTION : Cette clé à été révoquée par son propriétaire !\n" +msgstr "ATTENTION : Cette sous-clé à été révoquée par son propriétaire !\n" #: g10/pkclist.c:480 msgid "Note: This key has expired!\n" @@ -1130,9 +1129,9 @@ msgstr "taille trop petite ; 768 est la plus petite valeur permise.\n" #. * 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 "taille trop petite ; 768 est la plus petite valeur permise.\n" +msgstr "taille trop importante ; %d est la plus grande valeur permise.\n" #: g10/keygen.c:471 msgid "" @@ -1232,7 +1231,7 @@ msgstr "Caractère invalide dans le nom\n" #: g10/keygen.c:612 msgid "Name may not start with a digit\n" -msgstr "Le nom ne doit pas commencer avec un chiffre\n" +msgstr "Le nom ne doit pas commencer par un chiffre\n" #: g10/keygen.c:614 msgid "Name must be at least 5 characters long\n" @@ -1436,9 +1435,9 @@ msgstr "" "principale %08lX\n" #: g10/import.c:116 -#, fuzzy, c-format +#, c-format msgid "can't open `%s': %s\n" -msgstr "ne peut ouvrir %s: %s\n" +msgstr "impossible d'ouvrir `%s': %s\n" #: g10/import.c:160 #, c-format @@ -1451,9 +1450,9 @@ msgid "%lu keys so far processed\n" msgstr "%lu clés traitées jusqu'ici\n" #: g10/import.c:172 -#, fuzzy, c-format +#, c-format msgid "error reading `%s': %s\n" -msgstr "erreur pendant la création du mot de passe : %s\n" +msgstr "erreur pendant la lecture de `%s' : %s\n" #: g10/import.c:175 #, c-format @@ -1539,14 +1538,12 @@ msgid "writing to `%s'\n" msgstr "écriture de `%s'\n" #: g10/import.c:379 g10/import.c:435 -#, fuzzy msgid "can't lock keyring `%': %s\n" -msgstr "ne peut verrouiller le porte-clés public : %s\n" +msgstr "ne peut verrouiller le porte-clés `%' : %s\n" #: g10/import.c:382 -#, fuzzy msgid "error writing keyring `%': %s\n" -msgstr "%s : erreur pendant l'écriture de l'enregistrement de version : %s\n" +msgstr "erreur durant la lecture du porte-clés `%' : %s\n" #: g10/import.c:387 #, c-format @@ -1569,9 +1566,9 @@ msgid "key %08lX: can't read original keyblock: %s\n" msgstr "clé %08lX : ne peut lire le bloc de clés original : %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 : erreur pendant l'écriture de l'enregistrement de version : %s\n" +msgstr "erreur durant l'écriture du porte-clés `%s' : %s\n" #: g10/import.c:444 #, c-format @@ -1609,9 +1606,9 @@ msgid "key %08lX: not changed\n" msgstr "clé %08lX : n'a pas changé\n" #: g10/import.c:544 g10/import.c:645 -#, fuzzy, c-format +#, c-format msgid "can't lock keyring `%s': %s\n" -msgstr "ne peut verrouiller le porte-clés public : %s\n" +msgstr "ne peut verrouiller le porte-clés `%s' : %s\n" #: g10/import.c:552 #, c-format @@ -1703,7 +1700,7 @@ msgstr "clé %08lX : certificat de révocation invalide : %s - ignorée\n" #: g10/import.c:915 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" -msgstr "" +msgstr "clé %08lX: nom d'utilisateur doublon fusionné\n" #: g10/import.c:966 #, c-format @@ -1722,7 +1719,7 @@ msgstr "%s : utilisateur non trouvé\n" #: g10/keyedit.c:177 msgid "[revocation]" -msgstr "" +msgstr "[révocation]" #: g10/keyedit.c:178 msgid "[self-signature]" @@ -2016,29 +2013,25 @@ msgid "change the ownertrust" msgstr "changer la confiance" #: g10/keyedit.c:564 -#, fuzzy msgid "revsig" -msgstr "signer" +msgstr "revsig" # #: g10/keyedit.c:564 -#, fuzzy msgid "revoke signatures" -msgstr "forcer les signatures en v3" +msgstr "révoquer les signatures" #: g10/keyedit.c:565 -#, fuzzy msgid "revkey" -msgstr "clé" +msgstr "revclé" #: g10/keyedit.c:565 -#, fuzzy msgid "revoke a secondary key" -msgstr "enlever une clé secondaire" +msgstr "révoquer une clé secondaire" #: g10/keyedit.c:584 msgid "can't do that in batchmode\n" -msgstr "ne peut faire cela en mode automatique\n" +msgstr "impossible de faire cela en mode automatique\n" #. check that they match #. FIXME: check that they both match @@ -2118,14 +2111,12 @@ msgid "Do you really want to delete this key? " msgstr "Voulez-vous vraiment supprimer cette clé ? " #: g10/keyedit.c:846 -#, fuzzy msgid "Do you really want to revoke the selected keys? " -msgstr "Voulez-vous vraiment supprimer les clés sélectionnées ? " +msgstr "Voulez-vous vraiment révoquer les clés sélectionnées ? " #: g10/keyedit.c:847 -#, fuzzy msgid "Do you really want to revoke this key? " -msgstr "Voulez-vous vraiment supprimer cette clé ? " +msgstr "Voulez-vous vraiment révoquer cette clé ? " #: g10/keyedit.c:901 msgid "Invalid command (try \"help\")\n" @@ -2166,31 +2157,29 @@ msgid "No secondary key with index %d\n" msgstr "Pas de clé secondaire avec l'index %d\n" #: g10/keyedit.c:1566 -#, fuzzy msgid "user ID: \"" -msgstr "Entrez le nom d'utilisateur : " +msgstr "nom d'utilisateur : « " #: g10/keyedit.c:1569 -#, fuzzy, c-format +#, c-format msgid "" "\"\n" "signed with your key %08lX at %s\n" -msgstr "Rien à signer avec la clé %08lX\n" +msgstr "" +" »\n" +"signé avec votre clé %08lX à %s\n" #: g10/keyedit.c:1573 -#, fuzzy msgid "Create a revocation certificate for this signature? (y/N)" -msgstr "générer un certificat de révocation" +msgstr "Générer un certificat de révocation pour cette signature ? (o/N)" #: g10/keyedit.c:1653 -#, fuzzy msgid "Really create the revocation certificates? (y/N)" -msgstr "générer un certificat de révocation" +msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)" #: g10/keyedit.c:1676 -#, fuzzy msgid "no secret key\n" -msgstr "mauvaise clé secrète" +msgstr "pas de clé secrète\n" #: g10/mainproc.c:184 #, c-format @@ -2216,7 +2205,7 @@ msgstr "le déchiffrement a réussi\n" #: g10/mainproc.c:252 msgid "WARNING: encrypted message has been manipulated!\n" -msgstr "" +msgstr "ATTENTION: le message chiffré a été manipulé !\n" #: g10/mainproc.c:257 #, c-format @@ -2385,11 +2374,8 @@ msgid "WARNING: Weak key detected - please change passphrase again.\n" msgstr "ATTENTION : Clé faible détectée - changez encore le mot de passe.\n" #: g10/sig-check.c:187 -#, fuzzy msgid "assuming bad MDC due to an unknown critical bit\n" -msgstr "" -"la signature est supposée être fausse car un bit critique est\n" -"inconnu\n" +msgstr "le sceau (MDC) est supposé être faux car un bit critique est inconnu\n" #: g10/sig-check.c:283 msgid "" @@ -3257,46 +3243,3 @@ msgstr "Pas d'aide disponible" #, c-format msgid "No help available for `%s'" msgstr "Pas d'aide disponible pour `%s'" - -#~ msgid "can't open file: %s\n" -#~ msgstr "ne peut ouvrir le fichier : %s\n" - -#~ msgid "read error: %s\n" -#~ msgstr "erreur de lecture : %s\n" - -#~ msgid "can't write to keyring: %s\n" -#~ msgstr "ne peut écrire le porte-clés : %s\n" - -#~ msgid "writing keyblock\n" -#~ msgstr "écriture du bloc de clés\n" - -#~ msgid "can't write keyblock: %s\n" -#~ msgstr "ne peut écrire le bloc de clés : %s\n" - -#~ msgid "can't lock secret keyring: %s\n" -#~ msgstr "ne peut verrouiller le porte-clés secret : %s\n" - -#~ msgid "can't write keyring: %s\n" -#~ msgstr "ne peut écrire le porte-clés : %s\n" - -#, fuzzy -#~ msgid "encrypted message is valid\n" -#~ msgstr "la fonction de hachage sélectionnée est invalide\n" - -#, fuzzy -#~ msgid "Can't check MDC: %s\n" -#~ msgstr "Ne peut vérifier la signature : %s\n" - -#~ msgid "Usage: gpgm [options] [files] (-h for help)" -#~ msgstr "Utilisation: gpgm [options] [fichiers] (-h pour l'aide)" - -# -#~ msgid "" -#~ "Syntax: gpgm [options] [files]\n" -#~ "GnuPG maintenance utility\n" -#~ msgstr "" -#~ "Syntaxe: gpgm [options] [fichiers]\n" -#~ "utilitaire de maitenance de GnuPG\n" - -#~ msgid "usage: gpgm [options] " -#~ msgstr "utilisation: gpgm [options] " diff --git a/util/miscutil.c b/util/miscutil.c index a1d480fa4..d902ae435 100644 --- a/util/miscutil.c +++ b/util/miscutil.c @@ -125,7 +125,7 @@ asctimestamp( u32 stamp ) * Print a string to FP, but filter all control characters out. */ void -print_string( FILE *fp, byte *p, size_t n, int delim ) +print_string( FILE *fp, const byte *p, size_t n, int delim ) { for( ; n; n--, p++ ) if( iscntrl( *p ) || *p == delim ) { |