See ChangeLog: Fri Nov 27 12:39:29 CET 1998 Werner Koch
authorWerner Koch <wk@gnupg.org>
Fri, 27 Nov 1998 11:42:49 +0000 (11:42 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 27 Nov 1998 11:42:49 +0000 (11:42 +0000)
34 files changed:
THANKS
TODO
cipher/Makefile.am
cipher/rndlinux.c
configure.in
g10/ChangeLog
g10/Makefile.am
g10/delkey.c
g10/helptext.c [new file with mode: 0644]
g10/keyedit.c
g10/keygen.c
g10/main.h
g10/openfile.c
g10/passphrase.c
g10/pkclist.c
g10/plaintext.c
g10/revoke.c
g10/status.c
mpi/ChangeLog
mpi/config.links
mpi/powerpc32/distfiles
mpi/powerpc32/mpih-add1.S
mpi/powerpc32/mpih-lshift.S
mpi/powerpc32/mpih-mul1.S
mpi/powerpc32/mpih-mul2.S
mpi/powerpc32/mpih-mul3.S
mpi/powerpc32/mpih-rshift.S
mpi/powerpc32/mpih-sub1.S
mpi/powerpc32/syntax.h [new file with mode: 0644]
po/ChangeLog
po/POTFILES.in
po/en.po [deleted file]
scripts/ChangeLog
scripts/commit [new file with mode: 0755]

diff --git a/THANKS b/THANKS
index 3888e70..e80e278 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -16,6 +16,7 @@ Christopher Oliver    oliver@fritz.traverse.net
 Daniel Eisenbud        eisenbud@cs.swarthmore.edu
 David Ellement         ellement@sdd.hp.com
 Detlef Lannert         lannert@lannert.rz.uni-duesseldorf.de
+Dirk Lattermann        dlatt@t-online.de
 Ed Boraas              ecxjo@esperanto.org
 Ernst Molitor          ernst.molitor@uni-bonn.de
 Fabio Coatti           cova@felix.unife.it
diff --git a/TODO b/TODO
index 39124b5..895a9db 100644 (file)
--- a/TODO
+++ b/TODO
@@ -5,17 +5,12 @@
 
     * preferences of hash algorithms are not yet used.
 
-    * Hash calculation for cleartext sigs without a "Hash: xxx" line
-      does it work as specified in the RFC? - Hmmm, I think so
-
     * Check Berkeley BD - it is in glibc -any licensing problems?
 
     * I noticed, that we sometimes have only 3 items in a trustrecord, but
       a next pointer ro more records - check wehther the reuse code really
       works. Maybe this is the reason for the "Hmmm public key lost"
 
-    * check support for mpi/powerpc (see Brian's mail)
-
     * use zlib 1.1.13 to avoid a bug with 13 bit windows
       but there are more problems with large files
 
@@ -55,9 +50,6 @@
 
     * add test cases for invalid data (scrambled armor or other random data)
 
-    * add some sanity checks to read_keyblock, so that we are sure that
-     the minimal requirements are met (?)
-
     * rewrite --list-packets or put it into another tool.
 
     * Burn the buffers used by fopen(), or use read(2). Does this
 
     * 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?)
 
     * change the fake_data stuff to mpi_set_opaque
 
-    * Is it okay to use gettext for the help system?
-
     * Add some stuff for DU cc
 
     * Use "user ID", "trustdb", "NOTE" and "WARNING".
index 69ba296..a27989c 100644 (file)
@@ -59,6 +59,9 @@ twofish: $(srcdir)/twofish.c
 rndunix: $(srcdir)/rndunix.c
        $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndunix $(srcdir)/rndunix.c
 
+rndlinux: $(srcdir)/rndlinux.c
+       $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndlinux $(srcdir)/rndlinux.c
+
 
 
 install-exec-hook:
index de2710c..69af64f 100644 (file)
 #include <string.h>
 #include <unistd.h>
 #include <fcntl.h>
-#include "util.h"
-#include "ttyio.h"
-#include "i18n.h"
-
-/* #define IS_MODULE 1 */
+#include "types.h"
+#ifdef IS_MODULE
+  #include "g10lib.h"
+  #define _(a) (a)
+#else
+  #include "util.h"
+  #include "ttyio.h"
+  #include "i18n.h"
+  #include "dynload.h"
+#endif
 
 static int open_device( const char *name, int minor );
 static int gather_random( byte *buffer, size_t *r_length, int level );
 
+#ifdef IS_MODULE
+static void tty_printf(const char *fmt, ... )
+{
+    g10_log_info("tty_printf not available (%s)\n", fmt );
+}
+#endif
+
 
 static void
 fast_poll( void (*add)(const void*, size_t, int) )
@@ -93,14 +105,14 @@ open_device( const char *name, int minor )
 
     fd = open( name, O_RDONLY );
     if( fd == -1 )
-       log_fatal("can't open %s: %s\n", name, strerror(errno) );
+       g10_log_fatal("can't open %s: %s\n", name, strerror(errno) );
     if( fstat( fd, &sb ) )
-       log_fatal("stat() off %s failed: %s\n", name, strerror(errno) );
+       g10_log_fatal("stat() off %s failed: %s\n", name, strerror(errno) );
   #if defined(__sparc__) && defined(__linux__)
     #warning something is wrong with UltraPenguin /dev/random
   #else
     if( !S_ISCHR(sb.st_mode) )
-       log_fatal("invalid random device!\n" );
+       g10_log_fatal("invalid random device!\n" );
   #endif
     return fd;
 }
@@ -153,12 +165,12 @@ gather_random( byte *buffer, size_t *r_length, int level )
        do {
            n = read(fd, buffer, length );
            if( n >= 0 && n > length ) {
-               log_error("bogus read from random device (n=%d)\n", n );
+               g10_log_error("bogus read from random device (n=%d)\n", n );
                n = length;
            }
        } while( n == -1 && errno == EINTR );
        if( n == -1 )
-           log_fatal("read error on random device: %s\n", strerror(errno) );
+           g10_log_fatal("read error on random device: %s\n", strerror(errno));
        assert( n <= length );
        buffer += n;
        length -= n;
@@ -169,7 +181,7 @@ gather_random( byte *buffer, size_t *r_length, int level )
 
 
 
-#ifndef IS_MODULES
+#ifndef IS_MODULE
 static
 #endif
 const char * const gnupgext_version = "RNDLINUX ($Revision$)";
index 5480e8e..26a3ed6 100644 (file)
@@ -14,7 +14,7 @@ AM_CONFIG_HEADER(config.h)
 
 VERSION=`cat $srcdir/VERSION`
 PACKAGE=gnupg
-ALL_LINGUAS="en de it fr ru es_ES"
+ALL_LINGUAS="de it fr ru es_ES"
 AC_SUBST(VERSION)
 AC_SUBST(PACKAGE)
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
index 8e0cc85..c4e5da1 100644 (file)
@@ -1,3 +1,10 @@
+Fri Nov 27 12:39:29 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
+
+
+       * status.c (display_help): Removed.
+       * helptext.c: New and removed the N_() from all cpr_gets.
+
+
 Fri Nov 20 16:54:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
        * g10.c (main): New option --not-dash-escaped
index 02e3ee5..5920365 100644 (file)
@@ -55,7 +55,8 @@ common_source =  \
              revoke.c          \
              keylist.c         \
              sig-check.c       \
-             signal.c
+             signal.c          \
+             helptext.c
 
 gpg_SOURCES  = g10.c           \
              $(common_source)  \
index b84a8bf..08648b8 100644 (file)
@@ -128,8 +128,8 @@ delete_key( const char *username, int secret )
        m_free(p);
        tty_printf("\n\n");
 
