-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message This is a patch file to create version 1.0.0 from 0.9.11. Please check the signature of this patch file: zcat somepath/gnupg-0.9.11-1.0.0.diff.gz | gpg --verify Change to directory gnupg-0.9.11 (or however you renamed it) and give this command: zcat somepath/gnupg-0.9.11-1.0.0.diff.gz | patch -p1 It is a good idea to rename your current directory to gnupg-1.0.0 now. Prereq: 0.9.11 diff -urN gnupg-0.9.11/VERSION gnupg-1.0.0/VERSION --- gnupg-0.9.11/VERSION Thu Sep 2 16:36:39 1999 +++ gnupg-1.0.0/VERSION Tue Sep 7 17:03:56 1999 @@ -1 +1 @@ -0.9.11 +1.0.0 diff -urN gnupg-0.9.11/AUTHORS gnupg-1.0.0/AUTHORS --- gnupg-0.9.11/AUTHORS Wed Sep 1 07:08:17 1999 +++ gnupg-1.0.0/AUTHORS Tue Sep 7 17:04:49 1999 @@ -52,21 +52,22 @@ TRANSLATIONS Gregory Steuck 1998-10-20 -Disclaimer. [ru?] +Disclaimer. [ru] steuck@iname.com -TRANSLATIONS Urko Lusa Okay -es_ES.po +TRANSLATIONS Urko Lusa +Disclaimer. [es_ES] +ulusa@lacueva.ddns.org -TRANSLATIONS Thiago Jung Bauermann Okay -pt_BR.po +TRANSLATIONS Thiago Jung Bauermann +Disclaimer. [pt_BR] jungmann@cwb.matrix.com.br TRANSLATIONS Janusz Aleksander Urbanowicz 1999-01-09 -pl.po +Disclaimer. [po] alex@bofh.torun.pl diff -urN gnupg-0.9.11/BUGS gnupg-1.0.0/BUGS --- gnupg-0.9.11/BUGS Tue Aug 31 09:29:42 1999 +++ gnupg-1.0.0/BUGS Sun Sep 5 10:28:45 1999 @@ -44,4 +44,14 @@ Solaris make has problems with the generated POTFILES - seems to be a gettext bug. Use GNU gmake as a workaround. -Next #23 +[ *] #23 1999-09-03 0.9.11 + Only the first signature of a cleartext sig seems to be verified. + Can't fix it in 1.0 because the code is semi-frozen. + +[ *] #24 1999-09-05 0.9.11 + Does not link libc and libz expect when removing all "-lc -lz" except + for the last one. This happens on some systems when not using the + GNU ld. This need to be fixed in libtool. + + +Next #25 diff -urN gnupg-0.9.11/ChangeLog gnupg-1.0.0/ChangeLog --- gnupg-0.9.11/ChangeLog Thu Sep 2 16:40:58 1999 +++ gnupg-1.0.0/ChangeLog Tue Sep 7 17:08:11 1999 @@ -1,3 +1,16 @@ +Tue Sep 7 17:08:10 CEST 1999 Werner Koch + + + * VERSION: Set to 1.0.0. + +Mon Sep 6 19:59:08 CEST 1999 Werner Koch + + + * configure.in: Create makefile in doc/gph + + * acinclude.m4 (GNUPG_FUNC_MKDIR_TAKES_ONE_ARG): New + * configure.in: use the above. + Thu Sep 2 16:40:55 CEST 1999 Werner Koch diff -urN gnupg-0.9.11/INSTALL gnupg-1.0.0/INSTALL --- gnupg-0.9.11/INSTALL Tue Aug 31 19:22:07 1999 +++ gnupg-1.0.0/INSTALL Sun Sep 5 10:26:13 1999 @@ -55,6 +55,20 @@ in any CPU directory, because there may be no C substitute. Don't forget to delete "config.cache" and run "./config.status --recheck". +Some make tools are broken - the best solution is to use GNU's make. Try +gmake or grab the sources from a GNU archive and install them. + +On some OSF you may get unresolved externals. This is a libtool problem and +the workaround is to manually remove all the "-lc -lz" but the last one from +the linker line and execute them manually. + +On some architectures you get warnings like: + longlong.h:175: warning: function declaration isn't a prototype +or + http.c:647: warning: cast increases required alignment of target type +This doesn't matter and we know about it (actually it is due to the some +warning options which we have enabled for gcc) + The Random Device ================= diff -urN gnupg-0.9.11/NEWS gnupg-1.0.0/NEWS --- gnupg-0.9.11/NEWS Thu Sep 2 16:35:55 1999 +++ gnupg-1.0.0/NEWS Tue Sep 7 17:03:13 1999 @@ -1,3 +1,12 @@ +Noteworthy changes in version 1.0.0 (1999-09-07) +----------------------------------- + + * Add a very preliminary version of the GNU Privacy Handbook to + the distribution (lynx doc/gph/index.html). + + * Changed the version number to GnuPG 2001 ;-) + + Noteworthy changes in version 0.9.11 ------------------------------------ @@ -337,7 +346,7 @@ * detached and armored signatures are now using "PGP SIGNATURE", except when --rfc1991 is used. - * All times which are not in the yyy-mm-dd format are now printed + * All times which are not in the yyyy-mm-dd format are now printed in local time. diff -urN gnupg-0.9.11/README gnupg-1.0.0/README --- gnupg-0.9.11/README Thu Sep 2 16:38:14 1999 +++ gnupg-1.0.0/README Mon Sep 6 19:58:25 1999 @@ -2,21 +2,17 @@ GnuPG - The GNU Privacy Guard ------------------------------- - Version 0.9.11 + Version 1.0 - GnuPG is a tool for secure communication and data storage. It - can be used to encrypt data and to create digital signatures. + GnuPG is GNU's tool for secure communication and data storage. + It can be used to encrypt data and to create digital signatures. It includes an advanced key management facility and is compliant - to the proposed OpenPGP Internet standard as described in RFC2440. + with the proposed OpenPGP Internet standard as described in RFC2440. - GnuPG is now in Beta test and you should report all bugs to the - mailing list (see below). The 0.9.x versions are released mainly - to fix all remaining serious bugs. As soon as version 1.0 is out, - development will continue with a 1.1 series and bug fixes for the - 1.0 version as needed. - - GnuPG works best on GNU/Linux or *BSD. Other Unices are - also supported but are not as well tested as the Free Unices. + GnuPG works best on GNU/Linux or *BSD systems. Most other Unices + are also supported but are not as well tested as the Free Unices. + See http://www.gnupg.org/gnupg.html#supsys for a list of systems + which are known to work. See the file COPYING for copyright and warranty information. @@ -32,7 +28,7 @@ algorithms are: 3DES, Blowfish, CAST5 and Twofish (GnuPG does not yet create Twofish encrypted messages because there is no agreement in the OpenPGP WG on how to use it together with a MDC algorithm) - Digest algorithms available are MD5, RIPEMD160, SHA1, and TIGER/192. + Digest algorithms available are MD5, RIPEMD160 and SHA1. Installation @@ -58,9 +54,9 @@ 7) You end up with a "gpg" binary in /usr/local/bin. Note: Because some old programs rely on the existence of a - binary named "gpgm"; you should install a symbolic link - from gpgm to gpg: - "cd /usr/local/bin; ln -s gpg gpgm" + binary named "gpgm" (which was build by some Beta versions + of GnuPG); you may want to install a symbolic link to it: + "cd /usr/local/bin; ln -s gpg gpgm" 8) To avoid swapping out of sensitive data, you can install "gpg" as suid root. If you don't do so, you may want to add the option @@ -127,7 +123,7 @@ $ md5sum gnupg-x.y.z.tar.gz.sig - This should yield an output similar to this: + This should yield an output similar_to this: fd9351b26b3189c1d577f0970f9dcadc gnupg-x.y.z.tar.gz @@ -135,18 +131,30 @@ published via the announcement list and probably via Usenet. - Introduction - ------------ - A draft version of the manual is included in the subdirectory doc - and some HOWTO documents are available online; dor a listing see: + Documentation + ------------- + + A draft version of the manual is included in the subdirectory doc/gph. + The supplied version is rendered in HTML and you may access it with any + browser (e.g.: lynx doc/gpg/index.html). The GnuPG webpages have a link + to the latest development version and you may want to read those instead. + + A couple of HOWTO documents are available online; for a listing see: http://www.gnupg.org/docs.html#howtos + A man page with a description of all commands and options gets installed + along with the program. + + + Introduction + ------------ + Here is a brief overview on how to use GnuPG - it is strongly suggested that you read the manual and other information about the use of - cryptography. GnuPG is only a tool, secure results require that YOU - KNOW WHAT YOU ARE DOING. + cryptography. GnuPG is only a tool, secure usage requires that + YOU KNOW WHAT YOU ARE DOING. If you already have a DSA key from PGP 5 (they call them DH/ElGamal) you can simply copy the pgp keyrings over the GnuPG keyrings after @@ -459,41 +467,15 @@ detailed information about the errors. - Esoteric commands - ----------------- - - gpg --list-packets datafile - - Use this to list the contents of a data file. If the file is encrypted - you are asked for the passphrase, so that GnuPG is able to look at the - inner structure of a encrypted packet. This command should list all - kinds of rfc2440 messages. - - gpg --list-trustdb + How to Get More Information + --------------------------- - List the contents of the trust DB in a human readable format - - gpg --list-trustdb - - List the tree of certificates for the given usernames - - gpg --list-trust-path username - - List the possible trust paths for the given username. The length - of such a trust path is limited by the option --max-cert-depth - which defaults to 5. - - For more options/commands see the man page or use "gpg --help". - - - Other Notes - ----------- - - The primary FTP site is "ftp://ftp.gnupg.org/pub/gcrypt/" The primary WWW page is "http://www.gnupg.org" + The primary FTP site is "ftp://ftp.gnupg.org/pub/gcrypt/" See http://www.gnupg.org/mirrors.html for a list of FTP mirrors - and use them if possible. + and use them if possible. You may also find GnuPG mirrored on + some of the regular GNU mirrors. We have some mailing lists dedicated to GnuPG: @@ -515,19 +497,22 @@ Please direct bug reports to or post them direct to the mailing list . + Please direct questions about GnuPG to the users mailing list or - one of the pgp newsgroups to give me more time to improve - GnuPG. Commercial support for GnuPG is also available; please - see the GNU service directory or search other resources. + one of the pgp newsgroups; please do not direct questions to one + of the authors directly as we are busy working on improvements + and bug fixes. Both mailing lists are watched by the authors + and we try to answer questions when time allows us to do so. - Have fun and remember: Echelon is looking at you kid. + Commercial grade support for GnuPG is available; please see + the GNU service directory or search other resources. -----BEGIN PGP SIGNATURE----- -Version: GnuPG v0.9.10 (GNU/Linux) +Version: GnuPG v0.9.11 (GNU/Linux) Comment: For info see http://www.gnupg.org -iQB1AwUBN86L1h0Z9MEMmFelAQFQlQL/S5jDPpDFI3wDG/soA/qMTR79YX1IXDz9 -Izin49GkPHElRCoNbT3r3+T6V+lNtrZpah6JBR30//yo1OGUyoJ88yn3KC0JdtUq -NgJzX3yYUXD+Ojer+WHEL+O8D8qkZrAX -=wiUu +iQB1AwUBN9QAwB0Z9MEMmFelAQG0XwMAqyH3UR0Jk+dm2ZkVoTqckGqmMMt5IdBN +MlG4g3dau5De8XXHvbQ45cUpU4CC0MOlEuKDp+CKOc+xbzczdH35qYt/5XKmVWS8 +JwTvuKKCZ/95JRMk0ZMRueQduH7tSijZ +=MefQ -----END PGP SIGNATURE----- diff -urN gnupg-0.9.11/THANKS gnupg-1.0.0/THANKS --- gnupg-0.9.11/THANKS Mon Aug 30 13:55:43 1999 +++ gnupg-1.0.0/THANKS Mon Sep 6 13:55:32 1999 @@ -17,6 +17,7 @@ Christopher Oliver oliver@fritz.traverse.net Christian Recktenwald chris@citecs.de Daniel Eisenbud eisenbud@cs.swarthmore.edu +Daniel Koenig dan@mail.isis.de David Ellement ellement@sdd.hp.com Detlef Lannert lannert@lannert.rz.uni-duesseldorf.de Dirk Lattermann dlatt@t-online.de @@ -56,6 +57,7 @@ Mark Elbrecht snowball3@bigfoot.com Markus Friedl Markus.Friedl@informatik.uni-erlangen.de Martin Kahlert martin.kahlert@provi.de +Martin Hamilton Martin Schulte schulte@thp.uni-koeln.de Matthew Skala mskala@ansuz.sooke.bc.ca Max Valianskiy maxcom@maxcom.ml.org @@ -66,6 +68,7 @@ Niklas Hernaeus Nimrod Zimerman zimerman@forfree.at N J Doye nic@niss.ac.uk +Oliver Haakert haakert@hsp.de Oskari Jääskeläinen f33003a@cc.hut.fi Paul D. Smith psmith@baynetworks.com Philippe Laliberte arsphl@oeil.qc.ca diff -urN gnupg-0.9.11/acconfig.h gnupg-1.0.0/acconfig.h --- gnupg-0.9.11/acconfig.h Tue Jun 29 20:40:13 1999 +++ gnupg-1.0.0/acconfig.h Fri Sep 3 21:16:46 1999 @@ -94,6 +94,9 @@ #undef USE_CAPABILITIES +/* Some systems have mkdir that takes a single argument. */ +#undef MKDIR_TAKES_ONE_ARG + @BOTTOM@ diff -urN gnupg-0.9.11/acinclude.m4 gnupg-1.0.0/acinclude.m4 --- gnupg-0.9.11/acinclude.m4 Mon Jul 26 09:34:25 1999 +++ gnupg-1.0.0/acinclude.m4 Fri Sep 3 21:13:26 1999 @@ -617,5 +617,26 @@ fi ]) +dnl Stolen from gcc +dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead +dnl of the usual 2. +AC_DEFUN(GNUPG_FUNC_MKDIR_TAKES_ONE_ARG, +[AC_CACHE_CHECK([if mkdir takes one argument], gnupg_cv_mkdir_takes_one_arg, +[AC_TRY_COMPILE([ +#include +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif +#ifdef HAVE_DIRECT_H +# include +#endif], [mkdir ("foo", 0);], + gnupg_cv_mkdir_takes_one_arg=no, gnupg_cv_mkdir_takes_one_arg=yes)]) +if test $gnupg_cv_mkdir_takes_one_arg = yes ; then + AC_DEFINE(MKDIR_TAKES_ONE_ARG) +fi +]) dnl *-*wedit:notab*-* Please keep this as the last line. diff -urN gnupg-0.9.11/aclocal.m4 gnupg-1.0.0/aclocal.m4 --- gnupg-0.9.11/aclocal.m4 Wed Aug 4 09:21:12 1999 +++ gnupg-1.0.0/aclocal.m4 Tue Sep 7 17:12:17 1999 @@ -620,6 +620,27 @@ fi ]) +dnl Stolen from gcc +dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead +dnl of the usual 2. +AC_DEFUN(GNUPG_FUNC_MKDIR_TAKES_ONE_ARG, +[AC_CACHE_CHECK([if mkdir takes one argument], gnupg_cv_mkdir_takes_one_arg, +[AC_TRY_COMPILE([ +#include +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif +#ifdef HAVE_DIRECT_H +# include +#endif], [mkdir ("foo", 0);], + gnupg_cv_mkdir_takes_one_arg=no, gnupg_cv_mkdir_takes_one_arg=yes)]) +if test $gnupg_cv_mkdir_takes_one_arg = yes ; then + AC_DEFINE(MKDIR_TAKES_ONE_ARG) +fi +]) dnl *-*wedit:notab*-* Please keep this as the last line. diff -urN gnupg-0.9.11/cipher/ChangeLog gnupg-1.0.0/cipher/ChangeLog --- gnupg-0.9.11/cipher/ChangeLog Mon Aug 30 20:38:37 1999 +++ gnupg-1.0.0/cipher/ChangeLog Tue Sep 7 16:23:36 1999 @@ -1,3 +1,13 @@ +Tue Sep 7 16:23:36 CEST 1999 Werner Koch + + + * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert. + +Mon Sep 6 19:59:08 CEST 1999 Werner Koch + + + * des.c (selftest): Add some testpattern + Mon Aug 30 20:38:33 CEST 1999 Werner Koch diff -urN gnupg-0.9.11/cipher/Makefile.am gnupg-1.0.0/cipher/Makefile.am --- gnupg-0.9.11/cipher/Makefile.am Mon Jul 12 17:08:57 1999 +++ gnupg-1.0.0/cipher/Makefile.am Tue Sep 7 06:19:55 1999 @@ -72,20 +72,20 @@ tiger: $(srcdir)/tiger.c `echo $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o tiger $(srcdir)/tiger.c | \ - sed -e 's/-O[2-9]*/-O1/g' ` + sed -e 's/-O[2-9s]*/-O1/g' ` tiger.o: $(srcdir)/tiger.c - `echo $(COMPILE) -c $(srcdir)/tiger.c | sed -e 's/-O[2-9]*/-O1/g' ` + `echo $(COMPILE) -c $(srcdir)/tiger.c | sed -e 's/-O[2-9s]*/-O1/g' ` #twofish: $(srcdir)/twofish.c # `echo $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o twofish $(srcdir)/twofish.c | \ -# sed -e 's/-O[0-9]*/ /g' ` +# sed -e 's/-O[0-9s]*/ /g' ` twofish: $(srcdir)/twofish.c $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o twofish $(srcdir)/twofish.c #twofish.o: $(srcdir)/twofish.c -# `echo $(COMPILE) -c $(srcdir)/twofish.c | sed -e 's/-O[0-9]*/ /g' ` +# `echo $(COMPILE) -c $(srcdir)/twofish.c | sed -e 's/-O[0-9s]*/ /g' ` rndunix: $(srcdir)/rndunix.c diff -urN gnupg-0.9.11/cipher/Makefile.in gnupg-1.0.0/cipher/Makefile.in --- gnupg-0.9.11/cipher/Makefile.in Fri Sep 3 10:10:33 1999 +++ gnupg-1.0.0/cipher/Makefile.in Tue Sep 7 18:48:17 1999 @@ -501,20 +501,20 @@ tiger: $(srcdir)/tiger.c `echo $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o tiger $(srcdir)/tiger.c | \ - sed -e 's/-O[2-9]*/-O1/g' ` + sed -e 's/-O[2-9s]*/-O1/g' ` tiger.o: $(srcdir)/tiger.c - `echo $(COMPILE) -c $(srcdir)/tiger.c | sed -e 's/-O[2-9]*/-O1/g' ` + `echo $(COMPILE) -c $(srcdir)/tiger.c | sed -e 's/-O[2-9s]*/-O1/g' ` #twofish: $(srcdir)/twofish.c # `echo $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o twofish $(srcdir)/twofish.c | \ -# sed -e 's/-O[0-9]*/ /g' ` +# sed -e 's/-O[0-9s]*/ /g' ` twofish: $(srcdir)/twofish.c $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o twofish $(srcdir)/twofish.c #twofish.o: $(srcdir)/twofish.c -# `echo $(COMPILE) -c $(srcdir)/twofish.c | sed -e 's/-O[0-9]*/ /g' ` +# `echo $(COMPILE) -c $(srcdir)/twofish.c | sed -e 's/-O[0-9s]*/ /g' ` rndunix: $(srcdir)/rndunix.c $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndunix $(srcdir)/rndunix.c diff -urN gnupg-0.9.11/cipher/des.c gnupg-1.0.0/cipher/des.c --- gnupg-0.9.11/cipher/des.c Mon May 17 20:18:19 1999 +++ gnupg-1.0.0/cipher/des.c Mon Sep 6 20:33:11 1999 @@ -826,6 +826,77 @@ return "TRIPLE-DES test failed."; } + #if 0 + /* + * More Triple-DES test. These are testvectors as used by SSLeay, + * thanks to Jeroen C. van Gelderen. + */ + { struct { byte key[24]; byte plain[8]; byte cipher[8]; } testdata[] = { + { { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 }, + { 0x95,0xF8,0xA5,0xE5,0xDD,0x31,0xD9,0x00 }, + { 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 } + }, + + { { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 }, + { 0x9D,0x64,0x55,0x5A,0x9A,0x10,0xB8,0x52, }, + { 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00 } + }, + { { 0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E, + 0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E, + 0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E }, + { 0x51,0x45,0x4B,0x58,0x2D,0xDF,0x44,0x0A }, + { 0x71,0x78,0x87,0x6E,0x01,0xF1,0x9B,0x2A } + }, + { { 0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6, + 0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6, + 0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6 }, + { 0x42,0xFD,0x44,0x30,0x59,0x57,0x7F,0xA2 }, + { 0xAF,0x37,0xFB,0x42,0x1F,0x8C,0x40,0x95 } + }, + { { 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, + 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, + 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF }, + { 0x73,0x6F,0x6D,0x65,0x64,0x61,0x74,0x61 }, + { 0x3D,0x12,0x4F,0xE2,0x19,0x8B,0xA3,0x18 } + }, + { { 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, + 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, + 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF }, + { 0x73,0x6F,0x6D,0x65,0x64,0x61,0x74,0x61 }, + { 0xFB,0xAB,0xA1,0xFF,0x9D,0x05,0xE9,0xB1 } + }, + { { 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, + 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, + 0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10 }, + { 0x73,0x6F,0x6D,0x65,0x64,0x61,0x74,0x61 }, + { 0x18,0xd7,0x48,0xe5,0x63,0x62,0x05,0x72 } + }, + { { 0x03,0x52,0x02,0x07,0x67,0x20,0x82,0x17, + 0x86,0x02,0x87,0x66,0x59,0x08,0x21,0x98, + 0x64,0x05,0x6A,0xBD,0xFE,0xA9,0x34,0x57 }, + { 0x73,0x71,0x75,0x69,0x67,0x67,0x6C,0x65 }, + { 0xc0,0x7d,0x2a,0x0f,0xa5,0x66,0xfa,0x30 } + }, + { { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x80,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0xe6,0xe6,0xdd,0x5b,0x7e,0x72,0x29,0x74 } + }, + { { 0x10,0x46,0x10,0x34,0x89,0x98,0x80,0x20, + 0x91,0x07,0xD0,0x15,0x89,0x19,0x01,0x01, + 0x19,0x07,0x92,0x10,0x98,0x1A,0x01,0x01 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0xe1,0xef,0x62,0xc3,0x32,0xfe,0x82,0x5b } + } + }; + /* fixme: do the test */ + } + #endif /* * Check the weak key detection. We simply assume the table with diff -urN gnupg-0.9.11/config.h.in gnupg-1.0.0/config.h.in --- gnupg-0.9.11/config.h.in Tue Jul 6 16:26:18 1999 +++ gnupg-1.0.0/config.h.in Tue Sep 7 17:12:22 1999 @@ -142,6 +142,9 @@ #undef USE_CAPABILITIES +/* Some systems have mkdir that takes a single argument. */ +#undef MKDIR_TAKES_ONE_ARG + /* The number of bytes in a unsigned int. */ #undef SIZEOF_UNSIGNED_INT diff -urN gnupg-0.9.11/configure gnupg-1.0.0/configure --- gnupg-0.9.11/configure Wed Aug 4 09:21:33 1999 +++ gnupg-1.0.0/configure Tue Sep 7 17:12:37 1999 @@ -1,6 +1,6 @@ #! /bin/sh -# From configure.in Revision: 1.98 +# From configure.in Revision: 1.101 CDPATH= @@ -64,6 +64,7 @@ + # Like AC_CONFIG_HEADER, but automatically create stamp file. @@ -801,7 +802,7 @@ echo $ac_n "checking which static random module to use""... $ac_c" 1>&6 -echo "configure:805: checking which static random module to use" >&5 +echo "configure:806: checking which static random module to use" >&5 # Check whether --enable-static-rnd or --disable-static-rnd was given. if test "${enable_static_rnd+set}" = set; then enableval="$enable_static_rnd" @@ -829,7 +830,7 @@ echo $ac_n "checking whether use of /dev/random is requested""... $ac_c" 1>&6 -echo "configure:833: checking whether use of /dev/random is requested" >&5 +echo "configure:834: checking whether use of /dev/random is requested" >&5 # Check whether --enable-dev-random or --disable-dev-random was given. if test "${enable_dev_random+set}" = set; then enableval="$enable_dev_random" @@ -843,7 +844,7 @@ echo $ac_n "checking whether use of extensions is requested""... $ac_c" 1>&6 -echo "configure:847: checking whether use of extensions is requested" >&5 +echo "configure:848: checking whether use of extensions is requested" >&5 # Check whether --enable-dynload or --disable-dynload was given. if test "${enable_dynload+set}" = set; then enableval="$enable_dynload" @@ -855,7 +856,7 @@ echo "$ac_t""$try_dynload" 1>&6 echo $ac_n "checking whether assembler modules are requested""... $ac_c" 1>&6 -echo "configure:859: checking whether assembler modules are requested" >&5 +echo "configure:860: checking whether assembler modules are requested" >&5 # Check whether --enable-asm or --disable-asm was given. if test "${enable_asm+set}" = set; then enableval="$enable_asm" @@ -867,7 +868,7 @@ echo "$ac_t""$try_asm_modules" 1>&6 echo $ac_n "checking whether memory debugging is requested""... $ac_c" 1>&6 -echo "configure:871: checking whether memory debugging is requested" >&5 +echo "configure:872: checking whether memory debugging is requested" >&5 # Check whether --enable-m-debug or --disable-m-debug was given. if test "${enable_m_debug+set}" = set; then enableval="$enable_m_debug" @@ -885,7 +886,7 @@ use_m_guard=yes else echo $ac_n "checking whether memory guard is requested""... $ac_c" 1>&6 -echo "configure:889: checking whether memory guard is requested" >&5 +echo "configure:890: checking whether memory guard is requested" >&5 # Check whether --enable-m-guard or --disable-m-guard was given. if test "${enable_m_guard+set}" = set; then enableval="$enable_m_guard" @@ -905,7 +906,7 @@ echo $ac_n "checking whether included zlib is requested""... $ac_c" 1>&6 -echo "configure:909: checking whether included zlib is requested" >&5 +echo "configure:910: checking whether included zlib is requested" >&5 # Check whether --with-included-zlib or --without-included-zlib was given. if test "${with_included_zlib+set}" = set; then withval="$with_included_zlib" @@ -917,7 +918,7 @@ echo "$ac_t""$g10_force_zlib" 1>&6 echo $ac_n "checking whether compilation of libgcrypt is requested""... $ac_c" 1>&6 -echo "configure:921: checking whether compilation of libgcrypt is requested" >&5 +echo "configure:922: checking whether compilation of libgcrypt is requested" >&5 # Check whether --enable-libgcrypt or --disable-libgcrypt was given. if test "${enable_libgcrypt+set}" = set; then enableval="$enable_libgcrypt" @@ -952,7 +953,7 @@ echo $ac_n "checking whether use of capabilities is requested""... $ac_c" 1>&6 -echo "configure:956: checking whether use of capabilities is requested" >&5 +echo "configure:957: checking whether use of capabilities is requested" >&5 # Check whether --with-capabilities or --without-capabilities was given. if test "${with_capabilities+set}" = set; then withval="$with_capabilities" @@ -965,7 +966,7 @@ echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:969: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:970: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -1017,7 +1018,7 @@ fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1021: checking host system type" >&5 +echo "configure:1022: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -1038,7 +1039,7 @@ echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:1042: checking target system type" >&5 +echo "configure:1043: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -1056,7 +1057,7 @@ echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1060: checking build system type" >&5 +echo "configure:1061: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1098,7 +1099,7 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1102: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1103: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1125,7 +1126,7 @@ fi echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:1129: checking whether build environment is sane" >&5 +echo "configure:1130: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -1164,7 +1165,7 @@ echo "$ac_t""yes" 1>&6 missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:1168: checking for working aclocal" >&5 +echo "configure:1169: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1177,7 +1178,7 @@ fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:1181: checking for working autoconf" >&5 +echo "configure:1182: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1190,7 +1191,7 @@ fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:1194: checking for working automake" >&5 +echo "configure:1195: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1203,7 +1204,7 @@ fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:1207: checking for working autoheader" >&5 +echo "configure:1208: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1218,7 +1219,7 @@ # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1222: checking for $ac_word" >&5 +echo "configure:1223: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1248,7 +1249,7 @@ # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1252: checking for $ac_word" >&5 +echo "configure:1253: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1299,7 +1300,7 @@ # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1303: checking for $ac_word" >&5 +echo "configure:1304: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1331,7 +1332,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1335: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1336: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1342,12 +1343,12 @@ cat > conftest.$ac_ext << EOF -#line 1346 "configure" +#line 1347 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1373,12 +1374,12 @@ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1377: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1378: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1382: checking whether we are using GNU C" >&5 +echo "configure:1383: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1387,7 +1388,7 @@ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1391: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1406,7 +1407,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1410: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1411: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1438,7 +1439,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1442: checking how to run the C preprocessor" >&5 +echo "configure:1443: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1453,13 +1454,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1463: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1464: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1470,13 +1471,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1480: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1481: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1487,13 +1488,13 @@ rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1518,7 +1519,7 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1522: checking for POSIXized ISC" >&5 +echo "configure:1523: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then @@ -1550,7 +1551,7 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1554: checking for a BSD compatible install" >&5 +echo "configure:1555: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1607,7 +1608,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1611: checking for $ac_word" >&5 +echo "configure:1612: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1639,7 +1640,7 @@ # Extract the first word of "docbook-to-man", so it can be a program name with args. set dummy docbook-to-man; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1643: checking for $ac_word" >&5 +echo "configure:1644: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DOCBOOK_TO_MAN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1750,7 +1751,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1754: checking for $ac_word" >&5 +echo "configure:1755: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1789,7 +1790,7 @@ if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1793: checking for ld used by GCC" >&5 +echo "configure:1794: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -1813,10 +1814,10 @@ esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1817: checking for GNU ld" >&5 +echo "configure:1818: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1820: checking for non-GNU ld" >&5 +echo "configure:1821: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1852,7 +1853,7 @@ test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1856: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1857: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1868,7 +1869,7 @@ echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1872: checking for BSD-compatible nm" >&5 +echo "configure:1873: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1905,7 +1906,7 @@ echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1909: checking whether ln -s works" >&5 +echo "configure:1910: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1949,8 +1950,8 @@ case "$host" in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1953 "configure"' > conftest.$ac_ext - if { (eval echo configure:1954: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1954 "configure"' > conftest.$ac_ext + if { (eval echo configure:1955: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *32-bit*) LD="${LD-ld} -32" @@ -1971,19 +1972,19 @@ SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:1975: checking whether the C compiler needs -belf" >&5 +echo "configure:1976: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else @@ -2095,12 +2096,12 @@ try_gettext=yes try_gdbm=yes case "${target}" in - i386--mingw32) + *-*-mingw32) # special stuff for Windoze NT cross_compiling=yes - CC="i386--mingw32-gcc" - CPP="i386--mingw32-gcc -E" - RANLIB="i386--mingw32-ranlib" + CC="${target}-gcc" + CPP="${target}-gcc -E" + RANLIB="${target}-ranlib" ac_cv_have_dev_random=no cat >> confdefs.h <<\EOF #define USE_ONLY_8DOT3 1 @@ -2117,7 +2118,7 @@ try_gettext="no" try_gdbm="no" ;; - i386-emx-os2 | i345686-pc-os2*emx ) + i?86-emx-os2 | i?86-*-os2*emx ) # OS/2 with the EMX environment ac_cv_have_dev_random=no cat >> confdefs.h <<\EOF @@ -2132,6 +2133,21 @@ try_gdbm="no" ;; + i?86-*-msdosdjgpp*) + # DOS with the DJGPP environment + ac_cv_have_dev_random=no + cat >> confdefs.h <<\EOF +#define HAVE_DRIVE_LETTERS 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_DOSISH_SYSTEM 1 +EOF + + try_gettext="no" + try_gdbm="no" + ;; + *-*-hpux*) if test -z "$GCC" ; then CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE" @@ -2152,7 +2168,7 @@ echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:2156: checking for BSD-compatible nm" >&5 +echo "configure:2172: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2188,7 +2204,7 @@ # Check for command to grab the raw symbol name followed by C symbol from nm. echo $ac_n "checking command to parse $NM output""... $ac_c" 1>&6 -echo "configure:2192: checking command to parse $NM output" >&5 +echo "configure:2208: checking command to parse $NM output" >&5 if eval "test \"`echo '$''{'ac_cv_sys_global_symbol_pipe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2251,10 +2267,10 @@ #endif int main(){nm_test_var='a';nm_test_func;return 0;} EOF -if { (eval echo configure:2255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then # Now try to grab the symbols. ac_nlist=conftest.nm - if { (eval echo configure:2258: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then + if { (eval echo configure:2274: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then # Try sorting and uniquifying the output. if sort "$ac_nlist" | uniq > "$ac_nlist"T; then @@ -2312,7 +2328,7 @@ ac_save_CFLAGS="$CFLAGS" LIBS="conftestm.$ac_objext" CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo configure:2316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + if { (eval echo configure:2332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_pipe_works=yes else echo "configure: failed program was:" >&5 @@ -2363,7 +2379,7 @@ if test "$tmp_do_check" = "yes"; then echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6 -echo "configure:2367: checking for _ prefix in compiled symbols" >&5 +echo "configure:2383: checking for _ prefix in compiled symbols" >&5 if eval "test \"`echo '$''{'ac_cv_sys_symbol_underscore'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2372,10 +2388,10 @@ void nm_test_func(){} int main(){nm_test_func;return 0;} EOF -if { (eval echo configure:2376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2392: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then # Now try to grab the symbols. ac_nlist=conftest.nm - if { (eval echo configure:2379: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then + if { (eval echo configure:2395: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then # See whether the symbols have a leading underscore. if egrep '^_nm_test_func' "$ac_nlist" >/dev/null; then ac_cv_sys_symbol_underscore=yes @@ -2399,7 +2415,7 @@ else echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6 -echo "configure:2403: checking for _ prefix in compiled symbols" >&5 +echo "configure:2419: checking for _ prefix in compiled symbols" >&5 fi echo "$ac_t""$ac_cv_sys_symbol_underscore" 1>&6 if test x$ac_cv_sys_symbol_underscore = xyes; then @@ -2410,7 +2426,7 @@ fi echo $ac_n "checking for option to create PIC""... $ac_c" 1>&6 -echo "configure:2414: checking for option to create PIC" >&5 +echo "configure:2430: checking for option to create PIC" >&5 CFLAGS_PIC= NO_PIC=no if test "$cross_compiling" = yes; then @@ -2475,7 +2491,7 @@ fi echo $ac_n "checking how to specify -rdynamic""... $ac_c" 1>&6 -echo "configure:2479: checking how to specify -rdynamic" >&5 +echo "configure:2495: checking how to specify -rdynamic" >&5 CFLAGS_RDYNAMIC= if test "$cross_compiling" = yes; then echo "$ac_t""assume none" 1>&6 @@ -2506,15 +2522,22 @@ case "${target}" in - i386--mingw32) + *-*-mingw32) PRINTABLE_OS_NAME="MingW32" ;; - i386-emx-os2 | i345686-pc-os2*emx ) + i?86-emx-os2 | i?86-*-os2*emx ) PRINTABLE_OS_NAME="OS/2" ;; + i?86-*-msdosdjgpp*) + PRINTABLE_OS_NAME="MSDOS/DJGPP" + try_dynload=no + ;; *-linux*) PRINTABLE_OS_NAME="GNU/Linux" ;; + *-gnu*) + PRINTABLE_OS_NAME="GNU/Hurd" + ;; *) PRINTABLE_OS_NAME=`uname -s || echo "Unknown"` ;; @@ -2550,12 +2573,12 @@ if test "$try_gettext" = yes; then echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2554: checking for ANSI C header files" >&5 +echo "configure:2577: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2563,7 +2586,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2567: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2590: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2580,7 +2603,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2598,7 +2621,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2619,7 +2642,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2630,7 +2653,7 @@ exit (0); } EOF -if { (eval echo configure:2634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2654,12 +2677,12 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2658: checking for working const" >&5 +echo "configure:2681: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2735: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2729,21 +2752,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2733: checking for inline" >&5 +echo "configure:2756: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2769,12 +2792,12 @@ esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2773: checking for off_t" >&5 +echo "configure:2796: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2802,12 +2825,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2806: checking for size_t" >&5 +echo "configure:2829: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2837,19 +2860,19 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:2841: checking for working alloca.h" >&5 +echo "configure:2864: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:2853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -2870,12 +2893,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2874: checking for alloca" >&5 +echo "configure:2897: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2935,12 +2958,12 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2939: checking whether alloca needs Cray hooks" >&5 +echo "configure:2962: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:2969: checking for $ac_func" >&5 +echo "configure:2992: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3020,7 +3043,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3024: checking stack direction for C alloca" >&5 +echo "configure:3047: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3028,7 +3051,7 @@ ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -3072,17 +3095,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3076: checking for $ac_hdr" >&5 +echo "configure:3099: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3086: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3111,12 +3134,12 @@ for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3115: checking for $ac_func" >&5 +echo "configure:3138: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3164,7 +3187,7 @@ done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3168: checking for working mmap" >&5 +echo "configure:3191: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3172,7 +3195,7 @@ ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -3340,17 +3363,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3344: checking for $ac_hdr" >&5 +echo "configure:3367: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3377: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3380,12 +3403,12 @@ strdup __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3384: checking for $ac_func" >&5 +echo "configure:3407: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3437,12 +3460,12 @@ for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3441: checking for $ac_func" >&5 +echo "configure:3464: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3499,19 +3522,19 @@ if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3503: checking for LC_MESSAGES" >&5 +echo "configure:3526: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3532,7 +3555,7 @@ fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3536: checking whether NLS is requested" >&5 +echo "configure:3559: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3552,7 +3575,7 @@ EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3556: checking whether included gettext is requested" >&5 +echo "configure:3579: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3571,17 +3594,17 @@ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3575: checking for libintl.h" >&5 +echo "configure:3598: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3585: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3598,19 +3621,19 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:3602: checking for gettext in libc" >&5 +echo "configure:3625: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3626,7 +3649,7 @@ if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3630: checking for bindtextdomain in -lintl" >&5 +echo "configure:3653: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3634,7 +3657,7 @@ ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3661,12 +3684,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:3665: checking for gettext in libintl" >&5 +echo "configure:3688: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6 -echo "configure:3670: checking for gettext in -lintl" >&5 +echo "configure:3693: checking for gettext in -lintl" >&5 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3674,7 +3697,7 @@ ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3724,7 +3747,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3728: checking for $ac_word" >&5 +echo "configure:3751: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3758,12 +3781,12 @@ for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3762: checking for $ac_func" >&5 +echo "configure:3785: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3813,7 +3836,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3817: checking for $ac_word" >&5 +echo "configure:3840: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3849,7 +3872,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3853: checking for $ac_word" >&5 +echo "configure:3876: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3881,7 +3904,7 @@ fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3912,7 +3935,7 @@ if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3916: checking whether catgets can be used" >&5 +echo "configure:3939: checking whether catgets can be used" >&5 # Check whether --with-catgets or --without-catgets was given. if test "${with_catgets+set}" = set; then withval="$with_catgets" @@ -3925,7 +3948,7 @@ if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3929: checking for main in -li" >&5 +echo "configure:3952: checking for main in -li" >&5 ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3933,14 +3956,14 @@ ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3968,12 +3991,12 @@ fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3972: checking for catgets" >&5 +echo "configure:3995: checking for catgets" >&5 if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_catgets=yes" else @@ -4018,7 +4041,7 @@ # Extract the first word of "gencat", so it can be a program name with args. set dummy gencat; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4022: checking for $ac_word" >&5 +echo "configure:4045: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4054,7 +4077,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4058: checking for $ac_word" >&5 +echo "configure:4081: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4091,7 +4114,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4095: checking for $ac_word" >&5 +echo "configure:4118: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4126,7 +4149,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4130: checking for $ac_word" >&5 +echo "configure:4153: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4184,7 +4207,7 @@ # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4188: checking for $ac_word" >&5 +echo "configure:4211: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4218,7 +4241,7 @@ # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4222: checking for $ac_word" >&5 +echo "configure:4245: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4254,7 +4277,7 @@ # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4258: checking for $ac_word" >&5 +echo "configure:4281: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4347,7 +4370,7 @@ LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4351: checking for catalogs to be installed" >&5 +echo "configure:4374: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4375,17 +4398,17 @@ if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:4379: checking for linux/version.h" >&5 +echo "configure:4402: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4461,17 +4484,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4465: checking for $ac_hdr" >&5 +echo "configure:4488: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4499,7 +4522,7 @@ if test "$ac_cv_header_gdbm_h" = yes ; then echo $ac_n "checking for gdbm_firstkey in -lgdbm""... $ac_c" 1>&6 -echo "configure:4503: checking for gdbm_firstkey in -lgdbm" >&5 +echo "configure:4526: checking for gdbm_firstkey in -lgdbm" >&5 ac_lib_var=`echo gdbm'_'gdbm_firstkey | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4507,7 +4530,7 @@ ac_save_LIBS="$LIBS" LIBS="-lgdbm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4550,7 +4573,7 @@ echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4554: checking for gethostbyname in -lnsl" >&5 +echo "configure:4577: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4558,7 +4581,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4597,7 +4620,7 @@ fi echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:4601: checking for socket in -lsocket" >&5 +echo "configure:4624: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4605,7 +4628,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4642,7 +4665,7 @@ fi if test x$ac_try_nsl = x1; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4646: checking for gethostbyname in -lnsl" >&5 +echo "configure:4669: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4650,7 +4673,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4690,7 +4713,7 @@ if test "$try_dynload" = yes ; then echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:4694: checking for dlopen in -ldl" >&5 +echo "configure:4717: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4698,7 +4721,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4749,7 +4772,7 @@ use_gnupg_extensions=yes else echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:4753: checking for dlopen in -lc" >&5 +echo "configure:4776: checking for dlopen in -lc" >&5 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4757,7 +4780,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4808,7 +4831,7 @@ use_gnupg_extensions=yes else echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:4812: checking for shl_load in -ldld" >&5 +echo "configure:4835: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4816,7 +4839,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldld $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4870,7 +4893,7 @@ fi else echo $ac_n "checking for dynamic loading""... $ac_c" 1>&6 -echo "configure:4874: checking for dynamic loading" >&5 +echo "configure:4897: checking for dynamic loading" >&5 DYNLINK_LDFLAGS= DYNLINK_MOD_CFLAGS= use_gnupg_extensions=no @@ -4891,12 +4914,12 @@ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:4895: checking for ANSI C header files" >&5 +echo "configure:4918: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4904,7 +4927,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4921,7 +4944,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -4939,7 +4962,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -4960,7 +4983,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -4971,7 +4994,7 @@ exit (0); } EOF -if { (eval echo configure:4975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -4998,17 +5021,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5002: checking for $ac_hdr" >&5 +echo "configure:5025: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5012: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5037,12 +5060,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:5041: checking for working const" >&5 +echo "configure:5064: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5118: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -5112,21 +5135,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:5116: checking for inline" >&5 +echo "configure:5139: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5153: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -5152,12 +5175,12 @@ esac echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:5156: checking for size_t" >&5 +echo "configure:5179: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -5185,12 +5208,12 @@ fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:5189: checking return type of signal handlers" >&5 +echo "configure:5212: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5207,7 +5230,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:5211: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5234: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -5226,12 +5249,12 @@ echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:5230: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:5253: checking for sys_siglist declaration in signal.h or unistd.h" >&5 if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5243,7 +5266,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:5247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -5268,14 +5291,14 @@ echo "configure: warning: cross compiling; assuming little endianess" 1>&2 fi echo $ac_n "checking endianess""... $ac_c" 1>&6 -echo "configure:5272: checking endianess" >&5 +echo "configure:5295: checking endianess" >&5 if eval "test \"`echo '$''{'gnupg_cv_c_endian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gnupg_cv_c_endian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -5286,11 +5309,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:5290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -5301,7 +5324,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:5305: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_c_endian=big else @@ -5322,7 +5345,7 @@ else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gnupg_cv_c_endian=little else @@ -5367,12 +5390,12 @@ echo $ac_n "checking for byte typedef""... $ac_c" 1>&6 -echo "configure:5371: checking for byte typedef" >&5 +echo "configure:5394: checking for byte typedef" >&5 if eval "test \"`echo '$''{'gnupg_cv_typedef_byte'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5383,7 +5406,7 @@ ; return 0; } EOF -if { (eval echo configure:5387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_byte=yes else @@ -5404,12 +5427,12 @@ fi echo $ac_n "checking for ushort typedef""... $ac_c" 1>&6 -echo "configure:5408: checking for ushort typedef" >&5 +echo "configure:5431: checking for ushort typedef" >&5 if eval "test \"`echo '$''{'gnupg_cv_typedef_ushort'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5420,7 +5443,7 @@ ; return 0; } EOF -if { (eval echo configure:5424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_ushort=yes else @@ -5441,12 +5464,12 @@ fi echo $ac_n "checking for ulong typedef""... $ac_c" 1>&6 -echo "configure:5445: checking for ulong typedef" >&5 +echo "configure:5468: checking for ulong typedef" >&5 if eval "test \"`echo '$''{'gnupg_cv_typedef_ulong'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5457,7 +5480,7 @@ ; return 0; } EOF -if { (eval echo configure:5461: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_ulong=yes else @@ -5478,12 +5501,12 @@ fi echo $ac_n "checking for u16 typedef""... $ac_c" 1>&6 -echo "configure:5482: checking for u16 typedef" >&5 +echo "configure:5505: checking for u16 typedef" >&5 if eval "test \"`echo '$''{'gnupg_cv_typedef_u16'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5494,7 +5517,7 @@ ; return 0; } EOF -if { (eval echo configure:5498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_u16=yes else @@ -5515,12 +5538,12 @@ fi echo $ac_n "checking for u32 typedef""... $ac_c" 1>&6 -echo "configure:5519: checking for u32 typedef" >&5 +echo "configure:5542: checking for u32 typedef" >&5 if eval "test \"`echo '$''{'gnupg_cv_typedef_u32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5531,7 +5554,7 @@ ; return 0; } EOF -if { (eval echo configure:5535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_u32=yes else @@ -5553,7 +5576,7 @@ echo $ac_n "checking size of unsigned short""... $ac_c" 1>&6 -echo "configure:5557: checking size of unsigned short" >&5 +echo "configure:5580: checking size of unsigned short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5561,7 +5584,7 @@ ac_cv_sizeof_unsigned_short=2 else cat > conftest.$ac_ext < main() @@ -5572,7 +5595,7 @@ exit(0); } EOF -if { (eval echo configure:5576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_unsigned_short=`cat conftestval` else @@ -5592,7 +5615,7 @@ echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6 -echo "configure:5596: checking size of unsigned int" >&5 +echo "configure:5619: checking size of unsigned int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5600,7 +5623,7 @@ ac_cv_sizeof_unsigned_int=4 else cat > conftest.$ac_ext < main() @@ -5611,7 +5634,7 @@ exit(0); } EOF -if { (eval echo configure:5615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_unsigned_int=`cat conftestval` else @@ -5631,7 +5654,7 @@ echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6 -echo "configure:5635: checking size of unsigned long" >&5 +echo "configure:5658: checking size of unsigned long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5639,7 +5662,7 @@ ac_cv_sizeof_unsigned_long=4 else cat > conftest.$ac_ext < main() @@ -5650,7 +5673,7 @@ exit(0); } EOF -if { (eval echo configure:5654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_unsigned_long=`cat conftestval` else @@ -5679,12 +5702,12 @@ echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:5683: checking for vprintf" >&5 +echo "configure:5706: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -5731,12 +5754,12 @@ if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:5735: checking for _doprnt" >&5 +echo "configure:5758: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -5786,12 +5809,12 @@ for ac_func in strerror stpcpy strlwr stricmp tcgetattr rand strtoul mmap do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5790: checking for $ac_func" >&5 +echo "configure:5813: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5841,12 +5864,12 @@ for ac_func in memmove gettimeofday getrusage gethrtime setrlimit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5845: checking for $ac_func" >&5 +echo "configure:5868: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5896,12 +5919,12 @@ for ac_func in memicmp atexit raise getpagesize strftime nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5900: checking for $ac_func" >&5 +echo "configure:5923: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5952,12 +5975,12 @@ for ac_func in mlock do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5956: checking for $ac_func" >&5 +echo "configure:5979: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6006,7 +6029,7 @@ if test "$ac_cv_func_mlock" = "yes"; then echo $ac_n "checking whether mlock is broken""... $ac_c" 1>&6 -echo "configure:6010: checking whether mlock is broken" >&5 +echo "configure:6033: checking whether mlock is broken" >&5 if eval "test \"`echo '$''{'gnupg_cv_have_broken_mlock'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6015,7 +6038,7 @@ else cat > conftest.$ac_ext < @@ -6045,7 +6068,7 @@ EOF -if { (eval echo configure:6049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gnupg_cv_have_broken_mlock="no" else @@ -6075,6 +6098,49 @@ fi fi +echo $ac_n "checking if mkdir takes one argument""... $ac_c" 1>&6 +echo "configure:6103: checking if mkdir takes one argument" >&5 +if eval "test \"`echo '$''{'gnupg_cv_mkdir_takes_one_arg'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif +#ifdef HAVE_DIRECT_H +# include +#endif +int main() { +mkdir ("foo", 0); +; return 0; } +EOF +if { (eval echo configure:6125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + gnupg_cv_mkdir_takes_one_arg=no +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + gnupg_cv_mkdir_takes_one_arg=yes +fi +rm -f conftest* +fi + +echo "$ac_t""$gnupg_cv_mkdir_takes_one_arg" 1>&6 +if test $gnupg_cv_mkdir_takes_one_arg = yes ; then + cat >> confdefs.h <<\EOF +#define MKDIR_TAKES_ONE_ARG 1 +EOF + +fi + if test "$use_capabilities" = "yes" ; then use_capabilities=no @@ -6082,17 +6148,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6086: checking for $ac_hdr" >&5 +echo "configure:6152: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6096: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6120,7 +6186,7 @@ if test "$ac_cv_header_sys_capability_h" = "yes" ; then echo $ac_n "checking for cap_init in -lcap""... $ac_c" 1>&6 -echo "configure:6124: checking for cap_init in -lcap" >&5 +echo "configure:6190: checking for cap_init in -lcap" >&5 ac_lib_var=`echo cap'_'cap_init | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6128,7 +6194,7 @@ ac_save_LIBS="$LIBS" LIBS="-lcap $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6186,17 +6252,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6190: checking for $ac_hdr" >&5 +echo "configure:6256: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6266: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6224,7 +6290,7 @@ if test "$ac_cv_header_sys_shm_h" = "yes"; then echo $ac_n "checking whether IPC_RMID allowes subsequent attaches""... $ac_c" 1>&6 -echo "configure:6228: checking whether IPC_RMID allowes subsequent attaches" >&5 +echo "configure:6294: checking whether IPC_RMID allowes subsequent attaches" >&5 if eval "test \"`echo '$''{'gnupg_cv_ipc_rmid_deferred_release'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6232,7 +6298,7 @@ gnupg_cv_ipc_rmid_deferred_release="assume-no" else cat > conftest.$ac_ext < @@ -6258,7 +6324,7 @@ } EOF -if { (eval echo configure:6262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gnupg_cv_ipc_rmid_deferred_release="yes" else @@ -6288,12 +6354,12 @@ fi echo $ac_n "checking whether SHM_LOCK is available""... $ac_c" 1>&6 -echo "configure:6292: checking whether SHM_LOCK is available" >&5 +echo "configure:6358: checking whether SHM_LOCK is available" >&5 if eval "test \"`echo '$''{'gnupg_cv_ipc_have_shm_lock'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -6304,7 +6370,7 @@ ; return 0; } EOF -if { (eval echo configure:6308: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_ipc_have_shm_lock="yes" else @@ -6338,7 +6404,7 @@ if test "$try_dev_random" = yes ; then echo $ac_n "checking for random device""... $ac_c" 1>&6 -echo "configure:6342: checking for random device" >&5 +echo "configure:6408: checking for random device" >&5 if eval "test \"`echo '$''{'ac_cv_have_dev_random'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6355,7 +6421,7 @@ fi else echo $ac_n "checking for random device""... $ac_c" 1>&6 -echo "configure:6359: checking for random device" >&5 +echo "configure:6425: checking for random device" >&5 ac_cv_have_dev_random=no echo "$ac_t""has been disabled" 1>&6 fi @@ -6365,17 +6431,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6369: checking for $ac_hdr" >&5 +echo "configure:6435: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6379: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6402,7 +6468,7 @@ done echo $ac_n "checking for random device ioctl""... $ac_c" 1>&6 -echo "configure:6406: checking for random device ioctl" >&5 +echo "configure:6472: checking for random device ioctl" >&5 if eval "test \"`echo '$''{'ac_cv_have_dev_random_ioctl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6431,15 +6497,18 @@ static_modules="$static_modules rndlinux" else case "${target}" in - i386--mingw32) + *-*-mingw32) static_modules="$static_modules rndw32" ;; - i386-emx-os2|i345686-pc-os2*emx) + i?86-emx-os2|i?86-*-os2*emx) static_modules="$static_modules rndos2" ;; m68k-atari-mint) static_modules="$static_modules rndatari" ;; + i?86-*-msdosdjgpp*) + static_modules="$static_modules" + ;; *) static_modules="$static_modules rndunix" print_egd_notice=yes @@ -6471,7 +6540,7 @@ *** in Perl and available at the GnuPG FTP servers. For more information *** consult the GnuPG webpages: *** -*** http://www.gnupg.org/donwload.html#egd +*** http://www.gnupg.org/download.html#egd *** *** You may want to run ./configure with --enable-static-rnd=none to be *** able to load the EGD client code dynamically; this way you can choose @@ -6543,7 +6612,7 @@ echo $ac_n "checking for mpi assembler functions""... $ac_c" 1>&6 -echo "configure:6547: checking for mpi assembler functions" >&5 +echo "configure:6616: checking for mpi assembler functions" >&5 if test -f $srcdir/mpi/config.links ; then . $srcdir/mpi/config.links if test "x$wk_link_files_src" = "x"; then @@ -6585,17 +6654,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6589: checking for $ac_hdr" >&5 +echo "configure:6658: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6599: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6668: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6623,7 +6692,7 @@ if test "$ac_cv_header_zlib_h" = yes ; then echo $ac_n "checking for deflateInit2_ in -lz""... $ac_c" 1>&6 -echo "configure:6627: checking for deflateInit2_ in -lz" >&5 +echo "configure:6696: checking for deflateInit2_ in -lz" >&5 ac_lib_var=`echo z'_'deflateInit2_ | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6631,7 +6700,7 @@ ac_save_LIBS="$LIBS" LIBS="-lz $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6834,6 +6903,7 @@ cipher/Makefile g10/Makefile doc/Makefile +doc/gph/Makefile tools/Makefile zlib/Makefile checks/Makefile @@ -6995,6 +7065,7 @@ cipher/Makefile g10/Makefile doc/Makefile +doc/gph/Makefile tools/Makefile zlib/Makefile checks/Makefile diff -urN gnupg-0.9.11/configure.in gnupg-1.0.0/configure.in --- gnupg-0.9.11/configure.in Tue Aug 31 17:30:02 1999 +++ gnupg-1.0.0/configure.in Mon Sep 6 20:07:18 1999 @@ -2,7 +2,7 @@ dnl Configure template for GNUPG dnl dnl (Process this file with autoconf to produce a configure script.) -AC_REVISION($Revision: 1.100 $)dnl +AC_REVISION($Revision: 1.101 $)dnl dnl Must reset CDPATH so that bash's cd does not print to stdout CDPATH= @@ -406,6 +406,7 @@ AC_CHECK_FUNCS(memicmp atexit raise getpagesize strftime nl_langinfo) GNUPG_CHECK_MLOCK +GNUPG_FUNC_MKDIR_TAKES_ONE_ARG dnl dnl Check whether we can use Linux capabilities as requested @@ -706,6 +707,7 @@ cipher/Makefile g10/Makefile doc/Makefile +doc/gph/Makefile tools/Makefile zlib/Makefile checks/Makefile diff -urN gnupg-0.9.11/debian/changelog gnupg-1.0.0/debian/changelog --- gnupg-0.9.11/debian/changelog Mon Aug 30 13:41:40 1999 +++ gnupg-1.0.0/debian/changelog Fri Sep 3 21:08:59 1999 @@ -141,8 +141,8 @@ * debian/control: update extended description. * debian/rules (binary-arch): install FAQ and all ChangeLogs. * debian/preinst: new; check for upgrade from (<= 0.3.2-1) and warn about - incompatabilites in keyring format and offer to move old copy out of - gpg out of the way for transistion strategy and inform the user about + incompatibilities in keyring format and offer to move old copy out of + gpg out of the way for transition strategy and inform the user about the old copies of gnupg available on my web page. * debian/rules (binary-arch) install preinst. * debian/rules (binary-arch): don't depend on the test target as it is diff -urN gnupg-0.9.11/doc/ChangeLog gnupg-1.0.0/doc/ChangeLog --- gnupg-0.9.11/doc/ChangeLog Thu Jul 22 20:03:07 1999 +++ gnupg-1.0.0/doc/ChangeLog Mon Sep 6 19:59:10 1999 @@ -1,3 +1,8 @@ +Mon Sep 6 19:59:08 CEST 1999 Werner Koch + + + * Makefile.am (SUBDIRS): New subdir gph for the manual. + Thu Jul 22 20:03:03 CEST 1999 Werner Koch diff -urN gnupg-0.9.11/doc/Makefile.am gnupg-1.0.0/doc/Makefile.am --- gnupg-0.9.11/doc/Makefile.am Tue Jul 13 18:40:17 1999 +++ gnupg-1.0.0/doc/Makefile.am Fri Sep 3 13:34:37 1999 @@ -1,5 +1,7 @@ ## Process this file with automake to create Makefile.in +SUBDIRS = gph + EXTRA_DIST = DETAILS gpg.sgml gpg.1 FAQ HACKING OpenPGP man_MANS = gpg.1 @@ -15,21 +17,13 @@ endif -%.txt : %.sgml - sgml2txt -c latin $* +%.dvi: %.sgml + db2dvi $< + +%.ps: %.dvi + dvips -o $@ $< -%.html : %.sgml - sgml2html -c latin $* +%/%.html: %.sgml + -db2html $< -%.dvi : %.sgml - -rm $*.sgml.tmp - mv $*.sgml $*.sgml.tmp - sed -e '//"INCLUDE">/' $*.sgml.tmp >$*.sgml - sgml2latex -b -l deutsch -c latin $* ; mv $*.sgml.tmp $*.sgml - -%.ps : %.sgml - -rm $*.sgml.tmp - mv $*.sgml $*.sgml.tmp - sed -e '//"INCLUDE">/' $*.sgml.tmp >$*.sgml - sgml2latex -b -l deutsch -c latin -o ps $* ; mv $*.sgml.tmp $*.sgml diff -urN gnupg-0.9.11/doc/Makefile.in gnupg-1.0.0/doc/Makefile.in --- gnupg-0.9.11/doc/Makefile.in Fri Sep 3 10:10:59 1999 +++ gnupg-1.0.0/doc/Makefile.in Tue Sep 7 18:48:42 1999 @@ -108,6 +108,8 @@ ZLIBS = @ZLIBS@ l = @l@ +SUBDIRS = gph + EXTRA_DIST = DETAILS gpg.sgml gpg.1 FAQ HACKING OpenPGP man_MANS = gpg.1 @@ -173,9 +175,95 @@ uninstall-man: @$(NORMAL_UNINSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. + +@SET_MAKE@ + +all-recursive install-data-recursive install-exec-recursive \ +installdirs-recursive install-recursive uninstall-recursive \ +check-recursive installcheck-recursive info-recursive dvi-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ + rev="$$subdir $$rev"; \ + test "$$subdir" = "." && dot_seen=yes; \ + done; \ + test "$$dot_seen" = "no" && rev=". $$rev"; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done + tags: TAGS -TAGS: +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) @@ -192,30 +280,41 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done + for subdir in $(SUBDIRS); do \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ + || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ + done info-am: -info: info-am +info: info-recursive dvi-am: -dvi: dvi-am +dvi: dvi-recursive check-am: all-am -check: check-am +check: check-recursive installcheck-am: -installcheck: installcheck-am +installcheck: installcheck-recursive install-exec-am: -install-exec: install-exec-am +install-exec: install-exec-recursive install-data-am: install-man -install-data: install-data-am +install-data: install-data-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am +install: install-recursive uninstall-am: uninstall-man -uninstall: uninstall-am +uninstall: uninstall-recursive all-am: Makefile $(MANS) -all-redirect: all-am +all-redirect: all-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: +installdirs: installdirs-recursive +installdirs-am: $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 @@ -228,29 +327,36 @@ -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-generic +mostlyclean-am: mostlyclean-tags mostlyclean-generic -mostlyclean: mostlyclean-am +mostlyclean: mostlyclean-recursive -clean-am: clean-generic mostlyclean-am +clean-am: clean-tags clean-generic mostlyclean-am -clean: clean-am +clean: clean-recursive -distclean-am: distclean-generic clean-am +distclean-am: distclean-tags distclean-generic clean-am -rm -f libtool -distclean: distclean-am +distclean: distclean-recursive -maintainer-clean-am: maintainer-clean-generic distclean-am +maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -maintainer-clean: maintainer-clean-am +maintainer-clean: maintainer-clean-recursive -.PHONY: install-man1 uninstall-man1 install-man uninstall-man tags \ -distdir info-am info dvi-am dvi check check-am installcheck-am \ -installcheck install-exec-am install-exec install-data-am install-data \ -install-am install uninstall-am uninstall all-redirect all-am all \ +.PHONY: install-man1 uninstall-man1 install-man uninstall-man \ +install-data-recursive uninstall-data-recursive install-exec-recursive \ +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ +all-recursive check-recursive installcheck-recursive info-recursive \ +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs-am \ installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean @@ -261,23 +367,14 @@ @HAVE_DOCBOOK_TO_MAN_FALSE@ echo ".TH $< 1" >$@ @HAVE_DOCBOOK_TO_MAN_FALSE@ echo "No man page due to missing docbook-to-man" >>$@ -%.txt : %.sgml - sgml2txt -c latin $* +%.dvi: %.sgml + db2dvi $< -%.html : %.sgml - sgml2html -c latin $* +%.ps: %.dvi + dvips -o $@ $< -%.dvi : %.sgml - -rm $*.sgml.tmp - mv $*.sgml $*.sgml.tmp - sed -e '//"INCLUDE">/' $*.sgml.tmp >$*.sgml - sgml2latex -b -l deutsch -c latin $* ; mv $*.sgml.tmp $*.sgml - -%.ps : %.sgml - -rm $*.sgml.tmp - mv $*.sgml $*.sgml.tmp - sed -e '//"INCLUDE">/' $*.sgml.tmp >$*.sgml - sgml2latex -b -l deutsch -c latin -o ps $* ; mv $*.sgml.tmp $*.sgml +%/%.html: %.sgml + -db2html $< # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -urN gnupg-0.9.11/doc/gpg.1 gnupg-1.0.0/doc/gpg.1 --- gnupg-0.9.11/doc/gpg.1 Tue Aug 31 17:08:16 1999 +++ gnupg-1.0.0/doc/gpg.1 Sun Sep 5 19:35:42 1999 @@ -139,7 +139,7 @@ with -u\&. .IP "lsign" 10 Same as --sign but the signature is marked as -non-exportbale and will therefore never be used +non-exportable and will therefore never be used by others\&. This may be used to make keys valid only in the local environment\&. .IP "revsig" 10 @@ -668,4 +668,4 @@ warning message about insecure memory your operating system supports locking without being root\&. The program drops root privileges as soon as locked memory is allocated\&. -...\" created by instant / docbook-to-man, Tue 31 Aug 1999, 17:08 +...\" created by instant / docbook-to-man, Sun 05 Sep 1999, 19:35 diff -urN gnupg-0.9.11/doc/gpg.sgml gnupg-1.0.0/doc/gpg.sgml --- gnupg-0.9.11/doc/gpg.sgml Tue Aug 31 16:32:01 1999 +++ gnupg-1.0.0/doc/gpg.sgml Fri Sep 3 21:08:59 1999 @@ -253,7 +253,7 @@ lsign Same as --sign but the signature is marked as -non-exportbale and will therefore never be used +non-exportable and will therefore never be used by others. This may be used to make keys valid only in the local environment. diff -urN gnupg-0.9.11/doc/gph/ChangeLog gnupg-1.0.0/doc/gph/ChangeLog --- gnupg-0.9.11/doc/gph/ChangeLog Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/ChangeLog Tue Sep 7 16:19:25 1999 @@ -0,0 +1,9 @@ +Tue Sep 7 16:18:03 1999 Werner Koch (wk@gnupg.org) + + * Makefile.am: Ugly workarounds to do a VPATH build. + +Fri Sep 3 13:24:45 1999 Werner Koch (wk@gnupg.org) + + * Makefile.am: New + + diff -urN gnupg-0.9.11/doc/gph/Makefile.am gnupg-1.0.0/doc/gph/Makefile.am --- gnupg-0.9.11/doc/gph/Makefile.am Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/Makefile.am Tue Sep 7 18:22:56 1999 @@ -0,0 +1,54 @@ +# GPH - GNU Privacy Handbook + +PARTS = manual.sgml c1.sgml c2.sgml c3.sgml c4.sgml c5.sgml c6.sgml c7.sgml \ + signatures.fig signatures.jpg.asc + +EXTRA_DIST = $(PARTS) index.html +#BUILT_SOURCES = index.html + +all-local: ./signatures.jpg + +./signatures.jpg: $(srcdir)/signatures.jpg.asc + ../../g10/gpg --yes --dearmor \ + -o ./signatures.jpg $(srcdir)/signatures.jpg.asc + test -d manual && cp ./signatures.jpg ./manual/signatures.jpg + + +index.html: $(PARTS) + @set -e; \ + for i in $(PARTS); do \ + [ -f $$i ] || cat /dev/null $(srcdir)/$$i >./$$i ; \ + done + db2html manual.sgml + echo '' >index.html + echo '' >>index.html + echo '' >>index.html + -rm -r manual.junk + -rm manual/signatures.jpg + (cd manual; rm -r stylesheet-images; ls | grep -v distfiles >distfiles) + + +dist-hook: index.html + + +%.dvi: %.sgml + db2dvi $< + +%.ps: %.dvi + dvips -o $@ $< + +%/%.html: %.sgml + db2html $< + + +%.png: %.fig + fig2dev -L png $< $@ + +%.jpg: %.fig + fig2dev -L jpeg $< $@ + +%.eps: %.fig + fig2dev -L ps $< $@ + diff -urN gnupg-0.9.11/doc/gph/Makefile.in gnupg-1.0.0/doc/gph/Makefile.in --- gnupg-0.9.11/doc/gph/Makefile.in Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/Makefile.in Tue Sep 7 18:48:46 1999 @@ -0,0 +1,263 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# GPH - GNU Privacy Handbook + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = ../.. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_alias = @build_alias@ +build_triplet = @build@ +host_alias = @host_alias@ +host_triplet = @host@ +target_alias = @target_alias@ +target_triplet = @target@ +AS = @AS@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CPP = @CPP@ +DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ +DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@ +DYNAMIC_CIPHER_MODS = @DYNAMIC_CIPHER_MODS@ +DYNLINK_LDFLAGS = @DYNLINK_LDFLAGS@ +DYNLINK_MOD_CFLAGS = @DYNLINK_MOD_CFLAGS@ +GENCAT = @GENCAT@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GT_NO = @GT_NO@ +GT_YES = @GT_YES@ +INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTOBJEXT = @INSTOBJEXT@ +INTLDEPS = @INTLDEPS@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +LD = @LD@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAINT = @MAINT@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MPI_EXTRA_ASM_OBJS = @MPI_EXTRA_ASM_OBJS@ +MPI_OPT_FLAGS = @MPI_OPT_FLAGS@ +MPI_SFLAGS = @MPI_SFLAGS@ +MSGFMT = @MSGFMT@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +POFILES = @POFILES@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +STATIC_CIPHER_NAMES = @STATIC_CIPHER_NAMES@ +STATIC_CIPHER_OBJS = @STATIC_CIPHER_OBJS@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +ZLIBS = @ZLIBS@ +l = @l@ + +PARTS = manual.sgml c1.sgml c2.sgml c3.sgml c4.sgml c5.sgml c6.sgml c7.sgml signatures.fig signatures.jpg.asc + + +EXTRA_DIST = $(PARTS) index.html +mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs +CONFIG_HEADER = ../../config.h +CONFIG_CLEAN_FILES = +DIST_COMMON = ChangeLog Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/gph/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = doc/gph + +distdir: $(DISTFILES) + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am + +install-data-am: +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile all-local +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am + -rm -f libtool + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-local all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean + +#BUILT_SOURCES = index.html + +all-local: ./signatures.jpg + +./signatures.jpg: $(srcdir)/signatures.jpg.asc + ../../g10/gpg --yes --dearmor \ + -o ./signatures.jpg $(srcdir)/signatures.jpg.asc + test -d manual && cp ./signatures.jpg ./manual/signatures.jpg + +index.html: $(PARTS) + @set -e; \ + for i in $(PARTS); do \ + [ -f $$i ] || cat /dev/null $(srcdir)/$$i >./$$i ; \ + done + db2html manual.sgml + echo '' >index.html + echo '' >>index.html + echo '' >>index.html + -rm -r manual.junk + -rm manual/signatures.jpg + (cd manual; rm -r stylesheet-images; ls | grep -v distfiles >distfiles) + +dist-hook: index.html + +%.dvi: %.sgml + db2dvi $< + +%.ps: %.dvi + dvips -o $@ $< + +%/%.html: %.sgml + db2html $< + +%.png: %.fig + fig2dev -L png $< $@ + +%.jpg: %.fig + fig2dev -L jpeg $< $@ + +%.eps: %.fig + fig2dev -L ps $< $@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -urN gnupg-0.9.11/doc/gph/c1.sgml gnupg-1.0.0/doc/gph/c1.sgml --- gnupg-0.9.11/doc/gph/c1.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/c1.sgml Mon Sep 6 20:10:19 1999 @@ -0,0 +1,627 @@ + + + +$Id: c1.sgml,v 1.1 1999/09/06 18:10:19 wkoch Exp $ + + + +Getting Started + + + +&Gnupg; is a tool for secure communication. +This chapter is a quick-start guide that covers the core functionality +of &gnupg;. +This includes keypair creation, exchanging and verifying keys, encrypting +and decrypting documents, and making and verifying signatures. +It does not explain in detail the concepts behind public-key cryptography, +encryption, and digital signatures. +This is covered in Chapter . +It also does not explain how to use &gnupg; wisely. +This is covered in Chapters and +. + + + +&Gnupg; uses public-key cryptography so that users may communicate securely. +In a public-key system, each user has a public/private keypair. +A user's private key is kept secret; it need never be revealed. +The public key may be given to anyone with whom the user wants to +communicate. +&Gnupg; uses a somewhat more sophisticated scheme in which a user has +a primary keypair and then zero or more additional subordinate keypairs. +The primary and subordinate keypairs are bundled to facilitate key +management and the bundle can often be considered simply as one keypair. + + + + +Generating a new keypair + + + +The command-line option +is used to create a new primary keypair. + + +alice% gpg --gen-key +gpg (GnuPG) 0.9.4; Copyright (C) 1999 Free Software Foundation, Inc. +This program comes with ABSOLUTELY NO WARRANTY. +This is free software, and you are welcome to redistribute it +under certain conditions. See the file COPYING for details. + +Please select what kind of key you want: + (1) DSA and ElGamal (default) + (2) DSA (sign only) + (4) ElGamal (sign and encrypt) +Your selection? + + + + +&Gnupg; is able to create several different types of keypairs, but a primary +key must be capable of making signatures. +There are therefore only three options. +Option 1 actually creates two keypairs. +A DSA keypair is the primary keypair usable only for making signatures. +An ElGamal subordinate keypair is also created for encryption. +Option 2 is similar but creates only a DSA keypair. +Option 4Option 3 is to generate an ElGamal keypair that is +not usable for making signatures. creates a single ElGamal +keypair usable for both making signatures and performing encryption. +In all cases it is possible to later add additional subkeys for encryption +and signing. +For most users the default option is fine. + + + +You must also choose a key size. +The size of a DSA key must be between 512 and 1024 bits, and an ElGamal +key may be of any size. +&Gnupg;, however, requires that keys be no smaller than 768 bits. +Therefore, if Option 1 was chosen and you choose a keysize larger than +1024 bits, the ElGamal key will have the requested size, but the DSA +key will be 1024 bits. + + +About to generate a new ELG-E keypair. + minimum keysize is 768 bits + default keysize is 1024 bits + highest suggested keysize is 2048 bits +What keysize do you want? (1024) + + +The longer the key the more secure it is against brute-force attacks, +but for almost all purposes the default keysize is adequate since +it would be cheaper to circumvent the encryption than try to break it. +Also, encryption and decryption will be slower as the +key size is increased, and a larger keysize may affect signature length. +Once selected, the keysize can never be changed. + + + +Finally, you must choose an expiration date. +If Option 1 was chosen, the expiration date will be used for both the +ElGamal and DSA keypairs. + + +Please specify how long the key should be valid. + 0 = key does not expire + <n> = key expires in n days + <n>w = key expires in n weeks + <n>m = key expires in n months + <n>y = key expires in n years +Key is valid for? (0) + + +For most users a key that does not expire is adequate. +The expiration time should be chosen with care, however, +since although it is possible to change the expiration date after the key +is created, it may be difficult to communicate a change +to users who have your public key. + + + +You must provide a user ID in addition to the key parameters. +The user ID is used to associate the key being created with a real +person. + + +You need a User-ID to identify your key; the software constructs the user id +from Real Name, Comment and Email Address in this form: + "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" + +Real name: + + +Only one user ID is created when a key is created, but it is possible +to create additional user IDs if you want to use the key in two or +more contexts, ⪚, as an employee at work and a political activist +on the side. +A user ID should be created carefully since it cannot be edited after +it is created. + + + +&Gnupg; needs a passphrase to protect the primary and subordinate +private keys that you keep in your possession. + + +You need a Passphrase to protect your private key. + +Enter passphrase: + + +There is no limit on the length of a passphrase, and it should be +carefully chosen. +From the perspective of security, the passphrase to unlock the private +key is one of the weakest points in &gnupg; (and other public-key +encryption systems as well) since it is the only protection you +have if another individual gets your private key. +Ideally, the passphrase should not use words from a dictionary and +should mix the case of alphabetic characters as well as use +non-alphabetic characters. +A good passphrase is crucial to the secure use of &gnupg;. + + + + +Generating a revocation certificate + + + +After your keypair is created you should immediately generate a revocation +certificate for the primary public key using the option +. +If you forget your passphrase or if your private key is compromised +or lost, this revocation certificate may be published to notify others +that the public key should no longer be used. +A revoked public key can still be used to verify signatures made +by you in the past, but it cannot be used to encrypt future messages +to you. +It also does not affect your ability to decrypt messages sent to +you in the past if you still do have access to the private key. + + +alice% gpg --output revoke.asc --gen-revoke mykey +[...] + + +The argument mykey must be a key +specifier, +either the key ID of your primary keypair or any part of a user ID +that identifies your keypair. +The generated certificate will be left in the file +revoke.asc. +If the option is +omitted, the result will be placed on standard output. +Since the certificate is short, you may wish to print a hardcopy of +the certificate to store somewhere safe such as your safe deposit box. +The certificate should not be stored where others can access it since +anybody can publish the revocation certificate and render the +corresponding public key useless. + + + + + + +Exchanging keys + + + +To communicate with others you must exchange public keys. +To list the keys on your public keyring use the command-line +option . + + + +alice% gpg --list-keys +/users/alice/.gnupg/pubring.gpg +--------------------------------------- +pub 1024D/BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org> +sub 1024g/78E9A8FA 1999-06-04 + + + + +Exporting a public key + + + +To send your public key to a correspondent you must first export it. +The command-line option +is used to do this. +It takes an additional argument identifying the public key to export. +As with the option, either the key ID or any part of +the user ID may be used to identify the key to export. + + + +alice% gpg --output alice.gpg --export alice@cyb.org + + + +The key is exported in a binary format, but this can be inconvenient +when the key is to be sent though email or published on a web page. +&Gnupg; therefore supports a command-line option + +Many +command-line options that are frequently used can also be set in a +configuration file. + + +that that +causes output to be generated in an ASCII-armored format similar to +uuencoded documents. +In general, any output from &gnupg;, ⪚, keys, encrypted documents, and +signatures, can be ASCII-armored by adding the option. + + + +alice% gpg --armor --export alice@cyb.org +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v0.9.7 (GNU/Linux) +Comment: For info see http://www.gnupg.org + +[...] +-----END PGP PUBLIC KEY BLOCK----- + + + + + +Importing a public key + + + +A public key may be added to your public keyring with the + option. + + + +alice% gpg --import blake.gpg +gpg: key 9E98BC16: public key imported +gpg: Total number processed: 1 +gpg: imported: 1 +alice% gpg --list-keys +/users/alice/.gnupg/pubring.gpg +--------------------------------------- +pub 1024D/BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org> +sub 1024g/78E9A8FA 1999-06-04 + +pub 1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org> +sub 1024g/5C8CBD41 1999-06-04 + + + +Once a key is imported it should be validated. +&Gnupg; uses a powerful and flexible trust model that does not require +you to personally validate each key you import. +Some keys may need to be personally validated, however. +A key is validated by verifying the key's fingerprint and then signing +the key to certify it as a valid key. +A key's fingerprint can be quickly viewed with the + +command-line option, but in order to certify the key you must edit it. + + +alice% gpg --edit-key blake@cyb.org + +pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q +sub 1024g/5C8CBD41 created: 1999-06-04 expires: never +(1) Blake (Executioner) <blake@cyb.org> + +Command> fpr +pub 1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org> + Fingerprint: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16 + + +Key verification is a weak point in public-key cryptography, so you +must be sure that the fingerprint is correct. +The fingerprint displayed should be checked with the key's owner. +This may be done in person or over the phone or through any other means +as long as you can guarantee that you are communicating with the key's +true owner. +Once verified you may sign the key to validate it. + + + +Command> sign + +pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q + Fingerprint: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16 + + Blake (Executioner) <blake@cyb.org> + +Are you really sure that you want to sign this key +with your key: "Alice (Judge) <alice@cyb.org>" + +Really sign? + + + +Once signed you can check the key to list the signatures on it and +see the signature that you have added. +Every user ID on the key will have one or more self-signatures as well +as a signature for each user that has validated the key. + + + +Command> check +uid Blake (Executioner) <blake@cyb.org> +sig! 9E98BC16 1999-06-04 [self-signature] +sig! BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org> + + + + + + +Encrypting and decrypting documents + + + +To encrypt a document the option + is used. +You must have the public keys of the intended recipients. +The software expects the name of the document to encrypt as input or, if +omitted, on standard input. +The encrypted result is placed on standard output or as specified using +the option . +The document is compressed for additional security in addition to +encrypting it. + + +alice% gpg --output doc.gpg --encrypt --recipient blake@cyb.org doc + + +The option +is used once for each recipient and takes an extra argument specifying +the public key to which the document should be encrypted. +The encrypted document can only be decrypted by someone with a private +key that complements one of the recipients' public keys. +In particular, you cannot decrypt a document encrypted by you unless +you included your own public key in the recipient list. + + + +To decrypt a message the option + is used. +You need the private key to which the message was encrypted. +Similar to the encryption process, the document to decrypt is +input, and the decrypted result is output. + + + +blake% gpg --output doc --decrypt doc.gpg + +You need a passphrase to unlock the secret key for +user: "Blake (Executioner) <blake@cyb.org>" +1024-bit ELG-E key, ID 5C8CBD41, created 1999-06-04 (main key ID 9E98BC16) + +Enter passphrase: + + + +Documents may also be encrypted without using public-key cryptography. +Instead, only a symmetric cipher is used to encrypt the document. +The key used to drive the symmetric cipher is derived from a passphrase +supplied when the document is encrypted, and for good security, it +should not be the same passphrase that you use to protect your private key. +Symmetric encryption is useful for securing documents when the +passphrase does not need to be communicated to others. +A document can be encrypted with a symmetric cipher by using the + option. + + + +alice% gpg --output doc.gpg --symmetric doc +Enter passphrase: + + + + + +Making and verifying signatures + + + +A digital signature certifies and timestamps a document. +If the document is subsequently modified in any way, a verification +of the signature will fail. +A digital signature can serve the same purpose as a hand-written signature +with the additional benefit of being tamper-resistant. +The &gnupg; source distribution, for example, is signed so that users can +verify that the source code has not been modified since it was packaged. + + + +Creating and verifying signatures uses the public/private keypair +in an operation different from encryption and decryption. +A signature is created using the private key of the signer. +The signature is verified using the corresponding public key. +A consequence is that it is difficult to deny that you made a digital +signature since that would imply your private key had been compromised. + + + +The command-line option is +used to make a digital signature. +The document to sign is input, and the signed document is output. + + +alice% gpg --output doc.sig --sign doc + +You need a passphrase to unlock the private key for +user: "Alice (Judge) <alice@cyb.org>" +1024-bit DSA key, ID BB7576AC, created 1999-06-04 + +Enter passphrase: + + +The document is compressed before signed, and the output is in binary +format. + + + +Given a signed document, you can either check the signature or +check the signature and recover the original document. +To check the signature use the + option. +To verify the signature and extract the document use the + +option. +The signed document to verify and recover is input and the recovered +document is output. + + + +blake% gpg --output doc --decrypt doc.sig +gpg: Signature made Fri Jun 4 12:02:38 1999 CDT using DSA key ID BB7576AC +gpg: Good signature from "Alice (Judge) <alice@cyb.org>" + + + + +Clearsigned documents + + + +A common use of digital signatures is to sign usenet postings or +email messages. +In such situations it is undesirable to compress the document while +signing it. +The option + +causes the document to be wrapped in an ASCII-armored signature but +otherwise does not modify the document. + + + +alice% gpg --clearsign doc + +You need a passphrase to unlock the secret key for +user: "Alice (Judge) <alice@cyb.org>" +1024-bit DSA key, ID BB7576AC, created 1999-06-04 + +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +[...] +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v0.9.7 (GNU/Linux) +Comment: For info see http://www.gnupg.org + +iEYEARECAAYFAjdYCQoACgkQJ9S6ULt1dqz6IwCfQ7wP6i/i8HhbcOSKF4ELyQB1 +oCoAoOuqpRqEzr4kOkQqHRLE/b8/Rw2k +=y6kj +-----END PGP SIGNATURE----- + + + + + +Detached signatures + + + +A signed document has limited usefulness. +Other users must recover the original document from the signed +version, and even with clearsigned documents, the signed document +must be edited to recover the original. +Therefore, there is a third method for signing a document that +creates a detached signature. +A detached signature is created using the + +option. + + + +alice% gpg --output doc.sig --detach-sig doc + +You need a passphrase to unlock the secret key for +user: "Alice (Judge) <alice@cyb.org>" +1024-bit DSA key, ID BB7576AC, created 1999-06-04 + +Enter passphrase: + + + +Both the document and detached signature are needed to verify +the signature. +The option can be to check the +signature. + + + +blake% gpg --verify doc.sig doc +gpg: Signature made Fri Jun 4 12:38:46 1999 CDT using DSA key ID BB7576AC +gpg: Good signature from "Alice (Judge) <alice@cyb.org>" + + + + + + + + + diff -urN gnupg-0.9.11/doc/gph/c2.sgml gnupg-1.0.0/doc/gph/c2.sgml --- gnupg-0.9.11/doc/gph/c2.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/c2.sgml Mon Sep 6 20:10:19 1999 @@ -0,0 +1,345 @@ + + + +$Id: c2.sgml,v 1.1 1999/09/06 18:10:19 wkoch Exp $ + + + +Concepts + + + +&Gnupg; makes uses of several cryptographic concepts including +symmetric ciphers, +public-key ciphers, and +one-way hashing. +You can make basic use &gnupg; without fully understanding these concepts, +but in order to use it wisely some understanding of them is necessary. + + + +This chapter introduces the basic cryptographic concepts used in GnuPG. +Other books cover these topics in much more detail. +A good book with which to pursue further study is +Bruce +Schneier's +"Applied +Cryptography". + + + + +Symmetric ciphers + + + +A symmetric cipher is a cipher that uses the same key for both encryption +and decryption. +Two parties communicating using a symmetric cipher must agree on the +key beforehand. +Once they agree, the sender encrypts a message using the key, sends it +to the receiver, and the receiver decrypts the message using the key. +As an example, the German Enigma is a symmetric cipher, and daily keys +were distributed as code books. +Each day, a sending or receiving radio operator would consult his copy +of the code book to find the day's key. +Radio traffic for that day was then encrypted and decrypted using the +day's key. +Modern examples of symmetric ciphers include 3DES, Blowfish, and IDEA. + + + +A good cipher puts all the security in the key and none in the algorithm. +In other words, it should be no help to an attacker if he knows which +cipher is being used. +Only if he obtains the key would knowledge of the algorithm be needed. +The ciphers used in &gnupg; have this property. + + + +Since all the security is in the key, then it is important that it be +very difficult to guess the key. +In other words, the set of possible keys, &ie;, the key +space, needs +to be large. +While at Los Alamos, Richard Feynman was famous for his ability to +crack safes. +To encourage the mystique he even carried around a set of tools +including an old stethoscope. +In reality, he used a variety of tricks to reduce the number of +combinations he had to try to a small number and then simply guessed +until he found the right combination. +In other words, he reduced the size of the key space. + + + +Britain used machines to guess keys during World War 2. +The German Enigma had a very large key space, but the British built +speciailzed computing engines, the Bombes, to mechanically try +keys until the day's key was found. +This meant that sometimes they found the day's key within hours of +the new key's use, but it also meant that on some days they never +did find the right key. +The Bombes were not general-purpose computers but were precursors +to modern-day computers. + + + +Today, computers can guess keys very quickly, and this is why key +size is important in modern cryptosystems. +The cipher DES uses a 56-bit key, which means that there are + +256 possible keys. + +256 is 72,057,594,037,927,936 keys. +This is a lot of keys, but a general-purpose computer can check the +entire key space in a matter of days. +A specialized computer can check it in hours. +On the other hand, more recently designed ciphers such as 3DES, +Blowfish, and IDEA + +all use 128-bit keys, which means there are 2128 +possible keys. +This is many, many more keys, and even if all the computers on the +planet cooperated, it could still take more time than the age of +the universe to find the key. + + + + + +Public-key ciphers + + + +The primary problem with symmetric ciphers is not their security but +with key exchange. +Once the sender and receiver have exchanged keys, that key can be +used to securely communicate, but what secure communication channel +was used to communicate the key itself? +In particular, it would probably be much easier for an attacker to work +to intercept the key than it is to try all the keys in the key space. +Another problem is the number of keys needed. + +If there are n people who need to communicate, then + +n(n-1)/2 keys +are needed for each pair of people to communicate privately. +This may be ok for a small number of people but quickly becomes unwieldly +for large groups of people. + + + +Public-key ciphers were invented to avoid the key-exchange problem +entirely. +A public-key cipher uses a pair of keys for sending messages. +The two keys belong to the person receiving the message. +One key is a public key and may be given to anybody. +The other key is a private key and is kept +secret by the owner. +A sender encrypts a message using the public key and once encrypted, +only the private key may be used to decrypt it. + + + +This protocol solves the key-exchange problem inherent with symmetric +ciphers. +There is no need for the sender and receiver to agree +upon a key. +All that is required is that some time before secret communication the +sender gets a copy of the receiver's public key. +Furthermore, the one public key can be used by anybody wishing to +communicate with the receiver. + +So only n keypairs are needed for n +people to communicate secretly +with one another, + + + +Public-key ciphers are based on one-way trapdoor functions. +A one-way function is a function that is easy to compute, +but the inverse is hard to compute. +For example, it is easy to multiply two prime numbers together to get +a composite, but it is difficult to factor a composite into its prime +components.a +A one-way trapdoor function is similar, but it has a trapdoor. +That is, if some piece of information is known, it becomes easy +to compute the inverse. +For example, if you have a number made of two prime factors, then knowing +one of the factors makes it easy to compute the second. +Given a public-key cipher based on prime factorization, the public +key contains a composite number made from two large prime factors, and +the encryption algorithm uses that composite to encrypt the +message. +The algorithm to decrypt the message requires knowing the prime factors, +so decryption is easy if you have the private key containing one of the +factors but extremely difficult if you do not have it. + + + +As with good symmetric ciphers, with a good public-key cipher all of the +security rests with the key. +Therefore, key size is a measure of the system's security, but +one cannot compare the size of a symmetric cipher key and a public-key +cipher key as a measure of their relative security. +In a brute-force attack on a symmetric cipher with a key size of 80 bits, + +the attacker must enumerate up to 281-1 keys to +find the right key. +In a brute-force attack on a public-key cipher with a key size of 512 bits, +the attacker must factor a composite number encoded in 512 bits (up to +155 decimal digits). +The workload for the attacker is fundamentally different depending on +the cipher he is attacking. +While 128 bits is sufficient for symmetric ciphers, given today's factoring +technology public keys with 1024 bits are recommended for most purposes. + + + + + +Hybrid ciphers + + + +Public-key ciphers are no panacea. +Many symmetric ciphers are stronger from a security standpoint, +and public-key encryption and decryption are more expensive than the +corresponding operations in symmetric systems. +Public-key ciphers are nevertheless an effective tool for distributing +symmetric cipher keys, and that is how they are used in hybrid cipher +systems. + + + +A hybrid cipher uses both a symmetric cipher and a public-key cipher. +It works by using a public-key cipher to share a key for the symmetric +cipher. +The actual message being sent is then encrypted using the key and sent +to the recipient. +Since symmetric key sharing is secure, the symmetric key used is different +for each message sent. +Hence it is sometimes called a session key. + + + +Both PGP and &gnupg; use hybrid ciphers. +The session key, encrypted using the public-key cipher, and the message +being sent, encrypted with the symmetric cipher, are automatically +combined in one package. +The recipient uses his private-key to decrypt the session key and the +session key is then used to decrypt the message. + + + +A hybrid cipher is no stronger than the public-key cipher or symmetric +cipher it uses, whichever is weaker. +In PGP and &gnupg;, the public-key cipher is probably the weaker of +the pair. +Fortunately, however, if an attacker could decrypt a session key it +would only be useful for reading the one message encrypted with that +session key. +The attacker would have to start over and decrypt another session +key in order to read any other message. + + + + + +Digital signatures + + + +A hash function is a many-to-one function that maps its input to a +value in a finite set. +Typically this set is a range of natural numbers. + +A simple ehash function is f(x) = 0 +for all integers x. +A more interesting hash function is +f(x) = x +mod 37, which +maps x to the remainder of dividing x by 37. + + + +A document's digital signature is the result of applying a hash +function to the document. +To be useful, however, the hash function needs to satisfy two +important properties. +First, it should be hard to find two documents that hash to the +same value. +Second, given a hash value it should be hard to recover the document +that produced that value. + + + +Some public-key ciphers +The cipher must have the property that the actual public key or private +key could be used by the encryption algorithm as the public key. +RSA is an example of such an algorithm while ElGamal is not an example. + + could be used to sign documents. +The signer encrypts the document with his private key. +Anybody wishing to check the signature and see the document simply +uses the signer's public key to decrypt the document. +This algorithm does satisfy the two properties needed from a good hash +function, but in practice, this algorithm is too slow to be useful. + + + +An alternative is to use hash functions designed to satisfy these +two important properties. +SHA and MD5 are examples of such algorithms. +Using such an algorithm, a document is signed by hashing it, and +the hash value is the signature. +Another person can check the signature by also hashing their copy of the +document and comparing the hash value they get with the hash value of +the original document. +If they match, it is almost certain that the documents are identical. + + + +Of course, the problem now is using a hash function for digital +signatures without permitting an attacker to interfere with signature +checking. +If the document and signature are sent unencrypted, an attacker could +modify the document and generate a corresponding signature without the +recipient's knowledge. +If only the document is encrypted, an attacker could tamper with the +signature and cause a signature check to fail. +A third option is to use a hybrid public-key encryption to encrypt both +the signature and document. +The signer uses his private key, and anybody can use his public key +to check the signature and document. +This sounds good but is actually nonsense. +If this algorithm truly secured the document it would also +secure it from tampering and there would be no need for the signature. +The more serious problem, however, is that this does not protect either +the signature or document from tampering. +With this algorithm, only the session key for the symmetric cipher +is encrypted using the signer's private key. +Anybody can use the public key to recover the session key. +Therefore, it is straightforward for an attacker to recover the session +key and use it to encrypt substitute documents and signatures to send +to others in the sender's name. + + + +An algorithm that does work is to use a public key algorithm to +encrypt only the signature. +In particular, the hash value is encrypted using the signer's private +key, and anbody can check the signature using the public key. +The signed document can be sent using any other encryption algorithm +including none if it is a public document. +If the document is modified the signature check will fail, but this +is precisely what the signature check is supposed to catch. +The Digital Signature Standard (DSA) is a public key signature +algorithm that works as just described. +DSA is the primary signing algorithm used in &Gnupg;. + + + + + diff -urN gnupg-0.9.11/doc/gph/c3.sgml gnupg-1.0.0/doc/gph/c3.sgml --- gnupg-0.9.11/doc/gph/c3.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/c3.sgml Mon Sep 6 20:10:19 1999 @@ -0,0 +1,885 @@ + + + +$Id: c3.sgml,v 1.1 1999/09/06 18:10:19 wkoch Exp $ + + + +Key Management + + + +Key tampering is a major security weakness with public-key cryptography. +An eavesdropper may tamper with a user's keyrings or forge a +user's public key and post it for others to download and use. +For example, suppose Chloe wants to monitor the messages that Alice +sends to Blake. +She could mount what is called a man in the +middle attack. +In this attack, Chloe creates a new public/private keypair. +She replaces Alice's copy of Blake's public key with the new public key. +She then intercepts the messages that Alice sends to Blake. +For each intercept, she decrypts it using the new private key, reencrypts +it using Blake's true public key, and forwards the reencrypted +message to Blake. +All messages sent from Alice to Blake can now be read by Chloe. + + + +Good key management is crucial in order to ensure not just the integrity +of your keyrings but the integrity of other users' keyrings as well. +The core of key management in &gnupg; is the notion of signing keys. +Key signing has two main purposes: it permits you to detect tampering +on your keyring, and it allows you to certify that a key truly belongs +to the person named by a user ID on the key. +Key signatures are also used in a scheme known as the web of +trust to extend certification to keys not directly signed by you +but signed by others you trust. +Responsible users who practice good key management can defeat key +tampering as a practical attack on secure communication with &gnupg;. + + + + +Managing your own keypair + + + +A keypair has a public key and a private key. +A public key consists of +the public portion of the master signing key, +the public portions of the subordinate signing and encryption subkeys, and +a set of user IDs used to associate the public key with a real person. +Each piece has data about itself. +For a key, this data includes its ID, when it was created, when it +will expire, etc. +For a user ID, this data includes the name of the real person it identifies, +an optional comment, and an email address. +The structure of the private key is similar, except that it contains only +the private portions of the keys, and there is no user ID information. + + + +The command-line option + +may be used to view a keypair. +For example, + + +chloe% gpg --edit-key chloe@cyb.org +Secret key is available. + +pub 1024D/26B6AAE1 created: 1999-06-15 expires: never trust: -/u +sub 2048g/0CF8CB7A created: 1999-06-15 expires: never +sub 1792G/08224617 created: 1999-06-15 expires: 2002-06-14 +sub 960D/B1F423E7 created: 1999-06-15 expires: 2002-06-14 +(1) Chloe (Jester) <chloe@cyb.org> +(2) Chloe (Plebian) <chloe@tel.net> +Command> + + +The public key is displayed along with an indication of whether +or not the private key is available. +Information about each component of the public key is then listed. +The first column indicates the type of the key. +The keyword pub identifies the public master signing key, +and the keyword sub identifies a public subordinate key. +The second column indicates the key's bit length, type, and ID. +The type is D for a DSA key, g for an +encryption-only +ElGamal key, and G for an ElGamal key that may be used for +both encryption and signing. +The creation date and expiration date are given in columns three and four. +The user IDs are listed following the keys. + + + +More information about the key can be obtained with interactive commands. +The command toggle +switches between the public and private +components of a keypair if indeed both components are available. + + +Command> toggle + +sec 1024D/26B6AAE1 created: 1999-06-15 expires: never +sbb 2048g/0CF8CB7A created: 1999-06-15 expires: never +sbb 1792G/08224617 created: 1999-06-15 expires: 2002-06-14 +sbb 960D/B1F423E7 created: 1999-06-15 expires: 2002-06-14 +(1) Chloe (Jester) <chloe@cyb.org> +(2) Chloe (Plebian) <chloe@tel.net> + + +The information provided is similar to the listing for the public-key +component. +The keyword sec identifies the private master signing key, +and the keyword sbb identifies the private subordinates keys. +The user IDs from the public key are also listed for convenience. + + + + +Key integrity + + + +When you distribute your public key, you are distributing the public +components of your master and subordinate keys as well as the user IDs. +Distributing this material alone, however, is a security risk since +it is possible for an attacker to tamper with the key. +The public key can be modified by adding or substituting keys, or by +adding or changing user IDs. +By tampering with a user ID, the attacker could change the user ID's email +address to have email redirected to himself. +By changing one of the encryption keys, the attacker would +also be able to decrypt the messages redirected to him. + + + +Using digital signatures is a solution to this problem. +When data is signed by a private key, the corresponding public key +is bound to the signed data. +In other words, only the corresponding public key can be used to +verify the signature and ensure that the data has not been modified. +A public key can be protected from tampering by using its corresponding +private master key to sign the public key components and user IDs, thus +binding the components to the public master key. +Signing public key components with the corresponding private master +signing key is called self-signing, and a public key that has +self-signed user IDs bound to it is called a certificate. + + + + + +As an example, Chloe has two user IDs and three subkeys. +The signatures on the user IDs can be checked with the command +check from the key edit menu. + + +chloe% gpg --edit-key chloe +Secret key is available. + +pub 1024D/26B6AAE1 created: 1999-06-15 expires: never trust: -/u +sub 2048g/0CF8CB7A created: 1999-06-15 expires: never +sub 1792G/08224617 created: 1999-06-15 expires: 2002-06-14 +sub 960D/B1F423E7 created: 1999-06-15 expires: 2002-06-14 +(1) Chloe (Jester) <chloe@cyb.org> +(2) Chloe (Plebian) <chloe@tel.net> + +Command> check +uid Chloe (Jester) <chloe@cyb.org> +sig! 26B6AAE1 1999-06-15 [self-signature] +uid Chloe (Plebian) <chloe@tel.net> +sig! 26B6AAE1 1999-06-15 [self-signature] + + +As expected, the signing key for each signature is the master signing +key with key ID 0x26B6AAE1. +The self-signatures on the subkeys are present in the public key, but +they are not shown by the &gnupg; interface. + + + + + +Adding and deleting key components + + + +Both new subkeys and new user IDs may be added to your keypair after +it has been created. +A user ID is added using the command +adduid. +You are prompted for a real name, email address, and comment just +as when you create an initial keypair. +A subkey is added using the command +addkey. +The interface is similar to the interface used when creating an initial +keypair. +The subkey may be a DSA signing key, and encrypt-only ElGamal +key, or a sign-and-encrypt ElGamal key. +When a subkey or user ID is generated it is self-signed using your +master signing key, which is why you must supply your passphrase +when the key is generated. + + + +Additional user IDs are useful when you need multiple identities. +For example, you may have an identity for your job and an identity +for your work as a political activist. +Coworkers will know you by your work user ID. +Coactivists will know you by your activist user ID. +Since those groups of people may not overlap, though, each group +may not trust the other user ID. +Both user IDs are therefore necessary. + + + +Additional subkeys are also useful. +The user IDs associated with your public master key are validated by +the people with whom you +communicate, and changing the master key therefore requires recertification. +This may be difficult and time consuming if you communicate with +many people. +On the other hand, it is good to periodically change encryption subkeys. +If a key is broken, all the data encrypted with that key will be +vulnerable. +By changing keys, however, only the data encrypted with the one broken +key will be revealed. + + + +Subkeys and user IDs may also be deleted. +To delete a subkey or user ID you must first select it using the +key or +uid commands respectively. +These commands are toggles. +For example, the command key 2 +selects the second subkey, +and invoking key 2 again +deselects it. +If no extra argument is given, all subkeys or user IDs are deselected. +Once the user IDs to be deleted are selected, the command +deluid +actually deletes the user IDs from your key. +Similarly, the command delkey +deletes all selected subkeys from both your public and private keys. + + + +For local keyring management, deleting key components is a good way +to trim other people's public keys of unnecessary material. +Deleting user IDs and subkeys on your own key, however, is not always +wise since it complicates key distribution. +By default, when a user imports your updated public key it will be merged +with the old copy of your public key on his ring if it exists. +The components from both keys are combined in the merge, and this +effectively restores any components you deleted. +To properly update the key, the user must first delete the old version +of your key and then import the new version. +This puts an extra burden on the people with whom you communicate. +Furthermore, if you send your key to a keyserver, the merge will +happen regardless, and anybody who downloads your key from a keyserver +will never see your key with components deleted. +Consequently, for updating your own key it is better to revoke key +components instead of deleting them. + + + + + +Revoking key components + + + +To revoke a subkey it must be selected. +Once selected it may be revoked with the +revkey command. +The key is revoked by adding a revocation self-signature to the key. +Unlike the command-line option , the effect of +revoking a subkey is immediate. + + + +Command> revkey +Do you really want to revoke this key? y + +You need a passphrase to unlock the secret key for +user: "Chloe (Jester) <chloe@cyb.org>" +1024-bit DSA key, ID B87DBA93, created 1999-06-28 + + +pub 1024D/B87DBA93 created: 1999-06-28 expires: never trust: -/u +sub 2048g/B7934539 created: 1999-06-28 expires: never +sub 1792G/4E3160AD created: 1999-06-29 expires: 2000-06-28 +rev! subkey has been revoked: 1999-06-29 +sub 960D/E1F56448 created: 1999-06-29 expires: 2000-06-28 +(1) Chloe (Jester) <chloe@cyb.org> +(2) Chloe (Plebian) <chloe@tel.net> + + + +A user ID is revoked differently. +Normally, a user ID collects signatures that attest that the user ID +describes the person who actually owns the associated key. +In theory, a user ID describes a person forever, since that person will +never change. +In practice, though, elements of the user ID such as the email address +and comment may change over time, thus invalidating the user ID. + + + +The OpenPGP +First reference to OpenPGP +specification does not support user ID revocation, but +a user ID can effectively be revoked by revoking the self-signature +on the user ID. +For the security reasons described +previously, +correspondents will not trust a user ID with no valid self-signature. + + + +A signature is revoked by using the command +revsig. +Since you may have signed any number of user IDs, the user interface +prompts you to decide for each signature whether or not to revoke it. + + + +Command> revsig +You have signed these user IDs: + Chloe (Jester) <chloe@cyb.org> + signed by B87DBA93 at 1999-06-28 + Chloe (Plebian) <chloe@tel.net> + signed by B87DBA93 at 1999-06-28 +user ID: "Chloe (Jester) <chloe@cyb.org>" +signed with your key B87DBA93 at 1999-06-28 +Create a revocation certificate for this signature? (y/N)n +user ID: "Chloe (Plebian) <chloe@tel.net>" +signed with your key B87DBA93 at 1999-06-28 +Create a revocation certificate for this signature? (y/N)y +You are about to revoke these signatures: + Chloe (Plebian) <chloe@tel.net> + signed by B87DBA93 at 1999-06-28 +Really create the revocation certificates? (y/N)y + +You need a passphrase to unlock the secret key for +user: "Chloe (Jester) <chloe@cyb.org>" +1024-bit DSA key, ID B87DBA93, created 1999-06-28 + + +pub 1024D/B87DBA93 created: 1999-06-28 expires: never trust: -/u +sub 2048g/B7934539 created: 1999-06-28 expires: never +sub 1792G/4E3160AD created: 1999-06-29 expires: 2000-06-28 +rev! subkey has been revoked: 1999-06-29 +sub 960D/E1F56448 created: 1999-06-29 expires: 2000-06-28 +(1) Chloe (Jester) <chloe@cyb.org> +(2) Chloe (Plebian) <chloe@tel.net> + + + +A revoked user ID is indicated by the revocation signature on +the ID when the signatures on the key's user IDs are listed. + + + +Command> check +uid Chloe (Jester) <chloe@cyb.org> +sig! B87DBA93 1999-06-28 [self-signature] +uid Chloe (Plebian) <chloe@tel.net> +rev! B87DBA93 1999-06-29 [revocation] +sig! B87DBA93 1999-06-28 [self-signature] + + + +Revoking both subkeys and self-signatures on user IDs adds revocation +self-signatures to the key. +Since signatures are being added and no material is deleted, a +revocation will always be visible to others when your updated public +key is distributed and merged with older copies of it. +Revocation therefore guarantees that everybody has a consistent +copy of your public key. + + + + + +Updating a key's expiration time + + + +The expiration time of a key may be updated with the command +expire from the key edit menu. +If no key is selected the expiration time of the primary key +is updated. +Otherwise the expiration time of the selected subordinate key +is updated. + + + +A key's expiration time is associated with the key's self-signature. +The expiration time is updated by deleting the old self-signature +and adding a new self-signature. +Since correspondents will not have deleted the old self-signature, they +will see an additional self-signature on the key when they update +their copy of your key. +The latest self-signature takes precedence, however, so all correspondents +will unambiguously know the expiration times of your keys. + + + + + + +Validating other keys on your public keyring + + + +In Chapter a procedure was given to validate your +correspondents' public keys: a correspondent's key is validated by +personally checking his key's fingerprint and then signing his public +key with your private key. +By personally checking the fingerprint you can be sure that the +key really does belong to him, and since you have signed they key, you +can be sure to detect any tampering with it in the future. +Unfortunately, this procedure is awkward when either you must validate +a large number of keys or communicate with people whom you do not +know personally. + + + +&Gnupg; addresses this problem with a mechanism popularly known +as the web of trust. +In the web of trust model, responsibility for validating public +keys is delegated to people you trust. +For example, suppose + + + +Alice has signed Blake's key, and + + + + +Blake has signed Chloe's key and Dharma's key. + + + + +If Alice trusts Blake to properly validate keys that he signs, then +Alice can infer that Chloe's and Dharma's keys are valid without +having to personally check them. +She simply uses her validated copy of Blake's public key to +check that Blake's signatures on Chloe's and Dharma's are good. +In general, assuming that Alice fully trusts everybody to properly +validate keys they sign, then any key signed by a valid key is also +considered valid. +The root is Alice's key, which is axiomatically assumed to be valid. + + + + +Trust in a key's owner + + + +In practice trust is subjective. +For example, Blake's key is valid to Alice since she signed it, but she +may not trust Blake to properly validate keys that he signs. +In that case, she would not take Chloe's and Dharma's key as valid +based on Blake's signatures alone. +The web of trust model accounts for this by associating with each +public key on your keyring an indication of how much you trust the +key's owner. +There are four trust levels. + + + + +unknown + + + +Nothing is known about the owner's judgement in key signing. +Keys on your public keyring that you do not own initially have +this trust level. + + + + + +none + + + +The owner is known to improperly sign other keys. + + + + + +marginal + + + +The owner understands the implications of key signing and +properly validates keys before signing them. + + + + + +full + + + +The owner has an excellent understanding of key signing, +and his signature on a key would be as good as your own. + + + + + +A key's trust level is something that you alone assign to the +key, and it is considered private information. +It is not packaged with the key when it is exported; it is even +stored separately from your keyrings in a separate database. + + + +The &gnupg; key editor may be used to adjust your trust in a key's owner. +The command is trust. +In this example Alice edits her trust in Blake and then updates +the trust database to recompute which keys are valid based on her new +trust in Blake. + + +alice% gpg --edit-key blake + +pub 1024D/8B927C8A created: 1999-07-02 expires: never trust: q/f +sub 1024g/C19EA233 created: 1999-07-02 expires: never +(1) Blake (Executioner) <blake@cyb.org> + +Command> trust +pub 1024D/8B927C8A created: 1999-07-02 expires: never trust: q/f +sub 1024g/C19EA233 created: 1999-07-02 expires: never +(1) Blake (Executioner) <blake@cyb.org> + +Please decide how far you trust this user to correctly +verify other users' keys (by looking at passports, +checking fingerprints from different sources...)? + + 1 = Don't know + 2 = I do NOT trust + 3 = I trust marginally + 4 = I trust fully + s = please show me more information + m = back to the main menu + +Your decision? 3 + +pub 1024D/8B927C8A created: 1999-07-02 expires: never trust: m/f +sub 1024g/C19EA233 created: 1999-07-02 expires: never +(1) Blake (Executioner) <blake@cyb.org> + +Command> quit +[...] + + +Trust in the key's owner and the key's validity are indicated to the +right when the key is displayed. +Trust in the owner is displayed first and the key's validity is + +second + +&Gnupg; overloads the word "trust" by using it to mean +trust in an owner and trust in a key. +This can be confusing. +Sometimes trust in an owner is referred to as +owner-trust to +distinguish it from trust in a key. + +Throughout this manual, however, "trust" is used to +mean trust in a key's + +owner, and "validity" is used to mean trust that a key +belongs to the human associated with the key ID. + +. +The four trust/validity levels are abbreviated: unknown (q), +none (n), marginal (m), and +full (f). +In this case, Blake's key is fully valid since Alice signed it herself. +She initially has an unknown trust in Blake to properly sign other keys +but decides to trust him marginally. + + + + + +Using trust to validate keys + + + +The web of trust allows a more elaborate algorithm to be used to +validate a key. +Formerly, a key was considered valid only if you signed it personally. + +A more flexible algorithm can now be used: a key K is considered valid +if it meets two conditions: + + + +it is signed by enough valid keys, meaning + + + +you have signed it personally, + + + + +it has been signed by one fully trusted key, or + + + + +it has been signed by three marginally trusted keys; and + + + + + + + + +the path of signed keys leading from K back +to your own key is five steps or shorter. + + + + +The path length, number of marginally trusted keys required, and number +of fully trusted keys required may be adjusted. +The numbers given above are the default values used by &gnupg;. + + + + shows a web of trust rooted at Alice. +The graph illustrates who has signed who's keys. +The table shows which keys Alice considers valid based on her +trust in the other members of the web. +Potential bug: on command +line seems to be ignored when combined with . +Value is taken correctly if put in options file, however. +This example assumes that two marginally-trusted keys or one +fully-trusted key is needed to validate another key. +The maximum path length is three. + + + +When computing valid keys in the example, Blake and Dharma's are +always considered fully valid since they were signed directly +by Alice. +The validity of the other keys depends on trust. +In the first case, Dharma is trusted fully, which implies +that Chloe's and Francis's keys will be considered valid. +In the second example, Blake and Dharma are trusted marginally. +Since two marginally trusted keys are needed to fully validate a +key, Chloe's key will be considered fully valid, but Francis's +key will be considered only marginally valid. +In the case where Chloe and Dharma are marginally trusted, +Chloe's key will be marginally valid since Dharma's key is +fully valid. +Francis's key, however, will also be considered marginally +valid since only a fully valid key can be used to validate +other keys, and Dharma's key is the only fully valid key +that has been used to sign Francis's key. +When marginal trust in Blake is added, Chloe's key becomes +fully valid and can then be used to fully validate Francis's +key and marginally validate Elena's key. +Lastly, when Blake, Chloe, and Elena are fully trusted, this is +still insufficient to validate Geoff's key since the maximum +certification path is three, but the path length from Geoff +back to Alice is four. + + + +The web of trust model is a flexible approach to the problem of safe +public key exchange. +It permits you to tune &gnupg; to reflect how you use it. +At one extreme you may insist on multiple, short paths from your + +key to another key K in order to trust it. +On the other hand, you may be satisfied with longer paths and + +perhaps as little as one path from your key to the other +key K. + +Requiring multiple, short paths is a strong guarantee +that K belongs to whom your think it does. +The price, of course, is that it is more difficult to validate keys +since you must personally sign more keys than if you accepted fewer +and longer paths. + + +
+ +A hypothetical web of trust + + + + + + + + + + + + + + + + +trust +validity + + +marginal +full +marginal +full + + + + + +Dharma + +Blake, Chloe, Dharma, Francis + + + +Blake, Dharma + +Francis +Blake, Chloe, Dharma + + + +Chloe, Dharma + +Chloe, Francis +Blake, Dharma + + + +Blake, Chloe, Dharma + +Elena +Blake, Chloe, Dharma, Francis + + + + +Blake, Chloe, Elena + +Blake, Chloe, Elena, Francis + + + + +
+
+
+ + + +Distributing keys + + + +Ideally, you distribute your key by personally giving it to your +correspondents. +In practice, however, keys are often distributed by email or some +other electronic communication medium. +Distribution by email is good practice when you have only a few +correspondents, and even if you have many correspondents, you can use +an alternative means such as posting your public key on your World Wide +Web homepage. +This is unacceptable, however, if people who need your public key do +not know where to find it on the Web. + + + +To solve this problem public key servers are used to collect +and distribute public keys. +A public key received by the server is either added to the server's +database or merged with the existing key if already present. +When a key request comes to the server, the server consults its +database and returns the requested public key if found. + + + +A keyserver is also valuable when many people are frequently signing other +people's keys. +Without a keyserver, when Blake sign's Alice's key then Blake would send +Alice a copy of her public key signed by him so that Alice could +add the updated key to her ring as well as distribute it to all of her +correspondents. +Going through this effort fulfills Alice's and Blake's responsibility +to the community at large in building tight webs of trust and thus +improving the security of PGP. +It is nevertheless a nuisance if key signing is frequent. + + + +Using a keyserver makes the process somewhat easier. +When Blake signs Alice's key he sends the signed key to the key server. +The key server adds Blake's signature to its copy of Alice's key. +Individuals interested in updating their copy of Alice's key then consult +the keyserver on their own initiative to retrieve the updated key. +Alice need never be involved with distribution and can retrieve signatures +on her key simply by querying a keyserver. + must come before + or . +This appears to be a bug. + + + +One or more keys may be sent to a keyserver using the command-line +option . +The option takes one or more key specifiers and sends the specified +keys to the key server. +The key server to which to send the keys is specified with the +command-line option . +Similarly, the option + is used +to retrieve keys from a keyserver, but the option +requires a key ID be used to specify the key. +In the following example Alice sends her public key to the keyserver +certserver.pgp.com and then updates her copy +of Blake's key from the same keyserver. + + +alice% gpg --keyserver certserver.pgp.com --recv-key 0xBB7576AC +gpg: requesting key BB7576AC from certserver.pgp.com ... +gpg: key BB7576AC: 1 new signature + +gpg: Total number processed: 1 +gpg: new signatures: 1 +alice% gpg --keyserver certserver.pgp.com --send-key blake@cyb.org +gpg: success sending to 'certserver.pgp.com' (status=200) + + +There are several popular keyservers in use around the world. +The major keyservers synchronize themselves, so it is fine to +pick a keyserver close to you on the Internet and then use it +regularly for sending and receiving keys. + + + +
+ diff -urN gnupg-0.9.11/doc/gph/c4.sgml gnupg-1.0.0/doc/gph/c4.sgml --- gnupg-0.9.11/doc/gph/c4.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/c4.sgml Mon Sep 6 20:10:19 1999 @@ -0,0 +1,433 @@ + + + +$Id: c4.sgml,v 1.1 1999/09/06 18:10:19 wkoch Exp $ + + + +Daily use of &Gnupg; + + + +&Gnupg; is a complex tool with technical, social, and legal issues +surrounding it. +Technically, it has been designed to be used in situations having +drastically different security needs. +This complicates key management. +Socially, using &gnupg; is not strictly a personal decision. +To use &gnupg effectively both parties communicating must use it. +Finally, as of 1999, laws regarding digital encryption, and in particular +whether or not using &gnupg; is legal, vary from country to country and +is currently being debated by many national governments. + + + +This chapter addresses these issues. +It gives practical advice on how to use &gnupg; to meet your security needs. +It also suggests ways to promote the use of &gnupg; for secure +communication between yourself and your colleagues when your colleagues +are not currently using &gnupg;. +Finally, the legal status of &gnupg; is outlined given the current status +of encryption laws in the world. + + + + +Defining your security needs + + + +&Gnupg; is a tool you use to protect your privacy. +Your privacy is protected if you can correspond with others without +eavesdroppers reading those messages. + + + +How you should use &gnupg; depends on the determination and resourcefulness +of those who might want to read your encrypted messages. +An eavesdropper may be an unscrupulous system administrator casually +scanning your mail, it might be an industrial spy trying to collect +your company's secrets, or it might be a law enforcement agency trying +to prosecute you. +Using &gnupg; to protect against casual eavesdropping is going to be +different than using &gnupg; to protect against a determined adversary. +Your goal, ultimately, is to make it more expensive to recover the +unencrypted data than that data is worth. + + + +Customizing your use of &gnupg; revolves around three issues: + + + +the key size of your public/private keypair, + + + + + +protecting your private key, and + + + + + +managing your web of trust. + + + + +A well-chosen key size protects you against brute-force attacks on +encrypted messages. +Protecting your private key prevents an attacker from simply using your +private key to decrypt encrypted messages and sign messages in your name. +Correctly managing your web of trust prevents attackers from masquarading +as people with whom you communicate. +Ultimately, addressing these issues with respect to your own security +needs is how you balance the extra work required to use &gnupg; with +the privacy it gives you. + + + + +Choosing a key size + + + +Selecting a key size depends on the key. +In OpenPGP, a public/private keypair usually has multiple keys. +At the least it has a master signing key, and it probably has one or +more additional subkeys for encryption. +Using default key generation parameters with &gnupg;, the master +key will be a DSA key, and the subkeys will be ElGamal keys. + + + +DSA allows a key size up to 1024 bits. +This is not especially good given today's factoring technology, but +that is what the standard specifies. +Without question, you should use 1024 bit DSA keys. + + + +ElGamal keys, on the other hand, may be of any size. +Since &gnupg; is a hybrid public-key system, the public key is used +to encrypt a 128-bit session key, and the private key is used to +decrypt it. +Key size nevertheless affects encryption and decryption speed +since the cost of these algorithms is exponential in the size of +the key. +Larger keys also take more time to generate and take more space +to store. +Ultimately, there are diminishing returns on the extra security +a large key provides you. +After all, if the key is large enough to resist a brute-force +attack, an eavesdropper will merely switch to some other method for +obtaining your plaintext data. +Examples of other methods include robbing your home or office +and mugging you. +1024 bits is thus the recommended key size. +If you genuinely need a larger key size then you probably already +know this and should be consulting an expert in data security. + + + + + +Protecting your private key + + + +Protecting your private key is the most important job you have to +use &gnupg; correctly. +If someone obtains your private key, then all data encrypted to +the private key can be decrypted and signatures can be made in your name. +If you lose your private key, then you will no longer be able to +decrypt documents encrypted to you in the future or in the past, +and you will not be able to make signatures. +Losing sole possession of your private key is catastrophic. + + + +Regardless of how you use &gnupg; you should store the public +key's revocation certificate +and a backup of your private key on write-protected media in a safe place. +For example, you could burn them on a CD-ROM and store them in your +safe deposit box at the bank in a sealed envelope. +Alternatively, you could store them on a floppy and hide it in your +house. +Whatever you do, they should be put on media that is safe to store +for as long as you expect to keep the key, and you should store +them more carefully than the copy of your private key you use daily. + + + +To help safeguard your key, &Gnupg; does not store your raw +private key on disk. +Instead it encrypts it using a symmetric encryption algorithm. +That is why you need a passphrase to access the key. +Thus there are two barriers an attacker must cross to access your private +key: (1) he must actually acquire the key, and (2) he must get past +the encryption. + + + +Safely storing your private key is important, but there is a cost. +Ideally, you would keep the private key on a removable, write-protected disk +such as a floppy disk, and you would use it on a single-user machine +not connected to a network. +This may be inconvenient or impossible for you to do. +For example, you may not own your own machine and must use a computer +at work or school, or it may mean you have to physically disconnect +your computer from your cable modem every time you want to use &gnupg; + + + +This does not mean you cannot or should not use &gnupg;. +It means only that you have decided that the data you are protecting is +important enough to encrypt but not so important as to take extra +steps to make the first barrier stronger. +It is your choice. + + + +A good passphrase is absolutely critical when using &gnupg;. +Any attacker who gains access to your private key must bypass the +encryption on the private key. +Instead of brute-force guessing the key, an attacker will almost +certainly instead try to guess the passphrase. + + + +The motivation for trying passphrases is that most people choose +a passphrase that is easier to guess than a random 128-bit key. +If the passphrase is a word, it is much cheaper to try all the +words in the dictionaries of the world's languages. +Even if the word is permuted, &eg, k3wldood, it is still easier +to try dictionary words with a catalog of permutations. +The same problem applies to quotations. +In general, passphrases based on natural-language utterances +are poor passphrases since there is little randomness and lots +of redundancy in natural language. +You should avoid natural language passphrases if you can. + + + +A good passphrase is one that you can remember but is hard for +someone to guess. +It should include characters from the whole range of printable characters +on your keyboard. +This includes uppercase alphabetics characters, numbers, and special +characters such as } and |. +Be creative and spend a little time considering your passphrase; a +good choice is important to ensure your privacy. + + + + + + + +Managing your web of trust + + + +As with protecting your private key, managing your web of trust is +another aspect of using &gnupg; that requires balancing security against +ease of use. +If you are using &gnupg; to protect against casual eavesdropping and +forgeries then you can afford to be relatively trusting of other +people's signatures. +On the other hand, if you are concerned that there may be a determined +attacker interested in invading your privacy, then +you should be much less trusting of other signatures and spend more time +personally verifying signatures. + + + +Regardless of your own security needs, through, you should +always be careful when signing other keys. +It is selfish to sign a key with just enough confidence in the key's +validity to satisfy your own security needs. +Others, with more stringent security needs, may want to depend on +your signature. +If they cannot depend on you then that weakens the web of trust +and makes it more difficult for all &gnupg; users to communicate. +Use the same care in signing keys that you would like others to use when +you depend on their signatures. + + + +In practice, managing your web of trust reduces to assigning trust to +others and tuning the options + +and +. +Any key you personally sign will be considered valid, but except for small +groups, it will not be practical to personally sign the key of every person +with whom you communicate. +You will therefore have to assign trust to others. + + + +It is probably wise to be accurate when assigning trust and then +use the options to tune how careful &gnupg; is with key validation. +As a concrete example, you may fully trust a few close friends that +you know are careful with key signing and then marginally +trust all others on your keyring. +From there, you may set to +1 and to +2. +If you are more concerned with security you might choose values of +1 and 3 or 2 +and 3 respectively. +If you are less concerned with privacy attacks and just want some +reasonable confidence about validity, set the values to 1 +and 1. +In general, higher numbers for these options imply that more people +would be needed to conspire against you in order to have a key validated +that does not actually belong to the person whom you think it does. + + + + + + +Building your web of trust + + + +Wanting to use &gnupg; yourself is not enough. +In order to use to communicate securely with others you must have +a web of trust. +At first glance, however, building a web of trust is a daunting task. +The people with whom you communicate need to use +&gnupg;In this section, &gnupg; refers to the +&gnupg; implementation of OpenPGP as well as other implementations +such as NAI's PGP product., and there needs to be enough +key signing so that keys can be considered valid. +These are not technical problems; they are social problems. +Nevertheless, you must overcome these problems if you want to +use &gnupg;. + + + +When getting started using &gnupg; it is important to realize that you +need not securely communicate with every one of your correspondents. +Start with a small circle of people, perhaps just yourself and +one or two others who also want to exercise their right +to privacy. +Generate your keys and sign each other's public keys. +This is your initial web of trust. +By doing this you will appreciate the value of a small, robust +web of trust and will be more cautious as you grow your web +in the future. + + + +In addition to those in your initial web of trust, you may want to +communicate securely with others who are also using &gnupg;. +Doing so, however, can be awkward for two reasons: +(1) you do not always know when someone uses or is willing to use +&gnupg;, and (2) if you do know of someone who uses it, you may still have +trouble validating their key. +The first reason occurs because people do not always advertise that +they use &gnupg;. +The way to change this behavior is to set the example and advertise +that you use &gnupg;. +There are at least three ways to do this: you can sign messages you mail +to others or post to message boards, you can put your public key on your +web page, or, if you put your key on a keyserver, you can put your key +ID in your email signature. +If you advertise your key then you make it that much more acceptable +for others to advertise their keys. +Furthermore, you make it easier for others to start communicating +with you securely since you have taken the initiative and made it clear +that you use &gnupg;. + + + +Key validation is more difficult. +If you do not personally know the person whose key you want to sign, +then it is not possible to sign the key yourself. +You must rely on the signatures of others and hope to find a chain +of signatures leading from the key in question back to your own. +To have any chance of finding a chain, you must take the intitive +and get your key signed by others outside of your intitial web of trust. +An effective way to accomplish this is to participate in key +signing parties. +If you are going to a conference look ahead of time for a key +signing party, and if you do not see one being held, offer to +hold one. +You can also be more passive and carry your fingerprint with you +for impromptu key exchanges. +In such a situation the person to whom you gave the fingerprint +would verify it and sign your public key once he returned home. + + + +Keep in mind, though, that this is optional. +You have no obligation to either publically advertise your key or +sign other people's keys. +The power of &gnupg; is that it is flexible enough to adapt to your +security needs whatever they may be. +The social reality, however, is that you will need to take the initiative +if you want to grow your web of trust and use &gnupg; for as much of +your communication as possible. + + + + + +Using &Gnupg; legally + + + +The legal status of encryption software varies from country to country, +and law regarding encryption software is rapidly evolving. +Bert-Japp +Koops has an excellent +Crypto +Law Survey to which you should refer for the legal status of +encryption software in your country. + + + + + diff -urN gnupg-0.9.11/doc/gph/c5.sgml gnupg-1.0.0/doc/gph/c5.sgml --- gnupg-0.9.11/doc/gph/c5.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/c5.sgml Mon Sep 6 20:10:19 1999 @@ -0,0 +1,38 @@ + + + +$Id: c5.sgml,v 1.1 1999/09/06 18:10:19 wkoch Exp $ + + + +Programming with &Gnupg; + + +... + + + +Using &gpg in batch mode + + +... + + + +Invoking &gpg from mail clients + + +... + + + + + +Writing extension modules + + +... + + + + diff -urN gnupg-0.9.11/doc/gph/c6.sgml gnupg-1.0.0/doc/gph/c6.sgml --- gnupg-0.9.11/doc/gph/c6.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/c6.sgml Mon Sep 6 20:10:19 1999 @@ -0,0 +1,804 @@ + + + +$Id: c6.sgml,v 1.1 1999/09/06 18:10:19 wkoch Exp $ + + + +Command Reference + + + + + +Key specifiers + + + +Many commands and options require a key specifier. +A key specifier is the key ID or any portion of ther user ID of +a key. +Consider the following example. + + +alice% gpg --list-keys chloe +pub 1024D/B87DBA93 1999-06-28 Chloe (Jester) <chloe@cyb.org> +uid Chloe (Plebian) <chloe@tel.net> +sub 2048g/B7934539 1999-06-28 + + +For this key, 0xB87DBA93, +Chloe, +Plebian, and +oe@tel +are all examples of key specifiers that match the above key. + + + + + + + +send-keys + + +send keys to a key server + + + + + + +send-keys key + + + + + +Description + + + +This command sends a public key to a keyserver. +The parameter key specifies +the public key that should be uploaded. +The command requires the option + to specify +to which keyserver &gpg; should send the keys. + + + + + + + +recv-keys + + +retrieve keys from a key server + + + + + key-id key-id ... + + + + + +Description + + + +This command downloads one or more public keys from a keyserver. +Each key-id is a key ID. +The command requires the option + to +specify from which keyserver &gpg; should download the keys. + + + + + + + +encrypt + + +encrypt a document + + + + + filename + + + + + +Description + + + +This command encrypts the document +filename to +recipients specified using the +option . +If the parameter filename +is omitted, then the document to encrypt is taken from standard input. +If the option is omitted, +&gpg; will prompt for a recipient. +If the option is used, +&gpg; will output the encrypted information to the specified file. + + + + + + + +decrypt + + +decrypt an encrypted document + + + + + filename + + + + + +Description + + + +This command decrypts filename +and puts the result on standard output. +If the parameter filename +is omitted, then the document to decrypt is taken from standard input. +Use the option +to output the decrypted message to a file instead. + + + + + + + + +clearsign + + +make a cleartext signature + + + + + filename + + + + + +Description + + + +This command signs a message that can be verified to ensure that the +original message has not been changed. +Verification of the signed message is done using the command +. + + + + + + + + +fingerprint + + +display key fingerprints + + + + + name ... + + + + + +Description + + + +This command prints the fingerprints of the specified public keys. +The parameter name is a +key specifier. +If no parameter name is +provided, &gpg; will print the fingerprints of all the keys on +your public keyring. + + + + + + + +detach-sig + + +make a detached signature + + + + + filename + + + + + +Description + + + +This command creates a signature file that can be used +to verify that the orginal file +filename has not +been changed. +Verification of the file using a detached signature is done using the +command . + + + + + + + +gen-key + + +generate a new keypair + + + + + + + + + + +Description + + + +This command generates a private/public key pair for use in encrypting, +decrypting, and signing of messages. +You will br prompted for the kind of key you wish to create, the key +size, and the key's expiration date. + + + + + + + +symmetric + + +encrypt a document using only a symmetric encryption algorithm + + + + + filename + + + + + +Description + + + +This command encrypts a document using a symmetric algorithm with +a key derived from a passphrase supplied by you during execution. +The key should be selected to make it difficult to randomly guess the key. +To decrypt a document encrypted in this manner use the command. +. + + + + + + + +list-keys + + +list information about the specified keys + + + + + key ... + + + + + +Description + + + +This command lists the public key specified by the key specifiers on the +command line. +If no key specifier is given, &gpg; will print all of the keys on the +public keyring. + + + + + + + +import + + +import keys to a local keyring + + + + + filename + + + + + +Description + + + +This command imports one or more public keys onto the user's public +keyring from the file filename. + + + + + + + +verify + + +verify a signed document + + + + + signature document + + + + + +Description + + + +This command verifies a document against a signature +to ensure that the document has not been altered since the signature +was created. +If signature is omitted, +&gpg; will look in document +for a clearsign signature. + + + + + + + +gen-revoke + + +generate a revocation certificate for a public/private keypair + + + + + key + + + + + +Description + + + +This command generates a revocation certificate for a public/private +key pair. +The parameter key is +a key specifier. + + + + + + + +export + + +export keys from a local keyring + + + + + key key ... + + + + + +Description + + + +This command exports the public keys components of the keys specified +by the key specifiers key key .... +The export command by default sends its output to standard output. +This key file can later be imported into another keyring using the command +. + + + + + + + +edit-key + + +presents a menu for operating on keys + + + + + key + + + + + +Description + + + +This command presents a menu which enables you to perform +key-related taskes. +The key specifier key +specifies the key pair to be edited. +If the specifier matches more than one key pair, &gpg; issues +an error and exits. + + + +Key listings displayed during key editing show the key with its +secondary keys and all user ids. +Selected keys or user ids are indicated by an asterisk. +The trust and validity values are displayed with the primary key: +the first is the assigned trust and the second is the +calculated validity. +Letters are used for the values: + + + + + +Letter +Meaning + + + + + +- + + +No ownertrust assigned / not yet calculated. + + + + +e + + +Trust calculation has failed. + + + + + +q + + +Not enough information for calculation. + + + + + +n + + +Never trust this key. + + + + + +m + + +Marginally trusted. + + + + + +f + + +Fully trusted. + + + + + +u + + +Ultimately trusted. + + + + + + + + +The following lists each key editing command and a description +of its behavior. + + + + +sign + + + +Makes a signature on the current key. +If th key is not yet signed by the default user or the user +given with the option +, +the program displays the information of the key again, together with +its fingerprint and asks whether it should be signed. +This question is repeated for all users specified with the option +. + + + + + +lsign + + + +Same as sign, but the signature is +marked as non-exportable and will therefore never be used by others. +This may be used to make keys valid only in the local environment. + + + + + +revsig + + + +Revoke a signature. +Asks for each signature makde by a one of the private keys whether +a revocation certificate should be generated. + + + + + +trust + + + +Change the owner trust value. +This updates the trust database immediately and no save is required. + + + + + +disable + + + +Disable the key. +A disabled key cannot normally be used for encryption. + + + + + +enable + + + +Enable a key that has been previously +disabled. + + + + + +adduid + + + +Add a new user id to the current key. + + + + + +deluid + + + +Delete a user id from the current key. + + + + + +addkey + + + +Add a new subkey to the current key. + + + + + +delkey + + + +Delete a subkey from the current key. + + + + + +revkey + + + +Revoke a subkey of the current key. + + + + + +expire + + + +Change a key expiration time. +If a subkey is selected, the time of that key will be changed. +With no selection the expiration time of the current primary key is changed. + + + + + +key n + + + +Toggle selection of subkey with index n. +Use 0 to deselect all. + + + + + +uid n + + + +Toggle selection of user id with index n. +Use 0 to deselect all. + + + + + +toggle + + + +Change the passphrase of the private key of the selected key pair. + + + + + +toggle + + + +Toggle between public and private key listings. + + + + + +check + + + +Check all selected user ids. + + + + + +pref + + + +List preferences. + + + + + +save + + + +Save all changes to the current key and quit. + + + + + +save + + + +Quit without updating the current key. + + + + + + diff -urN gnupg-0.9.11/doc/gph/c7.sgml gnupg-1.0.0/doc/gph/c7.sgml --- gnupg-0.9.11/doc/gph/c7.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/c7.sgml Mon Sep 6 20:10:19 1999 @@ -0,0 +1,251 @@ + + + +$Id: c7.sgml,v 1.1 1999/09/06 18:10:19 wkoch Exp $ + + + +Options Reference + + + + + +Setting options + + + +Options may be specified on the command line or in an options file. +The default location of the options file is +~/.gnupg/options. +When specifying options in the options file, omit the leading two +dashes and instead use simply the option name followed by any +arguments. +Lines in the file with a hash (#) as the +first non-white-space character are ignored. + + + + + + + +keyserver + + +specify the keyserver to use to locate keys + + + + + server-name + + + + + +Description + + + +This option is used in conjunction with either + or + to specify a +keyserver to manage public key distribution. + + + + + + + +output + + +specify the file in which to place output + + + + + file-name + + + + + +Description + + + +This is a description. + + + + + + + +recipient + + +specify the recipient of a public-key encrypted document + + + + + + + + + +Description + + + +This is a description. + + + + + + + +armor + + +ASCII-armor encrypted or signed output + + + + + + + + + +Description + + + +This is a description. + + + + + + + +no-greeting + + +suppress the opening copyright notice but do not enter batch mode + + + + + + + + + +Description + + + +This is a description. + + + + + + + +local-user + + +specifies a user id to use for signing + + + + + name + + + + + +Description + + + +Use name as the user ID to sign. +This option is silently ignored for the list commands, so that it can be +used in an options file. + + + + + + + +completes-needed + + +specifies the number of fully-trusted people needed to validate a new key. + + + + + n + + + + + +Description + + + +A public key on your keyring is validated using those signatures on +the key that were made by other valid keys on your keyring. +The option specifies the number of signatures needed if you fully +trust the owners of the keys that made the signatures. +Your trust in a key's owner is set with the command +. + + + + + + + +marginals-needed + + +specifies the number of marginally-trusted people needed to validate +a new key. + + + + + n + + + + + +Description + + + +A public key on your keyring is validated using those signatures on +the key that were made by other valid keys on your keyring. +The option specifies the number of signatures needed if you marginally +trust the owners of the keys that made the signatures. +Your trust in a key's owner is set with the command +. + + + + + diff -urN gnupg-0.9.11/doc/gph/index.html gnupg-1.0.0/doc/gph/index.html --- gnupg-0.9.11/doc/gph/index.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/index.html Tue Sep 7 18:26:28 1999 @@ -0,0 +1,5 @@ + + + diff -urN gnupg-0.9.11/doc/gph/manual/armor.html gnupg-1.0.0/doc/gph/manual/armor.html --- gnupg-0.9.11/doc/gph/manual/armor.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/armor.html Tue Sep 7 18:26:23 1999 @@ -0,0 +1,163 @@ +armor
The GNU Privacy Handbook
PrevNext

armor

Name

armor -- ASCII-armor encrypted or signed output

Synopsis

Description

This is a description.


PrevHomeNext
recipientUpno-greeting
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/book1.html gnupg-1.0.0/doc/gph/manual/book1.html --- gnupg-0.9.11/doc/gph/manual/book1.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/book1.html Tue Sep 7 18:26:26 1999 @@ -0,0 +1,499 @@ +The GNU Privacy Handbook

The GNU Privacy Handbook

Copyright © 1999 by Free Software Foundation

Please direct questions, bug reports, or suggesstions concerning +this manual to the maintainer, Mike Ashley (<jashley@acm.org>). +Contributors to this manual also include Matthew Copeland and +Joergen Grahn.

This manual may be redistributed under the terms of the +GNU General Public +License.

+PLEASE NOTE, THAT THIS IS A DRAFT VERSION OF THE MANUAL AND NOT A COMPLETE +AND CORRECT MANUAL. CONSIDER IT AS WORK IN PROGRESS. The latest draft of +the manual should be available online; +www.gnupg.org has a link +to it.


Table of Contents
1. Getting Started
Generating a new keypair
Generating a revocation certificate
Exchanging keys
Exporting a public key
Importing a public key
Encrypting and decrypting documents
Making and verifying signatures
Clearsigned documents
Detached signatures
2. Concepts
Symmetric ciphers
Public-key ciphers
Hybrid ciphers
Digital signatures
3. Key Management
Managing your own keypair
Key integrity
Adding and deleting key components
Revoking key components
Updating a key's expiration time
Validating other keys on your public keyring
Trust in a key's owner
Using trust to validate keys
Distributing keys
4. Daily use of GnuPG
Defining your security needs
Choosing a key size
Protecting your private key
Managing your web of trust
Building your web of trust
Using GnuPG legally
5. Programming with GnuPG
Using gpg in batch mode
Invoking gpg from mail clients
Writing extension modules
I. Command Reference
send-keys — send keys to a key server
recv-keys — retrieve keys from a key server
encrypt — encrypt a document
decrypt — decrypt an encrypted document
clearsign — make a cleartext signature
fingerprint — display key fingerprints
detach-sig — make a detached signature
gen-key — generate a new keypair
symmetric — encrypt a document using only a symmetric encryption algorithm
list-keys — list information about the specified keys
import — import keys to a local keyring
verify — verify a signed document
gen-revoke — generate a revocation certificate for a public/private keypair
export — export keys from a local keyring
edit-key — presents a menu for operating on keys
II. Options Reference
keyserver — specify the keyserver to use to locate keys
output — specify the file in which to place output
recipient — specify the recipient of a public-key encrypted document
armor — ASCII-armor encrypted or signed output
no-greeting — suppress the opening copyright notice but do not enter batch mode
local-user — specifies a user id to use for signing
completes-needed — specifies the number of fully-trusted people needed to validate a new key.
marginals-needed — specifies the number of marginally-trusted people needed to validate +a new key.

  Next
  Getting Started
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/clearsign.html gnupg-1.0.0/doc/gph/manual/clearsign.html --- gnupg-0.9.11/doc/gph/manual/clearsign.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/clearsign.html Tue Sep 7 18:26:10 1999 @@ -0,0 +1,180 @@ +clearsign
The GNU Privacy Handbook
PrevNext

clearsign

Name

clearsign -- make a cleartext signature

Synopsis

clearsign filename

Description

This command signs a message that can be verified to ensure that the +original message has not been changed. +Verification of the signed message is done using the command +verify.


PrevHomeNext
decryptUpfingerprint
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/completes-needed.html gnupg-1.0.0/doc/gph/manual/completes-needed.html --- gnupg-0.9.11/doc/gph/manual/completes-needed.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/completes-needed.html Tue Sep 7 18:26:25 1999 @@ -0,0 +1,182 @@ +completes-needed
The GNU Privacy Handbook
PrevNext

completes-needed

Name

completes-needed -- specifies the number of fully-trusted people needed to validate a new key.

Synopsis

completes-needed n

Description

A public key on your keyring is validated using those signatures on +the key that were made by other valid keys on your keyring. +The option specifies the number of signatures needed if you fully +trust the owners of the keys that made the signatures. +Your trust in a key's owner is set with the command +edit-key.


PrevHomeNext
local-userUpmarginals-needed
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/concepts.html gnupg-1.0.0/doc/gph/manual/concepts.html --- gnupg-0.9.11/doc/gph/manual/concepts.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/concepts.html Tue Sep 7 18:25:53 1999 @@ -0,0 +1,261 @@ +Concepts
The GNU Privacy Handbook
PrevNext

Chapter 2. Concepts

GnuPG makes uses of several cryptographic concepts including +symmetric ciphers, +public-key ciphers, and +one-way hashing. +You can make basic use GnuPG without fully understanding these concepts, +but in order to use it wisely some understanding of them is necessary.

This chapter introduces the basic cryptographic concepts used in GnuPG. +Other books cover these topics in much more detail. +A good book with which to pursue further study is +Bruce +Schneier's +"Applied +Cryptography".

Symmetric ciphers

A symmetric cipher is a cipher that uses the same key for both encryption +and decryption. +Two parties communicating using a symmetric cipher must agree on the +key beforehand. +Once they agree, the sender encrypts a message using the key, sends it +to the receiver, and the receiver decrypts the message using the key. +As an example, the German Enigma is a symmetric cipher, and daily keys +were distributed as code books. +Each day, a sending or receiving radio operator would consult his copy +of the code book to find the day's key. +Radio traffic for that day was then encrypted and decrypted using the +day's key. +Modern examples of symmetric ciphers include 3DES, Blowfish, and IDEA.

A good cipher puts all the security in the key and none in the algorithm. +In other words, it should be no help to an attacker if he knows which +cipher is being used. +Only if he obtains the key would knowledge of the algorithm be needed. +The ciphers used in GnuPG have this property.

Since all the security is in the key, then it is important that it be +very difficult to guess the key. +In other words, the set of possible keys, i.e., the key +space, needs +to be large. +While at Los Alamos, Richard Feynman was famous for his ability to +crack safes. +To encourage the mystique he even carried around a set of tools +including an old stethoscope. +In reality, he used a variety of tricks to reduce the number of +combinations he had to try to a small number and then simply guessed +until he found the right combination. +In other words, he reduced the size of the key space.

Britain used machines to guess keys during World War 2. +The German Enigma had a very large key space, but the British built +speciailzed computing engines, the Bombes, to mechanically try +keys until the day's key was found. +This meant that sometimes they found the day's key within hours of +the new key's use, but it also meant that on some days they never +did find the right key. +The Bombes were not general-purpose computers but were precursors +to modern-day computers.

Today, computers can guess keys very quickly, and this is why key +size is important in modern cryptosystems. +The cipher DES uses a 56-bit key, which means that there are +256 possible keys. +256 is 72,057,594,037,927,936 keys. +This is a lot of keys, but a general-purpose computer can check the +entire key space in a matter of days. +A specialized computer can check it in hours. +On the other hand, more recently designed ciphers such as 3DES, +Blowfish, and IDEA +all use 128-bit keys, which means there are 2128 +possible keys. +This is many, many more keys, and even if all the computers on the +planet cooperated, it could still take more time than the age of +the universe to find the key.


PrevHomeNext
Making and verifying signatures Public-key ciphers
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/decrypt.html gnupg-1.0.0/doc/gph/manual/decrypt.html --- gnupg-0.9.11/doc/gph/manual/decrypt.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/decrypt.html Tue Sep 7 18:26:09 1999 @@ -0,0 +1,192 @@ +decrypt
The GNU Privacy Handbook
PrevNext

decrypt

Name

decrypt -- decrypt an encrypted document

Synopsis

decrypt filename

Description

This command decrypts filename +and puts the result on standard output. +If the parameter filename +is omitted, then the document to decrypt is taken from standard input. +Use the option output +to output the decrypted message to a file instead.


PrevHomeNext
encryptUpclearsign
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/detach-sig.html gnupg-1.0.0/doc/gph/manual/detach-sig.html --- gnupg-0.9.11/doc/gph/manual/detach-sig.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/detach-sig.html Tue Sep 7 18:26:12 1999 @@ -0,0 +1,187 @@ +detach-sig
The GNU Privacy Handbook
PrevNext

detach-sig

Name

detach-sig -- make a detached signature

Synopsis

detach-sig filename

Description

This command creates a signature file that can be used +to verify that the orginal file +filename has not +been changed. +Verification of the file using a detached signature is done using the +command verify.


PrevHomeNext
fingerprintUpgen-key
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/distfiles gnupg-1.0.0/doc/gph/manual/distfiles --- gnupg-0.9.11/doc/gph/manual/distfiles Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/distfiles Tue Sep 7 18:26:28 1999 @@ -0,0 +1,43 @@ +armor.html +book1.html +clearsign.html +completes-needed.html +concepts.html +decrypt.html +detach-sig.html +docbook.css +edit-key.html +encrypt.html +export.html +fingerprint.html +gen-key.html +gen-revoke.html +import.html +intro.html +keyserver.html +list-keys.html +local-user.html +management.html +marginals-needed.html +modules.html +no-greeting.html +output.html +r566.html +r882.html +recipient.html +recv-keys.html +send-keys.html +symmetric.html +verify.html +wise.html +x108.html +x131.html +x191.html +x205.html +x211.html +x330.html +x454.html +x535.html +x545.html +x56.html +x563.html diff -urN gnupg-0.9.11/doc/gph/manual/docbook.css gnupg-1.0.0/doc/gph/manual/docbook.css --- gnupg-0.9.11/doc/gph/manual/docbook.css Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/docbook.css Tue Sep 7 18:26:28 1999 @@ -0,0 +1,20 @@ +.BOOK .TITLE { text-align: center } +.BOOK .SUBTITLE { text-align: center } +.BOOK .CORPAUTHOR { text-align: center } +.BOOK .AUTHOR { text-align: center } +.BOOK .AFFILIATION { text-align: center } +.BOOK .EDITEDBY { text-align: center } +.BOOK .EDITOR { text-align: center } +.BOOK .GRAPHIC { text-align: center } + +.ARTICLE .TITLE { text-align: center } +.ARTICLE .SUBTITLE { text-align: center } +.ARTICLE .CORPAUTHOR { text-align: center } +.ARTICLE .AUTHOR { text-align: center } +.ARTICLE .AFFILIATION { text-align: center } +.ARTICLE .EDITEDBY { text-align: center } +.ARTICLE .EDITOR { text-align: center } +.ARTICLE .GRAPHIC { text-align: center } +.ARTICLE .ABSTRACT { margin-left: 0.5in; + margin-right: 0.5in; + font-style: italic } diff -urN gnupg-0.9.11/doc/gph/manual/edit-key.html gnupg-1.0.0/doc/gph/manual/edit-key.html --- gnupg-0.9.11/doc/gph/manual/edit-key.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/edit-key.html Tue Sep 7 18:26:19 1999 @@ -0,0 +1,521 @@ +edit-key
The GNU Privacy Handbook
PrevNext

edit-key

Name

edit-key -- presents a menu for operating on keys

Synopsis

edit-key key

Description

This command presents a menu which enables you to perform +key-related taskes. +The key specifier key +specifies the key pair to be edited. +If the specifier matches more than one key pair, gpg issues +an error and exits.

Key listings displayed during key editing show the key with its +secondary keys and all user ids. +Selected keys or user ids are indicated by an asterisk. +The trust and validity values are displayed with the primary key: +the first is the assigned trust and the second is the +calculated validity. +Letters are used for the values: + +

LetterMeaning
-No ownertrust assigned / not yet calculated.
eTrust calculation has failed.
qNot enough information for calculation.
nNever trust this key.
mMarginally trusted.
fFully trusted.
uUltimately trusted.

The following lists each key editing command and a description +of its behavior.

sign

Makes a signature on the current key. +If th key is not yet signed by the default user or the user +given with the option +local-user, +the program displays the information of the key again, together with +its fingerprint and asks whether it should be signed. +This question is repeated for all users specified with the option +local-user.

lsign

Same as sign, but the signature is +marked as non-exportable and will therefore never be used by others. +This may be used to make keys valid only in the local environment.

revsig

Revoke a signature. +Asks for each signature makde by a one of the private keys whether +a revocation certificate should be generated.

trust

Change the owner trust value. +This updates the trust database immediately and no save is required.

disable

Disable the key. +A disabled key cannot normally be used for encryption.

enable

Enable a key that has been previously +disabled.

adduid

Add a new user id to the current key.

deluid

Delete a user id from the current key.

addkey

Add a new subkey to the current key.

delkey

Delete a subkey from the current key.

revkey

Revoke a subkey of the current key.

expire

Change a key expiration time. +If a subkey is selected, the time of that key will be changed. +With no selection the expiration time of the current primary key is changed.

key n

Toggle selection of subkey with index n. +Use 0 to deselect all.

uid n

Toggle selection of user id with index n. +Use 0 to deselect all.

toggle

Change the passphrase of the private key of the selected key pair.

toggle

Toggle between public and private key listings.

check

Check all selected user ids.

pref

List preferences.

save

Save all changes to the current key and quit.

save

Quit without updating the current key.


PrevHomeNext
exportUpOptions Reference
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/encrypt.html gnupg-1.0.0/doc/gph/manual/encrypt.html --- gnupg-0.9.11/doc/gph/manual/encrypt.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/encrypt.html Tue Sep 7 18:26:08 1999 @@ -0,0 +1,211 @@ +encrypt
The GNU Privacy Handbook
PrevNext

encrypt

Name

encrypt -- encrypt a document

Synopsis

encrypt filename

Description

This command encrypts the document +filename to +recipients specified using the +option recipient. +If the parameter filename +is omitted, then the document to encrypt is taken from standard input. +If the option recipient is omitted, +gpg will prompt for a recipient. +If the option output is used, +gpg will output the encrypted information to the specified file.


PrevHomeNext
recv-keysUpdecrypt
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/export.html gnupg-1.0.0/doc/gph/manual/export.html --- gnupg-0.9.11/doc/gph/manual/export.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/export.html Tue Sep 7 18:26:17 1999 @@ -0,0 +1,186 @@ +export
The GNU Privacy Handbook
PrevNext

export

Name

export -- export keys from a local keyring

Synopsis

export key key ...

Description

This command exports the public keys components of the keys specified +by the key specifiers key key .... +The export command by default sends its output to standard output. +This key file can later be imported into another keyring using the command +import.


PrevHomeNext
gen-revokeUpedit-key
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/fingerprint.html gnupg-1.0.0/doc/gph/manual/fingerprint.html --- gnupg-0.9.11/doc/gph/manual/fingerprint.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/fingerprint.html Tue Sep 7 18:26:11 1999 @@ -0,0 +1,189 @@ +fingerprint
The GNU Privacy Handbook
PrevNext

fingerprint

Name

fingerprint -- display key fingerprints

Synopsis

fingerprint name ...

Description

This command prints the fingerprints of the specified public keys. +The parameter name is a +key specifier. +If no parameter name is +provided, gpg will print the fingerprints of all the keys on +your public keyring.


PrevHomeNext
clearsignUpdetach-sig
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/gen-key.html gnupg-1.0.0/doc/gph/manual/gen-key.html --- gnupg-0.9.11/doc/gph/manual/gen-key.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/gen-key.html Tue Sep 7 18:26:12 1999 @@ -0,0 +1,169 @@ +gen-key
The GNU Privacy Handbook
PrevNext

gen-key

Name

gen-key -- generate a new keypair

Synopsis

gen-key

Description

This command generates a private/public key pair for use in encrypting, +decrypting, and signing of messages. +You will br prompted for the kind of key you wish to create, the key +size, and the key's expiration date.


PrevHomeNext
detach-sigUpsymmetric
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/gen-revoke.html gnupg-1.0.0/doc/gph/manual/gen-revoke.html --- gnupg-0.9.11/doc/gph/manual/gen-revoke.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/gen-revoke.html Tue Sep 7 18:26:16 1999 @@ -0,0 +1,179 @@ +gen-revoke
The GNU Privacy Handbook
PrevNext

gen-revoke

Name

gen-revoke -- generate a revocation certificate for a public/private keypair

Synopsis

gen-revoke key

Description

This command generates a revocation certificate for a public/private +key pair. +The parameter key is +a key specifier.


PrevHomeNext
verifyUpexport
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/import.html gnupg-1.0.0/doc/gph/manual/import.html --- gnupg-0.9.11/doc/gph/manual/import.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/import.html Tue Sep 7 18:26:15 1999 @@ -0,0 +1,177 @@ +import
The GNU Privacy Handbook
PrevNext

import

Name

import -- import keys to a local keyring

Synopsis

import filename

Description

This command imports one or more public keys onto the user's public +keyring from the file filename.


PrevHomeNext
list-keysUpverify
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/intro.html gnupg-1.0.0/doc/gph/manual/intro.html --- gnupg-0.9.11/doc/gph/manual/intro.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/intro.html Tue Sep 7 18:25:50 1999 @@ -0,0 +1,487 @@ +Getting Started
The GNU Privacy Handbook
PrevNext

Chapter 1. Getting Started

GnuPG is a tool for secure communication. +This chapter is a quick-start guide that covers the core functionality +of GnuPG. +This includes keypair creation, exchanging and verifying keys, encrypting +and decrypting documents, and making and verifying signatures. +It does not explain in detail the concepts behind public-key cryptography, +encryption, and digital signatures. +This is covered in Chapter 2. +It also does not explain how to use GnuPG wisely. +This is covered in Chapters 3 and +4.

GnuPG uses public-key cryptography so that users may communicate securely. +In a public-key system, each user has a public/private keypair. +A user's private key is kept secret; it need never be revealed. +The public key may be given to anyone with whom the user wants to +communicate. +GnuPG uses a somewhat more sophisticated scheme in which a user has +a primary keypair and then zero or more additional subordinate keypairs. +The primary and subordinate keypairs are bundled to facilitate key +management and the bundle can often be considered simply as one keypair.

Generating a new keypair

The command-line option --gen-key +is used to create a new primary keypair. + +
alice% gpg --gen-key
+gpg (GnuPG) 0.9.4; Copyright (C) 1999 Free Software Foundation, Inc.
+This program comes with ABSOLUTELY NO WARRANTY.
+This is free software, and you are welcome to redistribute it
+under certain conditions. See the file COPYING for details.
+
+Please select what kind of key you want:
+   (1) DSA and ElGamal (default)
+   (2) DSA (sign only)
+   (4) ElGamal (sign and encrypt)
+Your selection?
+ + +GnuPG is able to create several different types of keypairs, but a primary +key must be capable of making signatures. +There are therefore only three options. +Option 1 actually creates two keypairs. +A DSA keypair is the primary keypair usable only for making signatures. +An ElGamal subordinate keypair is also created for encryption. +Option 2 is similar but creates only a DSA keypair. +Option 4[1] creates a single ElGamal +keypair usable for both making signatures and performing encryption. +In all cases it is possible to later add additional subkeys for encryption +and signing. +For most users the default option is fine.

You must also choose a key size. +The size of a DSA key must be between 512 and 1024 bits, and an ElGamal +key may be of any size. +GnuPG, however, requires that keys be no smaller than 768 bits. +Therefore, if Option 1 was chosen and you choose a keysize larger than +1024 bits, the ElGamal key will have the requested size, but the DSA +key will be 1024 bits. + +
About to generate a new ELG-E keypair.
+              minimum keysize is  768 bits
+              default keysize is 1024 bits
+    highest suggested keysize is 2048 bits
+What keysize do you want? (1024)
+ +The longer the key the more secure it is against brute-force attacks, +but for almost all purposes the default keysize is adequate since +it would be cheaper to circumvent the encryption than try to break it. +Also, encryption and decryption will be slower as the +key size is increased, and a larger keysize may affect signature length. +Once selected, the keysize can never be changed.

Finally, you must choose an expiration date. +If Option 1 was chosen, the expiration date will be used for both the +ElGamal and DSA keypairs. + +
Please specify how long the key should be valid.
+         0 = key does not expire
+      <n>  = key expires in n days
+      <n>w = key expires in n weeks
+      <n>m = key expires in n months
+      <n>y = key expires in n years
+Key is valid for? (0) 
+ +For most users a key that does not expire is adequate. +The expiration time should be chosen with care, however, +since although it is possible to change the expiration date after the key +is created, it may be difficult to communicate a change +to users who have your public key.

You must provide a user ID in addition to the key parameters. +The user ID is used to associate the key being created with a real +person. + +
You need a User-ID to identify your key; the software constructs the user id
+from Real Name, Comment and Email Address in this form:
+    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
+
+Real name: 
+ +Only one user ID is created when a key is created, but it is possible +to create additional user IDs if you want to use the key in two or +more contexts, e.g., as an employee at work and a political activist +on the side. +A user ID should be created carefully since it cannot be edited after +it is created.

GnuPG needs a passphrase to protect the primary and subordinate +private keys that you keep in your possession. + +
You need a Passphrase to protect your private key.    
+
+Enter passphrase: 
+ +There is no limit on the length of a passphrase, and it should be +carefully chosen. +From the perspective of security, the passphrase to unlock the private +key is one of the weakest points in GnuPG (and other public-key +encryption systems as well) since it is the only protection you +have if another individual gets your private key. +Ideally, the passphrase should not use words from a dictionary and +should mix the case of alphabetic characters as well as use +non-alphabetic characters. +A good passphrase is crucial to the secure use of GnuPG.

Generating a revocation certificate

After your keypair is created you should immediately generate a revocation +certificate for the primary public key using the option +--gen-revoke. +If you forget your passphrase or if your private key is compromised +or lost, this revocation certificate may be published to notify others +that the public key should no longer be used. +A revoked public key can still be used to verify signatures made +by you in the past, but it cannot be used to encrypt future messages +to you. +It also does not affect your ability to decrypt messages sent to +you in the past if you still do have access to the private key. + +
alice% gpg --output revoke.asc --gen-revoke mykey
+[...]
+ +The argument mykey must be a key +specifier, +either the key ID of your primary keypair or any part of a user ID +that identifies your keypair. +The generated certificate will be left in the file +revoke.asc. +If the --output option is +omitted, the result will be placed on standard output. +Since the certificate is short, you may wish to print a hardcopy of +the certificate to store somewhere safe such as your safe deposit box. +The certificate should not be stored where others can access it since +anybody can publish the revocation certificate and render the +corresponding public key useless.

Notes

[1]

Option 3 is to generate an ElGamal keypair that is +not usable for making signatures.


PrevHomeNext
The GNU Privacy Handbook Exchanging keys
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/keyserver.html gnupg-1.0.0/doc/gph/manual/keyserver.html --- gnupg-0.9.11/doc/gph/manual/keyserver.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/keyserver.html Tue Sep 7 18:26:21 1999 @@ -0,0 +1,186 @@ +keyserver
The GNU Privacy Handbook
PrevNext

keyserver

Name

keyserver -- specify the keyserver to use to locate keys

Synopsis

keyserver server-name

Description

This option is used in conjunction with either +recv-keys or +send-keys to specify a +keyserver to manage public key distribution.


PrevHomeNext
Options ReferenceUpoutput
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/list-keys.html gnupg-1.0.0/doc/gph/manual/list-keys.html --- gnupg-0.9.11/doc/gph/manual/list-keys.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/list-keys.html Tue Sep 7 18:26:14 1999 @@ -0,0 +1,177 @@ +list-keys
The GNU Privacy Handbook
PrevNext

list-keys

Name

list-keys -- list information about the specified keys

Synopsis

list-keys key ...

Description

This command lists the public key specified by the key specifiers on the +command line. +If no key specifier is given, gpg will print all of the keys on the +public keyring.


PrevHomeNext
symmetricUpimport
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/local-user.html gnupg-1.0.0/doc/gph/manual/local-user.html --- gnupg-0.9.11/doc/gph/manual/local-user.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/local-user.html Tue Sep 7 18:26:25 1999 @@ -0,0 +1,178 @@ +local-user
The GNU Privacy Handbook
PrevNext

local-user

Name

local-user -- specifies a user id to use for signing

Synopsis

localuser name

Description

Use name as the user ID to sign. +This option is silently ignored for the list commands, so that it can be +used in an options file.


PrevHomeNext
no-greetingUpcompletes-needed
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/management.html gnupg-1.0.0/doc/gph/manual/management.html --- gnupg-0.9.11/doc/gph/manual/management.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/management.html Tue Sep 7 18:25:59 1999 @@ -0,0 +1,763 @@ +Key Management
The GNU Privacy Handbook
PrevNext

Chapter 3. Key Management

Key tampering is a major security weakness with public-key cryptography. +An eavesdropper may tamper with a user's keyrings or forge a +user's public key and post it for others to download and use. +For example, suppose Chloe wants to monitor the messages that Alice +sends to Blake. +She could mount what is called a man in the +middle attack. +In this attack, Chloe creates a new public/private keypair. +She replaces Alice's copy of Blake's public key with the new public key. +She then intercepts the messages that Alice sends to Blake. +For each intercept, she decrypts it using the new private key, reencrypts +it using Blake's true public key, and forwards the reencrypted +message to Blake. +All messages sent from Alice to Blake can now be read by Chloe.

Good key management is crucial in order to ensure not just the integrity +of your keyrings but the integrity of other users' keyrings as well. +The core of key management in GnuPG is the notion of signing keys. +Key signing has two main purposes: it permits you to detect tampering +on your keyring, and it allows you to certify that a key truly belongs +to the person named by a user ID on the key. +Key signatures are also used in a scheme known as the web of +trust to extend certification to keys not directly signed by you +but signed by others you trust. +Responsible users who practice good key management can defeat key +tampering as a practical attack on secure communication with GnuPG.

Managing your own keypair

A keypair has a public key and a private key. +A public key consists of +the public portion of the master signing key, +the public portions of the subordinate signing and encryption subkeys, and +a set of user IDs used to associate the public key with a real person. +Each piece has data about itself. +For a key, this data includes its ID, when it was created, when it +will expire, etc. +For a user ID, this data includes the name of the real person it identifies, +an optional comment, and an email address. +The structure of the private key is similar, except that it contains only +the private portions of the keys, and there is no user ID information.

The command-line option +--edit-key +may be used to view a keypair. +For example, + +
chloe% gpg --edit-key chloe@cyb.org
+Secret key is available.
+
+pub  1024D/26B6AAE1  created: 1999-06-15 expires: never      trust: -/u
+sub  2048g/0CF8CB7A  created: 1999-06-15 expires: never     
+sub  1792G/08224617  created: 1999-06-15 expires: 2002-06-14
+sub   960D/B1F423E7  created: 1999-06-15 expires: 2002-06-14
+(1)  Chloe (Jester) <chloe@cyb.org>
+(2)  Chloe (Plebian) <chloe@tel.net>
+Command>
+ +The public key is displayed along with an indication of whether +or not the private key is available. +Information about each component of the public key is then listed. +The first column indicates the type of the key. +The keyword pub identifies the public master signing key, +and the keyword sub identifies a public subordinate key. +The second column indicates the key's bit length, type, and ID. +The type is D for a DSA key, g for an +encryption-only +ElGamal key, and G for an ElGamal key that may be used for +both encryption and signing. +The creation date and expiration date are given in columns three and four. +The user IDs are listed following the keys.

More information about the key can be obtained with interactive commands. +The command toggle +switches between the public and private +components of a keypair if indeed both components are available. + +
Command> toggle
+               
+sec  1024D/26B6AAE1  created: 1999-06-15 expires: never     
+sbb  2048g/0CF8CB7A  created: 1999-06-15 expires: never     
+sbb  1792G/08224617  created: 1999-06-15 expires: 2002-06-14
+sbb   960D/B1F423E7  created: 1999-06-15 expires: 2002-06-14
+(1)  Chloe (Jester) <chloe@cyb.org>
+(2)  Chloe (Plebian) <chloe@tel.net>
+ +The information provided is similar to the listing for the public-key +component. +The keyword sec identifies the private master signing key, +and the keyword sbb identifies the private subordinates keys. +The user IDs from the public key are also listed for convenience.

Key integrity

When you distribute your public key, you are distributing the public +components of your master and subordinate keys as well as the user IDs. +Distributing this material alone, however, is a security risk since +it is possible for an attacker to tamper with the key. +The public key can be modified by adding or substituting keys, or by +adding or changing user IDs. +By tampering with a user ID, the attacker could change the user ID's email +address to have email redirected to himself. +By changing one of the encryption keys, the attacker would +also be able to decrypt the messages redirected to him.

Using digital signatures is a solution to this problem. +When data is signed by a private key, the corresponding public key +is bound to the signed data. +In other words, only the corresponding public key can be used to +verify the signature and ensure that the data has not been modified. +A public key can be protected from tampering by using its corresponding +private master key to sign the public key components and user IDs, thus +binding the components to the public master key. +Signing public key components with the corresponding private master +signing key is called self-signing, and a public key that has +self-signed user IDs bound to it is called a certificate.

As an example, Chloe has two user IDs and three subkeys. +The signatures on the user IDs can be checked with the command +check from the key edit menu. + +
chloe% gpg --edit-key chloe
+Secret key is available.
+
+pub  1024D/26B6AAE1  created: 1999-06-15 expires: never      trust: -/u
+sub  2048g/0CF8CB7A  created: 1999-06-15 expires: never     
+sub  1792G/08224617  created: 1999-06-15 expires: 2002-06-14
+sub   960D/B1F423E7  created: 1999-06-15 expires: 2002-06-14
+(1)  Chloe (Jester) <chloe@cyb.org>
+(2)  Chloe (Plebian) <chloe@tel.net>
+
+Command> check
+uid  Chloe (Jester) <chloe@cyb.org>
+sig!       26B6AAE1 1999-06-15   [self-signature]
+uid  Chloe (Plebian) <chloe@tel.net>
+sig!       26B6AAE1 1999-06-15   [self-signature]
+ +As expected, the signing key for each signature is the master signing +key with key ID 0x26B6AAE1. +The self-signatures on the subkeys are present in the public key, but +they are not shown by the GnuPG interface.

Adding and deleting key components

Both new subkeys and new user IDs may be added to your keypair after +it has been created. +A user ID is added using the command +adduid. +You are prompted for a real name, email address, and comment just +as when you create an initial keypair. +A subkey is added using the command +addkey. +The interface is similar to the interface used when creating an initial +keypair. +The subkey may be a DSA signing key, and encrypt-only ElGamal +key, or a sign-and-encrypt ElGamal key. +When a subkey or user ID is generated it is self-signed using your +master signing key, which is why you must supply your passphrase +when the key is generated.

Additional user IDs are useful when you need multiple identities. +For example, you may have an identity for your job and an identity +for your work as a political activist. +Coworkers will know you by your work user ID. +Coactivists will know you by your activist user ID. +Since those groups of people may not overlap, though, each group +may not trust the other user ID. +Both user IDs are therefore necessary.

Additional subkeys are also useful. +The user IDs associated with your public master key are validated by +the people with whom you +communicate, and changing the master key therefore requires recertification. +This may be difficult and time consuming if you communicate with +many people. +On the other hand, it is good to periodically change encryption subkeys. +If a key is broken, all the data encrypted with that key will be +vulnerable. +By changing keys, however, only the data encrypted with the one broken +key will be revealed.

Subkeys and user IDs may also be deleted. +To delete a subkey or user ID you must first select it using the +key or +uid commands respectively. +These commands are toggles. +For example, the command key 2 +selects the second subkey, +and invoking key 2 again +deselects it. +If no extra argument is given, all subkeys or user IDs are deselected. +Once the user IDs to be deleted are selected, the command +deluid +actually deletes the user IDs from your key. +Similarly, the command delkey +deletes all selected subkeys from both your public and private keys.

For local keyring management, deleting key components is a good way +to trim other people's public keys of unnecessary material. +Deleting user IDs and subkeys on your own key, however, is not always +wise since it complicates key distribution. +By default, when a user imports your updated public key it will be merged +with the old copy of your public key on his ring if it exists. +The components from both keys are combined in the merge, and this +effectively restores any components you deleted. +To properly update the key, the user must first delete the old version +of your key and then import the new version. +This puts an extra burden on the people with whom you communicate. +Furthermore, if you send your key to a keyserver, the merge will +happen regardless, and anybody who downloads your key from a keyserver +will never see your key with components deleted. +Consequently, for updating your own key it is better to revoke key +components instead of deleting them.

Revoking key components

To revoke a subkey it must be selected. +Once selected it may be revoked with the +revkey command. +The key is revoked by adding a revocation self-signature to the key. +Unlike the command-line option --gen-revoke, the effect of +revoking a subkey is immediate.

Command> revkey
+Do you really want to revoke this key? y
+                                        
+You need a passphrase to unlock the secret key for
+user: "Chloe (Jester) <chloe@cyb.org>"
+1024-bit DSA key, ID B87DBA93, created 1999-06-28
+
+                  
+pub  1024D/B87DBA93  created: 1999-06-28 expires: never      trust: -/u
+sub  2048g/B7934539  created: 1999-06-28 expires: never     
+sub  1792G/4E3160AD  created: 1999-06-29 expires: 2000-06-28
+rev! subkey has been revoked: 1999-06-29
+sub   960D/E1F56448  created: 1999-06-29 expires: 2000-06-28
+(1)  Chloe (Jester) <chloe@cyb.org>
+(2)  Chloe (Plebian) <chloe@tel.net>

A user ID is revoked differently. +Normally, a user ID collects signatures that attest that the user ID +describes the person who actually owns the associated key. +In theory, a user ID describes a person forever, since that person will +never change. +In practice, though, elements of the user ID such as the email address +and comment may change over time, thus invalidating the user ID.

The OpenPGP + +specification does not support user ID revocation, but +a user ID can effectively be revoked by revoking the self-signature +on the user ID. +For the security reasons described +previously, +correspondents will not trust a user ID with no valid self-signature.

A signature is revoked by using the command +revsig. +Since you may have signed any number of user IDs, the user interface +prompts you to decide for each signature whether or not to revoke it.

Command> revsig
+You have signed these user IDs:
+     Chloe (Jester) <chloe@cyb.org>
+   signed by B87DBA93 at 1999-06-28
+     Chloe (Plebian) <chloe@tel.net>
+   signed by B87DBA93 at 1999-06-28
+user ID: "Chloe (Jester) <chloe@cyb.org>"
+signed with your key B87DBA93 at 1999-06-28
+Create a revocation certificate for this signature? (y/N)n
+user ID: "Chloe (Plebian) <chloe@tel.net>"                
+signed with your key B87DBA93 at 1999-06-28
+Create a revocation certificate for this signature? (y/N)y
+You are about to revoke these signatures:                 
+     Chloe (Plebian) <chloe@tel.net>
+   signed by B87DBA93 at 1999-06-28
+Really create the revocation certificates? (y/N)y
+                                                 
+You need a passphrase to unlock the secret key for
+user: "Chloe (Jester) <chloe@cyb.org>"
+1024-bit DSA key, ID B87DBA93, created 1999-06-28
+
+                  
+pub  1024D/B87DBA93  created: 1999-06-28 expires: never      trust: -/u
+sub  2048g/B7934539  created: 1999-06-28 expires: never     
+sub  1792G/4E3160AD  created: 1999-06-29 expires: 2000-06-28
+rev! subkey has been revoked: 1999-06-29
+sub   960D/E1F56448  created: 1999-06-29 expires: 2000-06-28
+(1)  Chloe (Jester) <chloe@cyb.org>
+(2)  Chloe (Plebian) <chloe@tel.net>

A revoked user ID is indicated by the revocation signature on +the ID when the signatures on the key's user IDs are listed.

Command> check
+uid  Chloe (Jester) <chloe@cyb.org>
+sig!       B87DBA93 1999-06-28   [self-signature]
+uid  Chloe (Plebian) <chloe@tel.net>
+rev!       B87DBA93 1999-06-29   [revocation]
+sig!       B87DBA93 1999-06-28   [self-signature]

Revoking both subkeys and self-signatures on user IDs adds revocation +self-signatures to the key. +Since signatures are being added and no material is deleted, a +revocation will always be visible to others when your updated public +key is distributed and merged with older copies of it. +Revocation therefore guarantees that everybody has a consistent +copy of your public key.

Updating a key's expiration time

The expiration time of a key may be updated with the command +expire from the key edit menu. +If no key is selected the expiration time of the primary key +is updated. +Otherwise the expiration time of the selected subordinate key +is updated.

A key's expiration time is associated with the key's self-signature. +The expiration time is updated by deleting the old self-signature +and adding a new self-signature. +Since correspondents will not have deleted the old self-signature, they +will see an additional self-signature on the key when they update +their copy of your key. +The latest self-signature takes precedence, however, so all correspondents +will unambiguously know the expiration times of your keys.


PrevHomeNext
Digital signatures Validating other keys on your public keyring
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/marginals-needed.html gnupg-1.0.0/doc/gph/manual/marginals-needed.html --- gnupg-0.9.11/doc/gph/manual/marginals-needed.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/marginals-needed.html Tue Sep 7 18:26:26 1999 @@ -0,0 +1,174 @@ +marginals-needed
The GNU Privacy Handbook
Prev 

marginals-needed

Name

marginals-needed -- specifies the number of marginally-trusted people needed to validate +a new key.

Synopsis

marginals-needed n

Description

A public key on your keyring is validated using those signatures on +the key that were made by other valid keys on your keyring. +The option specifies the number of signatures needed if you marginally +trust the owners of the keys that made the signatures. +Your trust in a key's owner is set with the command +edit-key.


PrevHome 
completes-neededUp 
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/modules.html gnupg-1.0.0/doc/gph/manual/modules.html --- gnupg-0.9.11/doc/gph/manual/modules.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/modules.html Tue Sep 7 18:26:04 1999 @@ -0,0 +1,174 @@ +Programming with GnuPG
The GNU Privacy Handbook
PrevNext


PrevHomeNext
Using GnuPG legally Writing extension modules
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/no-greeting.html gnupg-1.0.0/doc/gph/manual/no-greeting.html --- gnupg-0.9.11/doc/gph/manual/no-greeting.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/no-greeting.html Tue Sep 7 18:26:24 1999 @@ -0,0 +1,163 @@ +no-greeting
The GNU Privacy Handbook
PrevNext

no-greeting

Name

no-greeting -- suppress the opening copyright notice but do not enter batch mode

Synopsis

Description

This is a description.


PrevHomeNext
armorUplocal-user
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/output.html gnupg-1.0.0/doc/gph/manual/output.html --- gnupg-0.9.11/doc/gph/manual/output.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/output.html Tue Sep 7 18:26:22 1999 @@ -0,0 +1,171 @@ +output
The GNU Privacy Handbook
PrevNext

output

Name

output -- specify the file in which to place output

Synopsis

output file-name

Description

This is a description.


PrevHomeNext
keyserverUprecipient
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/r566.html gnupg-1.0.0/doc/gph/manual/r566.html --- gnupg-0.9.11/doc/gph/manual/r566.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/r566.html Tue Sep 7 18:26:19 1999 @@ -0,0 +1,276 @@ +Command Reference
The GNU Privacy Handbook
PrevNext

I. Command Reference

Key specifiers

Many commands and options require a key specifier. +A key specifier is the key ID or any portion of ther user ID of +a key. +Consider the following example. + +
alice% gpg --list-keys chloe
+pub  1024D/B87DBA93 1999-06-28 Chloe (Jester) <chloe@cyb.org>
+uid                            Chloe (Plebian) <chloe@tel.net>
+sub  2048g/B7934539 1999-06-28
+ +For this key, 0xB87DBA93, +Chloe, +Plebian, and +oe@tel +are all examples of key specifiers that match the above key.

Table of Contents
send-keys — send keys to a key server
recv-keys — retrieve keys from a key server
encrypt — encrypt a document
decrypt — decrypt an encrypted document
clearsign — make a cleartext signature
fingerprint — display key fingerprints
detach-sig — make a detached signature
gen-key — generate a new keypair
symmetric — encrypt a document using only a symmetric encryption algorithm
list-keys — list information about the specified keys
import — import keys to a local keyring
verify — verify a signed document
gen-revoke — generate a revocation certificate for a public/private keypair
export — export keys from a local keyring
edit-key — presents a menu for operating on keys

PrevHomeNext
Writing extension modules send-keys
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/r882.html gnupg-1.0.0/doc/gph/manual/r882.html --- gnupg-0.9.11/doc/gph/manual/r882.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/r882.html Tue Sep 7 18:26:26 1999 @@ -0,0 +1,206 @@ +Options Reference
The GNU Privacy Handbook
PrevNext

II. Options Reference

Setting options

Options may be specified on the command line or in an options file. +The default location of the options file is +~/.gnupg/options. +When specifying options in the options file, omit the leading two +dashes and instead use simply the option name followed by any +arguments. +Lines in the file with a hash (#) as the +first non-white-space character are ignored.

Table of Contents
keyserver — specify the keyserver to use to locate keys
output — specify the file in which to place output
recipient — specify the recipient of a public-key encrypted document
armor — ASCII-armor encrypted or signed output
no-greeting — suppress the opening copyright notice but do not enter batch mode
local-user — specifies a user id to use for signing
completes-needed — specifies the number of fully-trusted people needed to validate a new key.
marginals-needed — specifies the number of marginally-trusted people needed to validate +a new key.

PrevHomeNext
edit-key keyserver
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/recipient.html gnupg-1.0.0/doc/gph/manual/recipient.html --- gnupg-0.9.11/doc/gph/manual/recipient.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/recipient.html Tue Sep 7 18:26:22 1999 @@ -0,0 +1,163 @@ +recipient
The GNU Privacy Handbook
PrevNext

recipient

Name

recipient -- specify the recipient of a public-key encrypted document

Synopsis

Description

This is a description.


PrevHomeNext
outputUparmor
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/recv-keys.html gnupg-1.0.0/doc/gph/manual/recv-keys.html --- gnupg-0.9.11/doc/gph/manual/recv-keys.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/recv-keys.html Tue Sep 7 18:26:07 1999 @@ -0,0 +1,189 @@ +recv-keys
The GNU Privacy Handbook
PrevNext

recv-keys

Name

recv-keys -- retrieve keys from a key server

Synopsis

recv-keys key-id key-id ...

Description

This command downloads one or more public keys from a keyserver. +Each key-id is a key ID. +The command requires the option +keyserver to +specify from which keyserver gpg should download the keys.


PrevHomeNext
send-keysUpencrypt
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/send-keys.html gnupg-1.0.0/doc/gph/manual/send-keys.html --- gnupg-0.9.11/doc/gph/manual/send-keys.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/send-keys.html Tue Sep 7 18:26:06 1999 @@ -0,0 +1,187 @@ +send-keys
The GNU Privacy Handbook
PrevNext

send-keys

Name

send-keys -- send keys to a key server

Synopsis

send-keys key

Description

This command sends a public key to a keyserver. +The parameter key specifies +the public key that should be uploaded. +The command requires the option +keyserver to specify +to which keyserver gpg should send the keys.


PrevHomeNext
Command ReferenceUprecv-keys
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/symmetric.html gnupg-1.0.0/doc/gph/manual/symmetric.html --- gnupg-0.9.11/doc/gph/manual/symmetric.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/symmetric.html Tue Sep 7 18:26:13 1999 @@ -0,0 +1,181 @@ +symmetric
The GNU Privacy Handbook
PrevNext

symmetric

Name

symmetric -- encrypt a document using only a symmetric encryption algorithm

Synopsis

symmetric filename

Description

This command encrypts a document using a symmetric algorithm with +a key derived from a passphrase supplied by you during execution. +The key should be selected to make it difficult to randomly guess the key. +To decrypt a document encrypted in this manner use the command. +decrypt.


PrevHomeNext
gen-keyUplist-keys
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/verify.html gnupg-1.0.0/doc/gph/manual/verify.html --- gnupg-0.9.11/doc/gph/manual/verify.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/verify.html Tue Sep 7 18:26:16 1999 @@ -0,0 +1,189 @@ +verify
The GNU Privacy Handbook
PrevNext

verify

Name

verify -- verify a signed document

Synopsis

verify signature document

Description

This command verifies a document against a signature +to ensure that the document has not been altered since the signature +was created. +If signature is omitted, +gpg will look in document +for a clearsign signature.


PrevHomeNext
importUpgen-revoke
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/wise.html gnupg-1.0.0/doc/gph/manual/wise.html --- gnupg-0.9.11/doc/gph/manual/wise.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/wise.html Tue Sep 7 18:26:02 1999 @@ -0,0 +1,452 @@ +Daily use of GnuPG
The GNU Privacy Handbook
PrevNext

Chapter 4. Daily use of GnuPG

GnuPG is a complex tool with technical, social, and legal issues +surrounding it. +Technically, it has been designed to be used in situations having +drastically different security needs. +This complicates key management. +Socially, using GnuPG is not strictly a personal decision. +To use GnuPG effectively both parties communicating must use it. +Finally, as of 1999, laws regarding digital encryption, and in particular +whether or not using GnuPG is legal, vary from country to country and +is currently being debated by many national governments.

This chapter addresses these issues. +It gives practical advice on how to use GnuPG to meet your security needs. +It also suggests ways to promote the use of GnuPG for secure +communication between yourself and your colleagues when your colleagues +are not currently using GnuPG. +Finally, the legal status of GnuPG is outlined given the current status +of encryption laws in the world.

Defining your security needs

GnuPG is a tool you use to protect your privacy. +Your privacy is protected if you can correspond with others without +eavesdroppers reading those messages.

How you should use GnuPG depends on the determination and resourcefulness +of those who might want to read your encrypted messages. +An eavesdropper may be an unscrupulous system administrator casually +scanning your mail, it might be an industrial spy trying to collect +your company's secrets, or it might be a law enforcement agency trying +to prosecute you. +Using GnuPG to protect against casual eavesdropping is going to be +different than using GnuPG to protect against a determined adversary. +Your goal, ultimately, is to make it more expensive to recover the +unencrypted data than that data is worth.

Customizing your use of GnuPG revolves around three issues: +

  • the key size of your public/private keypair,

  • protecting your private key, and

  • managing your web of trust.

+ +A well-chosen key size protects you against brute-force attacks on +encrypted messages. +Protecting your private key prevents an attacker from simply using your +private key to decrypt encrypted messages and sign messages in your name. +Correctly managing your web of trust prevents attackers from masquarading +as people with whom you communicate. +Ultimately, addressing these issues with respect to your own security +needs is how you balance the extra work required to use GnuPG with +the privacy it gives you.

Choosing a key size

Selecting a key size depends on the key. +In OpenPGP, a public/private keypair usually has multiple keys. +At the least it has a master signing key, and it probably has one or +more additional subkeys for encryption. +Using default key generation parameters with GnuPG, the master +key will be a DSA key, and the subkeys will be ElGamal keys.

DSA allows a key size up to 1024 bits. +This is not especially good given today's factoring technology, but +that is what the standard specifies. +Without question, you should use 1024 bit DSA keys.

ElGamal keys, on the other hand, may be of any size. +Since GnuPG is a hybrid public-key system, the public key is used +to encrypt a 128-bit session key, and the private key is used to +decrypt it. +Key size nevertheless affects encryption and decryption speed +since the cost of these algorithms is exponential in the size of +the key. +Larger keys also take more time to generate and take more space +to store. +Ultimately, there are diminishing returns on the extra security +a large key provides you. +After all, if the key is large enough to resist a brute-force +attack, an eavesdropper will merely switch to some other method for +obtaining your plaintext data. +Examples of other methods include robbing your home or office +and mugging you. +1024 bits is thus the recommended key size. +If you genuinely need a larger key size then you probably already +know this and should be consulting an expert in data security.

Protecting your private key

Protecting your private key is the most important job you have to +use GnuPG correctly. +If someone obtains your private key, then all data encrypted to +the private key can be decrypted and signatures can be made in your name. +If you lose your private key, then you will no longer be able to +decrypt documents encrypted to you in the future or in the past, +and you will not be able to make signatures. +Losing sole possession of your private key is catastrophic.

Regardless of how you use GnuPG you should store the public +key's revocation certificate +and a backup of your private key on write-protected media in a safe place. +For example, you could burn them on a CD-ROM and store them in your +safe deposit box at the bank in a sealed envelope. +Alternatively, you could store them on a floppy and hide it in your +house. +Whatever you do, they should be put on media that is safe to store +for as long as you expect to keep the key, and you should store +them more carefully than the copy of your private key you use daily.

To help safeguard your key, GnuPG does not store your raw +private key on disk. +Instead it encrypts it using a symmetric encryption algorithm. +That is why you need a passphrase to access the key. +Thus there are two barriers an attacker must cross to access your private +key: (1) he must actually acquire the key, and (2) he must get past +the encryption.

Safely storing your private key is important, but there is a cost. +Ideally, you would keep the private key on a removable, write-protected disk +such as a floppy disk, and you would use it on a single-user machine +not connected to a network. +This may be inconvenient or impossible for you to do. +For example, you may not own your own machine and must use a computer +at work or school, or it may mean you have to physically disconnect +your computer from your cable modem every time you want to use GnuPG

This does not mean you cannot or should not use GnuPG. +It means only that you have decided that the data you are protecting is +important enough to encrypt but not so important as to take extra +steps to make the first barrier stronger. +It is your choice.

A good passphrase is absolutely critical when using GnuPG. +Any attacker who gains access to your private key must bypass the +encryption on the private key. +Instead of brute-force guessing the key, an attacker will almost +certainly instead try to guess the passphrase.

The motivation for trying passphrases is that most people choose +a passphrase that is easier to guess than a random 128-bit key. +If the passphrase is a word, it is much cheaper to try all the +words in the dictionaries of the world's languages. +Even if the word is permuted, e.g., k3wldood, it is still easier +to try dictionary words with a catalog of permutations. +The same problem applies to quotations. +In general, passphrases based on natural-language utterances +are poor passphrases since there is little randomness and lots +of redundancy in natural language. +You should avoid natural language passphrases if you can.

A good passphrase is one that you can remember but is hard for +someone to guess. +It should include characters from the whole range of printable characters +on your keyboard. +This includes uppercase alphabetics characters, numbers, and special +characters such as } and |. +Be creative and spend a little time considering your passphrase; a +good choice is important to ensure your privacy.

Managing your web of trust

As with protecting your private key, managing your web of trust is +another aspect of using GnuPG that requires balancing security against +ease of use. +If you are using GnuPG to protect against casual eavesdropping and +forgeries then you can afford to be relatively trusting of other +people's signatures. +On the other hand, if you are concerned that there may be a determined +attacker interested in invading your privacy, then +you should be much less trusting of other signatures and spend more time +personally verifying signatures.

Regardless of your own security needs, through, you should +always be careful when signing other keys. +It is selfish to sign a key with just enough confidence in the key's +validity to satisfy your own security needs. +Others, with more stringent security needs, may want to depend on +your signature. +If they cannot depend on you then that weakens the web of trust +and makes it more difficult for all GnuPG users to communicate. +Use the same care in signing keys that you would like others to use when +you depend on their signatures.

In practice, managing your web of trust reduces to assigning trust to +others and tuning the options +--marginals-needed +and +--completes-needed. +Any key you personally sign will be considered valid, but except for small +groups, it will not be practical to personally sign the key of every person +with whom you communicate. +You will therefore have to assign trust to others.

It is probably wise to be accurate when assigning trust and then +use the options to tune how careful GnuPG is with key validation. +As a concrete example, you may fully trust a few close friends that +you know are careful with key signing and then marginally +trust all others on your keyring. +From there, you may set --completes-needed to +1 and --marginals-needed to +2. +If you are more concerned with security you might choose values of +1 and 3 or 2 +and 3 respectively. +If you are less concerned with privacy attacks and just want some +reasonable confidence about validity, set the values to 1 +and 1. +In general, higher numbers for these options imply that more people +would be needed to conspire against you in order to have a key validated +that does not actually belong to the person whom you think it does.


PrevHomeNext
Distributing keys Building your web of trust
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x108.html gnupg-1.0.0/doc/gph/manual/x108.html --- gnupg-0.9.11/doc/gph/manual/x108.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x108.html Tue Sep 7 18:25:48 1999 @@ -0,0 +1,259 @@ +Encrypting and decrypting documents
The GNU Privacy Handbook
PrevChapter 1. Getting StartedNext

Encrypting and decrypting documents

To encrypt a document the option +--encrypt is used. +You must have the public keys of the intended recipients. +The software expects the name of the document to encrypt as input or, if +omitted, on standard input. +The encrypted result is placed on standard output or as specified using +the option --output. +The document is compressed for additional security in addition to +encrypting it. + +
alice% gpg --output doc.gpg --encrypt --recipient blake@cyb.org doc
+ +The --recipient option +is used once for each recipient and takes an extra argument specifying +the public key to which the document should be encrypted. +The encrypted document can only be decrypted by someone with a private +key that complements one of the recipients' public keys. +In particular, you cannot decrypt a document encrypted by you unless +you included your own public key in the recipient list.

To decrypt a message the option +--decrypt is used. +You need the private key to which the message was encrypted. +Similar to the encryption process, the document to decrypt is +input, and the decrypted result is output.

blake% gpg --output doc --decrypt doc.gpg
+
+You need a passphrase to unlock the secret key for
+user: "Blake (Executioner) <blake@cyb.org>"
+1024-bit ELG-E key, ID 5C8CBD41, created 1999-06-04 (main key ID 9E98BC16)
+
+Enter passphrase: 

Documents may also be encrypted without using public-key cryptography. +Instead, only a symmetric cipher is used to encrypt the document. +The key used to drive the symmetric cipher is derived from a passphrase +supplied when the document is encrypted, and for good security, it +should not be the same passphrase that you use to protect your private key. +Symmetric encryption is useful for securing documents when the +passphrase does not need to be communicated to others. +A document can be encrypted with a symmetric cipher by using the +--symmetric option.

alice% gpg --output doc.gpg --symmetric doc
+Enter passphrase: 

PrevHomeNext
Exchanging keysUpMaking and verifying signatures
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x131.html gnupg-1.0.0/doc/gph/manual/x131.html --- gnupg-0.9.11/doc/gph/manual/x131.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x131.html Tue Sep 7 18:25:49 1999 @@ -0,0 +1,368 @@ +Making and verifying signatures
The GNU Privacy Handbook
PrevChapter 1. Getting StartedNext

Making and verifying signatures

A digital signature certifies and timestamps a document. +If the document is subsequently modified in any way, a verification +of the signature will fail. +A digital signature can serve the same purpose as a hand-written signature +with the additional benefit of being tamper-resistant. +The GnuPG source distribution, for example, is signed so that users can +verify that the source code has not been modified since it was packaged.

Creating and verifying signatures uses the public/private keypair +in an operation different from encryption and decryption. +A signature is created using the private key of the signer. +The signature is verified using the corresponding public key. +A consequence is that it is difficult to deny that you made a digital +signature since that would imply your private key had been compromised.

The command-line option --sign is +used to make a digital signature. +The document to sign is input, and the signed document is output. + +
alice% gpg --output doc.sig --sign doc
+
+You need a passphrase to unlock the private key for
+user: "Alice (Judge) <alice@cyb.org>"
+1024-bit DSA key, ID BB7576AC, created 1999-06-04
+
+Enter passphrase: 
+ +The document is compressed before signed, and the output is in binary +format.

Given a signed document, you can either check the signature or +check the signature and recover the original document. +To check the signature use the +--verify option. +To verify the signature and extract the document use the +--decrypt +option. +The signed document to verify and recover is input and the recovered +document is output.

blake% gpg --output doc --decrypt doc.sig
+gpg: Signature made Fri Jun  4 12:02:38 1999 CDT using DSA key ID BB7576AC
+gpg: Good signature from "Alice (Judge) <alice@cyb.org>"

Clearsigned documents

A common use of digital signatures is to sign usenet postings or +email messages. +In such situations it is undesirable to compress the document while +signing it. +The option +--clearsign +causes the document to be wrapped in an ASCII-armored signature but +otherwise does not modify the document.

alice% gpg --clearsign doc
+
+You need a passphrase to unlock the secret key for
+user: "Alice (Judge) <alice@cyb.org>"
+1024-bit DSA key, ID BB7576AC, created 1999-06-04
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+[...]
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v0.9.7 (GNU/Linux)
+Comment: For info see http://www.gnupg.org
+
+iEYEARECAAYFAjdYCQoACgkQJ9S6ULt1dqz6IwCfQ7wP6i/i8HhbcOSKF4ELyQB1
+oCoAoOuqpRqEzr4kOkQqHRLE/b8/Rw2k
+=y6kj
+-----END PGP SIGNATURE-----

Detached signatures

A signed document has limited usefulness. +Other users must recover the original document from the signed +version, and even with clearsigned documents, the signed document +must be edited to recover the original. +Therefore, there is a third method for signing a document that +creates a detached signature. +A detached signature is created using the +--detach-sig +option.

alice% gpg --output doc.sig --detach-sig doc
+
+You need a passphrase to unlock the secret key for
+user: "Alice (Judge) <alice@cyb.org>"
+1024-bit DSA key, ID BB7576AC, created 1999-06-04
+
+Enter passphrase: 

Both the document and detached signature are needed to verify +the signature. +The --verify option can be to check the +signature.

blake% gpg --verify doc.sig doc
+gpg: Signature made Fri Jun  4 12:38:46 1999 CDT using DSA key ID BB7576AC
+gpg: Good signature from "Alice (Judge) <alice@cyb.org>"

PrevHomeNext
Encrypting and decrypting documentsUpConcepts
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x191.html gnupg-1.0.0/doc/gph/manual/x191.html --- gnupg-0.9.11/doc/gph/manual/x191.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x191.html Tue Sep 7 18:25:51 1999 @@ -0,0 +1,220 @@ +Public-key ciphers
The GNU Privacy Handbook
PrevChapter 2. ConceptsNext

Public-key ciphers

The primary problem with symmetric ciphers is not their security but +with key exchange. +Once the sender and receiver have exchanged keys, that key can be +used to securely communicate, but what secure communication channel +was used to communicate the key itself? +In particular, it would probably be much easier for an attacker to work +to intercept the key than it is to try all the keys in the key space. +Another problem is the number of keys needed. +If there are n people who need to communicate, then +n(n-1)/2 keys +are needed for each pair of people to communicate privately. +This may be ok for a small number of people but quickly becomes unwieldly +for large groups of people.

Public-key ciphers were invented to avoid the key-exchange problem +entirely. +A public-key cipher uses a pair of keys for sending messages. +The two keys belong to the person receiving the message. +One key is a public key and may be given to anybody. +The other key is a private key and is kept +secret by the owner. +A sender encrypts a message using the public key and once encrypted, +only the private key may be used to decrypt it.

This protocol solves the key-exchange problem inherent with symmetric +ciphers. +There is no need for the sender and receiver to agree +upon a key. +All that is required is that some time before secret communication the +sender gets a copy of the receiver's public key. +Furthermore, the one public key can be used by anybody wishing to +communicate with the receiver. +So only n keypairs are needed for n +people to communicate secretly +with one another,

Public-key ciphers are based on one-way trapdoor functions. +A one-way function is a function that is easy to compute, +but the inverse is hard to compute. +For example, it is easy to multiply two prime numbers together to get +a composite, but it is difficult to factor a composite into its prime +components.a +A one-way trapdoor function is similar, but it has a trapdoor. +That is, if some piece of information is known, it becomes easy +to compute the inverse. +For example, if you have a number made of two prime factors, then knowing +one of the factors makes it easy to compute the second. +Given a public-key cipher based on prime factorization, the public +key contains a composite number made from two large prime factors, and +the encryption algorithm uses that composite to encrypt the +message. +The algorithm to decrypt the message requires knowing the prime factors, +so decryption is easy if you have the private key containing one of the +factors but extremely difficult if you do not have it.

As with good symmetric ciphers, with a good public-key cipher all of the +security rests with the key. +Therefore, key size is a measure of the system's security, but +one cannot compare the size of a symmetric cipher key and a public-key +cipher key as a measure of their relative security. +In a brute-force attack on a symmetric cipher with a key size of 80 bits, +the attacker must enumerate up to 281-1 keys to +find the right key. +In a brute-force attack on a public-key cipher with a key size of 512 bits, +the attacker must factor a composite number encoded in 512 bits (up to +155 decimal digits). +The workload for the attacker is fundamentally different depending on +the cipher he is attacking. +While 128 bits is sufficient for symmetric ciphers, given today's factoring +technology public keys with 1024 bits are recommended for most purposes.


PrevHomeNext
ConceptsUpHybrid ciphers
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x205.html gnupg-1.0.0/doc/gph/manual/x205.html --- gnupg-0.9.11/doc/gph/manual/x205.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x205.html Tue Sep 7 18:25:52 1999 @@ -0,0 +1,163 @@ +Hybrid ciphers
The GNU Privacy Handbook
PrevChapter 2. ConceptsNext

Hybrid ciphers

Public-key ciphers are no panacea. +Many symmetric ciphers are stronger from a security standpoint, +and public-key encryption and decryption are more expensive than the +corresponding operations in symmetric systems. +Public-key ciphers are nevertheless an effective tool for distributing +symmetric cipher keys, and that is how they are used in hybrid cipher +systems.

A hybrid cipher uses both a symmetric cipher and a public-key cipher. +It works by using a public-key cipher to share a key for the symmetric +cipher. +The actual message being sent is then encrypted using the key and sent +to the recipient. +Since symmetric key sharing is secure, the symmetric key used is different +for each message sent. +Hence it is sometimes called a session key.

Both PGP and GnuPG use hybrid ciphers. +The session key, encrypted using the public-key cipher, and the message +being sent, encrypted with the symmetric cipher, are automatically +combined in one package. +The recipient uses his private-key to decrypt the session key and the +session key is then used to decrypt the message.

A hybrid cipher is no stronger than the public-key cipher or symmetric +cipher it uses, whichever is weaker. +In PGP and GnuPG, the public-key cipher is probably the weaker of +the pair. +Fortunately, however, if an attacker could decrypt a session key it +would only be useful for reading the one message encrypted with that +session key. +The attacker would have to start over and decrypt another session +key in order to read any other message.


PrevHomeNext
Public-key ciphersUpDigital signatures
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x211.html gnupg-1.0.0/doc/gph/manual/x211.html --- gnupg-0.9.11/doc/gph/manual/x211.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x211.html Tue Sep 7 18:25:53 1999 @@ -0,0 +1,262 @@ +Digital signatures
The GNU Privacy Handbook
PrevChapter 2. ConceptsNext

Digital signatures

A hash function is a many-to-one function that maps its input to a +value in a finite set. +Typically this set is a range of natural numbers. +A simple ehash function is f(x) = 0 +for all integers x. +A more interesting hash function is +f(x) = x +mod 37, which +maps x to the remainder of dividing x by 37.

A document's digital signature is the result of applying a hash +function to the document. +To be useful, however, the hash function needs to satisfy two +important properties. +First, it should be hard to find two documents that hash to the +same value. +Second, given a hash value it should be hard to recover the document +that produced that value.

Some public-key ciphers[1] could be used to sign documents. +The signer encrypts the document with his private key. +Anybody wishing to check the signature and see the document simply +uses the signer's public key to decrypt the document. +This algorithm does satisfy the two properties needed from a good hash +function, but in practice, this algorithm is too slow to be useful.

An alternative is to use hash functions designed to satisfy these +two important properties. +SHA and MD5 are examples of such algorithms. +Using such an algorithm, a document is signed by hashing it, and +the hash value is the signature. +Another person can check the signature by also hashing their copy of the +document and comparing the hash value they get with the hash value of +the original document. +If they match, it is almost certain that the documents are identical.

Of course, the problem now is using a hash function for digital +signatures without permitting an attacker to interfere with signature +checking. +If the document and signature are sent unencrypted, an attacker could +modify the document and generate a corresponding signature without the +recipient's knowledge. +If only the document is encrypted, an attacker could tamper with the +signature and cause a signature check to fail. +A third option is to use a hybrid public-key encryption to encrypt both +the signature and document. +The signer uses his private key, and anybody can use his public key +to check the signature and document. +This sounds good but is actually nonsense. +If this algorithm truly secured the document it would also +secure it from tampering and there would be no need for the signature. +The more serious problem, however, is that this does not protect either +the signature or document from tampering. +With this algorithm, only the session key for the symmetric cipher +is encrypted using the signer's private key. +Anybody can use the public key to recover the session key. +Therefore, it is straightforward for an attacker to recover the session +key and use it to encrypt substitute documents and signatures to send +to others in the sender's name.

An algorithm that does work is to use a public key algorithm to +encrypt only the signature. +In particular, the hash value is encrypted using the signer's private +key, and anbody can check the signature using the public key. +The signed document can be sent using any other encryption algorithm +including none if it is a public document. +If the document is modified the signature check will fail, but this +is precisely what the signature check is supposed to catch. +The Digital Signature Standard (DSA) is a public key signature +algorithm that works as just described. +DSA is the primary signing algorithm used in GnuPG.

Notes

[1]

The cipher must have the property that the actual public key or private +key could be used by the encryption algorithm as the public key. +RSA is an example of such an algorithm while ElGamal is not an example.


PrevHomeNext
Hybrid ciphersUpKey Management
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x330.html gnupg-1.0.0/doc/gph/manual/x330.html --- gnupg-0.9.11/doc/gph/manual/x330.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x330.html Tue Sep 7 18:25:58 1999 @@ -0,0 +1,650 @@ +Validating other keys on your public keyring
The GNU Privacy Handbook
PrevChapter 3. Key ManagementNext

Validating other keys on your public keyring

In Chapter 1 a procedure was given to validate your +correspondents' public keys: a correspondent's key is validated by +personally checking his key's fingerprint and then signing his public +key with your private key. +By personally checking the fingerprint you can be sure that the +key really does belong to him, and since you have signed they key, you +can be sure to detect any tampering with it in the future. +Unfortunately, this procedure is awkward when either you must validate +a large number of keys or communicate with people whom you do not +know personally.

GnuPG addresses this problem with a mechanism popularly known +as the web of trust. +In the web of trust model, responsibility for validating public +keys is delegated to people you trust. +For example, suppose +

  • Alice has signed Blake's key, and

  • Blake has signed Chloe's key and Dharma's key.

+ +If Alice trusts Blake to properly validate keys that he signs, then +Alice can infer that Chloe's and Dharma's keys are valid without +having to personally check them. +She simply uses her validated copy of Blake's public key to +check that Blake's signatures on Chloe's and Dharma's are good. +In general, assuming that Alice fully trusts everybody to properly +validate keys they sign, then any key signed by a valid key is also +considered valid. +The root is Alice's key, which is axiomatically assumed to be valid.

Trust in a key's owner

In practice trust is subjective. +For example, Blake's key is valid to Alice since she signed it, but she +may not trust Blake to properly validate keys that he signs. +In that case, she would not take Chloe's and Dharma's key as valid +based on Blake's signatures alone. +The web of trust model accounts for this by associating with each +public key on your keyring an indication of how much you trust the +key's owner. +There are four trust levels. + +

unknown

Nothing is known about the owner's judgement in key signing. +Keys on your public keyring that you do not own initially have +this trust level.

none

The owner is known to improperly sign other keys.

marginal

The owner understands the implications of key signing and +properly validates keys before signing them.

full

The owner has an excellent understanding of key signing, +and his signature on a key would be as good as your own.

+ +A key's trust level is something that you alone assign to the +key, and it is considered private information. +It is not packaged with the key when it is exported; it is even +stored separately from your keyrings in a separate database.

The GnuPG key editor may be used to adjust your trust in a key's owner. +The command is trust. +In this example Alice edits her trust in Blake and then updates +the trust database to recompute which keys are valid based on her new +trust in Blake. + +
alice% gpg --edit-key blake
+
+pub  1024D/8B927C8A  created: 1999-07-02 expires: never      trust: q/f
+sub  1024g/C19EA233  created: 1999-07-02 expires: never     
+(1)  Blake (Executioner) <blake@cyb.org>
+
+Command> trust
+pub  1024D/8B927C8A  created: 1999-07-02 expires: never      trust: q/f
+sub  1024g/C19EA233  created: 1999-07-02 expires: never     
+(1)  Blake (Executioner) <blake@cyb.org>
+
+Please decide how far you trust this user to correctly
+verify other users' keys (by looking at passports,
+checking fingerprints from different sources...)?
+
+ 1 = Don't know
+ 2 = I do NOT trust
+ 3 = I trust marginally
+ 4 = I trust fully
+ s = please show me more information
+ m = back to the main menu
+
+Your decision? 3
+                
+pub  1024D/8B927C8A  created: 1999-07-02 expires: never      trust: m/f
+sub  1024g/C19EA233  created: 1999-07-02 expires: never     
+(1)  Blake (Executioner) <blake@cyb.org>
+
+Command> quit
+[...]
+ +Trust in the key's owner and the key's validity are indicated to the +right when the key is displayed. +Trust in the owner is displayed first and the key's validity is +second[1]. +The four trust/validity levels are abbreviated: unknown (q), +none (n), marginal (m), and +full (f). +In this case, Blake's key is fully valid since Alice signed it herself. +She initially has an unknown trust in Blake to properly sign other keys +but decides to trust him marginally.

Using trust to validate keys

The web of trust allows a more elaborate algorithm to be used to +validate a key. +Formerly, a key was considered valid only if you signed it personally. +A more flexible algorithm can now be used: a key K is considered valid +if it meets two conditions: +

  1. it is signed by enough valid keys, meaning +

    • you have signed it personally,

    • it has been signed by one fully trusted key, or

    • it has been signed by three marginally trusted keys; and

  2. the path of signed keys leading from K back +to your own key is five steps or shorter.

+ +The path length, number of marginally trusted keys required, and number +of fully trusted keys required may be adjusted. +The numbers given above are the default values used by GnuPG.

Figure 3-1 shows a web of trust rooted at Alice. +The graph illustrates who has signed who's keys. +The table shows which keys Alice considers valid based on her +trust in the other members of the web. + +This example assumes that two marginally-trusted keys or one +fully-trusted key is needed to validate another key. +The maximum path length is three.

When computing valid keys in the example, Blake and Dharma's are +always considered fully valid since they were signed directly +by Alice. +The validity of the other keys depends on trust. +In the first case, Dharma is trusted fully, which implies +that Chloe's and Francis's keys will be considered valid. +In the second example, Blake and Dharma are trusted marginally. +Since two marginally trusted keys are needed to fully validate a +key, Chloe's key will be considered fully valid, but Francis's +key will be considered only marginally valid. +In the case where Chloe and Dharma are marginally trusted, +Chloe's key will be marginally valid since Dharma's key is +fully valid. +Francis's key, however, will also be considered marginally +valid since only a fully valid key can be used to validate +other keys, and Dharma's key is the only fully valid key +that has been used to sign Francis's key. +When marginal trust in Blake is added, Chloe's key becomes +fully valid and can then be used to fully validate Francis's +key and marginally validate Elena's key. +Lastly, when Blake, Chloe, and Elena are fully trusted, this is +still insufficient to validate Geoff's key since the maximum +certification path is three, but the path length from Geoff +back to Alice is four.

The web of trust model is a flexible approach to the problem of safe +public key exchange. +It permits you to tune GnuPG to reflect how you use it. +At one extreme you may insist on multiple, short paths from your +key to another key K in order to trust it. +On the other hand, you may be satisfied with longer paths and +perhaps as little as one path from your key to the other +key K. +Requiring multiple, short paths is a strong guarantee +that K belongs to whom your think it does. +The price, of course, is that it is more difficult to validate keys +since you must personally sign more keys than if you accepted fewer +and longer paths.

Figure 3-1. A hypothetical web of trust

trustvalidity
marginalfullmarginalfull
 Dharma Blake, Chloe, Dharma, Francis
Blake, Dharma FrancisBlake, Chloe, Dharma
Chloe, Dharma Chloe, FrancisBlake, Dharma
Blake, Chloe, Dharma ElenaBlake, Chloe, Dharma, Francis
 Blake, Chloe, Elena Blake, Chloe, Elena, Francis

Notes

[1]

GnuPG overloads the word "trust" by using it to mean +trust in an owner and trust in a key. +This can be confusing. +Sometimes trust in an owner is referred to as +owner-trust to +distinguish it from trust in a key. +Throughout this manual, however, "trust" is used to +mean trust in a key's +owner, and "validity" is used to mean trust that a key +belongs to the human associated with the key ID.


PrevHomeNext
Key ManagementUpDistributing keys
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x454.html gnupg-1.0.0/doc/gph/manual/x454.html --- gnupg-0.9.11/doc/gph/manual/x454.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x454.html Tue Sep 7 18:25:59 1999 @@ -0,0 +1,248 @@ +Distributing keys
The GNU Privacy Handbook
PrevChapter 3. Key ManagementNext

Distributing keys

Ideally, you distribute your key by personally giving it to your +correspondents. +In practice, however, keys are often distributed by email or some +other electronic communication medium. +Distribution by email is good practice when you have only a few +correspondents, and even if you have many correspondents, you can use +an alternative means such as posting your public key on your World Wide +Web homepage. +This is unacceptable, however, if people who need your public key do +not know where to find it on the Web.

To solve this problem public key servers are used to collect +and distribute public keys. +A public key received by the server is either added to the server's +database or merged with the existing key if already present. +When a key request comes to the server, the server consults its +database and returns the requested public key if found.

A keyserver is also valuable when many people are frequently signing other +people's keys. +Without a keyserver, when Blake sign's Alice's key then Blake would send +Alice a copy of her public key signed by him so that Alice could +add the updated key to her ring as well as distribute it to all of her +correspondents. +Going through this effort fulfills Alice's and Blake's responsibility +to the community at large in building tight webs of trust and thus +improving the security of PGP. +It is nevertheless a nuisance if key signing is frequent.

Using a keyserver makes the process somewhat easier. +When Blake signs Alice's key he sends the signed key to the key server. +The key server adds Blake's signature to its copy of Alice's key. +Individuals interested in updating their copy of Alice's key then consult +the keyserver on their own initiative to retrieve the updated key. +Alice need never be involved with distribution and can retrieve signatures +on her key simply by querying a keyserver.

One or more keys may be sent to a keyserver using the command-line +option --send-keys. +The option takes one or more key specifiers and sends the specified +keys to the key server. +The key server to which to send the keys is specified with the +command-line option --keyserver. +Similarly, the option +--recv-keys is used +to retrieve keys from a keyserver, but the option --recv-keys +requires a key ID be used to specify the key. +In the following example Alice sends her public key to the keyserver +certserver.pgp.com and then updates her copy +of Blake's key from the same keyserver. + +
alice% gpg --keyserver certserver.pgp.com --recv-key 0xBB7576AC
+gpg: requesting key BB7576AC from certserver.pgp.com ...
+gpg: key BB7576AC: 1 new signature
+
+gpg: Total number processed: 1
+gpg:         new signatures: 1
+alice% gpg --keyserver certserver.pgp.com --send-key blake@cyb.org
+gpg: success sending to 'certserver.pgp.com' (status=200)
+ +There are several popular keyservers in use around the world. +The major keyservers synchronize themselves, so it is fine to +pick a keyserver close to you on the Internet and then use it +regularly for sending and receiving keys.


PrevHomeNext
Validating other keys on your public keyringUpDaily use of GnuPG
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x535.html gnupg-1.0.0/doc/gph/manual/x535.html --- gnupg-0.9.11/doc/gph/manual/x535.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x535.html Tue Sep 7 18:26:01 1999 @@ -0,0 +1,232 @@ +Building your web of trust
The GNU Privacy Handbook
PrevChapter 4. Daily use of GnuPGNext

Building your web of trust

Wanting to use GnuPG yourself is not enough. +In order to use to communicate securely with others you must have +a web of trust. +At first glance, however, building a web of trust is a daunting task. +The people with whom you communicate need to use +GnuPG[1], and there needs to be enough +key signing so that keys can be considered valid. +These are not technical problems; they are social problems. +Nevertheless, you must overcome these problems if you want to +use GnuPG.

When getting started using GnuPG it is important to realize that you +need not securely communicate with every one of your correspondents. +Start with a small circle of people, perhaps just yourself and +one or two others who also want to exercise their right +to privacy. +Generate your keys and sign each other's public keys. +This is your initial web of trust. +By doing this you will appreciate the value of a small, robust +web of trust and will be more cautious as you grow your web +in the future.

In addition to those in your initial web of trust, you may want to +communicate securely with others who are also using GnuPG. +Doing so, however, can be awkward for two reasons: +(1) you do not always know when someone uses or is willing to use +GnuPG, and (2) if you do know of someone who uses it, you may still have +trouble validating their key. +The first reason occurs because people do not always advertise that +they use GnuPG. +The way to change this behavior is to set the example and advertise +that you use GnuPG. +There are at least three ways to do this: you can sign messages you mail +to others or post to message boards, you can put your public key on your +web page, or, if you put your key on a keyserver, you can put your key +ID in your email signature. +If you advertise your key then you make it that much more acceptable +for others to advertise their keys. +Furthermore, you make it easier for others to start communicating +with you securely since you have taken the initiative and made it clear +that you use GnuPG.

Key validation is more difficult. +If you do not personally know the person whose key you want to sign, +then it is not possible to sign the key yourself. +You must rely on the signatures of others and hope to find a chain +of signatures leading from the key in question back to your own. +To have any chance of finding a chain, you must take the intitive +and get your key signed by others outside of your intitial web of trust. +An effective way to accomplish this is to participate in key +signing parties. +If you are going to a conference look ahead of time for a key +signing party, and if you do not see one being held, offer to +hold one. +You can also be more passive and carry your fingerprint with you +for impromptu key exchanges. +In such a situation the person to whom you gave the fingerprint +would verify it and sign your public key once he returned home.

Keep in mind, though, that this is optional. +You have no obligation to either publically advertise your key or +sign other people's keys. +The power of GnuPG is that it is flexible enough to adapt to your +security needs whatever they may be. +The social reality, however, is that you will need to take the initiative +if you want to grow your web of trust and use GnuPG for as much of +your communication as possible.

Notes

[1]

In this section, GnuPG refers to the +GnuPG implementation of OpenPGP as well as other implementations +such as NAI's PGP product.


PrevHomeNext
Daily use of GnuPGUpUsing GnuPG legally
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x545.html gnupg-1.0.0/doc/gph/manual/x545.html --- gnupg-0.9.11/doc/gph/manual/x545.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x545.html Tue Sep 7 18:26:02 1999 @@ -0,0 +1,145 @@ +Using GnuPG legally
The GNU Privacy Handbook
PrevChapter 4. Daily use of GnuPGNext

Using GnuPG legally

The legal status of encryption software varies from country to country, +and law regarding encryption software is rapidly evolving. +Bert-Japp +Koops has an excellent +Crypto +Law Survey to which you should refer for the legal status of +encryption software in your country.


PrevHomeNext
Building your web of trustUpProgramming with GnuPG
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x56.html gnupg-1.0.0/doc/gph/manual/x56.html --- gnupg-0.9.11/doc/gph/manual/x56.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x56.html Tue Sep 7 18:25:47 1999 @@ -0,0 +1,464 @@ +Exchanging keys
The GNU Privacy Handbook
PrevChapter 1. Getting StartedNext

Exchanging keys

To communicate with others you must exchange public keys. +To list the keys on your public keyring use the command-line +option --list-keys.

alice% gpg --list-keys
+/users/alice/.gnupg/pubring.gpg
+---------------------------------------
+pub  1024D/BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org>
+sub  1024g/78E9A8FA 1999-06-04

Exporting a public key

To send your public key to a correspondent you must first export it. +The command-line option --export +is used to do this. +It takes an additional argument identifying the public key to export. +As with the --gen-revoke option, either the key ID or any part of +the user ID may be used to identify the key to export.

alice% gpg --output alice.gpg --export alice@cyb.org

The key is exported in a binary format, but this can be inconvenient +when the key is to be sent though email or published on a web page. +GnuPG therefore supports a command-line option +--armor[1] +that that +causes output to be generated in an ASCII-armored format similar to +uuencoded documents. +In general, any output from GnuPG, e.g., keys, encrypted documents, and +signatures, can be ASCII-armored by adding the --armor option.

alice% gpg --armor --export alice@cyb.org
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v0.9.7 (GNU/Linux)
+Comment: For info see http://www.gnupg.org
+
+[...]
+-----END PGP PUBLIC KEY BLOCK-----

Importing a public key

A public key may be added to your public keyring with the +--import option.

alice% gpg --import blake.gpg
+gpg: key 9E98BC16: public key imported
+gpg: Total number processed: 1
+gpg:               imported: 1
+alice% gpg --list-keys
+/users/alice/.gnupg/pubring.gpg
+---------------------------------------
+pub  1024D/BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org>
+sub  1024g/78E9A8FA 1999-06-04
+
+pub  1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org>
+sub  1024g/5C8CBD41 1999-06-04

Once a key is imported it should be validated. +GnuPG uses a powerful and flexible trust model that does not require +you to personally validate each key you import. +Some keys may need to be personally validated, however. +A key is validated by verifying the key's fingerprint and then signing +the key to certify it as a valid key. +A key's fingerprint can be quickly viewed with the +--fingerprint +command-line option, but in order to certify the key you must edit it. + +
alice% gpg --edit-key blake@cyb.org
+
+pub  1024D/9E98BC16  created: 1999-06-04 expires: never      trust: -/q
+sub  1024g/5C8CBD41  created: 1999-06-04 expires: never     
+(1)  Blake (Executioner) <blake@cyb.org>
+
+Command> fpr
+pub  1024D/9E98BC16 1999-06-04 Blake (Executioner) <blake@cyb.org>
+             Fingerprint: 268F 448F CCD7 AF34 183E  52D8 9BDE 1A08 9E98 BC16
+ +Key verification is a weak point in public-key cryptography, so you +must be sure that the fingerprint is correct. +The fingerprint displayed should be checked with the key's owner. +This may be done in person or over the phone or through any other means +as long as you can guarantee that you are communicating with the key's +true owner. +Once verified you may sign the key to validate it.

Command> sign
+             
+pub  1024D/9E98BC16  created: 1999-06-04 expires: never      trust: -/q
+             Fingerprint: 268F 448F CCD7 AF34 183E  52D8 9BDE 1A08 9E98 BC16
+
+     Blake (Executioner) <blake@cyb.org>
+
+Are you really sure that you want to sign this key
+with your key: "Alice (Judge) <alice@cyb.org>"
+
+Really sign?

Once signed you can check the key to list the signatures on it and +see the signature that you have added. +Every user ID on the key will have one or more self-signatures as well +as a signature for each user that has validated the key.

Command> check
+uid  Blake (Executioner) <blake@cyb.org>
+sig!       9E98BC16 1999-06-04   [self-signature]
+sig!       BB7576AC 1999-06-04   Alice (Judge) <alice@cyb.org>

Notes

[1]

Many +command-line options that are frequently used can also be set in a +configuration file.


PrevHomeNext
Getting StartedUpEncrypting and decrypting documents
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual/x563.html gnupg-1.0.0/doc/gph/manual/x563.html --- gnupg-0.9.11/doc/gph/manual/x563.html Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual/x563.html Tue Sep 7 18:26:04 1999 @@ -0,0 +1,131 @@ +Writing extension modules
The GNU Privacy Handbook
PrevChapter 5. Programming with GnuPGNext


PrevHomeNext
Programming with GnuPGUpCommand Reference
\ No newline at end of file diff -urN gnupg-0.9.11/doc/gph/manual.sgml gnupg-1.0.0/doc/gph/manual.sgml --- gnupg-0.9.11/doc/gph/manual.sgml Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/manual.sgml Mon Sep 6 19:38:01 1999 @@ -0,0 +1,71 @@ + + + + +gpg"> + + + + + + + + + + + +]> + + +The GNU Privacy Handbook + +August 25, 1999 + + +1999 +Free Software Foundation + + + +Please direct questions, bug reports, or suggesstions concerning +this manual to the maintainer, Mike Ashley (jashley@acm.org). +Contributors to this manual also include Matthew Copeland and +Joergen Grahn. + + + +This manual may be redistributed under the terms of the +GNU General Public +License. + + +PLEASE NOTE, THAT THIS IS A DRAFT VERSION OF THE MANUAL AND NOT A COMPLETE +AND CORRECT MANUAL. CONSIDER IT AS WORK IN PROGRESS. The latest draft of +the manual should be available online; +www.gnupg.org has a link +to it. + + + + + + +&chapter1 +&chapter2 +&chapter3 +&chapter4 +&chapter5 +&chapter6 +&chapter7 + + diff -urN gnupg-0.9.11/doc/gph/signatures.fig gnupg-1.0.0/doc/gph/signatures.fig --- gnupg-0.9.11/doc/gph/signatures.fig Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/signatures.fig Thu Aug 26 03:25:10 1999 @@ -0,0 +1,44 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +6 600 300 9450 2625 +6 1500 300 9450 2625 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 1575 1050 2475 1950 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 3675 1950 4575 1050 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 5775 1050 6675 1050 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 7875 1050 8475 1050 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 3600 525 4500 1050 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 3675 1950 5100 2550 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 5175 1200 5625 2325 +4 0 0 100 0 14 18 0.0000 4 180 825 6825 1125 Elena\001 +4 0 0 100 0 14 18 0.0000 4 180 825 8625 1125 Geoff\001 +4 0 0 100 0 14 18 0.0000 4 180 825 4725 1125 Chloe\001 +4 0 0 100 0 14 18 0.0000 4 180 825 2625 525 Blake\001 +4 0 0 100 0 14 18 0.0000 4 180 990 2550 2025 Dharma\001 +4 0 0 100 0 14 18 0.0000 4 180 1155 5175 2625 Francis\001 +-6 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 90.00 180.00 + 1575 1050 2475 450 +4 0 0 100 0 14 18 0.0000 4 180 825 600 1125 Alice\001 +-6 diff -urN gnupg-0.9.11/doc/gph/signatures.jpg.asc gnupg-1.0.0/doc/gph/signatures.jpg.asc --- gnupg-0.9.11/doc/gph/signatures.jpg.asc Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.0/doc/gph/signatures.jpg.asc Tue Sep 7 18:04:41 1999 @@ -0,0 +1,232 @@ +-----BEGIN PGP ARMORED FILE----- +Version: GnuPG v0.9.11 (GNU/Linux) +Comment: For info see http://www.gnupg.org +Comment: Use "gpg --dearmor" for unpacking + +/9j/4AAQSkZJRgABAQEAUABQAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkS +Ew8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJ +CQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy +MjIyMjIyMjIyMjIyMjL/wAARCACxAogDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA +AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh +MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 +Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ +mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx +8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA +AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV +YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp +anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE +xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3 ++iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiub8Z+MrbwRpaan +f6bqV1Zl9kktlGjiEnG3fudSAScA8jPBwSM5+i/Emx1bxBa6LcaH4g0i7vEka1/t +Sx8lZig3MqnceQvPpx1yQCAdpRXH6V4y1G7+Id74U1HQPsHk2kl7b3X2xZftEIlE +atsC/Lu5OCcjGMV0Gp67o+ieV/a2q2Nh52fL+13CRb8YzjcRnGR09RQBoUVyfi7x +NfWfgO78Q+EhpuqmBDN5jT7ovKQnzGUqcOQFPG4dDySNpuaF4x0fW7XTF/tCxh1O ++tIrn+zvtaNMm+ISbdvDHCnOcDjmgDoKKy9S8S6Do1wtvqmt6bYzsgdY7q6SJiuS +MgMQcZBGfY1qUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF +FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF +FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF +FFABRRRQAVz/AIk8ceGvCPljXNXgtJJMFYcNJIQc4bYgLbflI3YxkYzmjxZ400Lw +Vpy3mtXflebuEEKKXkmZRkhVH4DJwoJGSMivnTxl4Z8X/EB5/Htr4TktLS6SDZbw +ytNPOu3YJQnUj5V6KvylSAw3PQB29/8AHy+1zVLPSfAnh2S5vLhwoOoDlj82VCI2 +AAMNvL4ADZAAzXsmh2+o2mh2UGr3v23UliX7TOAoDyHltoVVG0HIHAOAM85Ncn8M +/hnY+ANLLuY7nWrhALq7A4A6+XHnkID36sRk9AF7ygDzf41zXlx4EuNDsNF1XUbr +Utux7G1MyReXLG58wjlcjOODnBrj/B2j6jL8XNI1a1s/GUlnFaTR3lx4qtlLxLtb +b5Up9WYDaoDD5uSrNj3iigDxf/hMLz/haf8AwlH/AAg/jL7D/Yn9n+X/AGSfM8zz +/MzjdjbjvnOe1SfFZtc1PWdHNrpF3Popsmljnh8ORalOJmYZR45sGIbQh6Kc5BBx +8vslFAHgfhNtS0n4UeNtKufDfiD7Xe3E4tUXRmiM32iLYpEacIF2EsB8qgqASSBR +4A0G58I+ILCDxD4Ru9bfUreyuLbVhYPLJpr4VRDJv4iEeOqkEBVyDwE98ooA+ZNZ +8JeKbbVNYg16DWdQnvLiVhfWvhi21EzxH5FcSl90JwvEYI2DGMZr2/4aWs1j8PNI +tJ21IvCkiD+0rcwThRIwUNGWbaAuAoyflA6dB1lFAGXrniPSPDVvbXGs30dnBcXC +20ckgO3zGBIBIGFGFJ3HAGOSK0IJ4bq3iuLeWOaCVA8ckbBldSMggjggjnNU9Z0P +S/EOnPYavYQXtq2TsmTO0kEblPVWwThhgjPBryufwV43+G1vLd+BdZk1bSYULtou +oqZGAA/5Z7cZO5nchPLJwB854oA9korh/B3xS0Lxdef2UVn0zXU3LLpt4hVwyAbw +p6Ng7hg4b5WJUAV3FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVz/izx +poXgrTlvNau/K83cIIUUvJMyjJCqPwGThQSMkZFAHQV5P4i+LFxq2oyeGvhxZ/2z +q7xSFr1SBDalTgsC4Cv3wxITJTBfO2stNN8afGZEm1dpPDfg6ZIporOMrJLd4bOS +2AcHkgsNv+rIRvvV6xoHhzSPC2lrpui2MdpaBy+xSWLMepZmJLHoMkngAdAKAOL8 +J/Ce307WG8S+Kbz+3fEskq3H2iQERwOFxhFzhsHoSBgKm1UxXpFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFAHJ+M/hz4c8dIjavbSLdxJsivLd9kqLuBxnBDDrwwON +zYwTmuHGpeP/AIWXDrrC3fi/wuqKft0Y/wBItuS0jMCWYgAN94lcbPnTla9kooAw +/C/i7RfGOlpf6PexzAorSwFgJYCcjbImcqcq3scZBI5rcrzPxR8G9IvnfVfC0knh +3Xo0YwTWMhhiLbQuGVfuAqCMpj7xJDdDn2fxQ1rwdqkGi/EzTo7QSI/kazaAvFOE +wMlFBOSQScYI3plFBzQB65RXPt458LLqOmWA16xkuNT3fYxFKHWXBK/eXKjLAqMk +ZYEDJGK6CgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAqnqt+2maXcXyWN3fGBN/2e0VWlcd9oYgE45xnJxgZOAblcf8AE7Vd +Y0vwNe/2BYX15qd1/osP2KF5Hh3A7pPkIZcKGww6MVoAj8D/ABP0Hx9cXlvpcd3B +PaortHdhFZ1JIyoV2JAIAJ7bl9aku/GWo2PxH07wxc6BssdS837JqX2xT5nlw+Y/ +7oLkYJ28kZ6ivLLHTPEfw88S+FdYtLfWdetH0z7Pc2dtoP2d7W1Y71Rtu5TLvZnI +yGymGbDZro/FfiW8k+Jnh3UYfB3iua10CW+iuJItMLCbzEEatEQcMuRnJxwRQB6Z +4h1y28PaNPf3E1ojqjCCO6ukt1nl2krGHc4BbHXtye1WNJvW1LRrG/eKOJ7m3jma +OOZZlUsoOA68OBn7w4PUVwfxB1q31fwCsR8H65qU2p2k5tov7JLvYzhCqtKrcxsC +5wwBzhiCRgk8J6pf618PG8MW+k65omr2uiLaxXOoWclvGZRF5e5JBnGGwezYOQDg +4AOsn8aeFbW4lt7jxLo0M8TlJI5L+JWRgcEEFsgg8Yq5qeu6Ponlf2tqtjYedny/ +tdwkW/GM43EZxkdPUV4fYabo48IW3hnUPhLrjazFshluILJAk8ySA5N4eVjcj5mH +CqxCnABpnjbw34ph8eavqF/FqWo2d26iwmt/DttqoWJRny9jtmEKX25wPMIZjzQB +7/BPDdW8VxbyxzQSoHjkjYMrqRkEEcEEc5qSvO/gxpk2j+CprKX+2Qkd7IYk1axN +o6KVQ4RN7/JuLHIIyS3Hc7nxC8LXHjPwXfaJa332Oaba6sygpIVIYI/BIUkDleRg +HkZUgHH+IvixcatqMnhr4cWf9s6u8Uha9UgQ2pU4LAuAr98MSEyUwXztrQ8J/Ce3 +07WG8S+Kbz+3fEskq3H2iQERwOFxhFzhsHoSBgKm1UxWX8G/EVjptvJ4C1DS49E8 +Q2DsZID/AMvhxkyAknc+3BIyQVAK/LwvrlABRRRQAUUUUAFFFFABRRRQAUUUUAFF +FFABRRRQAUUUUAFFFFABVe+sLPU7OSzv7SC7tZMb4Z4xIjYIIyp4OCAfwqxRQB8c +eMPh54p0u8uNRfwdPpmmvvkSG1lN2lvGgGd8gZiOOSzYB5wABger/B74w/2r9n8M ++Jrn/iYcR2V9I3/Hz6RyH/np6N/F0Pzff9wrj/H9h4G/sd9R8aWlj9n+SAXMsZ87 +725URk/edcnC9t2eM0AdhRXl/gXx1qnjrxGBotlPZeEdNiCvc3i+ZPdS7MCIuXOM +bg5I3N8g3MPMxXqFAHn9/wDFjTv9JXw9oeueJPJ3x/aNMsmktvOGf3Zl/wC+TuUM +MMCM1n3/AMVrhYPCev2OnQJ4V1i7NpdXN9MI5oH3sgJAJVVGxnzlsgEHZwTn+Dtc +134caDB4V1rwVrl59i3mC90eIXcdwrSyMScbdnUYBO4jkheMx+Pr6bVPD/hC2XwR +rPkQ6nDfzabDpxmWKzjLosbhRsDshB8r+HkNjjIB6xpurabrNu1xpeoWl9ArlGkt +ZllUNgHBKkjOCDj3Fc34N8Zaj4j1jW9J1bQP7GvtJ8jzIvti3G7zVZhyqgDgA8E9 +e2K5PwncL4a+IfjloPCWs2mmzpG1kttpTLFKbaNw6ptG3LnJToGz1BIBr+G/FlzZ +fEPxPrF14N8XRWetPZLC50hyYRFGUdpACTjJz8u44HTPFAHqmp67o+ieV/a2q2Nh +52fL+13CRb8YzjcRnGR09RVj7fZ/2d/aP2uD7D5Xn/afMHl+Xjdv3dNuOc9MV5P4 +j07+yfihqes+IPBl94p0y/tIo9Pe0tvtv2PYAHjMTfKu5stu+uM7nxzk/gnxoPhl +ZpaW93aWJ1iTUG0JQt08FmQrorJKR5hRkY+TzvMgLAMCAAe56Zruj635v9k6rY3/ +AJOPM+yXCS7M5xnaTjOD19DWhXz/APDvRL23+Jmm6lJbeI7X91LDIH8Lx6bbOmxy +BI0Um372CMqckKOwx9AUAFFZ+t6V/bejz6d9vvrDztv+k2E3lTJhg3ytg4zjB9ia +4/8A4VZ/1Pvjn/wcf/YUAegUV5//AMKs/wCp98c/+Dj/AOwo/wCFWf8AU++Of/Bx +/wDYUAegUV5//wAKs/6n3xz/AODj/wCwo/4VZ/1Pvjn/AMHH/wBhQBqJ8TfBbazd +6S/iC0t7y0d0mW63QKrI21gHcBSc9gTnkjgV1EE8N1bxXFvLHNBKgeOSNgyupGQQ +RwQRzmvli6+CfjTVvFWofZ7WQWD3twI9R1O5XdIquwDuBlyWxnOzncD0Oa7fwl8A +dS0a4ivbvxhd2M7IyXEejFomK54AmJBxkISCnbHoaAPdK5vxn4ytvBGlpqd/pupX +VmX2SS2UaOIScbd+51IBJwDyM8HBIzsaVYNpml29i99d3xgTZ9ou2VpXHbcVABOO +M4ycZOTkng/jXNeXHgS40Ow0XVdRutS27HsbUzJF5csbnzCOVyM44OcGgC5ofxV0 +3XPEFhow0LxBYT3zzJBJf2ixRs0IYyDO8nKlSpABweDirmleMtRu/iHe+FNR0D7B +5NpJe2919sWX7RCJRGrbAvy7uTgnIxjFcH8OJtS0fxPa6XaeH/ED2d9e3t1eapr2 +lNFPErxoVQShyCWaEb2IG47eAak/4TC8/wCFp/8ACUf8IP4y+w/2J/Z/l/2SfM8z +z/MzjdjbjvnOe1AHrmpatpujW63GqahaWMDOEWS6mWJS2CcAsQM4BOPY1H/buj/2 +P/a/9q2P9mf8/v2hPJ+9t+/nb97jr14rxv4l6J4kv/GMOuompX2gy2SLaRRaFDft +au2CyG2mYFSdm4yFQRkIelUPD+lzaX8PvHFpNpHie9Opoot7G48PG3UXDiTDxRI7 +qApCMSAoXYgGTtFAHt+m+JdB1m4a30vW9Nvp1Qu0drdJKwXIGSFJOMkDPuKjvvFn +hvTLySzv/EGlWl1HjfDPexxuuQCMqTkZBB/GvH9Esv7P8R/DK6tPBGq2cltaSRap +PHpXlkyOn2cNKw9GVnJbkI4bqSKyPHlh4n1PxH4k+1aDfGR5ZIrQ2XhSC7SaEIFi +Y3RPmKxGMkZKdsEbQAfR9Fc38P3mb4faAlxZXdlPBZR28kF3EY5FaMeWSVPIBK5H +qCDXSUAFFcfrfgD+29Yn1H/hLfFdh523/RrDUvKhTChflXacZxk+5NZ//CrP+p98 +c/8Ag4/+woA9Ark0+JvgttZu9JfxBaW95aO6TLdboFVkbawDuApOewJzyRwKy/8A +hVn/AFPvjn/wcf8A2FeKXXwT8aat4q1D7PayCwe9uBHqOp3K7pFV2AdwMuS2M52c +7gehzQB9TwTw3VvFcW8sc0EqB45I2DK6kZBBHBBHOakrwvwl8AdS0a4ivbvxhd2M +7IyXEejFomK54AmJBxkISCnbHoa9o0qwbTNLt7F767vjAmz7RdsrSuO24qACccZx +k4ycnJIBl+K/GOl+D7O3lv8Az57i6lENrZWieZPcOSBhEyM4yM89wOpAOHpHxPh1 +PxZZaDceGfEGlvfoxtZtRtRCJGRWeQYJ6BQuCM5LcgYBJ48sNXi8T+FfFOm6ZJqc +Givdfa7WBwJzHLGFLRqeHICn5Qck7QOpI5PTtV+IfiTxp9msr7xHpekT/aZXfUfD +9vbizXB8lVZt3m4YqCOGIBPqVAPVJvEug22qDS59b02LUC6oLR7pFlLNjaNhOcnI +wMc5FWNS1bTdGt1uNU1C0sYGcIsl1MsSlsE4BYgZwCcexr5gn8H+IVsJdM17TPEB +vHcvcy2nha3vmZmffkXgkDuTkZOeMlegr0PXNKvLfWPCGv614d1XxTo0OiJaSWrQ +GW5guiu4zS2zEgswwrZJwRycqmQD1yHVtNudLOqQahaS6eEZzdpMrRBVzuO8HGBg +5OeMGvN/DnxfvPFOs2drpvhu0NpdXBRHk123W4WIMQ0ht/v5CgttGeBwSOar+DdK +Wx0vxjrGo+E7u28N6hcRzWXh17Vp5SUyGb7NghS7bCB0XaOQiq1U/hAlnplno2lX +/gHVbTXY/P36xPo4jRcmRhmY/MMoQnTvjpQB0njP4pxeGfEqaDYafaaheLb/AGi4 +NxqsNkkIJAVd0nBcj5tvBwVIyCcdh4c1O71nw/Z6je2MdjPcIX8iO6S5ULk7SJE+ +Vgy4bI9a8j1yPS7b4v3upS/DrVdU0kae1tJ5Gg+Yk12Zt7TAMAG4JXf1PbIIJ9k0 +l4ZNGsXt7KSxga3jMdpJEImgXaMIUHClRxjtjFAFyiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooA4f4ifDu38a2cV3aTfYPENjh7G/QlSpB3BGI5255BHKnkd +w2f8O/iJcaveS+FPFcP2DxZY5SSNwFF2AM71xxuxyQOCPmX5chfSK4f4ifDu38a2 +cV3aTfYPENjh7G/QlSpB3BGI5255BHKnkdwwB3FFeb/Dv4iXGr3kvhTxXD9g8WWO +UkjcBRdgDO9ccbsckDgj5l+XIX0igAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiio554bW3luLiWOGCJC8kkjBVRQMkkngADnNAEd/N9n065n+0wWvlxO +/n3AzHFgE7nGV+UdTyOB1HWviTUrvWvF3ipYrjUZNY1C5uBbQSs5CyFnO0JvC7EL +NkDCgZ6Cvc76+1T4465JpWlST2HgWxlAu7wLte9cYIVQfwIU/d4dhnYg9csPDei6 +Xb6dBZ6XaRJpqMlmfKBaAMMNtY8gt/Ec5bvmgCn4L8J2fgrwva6LZv5vlZeacoEa +aRjlmIH4AZyQoUZOM10FFFABRRRQAVy/j/xZceCfC765BpX9pRwyok6faBD5aMcB +8kHPzFRgD+LPQGuoqnq2mw6zo19pdw0iwXtvJbyNGQGCupUkZBGcH0NAElhfW+p6 +dbX9nJ5lrdRJNC+0jcjAFTg8jII61Yryv4H6lNDomreD7tYzd+G72S3aSEHY6s7n +IJOSd6ydhxt75r1SgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKAOH+Inw7t/GtnFd2k32DxDY4exv0JUqQdwRiO +dueQRyp5HcNn/Dv4iXGr3kvhTxXD9g8WWOUkjcBRdgDO9ccbsckDgj5l+XIX0iuH ++Inw7t/GtnFd2k32DxDY4exv0JUqQdwRiOdueQRyp5HcMAdxRXm/w7+Ilxq95L4U +8Vw/YPFljlJI3AUXYAzvXHG7HJA4I+ZflyF9IoAKKKKACiiigAooooAKKKKACiii +gAooooAKKKjnnhtbeW4uJY4YIkLySSMFVFAySSeAAOc0AE88Nrby3FxLHDBEheSS +RgqooGSSTwABzmvE76+1T4465JpWlST2HgWxlAu7wLte9cYIVQfwIU/d4dhnYgL6 ++1T4465JpWlST2HgWxlAu7wLte9cYIVQfwIU/d4dhnYg9k0rSrHQ9Lt9M0y2jtrO +3TZFEnRR/MknJJPJJJOSaADStKsdD0u30zTLaO2s7dNkUSdFH8ySckk8kkk5Jq5R +RQAUUUUAFFFFABRRRQB4/wCLv+KI+NuieLW/caRrMX9n6jMOQJMYUuz/ACxrxCcg +g4ic4659gri/ir4XXxZ8PtRtFjke7tkN5aCNGdjLGCQoUEbiylk7/ezgkCrHw28U +N4v8B6bqs8kbXmww3e11J81DtJYAAKWAD7cDAcdsGgDrKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA4f4i +fDu38a2cV3aTfYPENjh7G/QlSpB3BGI5255BHKnkdw2f8O/iJcaveS+FPFcP2DxZ +Y5SSNwFF2AM71xxuxyQOCPmX5chfSK8H/aH0XVNR+wXtl4b8+1tIi0+qw/PIo+Ym +NlU5EahSxZgQC3BXncAe4WN/Z6nZx3lhdwXdrJnZNBIJEbBIOGHBwQR+FWK+aPgD +46TR9Yk8K3xxa6nL5lrIWVVjn24IOcE7wqqOT8yqAPmJH0vQAUUVX+32f9o/2d9r +g+3eV5/2bzB5nl5279vXbnjPTNAFiiiigAooooAKKKKACiio554bW3luLiWOGCJC +8kkjBVRQMkkngADnNABPPDa28txcSxwwRIXkkkYKqKBkkk8AAc5rxO+vtU+OOuSa +VpUk9h4FsZQLu8C7XvXGCFUH8CFP3eHYZ2IC+vtU+OOuSaVpUk9h4FsZQLu8C7Xv +XGCFUH8CFP3eHYZ2IPZNK0qx0PS7fTNMto7azt02RRJ0UfzJJySTySSTkmgA0rSr +HQ9Lt9M0y2jtrO3TZFEnRR/MknJJPJJJOSauUUUAFFFFABRRRQAUUUUAFFFFABXj +/gr/AIoX4w6/4Qn+Sx1r/iZaWqfLGv3iyLGuQvAZcnbkQDjlQPYK8n+NtjcaXZ6P +460mPbqeh3aCSQMFDQOcbXxhmXeVXaD0lfjkkAHrFFV7C+t9T062v7OTzLW6iSaF +9pG5GAKnB5GQR1qxQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR +QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR +QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5X4z+CWkaw6al4YaPw/rEL+aj26lYn +ZVGz5VI8shlU7kHGWJDEjHcaXbavf+DlsdekktdUe3e2ubizmG4sMp50bBQFLACQ +cDbuAxxW5Ve/tft2nXNn9ont/PieLzrd9kke4EbkbswzkHsaAPC/D+ja1ffB/wD4 +TZPHHiePVre3uLxY5L4y25MEj/KY26grHjkkZPII4NzXEv7/AMY/DXxPoVnpUHib +WdPmlne5EiwSEWyH5gpLcK7gHr90EkAY6SD4JaLDYRaY/iHxPPpKOGbTZNQAt3Af +ftKKg4Lc8YOeQQea3L/4d2F/4o0rXf7V1W2bSdgsbK1ljitoEUAFFQJnawGG55HG +cAAAGfonjq/ufA3iTUtaOlWGpaJd3VjJNuk+yNLGBtbH39pZlXAyx7ckKOb8FfFz +VNd8b6doV3ceH9QgvkmHmaXFdRNAyIXBbz1AYEKRgfXIxg9JZfCPR7XR9a0mbWNc +vbHWPnuoru5Rv324MJgQgIkyAckkNgbg2BgtvhPZwa5purzeKvFd7dadL5tv9r1A +SAZxuXlM7WAwwBGRxQBl6r4t+I1t4/uPC2naV4fvHlt/tlpLvkQQW5n2B5ssNxCg +5VBnLAjOCpk1nxJ8R9M1zw1oaR+FGv8AV4rjc5W4MSyRbnODnIUxmPHBO7d0GK0L +/wCE9nfeIbnXP+Eq8V299PvXfb6gE8uNnL+Uh2ZEYJ4XOBWpqfgK21bxLomvXWta +z9s0hFWERzoiSEHLs6hMZcfK+3aCABgCgDg/Cvxe1vUrG+l1xNDslbRJdUsrkeas +cZSZoAsq5YtucDAQ5xgDJbAk8FfFzVNd8b6doV3ceH9QgvkmHmaXFdRNAyIXBbz1 +AYEKRgfXIxg6i/Arw35EdvLquuS28Vo9msRuI0Xy2dpADsjBbEjeYNxI3BcggYrQ +tvhPZwa5purzeKvFd7dadL5tv9r1ASAZxuXlM7WAwwBGRxQB6BXz/wDEfxV/wlHx +FHgXWtT/AOEc8O2sqfapHOXvGO1lyVyqqdwI3EKv3m5AQfQFZ+s6HpfiHTnsNXsI +L21bJ2TJnaSCNynqrYJwwwRng0AGh2Ol6dodla6JHBHpiRKbYQNuQoeQwbndnOd2 +TnOcnNaFeT3Pwj1Tw9uufh74rvtKk815fsF5J5toxbC9MHGFzyyuTheQRmo4Pit4 +j8L3EUHxH8KyadBO4Eeo2A8yBNxwFYBmGQFkY4YtgDCd6APXKKx/D3irQvFdmbrQ +9TgvY1++EJDx5JA3IcMudpxkDOMjitigAooooAKKKKACiiigAooooAKp6tpsOs6N +faXcNIsF7byW8jRkBgrqVJGQRnB9DVyigDyv4H6lNDomreD7tYzd+G72S3aSEHY6 +s7nIJOSd6ydhxt75r1SvF/G99b/D3426N4rnk8jTNYtHtdQMamR2KADcVPRRm3Py +c/u24Ofm9Y0TW9O8R6PBq2k3H2ixn3eXLsZN21ip4YAjkEcigDQooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooA871v4N+HL6//ALU0WS78Oaoi +OI7jSpPKUMU2glBwAB1CFN25snnNYf8AaHxa8C/ubrToPGGkQdLmAlbtk+4ikD5i +wwrMdkn3jlz1HsFFAHD+GPi34O8VSw21rqf2W+m4W0vV8pyd20KDyjMSRhVYk56c +HHcVzfivwH4c8Z25TWdOjknCbY7uP5J4+GxhxyQCxO05XPJBrh5vBfj/AMDuJ/BP +iCTWtPRFQaPrD7iqqoVQjEgADczYUx8Ko+bpQB65RXlem/Gi00+4bS/HmlXfhzVI +kJZmieSCbBC7k2gtgsHxgMuF++a9Msb+z1OzjvLC7gu7WTOyaCQSI2CQcMODggj8 +KALFFFFABRRRQAUUUUAfP/7QPgD/AJnTTo/7sephpf8AdSJ1U/gpwf7px941ufs3 +zwt4F1O3WWMzpqbO8YYblVoowpI6gEqwB77T6V7BPBDdW8tvcRRzQSoUkjkUMrqR +ggg8EEcYrzf4deCz4E8a+KbCJJDp9+kF1YusMmxIw0oMTOcjeu5RgsSwIb1AAPTK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAr +31hZ6nZyWd/aQXdrJjfDPGJEbBBGVPBwQD+FeZ3nwaXSXnvvAniDUvD94zpILfz2 +ktZCinarg/MQW5JYuACw2kHFeqUUAeP/APCxPHPgj/kffDH2nTE/d/2rpWG+78u9 +1ztG9imM+V1OAfuiSP8AaC8LnxZNp0qSLo4TMWrLvYM20HDRbA6jO5cjPIHGDkeu +V88az+zjrEu+6s/FMF/fTSl5jfQPFuzksxcM5LZx1HOSc+oB9BwTw3VvFcW8sc0E +qB45I2DK6kZBBHBBHOakrw/wj4S+KPw22/ZvsPiHTGzG2lR37J5edzB0aVVVPmPO +M7t3I6MvsF9Zf25oclrM99p7XMQyYJ/KngY4PDoSAwPoSpxjkHkA0KK+YPAq+JPG +9wNLi8WeK7O/fTxeLdT6jIIDtuvLkKJ1kXyyMfMv7xGBODx6n408W+OtA8Z2OlaP +pWjalb6qkw0+Eu6T7o4gzGRmYIAGbOB1UYyCc0AemUVwer+I/EvhbwHe6l4kvvDF +pqwuFS1dRcNaspK8MoBkZ8eYcKDwAegNY/w2+J2oeLfFV3ot7Jo12iWX2uO60tLi +NVIcIUZZgCT8wORgDHfPAB6pRXibfEn4g2Wia1r15Z+GJdP0PUzp97DD9oSWVldE +byySQAd4wT7/AC9j2ninxT4gj8W2XhTwpY2MupyWhv7i51JmEEUAYoOEO4sXAHHT +I4OSVAO4org9Kv8A4lXNv4gtb2x8Pw6haPAmn3AWcWs5YBpc5O8hVIAIAG7I5wcS +fCC4iu/hbo08NlBZRt5+IIC5RMTyDguzNz15J6+nFAHcUV4f4q+LnivRvEOo2EVr +odj5V2YLK01OG5Sa5j37BMJPlhEbHccllAAPJxk+4UAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVn63pX9t6PPp32++sPO2/6TYTe +VMmGDfK2DjOMH2JrQooA5PwZ4CtvA6PBp+tazc2bJtWzvZ0kijO4tuQBAVOS2cHB +zyCQCKfiH4ZWfiPxGNcm8R+I7S6j/wCPdLO+EaW2UCN5QKEpuA+bB5ya7iigDl9V +8D2et+F7LRNR1TVZmsZY57fUftAW7SRCdr7woBYAkZKk9/vfNWXpfwuttK8QLrie +KfE9xqCW72yy3d6k3yMDwd0fIVjvAORuAJBrvKKAPN/+FM6O2h6hpEniDxHJa6hd +peXO+8QmSRd2SfkwdxYFsgklEOflrY1r4c6XrkWkyS3+q22p6ZEIYdWtbnZeOm0q +Q8mDuzkk8dScY3MD2FFAHDp8M7ePTprdfFPisXU0sbyah/aZ+0siBwsW7bjywZHb +GOp68CpPCXw4tvBlxE2neIfEEtpGjILC6uke3wxycJsG07ucrg5z2JB7SigDzf8A +4UtoXkfYf7b8R/2N5vmf2R/aJ+ybd+/Zt2525993fOea9IoooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooA//2Q== +=ao7I +-----END PGP ARMORED FILE----- diff -urN gnupg-0.9.11/g10/ChangeLog gnupg-1.0.0/g10/ChangeLog --- gnupg-0.9.11/g10/ChangeLog Fri Sep 3 10:04:48 1999 +++ gnupg-1.0.0/g10/ChangeLog Tue Sep 7 06:22:09 1999 @@ -1,5 +1,9 @@ -Fri Sep 3 10:04:45 CEST 1999 Werner Koch +Mon Sep 6 19:59:08 CEST 1999 Werner Koch + + * tdbio.c (tdbio_set_dbname): Use mkdir macro + * ringedit.c (add_keyblock_resource): Ditto. +Fri Sep 3 10:04:45 CEST 1999 Werner Koch * pkclist.c (build_pk_list): Skip keys set with --encrypt-to also when asking for a key. @@ -9,10 +13,8 @@ * mainproc.c (check_sig_and_print): print user ID as utf-8. - Thu Sep 2 16:40:55 CEST 1999 Werner Koch - * import.c (merge_blocks): First add new subkeys, then merge subkey certificates. (merge_sigs): Don't merge subkey signatures here. @@ -35,7 +37,6 @@ Mon Aug 30 20:38:33 CEST 1999 Werner Koch - * import.c (chk_self_sigs): some s/log_error/log_info/ so that gpg does not return an error if a key has some invalid packets. @@ -50,7 +51,6 @@ * signal.c (signal_name): Bounds check on signum. Wed Aug 4 10:34:18 CEST 1999 Werner Koch - * pubring.asc: Updated. diff -urN gnupg-0.9.11/g10/OPTIONS gnupg-1.0.0/g10/OPTIONS --- gnupg-0.9.11/g10/OPTIONS Tue Jul 13 10:38:01 1999 +++ gnupg-1.0.0/g10/OPTIONS Sun Sep 5 20:59:33 1999 @@ -1,34 +1,11 @@ -# This is a sample option file -# -# Unless you you specify which option file to use with the -# commandline option "--options filename", gpg uses the -# file ~/.gnupg/options by default. -# -# An option file can contain all long options which are -# available in GNUPG. If the first non white space character of -# a line is a '#', this line is ignored. Empty lines are also -# ignored. -# -# Here is a list of all possible options. Not of all them make -# sense in an option file; consider this as a complete option -# reference. Before the options you find a list of commands. +# Some notes used by the maintainers -#----------------------------------------------- -#------------------- Commands ------------------ -#----------------------------------------------- -# With some exceptions, these cannot be combined - store # simply packs the input data into a rfc1991 packet format check-trustdb - - -#----------------------------------------------- -#--- options -#----------------------------------------------- compress-keys # compress exported key, compress level is still set with "-z" and diff -urN gnupg-0.9.11/g10/helptext.c gnupg-1.0.0/g10/helptext.c --- gnupg-0.9.11/g10/helptext.c Wed Sep 1 15:19:58 1999 +++ gnupg-1.0.0/g10/helptext.c Fri Sep 3 21:08:59 1999 @@ -182,7 +182,7 @@ { "keyedit.delsig.unknown", N_( "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" - "know which key was used because this signing key might establish" + "know which key was used because this signing key might establish\n" "a trust connection through another already certified key." )}, { "keyedit.delsig.invalid", N_( diff -urN gnupg-0.9.11/g10/keyedit.c gnupg-1.0.0/g10/keyedit.c --- gnupg-0.9.11/g10/keyedit.c Wed Sep 1 15:25:42 1999 +++ gnupg-1.0.0/g10/keyedit.c Sun Sep 5 09:23:44 1999 @@ -1737,7 +1737,7 @@ int rc, any; /* FIXME: detect duplicates here */ - tty_printf("You have signed these user IDs:\n"); + tty_printf(_("You have signed these user IDs:\n")); for( node = keyblock; node; node = node->next ) { node->flag &= ~(NODFLG_SELSIG | NODFLG_MARK_A); if( node->pkt->pkttype == PKT_USER_ID ) { @@ -1751,12 +1751,12 @@ && ((sig = node->pkt->pkt.signature), !seckey_available( sig->keyid ) ) ) { if( (sig->sig_class&~3) == 0x10 ) { - tty_printf(" signed by %08lX at %s\n", + tty_printf(_(" signed by %08lX at %s\n"), sig->keyid[1], datestr_from_sig(sig) ); node->flag |= NODFLG_SELSIG; } else if( sig->sig_class == 0x30 ) { - tty_printf(" revoked by %08lX at %s\n", + tty_printf(_(" revoked by %08lX at %s\n"), sig->keyid[1], datestr_from_sig(sig) ); } } @@ -1776,7 +1776,7 @@ continue; if( !any ) { any = 1; - tty_printf("You are about to revoke these signatures:\n"); + tty_printf(_("You are about to revoke these signatures:\n")); } if( node->pkt->pkttype == PKT_USER_ID ) { PKT_user_id *uid = node->pkt->pkt.user_id; @@ -1786,7 +1786,7 @@ } else if( node->pkt->pkttype == PKT_SIGNATURE ) { sig = node->pkt->pkt.signature; - tty_printf(" signed by %08lX at %s\n", + tty_printf(_(" signed by %08lX at %s\n"), sig->keyid[1], datestr_from_sig(sig) ); } } diff -urN gnupg-0.9.11/g10/ringedit.c gnupg-1.0.0/g10/ringedit.c --- gnupg-0.9.11/g10/ringedit.c Thu Jul 22 18:06:47 1999 +++ gnupg-1.0.0/g10/ringedit.c Fri Sep 3 21:18:08 1999 @@ -63,6 +63,12 @@ #include "i18n.h" +#ifdef MKDIR_TAKES_ONE_ARG +# undef mkdir +# define mkdir(a,b) mkdir(a) +#endif + + struct resource_table_struct { int used; int secret; /* this is a secret keyring */ @@ -287,11 +293,7 @@ if( access(filename, F_OK) ) { if( strlen(filename) >= 7 && !strcmp(filename+strlen(filename)-7, "/.gnupg") ) { - #ifdef HAVE_DOSISH_SYSTEM - if( mkdir(filename) ) - #else if( mkdir(filename, S_IRUSR|S_IWUSR|S_IXUSR) ) - #endif { log_error( _("%s: can't create directory: %s\n"), filename, strerror(errno)); diff -urN gnupg-0.9.11/g10/tdbio.c gnupg-1.0.0/g10/tdbio.c --- gnupg-0.9.11/g10/tdbio.c Fri Jul 2 16:19:05 1999 +++ gnupg-1.0.0/g10/tdbio.c Fri Sep 3 21:18:05 1999 @@ -40,6 +40,11 @@ #include "tdbio.h" +#ifdef MKDIR_TAKES_ONE_ARG +# undef mkdir +# define mkdir(a,b) mkdir(a) +#endif + /**************** * Yes, this is a very simple implementation. We should really * use a page aligned buffer and read complete pages. @@ -436,11 +441,7 @@ if( access( fname, F_OK ) ) { if( strlen(fname) >= 7 && !strcmp(fname+strlen(fname)-7, "/.gnupg" ) ) { - #if HAVE_DOSISH_SYSTEM - if( mkdir( fname ) ) - #else if( mkdir( fname, S_IRUSR|S_IWUSR|S_IXUSR ) ) - #endif log_fatal( _("%s: can't create directory: %s\n"), fname, strerror(errno) ); else if( !opt.quiet ) diff -urN gnupg-0.9.11/po/ChangeLog gnupg-1.0.0/po/ChangeLog --- gnupg-0.9.11/po/ChangeLog Wed Sep 1 15:30:48 1999 +++ gnupg-1.0.0/po/ChangeLog Tue Sep 7 16:23:36 1999 @@ -1,10 +1,24 @@ -Wed Sep 1 15:30:44 CEST 1999 Werner Koch +Tue Sep 7 16:23:36 CEST 1999 Werner Koch + + + * pl.po: Updated. + +Mon Sep 6 19:59:08 CEST 1999 Werner Koch + + * fr.po: Imported and fixed a msgid. + * de.po: Ditto. + * pt_BR.po: Ditto. + + * POTFILES.in (delkey.c): New. + + * fr.po: Gaël was the first to update it again. + +Wed Sep 1 15:30:44 CEST 1999 Werner Koch * de.po: Updated. Mon Aug 30 20:38:33 CEST 1999 Werner Koch - * it.po: Updated (Marco). * de.po: Updated (Walter). diff -urN gnupg-0.9.11/po/POTFILES.in gnupg-1.0.0/po/POTFILES.in --- gnupg-0.9.11/po/POTFILES.in Sun Jan 17 09:32:32 1999 +++ gnupg-1.0.0/po/POTFILES.in Sun Sep 5 19:19:37 1999 @@ -46,6 +46,7 @@ g10/openfile.c g10/encr-data.c g10/seskey.c +g10/delkey.c g10/helptext.c #---end-- diff -urN gnupg-0.9.11/po/cat-id-tbl.c gnupg-1.0.0/po/cat-id-tbl.c --- gnupg-0.9.11/po/cat-id-tbl.c Fri Sep 3 08:52:34 1999 +++ gnupg-1.0.0/po/cat-id-tbl.c Sun Sep 5 19:21:43 1999 @@ -605,189 +605,198 @@ \"\n\ signed with your key %08lX at %s\n", 490}, {"Create a revocation certificate for this signature? (y/N)", 491}, - {"Really create the revocation certificates? (y/N)", 492}, - {"no secret key\n", 493}, - {"public key is %08lX\n", 494}, - {"public key encrypted data: good DEK\n", 495}, - {"encrypted with %u-bit %s key, ID %08lX, created %s\n", 496}, - {"encrypted with %s key, ID %08lX\n", 497}, - {"no secret key for decryption available\n", 498}, - {"public key decryption failed: %s\n", 499}, - {"decryption okay\n", 500}, - {"WARNING: encrypted message has been manipulated!\n", 501}, - {"decryption failed: %s\n", 502}, - {"NOTE: sender requested \"for-your-eyes-only\"\n", 503}, - {"original file name='%.*s'\n", 504}, - {"WARNING: invalid notation data found\n", 505}, - {"Notation: ", 506}, - {"Policy: ", 507}, - {"signature verification suppressed\n", 508}, - {"Signature made %.*s using %s key ID %08lX\n", 509}, - {"BAD signature from \"", 510}, - {"Good signature from \"", 511}, - {" aka \"", 512}, - {"Can't check signature: %s\n", 513}, - {"old style (PGP 2.x) signature\n", 514}, - {"invalid root packet detected in proc_tree()\n", 515}, - {"can't disable core dumps: %s\n", 516}, - {"WARNING: program may create a core file!\n", 517}, - {"Experimental algorithms should not be used!\n", 518}, + {"You have signed these user IDs:\n", 492}, + {" signed by %08lX at %s\n", 493}, + {" revoked by %08lX at %s\n", 494}, + {"You are about to revoke these signatures:\n", 495}, + {"Really create the revocation certificates? (y/N)", 496}, + {"no secret key\n", 497}, + {"public key is %08lX\n", 498}, + {"public key encrypted data: good DEK\n", 499}, + {"encrypted with %u-bit %s key, ID %08lX, created %s\n", 500}, + {"encrypted with %s key, ID %08lX\n", 501}, + {"no secret key for decryption available\n", 502}, + {"public key decryption failed: %s\n", 503}, + {"decryption okay\n", 504}, + {"WARNING: encrypted message has been manipulated!\n", 505}, + {"decryption failed: %s\n", 506}, + {"NOTE: sender requested \"for-your-eyes-only\"\n", 507}, + {"original file name='%.*s'\n", 508}, + {"WARNING: invalid notation data found\n", 509}, + {"Notation: ", 510}, + {"Policy: ", 511}, + {"signature verification suppressed\n", 512}, + {"Signature made %.*s using %s key ID %08lX\n", 513}, + {"BAD signature from \"", 514}, + {"Good signature from \"", 515}, + {" aka \"", 516}, + {"Can't check signature: %s\n", 517}, + {"old style (PGP 2.x) signature\n", 518}, + {"invalid root packet detected in proc_tree()\n", 519}, + {"can't disable core dumps: %s\n", 520}, + {"WARNING: program may create a core file!\n", 521}, + {"Experimental algorithms should not be used!\n", 522}, {"\ RSA keys are deprecated; please consider creating a new key and use this key \ -in the future\n", 519}, - {"this cipher algorithm is depreciated; please use a more standard one!\n", 520}, - {"can't handle public key algorithm %d\n", 521}, - {"subpacket of type %d has critical bit set\n", 522}, +in the future\n", 523}, + {"this cipher algorithm is depreciated; please use a more standard one!\n", 524}, + {"can't handle public key algorithm %d\n", 525}, + {"subpacket of type %d has critical bit set\n", 526}, {"\ \n\ You need a passphrase to unlock the secret key for\n\ -user: \"", 523}, - {"%u-bit %s key, ID %08lX, created %s", 524}, - {" (main key ID %08lX)", 525}, - {"can't query password in batchmode\n", 526}, - {"Enter passphrase: ", 527}, - {"Repeat passphrase: ", 528}, - {"data not saved; use option \"--output\" to save it\n", 529}, - {"Please enter name of data file: ", 530}, - {"reading stdin ...\n", 531}, - {"can't open signed data `%s'\n", 532}, - {"anonymous receiver; trying secret key %08lX ...\n", 533}, - {"okay, we are the anonymous recipient.\n", 534}, - {"old encoding of the DEK is not supported\n", 535}, - {"NOTE: cipher algorithm %d not found in preferences\n", 536}, - {"protection algorithm %d is not supported\n", 537}, - {"Invalid passphrase; please try again ...\n", 538}, - {"WARNING: Weak key detected - please change passphrase again.\n", 539}, - {"assuming bad MDC due to an unknown critical bit\n", 540}, - {"\ -this is a PGP generated ElGamal key which is NOT secure for signatures!\n", 541}, - {"public key is %lu second newer than the signature\n", 542}, - {"public key is %lu seconds newer than the signature\n", 543}, - {"NOTE: signature key expired %s\n", 544}, - {"assuming bad signature due to an unknown critical bit\n", 545}, - {"%s signature from: %s\n", 546}, - {"can't create %s: %s\n", 547}, - {"signing:", 548}, - {"WARNING: `%s' is an empty file\n", 549}, - {"can't handle text lines longer than %d characters\n", 550}, - {"input line longer than %d characters\n", 551}, - {"trustdb rec %lu: lseek failed: %s\n", 552}, - {"trustdb rec %lu: write failed (n=%d): %s\n", 553}, - {"trustdb transaction too large\n", 554}, - {"%s: can't access: %s\n", 555}, - {"%s: can't create directory: %s\n", 556}, - {"%s: directory created\n", 557}, - {"%s: directory does not exist!\n", 558}, - {"%s: can't create: %s\n", 559}, - {"%s: can't create lock\n", 560}, - {"%s: failed to create version record: %s", 561}, - {"%s: invalid trustdb created\n", 562}, - {"%s: trustdb created\n", 563}, - {"%s: invalid trustdb\n", 564}, - {"%s: failed to create hashtable: %s\n", 565}, - {"%s: error updating version record: %s\n", 566}, - {"%s: error reading version record: %s\n", 567}, - {"%s: error writing version record: %s\n", 568}, - {"trustdb: lseek failed: %s\n", 569}, - {"trustdb: read failed (n=%d): %s\n", 570}, - {"%s: not a trustdb file\n", 571}, - {"%s: version record with recnum %lu\n", 572}, - {"%s: invalid file version %d\n", 573}, - {"%s: error reading free record: %s\n", 574}, - {"%s: error writing dir record: %s\n", 575}, - {"%s: failed to zero a record: %s\n", 576}, - {"%s: failed to append a record: %s\n", 577}, - {"the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n", 578}, - {"trust record %lu, req type %d: read failed: %s\n", 579}, - {"trust record %lu, type %d: write failed: %s\n", 580}, - {"trust record %lu: delete failed: %s\n", 581}, - {"trustdb: sync failed: %s\n", 582}, - {"error reading dir record for LID %lu: %s\n", 583}, - {"lid %lu: expected dir record, got type %d\n", 584}, - {"no primary key for LID %lu\n", 585}, - {"error reading primary key for LID %lu: %s\n", 586}, - {"get_dir_record: search_record failed: %s\n", 587}, - {"NOTE: secret key %08lX is NOT protected.\n", 588}, - {"key %08lX: secret key without public key - skipped\n", 589}, - {"key %08lX: secret and public key don't match\n", 590}, - {"key %08lX: can't put it into the trustdb\n", 591}, - {"key %08lX: query record failed\n", 592}, - {"key %08lX: already in trusted key table\n", 593}, - {"key %08lX: accepted as trusted key.\n", 594}, - {"enumerate secret keys failed: %s\n", 595}, - {"key %08lX.%lu: Good subkey binding\n", 596}, - {"key %08lX.%lu: Invalid subkey binding: %s\n", 597}, - {"key %08lX.%lu: Valid key revocation\n", 598}, - {"key %08lX.%lu: Invalid key revocation: %s\n", 599}, - {"key %08lX.%lu: Valid subkey revocation\n", 600}, - {"Good self-signature", 601}, - {"Invalid self-signature", 602}, - {"Valid user ID revocation skipped due to a newer self signature", 603}, - {"Valid user ID revocation", 604}, - {"Invalid user ID revocation", 605}, - {"Valid certificate revocation", 606}, - {"Good certificate", 607}, - {"Invalid certificate revocation", 608}, - {"Invalid certificate", 609}, - {"sig record %lu[%d] points to wrong record.\n", 610}, - {"duplicated certificate - deleted", 611}, - {"tdbio_search_dir failed: %s\n", 612}, - {"lid ?: insert failed: %s\n", 613}, - {"lid %lu: insert failed: %s\n", 614}, - {"lid %lu: inserted\n", 615}, - {"error reading dir record: %s\n", 616}, - {"%lu keys processed\n", 617}, - {"\t%lu keys with errors\n", 618}, - {"\t%lu keys inserted\n", 619}, - {"enumerate keyblocks failed: %s\n", 620}, - {"lid %lu: dir record w/o key - skipped\n", 621}, - {"\t%lu keys skipped\n", 622}, - {"\t%lu keys updated\n", 623}, - {"Ooops, no keys\n", 624}, - {"Ooops, no user IDs\n", 625}, - {"check_trust: search dir record failed: %s\n", 626}, - {"key %08lX: insert trust record failed: %s\n", 627}, - {"key %08lX.%lu: inserted into trustdb\n", 628}, - {"key %08lX.%lu: created in future (time warp or clock problem)\n", 629}, - {"key %08lX.%lu: expired at %s\n", 630}, - {"key %08lX.%lu: trust check failed: %s\n", 631}, - {"user '%s' not found: %s\n", 632}, - {"problem finding '%s' in trustdb: %s\n", 633}, - {"user '%s' not in trustdb - inserting\n", 634}, - {"failed to put '%s' into trustdb: %s\n", 635}, - {"WARNING: can't yet handle long pref records\n", 636}, - {"%s: can't create keyring: %s\n", 637}, - {"%s: keyring created\n", 638}, - {"WARNING: 2 files with confidential information exists.\n", 639}, - {"%s is the unchanged one\n", 640}, - {"%s is the new one\n", 641}, - {"Please fix this possible security flaw\n", 642}, - {"key is not flagged as insecure - can't use it with the faked RNG!\n", 643}, - {"skipped `%s': %s\n", 644}, +user: \"", 527}, + {"%u-bit %s key, ID %08lX, created %s", 528}, + {" (main key ID %08lX)", 529}, + {"can't query password in batchmode\n", 530}, + {"Enter passphrase: ", 531}, + {"Repeat passphrase: ", 532}, + {"data not saved; use option \"--output\" to save it\n", 533}, + {"Please enter name of data file: ", 534}, + {"reading stdin ...\n", 535}, + {"can't open signed data `%s'\n", 536}, + {"anonymous receiver; trying secret key %08lX ...\n", 537}, + {"okay, we are the anonymous recipient.\n", 538}, + {"old encoding of the DEK is not supported\n", 539}, + {"NOTE: cipher algorithm %d not found in preferences\n", 540}, + {"protection algorithm %d is not supported\n", 541}, + {"Invalid passphrase; please try again ...\n", 542}, + {"WARNING: Weak key detected - please change passphrase again.\n", 543}, + {"assuming bad MDC due to an unknown critical bit\n", 544}, + {"\ +this is a PGP generated ElGamal key which is NOT secure for signatures!\n", 545}, + {"public key is %lu second newer than the signature\n", 546}, + {"public key is %lu seconds newer than the signature\n", 547}, + {"NOTE: signature key expired %s\n", 548}, + {"assuming bad signature due to an unknown critical bit\n", 549}, + {"%s signature from: %s\n", 550}, + {"can't create %s: %s\n", 551}, + {"signing:", 552}, + {"WARNING: `%s' is an empty file\n", 553}, + {"can't handle text lines longer than %d characters\n", 554}, + {"input line longer than %d characters\n", 555}, + {"trustdb rec %lu: lseek failed: %s\n", 556}, + {"trustdb rec %lu: write failed (n=%d): %s\n", 557}, + {"trustdb transaction too large\n", 558}, + {"%s: can't access: %s\n", 559}, + {"%s: can't create directory: %s\n", 560}, + {"%s: directory created\n", 561}, + {"%s: directory does not exist!\n", 562}, + {"%s: can't create: %s\n", 563}, + {"%s: can't create lock\n", 564}, + {"%s: failed to create version record: %s", 565}, + {"%s: invalid trustdb created\n", 566}, + {"%s: trustdb created\n", 567}, + {"%s: invalid trustdb\n", 568}, + {"%s: failed to create hashtable: %s\n", 569}, + {"%s: error updating version record: %s\n", 570}, + {"%s: error reading version record: %s\n", 571}, + {"%s: error writing version record: %s\n", 572}, + {"trustdb: lseek failed: %s\n", 573}, + {"trustdb: read failed (n=%d): %s\n", 574}, + {"%s: not a trustdb file\n", 575}, + {"%s: version record with recnum %lu\n", 576}, + {"%s: invalid file version %d\n", 577}, + {"%s: error reading free record: %s\n", 578}, + {"%s: error writing dir record: %s\n", 579}, + {"%s: failed to zero a record: %s\n", 580}, + {"%s: failed to append a record: %s\n", 581}, + {"the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n", 582}, + {"trust record %lu, req type %d: read failed: %s\n", 583}, + {"trust record %lu, type %d: write failed: %s\n", 584}, + {"trust record %lu: delete failed: %s\n", 585}, + {"trustdb: sync failed: %s\n", 586}, + {"error reading dir record for LID %lu: %s\n", 587}, + {"lid %lu: expected dir record, got type %d\n", 588}, + {"no primary key for LID %lu\n", 589}, + {"error reading primary key for LID %lu: %s\n", 590}, + {"get_dir_record: search_record failed: %s\n", 591}, + {"NOTE: secret key %08lX is NOT protected.\n", 592}, + {"key %08lX: secret key without public key - skipped\n", 593}, + {"key %08lX: secret and public key don't match\n", 594}, + {"key %08lX: can't put it into the trustdb\n", 595}, + {"key %08lX: query record failed\n", 596}, + {"key %08lX: already in trusted key table\n", 597}, + {"key %08lX: accepted as trusted key.\n", 598}, + {"enumerate secret keys failed: %s\n", 599}, + {"key %08lX.%lu: Good subkey binding\n", 600}, + {"key %08lX.%lu: Invalid subkey binding: %s\n", 601}, + {"key %08lX.%lu: Valid key revocation\n", 602}, + {"key %08lX.%lu: Invalid key revocation: %s\n", 603}, + {"key %08lX.%lu: Valid subkey revocation\n", 604}, + {"Good self-signature", 605}, + {"Invalid self-signature", 606}, + {"Valid user ID revocation skipped due to a newer self signature", 607}, + {"Valid user ID revocation", 608}, + {"Invalid user ID revocation", 609}, + {"Valid certificate revocation", 610}, + {"Good certificate", 611}, + {"Invalid certificate revocation", 612}, + {"Invalid certificate", 613}, + {"sig record %lu[%d] points to wrong record.\n", 614}, + {"duplicated certificate - deleted", 615}, + {"tdbio_search_dir failed: %s\n", 616}, + {"lid ?: insert failed: %s\n", 617}, + {"lid %lu: insert failed: %s\n", 618}, + {"lid %lu: inserted\n", 619}, + {"error reading dir record: %s\n", 620}, + {"%lu keys processed\n", 621}, + {"\t%lu keys with errors\n", 622}, + {"\t%lu keys inserted\n", 623}, + {"enumerate keyblocks failed: %s\n", 624}, + {"lid %lu: dir record w/o key - skipped\n", 625}, + {"\t%lu keys skipped\n", 626}, + {"\t%lu keys updated\n", 627}, + {"Ooops, no keys\n", 628}, + {"Ooops, no user IDs\n", 629}, + {"check_trust: search dir record failed: %s\n", 630}, + {"key %08lX: insert trust record failed: %s\n", 631}, + {"key %08lX.%lu: inserted into trustdb\n", 632}, + {"key %08lX.%lu: created in future (time warp or clock problem)\n", 633}, + {"key %08lX.%lu: expired at %s\n", 634}, + {"key %08lX.%lu: trust check failed: %s\n", 635}, + {"user '%s' not found: %s\n", 636}, + {"problem finding '%s' in trustdb: %s\n", 637}, + {"user '%s' not in trustdb - inserting\n", 638}, + {"failed to put '%s' into trustdb: %s\n", 639}, + {"WARNING: can't yet handle long pref records\n", 640}, + {"%s: can't create keyring: %s\n", 641}, + {"%s: keyring created\n", 642}, + {"WARNING: 2 files with confidential information exists.\n", 643}, + {"%s is the unchanged one\n", 644}, + {"%s is the new one\n", 645}, + {"Please fix this possible security flaw\n", 646}, + {"key is not flagged as insecure - can't use it with the faked RNG!\n", 647}, + {"skipped `%s': %s\n", 648}, {"\ skipped `%s': this is a PGP generated ElGamal key which is not secure for \ -signatures!\n", 645}, - {"File `%s' exists. ", 646}, - {"Overwrite (y/N)? ", 647}, - {"%s: unknown suffix\n", 648}, - {"Enter new filename", 649}, - {"writing to stdout\n", 650}, - {"assuming signed data in `%s'\n", 651}, - {"%s: new options file created\n", 652}, - {"%s encrypted data\n", 653}, - {"encrypted with unknown algorithm %d\n", 654}, - {"\ -WARNING: message was encrypted with a weak key in the symmetric cipher.\n", 655}, - {"weak key created - retrying\n", 656}, - {"cannot avoid weak key for symmetric cipher; tried %d times!\n", 657}, +signatures!\n", 649}, + {"File `%s' exists. ", 650}, + {"Overwrite (y/N)? ", 651}, + {"%s: unknown suffix\n", 652}, + {"Enter new filename", 653}, + {"writing to stdout\n", 654}, + {"assuming signed data in `%s'\n", 655}, + {"%s: new options file created\n", 656}, + {"%s encrypted data\n", 657}, + {"encrypted with unknown algorithm %d\n", 658}, + {"\ +WARNING: message was encrypted with a weak key in the symmetric cipher.\n", 659}, + {"weak key created - retrying\n", 660}, + {"cannot avoid weak key for symmetric cipher; tried %d times!\n", 661}, + {"there is a secret key for this public key!\n", 662}, + {"use option \"--delete-secret-key\" to delete it first.\n", 663}, + {"can't do that in batchmode without \"--yes\"\n", 664}, + {"Delete this key from the keyring? ", 665}, + {"This is a secret key! - really delete? ", 666}, {"\ 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.", 658}, - {"If you want to use this revoked key anyway, answer \"yes\".", 659}, - {"If you want to use this untrusted key anyway, answer \"yes\".", 660}, +to do with the (implicitly created) web-of-certificates.", 667}, + {"If you want to use this revoked key anyway, answer \"yes\".", 668}, + {"If you want to use this untrusted key anyway, answer \"yes\".", 669}, {"\ -Enter the user ID of the addressee to whom you want to send the message.", 661}, +Enter the user ID of the addressee to whom you want to send the message.", 670}, {"\ Select the algorithm to use.\n\ \n\ @@ -805,62 +814,62 @@ \n\ The first (primary) key must always be a key which is capable of signing;\n\ this is the reason why the encryption only ElGamal key is not available in\n\ -this menu.", 662}, +this menu.", 671}, {"\ Although these keys are defined in RFC2440 they are not suggested\n\ because they are not supported by all programs and signatures created\n\ -with them are quite large and very slow to verify.", 663}, - {"Enter the size of the key", 664}, - {"Answer \"yes\" or \"no\"", 665}, +with them are quite large and very slow to verify.", 672}, + {"Enter the size of the key", 673}, + {"Answer \"yes\" or \"no\"", 674}, {"\ Enter the required value as shown in the prompt.\n\ It is possible to enter a ISO date (YYYY-MM-DD) but you won't\n\ get a good error response - instead the system tries to interpret\n\ -the given value as an interval.", 666}, - {"Enter the name of the key holder", 667}, - {"please enter an optional but highly suggested email address", 668}, - {"Please enter an optional comment", 669}, +the given value as an interval.", 675}, + {"Enter the name of the key holder", 676}, + {"please enter an optional but highly suggested email address", 677}, + {"Please enter an optional comment", 678}, {"\ 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.", 670}, - {"Answer \"yes\" (or just \"y\") if it is okay to generate the sub key.", 671}, - {"Answer \"yes\" is you want to sign ALL the user IDs", 672}, +Q to to quit the key generation.", 679}, + {"Answer \"yes\" (or just \"y\") if it is okay to generate the sub key.", 680}, + {"Answer \"yes\" is you want to sign ALL the user IDs", 681}, {"\ Answer \"yes\" if you really want to delete this user ID.\n\ -All certificates are then also lost!", 673}, - {"Answer \"yes\" if it is okay to delete the subkey", 674}, +All certificates are then also lost!", 682}, + {"Answer \"yes\" if it is okay to delete the subkey", 683}, {"\ This is a valid signature on the key; you normally don't want\n\ to delete this signature because it may be important to establish a\n\ -trust connection to the key or another key certified by this key.", 675}, +trust connection to the key or another key certified by this key.", 684}, {"\ This signature can't be checked because you don't have the\n\ corresponding key. You should postpone its deletion until you\n\ -know which key was used because this signing key might establisha trust \ -connection through another already certified key.", 676}, +know which key was used because this signing key might establish\n\ +a trust connection through another already certified key.", 685}, {"\ The signature is not valid. It does make sense to remove it from\n\ -your keyring.", 677}, +your keyring.", 686}, {"\ This is a signature which binds the user ID to the key. It is\n\ usually not a good idea to remove such a signature. Actually\n\ GnuPG might not be able to use this key anymore. So do this\n\ only if this self-signature is for some reason not valid and\n\ -a second one is available.", 678}, +a second one is available.", 687}, {"\ Please enter the passhrase; this is a secret sentence \n\ - Blurb, blurb,.... ", 679}, - {"Please repeat the last passphrase, so you are sure what you typed in.", 680}, - {"Give the name fo the file to which the signature applies", 681}, - {"Answer \"yes\" if it is okay to overwrite the file", 682}, + Blurb, blurb,.... ", 688}, + {"Please repeat the last passphrase, so you are sure what you typed in.", 689}, + {"Give the name fo the file to which the signature applies", 690}, + {"Answer \"yes\" if it is okay to overwrite the file", 691}, {"\ Please enter a new filename. If you just hit RETURN the default\n\ -file (which is shown in brackets) will be used.", 683}, - {"No help available", 684}, - {"No help available for `%s'", 685}, +file (which is shown in brackets) will be used.", 692}, + {"No help available", 693}, + {"No help available for `%s'", 694}, }; -int _msg_tbl_length = 685; +int _msg_tbl_length = 694; diff -urN gnupg-0.9.11/po/de.po gnupg-1.0.0/po/de.po --- gnupg-0.9.11/po/de.po Fri Sep 3 10:10:46 1999 +++ gnupg-1.0.0/po/de.po Tue Sep 7 18:48:30 1999 @@ -3,8 +3,8 @@ # Walter Koch , 1998. msgid "" msgstr "" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" -"PO-Revision-Date: 1999-08-31 21:36+0200\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" +"PO-Revision-Date: 1999-09-04 22:36+0200\n" "Last-Translator: Walter Koch \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -587,7 +587,7 @@ #: g10/g10.c:282 msgid "throw keyid field of encrypted packets" -msgstr "Entferne Absender-ID verschlüsselter Pakete" +msgstr "Entferne Empfänger-ID verschlüsselter Pakete" #: g10/g10.c:283 msgid "|NAME=VALUE|use this notation data" @@ -1150,18 +1150,18 @@ msgstr "Keine solche User-ID vorhanden.\n" #: g10/pkclist.c:756 -#, fuzzy msgid "skipped: public key already set as default recipient\n" -msgstr "%s: übersprungen: öffentlicher Schlüssel bereits vorhanden\n" +msgstr "" +"übersprungen: öffentlicher Schlüssel bereits als Standardempfänger gesetzt\n" #: g10/pkclist.c:778 msgid "Public key is disabled.\n" msgstr "Öffentlicher Schlüssel ist abgeschaltet.\n" #: g10/pkclist.c:785 -#, fuzzy msgid "skipped: public key already set with --encrypt-to\n" -msgstr "%s: übersprungen: öffentlicher Schlüssel bereits vorhanden\n" +msgstr "" +"übersprungen: öffentlicher Schlüssel bereits mittels --encrypt-to gesetzt\n" #: g10/pkclist.c:816 #, c-format @@ -1512,8 +1512,8 @@ msgid "Really create? " msgstr "Wirklich erzeugen? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: kann nicht geöffnet werden: %s\n" @@ -1570,12 +1570,10 @@ msgstr "RSA-Schlüssel können in dieser Version nicht verwendet werden\n" #: g10/getkey.c:1291 g10/getkey.c:1330 -#, fuzzy msgid "No key for user ID\n" msgstr "Kein Schlüssel für User-ID\n" #: g10/getkey.c:1369 g10/getkey.c:1409 -#, fuzzy msgid "No user ID for key\n" msgstr "Keine User-ID für Schlüssel\n" @@ -1661,12 +1659,12 @@ msgstr " unveränderte geh.Schl.: %lu\n" #: g10/import.c:362 g10/import.c:554 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID\n" msgstr "Schlüssel %08lX: Keine User-ID\n" #: g10/import.c:376 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no valid user IDs\n" msgstr "Schlüssel %08lX: Keine gültigen User-IDs\n" @@ -1722,12 +1720,12 @@ "Schlüssel %08lX: Lesefehler im lokalen originalen Schlüsselblocks: %s\n" #: g10/import.c:469 -#, fuzzy, c-format +#, c-format msgid "key %08lX: 1 new user ID\n" msgstr "Schlüssel %08lX: 1 neue User-ID\n" #: g10/import.c:472 -#, fuzzy, c-format +#, c-format msgid "key %08lX: %d new user IDs\n" msgstr "Schlüssel %08lX: %d neue User-IDs\n" @@ -1790,7 +1788,7 @@ msgstr "Schlüssel %08lX: Widerrufzertifikat importiert\n" #: g10/import.c:711 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID for signature\n" msgstr "Schlüssel %08lX: Keine User-ID für Signatur\n" @@ -1815,12 +1813,12 @@ msgstr "Schlüssel %08lX: Ungültige Unterschlüssel-Anbindung\n" #: g10/import.c:769 -#, fuzzy, c-format +#, c-format msgid "key %08lX: accepted non self-signed user ID '" msgstr "Schlüssel %08lX: Nicht eigenbeglaubigte User-ID übernommen'" #: g10/import.c:798 -#, fuzzy, c-format +#, c-format msgid "key %08lX: skipped user ID '" msgstr "Schlüssel %08lX: User-ID übergangen '" @@ -1863,7 +1861,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "Schlüssel %08lX: Unsere Kopie hat keine Eigenbeglaubigung\n" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: Benutzer nicht gefunden\n" @@ -1904,12 +1902,11 @@ msgstr "%d Beglaubigungen aufgrund von Fehlern nicht geprüft\n" #: g10/keyedit.c:231 -#, fuzzy msgid "1 user ID without valid self-signature detected\n" msgstr "Eine User-ID ohne gültige Eigenbeglaubigung entdeckt\n" #: g10/keyedit.c:233 -#, fuzzy, c-format +#, c-format msgid "%d user IDs without valid self-signatures detected\n" msgstr "%d User-IDs ohne gültige Eigenbeglaubigung entdeckt\n" @@ -2024,9 +2021,8 @@ msgstr "Liste der Schlüssel" #: g10/keyedit.c:570 -#, fuzzy msgid "list key and user IDs" -msgstr "Schlüssel und User-ID auflisten" +msgstr "Schlüssel und User-IDs auflisten" #: g10/keyedit.c:571 msgid "l" @@ -2037,7 +2033,6 @@ msgstr "uid" #: g10/keyedit.c:572 -#, fuzzy msgid "select user ID N" msgstr "User-ID N auswählen" @@ -2090,7 +2085,6 @@ msgstr "adduid" #: g10/keyedit.c:580 -#, fuzzy msgid "add a user ID" msgstr "Eine User-ID hinzufügen" @@ -2099,7 +2093,6 @@ msgstr "deluid" #: g10/keyedit.c:581 -#, fuzzy msgid "delete user ID" msgstr "User-ID entfernen" @@ -2203,7 +2196,7 @@ msgid "enable a key" msgstr "Schlüssel anschalten" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n" @@ -2222,14 +2215,12 @@ msgstr "Hierzu wird der geheime Schlüssel benötigt.\n" #: g10/keyedit.c:758 -#, fuzzy msgid "Really sign all user IDs? " msgstr "Wirklich alle User-IDs beglaubigen? " #: g10/keyedit.c:759 -#, fuzzy msgid "Hint: Select the user IDs to sign\n" -msgstr "Tip: Wählen Sie die User-ID, die beglaubigt werden soll\n" +msgstr "Tip: Wählen Sie die User-IDs, die beglaubigt werden sollen\n" #: g10/keyedit.c:786 g10/keyedit.c:968 #, c-format @@ -2237,22 +2228,18 @@ msgstr "Änderung der \"Trust-DB\" fehlgeschlagen: %s\n" #: g10/keyedit.c:797 g10/keyedit.c:818 -#, fuzzy msgid "You must select at least one user ID.\n" msgstr "Zumindestens eine User-ID muß ausgewählt werden.\n" #: g10/keyedit.c:799 -#, fuzzy msgid "You can't delete the last user ID!\n" msgstr "Die letzte User-ID kann nicht gelöscht werden!\n" #: g10/keyedit.c:802 -#, fuzzy msgid "Really remove all selected user IDs? " msgstr "Möchten Sie alle ausgewählten User-IDs wirklich entfernen? " #: g10/keyedit.c:803 -#, fuzzy msgid "Really remove this user ID? " msgstr "Diese User-ID wirklich entfernen? " @@ -2361,7 +2348,7 @@ msgstr "Keine entsprechende Signatur im geheimen Schlüsselbund\n" #: g10/keyedit.c:1566 -#, fuzzy, c-format +#, c-format msgid "No user ID with index %d\n" msgstr "Keine User-ID mit Index %d\n" @@ -2387,6 +2374,31 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Ein Widerrufszertifikat für diese Unterschrift erzeugen (j/N)" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +#, fuzzy +msgid "You have signed these user IDs:\n" +msgstr "Die letzte User-ID kann nicht gelöscht werden!\n" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, fuzzy, c-format +msgid " signed by %08lX at %s\n" +msgstr "" +"\"\n" +"unterschrieben mit Ihrem Schlüssel %08lX um %s\n" + +#: g10/keyedit.c:1759 +#, fuzzy, c-format +msgid " revoked by %08lX at %s\n" +msgstr "" +"\"\n" +"unterschrieben mit Ihrem Schlüssel %08lX um %s\n" + +#: g10/keyedit.c:1779 +#, fuzzy +msgid "You are about to revoke these signatures:\n" +msgstr "Möchten Sie einige der ungültigen Signaturen entfernen? " + #: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Wirklich ein Unterschrift-Widerrufszertifikat erzeugen? (j/N) " @@ -2680,137 +2692,137 @@ msgid "input line longer than %d characters\n" msgstr "Eingabezeile ist länger als %d Zeichen\n" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "trustdb Satz %lu: lseek fehlgeschlagen: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "trustdb Satz %lu: write fehlgeschlagen (n=%d): %s\n" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "trustdb Transaktion zu groß\n" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: kann nicht zugegriffen werden: %s\n" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, c-format msgid "%s: can't create directory: %s\n" msgstr "%s: Verzeichnis kann nicht erzeugt werden: %s\n" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, c-format msgid "%s: directory created\n" msgstr "%s: Verzeichnis erzeugt\n" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "%s: Verzeichnis existiert nicht!\n" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: kann nicht erzeugt werden: %s\n" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, c-format msgid "%s: can't create lock\n" msgstr "%s: Sperre kann nicht erzeugt werden\n" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: Fehler beim Erzeugen des Versionsatzes: %s" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: ungültige trust-db erzeugt\n" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, c-format msgid "%s: trustdb created\n" msgstr "%s: trust-db erzeugt\n" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: ungültige 'Trust'-Datenbank\n" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: hashtable kann nicht erzeugt werden: %s\n" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: Fehler beim Ändern des Versionsatzes: %s\n" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: Fehler beim Lesen des Versionsatzes: %s\n" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: Fehler beim Schreiben des Versionsatzes: %s\n" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "trustdb: lseek fehlgeschlagen: %s\n" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "trustdb: read failed (n=%d): %s\n" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: keine trustdb Datei\n" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: version record with recnum %lu\n" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: invalid file version %d\n" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: Fehler beim Lesen eines freien Satzes: %s\n" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: Fehler beim Schreiben eines Verzeichnis-Satzes: %s\n" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: konnte einen Satz nicht Nullen: %s\n" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: konnte Satz nicht anhängen: %s\n" -#: g10/tdbio.c:1759 +#: g10/tdbio.c:1760 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "Die \"Trust\"-Datenbank ist beschädigt; verwenden Sie \"gpg " @@ -3041,7 +3053,6 @@ msgstr "Huch, keine Schlüssel\n" #: g10/trustdb.c:2061 -#, fuzzy msgid "Ooops, no user IDs\n" msgstr "Huch, keine User-IDs\n" @@ -3101,31 +3112,31 @@ msgid "WARNING: can't yet handle long pref records\n" msgstr "WARNUNG: Lange 'Pref'-Records können noch nicht benutzt werden\n" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: Schlüsselbund kann nicht erzeugt werden: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, c-format msgid "%s: keyring created\n" msgstr "%s: Schlüsselbund erstellt\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "Warnung: Zwei Dateien mit vertraulichem Inhalt vorhanden.\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, c-format msgid "%s is the unchanged one\n" msgstr "%s ist der Unveränderte\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "%s ist der Neue\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "Bitte diesen potentiellen Sicherheitsmangel beseitigen\n" @@ -3209,6 +3220,28 @@ "Trotz %d-fachen Versuch konnte die Erzeugung eines unsicheren Schlüssels für " "sym.Verschlüsselung nicht vermieden werden!\n" +#: g10/delkey.c:93 +msgid "there is a secret key for this public key!\n" +msgstr "Es gibt einen privaten Schlüssel zu diesem öffentlichen Schlüssel!\n" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" +"Benutzen Sie das Kommando \"--delete-secret-key\", um ihn vorab zu " +"entfernen.\n" + +#: g10/delkey.c:111 +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "Dies kann im Batchmodus ohne \"--yes\" nicht durchgeführt werden.\n" + +#: g10/delkey.c:133 +msgid "Delete this key from the keyring? " +msgstr "Diesen Schlüssel aus dem Schlüsselbund löschen? " + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "Dies ist ein privater Schlüssel! - Wirklich löschen? " + #: g10/helptext.c:47 msgid "" "It's up to you to assign a value here; this value will never be exported\n" @@ -3234,7 +3267,6 @@ "so antworten Sie mit \"ja\"." #: g10/helptext.c:61 -#, fuzzy msgid "" "Enter the user ID of the addressee to whom you want to send the message." msgstr "Geben Sie die User-ID dessen ein, dem Sie die Botschaft senden wollen." @@ -3304,7 +3336,6 @@ msgstr "Geben Sie \"ja\" oder \"nein\" ein" #: g10/helptext.c:106 -#, fuzzy msgid "" "Enter the required value as shown in the prompt.\n" "It is possible to enter a ISO date (YYYY-MM-DD) but you won't\n" @@ -3367,7 +3398,6 @@ "Geben Sie \"ja\" (oder nur \"j\") ein, um diesen Unterschlüssel zu löschen" #: g10/helptext.c:178 -#, fuzzy msgid "" "This is a valid signature on the key; you normally don't want\n" "to delete this signature because it may be important to establish a\n" @@ -3383,8 +3413,8 @@ msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" "Diese Beglaubigung kann nicht geprüft werden, da Sie den passenden " "Schlüssel\n" @@ -3997,24 +4027,3 @@ #~ msgid "Checking signatures of this public key certificate:\n" #~ msgstr "Die Signaturen dieses Zertifikats werden überprüft:\n" - -#~ msgid "Do you want to remove some of the invalid signatures? " -#~ msgstr "Möchten Sie einige der ungültigen Signaturen entfernen? " - -#~ msgid "there is a secret key for this public key!\n" -#~ msgstr "" -#~ "Es gibt einen privaten Schlüssel zu diesem öffentlichen Schlüssel!\n" - -#~ msgid "use option \"--delete-secret-key\" to delete it first.\n" -#~ msgstr "" -#~ "Benutzen Sie das Kommando \"--delete-secret-key\", um ihn vorab zu " -#~ "entfernen.\n" - -#~ msgid "can't do that in batchmode without \"--yes\"\n" -#~ msgstr "Dies kann im Batchmodus ohne \"--yes\" nicht durchgeführt werden.\n" - -#~ msgid "Delete this key from the keyring? " -#~ msgstr "Diesen Schlüssel aus dem Schlüsselbund löschen? " - -#~ msgid "This is a secret key! - really delete? " -#~ msgstr "Dies ist ein privater Schlüssel! - Wirklich löschen? " diff -urN gnupg-0.9.11/po/es_ES.po gnupg-1.0.0/po/es_ES.po --- gnupg-0.9.11/po/es_ES.po Fri Sep 3 10:10:47 1999 +++ gnupg-1.0.0/po/es_ES.po Tue Sep 7 18:48:31 1999 @@ -7,7 +7,7 @@ # GPG version: 0.9.7 msgid "" msgstr "" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" "PO-Revision-Date: 1999-06-06 18:33+0200\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Date: 1998-11-13 10:49:25+0100\n" @@ -1519,8 +1519,8 @@ msgid "Really create? " msgstr "¿Crear de verdad? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: no puede abrirse: %s\n" @@ -1867,7 +1867,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "clave %08lX: nuestra copia no tiene autofirma\n" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: usuario no encontrado\n" @@ -2212,7 +2212,7 @@ msgid "enable a key" msgstr "Clave incorrecta" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "imposible hacer esto en modo de proceso por lotes\n" @@ -2401,6 +2401,31 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "¿Crear un certificado de revocación para esta clave (s/N)?" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +#, fuzzy +msgid "You have signed these user IDs:\n" +msgstr "¡No puede borrar el último identificativo de usuario!\n" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, fuzzy, c-format +msgid " signed by %08lX at %s\n" +msgstr "" +"\"\n" +"firmada con su clave %08lX el %s\n" + +#: g10/keyedit.c:1759 +#, fuzzy, c-format +msgid " revoked by %08lX at %s\n" +msgstr "" +"\"\n" +"firmada con su clave %08lX el %s\n" + +#: g10/keyedit.c:1779 +#, fuzzy +msgid "You are about to revoke these signatures:\n" +msgstr "¿Revocar realmente las claves seleccionadas? " + #: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "¿Crear los certificados de revocación realmente? (s/N)" @@ -2685,138 +2710,138 @@ msgid "input line longer than %d characters\n" msgstr "línea de longitud superior a %d caracteres\n" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "registro base de datos de confianza %lu: lseek fallido: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" "resgisto base de datos de confianza %lu: escritura fallida (n=%d): %s\n" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "transacción en la base de datos de confianza demasiado grande\n" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: no puede abrirse: %s\n" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, c-format msgid "%s: can't create directory: %s\n" msgstr "%s: no puede crearse el directorio: %s\n" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, c-format msgid "%s: directory created\n" msgstr "%s: directorio creado\n" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "%s: ¡el directorio no existe!\n" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: no puede crearse: %s\n" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, c-format msgid "%s: can't create lock\n" msgstr "%s: no puede crearse bloqueo\n" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: fallo en la creación del registro de versión: %s" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: se ha creado base de datos de confianza no válida\n" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, c-format msgid "%s: trustdb created\n" msgstr "%s: se ha creado base de datos de confianza\n" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: base de datos de confianza no válida\n" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: fallo en la creación de la tabla hash: %s\n" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: error actualizando el registro de versión: %s\n" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: error leyendo registro de versión: %s\n" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: error escribiendo registro de versión: %s\n" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "base de datos de confianza: fallo lseek: %s\n" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "base de datos de confianza: error lectura (n=%d): %s\n" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: no es una base de datos de confianza\n" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: registro de versión con número de registro %lu\n" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versión del fichero %d no válida\n" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: error leyendo registro libre: %s\n" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: error escribiendo registro de directorio: %s\n" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: fallo en poner a cero un registro: %s\n" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: fallo al añadir un registro: %s\n" -#: g10/tdbio.c:1759 +#: g10/tdbio.c:1760 #, fuzzy msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" @@ -3107,31 +3132,31 @@ msgid "WARNING: can't yet handle long pref records\n" msgstr "ATENCÍON: todavía no puedo tratar registros de preferencias largos\n" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: no se puede crear el anillo: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, c-format msgid "%s: keyring created\n" msgstr "%s: anillo creado\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "ATENCIÓN: existen 2 ficheros con información confidencial.\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, c-format msgid "%s is the unchanged one\n" msgstr "%s es el que no se ha modificado\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "%s es el nuevo\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "Por favor arregle este posible fallo de seguridad\n" @@ -3214,6 +3239,29 @@ "¡imposible evitar clave débil para cifrado simétrico después de %d " "intentos!\n" +#: g10/delkey.c:93 +#, fuzzy +msgid "there is a secret key for this public key!\n" +msgstr "elimina la clave del anillo público" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" + +#: g10/delkey.c:111 +#, fuzzy +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "imposible hacer esto en modo de proceso por lotes\n" + +#: g10/delkey.c:133 +#, fuzzy +msgid "Delete this key from the keyring? " +msgstr "elimina la clave del anillo público" + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "" + #: g10/helptext.c:47 msgid "" "It's up to you to assign a value here; this value will never be exported\n" @@ -3331,8 +3379,8 @@ msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" #: g10/helptext.c:189 diff -urN gnupg-0.9.11/po/fr.po gnupg-1.0.0/po/fr.po --- gnupg-0.9.11/po/fr.po Fri Sep 3 10:10:48 1999 +++ gnupg-1.0.0/po/fr.po Tue Sep 7 18:48:32 1999 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: gnupg 1.0\n" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" -"PO-Revision-Date: 1999-08-08 04:01+02:00\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" +"PO-Revision-Date: 1999-09-03 18:07+0200\n" "Last-Translator: Gaël Quéri \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -37,11 +37,11 @@ #: util/miscutil.c:279 util/miscutil.c:307 msgid "no" -msgstr "" +msgstr "non" #: util/miscutil.c:280 util/miscutil.c:310 msgid "nN" -msgstr "" +msgstr "nN" #: g10/keyedit.c:564 util/miscutil.c:308 msgid "quit" @@ -560,10 +560,9 @@ msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "utiliser le comportement défini par OpenPGP" -# FIXMOI : faudra trouver mieux ... #: g10/g10.c:274 msgid "|N|use passphrase mode N" -msgstr "|N|utiliser le mode de codage des mots de passe N" +msgstr "|N|coder les mots de passe suivant le mode N" #: g10/g10.c:276 msgid "|NAME|use message digest algorithm NAME for passphrases" @@ -1042,9 +1041,8 @@ "%08lX: It is not sure that this key really belongs to the owner\n" "but it is accepted anyway\n" msgstr "" -"%08lX : Il n'est pas sûr que cette clé appartient vraiment à son " -"propriétaire\n" -"mais elle est quand même acceptée\n" +"%08lX : Il n'est pas sûr que cette clé appartient vraiment à son\n" +"propriétaire mais elle est quand même acceptée\n" #: g10/pkclist.c:422 msgid "This key probably belongs to the owner\n" @@ -1144,18 +1142,16 @@ msgstr "Pas de tel utilisateur.\n" #: g10/pkclist.c:756 -#, fuzzy msgid "skipped: public key already set as default recipient\n" -msgstr "%s : ignoré : clé publique déjà présente\n" +msgstr "ignoré : la clé publique est déjà le récipient par défaut\n" #: g10/pkclist.c:778 msgid "Public key is disabled.\n" msgstr "La clé publique est désactivée.\n" #: g10/pkclist.c:785 -#, fuzzy msgid "skipped: public key already set with --encrypt-to\n" -msgstr "%s : ignoré : clé publique déjà présente\n" +msgstr "ignoré : clé publique configurée par --encrypt-to\n" #: g10/pkclist.c:816 #, c-format @@ -1506,8 +1502,8 @@ msgid "Really create? " msgstr "Créer vraiment ? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" msgstr "%s : ne peut ouvrir : %s\n" @@ -1564,14 +1560,12 @@ msgstr "les clés RSA ne peuvent être utilisées dans cette version\n" #: g10/getkey.c:1291 g10/getkey.c:1330 -#, fuzzy msgid "No key for user ID\n" -msgstr "Pas de clé pour cet utilisateur\n" +msgstr "Pas de clé pour l'utilisateur\n" #: g10/getkey.c:1369 g10/getkey.c:1409 -#, fuzzy msgid "No user ID for key\n" -msgstr "Pas d'utilisateur pour cette clé\n" +msgstr "Pas d'utilisateur pour la clé\n" #: g10/getkey.c:1565 g10/getkey.c:1621 #, c-format @@ -1656,12 +1650,12 @@ msgstr " clés secrètes inchangées : %lu\n" #: g10/import.c:362 g10/import.c:554 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID\n" msgstr "clé %08lX : pas de nom d'utilisateur\n" #: g10/import.c:376 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no valid user IDs\n" msgstr "clé %08lX : pas de nom d'utilisateur valide\n" @@ -1714,12 +1708,12 @@ msgstr "clé %08lX : ne peut lire le bloc de clés original : %s\n" #: g10/import.c:469 -#, fuzzy, c-format +#, c-format msgid "key %08lX: 1 new user ID\n" msgstr "clé %08lX : un nouvel utilisateur\n" #: g10/import.c:472 -#, fuzzy, c-format +#, c-format msgid "key %08lX: %d new user IDs\n" msgstr "clé %08lX : %d nouveaux utilisateurs\n" @@ -1782,7 +1776,7 @@ msgstr "clé %08lX : certificat de révocation importé\n" #: g10/import.c:711 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID for signature\n" msgstr "clé %08lX : pas d'utilisateur pour la signature\n" @@ -1807,12 +1801,12 @@ msgstr "clé %08lX : liaison avec la sous-clé invalide\n" #: g10/import.c:769 -#, fuzzy, c-format +#, c-format msgid "key %08lX: accepted non self-signed user ID '" msgstr "clé %08lX : utilisateur non signé par lui-même accepté : '" #: g10/import.c:798 -#, fuzzy, c-format +#, c-format msgid "key %08lX: skipped user ID '" msgstr "clé %08lX : utilisateur non pris en compte : '" @@ -1855,7 +1849,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "clé %08lX : notre copie n'a pas d'auto-signature\n" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s : utilisateur non trouvé\n" @@ -1896,12 +1890,11 @@ msgstr "%d signatures non vérifiées à cause d'erreurs\n" #: g10/keyedit.c:231 -#, fuzzy msgid "1 user ID without valid self-signature detected\n" msgstr "un nom d'utilisateur sans auto-signature valide détecté\n" #: g10/keyedit.c:233 -#, fuzzy, c-format +#, c-format msgid "%d user IDs without valid self-signatures detected\n" msgstr "%d nom d'utilisateurs sans auto-signature valide détecté\n" @@ -2017,7 +2010,6 @@ msgstr "lister" #: g10/keyedit.c:570 -#, fuzzy msgid "list key and user IDs" msgstr "lister la clé et les noms d'utilisateurs" @@ -2030,7 +2022,6 @@ msgstr "uid" #: g10/keyedit.c:572 -#, fuzzy msgid "select user ID N" msgstr "sélectionner le nom d'utilisateur N" @@ -2083,7 +2074,6 @@ msgstr "aj.ut" #: g10/keyedit.c:580 -#, fuzzy msgid "add a user ID" msgstr "ajouter un utilisateur" @@ -2092,7 +2082,6 @@ msgstr "suppr.ut" #: g10/keyedit.c:581 -#, fuzzy msgid "delete user ID" msgstr "enlever un utilisateur" @@ -2197,7 +2186,7 @@ msgid "enable a key" msgstr "activer une clé" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "impossible de faire cela en mode automatique\n" @@ -2216,12 +2205,10 @@ msgstr "Il faut la clé secrète pour faire cela.\n" #: g10/keyedit.c:758 -#, fuzzy msgid "Really sign all user IDs? " msgstr "Signer vraiment tous les utilisateurs ? " #: g10/keyedit.c:759 -#, fuzzy msgid "Hint: Select the user IDs to sign\n" msgstr "Aide : Sélectionner les utilisateurs à signer\n" @@ -2231,22 +2218,18 @@ msgstr "la mise à jour de la base de confiance a échoué : %s\n" #: g10/keyedit.c:797 g10/keyedit.c:818 -#, fuzzy msgid "You must select at least one user ID.\n" msgstr "Vous devez sélectionner au moins un utilisateur.\n" #: g10/keyedit.c:799 -#, fuzzy msgid "You can't delete the last user ID!\n" msgstr "Vous ne pouvez pas supprimer le dernier utilisateur !\n" #: g10/keyedit.c:802 -#, fuzzy msgid "Really remove all selected user IDs? " msgstr "Enlever réellement tous les utilisateurs sélectionnés ? " #: g10/keyedit.c:803 -#, fuzzy msgid "Really remove this user ID? " msgstr "Enlever réellement cet utilisateur ? " @@ -2355,7 +2338,7 @@ msgstr "Pas de signature correspondante dans le porte-clés secret\n" #: g10/keyedit.c:1566 -#, fuzzy, c-format +#, c-format msgid "No user ID with index %d\n" msgstr "Pas d'utilisateur avec l'index %d\n" @@ -2381,6 +2364,31 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Générer un certificat de révocation pour cette signature ? (o/N)" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +#, fuzzy +msgid "You have signed these user IDs:\n" +msgstr "Vous ne pouvez pas supprimer le dernier utilisateur !\n" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, fuzzy, c-format +msgid " signed by %08lX at %s\n" +msgstr "" +" »\n" +"signé avec votre clé %08lX à %s\n" + +#: g10/keyedit.c:1759 +#, fuzzy, c-format +msgid " revoked by %08lX at %s\n" +msgstr "" +" »\n" +"signé avec votre clé %08lX à %s\n" + +#: g10/keyedit.c:1779 +#, fuzzy +msgid "You are about to revoke these signatures:\n" +msgstr "Voulez-vous vraiment révoquer les clés sélectionnées ? " + #: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)" @@ -2668,142 +2676,142 @@ msgid "input line longer than %d characters\n" msgstr "la ligne d'entrée est plus longue que %d caractères\n" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "enregistrement de base de confiance %lu : lseek a échoué : %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" "enregistrement de la base de confiance %lu : l'écriture a échoué (n=%d) : " "%s\n" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "transaction de base de confiance trop volumineuse\n" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, c-format msgid "%s: can't access: %s\n" msgstr "%s : ne peut accéder : %s\n" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, c-format msgid "%s: can't create directory: %s\n" msgstr "%s : ne peut créer le répertoire : %s\n" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, c-format msgid "%s: directory created\n" msgstr "%s : répertoire créé\n" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "%s : le répertoire n'existe pas !\n" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, c-format msgid "%s: can't create: %s\n" msgstr "%s : ne peut créer : %s\n" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, c-format msgid "%s: can't create lock\n" msgstr "%s : ne peut créer de verrouillage\n" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s : n'a pas pu créer un enregistrement de version : %s" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s : base de confiance invalide créée\n" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, c-format msgid "%s: trustdb created\n" msgstr "%s : base de confiance créée\n" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s : base de confiance invalide\n" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s : la création de la table de hachage a échoué : %s\n" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, c-format msgid "%s: error updating version record: %s\n" msgstr "" "%s : erreur pendant la mise à jour de l'enregistrement de version : %s\n" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s : erreur pendant la lecture de l'enregistrement de version : %s\n" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s : erreur pendant l'écriture de l'enregistrement de version : %s\n" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "base de confiance : « lseek() » a échoué : %s\n" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "base de confiance : la lecture a échoué (n=%d) : %s\n" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s : ce n'est pas un fichier de base de confiance\n" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s : enregistrement de version avec un numéro %lu\n" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s : version %d du fichier invalide\n" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s : erreur pendant la lecture de l'enregistrement libre : %s\n" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "" "%s : erreur pendant l'écriture de l'enregistrement de\n" "répertoire : %s\n" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s : n'a pu mettre un enregistrement à zéro : %s\n" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s : n'a pas pu ajouter un enregistrement : %s\n" -#: g10/tdbio.c:1759 +#: g10/tdbio.c:1760 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "la base de confiance est corrompue ; exécutez « gpg --fix-trustdb ».\n" @@ -3035,7 +3043,6 @@ msgstr "Ooops, pas de clé\n" #: g10/trustdb.c:2061 -#, fuzzy msgid "Ooops, no user IDs\n" msgstr "Ooops, pas de nom d'utilisateur\n" @@ -3098,32 +3105,32 @@ "ATTENTION : les enregistrements de préférences longs ne sont pas encore\n" "supportés\n" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s : ne peut créer le porte-clés : %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, c-format msgid "%s: keyring created\n" msgstr "%s : porte-clés créé\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" "ATTENTION : 2 fichiers avec des informations confidentielles existent.\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, c-format msgid "%s is the unchanged one\n" msgstr "%s est le fichier original\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "%s est le nouveau\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "Réparez ce problème de sécurité possible\n" @@ -3208,25 +3215,56 @@ "ne peut éviter une clé faible pour le chiffrement symétrique :\n" "%d essais ont eu lieu !\n" +#: g10/delkey.c:93 +#, fuzzy +msgid "there is a secret key for this public key!\n" +msgstr "enlever la clé du porte-clés public" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" + +#: g10/delkey.c:111 +#, fuzzy +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "impossible de faire cela en mode automatique\n" + +#: g10/delkey.c:133 +#, fuzzy +msgid "Delete this key from the keyring? " +msgstr "enlever la clé du porte-clés public" + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "" + #: g10/helptext.c:47 msgid "" "It's up to you to assign a value here; this value will never be exported\n" "to any 3rd party. We need it to implement the web-of-trust; it has nothing\n" "to do with the (implicitly created) web-of-certificates." msgstr "" +"C'est à vous d'assigner une valeur ici ; cette valeur ne sera jamais\n" +"envoyée à une tierce personne. Nous en avons besoin pour créer le réseau\n" +"de confiance (web-of-trust) ; cela n'a rien à voir avec le réseau des\n" +"certificats (créé implicitement)" #: g10/helptext.c:53 msgid "If you want to use this revoked key anyway, answer \"yes\"." msgstr "" +"Si vous voulez utiliser cette clé révoquée quand-même, répondez « oui »." #: g10/helptext.c:57 msgid "If you want to use this untrusted key anyway, answer \"yes\"." msgstr "" +"Si vous voulez utiliser cette clé peu sûre quand-même, répondez « oui »." #: g10/helptext.c:61 msgid "" "Enter the user ID of the addressee to whom you want to send the message." msgstr "" +"Entrez le nom d'utilisateur de la personne à qui vous voulez envoyer\n" +"le message." #: g10/helptext.c:65 msgid "" @@ -3248,6 +3286,23 @@ "this is the reason why the encryption only ElGamal key is not available in\n" "this menu." msgstr "" +"Sélectionnez l'algorithme à utiliser.\n" +"DSA (alias DSS) est l'algorithme de signatures électroniques qui ne peut\n" +"être utilisé que pour les signatures. C'est l'algorithme recommandé car\n" +"la vérification des signatures DSA est beaucoup plus rapide que celle des\n" +"signatures ElGamal.\n" +"\n" +"ElGamal est un algorithme pouvant à la fois être utilisé pour les\n" +"signatures et le chiffrement. OpenPGP en distingue deux sortes :\n" +"l'une destinée uniquement au chiffrement et l'autre pouvant aussi bien\n" +"servir aux signatures ; elles sont en fait identiques mais certains\n" +"paramètres doivent être spécialement choisis pour que la clé génère des\n" +"signatures sûres : ce programme est capable de le faire mais les autres\n" +"implémentations de OpenPGP ne sont pas obligées d'accepter cette forme de\n" +"clé.\n" +"\n" +"La première clé (clé principale) doit toujours être capable de signer ;\n" +"c'est pourquoi la clé ElGamal de chiffrement seul est alors désactivée." #: g10/helptext.c:85 msgid "" @@ -3255,16 +3310,18 @@ "because they are not supported by all programs and signatures created\n" "with them are quite large and very slow to verify." msgstr "" +"Bien que ces clés soient définies dans la RFC2440 elles ne sont pas\n" +"conseillées car tous les programmes ne les supportent pas et les\n" +"signatures créées avec elles sont plutôt longues et très lentes à vérifier." #: g10/helptext.c:92 -#, fuzzy msgid "Enter the size of the key" -msgstr "Entrez le nom d'utilisateur : " +msgstr "Entrez la taille de la clé" #: g10/helptext.c:96 g10/helptext.c:101 g10/helptext.c:113 g10/helptext.c:145 #: g10/helptext.c:150 g10/helptext.c:155 g10/helptext.c:160 msgid "Answer \"yes\" or \"no\"" -msgstr "" +msgstr "Répondez « oui » ou « non »" #: g10/helptext.c:106 msgid "" @@ -3273,19 +3330,22 @@ "get a good error response - instead the system tries to interpret\n" "the given value as an interval." msgstr "" +"Entrez la valeur demandée comme indiqué dans la ligne de commande.\n" +"On peut entrer une date ISO (AAAA-MM-JJ) mais le résultat d'erreur sera\n" +"mauvais - le système essaierait d'interpréter la valeur donnée comme un\n" +"intervalle." #: g10/helptext.c:118 msgid "Enter the name of the key holder" -msgstr "" +msgstr "Entrez le nom du propriétaire de la clé" #: g10/helptext.c:123 msgid "please enter an optional but highly suggested email address" -msgstr "" +msgstr "entrez une adresse e-mail optionnelle mais hautement recommandée" #: g10/helptext.c:127 -#, fuzzy msgid "Please enter an optional comment" -msgstr "Entrez le nom d'un fichier de données : " +msgstr "Entrez un commentaire optionnel" #: g10/helptext.c:132 msgid "" @@ -3295,24 +3355,31 @@ "O to continue with key generation.\n" "Q to to quit the key generation." msgstr "" +"N pour changer le nom.\n" +"C pour changer le commentaire.\n" +"E pour changer l'adresse e-mail.\n" +"O pour continuer à générer la clé.\n" +"Q pour arrêter de générer de clé." #: g10/helptext.c:141 msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key." -msgstr "" +msgstr "Répondez « oui » (ou simplement « o ») pour générer la sous-clé" #: g10/helptext.c:164 msgid "Answer \"yes\" is you want to sign ALL the user IDs" -msgstr "" +msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs" #: g10/helptext.c:168 msgid "" "Answer \"yes\" if you really want to delete this user ID.\n" "All certificates are then also lost!" msgstr "" +"Répondez « oui » si vous voulez vraiment supprimer ce nom\n" +"d'utilisateur. Tous les certificats seront alors perdus en même temps !" #: g10/helptext.c:173 msgid "Answer \"yes\" if it is okay to delete the subkey" -msgstr "" +msgstr "Répondez « oui » s'il faut vraiment supprimer la sous-clé" #: g10/helptext.c:178 msgid "" @@ -3320,20 +3387,30 @@ "to delete this signature because it may be important to establish a\n" "trust connection to the key or another key certified by this key." msgstr "" +"C'est une signature valide dans la clé ; vous n'avez pas normalement\n" +"intérêt à supprimer cette signature car elle peut être importante pour\n" +"établir une connection de confiance vers la clé ou une autre clé certifiée\n" +"par celle-là." #: g10/helptext.c:183 msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" +"Cette signature ne peut pas être vérifiée parce que vous n'avez pas la\n" +"clé correspondante. Vous devriez remettre sa supression jusqu'à ce que\n" +"vous soyez sûr de quelle clé a été utilisée car cette clé de signature\n" +"peut établir une connection de confiance vers une autre clé déjà certifiée." #: g10/helptext.c:189 msgid "" "The signature is not valid. It does make sense to remove it from\n" "your keyring." msgstr "" +"Cette signature n'est pas valide. Vous devriez la supprimer de votre\n" +"porte-clés." #: g10/helptext.c:193 msgid "" @@ -3343,30 +3420,40 @@ "only if this self-signature is for some reason not valid and\n" "a second one is available." msgstr "" +"Cette signature relie le nom d'utilisateur à la clé. Habituellement\n" +"enlever une telle signature n'est pas une bonne idée. En fait GnuPG peut\n" +"ne plus être capable d'utiliser cette clé. Donc faites ceci uniquement si\n" +"cette auto-signature est invalide pour une certaine raison et si une autre\n" +"est disponible." #: g10/helptext.c:202 msgid "" "Please enter the passhrase; this is a secret sentence \n" " Blurb, blurb,.... " msgstr "" +"Entrez le mot de passe ; c'est une phrase secrète \n" +" Blurb, blurb,.... " #: g10/helptext.c:209 msgid "Please repeat the last passphrase, so you are sure what you typed in." msgstr "" +"Répétez le dernier mot de passe pour être sûr de ce que vous avez tapé." #: g10/helptext.c:213 msgid "Give the name fo the file to which the signature applies" -msgstr "" +msgstr "Donnez le nom du fichier auquel la signature se rapporte" #: g10/helptext.c:218 msgid "Answer \"yes\" if it is okay to overwrite the file" -msgstr "" +msgstr "Répondez « oui » s'il faut vraiment réécrire le fichier" #: g10/helptext.c:223 msgid "" "Please enter a new filename. If you just hit RETURN the default\n" "file (which is shown in brackets) will be used." msgstr "" +"Entrez le nouveau nom de fichier. Si vous tapez simplement ENTRÉE lefichier " +"par défaut (indiqué entre crochets) sera utilisé." #: g10/helptext.c:237 msgid "No help available" @@ -3376,156 +3463,3 @@ #, c-format msgid "No help available for `%s'" msgstr "Pas d'aide disponible pour `%s'" - -#~ msgid "edit_ownertrust.value" -#~ msgstr "" -#~ "C'est à vous d'assigner une valeur ici ; cette valeur ne sera jamais\n" -#~ "envoyée à une tierce personne. Nous en avons besoin pour créer le réseau de\n" -#~ "confiance (web-of-trust) ; cela n'a rien à voir avec le réseau des\n" -#~ "certificats (créé implicitement)" - -#~ msgid "revoked_key.override" -#~ msgstr "" -#~ "Si vous voulez utiliser cette clé révoquée quand-même, répondez « oui »." - -#~ msgid "untrusted_key.override" -#~ msgstr "" -#~ "Si vous voulez utiliser cette clé peu sûre quand-même, répondez « oui »." - -#~ msgid "pklist.user_id.enter" -#~ msgstr "" -#~ "Entrez l'adresse de la personne à qui vous voulez envoyer le message." - -#~ msgid "keygen.algo" -#~ msgstr "" -#~ "Sélectionnez l'algorithme à utiliser.\n" -#~ "DSA (alias DSS) est l'algorithme de signatures électroniques qui ne peut\n" -#~ "être utilisé que pour les signatures. C'est l'algorithme recommandé car\n" -#~ "la vérification des signatures DSA est beaucoup plus rapide que celle des\n" -#~ "signatures ElGamal.\n" -#~ "ElGamal est un algorithme pouvant à la fois être utilisé pour les\n" -#~ "signatures et le chiffrement. OpenPGP en distingue deux sortes :\n" -#~ "l'une destinée uniquement au chiffrement et l'autre pouvant aussi bien\n" -#~ "servir aux signatures ; elles sont en fait identiques mais certains\n" -#~ "paramètres doivent être spécialement choisis pour que la clé génère des\n" -#~ "signatures sures : ce programme est capable de le faire mais les autres\n" -#~ "implémentaions de OpenPGP ne sont pas obligées d'accepter cette forme de\n" -#~ "clé.\n" -#~ "La première clé (clé principale) doit toujours être capable de signer ;\n" -#~ "c'est pourquoi la clé ElGamal de chiffrement seul est alors désactivée." - -#~ msgid "keygen.algo.elg_se" -#~ msgstr "" -#~ "Bien que ces clés soient définies dans la RFC2440 elles ne sont pas\n" -#~ "conseillées car tous les programmes ne les supportent pas et les signatures\n" -#~ "créées avec elles sont plutôt longues et très lentes à vérifier." - -#~ msgid "keygen.size" -#~ msgstr "Entrez la taille de la clé" - -#~ msgid "keygen.size.huge.okay" -#~ msgstr "Répondez « oui » ou « non »" - -#~ msgid "keygen.size.large.okay" -#~ msgstr "Répondez « oui » ou « non »" - -#~ msgid "keygen.valid" -#~ msgstr "" -#~ "Entrez la valeur demandée comme indiqué dans le prompteur.\n" -#~ "On peut entrer une date ISO (AAAA-MM-JJ) mais le résultat d'erreur sera\n" -#~ "mauvais - le système essaie d'interpréter la valeur donnée comme un\n" -#~ "intervalle." - -#~ msgid "keygen.valid.okay" -#~ msgstr "Répondez « oui » ou « non »" - -#~ msgid "keygen.name" -#~ msgstr "Entrez le nom du propriétaire de la clé" - -#~ msgid "keygen.email" -#~ msgstr "Entrez une adresse e-mail optionnelle mais hautement recommandée" - -#~ msgid "keygen.comment" -#~ msgstr "Entrez un commentaire optionnel" - -#~ msgid "keygen.userid.cmd" -#~ msgstr "" -#~ "N pour changer le nom.\n" -#~ "C pour changer le commentaire.\n" -#~ "E pour changer l'adresse e-mail.\n" -#~ "O pour continuer à générer la clé.\n" -#~ "Q pour arrêter de générer de clé." - -#~ msgid "keygen.sub.okay" -#~ msgstr "Répondez « oui » (ou simplement « o ») pour générer la sous-clé" - -#~ msgid "sign_uid.okay" -#~ msgstr "Répondez « oui » ou « non »" - -#~ msgid "change_passwd.empty.okay" -#~ msgstr "Répondez « oui » ou « non »" - -#~ msgid "keyedit.save.okay" -#~ msgstr "Répondez « oui » ou « non »" - -#~ msgid "keyedit.cancel.okay" -#~ msgstr "Répondez « oui » ou « non »" - -#~ msgid "keyedit.sign_all.okay" -#~ msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs" - -#~ msgid "keyedit.remove.uid.okay" -#~ msgstr "" -#~ "Répondez « oui » si vous voulez vraiment supprimer ce nom\n" -#~ "d'utilisateur. Tous les certificats seront alors perdus en même temps !" - -#~ msgid "keyedit.remove.subkey.okay" -#~ msgstr "Entrez « oui » s'il faut vraiment supprimer la sous-clé" - -#~ msgid "keyedit.delsig.valid" -#~ msgstr "" -#~ "C'est une signature valide dans la clé ; vous n'avez pas normalement\n" -#~ "intérêt à supprimer cette signature car elle peut être importante pour\n" -#~ "établir une connection de confiance vers la clé ou une autre clé certifiée\n" -#~ "par celle-là." - -#~ msgid "keyedit.delsig.unknown" -#~ msgstr "" -#~ "Cette signature ne peut pas être vérifiée parce que vous n'avez pas la\n" -#~ "clé correspondante. Vous devriez remettre sa supression jusqu'à ce que\n" -#~ "vous soyez sûr de quelle clé a été utilisée car cette clé de signature\n" -#~ "peut établir une connection de confiance vers une autre clé déjà certifiée." - -#~ msgid "keyedit.delsig.invalid" -#~ msgstr "" -#~ "Cette signature n'est pas valide. Vous devriez la supprimer de votre\n" -#~ "porte-clés." - -#~ msgid "keyedit.delsig.selfsig" -#~ msgstr "" -#~ "Cette signature relie le nom d'utilisateur à la clé. Habituellement\n" -#~ "enlever une telle signature n'est pas une bonne idée. En fait GnuPG peut\n" -#~ "ne plus être capable d'utiliser cette clé. Donc faites ceci uniquement si\n" -#~ "cette auto-signature est invalide pour une certaine raison et si une autre\n" -#~ "est disponible." - -#~ msgid "passphrase.enter" -#~ msgstr "" -#~ "Entrez le mot de passe ; c'est une phrase secrète \n" -#~ " Blurb, blurb,.... " - -#~ msgid "passphrase.repeat" -#~ msgstr "" -#~ "Répétez le dernier mot de passe pour être sûr de ce que vous avez tapé." - -#~ msgid "detached_signature.filename" -#~ msgstr "Donnez le nom du fichier auquel la signature se rapporte" - -#~ msgid "openfile.overwrite.okay" -#~ msgstr "Entrez « oui » s'il faut vraiment réécrire le fichier" - -#~ msgid "openfile.askoutname" -#~ msgstr "" -#~ "Entrez le nouveau nom de fichier. Si vous tapez simplement ENTRÉE le " -#~ "fichier\n" -#~ "par défaut (indiqué entre crochets) sera utilisé." diff -urN gnupg-0.9.11/po/gnupg.pot gnupg-1.0.0/po/gnupg.pot --- gnupg-0.9.11/po/gnupg.pot Fri Sep 3 08:52:27 1999 +++ gnupg-1.0.0/po/gnupg.pot Sun Sep 5 19:21:35 1999 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1386,8 +1386,8 @@ msgid "Really create? " msgstr "" -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" msgstr "" @@ -1729,7 +1729,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "" @@ -2056,7 +2056,7 @@ msgid "enable a key" msgstr "" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "" @@ -2232,6 +2232,25 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +msgid "You have signed these user IDs:\n" +msgstr "" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, c-format +msgid " signed by %08lX at %s\n" +msgstr "" + +#: g10/keyedit.c:1759 +#, c-format +msgid " revoked by %08lX at %s\n" +msgstr "" + +#: g10/keyedit.c:1779 +msgid "You are about to revoke these signatures:\n" +msgstr "" + #: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "" @@ -2504,137 +2523,137 @@ msgid "input line longer than %d characters\n" msgstr "" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, c-format msgid "%s: can't access: %s\n" msgstr "" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, c-format msgid "%s: can't create directory: %s\n" msgstr "" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, c-format msgid "%s: directory created\n" msgstr "" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, c-format msgid "%s: can't create: %s\n" msgstr "" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, c-format msgid "%s: can't create lock\n" msgstr "" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, c-format msgid "%s: invalid trustdb created\n" msgstr "" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, c-format msgid "%s: trustdb created\n" msgstr "" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, c-format msgid "%s: invalid trustdb\n" msgstr "" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, c-format msgid "%s: error updating version record: %s\n" msgstr "" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, c-format msgid "%s: error reading version record: %s\n" msgstr "" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, c-format msgid "%s: error writing version record: %s\n" msgstr "" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, c-format msgid "%s: not a trustdb file\n" msgstr "" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, c-format msgid "%s: invalid file version %d\n" msgstr "" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, c-format msgid "%s: error reading free record: %s\n" msgstr "" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "" -#: g10/tdbio.c:1759 +#: g10/tdbio.c:1760 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" @@ -2915,31 +2934,31 @@ msgid "WARNING: can't yet handle long pref records\n" msgstr "" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, c-format msgid "%s: keyring created\n" msgstr "" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, c-format msgid "%s is the unchanged one\n" msgstr "" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "" @@ -3016,6 +3035,26 @@ msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n" msgstr "" +#: g10/delkey.c:93 +msgid "there is a secret key for this public key!\n" +msgstr "" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" + +#: g10/delkey.c:111 +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "" + +#: g10/delkey.c:133 +msgid "Delete this key from the keyring? " +msgstr "" + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "" + #: g10/helptext.c:47 msgid "" "It's up to you to assign a value here; this value will never be exported\n" @@ -3131,8 +3170,8 @@ msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" #: g10/helptext.c:189 diff -urN gnupg-0.9.11/po/it.po gnupg-1.0.0/po/it.po --- gnupg-0.9.11/po/it.po Fri Sep 3 10:10:49 1999 +++ gnupg-1.0.0/po/it.po Tue Sep 7 18:48:33 1999 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg-0.9.7\n" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" "PO-Revision-Date: 1999-08-17 23:04+02:00\n" "Last-Translator: Marco d'Itri \n" "Language-Team: Italian \n" @@ -1492,8 +1492,8 @@ msgid "Really create? " msgstr "Crea davvero? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: impossibile aprire: %s\n" @@ -1839,7 +1839,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "chiave %08lX: la nostra copia non ha autofirma\n" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: utente non trovato\n" @@ -2179,7 +2179,7 @@ msgid "enable a key" msgstr "abilita una chiave" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "impossibile fare questo in modo batch\n" @@ -2364,6 +2364,33 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Creare un certificato di revoca per questa firma? (s/N)" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +#, fuzzy +msgid "You have signed these user IDs:\n" +msgstr "Non puoi cancellare l'ultimo user id!\n" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, fuzzy, c-format +msgid " signed by %08lX at %s\n" +msgstr "" +"\"\n" +"firmata con la tua chiave %08lX a %s\n" +"\n" + +#: g10/keyedit.c:1759 +#, fuzzy, c-format +msgid " revoked by %08lX at %s\n" +msgstr "" +"\"\n" +"firmata con la tua chiave %08lX a %s\n" +"\n" + +#: g10/keyedit.c:1779 +#, fuzzy +msgid "You are about to revoke these signatures:\n" +msgstr "Vuoi davvero revocare le chiavi selezionate? " + #: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Creare davvero i certificati di revoca? (s/N)" @@ -2648,137 +2675,137 @@ msgid "input line longer than %d characters\n" msgstr "linea di input più lunga di %d caratteri\n" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "trustdb rec %lu: lseek fallita: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "trustdb rec %lu: scrittura fallita (n=%d): %s\n" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "transazione del trustdb troppo grande\n" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: impossibile acedere a: %s\n" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, c-format msgid "%s: can't create directory: %s\n" msgstr "%s: impossibile creare la directory: %s\n" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, c-format msgid "%s: directory created\n" msgstr "%s: directory creata\n" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "%s: la directory non esiste!\n" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: impossibile creare: %s\n" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, c-format msgid "%s: can't create lock\n" msgstr "%s: impossibile creare il lock\n" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: creazione del record della versione fallita: %s" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: è stato creato un trustdb non valido\n" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, c-format msgid "%s: trustdb created\n" msgstr "%s: creato il trustdb\n" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: trustdb non valido\n" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: creazione della tabella hash fallita: %s\n" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: errore durante l'aggiornamento del record di versione: %s\n" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: errore durante la lettura del record di versione: %s\n" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: errore durante la scrittura del record di versione: %s\n" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "trustdb: lseek fallita: %s\n" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "trustdb: read fallita (n=%d): %s\n" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: non è un file di trustdb\n" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: record di versione con recnum %lu\n" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versione %d del file non valida\n" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: errore durante la lettura del record libero: %s\n" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: errore durante la scrittura del dir record: %s\n" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: azzeramento di un record fallito: %s\n" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: accodatura a un record fallita: %s\n" -#: g10/tdbio.c:1759 +#: g10/tdbio.c:1760 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "Il trustdb è danneggiato; eseguire \"gpg --fix-trust-db\".\n" @@ -3065,31 +3092,31 @@ msgid "WARNING: can't yet handle long pref records\n" msgstr "ATTENZIONE: non è ancora possibile gestire record pref lunghi\n" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: impossibile creare il portachiavi: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, c-format msgid "%s: keyring created\n" msgstr "%s: portachiavi creato\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "ATTENZIONE: esistono due file con informazioni confidenziali.\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, c-format msgid "%s is the unchanged one\n" msgstr "%s è quello non modificato\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "%s è quello nuovo\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "Per favore risolvete questo possibile problema di sicurezza\n" @@ -3174,6 +3201,29 @@ "Impossibile evitare una chiave debole per il cifrario simmetrico;\n" "ho provato %d volte!\n" +#: g10/delkey.c:93 +#, fuzzy +msgid "there is a secret key for this public key!\n" +msgstr "rimuove una chiave dal portachiavi pubblico" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" + +#: g10/delkey.c:111 +#, fuzzy +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "impossibile fare questo in modo batch\n" + +#: g10/delkey.c:133 +#, fuzzy +msgid "Delete this key from the keyring? " +msgstr "rimuove una chiave dal portachiavi pubblico" + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "" + #: g10/helptext.c:47 msgid "" "It's up to you to assign a value here; this value will never be exported\n" @@ -3291,8 +3341,8 @@ msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" #: g10/helptext.c:189 diff -urN gnupg-0.9.11/po/pl.po gnupg-1.0.0/po/pl.po --- gnupg-0.9.11/po/pl.po Fri Sep 3 10:10:50 1999 +++ gnupg-1.0.0/po/pl.po Tue Sep 7 18:48:34 1999 @@ -1,26 +1,27 @@ -# GNU PG polish translation -# Copyright (C) 1998 Free Software Foundation, Inc. -# Janusz A. Urbanowicz , 1998. +# Gnu Privacy Guard. +# Copyright (C) 1998-1999 Free Software Foundation, Inc. +# Janusz A. Urbanowicz , 1999. # +# To be included in GnuPG 1.0 # msgid "" msgstr "" -"Project-Id-Version: gnupg-0.9.7\n" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" -"PO-Revision-Date: 1999-05-30 19:08+02:00\n" +"Project-Id-Version: gnupg-0.9.11\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" +"PO-Revision-Date: 1999-09-07 10:59+02:00\n" "Last-Translator: Janusz A. Urbanowicz \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" "Xgettext-Options: --default-domain=gnupg --directory=.. --add-comments " -"--keywor\\d=_ --keyword=N_ --files-from=./POTFILES.in\n" +"--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/pas\\sphrase.c g10/plaintext.c g10/pref.c " -"g10/seckey-cert.c g10/sig-check.c g10/sign\\.c g10/trustdb.c g10/verify.c " -"g10/status.c g10/pubkey-enc.c\n" +"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:79 msgid "Warning: using insecure memory!\n" @@ -44,20 +45,19 @@ #: util/miscutil.c:279 util/miscutil.c:307 msgid "no" -msgstr "" +msgstr "nie" #: util/miscutil.c:280 util/miscutil.c:310 msgid "nN" -msgstr "" +msgstr "nN" #: g10/keyedit.c:564 util/miscutil.c:308 msgid "quit" msgstr "wyj¶cie" #: util/miscutil.c:311 -#, fuzzy msgid "qQ" -msgstr "w" +msgstr "wW" #: util/errors.c:54 msgid "general error" @@ -362,12 +362,10 @@ msgstr "usuniêcie klucza ze zbioru kluczy publicznych" #: g10/g10.c:203 -#, fuzzy msgid "sign a key" msgstr "z³o¿enie podpisu na kluczu" #: g10/g10.c:204 -#, fuzzy msgid "sign a key locally" msgstr "z³o¿enie lokalnego podpisu na kluczu" @@ -408,9 +406,8 @@ msgstr "wczytanie warto¶æi zaufania" #: g10/g10.c:220 -#, fuzzy msgid "update the trust database" -msgstr "|[NAZWY]|naniesienie poprawek do bazy zaufania" +msgstr "uaktualnienie bazy zaufania" #: g10/g10.c:222 msgid "|[NAMES]|check the trust database" @@ -451,13 +448,12 @@ msgstr "|NAZWA|szyfrowanie dla odbiorcy NAZWA" #: g10/g10.c:236 -#, fuzzy msgid "|NAME|use NAME as default recipient" -msgstr "|NAZWA|u¿ycie NAZWA jako domy¶lnego klucza tajnego" +msgstr "|NAZWA|u¿ycie NAZWA jako domy¶lnego adresata" #: g10/g10.c:238 msgid "use the default key as default recipient" -msgstr "" +msgstr "domy¶lny klucz jest domy¶lnym adresatem" #: g10/g10.c:242 msgid "use this user-id to sign or decrypt" @@ -485,7 +481,7 @@ #: g10/g10.c:249 msgid "don't use the terminal at all" -msgstr "" +msgstr "bez odwo³añ do terminala" #: g10/g10.c:250 msgid "force v3 signatures" @@ -570,7 +566,7 @@ #: g10/g10.c:273 msgid "set all packet, cipher and digest options to OpenPGP behavior" -msgstr "" +msgstr "zgodno¶æ ustawieñ pakietów, szyfrów i skrótów z OpenPGP" #: g10/g10.c:274 msgid "|N|use passphrase mode N" @@ -602,7 +598,7 @@ #: g10/g10.c:283 msgid "|NAME=VALUE|use this notation data" -msgstr "" +msgstr "|NAZWA=TRE¦Æ|adnotacje" #: g10/g10.c:285 msgid "" @@ -682,17 +678,17 @@ #: g10/g10.c:892 g10/g10.c:901 #, c-format msgid "NOTE: %s is not for normal use!\n" -msgstr "" +msgstr "UWAGA: %s nie jest do normalnego u¿ytku!\n" #: g10/g10.c:894 #, c-format msgid "%s not allowed with %s!\n" -msgstr "" +msgstr "%s jest niedozwolony z %s!\n" #: g10/g10.c:897 #, c-format msgid "%s makes no sense with %s!\n" -msgstr "" +msgstr "%s nie ma sensu z %s!\n" #: g10/g10.c:916 g10/g10.c:928 msgid "selected cipher algorithm is invalid\n" @@ -704,7 +700,7 @@ #: g10/g10.c:938 msgid "the given policy URL is invalid\n" -msgstr "" +msgstr "podany URL regulaminu jest niepoprawny\n" #: g10/g10.c:941 #, c-format @@ -729,12 +725,12 @@ #: g10/g10.c:954 msgid "invalid S2K mode; must be 0, 1 or 3\n" -msgstr "Niepoprawny tryb S2K; musi mieæ warto¶æ 0, 1 lub 3\n" +msgstr "niepoprawny tryb S2K; musi mieæ warto¶æ 0, 1 lub 3\n" #: g10/g10.c:1031 #, c-format msgid "failed to initialize the TrustDB: %s\n" -msgstr "Inicjowanie Bazy Zaufania nie powiod³o siê: %s\n" +msgstr "inicjowanie Bazy Zaufania nie powiod³o siê: %s\n" #: g10/g10.c:1037 msgid "--store [filename]" @@ -766,35 +762,30 @@ #: g10/g10.c:1112 msgid "--sign-key user-id" -msgstr "" +msgstr "--sign-key nazwa u¿ytkownika" #: g10/g10.c:1120 -#, fuzzy msgid "--lsign-key user-id" -msgstr "--delete-key nazwa u¿ytkownika" +msgstr "--lsign-key nazwa u¿ytkownika" #: g10/g10.c:1128 -#, fuzzy msgid "--edit-key user-id [commands]" msgstr "--edit-key nazwa u¿ytkownika [polecenia]" #: g10/g10.c:1144 -#, fuzzy msgid "--delete-secret-key user-id" msgstr "--delete-secret-key nazwa u¿ytkownika" #: g10/g10.c:1147 -#, fuzzy msgid "--delete-key user-id" msgstr "--delete-key nazwa u¿ytkownika" #: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" -msgstr "nie mogê otworzyæ %s: %s\n" +msgstr "nie mo¿na otworzyæ %s: %s\n" #: g10/g10.c:1182 -#, fuzzy msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "-k[v][v][v][c] [identyfikator] [zbiór kluczy]" @@ -824,26 +815,28 @@ #: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" -msgstr "nie mogê otworzyæ '%s'\n" +msgstr "nie mo¿na otworzyæ '%s'\n" #: g10/g10.c:1576 msgid "" "the first character of a notation name must be a letter or an underscore\n" -msgstr "" +msgstr "adnotacja musi zaczynaæ siê od podkre¶lenia lub litery\n" #: g10/g10.c:1582 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" +"nazwa adnotacji mo¿e zawieraæ tylko litery, cyfry, kropki,\n" +"podkre¶lenia, i musi koñczyæ siê '='\n" #: g10/g10.c:1588 msgid "dots in a notation name must be surrounded by other characters\n" -msgstr "" +msgstr "kropki w adnotacji musz± znajdowaæ siê pomiêdzy innymi znakami\n" #: g10/g10.c:1596 msgid "a notation value must not use any control characters\n" -msgstr "" +msgstr "warto¶æ adnotacji nie mo¿e zawieraæ znaków steruj±cych\n" #: g10/armor.c:296 #, c-format @@ -868,7 +861,7 @@ #: g10/armor.c:500 msgid "invalid dash escaped line: " -msgstr "niepoprawne oznaczenie linii minusami:" +msgstr "niepoprawne oznaczenie linii minusami: " #: g10/armor.c:512 msgid "unexpected armor:" @@ -923,14 +916,12 @@ #. Translators: this shoud fit into 24 bytes to that the fingerprint #. * data is properly aligned with the user ID #: g10/pkclist.c:53 -#, fuzzy msgid " Fingerprint:" -msgstr " do³±czono do zbioru: %lu" +msgstr " Odcisk:" #: g10/pkclist.c:80 -#, fuzzy msgid "Fingerprint:" -msgstr "okazanie odcisku klucza" +msgstr "Odcisk klucza:" #. a string with valid answers #: g10/pkclist.c:197 @@ -1133,9 +1124,9 @@ msgstr "%s: pominiêty: %s\n" #: g10/pkclist.c:702 g10/pkclist.c:868 -#, fuzzy, c-format +#, c-format msgid "%s: skipped: public key already present\n" -msgstr "%s: problem przy odczycie bloku klucza: %s\n" +msgstr "%s: pominiêty: klucz publiczny ju¿ znajduje siê w bazie\n" #: g10/pkclist.c:729 msgid "" @@ -1154,24 +1145,21 @@ msgstr "Brak takiego identyfikatora u¿ytkownika.\n" #: g10/pkclist.c:756 -#, fuzzy msgid "skipped: public key already set as default recipient\n" -msgstr "%s: problem przy odczycie bloku klucza: %s\n" +msgstr "pominiêty: klucz publiczny ju¿ jest domy¶lnym adresatem\n" #: g10/pkclist.c:778 -#, fuzzy msgid "Public key is disabled.\n" -msgstr "klucz publiczny %08lX\n" +msgstr "Klucz publiczny wy³±czony z uzycia.\n" #: g10/pkclist.c:785 -#, fuzzy msgid "skipped: public key already set with --encrypt-to\n" -msgstr "%s: problem przy odczycie bloku klucza: %s\n" +msgstr "pominiêty: klucz publiczny ju¿ wybrany w --encrypt-to\n" #: g10/pkclist.c:816 -#, fuzzy, c-format +#, c-format msgid "unknown default recipient `%s'\n" -msgstr "UWAGA: brak domy¶lnego pliku opcji '%s'\n" +msgstr "nieznany domy¶lny adresat '%s'\n" #: g10/pkclist.c:849 #, c-format @@ -1179,9 +1167,9 @@ msgstr "%s: b³±d podczas sprawdzania klucza: %s\n" #: g10/pkclist.c:854 -#, fuzzy, c-format +#, c-format msgid "%s: skipped: public key is disabled\n" -msgstr "%s: problem przy odczycie bloku klucza: %s\n" +msgstr "%s: pominiêty: klucz publiczny wy³±czony z u¿ycia\n" #: g10/pkclist.c:892 msgid "no valid addressees\n" @@ -1470,7 +1458,6 @@ msgstr "Para kluczy dla DSA bêdzie mia³a 1024 bity d³ugo¶ci.\n" #: g10/keygen.c:870 -#, fuzzy msgid "Key generation canceled.\n" msgstr "Procedura generacji klucza zosta³a anulowana.\n" @@ -1521,11 +1508,11 @@ msgid "Really create? " msgstr "Na pewno generowaæ? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" -msgstr "%s: nie mogê otworzyæ: %s\n" +msgstr "%s: nie mo¿na otworzyæ: %s\n" #: g10/encode.c:113 #, c-format @@ -1576,17 +1563,15 @@ #: g10/getkey.c:1289 g10/getkey.c:1328 msgid "RSA key cannot be used in this version\n" -msgstr "" +msgstr "W tej wersji nie mo¿na u¿ywaæ kluczy RSA\n" #: g10/getkey.c:1291 g10/getkey.c:1330 -#, fuzzy msgid "No key for user ID\n" -msgstr "klucz %08lX: brak identyfikatora u¿ytkownika\n" +msgstr "Brak klucza z takim identyfikatorem u¿ytkownika.\n" #: g10/getkey.c:1369 g10/getkey.c:1409 -#, fuzzy msgid "No user ID for key\n" -msgstr "brak klucza prywatnego\n" +msgstr "Brak identyfikatora u¿ytkownika dla klucza.\n" #: g10/getkey.c:1565 g10/getkey.c:1621 #, c-format @@ -1601,7 +1586,7 @@ #: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" -msgstr "pomijam blok typu %d\n" +msgstr "blok typu %d zostaje pominiêty\n" #: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format @@ -1669,12 +1654,12 @@ msgstr " tajnych kluczy bez zmian: %lu\n" #: g10/import.c:362 g10/import.c:554 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID\n" msgstr "klucz %08lX: brak identyfikatora u¿ytkownika\n" #: g10/import.c:376 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no valid user IDs\n" msgstr "klucz %08lX: brak poprawnych identyfikatorów u¿ytkownika\n" @@ -1709,7 +1694,7 @@ #: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" -msgstr "klucz %08lX: klucz publiczny wczytany do zbioru\n" +msgstr "klucz %08lX: klucz publiczny wczytano do zbioru\n" #: g10/import.c:427 #, c-format @@ -1727,12 +1712,12 @@ msgstr "klucz %08lX: nie mo¿na odczytaæ oryginalnego bloku klucza; %s\n" #: g10/import.c:469 -#, fuzzy, c-format +#, c-format msgid "key %08lX: 1 new user ID\n" msgstr "klucz %08lX: 1 nowy identyfikator u¿ytkownika\n" #: g10/import.c:472 -#, fuzzy, c-format +#, c-format msgid "key %08lX: %d new user IDs\n" msgstr "klucz %08lX: %d nowych identyfikatorów u¿ytkownika\n" @@ -1797,7 +1782,7 @@ msgstr "klucz %08lX: wczytany certyfikat uniewa¿nienia\n" #: g10/import.c:711 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID for signature\n" msgstr "klucz %08lX: brak identyfikatora u¿ytkownika do podpisu\n" @@ -1823,14 +1808,14 @@ msgstr "klucz %08lX: niepoprawne dowi±zanie podklucza\n" #: g10/import.c:769 -#, fuzzy, c-format +#, c-format msgid "key %08lX: accepted non self-signed user ID '" -msgstr "klucz %08lX: zosta³ pominiêty identyfikator u¿ytkownika '" +msgstr "klucz %08lX: przyjêto identyfikator nie podpisany nim samym '" #: g10/import.c:798 -#, fuzzy, c-format +#, c-format msgid "key %08lX: skipped user ID '" -msgstr "klucz %08lX: zosta³ pominiêty identyfikator u¿ytkownika '" +msgstr "klucz %08lX: pominiêto identyfikator u¿ytkownika '" #: g10/import.c:821 #, c-format @@ -1873,7 +1858,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "klucz %08lX: dostêpna kopia nie jest podpisana ni± sam±\n" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: nie znaleziono u¿ytkownika\n" @@ -1914,12 +1899,11 @@ msgstr "%d podpisów nie sprawdzonych z powodu b³êdów\n" #: g10/keyedit.c:231 -#, fuzzy msgid "1 user ID without valid self-signature detected\n" msgstr "wykryto 1 identyfikator u¿ytkownika bez podpisu w³a¶ciciela klucza\n" #: g10/keyedit.c:233 -#, fuzzy, c-format +#, c-format msgid "%d user IDs without valid self-signatures detected\n" msgstr "" "wykryto %d identyfikatorów u¿ytkownika bez podpisów w³a¶ciciela klucza\n" @@ -2035,7 +2019,6 @@ msgstr "lista" #: g10/keyedit.c:570 -#, fuzzy msgid "list key and user IDs" msgstr "lista kluczy i identyfikatorów u¿ytkowników" @@ -2048,7 +2031,6 @@ msgstr "id" #: g10/keyedit.c:572 -#, fuzzy msgid "select user ID N" msgstr "wybór identyfikatora u¿ytkownika N" @@ -2101,7 +2083,6 @@ msgstr "dodid" #: g10/keyedit.c:580 -#, fuzzy msgid "add a user ID" msgstr "dodanie nowego identyfikatora u¿ytkownika do klucza" @@ -2110,7 +2091,6 @@ msgstr "usid" #: g10/keyedit.c:581 -#, fuzzy msgid "delete user ID" msgstr "usuniêcie identyfikatora u¿ytkownika z klucza" @@ -2131,12 +2111,10 @@ msgstr "usuniêcie podklucza" #: g10/keyedit.c:584 -#, fuzzy msgid "delsig" msgstr "lpodpis" #: g10/keyedit.c:584 -#, fuzzy msgid "delete signatures" msgstr "lista podpisów" @@ -2202,23 +2180,21 @@ #: g10/keyedit.c:594 msgid "disable" -msgstr "" +msgstr "wy³kl" #: g10/keyedit.c:594 -#, fuzzy msgid "disable a key" -msgstr "klucz niepoprawny" +msgstr "wy³±czyæ klucz z u¿ycia" #: g10/keyedit.c:595 msgid "enable" -msgstr "" +msgstr "w³kl" #: g10/keyedit.c:595 -#, fuzzy msgid "enable a key" -msgstr "klucz niepoprawny" +msgstr "w³±czyæ klucz do u¿ycia" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "nie dzia³a w trybie wsadowym\n" @@ -2237,12 +2213,10 @@ msgstr "Do wykonania tej operacji potrzebny jest klucz tajny.\n" #: g10/keyedit.c:758 -#, fuzzy msgid "Really sign all user IDs? " msgstr "Podpisaæ wszystkie identyfikatory u¿ytkownika na tym kluczu? " #: g10/keyedit.c:759 -#, fuzzy msgid "Hint: Select the user IDs to sign\n" msgstr "Podpowied¼: wybierz identyfikatory u¿ytkownika do podpisania.\n" @@ -2252,22 +2226,18 @@ msgstr "naniesienie poprawek bazy zaufania nie powiod³o siê: %s\n" #: g10/keyedit.c:797 g10/keyedit.c:818 -#, fuzzy msgid "You must select at least one user ID.\n" msgstr "Musisz wybraæ co najmniej jeden identyfikator u¿ytkownika.\n" #: g10/keyedit.c:799 -#, fuzzy msgid "You can't delete the last user ID!\n" msgstr "Nie mo¿esz usun±æ ostatniego identyfikatora u¿ytkownika!\n" #: g10/keyedit.c:802 -#, fuzzy msgid "Really remove all selected user IDs? " msgstr "Czy na pewno usun±æ wszystkie wybrane identyfikatory u¿ytkownika? " #: g10/keyedit.c:803 -#, fuzzy msgid "Really remove this user ID? " msgstr "Czy na pewno usun±æ ten identyfikator u¿ytkownika? " @@ -2319,42 +2289,38 @@ msgstr "Niepoprawna komenda (spróbuj \"help\")\n" #: g10/keyedit.c:1065 -#, fuzzy msgid "This key has been disabled" -msgstr "Uwaga: Data wa¿no¶ci tego klucza up³ynê³a!\n" +msgstr "Ten klucz zosta³ wy³±czony z u¿ytku" #: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" -msgstr "" +msgstr "Usun±æ ten poprawny podpis? (t/N/w)" #: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" -msgstr "" +msgstr "Usun±æ ten niepoprawny podpis? (t/N/w)" #: g10/keyedit.c:1344 -#, fuzzy msgid "Delete this unknown signature? (y/N/q)" -msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)" +msgstr "Usun±æ ten nieznany podpis? (t/N/w)" #: g10/keyedit.c:1350 -#, fuzzy msgid "Really delete this self-signature? (y/N)" -msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)" +msgstr "Na pewno usun±æ ten podpis klucza nim samym? (t/N)" #: g10/keyedit.c:1364 -#, fuzzy, c-format +#, c-format msgid "Deleted %d signature.\n" -msgstr "%d niepoprawnych podpisów\n" +msgstr "%d podpis usuniêty.\n" #: g10/keyedit.c:1365 -#, fuzzy, c-format +#, c-format msgid "Deleted %d signatures.\n" -msgstr "%d niepoprawnych podpisów\n" +msgstr "%d podpisów usuniêtych.\n" #: g10/keyedit.c:1368 -#, fuzzy msgid "Nothing deleted.\n" -msgstr "OSTRZE¯ENIE: nic nie zosta³o wyeksportowane!\n" +msgstr "Nic nie zosta³o usuniête.\n" #: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" @@ -2365,12 +2331,10 @@ msgstr "Proszê wybraæ najwy¿ej jeden podklucz.\n" #: g10/keyedit.c:1447 -#, fuzzy msgid "Changing expiration time for a secondary key.\n" msgstr "Zmiana daty wa¿no¶ci podklucza.\n" #: g10/keyedit.c:1449 -#, fuzzy msgid "Changing expiration time for the primary key.\n" msgstr "Zmiana daty wa¿no¶ci g³ównego klucza.\n" @@ -2383,7 +2347,7 @@ msgstr "Brak odpowiadaj±cego podpisu w zbiorze kluczy tajnych\n" #: g10/keyedit.c:1566 -#, fuzzy, c-format +#, c-format msgid "No user ID with index %d\n" msgstr "Brak identyfikatora u¿ytkownika o numerze %d.\n" @@ -2409,6 +2373,31 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Stworzyæ certyfikat uniewa¿nienia tego podpisu? (t/N)" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +#, fuzzy +msgid "You have signed these user IDs:\n" +msgstr "Nie mo¿esz usun±æ ostatniego identyfikatora u¿ytkownika!\n" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, fuzzy, c-format +msgid " signed by %08lX at %s\n" +msgstr "" +"\"\n" +"podpisano Twoim kluczem %08lX w %s\n" + +#: g10/keyedit.c:1759 +#, fuzzy, c-format +msgid " revoked by %08lX at %s\n" +msgstr "" +"\"\n" +"podpisano Twoim kluczem %08lX w %s\n" + +#: g10/keyedit.c:1779 +#, fuzzy +msgid "You are about to revoke these signatures:\n" +msgstr "Czy na pewno chcesz uniewa¿niæ wybrane klucze? " + #: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)" @@ -2427,21 +2416,18 @@ msgstr "dane zaszyfrowane kluczem publicznym: poprawny klucz sesyjny\n" #: g10/mainproc.c:275 -#, fuzzy, c-format +#, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" -msgstr "d³ugo¶æ %u bitów, typ %s, klucz %08lX, stworzony %s" +msgstr "d³ugo¶æ %u bitów, typ %s, klucz %08lX, stworzony %s\n" #: g10/mainproc.c:285 -#, fuzzy, c-format +#, c-format msgid "encrypted with %s key, ID %08lX\n" -msgstr "" -"Podpis z³o¿ony %.*s za pomoc± %s,\n" -"z u¿yciem klucza o identyfikatorze %08lX\n" +msgstr "zaszyfrowane kluczem %s, o identyfikatorze %08lX\n" #: g10/mainproc.c:291 -#, fuzzy msgid "no secret key for decryption available\n" -msgstr "klucz tajny jest niedostêpny" +msgstr "odszyfrowuj±cy klucz tajny do jest niedostêpny\n" #: g10/mainproc.c:300 #, c-format @@ -2471,17 +2457,16 @@ msgstr "pierwotna nazwa pliku='%.*s'\n" #: g10/mainproc.c:587 g10/mainproc.c:596 -#, fuzzy msgid "WARNING: invalid notation data found\n" -msgstr "nie odnaleziono poprawnych danych w formacie OpenPGP.\n" +msgstr "OSTRZE¯ENIE: niepoprawne dane w adnotacji\n" #: g10/mainproc.c:599 msgid "Notation: " -msgstr "" +msgstr "Adnotacja:" #: g10/mainproc.c:606 msgid "Policy: " -msgstr "" +msgstr "Regulamin:" #: g10/mainproc.c:1025 msgid "signature verification suppressed\n" @@ -2523,7 +2508,7 @@ #: g10/misc.c:94 #, c-format msgid "can't disable core dumps: %s\n" -msgstr "nie mo¿na wy³±czyæ zrzucania pamiêci: %s\n" +msgstr "nie mo¿na wy³±czyæ zrzutów pamiêci: %s\n" #: g10/misc.c:97 msgid "WARNING: program may create a core file!\n" @@ -2544,7 +2529,7 @@ #: g10/misc.c:241 msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "" -"ten algorytm szyfruj±cy jest odradzanym proszê u¿ywaæ bardziej " +"ten algorytm szyfruj±cy jest odradzany; proszê u¿ywaæ bardziej " "standardowych!\n" #: g10/parse-packet.c:113 @@ -2578,9 +2563,8 @@ msgstr " (g³ówny ID klucza %08lX)" #: g10/passphrase.c:190 -#, fuzzy msgid "can't query password in batchmode\n" -msgstr "nie dzia³a w trybie wsadowym\n" +msgstr "pytanie o has³o nie dzia³a w trybie wsadowym\n" #: g10/passphrase.c:194 msgid "Enter passphrase: " @@ -2703,138 +2687,137 @@ msgid "input line longer than %d characters\n" msgstr "linia d³u¿sza ni¿ %d znaków\n" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "baza zaufania, wpis %lu: lseek() nie powiod³a siê: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "baza zaufania, wpis %lu: zapis nie powiód³ siê (n=%d): %s\n" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "zbyt du¿e zlecenie dla bazy zaufania\n" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: dostêp niemo¿liwy: %s\n" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, c-format msgid "%s: can't create directory: %s\n" msgstr "%s: nie mogê utworzyæ katalogu: %s\n" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, c-format msgid "%s: directory created\n" msgstr "%s: katalog utworzony\n" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "%s: katalog nie istnieje!\n" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: nie mogê utworzyæ: %s\n" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, c-format msgid "%s: can't create lock\n" msgstr "%s: nie mogê utworzyæ blokady\n" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: stworzenie zapisu o wersji nie powiod³o siê: %s" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: stworzony niepoprawny plik bazy zaufania\n" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, c-format msgid "%s: trustdb created\n" msgstr "%s: baza zaufania utworzona\n" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: niepoprawny plik bazy zaufania\n" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: tworzenie tablicy skrótów nie powiod³o siê: %s\n" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: b³±d przy uaktualnianiu numeru wersji: %s\n" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: b³±d odczytu numeru wersji: %s\n" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: b³±d zapisu numeru wersji: %s\n" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "baza zaufania: procedura lseek() zawiod³a: %s\n" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "baza zaufania: procedura read() (n=%d) zawiod³a: %s\n" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: to nie jest plik bazy zaufania\n" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: wpis wersji z numerem %lu\n" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: niew³a¶ciwa wersja pliku %d\n" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: b³±d odczytu pustego wpisu: %s\n" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: b³±d zapisu wpisu katalogowego: %s\n" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: zerowanie rekordu nie powiod³o siê: %s\n" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: dopisanie rekordu nie powiod³o siê: %s\n" -#: g10/tdbio.c:1759 -#, fuzzy +#: g10/tdbio.c:1760 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "Baza zaufania jest uszkodzona; proszê uruchomiæ \"gpgm --fix-trust-db\".\n" @@ -2958,16 +2941,14 @@ msgstr "Niepoprawny podpis klucza nim samym" #: g10/trustdb.c:1060 -#, fuzzy msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" -"Poprawne uniewa¿nienie identyfikatora u¿ytkownika pominiête z powodu \n" -"nowszego podpisu tym samym kluczem\n" +"Poprawne uniewa¿nienie identyfikatora u¿ytkownika pominiête z powodu\n" +"nowszego podpisu tym samym kluczem" #: g10/trustdb.c:1066 -#, fuzzy msgid "Valid user ID revocation" -msgstr "Poprawne uniewa¿nienie identyfikatora u¿ytkownika\n" +msgstr "Poprawne uniewa¿nienie identyfikatora u¿ytkownika" #: g10/trustdb.c:1071 msgid "Invalid user ID revocation" @@ -3019,9 +3000,9 @@ msgstr "lid %lu: wpisany\n" #: g10/trustdb.c:1652 -#, fuzzy, c-format +#, c-format msgid "error reading dir record: %s\n" -msgstr "b³±d podczas poszukiwania wpisu katalogowego: %s\n" +msgstr "b³±d podczas odczytu wpisu katalogowego: %s\n" #: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format @@ -3063,7 +3044,6 @@ msgstr "Oops, brak kluczy\n" #: g10/trustdb.c:2061 -#, fuzzy msgid "Ooops, no user IDs\n" msgstr "Oops, brak identyfikatorów u¿ytkowników\n" @@ -3123,31 +3103,31 @@ msgid "WARNING: can't yet handle long pref records\n" msgstr "OSTRZE¯ENIE: d³ugie wpisy ustawieñ jeszcze nie s± obs³ugiwane.\n" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: stworzenie zbioru kluczy jest niemo¿liwe: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, c-format msgid "%s: keyring created\n" msgstr "%s: zbiór kluczy utworzony\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "OSTRZE¯ENIE: Istniej± dwa pliki z poufnymi informacjami.\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, c-format msgid "%s is the unchanged one\n" msgstr "%s pozosta³ bez zmian\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "%s zosta³ utworzony\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "Proszê usun±æ to naruszenie zasad bezpieczeñstwa\n" @@ -3184,12 +3164,11 @@ #: g10/openfile.c:97 #, c-format msgid "%s: unknown suffix\n" -msgstr "" +msgstr "%s: nieznana koñcówka\n" #: g10/openfile.c:119 -#, fuzzy msgid "Enter new filename" -msgstr "--store [plik]" +msgstr "Nazwa pliku" #: g10/openfile.c:160 msgid "writing to stdout\n" @@ -3232,25 +3211,55 @@ "brak mo¿liwo¶ci generacji dobrego klucza dla szyfru symetrycznego;\n" "operacja by³a powtarzana %d razy!\n" +#: g10/delkey.c:93 +#, fuzzy +msgid "there is a secret key for this public key!\n" +msgstr "usuniêcie klucza ze zbioru kluczy publicznych" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" + +#: g10/delkey.c:111 +#, fuzzy +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "nie dzia³a w trybie wsadowym\n" + +#: g10/delkey.c:133 +#, fuzzy +msgid "Delete this key from the keyring? " +msgstr "usuniêcie klucza ze zbioru kluczy publicznych" + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "" + #: g10/helptext.c:47 msgid "" "It's up to you to assign a value here; this value will never be exported\n" "to any 3rd party. We need it to implement the web-of-trust; it has nothing\n" "to do with the (implicitly created) web-of-certificates." msgstr "" +"Te wartosci u¿ytkownik przydziela wg swojego uznania; nie bêd± nigdy\n" +"eksportowane poza ten system. Potrzebne s± one do zbudowania pajêczyny\n" +"zaufania, i nie ma to nic wspólnego z tworzon± automatycznie sieci±\n" +"certyfikatów." #: g10/helptext.c:53 msgid "If you want to use this revoked key anyway, answer \"yes\"." msgstr "" +"Je¶li mimo wszystko chcesz u¿yæ tego uniewa¿nionego klucza, odpowiedz " +"\"tak\"." #: g10/helptext.c:57 msgid "If you want to use this untrusted key anyway, answer \"yes\"." msgstr "" +"Je¶li mimo wszystko chcesz u¿yæ tego nie zaufanego klucza, odpowiedz \"tak\"." #: g10/helptext.c:61 msgid "" "Enter the user ID of the addressee to whom you want to send the message." -msgstr "" +msgstr "Podaj nazwy u¿ytkownika adresatów tej wiadomo¶ci." #: g10/helptext.c:65 msgid "" @@ -3272,6 +3281,24 @@ "this is the reason why the encryption only ElGamal key is not available in\n" "this menu." msgstr "" +"Wybór algorytmu.\n" +"\n" +"DSA (zwany te¿ DSS) to algorytm podpisu cyfrowego i tylko do sk³adania\n" +"podpisów mo¿e byæ u¿ywany. Jest to preferowany algorytm poniewa¿\n" +"sk³adane nim podpisy sprawdza siê du¿o szybciej ni¿ te sk³adane\n" +"algorytmem ElGamala.\n" +"\n" +"Algorytm ElGamala mo¿e byæ u¿ywany zarówno do podpisów jak i do\n" +"szyfrowania. Standard OpenPGP rozró¿nia dwa typy tego algorytmu -\n" +"tylko do szyfrowania, oraz do szyfrowania i podpisywania. Faktycznie\n" +"algorytm pozostaje bez zmian ale pewne parametry musz± byæ odpowiednio\n" +"dobrane aby stworzyæ klucz którym mo¿na sk³adaæ bezpieczne\n" +"podpisy. Ten program obs³uguje oba typy ale inne implementacje nnie\n" +"musz± rozumieæ kluczy do podpisów i szyfrowania\n" +"\n" +"G³ówny klucz musi byæ kluczem podpisuj±cym, jest to powodem dla\n" +"którego w tym menu nie ma mo¿no¶ci wyboru klucza ElGamala do\n" +"szyfrowania." #: g10/helptext.c:85 msgid "" @@ -3279,16 +3306,18 @@ "because they are not supported by all programs and signatures created\n" "with them are quite large and very slow to verify." msgstr "" +"Ten typ klucza jest zdefiniowany w RFC2440, jednak¿e jest on odradzany\n" +"gdy¿ nie jest obs³ugiwany przez wszystkie programy, a podpisy nim\n" +"sk³adane s± du¿e i ich sprawdzanie trwa d³ugo." #: g10/helptext.c:92 -#, fuzzy msgid "Enter the size of the key" -msgstr "Wprowad¼ identyfikator u¿ytkownika (user ID): " +msgstr "Wprowad¼ rozmiar klucza" #: g10/helptext.c:96 g10/helptext.c:101 g10/helptext.c:113 g10/helptext.c:145 #: g10/helptext.c:150 g10/helptext.c:155 g10/helptext.c:160 msgid "Answer \"yes\" or \"no\"" -msgstr "" +msgstr "Odpowied¼ \"tak\" lub \"nie\"." #: g10/helptext.c:106 msgid "" @@ -3297,20 +3326,24 @@ "get a good error response - instead the system tries to interpret\n" "the given value as an interval." msgstr "" +"Wprowad¼ ¿±dan± warto¶æ (jak w znaku zachêty). \n" +"Mo¿na tu podaæ datê w formacie ISO (RRRR-MM-DD) ale nie da to\n" +"w³a¶ciwej obs³ugi b³êdów - system próbuje interpretowaæ podan± warto¶æ\n" +"jako okres." #: g10/helptext.c:118 msgid "Enter the name of the key holder" -msgstr "" +msgstr "Nazwa w³a¶ciciela klucza." #: g10/helptext.c:123 msgid "please enter an optional but highly suggested email address" -msgstr "" +msgstr "proszê wprowadziæ opcjonalny ale mocno doradzany adres e-mail" #: g10/helptext.c:127 -#, fuzzy msgid "Please enter an optional comment" -msgstr "Nazwa pliku danych: " +msgstr "Proszê wprowadziæ opcjonalny komentarz" +# OSTRZE¯ENIE: nic nie zosta³o wyeksportowane! #: g10/helptext.c:132 msgid "" "N to change the name.\n" @@ -3319,24 +3352,33 @@ "O to continue with key generation.\n" "Q to to quit the key generation." msgstr "" +"N aby zmieniæ nazwê (nazwisko).\n" +"C aby zmieniæ komentarz.<\n" +"E aby zmieniæ adres e-mail.\n" +"O aby kontynuowaæ tworzenie klucza.\n" +"Q aby zrezygnowaæ z tworzenia klucza." #: g10/helptext.c:141 msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key." -msgstr "" +msgstr "Je¶li ma zostaæ wygenerowany podklucz, nale¿y odpowiedzieæ \"tak\"." #: g10/helptext.c:164 msgid "Answer \"yes\" is you want to sign ALL the user IDs" msgstr "" +"Aby podpisaæ WSZYSTKIE identyfikatory u¿ytkownika nale¿y odpowiedzieæ " +"\"tak\"." #: g10/helptext.c:168 msgid "" "Answer \"yes\" if you really want to delete this user ID.\n" "All certificates are then also lost!" msgstr "" +"Aby skasowaæ ten identyfikator u¿ytkownika (co wi±¿e siê ze utrat±\n" +"wszystkich jego po¶wiadczeñ!) nale¿y odpowiedzieæ \"tak\"." #: g10/helptext.c:173 msgid "Answer \"yes\" if it is okay to delete the subkey" -msgstr "" +msgstr "Aby skasowaæ podklucz nale¿y odpowiedzieæ \"tak\"." #: g10/helptext.c:178 msgid "" @@ -3344,20 +3386,28 @@ "to delete this signature because it may be important to establish a\n" "trust connection to the key or another key certified by this key." msgstr "" +"To jest poprawny podpis na tym kluczu; normalnie nie nale¿y go usuwaæ\n" +"poniewa¿ mo¿e byæ wa¿ny dla zestawienia po³aczenia zaufania do klucza\n" +"którym go z³o¿ono lub do innego klucza nim po¶wiadczonego." #: g10/helptext.c:183 msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" +"Ten podpis nie mo¿e zostaæ potwierdzony poniewa¿ nie ma\n" +"odpowiadaj±cego mu klucza publicznego. Nale¿y od³o¿yæ usuniêcie tego\n" +"podpisu do czasu, kiedy oka¿e siê który klucz zosta³ u¿yty, poniewa¿ w\n" +"momencie uzyskania tego klucza mo¿e pojawiæ siê ¶cie¿ka zaufania\n" +"pomiêdzy tym a innym, ju¿ po¶wiadczonym kluczem." #: g10/helptext.c:189 msgid "" "The signature is not valid. It does make sense to remove it from\n" "your keyring." -msgstr "" +msgstr "Ten podpis jest niepoprawny. Ma sens usuniêcie go z bazy kluczy." #: g10/helptext.c:193 msgid "" @@ -3367,30 +3417,39 @@ "only if this self-signature is for some reason not valid and\n" "a second one is available." msgstr "" +"To jest podpis wi±¿±cy identyfikator u¿ytkownika z kluczem. Nie nale¿y\n" +"go usuwaæ - GnuPG mo¿e nie móc pos³ugiwaæ siê dalej kluczem bez\n" +"takiego podpisu. Bezpiecznie mo¿na go usun±æ tylko je¶li ten podpis\n" +"klucza nim samym z jakich¶ przyczyn nie jest poprawny, i klucz jest\n" +"drugi raz podpisany w ten sam sposób." #: g10/helptext.c:202 msgid "" "Please enter the passhrase; this is a secret sentence \n" " Blurb, blurb,.... " msgstr "" +"Podaj wyra¿enie przej¶ciowe (d³ugie, skomplikowane has³o)\n" +" Bla, bla, bla...." #: g10/helptext.c:209 msgid "Please repeat the last passphrase, so you are sure what you typed in." msgstr "" +"Proszê powrótrzyæ wyra¿enie przej¶ciowe, aby upewniæ siê ¿e nie by³o pomy³ki." #: g10/helptext.c:213 msgid "Give the name fo the file to which the signature applies" -msgstr "" +msgstr "Nazwa pliku którego dotyczy podpis" #: g10/helptext.c:218 msgid "Answer \"yes\" if it is okay to overwrite the file" -msgstr "" +msgstr "Je¶li mo¿na nadpisaæ ten plik, nale¿y napisaæ \"tak\"" #: g10/helptext.c:223 msgid "" "Please enter a new filename. If you just hit RETURN the default\n" "file (which is shown in brackets) will be used." msgstr "" +"Nazwa pliku. Naci¶niêcie ENTER potwierdzi nazwê domy¶ln± (w nawiasach)." #: g10/helptext.c:237 msgid "No help available" @@ -3401,6 +3460,93 @@ msgid "No help available for `%s'" msgstr "Brak pomocy o '%s'" +#~ msgid "print all message digests" +#~ msgstr "wszystkie skróty wiadomo¶ci" + +#~ msgid "can't lock keyring `%': %s\n" +#~ msgstr "nie mo¿na zablokowaæ zbioru kluczy publicznych: %s\n" + +#~ msgid "error writing keyring `%': %s\n" +#~ msgstr "b³±d zapisu zbioru kluczy '%': %s\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" +#~ msgstr "" +#~ "UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" +#~ "ale jest zaznaczony jako sprawdzony.\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" +#~ msgstr "" +#~ "UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" +#~ "ale nie jest zaznaczony.\n" + +#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "wpis oi podpisie %lu[%d] w li¶cie domy¶lnej %lu nie wskazuje \n" +#~ "na wpis katalogowy\n" + +#~ msgid "lid %lu: no primary key\n" +#~ msgstr "lid %lu: brak klucza g³ównego\n" + +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "" +#~ "lid %lu: identyfikator u¿ytkownika nie zosta³ odnaleziony w bloku klucza\n" + +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "lid %lu: niepodpisany identyfikator u¿ytkownika\n" + +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "lid %lu: podpis klucza nim samym w li¶cie domy¶lnej\n" + +#~ msgid "very strange: no public key\n" +#~ msgstr "bardzo dziwne: brak klucza publicznego\n" + +#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +#~ msgstr "lista domy¶lna %lu[%d] z %lu nie wskazuje na wpis katalogowy\n" + +#~ msgid "lid %lu does not have a key\n" +#~ msgstr "lid %lu nie ma klucza\n" + +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "lid %lu: pobranie bloku klucza niemo¿liwe: %s\n" + +#~ msgid "Too many preferences" +#~ msgstr "Zbyt wiele ustawieñ." + +#~ msgid "Too many preference items" +#~ msgstr "Zbyt wiele pozycji w ustawieniach" + +#~ msgid "public key not anymore available" +#~ msgstr "klucz publiczny jest ju¿ niedostêpny" + +#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" +#~ msgstr "" +#~ "identyfikator %08lX.%lu/%02X%02X: ma zdublowany katalog %lu,\n" +#~ "ale nie jest jeszcze zaznaczony.\n" + +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "insert_trust_record: brak bloku klucza: %s\n" + +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "lid %lu: naniesienie poprawek nie powiod³o siê: %s\n" + +#~ msgid "lid %lu: updated\n" +#~ msgstr "lid %lu: uaktualniony\n" + +#~ msgid "lid %lu: okay\n" +#~ msgstr "lid %lu: OK\n" + +#~ msgid "%s: update failed: %s\n" +#~ msgstr "%s: zapis zmian nie powiod³ siê: %s\n" + +#~ msgid "%s: updated\n" +#~ msgstr "%s: uaktualniony\n" + +#~ msgid "%s: okay\n" +#~ msgstr "%s: OK\n" + +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "lid %lu: blok klucza nie zosta³ odnaleziony: %s\n" + #~ msgid "edit_ownertrust.value" #~ msgstr "" #~ "Przypisanie tych warto¶ci nale¿y do Ciebie, nie bêd± one udostêpnione\n" @@ -3496,6 +3642,9 @@ #~ msgid "change_passwd.empty.okay" #~ msgstr "Odpowiedz \"tak\" lub \"nie\"" +#~ msgid "keyedit.cmd" +#~ msgstr "Podaj \"help\" aby zobaczyæ listê poleceñ." + #~ msgid "keyedit.save.okay" #~ msgstr "Odpowiedz \"tak\" lub \"nie\"" @@ -3515,21 +3664,6 @@ #~ msgid "keyedit.remove.subkey.okay" #~ msgstr "Odpowiedz \"tak\" je¶li na pewno chcesz skasowaæ ten podklucz" -#, fuzzy -#~ msgid "keyedit.delsig.valid" -#~ msgstr "" -#~ "Odpowiedz \"tak\" je¶li chcesz podpisaæ wszystkie identyfikatory klucza" - -#, fuzzy -#~ msgid "keyedit.delsig.unknown" -#~ msgstr "" -#~ "Odpowiedz \"tak\" je¶li chcesz podpisaæ wszystkie identyfikatory klucza" - -#, fuzzy -#~ msgid "keyedit.delsig.invalid" -#~ msgstr "" -#~ "Odpowiedz \"tak\" je¶li chcesz podpisaæ wszystkie identyfikatory klucza" - #~ msgid "passphrase.enter" #~ msgstr "" #~ "Proszê wprowadziæ wyra¿enie przej¶ciowe (tajne zdanie)\n" @@ -3545,103 +3679,6 @@ #~ msgid "openfile.overwrite.okay" #~ msgstr "Odpowiedz \"tak\" je¶li na pewno chcesz nadpisaæ ten plik" -#, fuzzy -#~ msgid "tdbio_search_sdir failed: %s\n" -#~ msgstr "Procedura tdbio_search_dir nie powiod³a siê: %s\n" - -#~ msgid "print all message digests" -#~ msgstr "wszystkie skróty wiadomo¶ci" - -#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -#~ msgstr "" -#~ "UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" -#~ "ale jest zaznaczony jako sprawdzony.\n" - -#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -#~ msgstr "" -#~ "UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" -#~ "ale nie jest zaznaczony.\n" - -#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -#~ msgstr "" -#~ "wpis oi podpisie %lu[%d] w li¶cie domy¶lnej %lu nie wskazuje \n" -#~ "na wpis katalogowy\n" - -#~ msgid "lid %lu: no primary key\n" -#~ msgstr "lid %lu: brak klucza g³ównego\n" - -#~ msgid "lid %lu: user id not found in keyblock\n" -#~ msgstr "" -#~ "lid %lu: identyfikator u¿ytkownika nie zosta³ odnaleziony w bloku klucza\n" - -#~ msgid "lid %lu: user id without signature\n" -#~ msgstr "lid %lu: niepodpisany identyfikator u¿ytkownika\n" - -#~ msgid "lid %lu: self-signature in hintlist\n" -#~ msgstr "lid %lu: podpis klucza nim samym w li¶cie domy¶lnej\n" - -#~ msgid "very strange: no public key\n" -#~ msgstr "bardzo dziwne: brak klucza publicznego\n" - -#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -#~ msgstr "lista domy¶lna %lu[%d] z %lu nie wskazuje na wpis katalogowy\n" - -#~ msgid "lid %lu does not have a key\n" -#~ msgstr "lid %lu nie ma klucza\n" - -#~ msgid "lid %lu: can't get keyblock: %s\n" -#~ msgstr "lid %lu: pobranie bloku klucza niemo¿liwe: %s\n" - -#~ msgid "Too many preferences" -#~ msgstr "Zbyt wiele ustawieñ." - -#~ msgid "Too many preference items" -#~ msgstr "Zbyt wiele pozycji w ustawieniach" - -#~ msgid "public key not anymore available" -#~ msgstr "klucz publiczny jest ju¿ niedostêpny" - -#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -#~ msgstr "" -#~ "identyfikator %08lX.%lu/%02X%02X: ma zdublowany katalog %lu,\n" -#~ "ale nie jest jeszcze zaznaczony.\n" - -#~ msgid "insert_trust_record: keyblock not found: %s\n" -#~ msgstr "insert_trust_record: brak bloku klucza: %s\n" - -#~ msgid "lid %lu: update failed: %s\n" -#~ msgstr "lid %lu: naniesienie poprawek nie powiod³o siê: %s\n" - -#~ msgid "lid %lu: updated\n" -#~ msgstr "lid %lu: uaktualniony\n" - -#~ msgid "lid %lu: okay\n" -#~ msgstr "lid %lu: OK\n" - -#~ msgid "%s: keyblock read problem: %s\n" -#~ msgstr "%s: problem przy odczycie bloku klucza: %s\n" - -#~ msgid "%s: update failed: %s\n" -#~ msgstr "%s: zapis zmian nie powiod³ siê: %s\n" - -#~ msgid "%s: updated\n" -#~ msgstr "%s: uaktualniony\n" - -#~ msgid "%s: okay\n" -#~ msgstr "%s: OK\n" - -#~ msgid "lid %lu: keyblock not found: %s\n" -#~ msgstr "lid %lu: blok klucza nie zosta³ odnaleziony: %s\n" - -#~ msgid "keyedit.cmd" -#~ msgstr "Podaj \"help\" aby zobaczyæ listê poleceñ." - -#~ msgid "can't lock keyring `%': %s\n" -#~ msgstr "nie mo¿na zablokowaæ zbioru kluczy publicznych: %s\n" - -#~ msgid "error writing keyring `%': %s\n" -#~ msgstr "b³±d zapisu zbioru kluczy '%': %s\n" - #~ msgid "can't open file: %s\n" #~ msgstr "nie mo¿na otworzyæ pliku: %s\n" @@ -3771,5 +3808,6 @@ #~ msgid "This key belongs to us (we have the secret key)\n" #~ msgstr "Ten klucz nale¿y do nas (mamy odpowiadaj±cy mu klucz tajny).\n" +# %d niepoprawnych podpisów #~ msgid "You will see a list of signators etc. here\n" #~ msgstr "Tu uka¿e siê lista podpisów itd.\n" diff -urN gnupg-0.9.11/po/pt_BR.po gnupg-1.0.0/po/pt_BR.po --- gnupg-0.9.11/po/pt_BR.po Fri Sep 3 10:10:51 1999 +++ gnupg-1.0.0/po/pt_BR.po Tue Sep 7 18:48:35 1999 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Date: 1998-11-20 23:46:36-0200\n" "From: Thiago Jung Bauermann \n" @@ -39,22 +39,20 @@ #: util/miscutil.c:279 util/miscutil.c:307 msgid "no" -msgstr "" +msgstr "não" #: util/miscutil.c:280 util/miscutil.c:310 msgid "nN" -msgstr "" +msgstr "nN" # INICIO MENU #: g10/keyedit.c:564 util/miscutil.c:308 msgid "quit" msgstr "sair" -# XXX #: util/miscutil.c:311 -#, fuzzy msgid "qQ" -msgstr "s" +msgstr "" #: util/errors.c:54 msgid "general error" @@ -119,7 +117,7 @@ #: util/errors.c:69 msgid "no such user id" -msgstr "identificação de usuário inexistente" +msgstr "identificador de usuário inexistente" #: util/errors.c:70 msgid "secret key not available" @@ -197,7 +195,7 @@ #: util/errors.c:88 msgid "malformed user id" -msgstr "identificação de usuário malformada" +msgstr "identificador de usuário malformado" #: util/errors.c:89 msgid "file close error" @@ -949,9 +947,8 @@ # ??? #. a string with valid answers #: g10/pkclist.c:197 -#, fuzzy msgid "sSmMqQ" -msgstr "sSmMqQ" +msgstr "" #: g10/pkclist.c:201 #, c-format @@ -991,7 +988,7 @@ #: g10/pkclist.c:224 msgid " q = quit\n" -msgstr " q = sai\n" +msgstr " q = sair\n" #: g10/pkclist.c:230 msgid "Your decision? " @@ -1368,8 +1365,8 @@ "\n" msgstr "" "\n" -"Você precisa de uma identificação de usuário para identificar sua chave; o\n" -"programa constrói a identificação a partir do Nome Completo, Comentário e\n" +"Você precisa de um identificador de usuário para identificar sua chave; o\n" +"programa constrói o identificador a partir do Nome Completo, Comentário e\n" "Endereço Eletrônico desta forma:\n" " \"Heinrich Heine (Der Dichter) \"\n" "\n" @@ -1418,7 +1415,7 @@ " \"%s\"\n" "\n" msgstr "" -"Você selecionou esta identificação de usuário:\n" +"Você selecionou este identificador de usuário:\n" " \"%s\"\n" "\n" @@ -1476,7 +1473,7 @@ #: g10/keygen.c:870 msgid "Key generation canceled.\n" -msgstr "Geração de chaves cancelada.\n" +msgstr "Geração de chave cancelada.\n" #: g10/keygen.c:880 #, c-format @@ -1525,8 +1522,8 @@ msgid "Really create? " msgstr "Realmente criar? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: impossível abrir: %s\n" @@ -1583,12 +1580,10 @@ msgstr "chave RSA não pode ser usada nesta versão\n" #: g10/getkey.c:1291 g10/getkey.c:1330 -#, fuzzy msgid "No key for user ID\n" msgstr "Nenhuma chave para identificador de usuário\n" #: g10/getkey.c:1369 g10/getkey.c:1409 -#, fuzzy msgid "No user ID for key\n" msgstr "Nenhum identificador de usuário para chave\n" @@ -1673,14 +1668,14 @@ msgstr " chaves secretas não modificadas: %lu\n" #: g10/import.c:362 g10/import.c:554 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID\n" -msgstr "chave %08lX: sem id de usuário\n" +msgstr "chave %08lX: sem ID de usuário\n" #: g10/import.c:376 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no valid user IDs\n" -msgstr "chave %08lX: sem ids de usuários válidos\n" +msgstr "chave %08lX: sem IDs de usuários válidos\n" #: g10/import.c:378 msgid "this may be caused by a missing self-signature\n" @@ -1731,14 +1726,14 @@ msgstr "chave %08lX: impossível ler bloco de chaves original: %s\n" #: g10/import.c:469 -#, fuzzy, c-format +#, c-format msgid "key %08lX: 1 new user ID\n" -msgstr "chave %8lX: 1 novo id de usuário\n" +msgstr "chave %8lX: 1 novo ID de usuário\n" #: g10/import.c:472 -#, fuzzy, c-format +#, c-format msgid "key %08lX: %d new user IDs\n" -msgstr "chave %08lX: %d novos ids de usuários\n" +msgstr "chave %08lX: %d novos IDs de usuários\n" #: g10/import.c:475 #, c-format @@ -1799,9 +1794,9 @@ msgstr "chave %08lX: certificado de revogação importado\n" #: g10/import.c:711 -#, fuzzy, c-format +#, c-format msgid "key %08lX: no user ID for signature\n" -msgstr "chave %08lX: sem id de usuário para assinatura\n" +msgstr "chave %08lX: nenhum ID de usuário para assinatura\n" #: g10/import.c:718 g10/import.c:742 #, c-format @@ -1824,14 +1819,14 @@ msgstr "chave %08lX: ligação de subchave inválida\n" #: g10/import.c:769 -#, fuzzy, c-format +#, c-format msgid "key %08lX: accepted non self-signed user ID '" -msgstr "chave %08lX: id de usuário sem auto-assinatura aceito '" +msgstr "chave %08lX: aceito ID de usuário sem auto-assinatura '" #: g10/import.c:798 -#, fuzzy, c-format +#, c-format msgid "key %08lX: skipped user ID '" -msgstr "chave %08lX: id de usuário ignorado '" +msgstr "chave %08lX: ignorado ID de usuário '" #: g10/import.c:821 #, c-format @@ -1872,7 +1867,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "chave %08lX: nossa cópia não tem auto-assinatura\n" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: usuário não encontrado\n" @@ -1913,14 +1908,13 @@ msgstr "%d assinaturas não verificadas devido a erros\n" #: g10/keyedit.c:231 -#, fuzzy msgid "1 user ID without valid self-signature detected\n" -msgstr "1 id de usuário sem auto-assinatura válida detectado\n" +msgstr "1 ID de usuário sem auto-assinatura válida detectado\n" #: g10/keyedit.c:233 -#, fuzzy, c-format +#, c-format msgid "%d user IDs without valid self-signatures detected\n" -msgstr "%d ids de usuários sem auto-assinaturas válidas detectados\n" +msgstr "%d IDs de usuários sem auto-assinaturas válidas detectados\n" #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. @@ -2001,76 +1995,65 @@ msgstr "sair deste menu" #: g10/keyedit.c:565 -#, fuzzy msgid "q" -msgstr "s" +msgstr "" #: g10/keyedit.c:566 -#, fuzzy msgid "save" -msgstr "gravar" +msgstr "" #: g10/keyedit.c:566 msgid "save and quit" msgstr "gravar e sair" #: g10/keyedit.c:567 -#, fuzzy msgid "help" -msgstr "ajuda" +msgstr "" #: g10/keyedit.c:567 msgid "show this help" msgstr "mostra esta ajuda" #: g10/keyedit.c:569 -#, fuzzy msgid "fpr" -msgstr "imp" +msgstr "" #: g10/keyedit.c:569 msgid "show fingerprint" msgstr "mostra impressão digital" #: g10/keyedit.c:570 -#, fuzzy msgid "list" -msgstr "lista" +msgstr "" #: g10/keyedit.c:570 -#, fuzzy msgid "list key and user IDs" -msgstr "lista chave e identificações de usuários" +msgstr "lista chave e identificadores de usuários" # ??? #: g10/keyedit.c:571 -#, fuzzy msgid "l" -msgstr "l" +msgstr "" #: g10/keyedit.c:572 -#, fuzzy msgid "uid" -msgstr "uid" +msgstr "" #: g10/keyedit.c:572 -#, fuzzy msgid "select user ID N" -msgstr "seleciona id de usuário N" +msgstr "seleciona ID de usuário N" #: g10/keyedit.c:573 -#, fuzzy msgid "key" -msgstr "chave" +msgstr "" #: g10/keyedit.c:573 msgid "select secondary key N" msgstr "seleciona chave secundária N" #: g10/keyedit.c:574 -#, fuzzy msgid "check" -msgstr "verifica" +msgstr "" #: g10/keyedit.c:574 msgid "list signatures" @@ -2078,14 +2061,12 @@ # ??? #: g10/keyedit.c:575 -#, fuzzy msgid "c" -msgstr "c" +msgstr "" #: g10/keyedit.c:576 -#, fuzzy msgid "sign" -msgstr "assina" +msgstr "" #: g10/keyedit.c:576 msgid "sign the key" @@ -2093,41 +2074,36 @@ # ??? #: g10/keyedit.c:577 -#, fuzzy msgid "s" -msgstr "s" +msgstr "" #: g10/keyedit.c:578 -#, fuzzy msgid "lsign" -msgstr "lassina" +msgstr "" #: g10/keyedit.c:578 msgid "sign the key locally" msgstr "assina a chave localmente" #: g10/keyedit.c:579 -#, fuzzy msgid "debug" -msgstr "depura" +msgstr "" #: g10/keyedit.c:580 msgid "adduid" msgstr "" #: g10/keyedit.c:580 -#, fuzzy msgid "add a user ID" -msgstr "adiciona um novo id de usuário" +msgstr "adiciona um novo ID de usuário" #: g10/keyedit.c:581 msgid "deluid" msgstr "" #: g10/keyedit.c:581 -#, fuzzy msgid "delete user ID" -msgstr "remove id de usuário" +msgstr "remove ID de usuário" #: g10/keyedit.c:582 msgid "addkey" @@ -2146,37 +2122,32 @@ msgstr "remove uma chave secundária" #: g10/keyedit.c:584 -#, fuzzy msgid "delsig" -msgstr "lassina" +msgstr "" #: g10/keyedit.c:584 -#, fuzzy msgid "delete signatures" -msgstr "lista assinaturas" +msgstr "remove assinaturas" #: g10/keyedit.c:585 -#, fuzzy msgid "expire" -msgstr "expira" +msgstr "" #: g10/keyedit.c:585 msgid "change the expire date" msgstr "muda a data de validade" #: g10/keyedit.c:586 -#, fuzzy msgid "toggle" -msgstr "alterna" +msgstr "" #: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "alterna entre listagem de chave secreta e pública" #: g10/keyedit.c:588 -#, fuzzy msgid "t" -msgstr "c" +msgstr "" #: g10/keyedit.c:589 msgid "pref" @@ -2187,36 +2158,32 @@ msgstr "lista preferências" #: g10/keyedit.c:590 -#, fuzzy msgid "passwd" -msgstr "senha" +msgstr "" #: g10/keyedit.c:590 msgid "change the passphrase" msgstr "muda a frase secreta" #: g10/keyedit.c:591 -#, fuzzy msgid "trust" -msgstr "confianca" +msgstr "" #: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "muda os valores de confiança" #: g10/keyedit.c:592 -#, fuzzy msgid "revsig" -msgstr "revsig" +msgstr "" #: g10/keyedit.c:592 msgid "revoke signatures" msgstr "revoga assinaturas" #: g10/keyedit.c:593 -#, fuzzy msgid "revkey" -msgstr "revkey" +msgstr "" #: g10/keyedit.c:593 msgid "revoke a secondary key" @@ -2238,7 +2205,7 @@ msgid "enable a key" msgstr "ativa uma chave" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "impossível fazer isso em modo não-interativo\n" @@ -2257,14 +2224,12 @@ msgstr "A chave secreta é necessária para fazer isto.\n" #: g10/keyedit.c:758 -#, fuzzy msgid "Really sign all user IDs? " -msgstr "Realmente assinar todos os ids de usuário? " +msgstr "Realmente assinar todos os IDs de usuário? " #: g10/keyedit.c:759 -#, fuzzy msgid "Hint: Select the user IDs to sign\n" -msgstr "Sugestão: Selecione os ids de usuário para assinar\n" +msgstr "Sugestão: Selecione os IDs de usuário para assinar\n" #: g10/keyedit.c:786 g10/keyedit.c:968 #, c-format @@ -2272,24 +2237,20 @@ msgstr "atualização do banco de dados de confiabilidade falhou: %s\n" #: g10/keyedit.c:797 g10/keyedit.c:818 -#, fuzzy msgid "You must select at least one user ID.\n" -msgstr "Você precisa selecionar pelo menos um id de usuário.\n" +msgstr "Você precisa selecionar pelo menos um ID de usuário.\n" #: g10/keyedit.c:799 -#, fuzzy msgid "You can't delete the last user ID!\n" -msgstr "Você não pode remover o último id de usuário!\n" +msgstr "Você não pode remover o último ID de usuário!\n" #: g10/keyedit.c:802 -#, fuzzy msgid "Really remove all selected user IDs? " -msgstr "Realmente remover todos os ids de usuário selecionados? " +msgstr "Realmente remover todos os IDs de usuário selecionados? " #: g10/keyedit.c:803 -#, fuzzy msgid "Really remove this user ID? " -msgstr "Realmente remover este id de usuário? " +msgstr "Realmente remover este ID de usuário? " #: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" @@ -2356,21 +2317,21 @@ #: g10/keyedit.c:1350 msgid "Really delete this self-signature? (y/N)" -msgstr "Realmente deletar esta auto-assinatura? (s/N)" +msgstr "Realmente remover esta auto-assinatura? (s/N)" #: g10/keyedit.c:1364 #, c-format msgid "Deleted %d signature.\n" -msgstr "%d assinatura deletada.\n" +msgstr "%d assinatura removida.\n" #: g10/keyedit.c:1365 #, c-format msgid "Deleted %d signatures.\n" -msgstr "%d assinaturas deletadas.\n" +msgstr "%d assinaturas removidas.\n" #: g10/keyedit.c:1368 msgid "Nothing deleted.\n" -msgstr "Nada deletado.\n" +msgstr "Nada removido.\n" #: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" @@ -2397,9 +2358,9 @@ msgstr "Nenhuma assinatura correspondente no chaveiro secreto\n" #: g10/keyedit.c:1566 -#, fuzzy, c-format +#, c-format msgid "No user ID with index %d\n" -msgstr "Nenhum id de usuário com índice %d\n" +msgstr "Nenhum ID de usuário com índice %d\n" #: g10/keyedit.c:1612 #, c-format @@ -2408,7 +2369,7 @@ #: g10/keyedit.c:1710 msgid "user ID: \"" -msgstr "ID de usuário:" +msgstr "ID de usuário: \"" #: g10/keyedit.c:1713 #, c-format @@ -2423,6 +2384,31 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Gerar um certificado de revogação para esta assinatura? (s/N)" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +#, fuzzy +msgid "You have signed these user IDs:\n" +msgstr "Você não pode remover o último ID de usuário!\n" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, fuzzy, c-format +msgid " signed by %08lX at %s\n" +msgstr "" +"\"\n" +"assinado com sua chave %08lX em %s\n" + +#: g10/keyedit.c:1759 +#, fuzzy, c-format +msgid " revoked by %08lX at %s\n" +msgstr "" +"\"\n" +"assinado com sua chave %08lX em %s\n" + +#: g10/keyedit.c:1779 +#, fuzzy +msgid "You are about to revoke these signatures:\n" +msgstr "Você realmente quer revogar as chaves selecionadas? " + #: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Realmente gerar os certificados de revogação? (s/N)" @@ -2704,137 +2690,137 @@ msgid "input line longer than %d characters\n" msgstr "linha de entrada maior que %d caracteres\n" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "banco de dados de confiabilidade rec %lu: lseek falhou: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "banco de dados de confiabilidade rec %lu: escrita falhou (n=%d): %s\n" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "transação de banco de dados de confiabilidade muito grande\n" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: impossível acessar: %s\n" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, c-format msgid "%s: can't create directory: %s\n" msgstr "%s: impossível criar diretório: %s\n" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, c-format msgid "%s: directory created\n" msgstr "%s: diretório criado\n" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "%s: diretório inexistente!\n" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: impossível criar: %s\n" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, c-format msgid "%s: can't create lock\n" msgstr "%s: impossível criar trava\n" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: falha ao criar registro de versão: %s" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: banco de dados de confiabilidade inválido criado\n" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, c-format msgid "%s: trustdb created\n" msgstr "%s: banco de dados de confiabilidade criado\n" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: banco de dados de confiabilidade inválido\n" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: falha ao criar tabela de \"hash\": %s\n" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: erro atualizando registro de versão: %s\n" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: erro lendo registro de versão: %s\n" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: erro escrevendo registro de versão: %s\n" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "banco de dados de confiabilidade: lseek falhou: %s\n" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "banco de dados de confiabilidade: leitura falhou (n=%d): %s\n" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: não é um banco de dados de confiabilidade\n" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: registro de versão com recnum %lu\n" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versão de arquivo inválida %d\n" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: erro lendo registro livre: %s\n" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: erro escrevendo registro de diretório: %s\n" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: falha ao zerar um registro: %s\n" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: falha ao anexar um registro: %s\n" -#: g10/tdbio.c:1759 +#: g10/tdbio.c:1760 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "O banco de dados de confiabilidade está danificado; por favor rode\n" @@ -3062,9 +3048,8 @@ msgstr "Ooops, nenhuma chave\n" #: g10/trustdb.c:2061 -#, fuzzy msgid "Ooops, no user IDs\n" -msgstr "Ooops, nenhum id de usuário\n" +msgstr "Ooops, nenhum ID de usuário\n" #: g10/trustdb.c:2218 #, c-format @@ -3122,31 +3107,31 @@ msgid "WARNING: can't yet handle long pref records\n" msgstr "AVISO: ainda é impossível manipular registros de preferências longos\n" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: impossível criar chaveiro: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, c-format msgid "%s: keyring created\n" msgstr "%s: chaveiro criado\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "AVISO: existem 2 arquivos com informações confidenciais.\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, c-format msgid "%s is the unchanged one\n" msgstr "%s é o não modificado\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "%s é o novo\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "Por favor conserte este possível furo de segurança\n" @@ -3231,25 +3216,54 @@ "impossível evitar chave fraca para criptografia simétrica;\n" "%d tentativas!\n" +#: g10/delkey.c:93 +#, fuzzy +msgid "there is a secret key for this public key!\n" +msgstr "remover a chave do chaveiro público" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" + +#: g10/delkey.c:111 +#, fuzzy +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "impossível fazer isso em modo não-interativo\n" + +#: g10/delkey.c:133 +#, fuzzy +msgid "Delete this key from the keyring? " +msgstr "remover a chave do chaveiro público" + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "" + #: g10/helptext.c:47 msgid "" "It's up to you to assign a value here; this value will never be exported\n" "to any 3rd party. We need it to implement the web-of-trust; it has nothing\n" "to do with the (implicitly created) web-of-certificates." msgstr "" +"Você decide que valor usar aqui; este valor nunca será exportado para\n" +"terceiros. Precisamos dele implementar a rede de confiança, que não tem\n" +"nada a ver com a rede de certificados (implicitamente criada)." #: g10/helptext.c:53 msgid "If you want to use this revoked key anyway, answer \"yes\"." -msgstr "" +msgstr "Se você quiser usar esta chave revogada assim mesmo, responda \"sim\"." #: g10/helptext.c:57 msgid "If you want to use this untrusted key anyway, answer \"yes\"." msgstr "" +"Se você quiser usar esta chave não confiável assim mesmo, responda \"sim\"." #: g10/helptext.c:61 msgid "" "Enter the user ID of the addressee to whom you want to send the message." msgstr "" +"Digite o ID de usuário do destinatário para o qual você quer enviar a\n" +"mensagem." #: g10/helptext.c:65 msgid "" @@ -3271,6 +3285,23 @@ "this is the reason why the encryption only ElGamal key is not available in\n" "this menu." msgstr "" +"Selecione o algoritmo a ser usado.\n" +"\n" +"DSA (ou DSS) é o algoritmo de assinatura digital que pode ser usado apenas\n" +"para assinaturas. Este é o algoritmo recomendado porque a verificação de\n" +"assinaturas DSA é muito mais rápida que a verificação de ElGamal.\n" +"\n" +"ElGamal é um algoritmo que pode ser usado para assinatura e criptografia.\n" +"O OpenPGP distingue dois tipos deste algoritmo: um apenas para criptografia\n" +"e outro para assinatura+criptografia; na verdade são iguais, mas alguns\n" +"parâmetros precisam ser escolhidos de modo especial para criar uma chave\n" +"segura para asssinatura: este programa faz isso, mas algumas outras\n" +"implementações do OpenPGP não vão necessariamente entender o tipo\n" +"assinatura+criptografia.\n" +"\n" +"A chave primária precisa sempre ser uma chave capaz de fazer assinaturas;\n" +"este é o motivo pelo qual a chave ElGamal apenas para criptografia não está\n" +"disponível neste menu." #: g10/helptext.c:85 msgid "" @@ -3278,16 +3309,19 @@ "because they are not supported by all programs and signatures created\n" "with them are quite large and very slow to verify." msgstr "" +"Apesar de estas chaves estarem definidas no RFC2440, elas não são " +"recomendadas\n" +"porque não são suportadas por todos os programas e assinaturas criadas com\n" +"elas são grandes e sua verificação é lenta." #: g10/helptext.c:92 -#, fuzzy msgid "Enter the size of the key" -msgstr "Digite o identificador de usuário: " +msgstr "Digite o tamanho da chave" #: g10/helptext.c:96 g10/helptext.c:101 g10/helptext.c:113 g10/helptext.c:145 #: g10/helptext.c:150 g10/helptext.c:155 g10/helptext.c:160 msgid "Answer \"yes\" or \"no\"" -msgstr "" +msgstr "Responda \"sim\" ou \"não\"" #: g10/helptext.c:106 msgid "" @@ -3296,19 +3330,22 @@ "get a good error response - instead the system tries to interpret\n" "the given value as an interval." msgstr "" +"Digite o valor necessário conforme pedido.\n" +"É possível digitar uma data ISO (AAAA-MM-DD) mas você não terá uma boa\n" +"reação a erros - o sistema tentará interpretar o valor dado como um " +"intervalo." #: g10/helptext.c:118 msgid "Enter the name of the key holder" -msgstr "" +msgstr "Digite o nome do possuidor da chave" #: g10/helptext.c:123 msgid "please enter an optional but highly suggested email address" -msgstr "" +msgstr "por favor digite um endereço de email (opcional mas recomendado)" #: g10/helptext.c:127 -#, fuzzy msgid "Please enter an optional comment" -msgstr "Por favor digite o nome do arquivo de dados: " +msgstr "Por favor digite um comentário (opcional)" #: g10/helptext.c:132 msgid "" @@ -3318,24 +3355,31 @@ "O to continue with key generation.\n" "Q to to quit the key generation." msgstr "" +"N para mudar o nome.\n" +"C para mudar o comentário.\n" +"E para mudar o endereço de correio eletrônico.\n" +"O para continuar a geração da chave.\n" +"S para interromper a geração da chave." #: g10/helptext.c:141 msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key." -msgstr "" +msgstr "Responda \"sim\" (ou apenas \"s\") se quiser gerar a subchave." #: g10/helptext.c:164 msgid "Answer \"yes\" is you want to sign ALL the user IDs" -msgstr "" +msgstr "Responda \"sim\" se quiser assinar TODOS os IDs de usuário" #: g10/helptext.c:168 msgid "" "Answer \"yes\" if you really want to delete this user ID.\n" "All certificates are then also lost!" msgstr "" +"Responda \"sim\" se quiser realmente remover este ID de usuário.\n" +"Todos os certificados também serão perdidos!" #: g10/helptext.c:173 msgid "Answer \"yes\" if it is okay to delete the subkey" -msgstr "" +msgstr "Responda \"sim\" se quiser remover a subchave" #: g10/helptext.c:178 msgid "" @@ -3343,20 +3387,27 @@ "to delete this signature because it may be important to establish a\n" "trust connection to the key or another key certified by this key." msgstr "" +"Esta é uma assinatura válida na chave; normalmente não é desejável\n" +"remover esta assinatura porque ela pode ser importante para estabelecer\n" +"uma conexão de confiança à chave ou a outra chave certificada por esta." #: g10/helptext.c:183 msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" +"Esta assinatura não pode ser verificada porque você não tem a chave\n" +"correspondente. Você deve adiar sua remoção até saber que chave foi usada\n" +"porque a chave desta assinatura pode estabelecer uma conexão de confiança\n" +"através de outra chave já certificada." #: g10/helptext.c:189 msgid "" "The signature is not valid. It does make sense to remove it from\n" "your keyring." -msgstr "" +msgstr "A assinatura não é válida. Faz sentido removê-la de seu chaveiro." #: g10/helptext.c:193 msgid "" @@ -3366,30 +3417,38 @@ "only if this self-signature is for some reason not valid and\n" "a second one is available." msgstr "" +"Esta é uma assinatura que liga o ID de usuário à chave. Geralmente\n" +"não é uma boa idéia remover tal assinatura. É possível que o GnuPG\n" +"não consiga mais usar esta chave. Faça isto apenas se por alguma\n" +"razão esta auto-assinatura não for válida e há uma segunda disponível." #: g10/helptext.c:202 msgid "" "Please enter the passhrase; this is a secret sentence \n" " Blurb, blurb,.... " -msgstr "" +msgstr "Por favor digite a frase secreta" #: g10/helptext.c:209 msgid "Please repeat the last passphrase, so you are sure what you typed in." msgstr "" +"Por favor repita a última frase secreta, para ter certeza do que você " +"digitou." #: g10/helptext.c:213 msgid "Give the name fo the file to which the signature applies" -msgstr "" +msgstr "Dê o nome para o arquivo ao qual a assinatura se aplica" #: g10/helptext.c:218 msgid "Answer \"yes\" if it is okay to overwrite the file" -msgstr "" +msgstr "Responda \"sim\" se quiser sobrescrever o arquivo" #: g10/helptext.c:223 msgid "" "Please enter a new filename. If you just hit RETURN the default\n" "file (which is shown in brackets) will be used." msgstr "" +"Por favor digite um novo nome de arquivo. Se você apenas apertar RETURN o\n" +"arquivo padrão (que é mostrado em colchetes) será usado." #: g10/helptext.c:237 msgid "No help available" diff -urN gnupg-0.9.11/po/ru.po gnupg-1.0.0/po/ru.po --- gnupg-0.9.11/po/ru.po Fri Sep 3 10:10:52 1999 +++ gnupg-1.0.0/po/ru.po Tue Sep 7 18:48:36 1999 @@ -9,7 +9,7 @@ # QingLong (couldn't send an email to let you know) msgid "" msgstr "" -"POT-Creation-Date: 1999-09-03 08:52+0200\n" +"POT-Creation-Date: 1999-09-05 19:21+0200\n" "Content-Type: text/plain; charset=\n" "Date: 1998-01-26 22:08:36+0100\n" "From: Gregory Steuck \n" @@ -1578,8 +1578,8 @@ msgid "Really create? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÓÏÚÄÁÔØ? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 -#: g10/tdbio.c:528 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 +#: g10/tdbio.c:529 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" @@ -1926,7 +1926,7 @@ msgid "key %08lX: our copy has no self-signature\n" msgstr "ËÌÀÞ %08lX: ÎÁÛÁ ËÏÐÉÑ ÎÅ ÉÍÅÅÔ ÓÁÍÏ-ÐÏÄÐÉÓÉ\n" -#: g10/keyedit.c:93 +#: g10/delkey.c:64 g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÎÁÊÄÅÎ\n" @@ -2285,7 +2285,7 @@ msgid "enable a key" msgstr "ðÌÏÈÏÊ ËÌÀÞ" -#: g10/keyedit.c:614 +#: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÜÔÏ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ.\n" @@ -2482,6 +2482,27 @@ msgid "Create a revocation certificate for this signature? (y/N)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" +#. FIXME: detect duplicates here +#: g10/keyedit.c:1740 +#, fuzzy +msgid "You have signed these user IDs:\n" +msgstr "÷Ù ÎÅ ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÐÏÓÌÅÄÎÉÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ!\n" + +#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#, fuzzy, c-format +msgid " signed by %08lX at %s\n" +msgstr "îÅÞÅÇÏ ÐÏÄÐÉÓÙ×ÁÔØ ËÌÀÞÁÍ %08lX\n" + +#: g10/keyedit.c:1759 +#, fuzzy, c-format +msgid " revoked by %08lX at %s\n" +msgstr "îÅÞÅÇÏ ÐÏÄÐÉÓÙ×ÁÔØ ËÌÀÞÁÍ %08lX\n" + +#: g10/keyedit.c:1779 +#, fuzzy +msgid "You are about to revoke these signatures:\n" +msgstr "Möchten Sie einige der ungültigen Signaturen entfernen? " + #: g10/keyedit.c:1797 #, fuzzy msgid "Really create the revocation certificates? (y/N)" @@ -2773,137 +2794,137 @@ msgid "input line longer than %d characters\n" msgstr "" -#: g10/tdbio.c:116 g10/tdbio.c:1634 +#: g10/tdbio.c:121 g10/tdbio.c:1635 #, fuzzy, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1641 +#: g10/tdbio.c:127 g10/tdbio.c:1642 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" -#: g10/tdbio.c:232 +#: g10/tdbio.c:237 msgid "trustdb transaction too large\n" msgstr "" -#: g10/tdbio.c:424 +#: g10/tdbio.c:429 #, fuzzy, c-format msgid "%s: can't access: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:296 g10/tdbio.c:444 +#: g10/ringedit.c:298 g10/tdbio.c:445 #, fuzzy, c-format msgid "%s: can't create directory: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:302 g10/tdbio.c:447 +#: g10/ringedit.c:304 g10/tdbio.c:448 #, fuzzy, c-format msgid "%s: directory created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:451 +#: g10/tdbio.c:452 #, c-format msgid "%s: directory does not exist!\n" msgstr "" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 #, fuzzy, c-format msgid "%s: can't create: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:472 g10/tdbio.c:521 +#: g10/tdbio.c:473 g10/tdbio.c:522 #, fuzzy, c-format msgid "%s: can't create lock\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:486 +#: g10/tdbio.c:487 #, c-format msgid "%s: failed to create version record: %s" msgstr "" -#: g10/tdbio.c:490 +#: g10/tdbio.c:491 #, fuzzy, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:493 +#: g10/tdbio.c:494 #, fuzzy, c-format msgid "%s: trustdb created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:530 +#: g10/tdbio.c:531 #, fuzzy, c-format msgid "%s: invalid trustdb\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:563 +#: g10/tdbio.c:564 #, fuzzy, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:571 +#: g10/tdbio.c:572 #, fuzzy, c-format msgid "%s: error updating version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 +#: g10/tdbio.c:588 g10/tdbio.c:627 g10/tdbio.c:649 g10/tdbio.c:679 +#: g10/tdbio.c:704 g10/tdbio.c:1568 g10/tdbio.c:1595 #, fuzzy, c-format msgid "%s: error reading version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:600 g10/tdbio.c:659 +#: g10/tdbio.c:601 g10/tdbio.c:660 #, fuzzy, c-format msgid "%s: error writing version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1246 +#: g10/tdbio.c:1247 #, fuzzy, c-format msgid "trustdb: lseek failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1254 +#: g10/tdbio.c:1255 #, fuzzy, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1275 +#: g10/tdbio.c:1276 #, fuzzy, c-format msgid "%s: not a trustdb file\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1291 +#: g10/tdbio.c:1292 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "" -#: g10/tdbio.c:1296 +#: g10/tdbio.c:1297 #, fuzzy, c-format msgid "%s: invalid file version %d\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÎÁÞÁÌÏ ÔÅËÓÔÏ×ÏÊ ÐÏÄÐÉÓÉ\n" -#: g10/tdbio.c:1600 +#: g10/tdbio.c:1601 #, fuzzy, c-format msgid "%s: error reading free record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1608 +#: g10/tdbio.c:1609 #, fuzzy, c-format msgid "%s: error writing dir record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1618 +#: g10/tdbio.c:1619 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "" -#: g10/tdbio.c:1648 +#: g10/tdbio.c:1649 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "" -#: g10/tdbio.c:1759 +#: g10/tdbio.c:1760 #, fuzzy msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "âÁÚÁ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÒÁÚÒÕÛÅÎÁ: ÚÁÐÕÓÔÉÔÅ \"gpgm --fix-trust-db\".\n" @@ -3196,31 +3217,31 @@ msgid "WARNING: can't yet handle long pref records\n" msgstr "" -#: g10/ringedit.c:316 +#: g10/ringedit.c:318 #, fuzzy, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1351 +#: g10/ringedit.c:335 g10/ringedit.c:1353 #, fuzzy, c-format msgid "%s: keyring created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 #, fuzzy, c-format msgid "%s is the unchanged one\n" msgstr "éÓÐÏÌØÚÏ×ÁÎ ÎÅÐÒÁ×ÉÌØÎÙÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1532 #, c-format msgid "%s is the new one\n" msgstr "" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1533 msgid "Please fix this possible security flaw\n" msgstr "" @@ -3304,6 +3325,28 @@ "ÎÅ ÐÏÌÕÞÁÅÔÓÑ ÉÚÂÅÖÁÔØ ÓÌÁÂÏÇÏ ËÌÀÞÁ × ÓÉÍÍÅÔÒÉÞÎÏÍ ÁÌÇÏÒÉÔÍÅ; ÐÒÏÂÏ×ÁÌÉ %d " "ÒÁÚ!\n" +#: g10/delkey.c:93 +msgid "there is a secret key for this public key!\n" +msgstr "Es gibt einen privaten ËÌÀÞ zu diesem öffentlichen ËÌÀÞ!\n" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "" +"Benutzen Sie das Kommando \"--delete-secret-key\", um ihn vorab zu " +"entfernen.\n" + +#: g10/delkey.c:111 +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "Dies kann im Batchmodus ohne \"--yes\" nicht durchgeführt werden.\n" + +#: g10/delkey.c:133 +msgid "Delete this key from the keyring? " +msgstr "Diesen ËÌÀÞ aus dem ËÌÀÞring löschen? " + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "Dies ist ein privater ËÌÀÞ! - Wirklich löschen? " + #: g10/helptext.c:47 #, fuzzy msgid "" @@ -3427,8 +3470,8 @@ msgid "" "This signature can't be checked because you don't have the\n" "corresponding key. You should postpone its deletion until you\n" -"know which key was used because this signing key might establisha trust " -"connection through another already certified key." +"know which key was used because this signing key might establish\n" +"a trust connection through another already certified key." msgstr "" #: g10/helptext.c:189 @@ -3708,23 +3751,3 @@ #~ msgid "Checking signatures of this public key certificate:\n" #~ msgstr "Die Signaturen dieses Zertifikats werden überprüft:\n" - -#~ msgid "Do you want to remove some of the invalid signatures? " -#~ msgstr "Möchten Sie einige der ungültigen Signaturen entfernen? " - -#~ msgid "there is a secret key for this public key!\n" -#~ msgstr "Es gibt einen privaten ËÌÀÞ zu diesem öffentlichen ËÌÀÞ!\n" - -#~ msgid "use option \"--delete-secret-key\" to delete it first.\n" -#~ msgstr "" -#~ "Benutzen Sie das Kommando \"--delete-secret-key\", um ihn vorab zu " -#~ "entfernen.\n" - -#~ msgid "can't do that in batchmode without \"--yes\"\n" -#~ msgstr "Dies kann im Batchmodus ohne \"--yes\" nicht durchgeführt werden.\n" - -#~ msgid "Delete this key from the keyring? " -#~ msgstr "Diesen ËÌÀÞ aus dem ËÌÀÞring löschen? " - -#~ msgid "This is a secret key! - really delete? " -#~ msgstr "Dies ist ein privater ËÌÀÞ! - Wirklich löschen? " diff -urN gnupg-0.9.11/scripts/gnupg.spec gnupg-1.0.0/scripts/gnupg.spec --- gnupg-0.9.11/scripts/gnupg.spec Fri Sep 3 10:11:14 1999 +++ gnupg-1.0.0/scripts/gnupg.spec Tue Sep 7 18:49:01 1999 @@ -2,7 +2,7 @@ # gnupg -- gnu privacy guard # This is a template. The dist target uses it to create the real file. # -%define version 0.9.11 +%define version 1.0.0 %define name gnupg Summary: GPL public key crypto Name: %{name} diff -urN gnupg-0.9.11/scripts/mkdiff gnupg-1.0.0/scripts/mkdiff --- gnupg-0.9.11/scripts/mkdiff Thu Sep 2 14:42:42 1999 +++ gnupg-1.0.0/scripts/mkdiff Tue Sep 7 17:45:19 1999 @@ -9,14 +9,14 @@ set -e -curr_ver=$(ls $pack-*.tar.gz 2>/dev/null | sort -r -t '.' -n +0.4 -1 +1 -2 +2 \ - | head -1 | sed -e 's/'$pack'-\(.*\).tar.gz/\1/' ) +curr_ver=$(ls $pack-*.tar.gz 2>/dev/null | sed "s/^$pack-\(.*\)\.tar\.gz/\1/"\ + | sort -r -t '.' -n +0 -1 +1 -2 +2 | head -1 ) if [ ! -f $pack-$curr_ver.tar.gz ]; then echo "mkdiff: no current version of package $pack found" >&2 exit 1 fi -prev_ver=$(ls $pack-*.tar.gz 2>/dev/null | sort -r -t '.' -n +0.4 -1 +1 -2 +2 \ - | head -2 | tail -1 | sed -e 's/'$pack'-\(.*\).tar.gz/\1/' ) +prev_ver=$(ls $pack-*.tar.gz 2>/dev/null | sed "s/^$pack-\(.*\)\.tar\.gz/\1/"\ + | sort -r -t '.' -n +0 -1 +1 -2 +2 | head -2 | tail -1 ) if [ "$prev_ver" = "$curr_ver" ]; then echo "mkdiff: no previous version of package $pack found" >&2 exit 1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v0.9.11 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE31UKUaLeriVdUjc0RArwVAJ9dYR2ISLmzKn6vrk4/mdfmAmzUdgCdEXTc hWAEZSJ/u0ZByrwrSD72gyU= =PiRr -----END PGP SIGNATURE-----