-       yes = cpr_get_answer_is_yes( secret? N_("delete_key.secret.okay")
-                          : N_("delete_key.okay"),
+       yes = cpr_get_answer_is_yes( secret? "delete_key.secret.okay"
+                                          : "delete_key.okay",
                              _("Delete this key from the keyring? "));
        if( !cpr_enabled() && secret && yes ) {
            /* I think it is not required to check a passphrase; if
@@ -137,7 +137,7 @@ delete_key( const char *username, int secret )
             * (and has no backup) - it is up him to read some very
             * basic texts about security.
             */
-           yes = cpr_get_answer_is_yes(N_("delete_key.secret.okay"),
+           yes = cpr_get_answer_is_yes("delete_key.secret.okay",
                         _("This is a secret key! - really delete? "));
        }
        if( yes )
diff --git a/g10/helptext.c b/g10/helptext.c
new file mode 100644 (file)
index 0000000..6c9b981
--- /dev/null
@@ -0,0 +1,214 @@
+/* helptext.c  - English help texts
+ *     Copyright (C) 1998 Free Software Foundation, Inc.
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+#include <config.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "util.h"
+#include "ttyio.h"
+#include "main.h"
+#include "i18n.h"
+
+
+/****************
+ * These helptexts are used for the "online" help feature. We use
+ * a key consisting of words and dots. Because the lookup is only
+ * done in an interactive mode on a user request (when she enters a "?"
+ * as response to a prompt) we can use a simple search through the list.
+ * Translators should use the key as msgid, this is to keep the msgid short
+ * and to allow for easy changing of the helptexts.
+ */
+
+
+static struct helptexts { const char *key; const char *help; } helptexts[] = {
+
+/* begin of list */
+
+{ N_("edit_ownertrust.value"),
+"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."
+},
+
+{ N_("revoked_key.override"),
+"If you want to use this revoked key anyway, answer \"yes\"."
+},
+
+{ N_("untrusted_key.override"),
+"If you want to use this untrusted key anyway, answer \"yes\"."
+},
+
+{ N_("pklist.user_id.enter"),
+"Enter the user id of the addresse to whom you want to send the message."
+},
+
+{ N_("keygen.algo"),
+"Select the algorithm to use.\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"
+"ElGamal is a algorithm which can be used for signatures and encryption.\n"
+"OpenPGP distunguishs between two flavors of this algorithms: a 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 implemenations are not required to understand\n"
+"the signature+encryption flavor.\n"
+"The first (primary) key must always be a key which is capable of signing;\n"
+"this is the reason why the ecrytion only ElGamal key is disabled in this.\n"
+"You should not select the \"ElGamal in a v3 packet\", because that key is\n"
+"not compatible to other OpenPGP implementations."
+},
+
+{ N_("keygen.size"),
+ ""
+},
+
+{ N_("keygen.size.huge.okay"),
+ ""
+},
+
+
+{ N_("keygen.size.large.okay"),
+ ""
+},
+
+
+{ N_("keygen.valid"),
+ ""
+},
+
+{ N_("keygen.valid.okay"),
+ ""
+},
+
+
+{ N_("keygen.name"),
+ ""
+},
+
+
+{ N_("keygen.email"),
+ ""
+},
+
+{ N_("keygen.comment"),
+ ""
+},
+
+
+{ N_("keygen.userid.cmd"),
+ ""
+"N  to change the name.\n"
+"C  to change the comment.\n"
+"E  to change the email address.\n"
+"O  to continue with key generation.\n"
+"Q  to to quit the key generation."
+},
+
+{ N_("keygen.sub.okay"),
+ "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key."
+},
+
+{ N_("sign_uid.okay"),
+ ""
+},
+
+
+{ N_("change_passwd.empty.okay"),
+ ""
+},
+
+
+{ N_("keyedit.cmd"),
+ "Please enter \"help\" to see the list of commands."
+},
+
+{ N_("keyedit.save.okay"),
+ ""
+},
+
+
+{ N_("keyedit.cancel.okay"),
+ ""
+},
+
+{ N_("keyedit.sign_all.okay"),
+ ""
+},
+
+{ N_("keyedit.remove.uid.okay"),
+ ""
+},
+
+{ N_("keyedit.remove.subkey.okay"),
+ ""
+},
+
+{ N_("passphrase.enter"),
+ ""
+"Please enter the passhrase; this is a secret sentence \n"
+"  Blurb, blurb,.... "
+},
+
+
+{ N_("passphrase.repeat"),
+ "Please repeat the last passphrase, so you are sure what you typed in."
+},
+
+{ N_("detached_signature.filename"),
+ ""
+},
+
+{ N_("openfile.overwrite.okay"),
+ ""
+},
+
+/* end of list */
+{ NULL, NULL } };
+
+
+void
+display_online_help( const char *keyword )
+{
+
+    tty_kill_prompt();
+    if( !keyword )
+       tty_printf(_("No help available") );
+    else {
+       const char *p = _(keyword);
+
+       if( strcmp( p, keyword ) )
+           tty_printf("%s", p );
+       else {
+           int i;
+
+           for(i=0; (p=helptexts[i].key) && strcmp( p, keyword ); i++ )
+               ;
+           if( !p || !*helptexts[i].help )
+               tty_printf(_("No help available for '%s'"), keyword );
+           else
+               tty_printf("%s", helptexts[i].help );
+       }
+    }
+    tty_printf("\n");
+}
+
+
index 8ed3167..f940b9e 100644 (file)
@@ -279,7 +279,7 @@ sign_uids( KBNODE keyblock, STRLIST locusr, int *ret_modified )
        m_free(p); p = NULL;
        tty_printf("\"\n\n");
 
-       if( !cpr_get_answer_is_yes(N_("sign_uid.okay"), _("Really sign? ")) )
+       if( !cpr_get_answer_is_yes("sign_uid.okay", _("Really sign? ")) )
            continue;;
        /* now we can sign the user ids */
       reloop: /* (must use this, because we are modifing the list) */
@@ -392,7 +392,7 @@ change_passphrase( KBNODE keyblock )
                rc = 0;
                tty_printf(_( "You don't want a passphrase -"
                            " this is probably a *bad* idea!\n\n"));
-               if( cpr_get_answer_is_yes(N_("change_passwd.empty.okay"),
+               if( cpr_get_answer_is_yes("change_passwd.empty.okay",
                               _("Do you really want to do this? ")))
                    changed++;
                break;
@@ -587,7 +587,7 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands )
                    have_commands = 0;
            }
            if( !have_commands ) {
-               answer = cpr_get(N_("keyedit.cmd"), _("Command> "));
+               answer = cpr_get("keyedit.cmd", _("Command> "));
                cpr_kill_prompt();
            }
            trim_spaces(answer);
@@ -635,10 +635,10 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands )
                goto leave;
            if( !modified && !sec_modified )
                goto leave;
-           if( !cpr_get_answer_is_yes(N_("keyedit.save.okay"),
+           if( !cpr_get_answer_is_yes("keyedit.save.okay",
                                        _("Save changes? ")) ) {
                if( cpr_enabled()
-                   || cpr_get_answer_is_yes(N_("keyedit.cancel.okay"),
+                   || cpr_get_answer_is_yes("keyedit.cancel.okay",
                                             _("Quit without saving? ")) )
                    goto leave;
                break;
@@ -697,7 +697,7 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands )
 
          case cmdSIGN: /* sign (only the public key) */
            if( count_uids(keyblock) > 1 && !count_selected_uids(keyblock) ) {
-               if( !cpr_get_answer_is_yes(N_("keyedit.sign_all.okay"),
+               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"));
                    break;
@@ -739,7 +739,7 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands )
                else if( count_uids(keyblock) - n1 < 1 )
                    tty_printf(_("You can't delete the last user id!\n"));
                else if( cpr_get_answer_is_yes(
-                           N_("keyedit.remove.uid.okay"),
+                           "keyedit.remove.uid.okay",
                        n1 > 1? _("Really remove all selected user ids? ")
                              : _("Really remove this user id? ")
                       ) ) {
@@ -766,7 +766,7 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands )
                if( !(n1=count_selected_keys( keyblock )) )
                    tty_printf(_("You must select at least one key.\n"));
                else if( sec_keyblock && !cpr_get_answer_is_yes(
-                           N_("keyedit.remove.subkey.okay"),
+                           "keyedit.remove.subkey.okay",
                       n1 > 1?
                        _("Do you really want to delete the selected keys? "):
                        _("Do you really want to delete this key? ")
index 34f4d97..fc64d49 100644 (file)
@@ -396,7 +396,7 @@ ask_algo( int *ret_v4, int addmode )
 
     *ret_v4 = 1;
     for(;;) {
-       answer = cpr_get(N_("keygen.algo"),_("Your selection? "));
+       answer = cpr_get("keygen.algo",_("Your selection? "));
        cpr_kill_prompt();
        algo = *answer? atoi(answer): 1;
        m_free(answer);
@@ -440,7 +440,7 @@ ask_keysize( int algo )
                 "    highest suggested keysize is 2048 bits\n"),
                                        pubkey_algo_to_string(algo) );
     for(;;) {
-       answer = cpr_get(N_("keygen.size"),
+       answer = cpr_get("keygen.size",
                          _("What keysize do you want? (1024) "));
        cpr_kill_prompt();
        nbits = *answer? atoi(answer): 1024;
@@ -453,7 +453,7 @@ ask_keysize( int algo )
            tty_printf(
                _("Keysizes larger than 2048 are not suggested because\n"
                  "computations take REALLY long!\n"));
-           if( cpr_get_answer_is_yes(N_("keygen.size.huge.okay"),_(
+           if( cpr_get_answer_is_yes("keygen.size.huge.okay",_(
                        "Are you sure that you want this keysize? ")) ) {
                tty_printf(_("Okay, but keep in mind that your monitor "
                             "and keyboard radiation is also very vulnerable "
@@ -462,7 +462,7 @@ ask_keysize( int algo )
            }
        }
        else if( nbits > 1536 && !cpr_enabled() ) {
-           if( cpr_get_answer_is_yes(N_("keygen.size.large.okay"),_(
+           if( cpr_get_answer_is_yes("keygen.size.large.okay",_(
                    "Do you really need such a large keysize? ")) )
                break;
        }
@@ -504,7 +504,7 @@ ask_expire_interval()
        int mult;
 
        m_free(answer);
-       answer = cpr_get(N_("keygen.valid"),_("Key is valid for? (0) "));
+       answer = cpr_get("keygen.valid",_("Key is valid for? (0) "));
        cpr_kill_prompt();
        trim_spaces(answer);
        if( !*answer )
@@ -531,7 +531,7 @@ ask_expire_interval()
        }
 
        if( !cpr_enabled()
-            && cpr_get_answer_is_yes(N_("keygen.valid.okay"),
+            && cpr_get_answer_is_yes("keygen.valid.okay",
                                       _("Is this correct (y/n)? ")) )
            break;
     }
@@ -585,7 +585,7 @@ ask_user_id( int mode )
        if( !aname ) {
            for(;;) {
                m_free(aname);
-               aname = cpr_get(N_("keygen.name"),_("Real name: "));
+               aname = cpr_get("keygen.name",_("Real name: "));
                trim_spaces(aname);
                cpr_kill_prompt();
                if( strpbrk( aname, "<([])>" ) )
@@ -601,7 +601,7 @@ ask_user_id( int mode )
        if( !amail ) {
            for(;;) {
                m_free(amail);
-               amail = cpr_get(N_("keygen.email"),_("Email address: "));
+               amail = cpr_get("keygen.email",_("Email address: "));
                trim_spaces(amail);
                strlwr(amail);
                cpr_kill_prompt();
@@ -621,7 +621,7 @@ ask_user_id( int mode )
        if( !acomment ) {
            for(;;) {
                m_free(acomment);
-               acomment = cpr_get(N_("keygen.comment"),_("Comment: "));
+               acomment = cpr_get("keygen.comment",_("Comment: "));
                trim_spaces(acomment);
                cpr_kill_prompt();
                if( !*acomment )
@@ -659,7 +659,7 @@ ask_user_id( int mode )
                answer[1] = 0;
            }
            else {
-               answer = cpr_get(N_("keygen.userid.cmd"),_(
+               answer = cpr_get("keygen.userid.cmd",_(
                    "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "));
                cpr_kill_prompt();
            }
@@ -997,7 +997,7 @@ generate_subkeypair( KBNODE pub_keyblock, KBNODE sec_keyblock )
     assert(algo);
     nbits = ask_keysize( algo );
     expire = ask_expire_interval();
-    if( !cpr_enabled() && !cpr_get_answer_is_yes(N_("keygen.sub.okay"),
+    if( !cpr_enabled() && !cpr_get_answer_is_yes("keygen.sub.okay",
                                                  _("Really create? ") ) )
        goto leave;
 
index 746a94d..424cc8d 100644 (file)
@@ -56,6 +56,9 @@ u16 checksum_mpi( MPI a );
 u16 checksum_mpi_counted_nbits( MPI a );
 u32 buffer_to_u32( const byte *buffer );
 
+/*-- helptext.c --*/
+void display_online_help( const char *keyword );
+
 /*-- encode.c --*/
 int encode_symmetric( const char *filename );
 int encode_store( const char *filename );
index 0dff81b..a6d24ed 100644 (file)
@@ -56,7 +56,7 @@ overwrite_filep( const char *fname )
        return 0;  /* do not overwrite */
 
     tty_printf(_("File '%s' exists. "), fname);
-    if( cpr_get_answer_is_yes(N_("openfile.overwrite.okay"),
+    if( cpr_get_answer_is_yes("openfile.overwrite.okay",
                               _("Overwrite (y/N)? ")) )
        return 1;
     return 0;
index a6901b1..6a85f8a 100644 (file)
@@ -171,10 +171,10 @@ passphrase_to_dek( u32 *keyid, int cipher_algo, STRING2KEY *s2k, int mode )
     else if( opt.batch )
        log_fatal("Can't query password in batchmode\n");
     else {
-       pw = cpr_get_hidden(N_("passphrase.enter"), _("Enter passphrase: ") );
+       pw = cpr_get_hidden("passphrase.enter", _("Enter passphrase: ") );
        tty_kill_prompt();
        if( mode == 2 && !cpr_enabled() ) {
-           char *pw2 = cpr_get_hidden(N_("passphrase.repeat"),
+           char *pw2 = cpr_get_hidden("passphrase.repeat",
                                       _("Repeat passphrase: ") );
            tty_kill_prompt();
            if( strcmp(pw, pw2) ) {
index d313b8b..b117dcc 100644 (file)
@@ -146,7 +146,7 @@ edit_ownertrust( ulong lid, int mode )
 
        if( strlen(ans) != 4 )
            BUG();
-       p = cpr_get(N_("edit_ownertrust.value"),_("Your decision? "));
+       p = cpr_get("edit_ownertrust.value",_("Your decision? "));
        trim_spaces(p);
        cpr_kill_prompt();
        if( *p && p[1] )
@@ -240,7 +240,7 @@ do_we_trust( PKT_public_key *pk, int trustlevel )
        if( opt.batch )
            return 0;
 
-       if( !cpr_get_answer_is_yes(N_("revoked_key.override"),
+       if( !cpr_get_answer_is_yes("revoked_key.override",
                                    _("Use this key anyway? ")) )
            return 0;
     }
@@ -331,8 +331,8 @@ do_we_trust_pre( PKT_public_key *pk, int trustlevel )
 "If you *really* know what you are doing, you may answer\n"
 "the next question with yes\n\n") );
 
-       if( cpr_get_answer_is_yes(N_("untrusted_key.override"),
-                                  _("Use this key anyway? "))  )
+       if( cpr_get_answer_is_yes("untrusted_key.override",
+                                 _("Use this key anyway? "))  )
            rc = 1;
     }
     else if( opt.always_trust && !rc ) {
@@ -478,7 +478,7 @@ build_pk_list( STRLIST remusr, PK_LIST *ret_pk_list, unsigned usage )
        for(;;) {
            rc = 0;
            m_free(answer);
-           answer = cpr_get_utf8(N_("pklist.user_id.enter"),
+           answer = cpr_get_utf8("pklist.user_id.enter",
                                   _("Enter the user ID: "));
            trim_spaces(answer);
            cpr_kill_prompt();
index a133f16..7eda8df 100644 (file)
@@ -211,8 +211,8 @@ ask_for_detached_datafile( md_filter_context_t *mfx, const char *inname )
        tty_printf("Detached signature.\n");
        do {
            m_free(answer);
-           answer = cpr_get(N_("detached_signature.filename"),
-                             _("Please enter name of data file: "));
+           answer = cpr_get("detached_signature.filename",
+                          _("Please enter name of data file: "));
            cpr_kill_prompt();
            if( any && !*answer ) {
                rc = G10ERR_READ_FILE;
index 3d1eb44..2491ee0 100644 (file)
@@ -117,7 +117,7 @@ gen_revoke( const char *uname )
     }
 
     tty_printf("\n");
-    if( !cpr_get_answer_is_yes(N_("gen_revoke.okay"),
+    if( !cpr_get_answer_is_yes("gen_revoke.okay",
                        _("Create a revocation certificate for this key? ")) ){
        rc = 0;
        goto leave;
index 3fcf22b..3b9e197 100644 (file)
@@ -235,31 +235,6 @@ do_shm_get( const char *keyword, int hidden, int bool )
 
 #endif /* USE_SHM_COPROCESSING */
 
-static void
-display_help( const char *keyword )
-{
-    const char *p;
-    int hint = 0;
-
-    tty_kill_prompt();
-    if( !keyword ) {
-       tty_printf(_("No help available") );
-       hint++;
-    }
-    else {
-       p = _(keyword);
-       if( !strcmp( p, keyword ) ) {
-           tty_printf(_("No help available for '%s'"), keyword );
-           hint++;
-       }
-       else
-           tty_printf("%s", p );
-    }
-    tty_printf("\n");
-    if( hint )
-       tty_printf("You should set your LANG variable to a valid value.\n"
-                  "Set LANG to \"en\" to see the English help texts.\n" );
-}
 
 
 int
@@ -285,7 +260,7 @@ cpr_get( const char *keyword, const char *prompt )
        p = tty_get( prompt );
        if( *p == '?' && !p[1] ) {
            m_free(p);
-           display_help( keyword );
+           display_online_help( keyword );
        }
        else
            return p;
@@ -318,7 +293,7 @@ cpr_get_hidden( const char *keyword, const char *prompt )
        p = tty_get_hidden( prompt );
        if( *p == '?' && !p[1] ) {
            m_free(p);
-           display_help( keyword );
+           display_online_help( keyword );
        }
        else
            return p;
@@ -350,7 +325,7 @@ cpr_get_answer_is_yes( const char *keyword, const char *prompt )
        trim_spaces(p); /* it is okay to do this here */
        if( *p == '?' && !p[1] ) {
            m_free(p);
-           display_help( keyword );
+           display_online_help( keyword );
        }
        else {
            tty_kill_prompt();
index 1fb336e..c5e67c4 100644 (file)
@@ -1,3 +1,9 @@
+Thu Nov 26 07:27:52 1998  Werner Koch  <werner.koch@guug.de>
+
+       * config.links: Support for ppc with ELF
+       * powerpc32/syntax.h: New.
+       * powerpc32/*.S: Applied ELF patches (glibc patches)
+
 Tue Nov 10 19:31:37 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
        * power*/ : Started with stuff for PPC
index 11871a8..5de21ef 100644 (file)
@@ -146,6 +146,12 @@ case "${target}" in
        mpi_sflags="-Wa,-mppc"
        path="powerpc64"
        ;;
+    powerpc*-*-linux*)
+       echo '/* configured for powerpc/ELF */' >>./mpi/asm-syntax.h
+       echo '#define ELF_SYNTAX'               >>asm-syntax.h
+       cat   $srcdir/powerpc32/syntax.h        >>./mpi/asm-syntax.h
+       path="powerpc32"
+       ;;
 
     *)
        echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
index 2a6f0e5..af10d79 100644 (file)
@@ -5,4 +5,5 @@ mpih-mul2.S
 mpih-mul3.S
 mpih-lshift.S
 mpih-rshift.S
+syntax.h
 
index b4c00df..bbc5131 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
+#include "sysdep.h"
+#include "asm-syntax.h"
 
 
+#ifndef USE_PPC_PATCHES
+
 /*******************
  *  mpi_limb_t
  *  mpihelp_add_n( mpi_ptr_t res_ptr,  (r3)
@@ -57,4 +61,76 @@ Lend:        stw     7,4(3)          # store ultimate result limb
        addze   3,3             # ... return value register
        blr
 
+#else
+/* Add two limb vectors of equal, non-zero length for PowerPC.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+#include "sysdep.h"
+#include "asm-syntax.h"
+
+
+/* mp_limb_t mpn_add_n (mp_ptr res_ptr, mp_srcptr s1_ptr, mp_srcptr s2_ptr,
+                       mp_size_t size)
+   Calculate s1+s2 and put result in res_ptr; return carry, 0 or 1.  */
+
+/* Note on optimisation: This code is optimal for the 601.  Almost every other
+   possible 2-unrolled inner loop will not be. Also, watch out for the
+   alignment...  */
+
+EALIGN(_mpihelp_add_n,3,0)
+/* Set up for loop below.  */
+       mtcrf 0x01,%r6
+       srwi. %r7,%r6,1
+       li    %r10,0
+       mtctr %r7
+       bt    31,2f
+
+/* Clear the carry.  */
+       addic %r0,%r0,0
+/* Adjust pointers for loop.  */
+       addi  %r3,%r3,-4
+       addi  %r4,%r4,-4
+       addi  %r5,%r5,-4
+       b     0f
+
+2:     lwz  %r7,0(%r5)
+       lwz  %r6,0(%r4)
+       addc %r6,%r6,%r7
+       stw  %r6,0(%r3)
+       beq  1f
+
+/* The loop.  */
+
+/* Align start of loop to an odd word boundary to guarantee that the
+   last two words can be fetched in one access (for 601).  */
+0:     lwz  %r9,4(%r4)
+       lwz  %r8,4(%r5)
+       lwzu %r6,8(%r4)
+       lwzu %r7,8(%r5)
+       adde %r8,%r9,%r8
+       stw  %r8,4(%r3)
+       adde %r6,%r6,%r7
+       stwu %r6,8(%r3)
+       bdnz 0b
+/* Return the carry.  */
+1:     addze %r3,%r10
+       blr
+END(_mpihelp_add_n)
+#endif
 
index eb5bd50..d85fe21 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
+#include "sysdep.h"
+#include "asm-syntax.h"
+
+
+#ifndef USE_PPC_PATCHES
 
 /*******************
  * mpi_limb_t
@@ -68,4 +73,126 @@ Lend2:      slw     0,10,6
        stw     0,-4(7)
        blr
 
+#else
+/* Shift a limb left, low level routine.
+   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+/* mp_limb_t mpn_lshift (mp_ptr wp, mp_srcptr up, mp_size_t usize,
+                       unsigned int cnt)  */
+
+EALIGN(_mpihelp_lshift,3,0)
+       mtctr   %r5            # copy size into CTR
+       cmplwi  %cr0,%r5,16     # is size < 16
+       slwi    %r0,%r5,2
+       add     %r7,%r3,%r0     # make r7 point at end of res
+       add     %r4,%r4,%r0     # make r4 point at end of s1
+       lwzu    %r11,-4(%r4)    # load first s1 limb
+       subfic  %r8,%r6,32
+       srw     %r3,%r11,%r8    # compute function return value
+       bge     %cr0,L(big)     # branch if size >= 16
+
+       bdz     L(end1)
+
+0:     lwzu    %r10,-4(%r4)
+       slw     %r9,%r11,%r6
+       srw     %r12,%r10,%r8
+       or      %r9,%r9,%r12
+       stwu    %r9,-4(%r7)
+       bdz     L(end2)
+       lwzu    %r11,-4(%r4)
+       slw     %r9,%r10,%r6
+       srw     %r12,%r11,%r8
+       or      %r9,%r9,%r12
+       stwu    %r9,-4(%r7)
+       bdnz    0b
+
+L(end1):slw    %r0,%r11,%r6
+       stw     %r0,-4(%r7)
+       blr
+
+
+/* Guaranteed not to succeed.  */
+L(boom): tweq   %r0,%r0
+
+/* We imitate a case statement, by using (yuk!) fixed-length code chunks,
+   of size 4*12 bytes. We have to do this (or something) to make this PIC.  */
+L(big):        mflr    %r9
+       bltl-   %cr0,L(boom)    # Never taken, only used to set LR.
+       slwi    %r10,%r6,4
+       mflr    %r12
+       add     %r10,%r12,%r10
+       slwi    %r8,%r6,5
+       add     %r10,%r8,%r10
+       mtctr   %r10
+       addi    %r5,%r5,-1
+       mtlr    %r9
+       bctr
+
+L(end2):slw    %r0,%r10,%r6
+       stw     %r0,-4(%r7)
+       blr
+
+#define DO_LSHIFT(n) \
+       mtctr   %r5;                                                   \
+0:     lwzu    %r10,-4(%r4);                                          \
+       slwi    %r9,%r11,n;                                            \
+       inslwi  %r9,%r10,n,32-n;                                       \
+       stwu    %r9,-4(%r7);                                           \
+       bdz-    L(end2);                                               \
+       lwzu    %r11,-4(%r4);                                          \
+       slwi    %r9,%r10,n;                                            \
+       inslwi  %r9,%r11,n,32-n;                                       \
+       stwu    %r9,-4(%r7);                                           \
+       bdnz    0b;                                                    \
+       b       L(end1)
+
+       DO_LSHIFT(1)
+       DO_LSHIFT(2)
+       DO_LSHIFT(3)
+       DO_LSHIFT(4)
+       DO_LSHIFT(5)
+       DO_LSHIFT(6)
+       DO_LSHIFT(7)
+       DO_LSHIFT(8)
+       DO_LSHIFT(9)
+       DO_LSHIFT(10)
+       DO_LSHIFT(11)
+       DO_LSHIFT(12)
+       DO_LSHIFT(13)
+       DO_LSHIFT(14)
+       DO_LSHIFT(15)
+       DO_LSHIFT(16)
+       DO_LSHIFT(17)
+       DO_LSHIFT(18)
+       DO_LSHIFT(19)
+       DO_LSHIFT(20)
+       DO_LSHIFT(21)
+       DO_LSHIFT(22)
+       DO_LSHIFT(23)
+       DO_LSHIFT(24)
+       DO_LSHIFT(25)
+       DO_LSHIFT(26)
+       DO_LSHIFT(27)
+       DO_LSHIFT(28)
+       DO_LSHIFT(29)
+       DO_LSHIFT(30)
+       DO_LSHIFT(31)
 
+END(_mpihelp_lshift)
+#endif
index 854624d..35f94b1 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
+#include "sysdep.h"
+#include "asm-syntax.h"
+
+
+#ifndef USE_PPC_PATCHES
 
 /*******************
  * mpi_limb_t
@@ -65,3 +70,50 @@ Lend:        stw     7,4(3)
        addze   3,10
        blr
 
+#else
+/* Multiply a limb vector by a limb, for PowerPC.
+   Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+
+/* mp_limb_t mpn_mul_1 (mp_ptr res_ptr, mp_srcptr s1_ptr,
+                       mp_size_t s1_size, mp_limb_t s2_limb)
+   Calculate s1*s2 and put result in res_ptr; return carry.  */
+
+ENTRY(_mpihelp_mul_1)
+       mtctr   %r5
+
+       lwz     %r0,0(%r4)
+       mullw   %r7,%r0,%r6
+       mulhwu  %r10,%r0,%r6
+       addi    %r3,%r3,-4             # adjust res_ptr
+       addic   %r5,%r5,0              # clear cy with dummy insn
+       bdz     1f
+
+0:     lwzu    %r0,4(%r4)
+       stwu    %r7,4(%r3)
+       mullw   %r8,%r0,%r6
+       adde    %r7,%r8,%r10
+       mulhwu  %r10,%r0,%r6
+       bdnz    0b
+
+1:     stw     %r7,4(%r3)
+       addze   %r3,%r10
+       blr
+END(_mpihelp_mul_1)
+#endif
index 0b6486e..9577c28 100644 (file)
@@ -1,6 +1,6 @@
 /* PowerPC-32 addmul_1 -- Multiply a limb vector with a limb and add
  *                       the result to a second limb vector.
-
+ *
  * Copyright (C) 1995, 1998 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
+#include "sysdep.h"
+#include "asm-syntax.h"
+
+
+#ifndef USE_PPC_PATCHES
 
 /*******************
  * mpi_limb_t
@@ -70,4 +75,53 @@ Lend:        stw     8,4(3)
        addze   3,10
        blr
 
+#else
+/* Multiply a limb vector by a single limb, for PowerPC.
+   Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+
+/* mp_limb_t mpn_addmul_1 (mp_ptr res_ptr, mp_srcptr s1_ptr,
+                          mp_size_t s1_size, mp_limb_t s2_limb)
+   Calculate res+s1*s2 and put result back in res; return carry.  */
+ENTRY(_mpihelp_addmul_1)
+       mtctr   %r5
+
+       lwz     %r0,0(%r4)
+       mullw   %r7,%r0,%r6
+       mulhwu  %r10,%r0,%r6
+       lwz     %r9,0(%r3)
+       addc    %r8,%r7,%r9
+       addi    %r3,%r3,-4             /* adjust res_ptr */
+       bdz     1f
+
+0:     lwzu    %r0,4(%r4)
+       stwu    %r8,4(%r3)
+       mullw   %r8,%r0,%r6
+       adde    %r7,%r8,%r10
+       mulhwu  %r10,%r0,%r6
+       lwz     %r9,4(%r3)
+       addze   %r10,%r10
+       addc    %r8,%r7,%r9
+       bdnz    0b
 
+1:     stw     %r8,4(%r3)
+       addze   %r3,%r10
+       blr
+END(_mpihelp_addmul_1)
+#endif
index 46e85f6..a4a4d16 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
+#include "sysdep.h"
+#include "asm-syntax.h"
+
+
+#ifndef USE_PPC_PATCHES
 
 /*******************
  * mpi_limb_t
@@ -71,4 +76,55 @@ Lend:        stw     8,4(3)
        addze   3,10
        blr
 
+#else
+/* Multiply a limb vector by a single limb, for PowerPC.
+   Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+/* mp_limb_t mpn_submul_1 (mp_ptr res_ptr, mp_srcptr s1_ptr,
+                          mp_size_t s1_size, mp_limb_t s2_limb)
+   Calculate res-s1*s2 and put result back in res; return carry.  */
+
+ENTRY(_mpihelp_submul_1)
+       mtctr   %r5
+
+       lwz     %r0,0(%r4)
+       mullw   %r7,%r0,%r6
+       mulhwu  %r10,%r0,%r6
+       lwz     %r9,0(%r3)
+       subf    %r8,%r7,%r9
+       addc    %r7,%r7,%r8            # invert cy (r7 is junk)
+       addi    %r3,%r3,-4             # adjust res_ptr
+       bdz     1f
+
+0:     lwzu    %r0,4(%r4)
+       stwu    %r8,4(%r3)
+       mullw   %r8,%r0,%r6
+       adde    %r7,%r8,%r10
+       mulhwu  %r10,%r0,%r6
+       lwz     %r9,4(%r3)
+       addze   %r10,%r10
+       subf    %r8,%r7,%r9
+       addc    %r7,%r7,%r8            # invert cy (r7 is junk)
+       bdnz    0b
 
+1:     stw     %r8,4(%r3)
+       addze   %r3,%r10
+       blr
+END(_mpihelp_submul_1)
+#endif
index 9d70759..0dc54f2 100644 (file)
  */
 
 
+#include "sysdep.h"
+#include "asm-syntax.h"
+
+
+#ifndef USE_PPC_PATCHES
+
 /*******************
  * mpi_limb_t
  * mpihelp_rshift( mpi_ptr_t wp,       (r3)
@@ -66,3 +72,60 @@ Lend2:       srw     0,10,6
        stw     0,4(7)
        blr
 
+#else
+/* Shift a limb right, low level routine.
+   Copyright (C) 1995, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+
+/* INPUT PARAMETERS
+   res_ptr     r3
+   s1_ptr      r4
+   size               r5
+   cnt        r6  */
+
+ENTRY(_mpihelp_rshift)
+       mtctr   5              # copy size into CTR
+       addi    7,3,-4         # move adjusted res_ptr to free return reg
+       subfic  8,6,32
+       lwz     11,0(4)        # load first s1 limb
+       slw     3,11,8         # compute function return value
+       bdz     1f
+
+0:     lwzu    10,4(4)
+       srw     9,11,6
+       slw     12,10,8
+       or      9,9,12
+       stwu    9,4(7)
+       bdz     2f
+       lwzu    11,4(4)
+       srw     9,10,6
+       slw     12,11,8
+       or      9,9,12
+       stwu    9,4(7)
+       bdnz    0b
+
+1:     srw     0,11,6
+       stw     0,4(7)
+       blr
+
+2:     srw     0,10,6
+       stw     0,4(7)
+       blr
+END(_mpihelp_rshift)
+#endif
index b2e0590..1387650 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
+#include "sysdep.h"
+#include "asm-syntax.h"
+
+
+#ifndef USE_PPC_PATCHES
 
 /*******************
  *  mpi_limb_t
@@ -57,4 +62,71 @@ Lend:        stw     7,4(3)          # store ultimate result limb
        subfic  3,3,0           # ... return value register
        blr
 
+#else
+/* Subtract two limb vectors of equal, non-zero length for PowerPC.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+/* mp_limb_t mpn_sub_n (mp_ptr res_ptr, mp_srcptr s1_ptr, mp_srcptr s2_ptr,
+                       mp_size_t size)
+   Calculate s1-s2 and put result in res_ptr; return borrow, 0 or 1.  */
+
+/* Note on optimisation: This code is optimal for the 601.  Almost every other
+   possible 2-unrolled inner loop will not be. Also, watch out for the
+   alignment...  */
+
+EALIGN(_mpihelp_sub_n,3,1)
+/* Set up for loop below.  */
+       mtcrf 0x01,%r6
+       srwi. %r7,%r6,1
+       mtctr %r7
+       bt    31,2f
+
+/* Set the carry (clear the borrow).  */
+       subfc %r0,%r0,%r0
+/* Adjust pointers for loop.  */
+       addi  %r3,%r3,-4
+       addi  %r4,%r4,-4
+       addi  %r5,%r5,-4
+       b     0f
+
+2:     lwz   %r7,0(%r5)
+       lwz   %r6,0(%r4)
+       subfc %r6,%r7,%r6
+       stw   %r6,0(%r3)
+       beq   1f
 
+/* Align start of loop to an odd word boundary to guarantee that the
+   last two words can be fetched in one access (for 601).  This turns
+   out to be important.  */
+0:
+       lwz   %r9,4(%r4)
+       lwz   %r8,4(%r5)
+       lwzu  %r6,8(%r4)
+       lwzu  %r7,8(%r5)
+       subfe %r8,%r8,%r9
+       stw   %r8,4(%r3)
+       subfe %r6,%r7,%r6
+       stwu  %r6,8(%r3)
+       bdnz  0b
+/* Return the borrow. */
+1:     subfe %r3,%r3,%r3
+       neg   %r3,%r3
+       blr
+END(_mpihelp_sub_n)
+#endif
diff --git a/mpi/powerpc32/syntax.h b/mpi/powerpc32/syntax.h
new file mode 100644 (file)
index 0000000..6abb9eb
--- /dev/null
@@ -0,0 +1,75 @@
+/* gmp2-2.0.2-ppc/mpn/powerpc-linux/syntax.h   Tue Oct 6 19:27:01 1998 */
+/* From glibc's sysdeps/unix/sysv/linux/powerpc/sysdep.h */
+
+/* Copyright (C) 1992, 1997, 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA. */
+
+
+#define USE_PPC_PATCHES 1
+
+/* This seems to always be the case on PPC.  */
+#define ALIGNARG(log2) log2
+/* For ELF we need the `.type' directive to make shared libs work right.  */
+#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
+#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
+#define ASM_GLOBAL_DIRECTIVE   .globl
+
+#ifdef __STDC__
+# define C_LABEL(name) C_SYMBOL_NAME(name)##:
+#else
+# define C_LABEL(name) C_SYMBOL_NAME(name)/**/:
+#endif
+
+#ifdef __STDC__
+# define L(body) .L##body
+#else
+# define L(body) .L/**/body
+#endif
+
+/* No profiling of gmp's assembly for now... */
+#define CALL_MCOUNT /* no profiling */
+
+#define        ENTRY(name)                                                          \
+  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);                                 \
+  ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)                        \
+  .align ALIGNARG(2);                                                       \
+  C_LABEL(name)                                                                     \
+  CALL_MCOUNT
+
+#define EALIGN_W_0  /* No words to insert.  */
+#define EALIGN_W_1  nop
+#define EALIGN_W_2  nop;nop
+#define EALIGN_W_3  nop;nop;nop
+#define EALIGN_W_4  EALIGN_W_3;nop
+#define EALIGN_W_5  EALIGN_W_4;nop
+#define EALIGN_W_6  EALIGN_W_5;nop
+#define EALIGN_W_7  EALIGN_W_6;nop
+
+/* EALIGN is like ENTRY, but does alignment to 'words'*4 bytes
+   past a 2^align boundary.  */
+#define EALIGN(name, alignt, words)                                         \
+  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);                                 \
+  ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)                        \
+  .align ALIGNARG(alignt);                                                  \
+  EALIGN_W_##words;                                                         \
+  C_LABEL(name)
+
+#undef END
+#define END(name)                                                           \
+  ASM_SIZE_DIRECTIVE(name)
+
index 0a5afda..5932a97 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 27 12:39:29 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
+
+
+       * en.po: Removed
+
+
 Fri Nov 20 11:46:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
        * de.po: Imported new version
index 19fdd07..ec35732 100644 (file)
@@ -45,5 +45,6 @@ g10/pubkey-enc.c
 g10/openfile.c
 g10/encr-data.c
 g10/seskey.c
+g10/helptext.c
 
 #---end--
diff --git a/po/en.po b/po/en.po
deleted file mode 100644 (file)
index ae76ee6..0000000
--- a/po/en.po
+++ /dev/null
@@ -1,2920 +0,0 @@
-msgid ""
-msgstr ""
-"POT-Creation-Date: 1998-11-20 19:52+0100\n"
-"Content-Type: text/plain; charset=\n"
-"Date: 1998-08-08 18:07:50+0200\n"
-"From: Werner Koch <wk@frodo>\n"
-"Xgettext-Options: --default-domain=gnupg --directory=.. --add-comments "
-"--keyword=_ --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/passphrase.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:77
-msgid "Warning: using insecure memory!\n"
-msgstr ""
-
-#: util/miscutil.c:139
-msgid "yes"
-msgstr ""
-
-#: util/miscutil.c:140
-msgid "yY"
-msgstr ""
-
-#: util/errors.c:54
-msgid "General error"
-msgstr ""
-
-#: util/errors.c:55
-msgid "Unknown packet type"
-msgstr ""
-
-#: util/errors.c:56
-msgid "Unknown version"
-msgstr ""
-
-#: util/errors.c:57
-msgid "Unknown pubkey algorithm"
-msgstr ""
-
-#: util/errors.c:58
-msgid "Unknown digest algorithm"
-msgstr ""
-
-#: util/errors.c:59
-msgid "Bad public key"
-msgstr ""
-
-#: util/errors.c:60
-msgid "Bad secret key"
-msgstr ""
-
-#: util/errors.c:61
-msgid "Bad signature"
-msgstr ""
-
-#: util/errors.c:62
-msgid "Checksum error"
-msgstr ""
-
-#: util/errors.c:63
-#, fuzzy
-msgid "Bad passphrase"
-msgstr ""
-"Please enter the passhrase; this is a secret sentence \n"
-"  Blurb, blurb,.... "
-
-#: util/errors.c:64
-msgid "Public key not found"
-msgstr ""
-
-#: util/errors.c:65
-msgid "Unknown cipher algorithm"
-msgstr ""
-
-#: util/errors.c:66
-msgid "Can't open the keyring"
-msgstr ""
-
-#: util/errors.c:67
-msgid "Invalid packet"
-msgstr ""
-
-#: util/errors.c:68
-msgid "Invalid armor"
-msgstr ""
-
-#: util/errors.c:69
-msgid "No such user id"
-msgstr ""
-
-#: util/errors.c:70
-msgid "Secret key not available"
-msgstr ""
-
-#: util/errors.c:71
-msgid "Wrong secret key used"
-msgstr ""
-
-#: util/errors.c:72
-msgid "Not supported"
-msgstr ""
-
-#: util/errors.c:73
-msgid "Bad key"
-msgstr ""
-
-#: util/errors.c:74
-msgid "File read error"
-msgstr ""
-
-#: util/errors.c:75
-msgid "File write error"
-msgstr ""
-
-#: util/errors.c:76
-msgid "Unknown compress algorithm"
-msgstr ""
-
-#: util/errors.c:77
-msgid "File open error"
-msgstr ""
-
-#: util/errors.c:78
-msgid "File create error"
-msgstr ""
-
-#: util/errors.c:79
-msgid "Invalid passphrase"
-msgstr ""
-
-#: util/errors.c:80
-msgid "Unimplemented pubkey algorithm"
-msgstr ""
-
-#: util/errors.c:81
-msgid "Unimplemented cipher algorithm"
-msgstr ""
-
-#: util/errors.c:82
-msgid "Unknown signature class"
-msgstr ""
-
-#: util/errors.c:83
-msgid "Trust database error"
-msgstr ""
-
-#: util/errors.c:84
-msgid "Bad MPI"
-msgstr ""
-
-#: util/errors.c:85
-msgid "Resource limit"
-msgstr ""
-
-#: util/errors.c:86
-msgid "Invalid keyring"
-msgstr ""
-
-#: util/errors.c:87
-msgid "Bad certificate"
-msgstr ""
-
-#: util/errors.c:88
-msgid "Malformed user id"
-msgstr ""
-
-#: util/errors.c:89
-msgid "File close error"
-msgstr ""
-
-#: util/errors.c:90
-msgid "File rename error"
-msgstr ""
-
-#: util/errors.c:91
-msgid "File delete error"
-msgstr ""
-
-#: util/errors.c:92
-msgid "Unexpected data"
-msgstr ""
-
-#: util/errors.c:93
-msgid "Timestamp conflict"
-msgstr ""
-
-#: util/errors.c:94
-msgid "Unusable pubkey algorithm"
-msgstr ""
-
-#: util/errors.c:95
-msgid "File exists"
-msgstr ""
-
-#: util/errors.c:96
-msgid "Weak key"
-msgstr ""
-
-#: util/logger.c:178
-#, c-format
-msgid "... this is a bug (%s:%d:%s)\n"
-msgstr ""
-
-#: util/logger.c:184
-#, c-format
-msgid "you found a bug ... (%s:%d)\n"
-msgstr ""
-
-#: cipher/rand-dummy.c:112
-msgid "WARNING: using insecure random number generator!!\n"
-msgstr ""
-
-#: cipher/rand-dummy.c:113
-msgid ""
-"The random number generator is only a kludge to let\n"
-"it compile - it is in no way a strong RNG!\n"
-"\n"
-"DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n"
-"\n"
-msgstr ""
-
-#: cipher/rand-unix.c:149
-#, c-format
-msgid ""
-"\n"
-"Not enough random bytes available.  Please do some other work to give\n"
-"the OS a chance to collect more entropy! (Need %d more bytes)\n"
-msgstr ""
-
-#: g10/g10.c:155
-msgid ""
-"@Commands:\n"
-" "
-msgstr ""
-
-#: g10/g10.c:158
-msgid "|[file]|make a signature"
-msgstr ""
-
-#: g10/g10.c:159
-msgid "|[file]|make a clear text signature"
-msgstr ""
-
-#: g10/g10.c:160
-msgid "make a detached signature"
-msgstr ""
-
-#: g10/g10.c:161
-msgid "encrypt data"
-msgstr ""
-
-#: g10/g10.c:162
-msgid "encryption only with symmetric cipher"
-msgstr ""
-
-#: g10/g10.c:163
-msgid "store only"
-msgstr ""
-
-#: g10/g10.c:164
-msgid "decrypt data (default)"
-msgstr ""
-
-#: g10/g10.c:165
-msgid "verify a signature"
-msgstr ""
-
-#: g10/g10.c:167
-msgid "list keys"
-msgstr ""
-
-#: g10/g10.c:168
-msgid "list keys and signatures"
-msgstr ""
-
-#: g10/g10.c:169
-msgid "check key signatures"
-msgstr ""
-
-#: g10/g10.c:170
-msgid "list keys and fingerprints"
-msgstr ""
-
-#: g10/g10.c:171
-msgid "list secret keys"
-msgstr ""
-
-#: g10/g10.c:173
-msgid "generate a new key pair"
-msgstr ""
-
-#: g10/g10.c:175
-msgid "remove key from the public keyring"
-msgstr ""
-
-#: g10/g10.c:177
-msgid "sign or edit a key"
-msgstr ""
-
-#: g10/g10.c:178
-msgid "generate a revocation certificate"
-msgstr ""
-
-#: g10/g10.c:180
-msgid "export keys"
-msgstr ""
-
-#: g10/g10.c:182
-msgid "import/merge keys"
-msgstr ""
-
-#: g10/g10.c:184
-msgid "list only the sequence of packets"
-msgstr ""
-
-#: g10/g10.c:187
-#, fuzzy
-msgid "export the ownertrust values"
-msgstr ""
-"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."
-
-#: g10/g10.c:189
-#, fuzzy
-msgid "import ownertrust values"
-msgstr ""
-"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."
-
-#: g10/g10.c:191
-msgid "|[NAMES]|update the trust database"
-msgstr ""
-
-#: g10/g10.c:193
-msgid "|[NAMES]|check the trust database"
-msgstr ""
-
-#: g10/g10.c:194
-msgid "fix a corrupted trust database"
-msgstr ""
-
-#: g10/g10.c:195
-msgid "De-Armor a file or stdin"
-msgstr ""
-
-#: g10/g10.c:196
-msgid "En-Armor a file or stdin"
-msgstr ""
-
-#: g10/g10.c:197
-msgid "|algo [files]|print message digests"
-msgstr ""
-
-#: g10/g10.c:198
-msgid "print all message digests"
-msgstr ""
-
-#: g10/g10.c:205
-msgid ""
-"@\n"
-"Options:\n"
-" "
-msgstr ""
-
-#: g10/g10.c:207
-msgid "create ascii armored output"
-msgstr ""
-
-#: g10/g10.c:209
-msgid "use this user-id to sign or decrypt"
-msgstr ""
-
-#: g10/g10.c:210
-msgid "use this user-id for encryption"
-msgstr ""
-
-#: g10/g10.c:211
-msgid "|N|set compress level N (0 disables)"
-msgstr ""
-
-#: g10/g10.c:213
-msgid "use canonical text mode"
-msgstr ""
-
-#: g10/g10.c:215
-msgid "use as output file"
-msgstr ""
-
-#: g10/g10.c:216
-msgid "verbose"
-msgstr ""
-
-#: g10/g10.c:217
-msgid "be somewhat more quiet"
-msgstr ""
-
-#: g10/g10.c:218
-msgid "force v3 signatures"
-msgstr ""
-
-#. { oDryRun, "dry-run",   0, N_("do not make any changes") },
-#: g10/g10.c:220
-msgid "batch mode: never ask"
-msgstr ""
-
-#: g10/g10.c:221
-msgid "assume yes on most questions"
-msgstr ""
-
-#: g10/g10.c:222
-msgid "assume no on most questions"
-msgstr ""
-
-#: g10/g10.c:223
-msgid "add this keyring to the list of keyrings"
-msgstr ""
-
-#: g10/g10.c:224
-msgid "add this secret keyring to the list"
-msgstr ""
-
-#: g10/g10.c:225
-msgid "|NAME|use NAME as default secret key"
-msgstr ""
-
-#: g10/g10.c:226
-msgid "|NAME| set terminal charset to NAME"
-msgstr ""
-
-#: g10/g10.c:227
-msgid "read options from file"
-msgstr ""
-
-#: g10/g10.c:229
-msgid "set debugging flags"
-msgstr ""
-
-#: g10/g10.c:230
-msgid "enable full debugging"
-msgstr ""
-
-#: g10/g10.c:231
-msgid "|FD|write status info to this FD"
-msgstr ""
-
-#: g10/g10.c:232
-msgid "do not write comment packets"
-msgstr ""
-
-#: g10/g10.c:233
-msgid "(default is 1)"
-msgstr ""
-
-#: g10/g10.c:234
-msgid "(default is 3)"
-msgstr ""
-
-#: g10/g10.c:236
-msgid "|FILE|load extension module FILE"
-msgstr ""
-
-#: g10/g10.c:237
-msgid "emulate the mode described in RFC1991"
-msgstr ""
-
-#: g10/g10.c:238
-msgid "|N|use passphrase mode N"
-msgstr ""
-
-#: g10/g10.c:240
-msgid "|NAME|use message digest algorithm NAME for passphrases"
-msgstr ""
-
-#: g10/g10.c:242
-msgid "|NAME|use cipher algorithm NAME for passphrases"
-msgstr ""
-
-#: g10/g10.c:244
-msgid "|NAME|use cipher algorithm NAME"
-msgstr ""
-
-#: g10/g10.c:245
-msgid "|NAME|use message digest algorithm NAME"
-msgstr ""
-
-#: g10/g10.c:246
-msgid "|N|use compress algorithm N"
-msgstr ""
-
-#: g10/g10.c:247
-msgid "throw keyid field of encrypted packets"
-msgstr ""
-
-#: g10/g10.c:255
-msgid ""
-"@\n"
-"Examples:\n"
-"\n"
-" -se -r Bob [file]          sign and encrypt for user Bob\n"
-" --clearsign [file]         make a clear text signature\n"
-" --detach-sign [file]       make a detached signature\n"
-" --list-keys [names]        show keys\n"
-" --fingerprint [names]      show fingerprints\n"
-msgstr ""
-
-#: g10/g10.c:333
-msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
-msgstr ""
-
-#: g10/g10.c:338
-msgid "Usage: gpgm [options] [files] (-h for help)"
-msgstr ""
-
-#: g10/g10.c:340
-msgid "Usage: gpg [options] [files] (-h for help)"
-msgstr ""
-
-#: g10/g10.c:345
-msgid ""
-"Syntax: gpgm [options] [files]\n"
-"GnuPG maintenance utility\n"
-msgstr ""
-
-#: g10/g10.c:348
-msgid ""
-"Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
-msgstr ""
-
-#: g10/g10.c:354
-msgid ""
-"\n"
-"Supported algorithms:\n"
-msgstr ""
-
-#: g10/g10.c:429
-msgid "usage: gpgm [options] "
-msgstr ""
-
-#: g10/g10.c:431
-msgid "usage: gpg [options] "
-msgstr ""
-
-#: g10/g10.c:472
-msgid "conflicting commands\n"
-msgstr ""
-
-#: g10/g10.c:610
-#, c-format
-msgid "NOTE: no default option file '%s'\n"
-msgstr ""
-
-#: g10/g10.c:614
-#, c-format
-msgid "option file '%s': %s\n"
-msgstr ""
-
-#: g10/g10.c:621
-#, c-format
-msgid "reading options from '%s'\n"
-msgstr ""
-
-#: g10/g10.c:769
-#, c-format
-msgid "%s is not a valid character set\n"
-msgstr ""
-
-#: g10/g10.c:802 g10/g10.c:814
-msgid "selected cipher algorithm is invalid\n"
-msgstr ""
-
-#: g10/g10.c:808 g10/g10.c:820
-msgid "selected digest algorithm is invalid\n"
-msgstr ""
-
-#: g10/g10.c:823
-#, c-format
-msgid "compress algorithm must be in range %d..%d\n"
-msgstr ""
-
-#: g10/g10.c:825
-msgid "completes-needed must be greater than 0\n"
-msgstr ""
-
-#: g10/g10.c:827
-msgid "marginals-needed must be greater than 1\n"
-msgstr ""
-
-#: g10/g10.c:829
-msgid "max-cert-depth must be in range 1 to 255\n"
-msgstr ""
-
-#: g10/g10.c:832
-msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
-msgstr ""
-
-#: g10/g10.c:836
-msgid "invalid S2K mode; must be 0, 1 or 3\n"
-msgstr ""
-
-#: g10/g10.c:912
-#, c-format
-msgid "failed to initialize the TrustDB: %s\n"
-msgstr ""
-
-#: g10/g10.c:918
-msgid "--store [filename]"
-msgstr ""
-
-#: g10/g10.c:926
-msgid "--symmetric [filename]"
-msgstr ""
-
-#: g10/g10.c:934
-msgid "--encrypt [filename]"
-msgstr ""
-
-#: g10/g10.c:947
-msgid "--sign [filename]"
-msgstr ""
-
-#: g10/g10.c:960
-msgid "--sign --encrypt [filename]"
-msgstr ""
-
-#: g10/g10.c:974
-msgid "--clearsign [filename]"
-msgstr ""
-
-#: g10/g10.c:986
-msgid "--decrypt [filename]"
-msgstr ""
-
-#: g10/g10.c:995
-msgid "--edit-key username [commands]"
-msgstr ""
-
-#: g10/g10.c:1011
-msgid "--delete-secret-key username"
-msgstr ""
-
-#: g10/g10.c:1014
-msgid "--delete-key username"
-msgstr ""
-
-#: g10/encode.c:216 g10/g10.c:1037 g10/sign.c:301
-#, c-format
-msgid "can't open %s: %s\n"
-msgstr ""
-
-#: g10/g10.c:1048
-msgid "-k[v][v][v][c] [userid] [keyring]"
-msgstr ""
-
-#: g10/g10.c:1104
-#, c-format
-msgid "dearmoring failed: %s\n"
-msgstr ""
-
-#: g10/g10.c:1112
-#, c-format
-msgid "enarmoring failed: %s\n"
-msgstr ""
-
-#: g10/g10.c:1173
-#, c-format
-msgid "invalid hash algorithm '%s'\n"
-msgstr ""
-
-#: g10/g10.c:1256
-msgid "[filename]"
-msgstr ""
-
-#: g10/g10.c:1260
-msgid "Go ahead and type your message ...\n"
-msgstr ""
-
-#: g10/decrypt.c:59 g10/g10.c:1263 g10/verify.c:66
-#, c-format
-msgid "can't open '%s'\n"
-msgstr ""
-
-#: g10/g10.c:1312
-msgid ""
-"RSA keys are deprecated; please consider creating a new key and use this key "
-"in the future\n"
-msgstr ""
-
-#: g10/armor.c:344 g10/armor.c:391
-msgid "armor header: "
-msgstr ""
-
-#: g10/armor.c:355
-msgid "invalid clearsig header\n"
-msgstr ""
-
-#: g10/armor.c:382
-msgid "invalid armor header: "
-msgstr ""
-
-#: g10/armor.c:459
-#, c-format
-msgid "armor: %s\n"
-msgstr ""
-
-#: g10/armor.c:532
-msgid "invalid dash escaped line: "
-msgstr ""
-
-#: g10/armor.c:601
-msgid "invalid clear text header: "
-msgstr ""
-
-#: g10/armor.c:843
-#, c-format
-msgid "invalid radix64 character %02x skipped\n"
-msgstr ""
-
-#: g10/armor.c:876
-msgid "premature eof (no CRC)\n"
-msgstr ""
-
-#: g10/armor.c:895
-msgid "premature eof (in CRC)\n"
-msgstr ""
-
-#: g10/armor.c:899
-msgid "malformed CRC\n"
-msgstr ""
-
-#: g10/armor.c:903
-#, c-format
-msgid "CRC error; %06lx - %06lx\n"
-msgstr ""
-
-#: g10/armor.c:922
-msgid "premature eof (in Trailer)\n"
-msgstr ""
-
-#: g10/armor.c:926
-msgid "error in trailer line\n"
-msgstr ""
-
-#: g10/armor.c:1180
-msgid "no valid RFC1991 or OpenPGP data found.\n"
-msgstr ""
-
-#: g10/pkclist.c:121
-#, c-format
-msgid ""
-"No trust value assigned to %lu:\n"
-"%4u%c/%08lX %s \""
-msgstr ""
-
-#: g10/pkclist.c:131
-msgid ""
-"Please decide how far you trust this user to correctly\n"
-"verify other users' keys (by looking at passports,\n"
-"checking fingerprints from different sources...)?\n"
-"\n"
-" 1 = Don't know\n"
-" 2 = I do NOT trust\n"
-" 3 = I trust marginally\n"
-" 4 = I trust fully\n"
-" s = please show me more information\n"
-msgstr ""
-
-#: g10/pkclist.c:140
-msgid " m = back to the main menu\n"
-msgstr ""
-
-#. a string with valid answers
-#: g10/pkclist.c:145
-msgid "sSmM"
-msgstr ""
-
-#: g10/pkclist.c:149
-msgid "edit_ownertrust.value"
-msgstr ""
-"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."
-
-#: g10/pkclist.c:149
-msgid "Your decision? "
-msgstr ""
-
-#: g10/pkclist.c:169
-msgid "Certificates leading to an ultimately trusted key:\n"
-msgstr ""
-
-#: g10/pkclist.c:197
-msgid ""
-"Could not find a valid trust path to the key.  Let's see whether we\n"
-"can assign some missing owner trust values.\n"
-"\n"
-msgstr ""
-
-#: g10/pkclist.c:219
-msgid ""
-"No path leading to one of our keys found.\n"
-"\n"
-msgstr ""
-
-#: g10/pkclist.c:221
-msgid ""
-"No certificates with undefined trust found.\n"
-"\n"
-msgstr ""
-
-#: g10/pkclist.c:223
-msgid ""
-"No trust values changed.\n"
-"\n"
-msgstr ""
-
-#: g10/pkclist.c:238
-#, c-format
-msgid "key %08lX: key has been revoked!\n"
-msgstr ""
-
-#: g10/pkclist.c:243
-msgid "revoked_key.override"
-msgstr "If you want to use this revoked key anyway, answer \"yes\"."
-
-#: g10/pkclist.c:244 g10/pkclist.c:335
-msgid "Use this key anyway? "
-msgstr ""
-
-#: g10/pkclist.c:266
-#, c-format
-msgid "%08lX: key has expired\n"
-msgstr ""
-
-#: g10/pkclist.c:272
-#, c-format
-msgid "%08lX: no info to calculate a trust probability\n"
-msgstr ""
-
-#: g10/pkclist.c:288
-#, c-format
-msgid "%08lX: We do NOT trust this key\n"
-msgstr ""
-
-#: g10/pkclist.c:294
-#, c-format
-msgid ""
-"%08lX: It is not sure taht this key really belongs to the owner\n"
-"but it is accepted anyway\n"
-msgstr ""
-
-#: g10/pkclist.c:300
-msgid "This key probably belongs to the owner\n"
-msgstr ""
-
-#: g10/pkclist.c:305
-msgid "This key belongs to us (we have the secret key)\n"
-msgstr ""
-
-#: g10/pkclist.c:330
-msgid ""
-"It is NOT certain that the key belongs to its owner.\n"
-"If you *really* know what you are doing, you may answer\n"
-"the next question with yes\n"
-"\n"
-msgstr ""
-
-#: g10/pkclist.c:334
-msgid "untrusted_key.override"
-msgstr "If you want to use this untrusted key anyway, answer \"yes\"."
-
-#: g10/pkclist.c:339
-msgid "WARNING: Using untrusted key!\n"
-msgstr ""
-
-#: g10/pkclist.c:375
-msgid "WARNING: This key has been revoked by its owner!\n"
-msgstr ""
-
-#: g10/pkclist.c:376
-msgid "         This could mean that the signature is forgery.\n"
-msgstr ""
-
-#: g10/pkclist.c:397
-msgid "Note: This key has expired!\n"
-msgstr ""
-
-#: g10/pkclist.c:404
-msgid "WARNING: This key is not certified with a trusted signature!\n"
-msgstr ""
-
-#: g10/pkclist.c:406
-msgid ""
-"         There is no indication that the signature belongs to the owner.\n"
-msgstr ""
-
-#: g10/pkclist.c:421
-msgid "WARNING: We do NOT trust this key!\n"
-msgstr ""
-
-#: g10/pkclist.c:422
-msgid "         The signature is probably a FORGERY.\n"
-msgstr ""
-
-#: g10/pkclist.c:429
-msgid ""
-"WARNING: This key is not certified with sufficiently trusted signatures!\n"
-msgstr ""
-
-#: g10/pkclist.c:432
-msgid "         It is not certain that the signature belongs to the owner.\n"
-msgstr ""
-
-#: g10/pkclist.c:477
-msgid ""
-"You did not specify a user ID. (you may use \"-r\")\n"
-"\n"
-msgstr ""
-
-#: g10/pkclist.c:481
-msgid "pklist.user_id.enter"
-msgstr ""
-"Enter the user id of the addresse to whom you want to send the message."
-
-#: g10/pkclist.c:482
-msgid "Enter the user ID: "
-msgstr ""
-
-#: g10/pkclist.c:493
-msgid "No such user ID.\n"
-msgstr ""
-
-#: g10/pkclist.c:527 g10/pkclist.c:554
-#, c-format
-msgid "%s: skipped: %s\n"
-msgstr ""
-
-#: g10/pkclist.c:535
-#, c-format
-msgid "%s: error checking key: %s\n"
-msgstr ""
-
-#: g10/pkclist.c:561
-msgid "no valid addressees\n"
-msgstr ""
-
-#: g10/keygen.c:124
-msgid "writing self signature\n"
-msgstr ""
-
-#: g10/keygen.c:162
-msgid "writing key binding signature\n"
-msgstr ""
-
-#: g10/keygen.c:388
-msgid "Please select what kind of key you want:\n"
-msgstr ""
-
-#: g10/keygen.c:390
-#, c-format
-msgid "   (%d) DSA and ElGamal (default)\n"
-msgstr ""
-
-#: g10/keygen.c:391
-#, c-format
-msgid "   (%d) ElGamal (sign and encrypt)\n"
-msgstr ""
-
-#: g10/keygen.c:393
-#, c-format
-msgid "   (%d) ElGamal (encrypt only)\n"
-msgstr ""
-
-#: g10/keygen.c:394
-#, c-format
-msgid "   (%d) DSA (sign only)\n"
-msgstr ""
-
-#: g10/keygen.c:395
-#, c-format
-msgid "   (%d) ElGamal in a v3 packet\n"
-msgstr ""
-
-#: g10/keygen.c:399
-msgid "keygen.algo"
-msgstr ""
-"Select the algorithm to use.\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"
-"ElGamal is a algorithm which can be used for signatures and encryption.\n"
-"OpenPGP distunguishs between two flavors of this algorithms: a 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 implemenations are not required to understand\n"
-"the signature+encryption flavor.\n"
-"The first (primary) key must always be a key which is capable of signing;\n"
-"this is the reason why the ecrytion only ElGamal key is disabled in this.\n"
-"You should not select the \"ElGamal in a v3 packet\", because that key is\n"
-"not compatible to other OpenPGP implementations."
-
-#: g10/keygen.c:399
-msgid "Your selection? "
-msgstr ""
-
-#: g10/keygen.c:425
-msgid "Invalid selection.\n"
-msgstr ""
-
-#: g10/keygen.c:437
-#, c-format
-msgid ""
-"About to generate a new %s keypair.\n"
-"              minimum keysize is  768 bits\n"
-"              default keysize is 1024 bits\n"
-"    highest suggested keysize is 2048 bits\n"
-msgstr ""
-
-#: g10/keygen.c:443
-msgid "keygen.size"
-msgstr ""
-
-#: g10/keygen.c:444
-msgid "What keysize do you want? (1024) "
-msgstr ""
-
-#: g10/keygen.c:449
-msgid "DSA only allows keysizes from 512 to 1024\n"
-msgstr ""
-
-#: g10/keygen.c:451
-msgid "keysize too small; 768 is smallest value allowed.\n"
-msgstr ""
-
-#: g10/keygen.c:454
-msgid ""
-"Keysizes larger than 2048 are not suggested because\n"
-"computations take REALLY long!\n"
-msgstr ""
-
-#: g10/keygen.c:456
-msgid "keygen.size.huge.okay"
-msgstr ""
-
-#: g10/keygen.c:457
-msgid "Are you sure that you want this keysize? "
-msgstr ""
-
-#: g10/keygen.c:458
-msgid ""
-"Okay, but keep in mind that your monitor and keyboard radiation is also very "
-"vulnerable to attacks!\n"
-msgstr ""
-
-#: g10/keygen.c:465
-msgid "keygen.size.large.okay"
-msgstr ""
-
-#: g10/keygen.c:466
-msgid "Do you really need such a large keysize? "
-msgstr ""
-
-#: g10/keygen.c:472
-#, c-format
-msgid "Requested keysize is %u bits\n"
-msgstr ""
-
-#: g10/keygen.c:475 g10/keygen.c:479
-#, c-format
-msgid "rounded up to %u bits\n"
-msgstr ""
-
-#: g10/keygen.c:492
-msgid ""
-"Please specify how long the key should be valid.\n"
-"         0 = key does not expire\n"
-"      <n>  = key expires in n days\n"
-"      <n>w = key expires in n weeks\n"
-"      <n>m = key expires in n months\n"
-"      <n>y = key expires in n years\n"
-msgstr ""
-
-#: g10/keygen.c:507
-msgid "keygen.valid"
-msgstr ""
-
-#: g10/keygen.c:507
-msgid "Key is valid for? (0) "
-msgstr ""
-
-#: g10/keygen.c:518
-msgid "invalid value\n"
-msgstr ""
-
-#: g10/keygen.c:523
-msgid "Key does not expire at all\n"
-msgstr ""
-
-#. print the date when the key expires
-#: g10/keygen.c:529
-#, c-format
-msgid "Key expires at %s\n"
-msgstr ""
-
-#: g10/keygen.c:534
-msgid "keygen.valid.okay"
-msgstr ""
-
-#: g10/keygen.c:535
-msgid "Is this correct (y/n)? "
-msgstr ""
-
-#: g10/keygen.c:577
-msgid ""
-"\n"
-"You need a User-ID to identify your key; the software constructs the user "
-"id\n"
-"from Real Name, Comment and Email Address in this form:\n"
-"    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
-"\n"
-msgstr ""
-
-#: g10/keygen.c:588
-msgid "keygen.name"
-msgstr ""
-
-#: g10/keygen.c:588
-msgid "Real name: "
-msgstr ""
-
-#: g10/keygen.c:592
-msgid "Invalid character in name\n"
-msgstr ""
-
-#: g10/keygen.c:594
-msgid "Name may not start with a digit\n"
-msgstr ""
-
-#: g10/keygen.c:596
-msgid "Name must be at least 5 characters long\n"
-msgstr ""
-
-#: g10/keygen.c:604
-msgid "keygen.email"
-msgstr ""
-
-#: g10/keygen.c:604
-msgid "Email address: "
-msgstr ""
-
-#: g10/keygen.c:616
-msgid "Not a valid email address\n"
-msgstr ""
-
-#: g10/keygen.c:624
-msgid "keygen.comment"
-msgstr ""
-
-#: g10/keygen.c:624
-msgid "Comment: "
-msgstr ""
-
-#: g10/keygen.c:630
-msgid "Invalid character in comment\n"
-msgstr ""
-
-#: g10/keygen.c:650
-#, c-format
-msgid ""
-"You selected this USER-ID:\n"
-"    \"%s\"\n"
-"\n"
-msgstr ""
-
-#: g10/keygen.c:653
-msgid "NnCcEeOoQq"
-msgstr ""
-
-#: g10/keygen.c:662
-msgid "keygen.userid.cmd"
-msgstr ""
-"N  to change the name.\n"
-"C  to change the comment.\n"
-"E  to change the email address.\n"
-"O  to continue with key generation.\n"
-"Q  to to quit the key generation."
-
-#: g10/keygen.c:663
-msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
-msgstr ""
-
-#: g10/keygen.c:715
-msgid ""
-"You need a Passphrase to protect your secret key.\n"
-"\n"
-msgstr ""
-
-#: g10/keyedit.c:389 g10/keygen.c:723
-msgid "passphrase not correctly repeated; try again.\n"
-msgstr ""
-
-#: g10/keygen.c:729
-msgid ""
-"You don't want a passphrase - this is probably a *bad* idea!\n"
-"I will do it anyway.  You can change your passphrase at any time,\n"
-"using this program with the option \"--edit-key\".\n"
-"\n"
-msgstr ""
-
-#: g10/keygen.c:750
-msgid ""
-"We need to generate a lot of random bytes. It is a good idea to perform\n"
-"some other action (work in another window, move the mouse, utilize the\n"
-"network and the disks) during the prime generation; this gives the random\n"
-"number generator a better chance to gain enough entropy.\n"
-msgstr ""
-
-#: g10/keygen.c:820
-msgid "Key generation can only be used in interactive mode\n"
-msgstr ""
-
-#: g10/keygen.c:828
-msgid "DSA keypair will have 1024 bits.\n"
-msgstr ""
-
-#: g10/keygen.c:834
-msgid "Key generation cancelled.\n"
-msgstr ""
-
-#: g10/keygen.c:844
-#, c-format
-msgid "writing public certificate to '%s'\n"
-msgstr ""
-
-#: g10/keygen.c:845
-#, c-format
-msgid "writing secret certificate to '%s'\n"
-msgstr ""
-
-#: g10/keygen.c:922
-msgid "public and secret key created and signed.\n"
-msgstr ""
-
-#: g10/keygen.c:924
-msgid ""
-"Note that this key cannot be used for encryption.  You may want to use\n"
-"the command \"--add-key\" to generate a secondary key for this purpose.\n"
-msgstr ""
-
-#: g10/keygen.c:938 g10/keygen.c:1023
-#, c-format
-msgid "Key generation failed: %s\n"
-msgstr ""
-
-#: g10/keygen.c:1000
-msgid "keygen.sub.okay"
-msgstr "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key."
-
-#: g10/keygen.c:1001
-msgid "Really create? "
-msgstr ""
-
-#: g10/encode.c:88 g10/openfile.c:81 g10/openfile.c:158 g10/tdbio.c:417
-#: g10/tdbio.c:468
-#, c-format
-msgid "%s: can't open: %s\n"
-msgstr ""
-
-#: g10/encode.c:107
-#, c-format
-msgid "error creating passphrase: %s\n"
-msgstr ""
-
-#: g10/encode.c:155 g10/encode.c:269
-#, c-format
-msgid "%s: WARNING: empty file\n"
-msgstr ""
-
-#: g10/encode.c:222
-#, c-format
-msgid "reading from '%s'\n"
-msgstr ""
-
-#: g10/encode.c:397
-#, c-format
-msgid "%s encrypted for: %s\n"
-msgstr ""
-
-#: g10/export.c:162
-msgid "WARNING: nothing exported\n"
-msgstr ""
-
-#: g10/getkey.c:164
-msgid "too many entries in pk cache - disabled\n"
-msgstr ""
-
-#: g10/getkey.c:263
-msgid "too many entries in unk cache - disabled\n"
-msgstr ""
-
-#: g10/getkey.c:969
-#, c-format
-msgid "using secondary key %08lX instead of primary key %08lX\n"
-msgstr ""
-
-#: g10/import.c:125 g10/trustdb.c:1082
-#, c-format
-msgid "can't open file: %s\n"
-msgstr ""
-
-#: g10/import.c:141
-#, c-format
-msgid "skipping block of type %d\n"
-msgstr ""
-
-#: g10/import.c:148 g10/trustdb.c:1341 g10/trustdb.c:1410
-#, c-format
-msgid "%lu keys so far processed\n"
-msgstr ""
-
-#: g10/import.c:153 g10/trustdb.c:1158
-#, c-format
-msgid "read error: %s\n"
-msgstr ""
-
-#: g10/import.c:155
-#, c-format
-msgid "Total number processed: %lu\n"
-msgstr ""
-
-#: g10/import.c:157
-#, c-format
-msgid "          w/o user IDs: %lu\n"
-msgstr ""
-
-#: g10/import.c:159
-#, c-format
-msgid "              imported: %lu"
-msgstr ""
-
-#: g10/import.c:165
-#, c-format
-msgid "             unchanged: %lu\n"
-msgstr ""
-
-#: g10/import.c:167
-#, c-format
-msgid "          new user IDs: %lu\n"
-msgstr ""
-
-#: g10/import.c:169
-#, c-format
-msgid "           new subkeys: %lu\n"
-msgstr ""
-
-#: g10/import.c:171
-#, c-format
-msgid "        new signatures: %lu\n"
-msgstr ""
-
-#: g10/import.c:173
-#, c-format
-msgid "   new key revocations: %lu\n"
-msgstr ""
-
-#: g10/import.c:175
-#, c-format
-msgid "      secret keys read: %lu\n"
-msgstr ""
-
-#: g10/import.c:177
-#, c-format
-msgid "  secret keys imported: %lu\n"
-msgstr ""
-
-#: g10/import.c:179
-#, c-format
-msgid " secret keys unchanged: %lu\n"
-msgstr ""
-
-#: g10/import.c:321 g10/import.c:513
-#, c-format
-msgid "key %08lX: no user id\n"
-msgstr ""
-
-#: g10/import.c:332
-#, c-format
-msgid "key %08lX: no valid user ids\n"
-msgstr ""
-
-#: g10/import.c:334
-msgid "this may be caused by a missing self-signature\n"
-msgstr ""
-
-#: g10/import.c:345 g10/import.c:581
-#, c-format
-msgid "key %08lX: public key not found: %s\n"
-msgstr ""
-
-#: g10/import.c:351
-msgid "no default public keyring\n"
-msgstr ""
-
-#: g10/import.c:355 g10/openfile.c:105 g10/sign.c:205 g10/sign.c:563
-#, c-format
-msgid "writing to '%s'\n"
-msgstr ""
-
-#: g10/import.c:359 g10/import.c:419 g10/import.c:635
-#, c-format
-msgid "can't lock public keyring: %s\n"
-msgstr ""
-
-#: g10/import.c:362
-#, c-format
-msgid "can't write to keyring: %s\n"
-msgstr ""
-
-#: g10/import.c:366
-#, c-format
-msgid "key %08lX: public key imported\n"
-msgstr ""
-
-#: g10/import.c:379
-#, c-format
-msgid "key %08lX: doesn't match our copy\n"
-msgstr ""
-
-#: g10/import.c:392 g10/import.c:590
-#, c-format
-msgid "key %08lX: can't locate original keyblock: %s\n"
-msgstr ""
-
-#: g10/import.c:399 g10/import.c:597
-#, c-format
-msgid "key %08lX: can't read original keyblock: %s\n"
-msgstr ""
-
-#: g10/import.c:416 g10/import.c:528 g10/import.c:632
-msgid "writing keyblock\n"
-msgstr ""
-
-#: g10/import.c:422 g10/import.c:638
-#, c-format
-msgid "can't write keyblock: %s\n"
-msgstr ""
-
-#: g10/import.c:427
-#, c-format
-msgid "key %08lX: 1 new user-id\n"
-msgstr ""
-
-#: g10/import.c:430
-#, c-format
-msgid "key %08lX: %d new user-ids\n"
-msgstr ""
-
-#: g10/import.c:433
-#, c-format
-msgid "key %08lX: 1 new signature\n"
-msgstr ""
-
-#: g10/import.c:436
-#, c-format
-msgid "key %08lX: %d new signatures\n"
-msgstr ""
-
-#: g10/import.c:439
-#, c-format
-msgid "key %08lX: 1 new subkey\n"
-msgstr ""
-
-#: g10/import.c:442
-#, c-format
-msgid "key %08lX: %d new subkeys\n"
-msgstr ""
-
-#: g10/import.c:452
-#, c-format
-msgid "key %08lX: not changed\n"
-msgstr ""
-
-#: g10/import.c:531
-#, c-format
-msgid "can't lock secret keyring: %s\n"
-msgstr ""
-
-#: g10/import.c:534
-#, c-format
-msgid "can't write keyring: %s\n"
-msgstr ""
-
-#. we are ready
-#: g10/import.c:537
-#, c-format
-msgid "key %08lX: secret key imported\n"
-msgstr ""
-
-#. we can't merge secret keys
-#: g10/import.c:541
-#, c-format
-msgid "key %08lX: already in secret keyring\n"
-msgstr ""
-
-#: g10/import.c:546
-#, c-format
-msgid "key %08lX: secret key not found: %s\n"
-msgstr ""
-
-#: g10/import.c:575
-#, c-format
-msgid "key %08lX: no public key - can't apply revocation certificate\n"
-msgstr ""
-
-#: g10/import.c:608
-#, c-format
-msgid "key %08lX: invalid revocation certificate: %s - rejected\n"
-msgstr ""
-
-#: g10/import.c:642
-#, c-format
-msgid "key %08lX: revocation certificate imported\n"
-msgstr ""
-
-#: g10/import.c:673
-#, c-format
-msgid "key %08lX: no user-id for signature\n"
-msgstr ""
-
-#: g10/import.c:680
-#, c-format
-msgid "key %08lX: unsupported public key algorithm\n"
-msgstr ""
-
-#: g10/import.c:681
-#, c-format
-msgid "key %08lX: invalid self-signature\n"
-msgstr ""
-
-#: g10/import.c:710
-#, c-format
-msgid "key %08lX: skipped userid '"
-msgstr ""
-
-#: g10/import.c:733
-#, c-format
-msgid "key %08lX: revocation certificate at wrong place - skipped\n"
-msgstr ""
-
-#: g10/import.c:741
-#, c-format
-msgid "key %08lX: invalid revocation certificate: %s - skipped\n"
-msgstr ""
-
-#: g10/import.c:803
-#, c-format
-msgid "key %08lX: revocation certificate added\n"
-msgstr ""
-
-#: g10/import.c:866 g10/import.c:902
-#, c-format
-msgid "key %08lX: our copy has no self-signature\n"
-msgstr ""
-
-#: g10/keyedit.c:81
-#, c-format
-msgid "%s: user not found\n"
-msgstr ""
-
-#: g10/keyedit.c:164
-msgid "[self-signature]"
-msgstr ""
-
-#: g10/keyedit.c:182
-msgid "1 bad signature\n"
-msgstr ""
-
-#: g10/keyedit.c:184
-#, c-format
-msgid "%d bad signatures\n"
-msgstr ""
-
-#: g10/keyedit.c:186
-msgid "1 signature not checked due to a missing key\n"
-msgstr ""
-
-#: g10/keyedit.c:188
-#, c-format
-msgid "%d signatures not checked due to missing keys\n"
-msgstr ""
-
-#: g10/keyedit.c:190
-msgid "1 signature not checked due to an error\n"
-msgstr ""
-
-#: g10/keyedit.c:192
-#, c-format
-msgid "%d signatures not checked due to errors\n"
-msgstr ""
-
-#: g10/keyedit.c:194
-msgid "1 user id without valid self-signature detected\n"
-msgstr ""
-
-#: g10/keyedit.c:196
-#, c-format
-msgid "%d user ids without valid self-signatures detected\n"
-msgstr ""
-
-#: g10/keyedit.c:258
-#, c-format
-msgid "Already signed by key %08lX\n"
-msgstr ""
-
-#: g10/keyedit.c:266
-#, c-format
-msgid "Nothing to sign with key %08lX\n"
-msgstr ""
-
-#: g10/keyedit.c:275
-msgid ""
-"Are you really sure that you want to sign this key\n"
-"with your key: \""
-msgstr ""
-
-#: g10/keyedit.c:282
-msgid "sign_uid.okay"
-msgstr ""
-
-#: g10/keyedit.c:282
-msgid "Really sign? "
-msgstr ""
-
-#: g10/keyedit.c:303 g10/sign.c:65
-#, c-format
-msgid "signing failed: %s\n"
-msgstr ""
-
-#: g10/keyedit.c:356
-msgid "This key is not protected.\n"
-msgstr ""
-
-#: g10/keyedit.c:359
-msgid "Key is protected.\n"
-msgstr ""
-
-#: g10/keyedit.c:376
-#, c-format
-msgid "Can't edit this key: %s\n"
-msgstr ""
-
-#: g10/keyedit.c:381
-msgid ""
-"Enter the new passphrase for this secret key.\n"
-"\n"
-msgstr ""
-
-#: g10/keyedit.c:393
-msgid ""
-"You don't want a passphrase - this is probably a *bad* idea!\n"
-"\n"
-msgstr ""
-
-#: g10/keyedit.c:395
-msgid "change_passwd.empty.okay"
-msgstr ""
-
-#: g10/keyedit.c:396
-msgid "Do you really want to do this? "
-msgstr ""
-
-#: g10/keyedit.c:455
-msgid "moving a key signature to the correct place\n"
-msgstr ""
-
-#: g10/keyedit.c:490
-msgid "quit"
-msgstr ""
-
-#: g10/keyedit.c:490
-msgid "quit this menu"
-msgstr ""
-
-#: g10/keyedit.c:491
-msgid "q"
-msgstr ""
-
-#: g10/keyedit.c:492
-msgid "save"
-msgstr ""
-
-#: g10/keyedit.c:492
-msgid "save and quit"
-msgstr ""
-
-#: g10/keyedit.c:493
-msgid "help"
-msgstr ""
-
-#: g10/keyedit.c:493
-msgid "show this help"
-msgstr ""
-
-#: g10/keyedit.c:495
-msgid "fpr"
-msgstr ""
-
-#: g10/keyedit.c:495
-msgid "show fingerprint"
-msgstr ""
-
-#: g10/keyedit.c:496
-msgid "list"
-msgstr ""
-
-#: g10/keyedit.c:496
-msgid "list key and user ids"
-msgstr ""
-
-#: g10/keyedit.c:497
-msgid "l"
-msgstr ""
-
-#: g10/keyedit.c:498
-msgid "uid"
-msgstr ""
-
-#: g10/keyedit.c:498
-msgid "select user id N"
-msgstr ""
-
-#: g10/keyedit.c:499
-msgid "key"
-msgstr ""
-
-#: g10/keyedit.c:499
-msgid "select secondary key N"
-msgstr ""
-
-#: g10/keyedit.c:500
-msgid "check"
-msgstr ""
-
-#: g10/keyedit.c:500
-msgid "list signatures"
-msgstr ""
-
-#: g10/keyedit.c:501
-msgid "c"
-msgstr ""
-
-#: g10/keyedit.c:502
-msgid "sign"
-msgstr ""
-
-#: g10/keyedit.c:502
-msgid "sign the key"
-msgstr ""
-
-#: g10/keyedit.c:503
-msgid "s"
-msgstr ""
-
-#: g10/keyedit.c:504
-msgid "debug"
-msgstr ""
-
-#: g10/keyedit.c:505
-msgid "adduid"
-msgstr ""
-
-#: g10/keyedit.c:505
-msgid "add a user id"
-msgstr ""
-
-#: g10/keyedit.c:506
-msgid "deluid"
-msgstr ""
-
-#: g10/keyedit.c:506
-msgid "delete user id"
-msgstr ""
-
-#: g10/keyedit.c:507
-msgid "addkey"
-msgstr ""
-
-#: g10/keyedit.c:507
-msgid "add a secondary key"
-msgstr ""
-
-#: g10/keyedit.c:508
-msgid "delkey"
-msgstr ""
-
-#: g10/keyedit.c:508
-msgid "delete a secondary key"
-msgstr ""
-
-#: g10/keyedit.c:509
-msgid "expire"
-msgstr ""
-
-#: g10/keyedit.c:509
-msgid "change the expire date"
-msgstr ""
-
-#: g10/keyedit.c:510
-msgid "toggle"
-msgstr ""
-
-#: g10/keyedit.c:510
-msgid "toggle between secret and public key listing"
-msgstr ""
-
-#: g10/keyedit.c:512
-msgid "t"
-msgstr ""
-
-#: g10/keyedit.c:513
-msgid "pref"
-msgstr ""
-
-#: g10/keyedit.c:513
-msgid "list preferences"
-msgstr ""
-
-#: g10/keyedit.c:514
-msgid "passwd"
-msgstr ""
-
-#: g10/keyedit.c:514
-msgid "change the passphrase"
-msgstr ""
-
-#: g10/keyedit.c:515
-msgid "trust"
-msgstr ""
-
-#: g10/keyedit.c:515
-msgid "change the ownertrust"
-msgstr ""
-
-#: g10/keyedit.c:534
-msgid "can't do that in batchmode\n"
-msgstr ""
-
-#. check that they match
-#. FIXME: check that they both match
-#: g10/keyedit.c:561
-msgid "Secret key is available.\n"
-msgstr ""
-
-#: g10/keyedit.c:590
-msgid "keyedit.cmd"
-msgstr "Please enter \"help\"."
-
-#: g10/keyedit.c:590
-msgid "Command> "
-msgstr ""
-
-#: g10/keyedit.c:617
-msgid "Need the secret key to to this.\n"
-msgstr ""
-
-#: g10/keyedit.c:638
-msgid "keyedit.save.okay"
-msgstr ""
-
-#: g10/keyedit.c:639
-msgid "Save changes? "
-msgstr ""
-
-#: g10/keyedit.c:641
-msgid "keyedit.cancel.okay"
-msgstr ""
-
-#: g10/keyedit.c:642
-msgid "Quit without saving? "
-msgstr ""
-
-#: g10/keyedit.c:652
-#, c-format
-msgid "update failed: %s\n"
-msgstr ""
-
-#: g10/keyedit.c:659
-#, c-format
-msgid "update secret failed: %s\n"
-msgstr ""
-
-#: g10/keyedit.c:666
-msgid "Key not changed so no update needed.\n"
-msgstr ""
-
-#: g10/keyedit.c:669 g10/keyedit.c:727
-#, c-format
-msgid "update of trust db failed: %s\n"
-msgstr ""
-
-#: g10/keyedit.c:700
-msgid "keyedit.sign_all.okay"
-msgstr ""
-
-#: g10/keyedit.c:701
-msgid "Really sign all user ids? "
-msgstr ""
-
-#: g10/keyedit.c:702
-msgid "Hint: Select the user ids to sign\n"
-msgstr ""
-
-#: g10/keyedit.c:738
-msgid "You must select at least one user id.\n"
-msgstr ""
-
-#: g10/keyedit.c:740
-msgid "You can't delete the last user id!\n"
-msgstr ""
-
-#: g10/keyedit.c:742
-msgid "keyedit.remove.uid.okay"
-msgstr ""
-
-#: g10/keyedit.c:743
-msgid "Really remove all selected user ids? "
-msgstr ""
-
-#: g10/keyedit.c:744
-msgid "Really remove this user id? "
-msgstr ""
-
-#: g10/keyedit.c:767
-msgid "You must select at least one key.\n"
-msgstr ""
-
-#: g10/keyedit.c:769
-msgid "keyedit.remove.subkey.okay"
-msgstr ""
-
-#: g10/keyedit.c:771
-msgid "Do you really want to delete the selected keys? "
-msgstr ""
-
-#: g10/keyedit.c:772
-msgid "Do you really want to delete this key? "
-msgstr ""
-
-#: g10/keyedit.c:819
-msgid "Invalid command  (try \"help\")\n"
-msgstr ""
-
-#: g10/keyedit.c:1197
-msgid "Please remove selections from the secret keys.\n"
-msgstr ""
-
-#: g10/keyedit.c:1203
-msgid "Please select at most one secondary key.\n"
-msgstr ""
-
-#: g10/keyedit.c:1207
-msgid "Changing exiration time for a secondary key.\n"
-msgstr ""
-
-#: g10/keyedit.c:1209
-msgid "Changing exiration time for the primary key.\n"
-msgstr ""
-
-#: g10/keyedit.c:1250
-msgid "You can't change the expiration date of a v3 key\n"
-msgstr ""
-
-#: g10/keyedit.c:1266
-msgid "No corresponding signature in secret ring\n"
-msgstr ""
-
-#: g10/keyedit.c:1326
-#, c-format
-msgid "No user id with index %d\n"
-msgstr ""
-
-#: g10/keyedit.c:1371
-#, c-format
-msgid "No secondary key with index %d\n"
-msgstr ""
-
-#: g10/mainproc.c:198
-msgid "public key encrypted data: Good DEK\n"
-msgstr ""
-
-#: g10/mainproc.c:201
-#, c-format
-msgid "public key decryption failed: %s\n"
-msgstr ""
-
-#: g10/mainproc.c:228
-msgid "decryption okay\n"
-msgstr ""
-
-#: g10/mainproc.c:231
-#, c-format
-msgid "decryption failed: %s\n"
-msgstr ""
-
-#: g10/mainproc.c:248
-msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
-msgstr ""
-
-#: g10/mainproc.c:250
-#, c-format
-msgid "original file name='%.*s'\n"
-msgstr ""
-
-#: g10/mainproc.c:833
-msgid "signature verification suppressed\n"
-msgstr ""
-
-#: g10/mainproc.c:839
-#, c-format
-msgid "Signature made %.*s using %s key ID %08lX\n"
-msgstr ""
-
-#: g10/mainproc.c:847
-msgid "BAD signature from \""
-msgstr ""
-
-#: g10/mainproc.c:848
-msgid "Good signature from \""
-msgstr ""
-
-#: g10/mainproc.c:861
-#, c-format
-msgid "Can't check signature: %s\n"
-msgstr ""
-
-#: g10/mainproc.c:934
-msgid "old style (PGP 2.x) signature\n"
-msgstr ""
-
-#: g10/mainproc.c:939
-msgid "invalid root packet detected in proc_tree()\n"
-msgstr ""
-
-#: g10/misc.c:88
-#, c-format
-msgid "can't disable core dumps: %s\n"
-msgstr ""
-
-#: g10/misc.c:90
-msgid "WARNING: Program may create a core file!\n"
-msgstr ""
-
-#: g10/parse-packet.c:109
-#, c-format
-msgid "can't handle public key algorithm %d\n"
-msgstr ""
-
-#: g10/passphrase.c:141
-msgid ""
-"\n"
-"You need a passphrase to unlock the secret key for\n"
-"user: \""
-msgstr ""
-
-#: g10/passphrase.c:150
-#, c-format
-msgid "(%u-bit %s key, ID %08lX, created %s)\n"
-msgstr ""
-
-#: g10/passphrase.c:174
-msgid "passphrase.enter"
-msgstr ""
-"Please enter the passhrase; this is a secret sentence \n"
-"  Blurb, blurb,.... "
-
-#: g10/passphrase.c:174
-#, fuzzy
-msgid "Enter passphrase: "
-msgstr ""
-"Please enter the passhrase; this is a secret sentence \n"
-"  Blurb, blurb,.... "
-
-#: g10/passphrase.c:177
-msgid "passphrase.repeat"
-msgstr "Please repeat the last passphrase, so you are sure what you typed in."
-
-#: g10/passphrase.c:178
-#, fuzzy
-msgid "Repeat passphrase: "
-msgstr ""
-"Please enter the passhrase; this is a secret sentence \n"
-"  Blurb, blurb,.... "
-
-#: g10/plaintext.c:102
-msgid "data not saved; use option \"--output\" to save it\n"
-msgstr ""
-
-#: g10/plaintext.c:214
-msgid "detached_signature.filename"
-msgstr ""
-
-#: g10/plaintext.c:215
-msgid "Please enter name of data file: "
-msgstr ""
-
-#: g10/plaintext.c:236
-msgid "reading stdin ...\n"
-msgstr ""
-
-#: g10/plaintext.c:299
-#, c-format
-msgid "can't open signed data '%s'\n"
-msgstr ""
-
-#: g10/pubkey-enc.c:78
-#, c-format
-msgid "anonymous receiver; trying secret key %08lX ...\n"
-msgstr ""
-
-#: g10/pubkey-enc.c:84
-msgid "okay, we are the anonymous receiver.\n"
-msgstr ""
-
-#: g10/pubkey-enc.c:136
-msgid "old encoding of the DEK is not supported\n"
-msgstr ""
-
-#: g10/pubkey-enc.c:183
-#, c-format
-msgid "NOTE: cipher algorithm %d not found in preferences\n"
-msgstr ""
-
-#: g10/seckey-cert.c:56
-#, c-format
-msgid "protection algorithm %d is not supported\n"
-msgstr ""
-
-#: g10/seckey-cert.c:169
-msgid "Invalid passphrase; please try again ...\n"
-msgstr ""
-
-#: g10/seckey-cert.c:215
-msgid "WARNING: Weak key detected - please change passphrase again.\n"
-msgstr ""
-
-#: g10/sig-check.c:155
-msgid ""
-"this is a PGP generated ElGamal key which is NOT secure for signatures!\n"
-msgstr ""
-
-#: g10/sig-check.c:165
-msgid "public key created in future (time warp or clock problem)\n"
-msgstr ""
-
-#: g10/sig-check.c:170
-#, c-format
-msgid "NOTE: signature key expired %s\n"
-msgstr ""
-
-#: g10/sign.c:69
-#, c-format
-msgid "%s signature from: %s\n"
-msgstr ""
-
-#: g10/sign.c:200 g10/sign.c:558
-#, c-format
-msgid "can't create %s: %s\n"
-msgstr ""
-
-#: g10/sign.c:296
-msgid "signing:"
-msgstr ""
-
-#: g10/sign.c:336
-#, c-format
-msgid "WARNING: '%s' is an empty file\n"
-msgstr ""
-
-#: g10/tdbio.c:115 g10/tdbio.c:1377
-#, c-format
-msgid "trustdb rec %lu: lseek failed: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:121 g10/tdbio.c:1384
-#, c-format
-msgid "trustdb rec %lu: write failed (n=%d): %s\n"
-msgstr ""
-
-#: g10/tdbio.c:231
-msgid "trustdb transaction to large\n"
-msgstr ""
-
-#: g10/tdbio.c:374
-#, c-format
-msgid "%s: can't access: %s\n"
-msgstr ""
-
-#: g10/ringedit.c:257 g10/tdbio.c:394
-#, c-format
-msgid "%s: can't create directory: %s\n"
-msgstr ""
-
-#: g10/ringedit.c:263 g10/tdbio.c:397
-#, c-format
-msgid "%s: directory created\n"
-msgstr ""
-
-#: g10/tdbio.c:401
-#, c-format
-msgid "%s: directory does not exist!\n"
-msgstr ""
-
-#: g10/openfile.c:101 g10/openfile.c:165 g10/ringedit.c:1235 g10/tdbio.c:407
-#, c-format
-msgid "%s: can't create: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:431
-#, c-format
-msgid "%s: failed to create version record: %s"
-msgstr ""
-
-#: g10/tdbio.c:435
-#, c-format
-msgid "%s: invalid trust-db created\n"
-msgstr ""
-
-#: g10/tdbio.c:437
-#, c-format
-msgid "%s: trust-db created\n"
-msgstr ""
-
-#: g10/tdbio.c:470
-#, c-format
-msgid "%s: invalid trust-db\n"
-msgstr ""
-
-#: g10/tdbio.c:504
-#, c-format
-msgid "%s: failed to create hashtable: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:512
-#, c-format
-msgid "%s: error updating version record: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:528 g10/tdbio.c:567 g10/tdbio.c:592 g10/tdbio.c:1310
-#: g10/tdbio.c:1337
-#, c-format
-msgid "%s: error reading version record: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:541
-#, c-format
-msgid "%s: error writing version record: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:1017
-#, c-format
-msgid "trustdb: lseek failed: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:1025
-#, c-format
-msgid "trustdb: read failed (n=%d): %s\n"
-msgstr ""
-
-#: g10/tdbio.c:1046
-#, c-format
-msgid "%s: not a trustdb file\n"
-msgstr ""
-
-#: g10/tdbio.c:1062
-#, c-format
-msgid "%s: version record with recnum %lu\n"
-msgstr ""
-
-#: g10/tdbio.c:1067
-#, c-format
-msgid "%s: invalid file version %d\n"
-msgstr ""
-
-#: g10/tdbio.c:1343
-#, c-format
-msgid "%s: error reading free record: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:1351
-#, c-format
-msgid "%s: error writing dir record: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:1361
-#, c-format
-msgid "%s: failed to zero a record: %s\n"
-msgstr ""
-
-#: g10/tdbio.c:1391
-#, c-format
-msgid "%s: failed to append a record: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:128
-msgid "The trust DB is corrupted; please run \"gpgm --fix-trust-db\".\n"
-msgstr ""
-
-#: g10/trustdb.c:141
-#, c-format
-msgid "trust record %lu, req type %d: read failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:156
-#, c-format
-msgid "trust record %lu, type %d: write failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:170
-#, c-format
-msgid "trust record %lu: delete failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:184
-#, c-format
-msgid "trust db: sync failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:313
-#, c-format
-msgid "error reading dir record for LID %lu: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:320
-#, c-format
-msgid "lid %lu: expected dir record, got type %d\n"
-msgstr ""
-
-#: g10/trustdb.c:325
-#, c-format
-msgid "no primary key for LID %lu\n"
-msgstr ""
-
-#: g10/trustdb.c:330
-#, c-format
-msgid "error reading primary key for LID %lu: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:406
-#, c-format
-msgid "chained sigrec %lu has a wrong owner\n"
-msgstr ""
-
-#: g10/trustdb.c:460
-#, c-format
-msgid "NOTE: secret key %08lX is NOT protected.\n"
-msgstr ""
-
-#: g10/trustdb.c:467
-#, c-format
-msgid "key %08lX: secret key without public key - skipped\n"
-msgstr ""
-
-#: g10/trustdb.c:473
-#, c-format
-msgid "key %08lX: secret and public key don't match\n"
-msgstr ""
-
-#: g10/trustdb.c:483
-#, c-format
-msgid "key %08lX: can't put it into the trustdb\n"
-msgstr ""
-
-#: g10/trustdb.c:489
-#, c-format
-msgid "key %08lX: query record failed\n"
-msgstr ""
-
-#: g10/trustdb.c:498
-#, c-format
-msgid "key %08lX: already in secret key table\n"
-msgstr ""
-
-#: g10/trustdb.c:501
-#, c-format
-msgid "key %08lX: accepted as secret key.\n"
-msgstr ""
-
-#: g10/trustdb.c:508
-#, c-format
-msgid "enumerate secret keys failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:682
-#, c-format
-msgid "lid %lu: read dir record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:691
-#, c-format
-msgid "lid %lu: read key record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:701
-#, c-format
-msgid "lid %lu: read uid record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:710
-#, c-format
-msgid "lid %lu: read pref record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:720
-#, c-format
-msgid "lid %lu: read sig record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:915
-msgid "Ooops, no keys\n"
-msgstr ""
-
-#: g10/trustdb.c:919
-msgid "Ooops, no user ids\n"
-msgstr ""
-
-#: g10/trustdb.c:990 g10/trustdb.c:1008
-#, c-format
-msgid "user '%s' read problem: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:993 g10/trustdb.c:1011
-#, c-format
-msgid "user '%s' list problem: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1001 g10/trustdb.c:1216
-#, c-format
-msgid "user '%s' not found: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1003 g10/trustdb.c:1218
-#, c-format
-msgid "problem finding '%s' in trustdb: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1006
-#, c-format
-msgid "user '%s' not in trustdb\n"
-msgstr ""
-
-#: g10/trustdb.c:1041
-#, c-format
-msgid ""
-"# List of assigned trustvalues, created %s\n"
-"# (Use \"gpgm --import-ownertrust\" to restore them)\n"
-msgstr ""
-
-#: g10/trustdb.c:1047
-msgid "directory record w/o primary key\n"
-msgstr ""
-
-#: g10/trustdb.c:1054
-#, c-format
-msgid "error reading key record: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1094
-msgid "line to long\n"
-msgstr ""
-
-#: g10/trustdb.c:1102
-msgid "error: missing colon\n"
-msgstr ""
-
-#: g10/trustdb.c:1107
-msgid "error: invalid fingerprint\n"
-msgstr ""
-
-#: g10/trustdb.c:1111
-#, fuzzy
-msgid "error: no ownertrust value\n"
-msgstr ""
-"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."
-
-#: g10/trustdb.c:1125
-#, c-format
-msgid "LID %lu: changing trust from %u to %u\n"
-msgstr ""
-
-#: g10/trustdb.c:1128
-#, c-format
-msgid "LID %lu: setting trust to %u\n"
-msgstr ""
-
-#: g10/trustdb.c:1136
-msgid "key not in trustdb, searching ring.\n"
-msgstr ""
-
-#: g10/trustdb.c:1139
-#, c-format
-msgid "key not in ring: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1143
-msgid "Oops: key is now in trustdb???\n"
-msgstr ""
-
-#. update the ownertrust
-#: g10/trustdb.c:1148
-#, c-format
-msgid "insert trust record failed: %s\n"
-msgstr ""
-
-#. error
-#: g10/trustdb.c:1154
-#, c-format
-msgid "error finding dir record: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1221
-#, c-format
-msgid "user '%s' not in trustdb - inserting\n"
-msgstr ""
-
-#: g10/trustdb.c:1224
-#, c-format
-msgid "failed to put '%s' into trustdb: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1271
-#, c-format
-msgid "%s: keyblock read problem: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1285
-#, c-format
-msgid "%s: update failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1288
-#, c-format
-msgid "%s: updated\n"
-msgstr ""
-
-#: g10/trustdb.c:1290
-#, c-format
-msgid "%s: okay\n"
-msgstr ""
-
-#: g10/trustdb.c:1305
-#, c-format
-msgid "lid %lu: dir record w/o key - skipped\n"
-msgstr ""
-
-#: g10/trustdb.c:1318
-#, c-format
-msgid "lid %lu: keyblock not found: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1327 g10/trustdb.c:1396
-#, c-format
-msgid "lid %lu: update failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1333 g10/trustdb.c:1402
-#, c-format
-msgid "lid %lu: updated\n"
-msgstr ""
-
-#: g10/trustdb.c:1337 g10/trustdb.c:1406
-#, c-format
-msgid "lid %lu: okay\n"
-msgstr ""
-
-#: g10/trustdb.c:1344 g10/trustdb.c:1412
-#, c-format
-msgid "%lu keys processed\n"
-msgstr ""
-
-#: g10/trustdb.c:1346
-#, c-format
-msgid "\t%lu keys skipped\n"
-msgstr ""
-
-#: g10/trustdb.c:1348 g10/trustdb.c:1414
-#, c-format
-msgid "\t%lu keys with errors\n"
-msgstr ""
-
-#: g10/trustdb.c:1350 g10/trustdb.c:1416
-#, c-format
-msgid "\t%lu keys updated\n"
-msgstr ""
-
-#: g10/trustdb.c:1380
-#, c-format
-msgid "lid ?: insert failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1385
-#, c-format
-msgid "lid %lu: insert failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1391
-#, c-format
-msgid "lid %lu: inserted\n"
-msgstr ""
-
-#: g10/trustdb.c:1418
-#, c-format
-msgid "\t%lu keys inserted\n"
-msgstr ""
-
-#: g10/trustdb.c:1421
-#, c-format
-msgid "enumerate keyblocks failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1466
-#, c-format
-msgid "check_trust: search dir record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1473
-#, c-format
-msgid "key %08lX: insert trust record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1477
-#, c-format
-msgid "key %08lX.%lu: inserted into trustdb\n"
-msgstr ""
-
-#: g10/trustdb.c:1485
-#, c-format
-msgid "key %08lX.%lu: created in future (time warp or clock problem)\n"
-msgstr ""
-
-#: g10/trustdb.c:1492
-#, c-format
-msgid "key %08lX.%lu: expired at %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1500
-#, c-format
-msgid "key %08lX.%lu: trust check failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1669 g10/trustdb.c:1698 g10/trustdb.c:2428
-msgid "WARNING: can't yet handle long pref records\n"
-msgstr ""
-
-#: g10/trustdb.c:1720
-#, c-format
-msgid "get_dir_record: search_record failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1783
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
-msgstr ""
-
-#: g10/trustdb.c:1787
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n"
-msgstr ""
-
-#. we need the dir record
-#: g10/trustdb.c:1794
-#, c-format
-msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
-msgstr ""
-
-#: g10/trustdb.c:1800
-#, c-format
-msgid "lid %lu: no primary key\n"
-msgstr ""
-
-#: g10/trustdb.c:1833
-#, c-format
-msgid "lid %lu: user id not found in keyblock\n"
-msgstr ""
-
-#: g10/trustdb.c:1837
-#, c-format
-msgid "lid %lu: user id without signature\n"
-msgstr ""
-
-#: g10/trustdb.c:1844
-#, c-format
-msgid "lid %lu: self-signature in hintlist\n"
-msgstr ""
-
-#: g10/trustdb.c:1855 g10/trustdb.c:2565 g10/trustdb.c:2647
-msgid "Valid certificate revocation"
-msgstr ""
-
-#: g10/trustdb.c:1856 g10/trustdb.c:2566 g10/trustdb.c:2648
-msgid "Good certificate"
-msgstr ""
-
-#: g10/trustdb.c:1865
-msgid "very strange: no public key\n"
-msgstr ""
-
-#: g10/trustdb.c:1913
-#, c-format
-msgid "hintlist %lu[%d] of %lu does not point to a dir record\n"
-msgstr ""
-
-#: g10/trustdb.c:1919
-#, c-format
-msgid "lid %lu does not have a key\n"
-msgstr ""
-
-#: g10/trustdb.c:1929
-#, c-format
-msgid "lid %lu: can't get keyblock: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:1986 g10/trustdb.c:2889
-#, c-format
-msgid "tdbio_search_dir failed: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:2139
-#, c-format
-msgid "key %08lX.%lu: Good subkey binding\n"
-msgstr ""
-
-#: g10/trustdb.c:2145 g10/trustdb.c:2187
-#, c-format
-msgid "key %08lX.%lu: Invalid subkey binding: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:2160
-#, c-format
-msgid "key %08lX.%lu: Valid key revocation\n"
-msgstr ""
-
-#: g10/trustdb.c:2166
-#, c-format
-msgid "key %08lX.%lu: Invalid key revocation: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:2181
-#, c-format
-msgid "key %08lX.%lu: Valid subkey revocation\n"
-msgstr ""
-
-#: g10/trustdb.c:2281
-msgid "Good self-signature"
-msgstr ""
-
-#: g10/trustdb.c:2289
-msgid "Invalid self-signature"
-msgstr ""
-
-#: g10/trustdb.c:2300
-msgid "Valid user ID revocation\n"
-msgstr ""
-
-#: g10/trustdb.c:2307
-msgid "Invalid user ID revocation"
-msgstr ""
-
-#: g10/trustdb.c:2391
-msgid "Too many preferences"
-msgstr ""
-
-#: g10/trustdb.c:2405
-msgid "Too many preference items"
-msgstr ""
-
-#: g10/trustdb.c:2544
-msgid "Duplicated certificate - deleted"
-msgstr ""
-
-#: g10/trustdb.c:2576
-msgid "Hmmm, public key lost?"
-msgstr ""
-
-#: g10/trustdb.c:2585 g10/trustdb.c:2668
-msgid "Invalid certificate revocation"
-msgstr ""
-
-#: g10/trustdb.c:2586 g10/trustdb.c:2669
-msgid "Invalid certificate"
-msgstr ""
-
-#: g10/trustdb.c:2601
-#, c-format
-msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n"
-msgstr ""
-
-#: g10/trustdb.c:2615
-#, c-format
-msgid "sig record %lu[%d] points to wrong record.\n"
-msgstr ""
-
-#. that should never happen
-#: g10/trustdb.c:2859
-#, c-format
-msgid "insert_trust_record: keyblock not found: %s\n"
-msgstr ""
-
-#: g10/trustdb.c:2877
-msgid "did not use primary key for insert_trust_record()\n"
-msgstr ""
-
-#: g10/ringedit.c:277
-#, c-format
-msgid "%s: can't create keyring: %s\n"
-msgstr ""
-
-#: g10/ringedit.c:283 g10/ringedit.c:1239
-#, c-format
-msgid "%s: keyring created\n"
-msgstr ""
-
-#: g10/ringedit.c:1412
-msgid "WARNING: 2 files with confidential information exists.\n"
-msgstr ""
-
-#: g10/ringedit.c:1413
-#, c-format
-msgid "%s is the unchanged one\n"
-msgstr ""
-
-#: g10/ringedit.c:1414
-#, c-format
-msgid "%s is the new one\n"
-msgstr ""
-
-#: g10/ringedit.c:1415
-msgid "Please fix this possible security flaw\n"
-msgstr ""
-
-#: g10/skclist.c:94
-#, c-format
-msgid "skipped '%s': %s\n"
-msgstr ""
-
-#: g10/skclist.c:100
-#, c-format
-msgid ""
-"skipped '%s': this is a PGP generated ElGamal key which is not secure for "
-"signatures!\n"
-msgstr ""
-
-#: g10/status.c:246
-msgid "No help available"
-msgstr ""
-
-#: g10/status.c:252
-#, c-format
-msgid "No help available for '%s'"
-msgstr ""
-
-#. do not overwrite
-#: g10/openfile.c:58
-#, c-format
-msgid "File '%s' exists. "
-msgstr ""
-
-#: g10/openfile.c:59
-msgid "openfile.overwrite.okay"
-msgstr ""
-
-#: g10/openfile.c:60
-msgid "Overwrite (y/N)? "
-msgstr ""
-
-#: g10/openfile.c:85
-msgid "writing to stdout\n"
-msgstr ""
-
-#: g10/openfile.c:134
-#, c-format
-msgid "assuming signed data in '%s'\n"
-msgstr ""
-
-#: g10/openfile.c:181
-#, c-format
-msgid "%s: new options file created\n"
-msgstr ""
-
-#: g10/encr-data.c:59
-#, c-format
-msgid "%s encrypted data\n"
-msgstr ""
-
-#: g10/encr-data.c:61
-#, c-format
-msgid "encrypted with unknown algorithm %d\n"
-msgstr ""
-
-#: g10/encr-data.c:74
-msgid ""
-"WARNING: Message was encrypted with a weak key in the symmetric cipher.\n"
-msgstr ""
-
-#: g10/seskey.c:52
-msgid "weak key created - retrying\n"
-msgstr ""
-
-#: g10/seskey.c:57
-#, c-format
-msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n"
-msgstr ""
index 7bf0c50..61034c2 100644 (file)
@@ -1,6 +1,12 @@
+Fri Nov 27 12:39:29 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
+
+
+       * commit: New
+
+
 Fri Nov 20 12:01:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
-       * mkdiff: signs the pacth file
+       * mkdiff: signs the patch file
 
 Sat Oct 17 16:10:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
diff --git a/scripts/commit b/scripts/commit
new file mode 100755 (executable)
index 0000000..18e5400
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+# need a Posix shell, so we simply use bash
+
+set -e
+
+uid=`id -u`
+date=`date`
+name=$(awk -F: "\$3==$uid { print \$5 }" /etc/passwd )
+addr="<`id -un`@`hostname -d`>"
+
+for i in `find . -name Changes -print`; do
+    dir=`dirname $i`
+    if [ -s $dir/Changes ]; then
+       lines=`wc -l <$dir/Changes`
+       echo "$date  $name  $addr" >$dir/ChangeLog.new
+       echo >>$dir/ChangeLog.new
+       cat $dir/Changes   >>$dir/ChangeLog.new
+       echo >>$dir/ChangeLog.new
+       [ -f $dir/ChangeLog ] && cat $dir/ChangeLog >>$dir/ChangeLog.new
+       echo -n > $dir/Changes
+       [ -f $dir/ChangeLog ] && rm $dir/ChangeLog
+       mv $dir/ChangeLog.new $dir/ChangeLog
+       echo "$lines new lines in $dir/ChangeLog"
+    fi
+done
+
+cvs commit -m "See ChangeLog: $date  $name" $*
+