-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message This is a patch file to create version 1.0.1 from 1.0.0. Please check the signature of this patch file: zcat somepath/gnupg-1.0.0-1.0.1.diff.gz | gpg --verify Change to directory gnupg-1.0.0 (or however you renamed it) and give this command: zcat somepath/gnupg-1.0.0-1.0.1.diff.gz | patch -p1 It is a good idea to rename your current directory to gnupg-1.0.1 now. Prereq: 1.0.0 diff -urN gnupg-1.0.0/VERSION gnupg-1.0.1/VERSION --- gnupg-1.0.0/VERSION Tue Sep 7 17:03:56 1999 +++ gnupg-1.0.1/VERSION Thu Dec 16 10:06:15 1999 @@ -1 +1 @@ -1.0.0 +1.0.1 diff -urN gnupg-1.0.0/AUTHORS gnupg-1.0.1/AUTHORS --- gnupg-1.0.0/AUTHORS Tue Sep 7 17:04:49 1999 +++ gnupg-1.0.1/AUTHORS Sat Dec 4 14:34:15 1999 @@ -4,7 +4,7 @@ GNUPG Werner Koch 1998-02-23 Assigns GNU Privacy Guard and future changes. werner.koch@guug.de -Designed and implemented GnuPG. +Designed and implemented GnuPG and is the current maintainer. GNUPG Matthew Skala 1998-08-10 @@ -58,7 +58,7 @@ TRANSLATIONS Urko Lusa Disclaimer. [es_ES] -ulusa@lacueva.ddns.org +ulusa@euskalnet.net TRANSLATIONS Thiago Jung Bauermann @@ -66,10 +66,19 @@ jungmann@cwb.matrix.com.br +TRANSLATIONS Pedro Morais +Disclaimer. [pt_PT] +morais@poli.org + + TRANSLATIONS Janusz Aleksander Urbanowicz 1999-01-09 Disclaimer. [po] alex@bofh.torun.pl + +TRANSLATIONS Tedi Heriyanto 1999-05-20 +Disclaimer. [id] +tedi-h@usa.net More credits diff -urN gnupg-1.0.0/BUGS gnupg-1.0.1/BUGS --- gnupg-1.0.0/BUGS Sun Sep 5 10:28:45 1999 +++ gnupg-1.0.1/BUGS Mon Nov 22 09:36:31 1999 @@ -1,57 +1,8 @@ - List of some known bugs - ------------------------- +Please see -This following list contains those bugs which we are aware of. Please -make sure that bugs you report are not listed here. If you can fix one -of these bugs/limitations we will certainly be glad to receive a patch. -(Please note that we need a disclaimer if a patch is longer than about -10 lines; but it may help anyway to show us where we have to fix it. Do -an "info standards" to find out why a disclaimer is needed for GNU.) + http://www.gnupg.org/buglist.html -Format: severity: [ *] to [***], no, first reported, by, version. -Bugs which are marked with "FIX: yyyy-mm-dd" are fixed in the CVS -and after about half a day in the rsync snapshots. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +for a list know bugs in GnuPG. We don't distribute this list anymore +with the package because a more current one with notes in which version +the bug is fixed can be found online. -[ *] #3 - --list-packets should continue even w/o a passphrase (or in batch - mode). Maybe we have to move it to a separate program?? - -[ *] #4 1999-01-13 0.9.1 - v3 key 'expiration date' problem: - 1. generate a key, set expiration date - 2. - 3. edit a v3 secret key, try to set expiration date - - output: "You can't change... - 4. save - 5. key has expiration date from 1. and gpg reports that pubkey - and seckey differ. - The for loop the exp.date is set before v3 detection? - [is this bug still alive? - can someone please check it] - -[ **] #6 1999-02-22 0.9.3 - Bus error on IRIX 6.4: Crash while doing a keygen. I think while creating - the prime. Other bus errors are reported when doing a "gpg README" - on sparc-solaris2.6. - --> Solaris fixed. - --> IRIX bug still there but someone should test this again! - -[ *] #18 1999-05-27 0.9.7 - rndunix hangs on hp/ux. The problem is related to my_plcose which is - not always called. (I suggest to use EGD instead of rndunix.) - -[ *] #22 1999-07-22 - Solaris make has problems with the generated POTFILES - seems to be a - gettext bug. Use GNU gmake as a workaround. - -[ *] #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-1.0.0/ChangeLog gnupg-1.0.1/ChangeLog --- gnupg-1.0.0/ChangeLog Tue Sep 7 17:08:11 1999 +++ gnupg-1.0.1/ChangeLog Thu Dec 16 10:08:00 1999 @@ -1,18 +1,79 @@ -Tue Sep 7 17:08:10 CEST 1999 Werner Koch +Thu Dec 16 10:07:58 CET 1999 Werner Koch + + * VERSION: Set to 1.0.1. + + * configure.in: Removed substitution for doc/gph/Makefile. + Do all the gcc warning only in maintainer mode. + +Thu Dec 9 10:31:05 CET 1999 Werner Koch + + * INSTALL: Add a hint for AIX. By Jos Backus. + +Sat Dec 4 12:30:28 CET 1999 Werner Koch + + * configure.in (dlopen): Use CHECK_FUNC for a test of dlopen in libc. + Suggested by Alexandre Oliva. + (-Wall): Moved the settting of gcc warning options near to the end + so that tests don't get confused. Suggested by Paul D. Smith. + +Mon Nov 22 11:14:53 CET 1999 Werner Koch + + * BUGS: Replaced content with a link to the online list. + +Fri Nov 12 20:33:19 CET 1999 Werner Koch + + * README: Fixed a type and add a note about the gnupg-i18n ML. + +Thu Oct 28 16:08:20 CEST 1999 Werner Koch + + * acinclude.m4, configure.in (GNUPG_CHECK_GNUMAKE): New. + +Sat Oct 9 20:34:41 CEST 1999 Werner Koch + + * configure.in: Tweaked handling of random modules and removed + dummy support for libgcrypt. + * Makefile.am: Removed libgcrypt support. + * cgrypt/ : Removed. + * Makefile.am: Removed libtool. + +Fri Oct 8 20:32:01 CEST 1999 Werner Koch + + * configure.in: Fixed quoting in test for development version. + + * THANKS: Add entries for Michael, Brenno and J Horacio who did + very nice Howto documents - I apoligize for forgetting to mention them + earlier. + +Tue Sep 28 20:54:37 CEST 1999 Werner Koch + + * textfilter.c (copy_clearsig_text) [__MINGW32__): Use CR,LF. + +Fri Sep 17 12:56:42 CEST 1999 Werner Koch + + * configure.in: Add "-lcap" when capabilities are requested. + Add the conditional CROSS_COMPILING. + * Makefile.am: Don't use checks when CROSS_COMPILING. + +Wed Sep 15 16:22:17 CEST 1999 Werner Koch + + * configure.in (ALL_LINGUAS): Add pt_PT. + + * configure.in: Some tweaks for cross compiling under MingW32 + * acconfig.h (USE_STATIC_RNDW32): New. + +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 - * VERSION: Set to 0.9.11. diff -urN gnupg-1.0.0/INSTALL gnupg-1.0.1/INSTALL --- gnupg-1.0.0/INSTALL Sun Sep 5 10:26:13 1999 +++ gnupg-1.0.1/INSTALL Wed Dec 8 18:40:01 1999 @@ -70,6 +70,19 @@ warning options which we have enabled for gcc) +Specific problems on some machines +================================== + + * IBM RS/6000 running AIX: + + Due to a change in gcc (since version 2.8) the MPI stuff may + not build. In this case try to run configure using: + CFLAGS="-g -O2 -mcpu=powerpc" ./configure + + + + + The Random Device ================= Random devices are available in Linux, FreeBSD and OpenBSD. diff -urN gnupg-1.0.0/Makefile.am gnupg-1.0.1/Makefile.am --- gnupg-1.0.0/Makefile.am Sun Jul 25 14:06:24 1999 +++ gnupg-1.0.1/Makefile.am Sat Oct 9 15:12:46 1999 @@ -1,19 +1,16 @@ ## Process this file with automake to produce Makefile.in -if COMPILE_LIBGCRYPT -gcrypt = gcrypt -my_clean_gcrypt = +if CROSS_COMPILING +checks = else -gcrypt = -my_clean_gcrypt = gcrypt/Makefile +checks = checks endif -SUBDIRS = intl zlib util mpi cipher tools g10 po doc checks ${gcrypt} +SUBDIRS = intl zlib util mpi cipher tools g10 po doc ${checks} EXTRA_DIST = VERSION PROJECTS BUGS # gettext never gets it right, so we take here care of deleting the -# symlink. my_clean_gcrypt is just a kludge until we can include -# libgcrypt. -DISTCLEANFILES = g10defs.h intl/libintl.h ${my_clean_gcrypt} +# symlink. +DISTCLEANFILES = g10defs.h intl/libintl.h dist-hook: @set -e; \ @@ -28,7 +25,6 @@ sed -e 's/@pkg_version@/$(VERSION)/g' \ $(top_srcdir)/scripts/gnupg.spec.in \ > $(distdir)/scripts/gnupg.spec - -rm $(distdir)/gcrypt/*.[ch] if MAINTAINER_MODE diff -urN gnupg-1.0.0/Makefile.in gnupg-1.0.1/Makefile.in --- gnupg-1.0.0/Makefile.in Tue Sep 7 18:47:57 1999 +++ gnupg-1.0.1/Makefile.in Thu Dec 16 10:16:06 1999 @@ -85,9 +85,6 @@ 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@ @@ -95,7 +92,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -107,17 +103,14 @@ VERSION = @VERSION@ ZLIBS = @ZLIBS@ l = @l@ -@COMPILE_LIBGCRYPT_TRUE@gcrypt = gcrypt -@COMPILE_LIBGCRYPT_FALSE@gcrypt = -@COMPILE_LIBGCRYPT_TRUE@my_clean_gcrypt = -@COMPILE_LIBGCRYPT_FALSE@my_clean_gcrypt = gcrypt/Makefile +@CROSS_COMPILING_TRUE@checks = +@CROSS_COMPILING_FALSE@checks = checks -SUBDIRS = intl zlib util mpi cipher tools g10 po doc checks ${gcrypt} +SUBDIRS = intl zlib util mpi cipher tools g10 po doc ${checks} EXTRA_DIST = VERSION PROJECTS BUGS # gettext never gets it right, so we take here care of deleting the -# symlink. my_clean_gcrypt is just a kludge until we can include -# libgcrypt. -DISTCLEANFILES = g10defs.h intl/libintl.h ${my_clean_gcrypt} +# symlink. +DISTCLEANFILES = g10defs.h intl/libintl.h ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = config.h @@ -131,7 +124,7 @@ TAR = tar GZIP_ENV = --best -DIST_SUBDIRS = intl zlib util mpi cipher tools g10 po doc checks gcrypt +DIST_SUBDIRS = intl zlib util mpi cipher tools g10 po doc checks all: all-redirect .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) @@ -374,7 +367,6 @@ clean: clean-recursive distclean-am: distclean-hdr distclean-tags distclean-generic clean-am - -rm -f libtool distclean: distclean-recursive -rm -f config.status @@ -414,7 +406,6 @@ sed -e 's/@pkg_version@/$(VERSION)/g' \ $(top_srcdir)/scripts/gnupg.spec.in \ > $(distdir)/scripts/gnupg.spec - -rm $(distdir)/gcrypt/*.[ch] # This is only useful within my local environment (wk) @MAINTAINER_MODE_TRUE@cvs-get: diff -urN gnupg-1.0.0/NEWS gnupg-1.0.1/NEWS --- gnupg-1.0.0/NEWS Tue Sep 7 17:03:13 1999 +++ gnupg-1.0.1/NEWS Thu Dec 16 10:06:45 1999 @@ -1,3 +1,35 @@ +Noteworthy changes in version 1.0.1 (1999-12-16) +----------------------------------- + + * New command --verify-files. New option --fast-list-mode. + + * $http_proxy is now used when --honor-http-proxy is set. + + * Fixed some minor bugs and the problem with conventional encrypted + packets which did use the gpg v3 partial length headers. + + * Add Indonesian and Portugese translations. + + * Fixed a bug with symmetric-only encryption using the non-default 3DES. + The option --emulate-3des-s2k-bug may be used to decrypt documents + which have been encrypted this way; this should be done immediately + as this workaround will be remove in 1.1 + + * Can now handle (but not display) PGP's photo IDs. I don't know the + format of that packet but after stripping a few bytes from the start + it looks like a JPEG (at least my test data). Handling of this + package is required because otherwise it would mix up the + self signatures and you can't import those keys. + + * Passing non-ascii user IDs on the commandline should now work in all + cases. + + * New keys are now generated with an additional preference to Blowfish. + + * Removed the GNU Privacy Handbook from the distribution as it will go + into a separate one. + + Noteworthy changes in version 1.0.0 (1999-09-07) ----------------------------------- diff -urN gnupg-1.0.0/README gnupg-1.0.1/README --- gnupg-1.0.0/README Mon Sep 6 19:58:25 1999 +++ gnupg-1.0.1/README Sat Dec 4 14:32:26 1999 @@ -121,7 +121,7 @@ c) If you don't have any of the above programs, you have to verify the MD5 checksum: - $ md5sum gnupg-x.y.z.tar.gz.sig + $ md5sum gnupg-x.y.z.tar.gz This should yield an output similar_to this: @@ -135,10 +135,11 @@ 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. + The manual will be distributed separate under the name "gnupgdoc". + An online version of the latest manual draft is available at the + GnuPG web pages: + + http://www.gnupg.org/gph/ A couple of HOWTO documents are available online; for a listing see: @@ -473,7 +474,7 @@ 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 + See http://www.gnupg.org/mirrors.html for a list of mirrors and use them if possible. You may also find GnuPG mirrored on some of the regular GNU mirrors. @@ -485,6 +486,8 @@ very low traffic. gnupg-users@gnupg.org For general user discussion and help. + gnupg-i18n@gnupg.org Discussion about internationalization + issues. gnupg-devel@gnupg.org GnuPG developers main forum. You subscribe to one of the list by sending mail with a subject @@ -508,11 +511,9 @@ the GNU service directory or search other resources. -----BEGIN PGP SIGNATURE----- -Version: GnuPG v0.9.11 (GNU/Linux) -Comment: For info see http://www.gnupg.org -iQB1AwUBN9QAwB0Z9MEMmFelAQG0XwMAqyH3UR0Jk+dm2ZkVoTqckGqmMMt5IdBN -MlG4g3dau5De8XXHvbQ45cUpU4CC0MOlEuKDp+CKOc+xbzczdH35qYt/5XKmVWS8 -JwTvuKKCZ/95JRMk0ZMRueQduH7tSijZ -=MefQ +iQB1AwUBOEkX0B0Z9MEMmFelAQE2aQL/bo8po/atFACnG7eZBodfV0ikE+PFynOf +uzQjirp00hSFwP8jMmv+ccnlyZkHRwrhl/Xc8GCmmeATwtb1fuAWvCO51T1YIv3i ++K8Y6ThnQxG6TS0A/DBcoxwKpT7jEEPG +=WYfE -----END PGP SIGNATURE----- diff -urN gnupg-1.0.0/THANKS gnupg-1.0.1/THANKS --- gnupg-1.0.0/THANKS Mon Sep 6 13:55:32 1999 +++ gnupg-1.0.1/THANKS Wed Dec 8 18:41:27 1999 @@ -3,105 +3,112 @@ code. Here is a list of those people. Help me keep it complete and free of errors. -Allan Clark allanc@sco.com -Anand Kumria wildfire@progsoc.uts.edu.au -Ariel T Glenn ariel@columbia.edu -Bodo Moeller Bodo_Moeller@public.uni-hamburg.de -Bryan Fullerton bryanf@samurai.com -Brian Moore bem@cmc.net -Brian Warner warner@lothar.com -Caskey L. Dickson caskey@technocage.com -Cees van de Griend cees-list@griend.xs4all.nl -Charles Levert charles@comm.polymtl.ca -Christian von Roques roques@pond.sub.org -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 -Ed Boraas ecxjo@esperanto.org -Enzo Michelangeli em@MailAndNews.com -Ernst Molitor ernst.molitor@uni-bonn.de -Fabio Coatti cova@felix.unife.it -Felix von Leitner leitner@amdiv.de -Frank Heckenbach heckenb@mi.uni-erlangen.de -Frank Stajano frank.stajano@cl.cam.ac.uk -Gaël Quéri gqueri@mail.dotcom.fr -Greg Louis glouis@dynamicro.on.ca -Greg Troxel gdt@ir.bbn.com -Gregory Steuck steuck@iname.com -Geoff Keating geoffk@ozemail.com.au -Harald Denker harry@hal.westfalen.de -Hendrik Buschkamp buschkamp@rheumanet.org -Holger Schurig holger@d.om.org -Hugh Daniel hugh@toad.com -Ian McKellar imckellar@harvestroad.com.au -Janusz A. Urbanowicz alex@bofh.torun.pl -James Troup james@nocrew.org -Jean-loup Gailly gzip@prep.ai.mit.edu -Jens Bachem bachem@rrz.uni-koeln.de -Joachim Backes backes@rhrk.uni-kl.de -John A. Martin jam@jamux.com -Johnny Teveßen j.tevessen@gmx.de -Jörg Schilling schilling@fokus.gmd.de -Jun Kuriyama kuriyama@sky.rim.or.jp -Karl Fogel kfogel@guanabana.onshore.com -Karsten Thygesen karthy@kom.auc.dk -Katsuhiro Kondou kondou@nec.co.jp -Kazu Yamamoto kazu@iijlab.net -Lars Kellogg-Stedman lars@bu.edu -Marco d'Itri md@linux.it -Mark Adler madler@alumni.caltech.edu -Mark Elbrecht snowball3@bigfoot.com -Markus Friedl Markus.Friedl@informatik.uni-erlangen.de -Martin Kahlert martin.kahlert@provi.de +Allan Clark allanc@sco.com +Anand Kumria wildfire@progsoc.uts.edu.au +Ariel T Glenn ariel@columbia.edu +Bodo Moeller Bodo_Moeller@public.uni-hamburg.de +Brenno de Winter brenno@dewinter.com +Brian Moore bem@cmc.net +Brian Warner warner@lothar.com +Bryan Fullerton bryanf@samurai.com +Caskey L. Dickson caskey@technocage.com +Cees van de Griend cees-list@griend.xs4all.nl +Charles Levert charles@comm.polymtl.ca +Christian von Roques roques@pond.sub.org +Christopher Oliver oliver@fritz.traverse.net +Christian Recktenwald chris@citecs.de +Daniel Eisenbud eisenbud@cs.swarthmore.edu +Daniel Koening dan@mail.isis.de +David Ellement ellement@sdd.hp.com +Detlef Lannert lannert@lannert.rz.uni-duesseldorf.de +Dirk Lattermann dlatt@t-online.de +Ed Boraas ecxjo@esperanto.org +Enzo Michelangeli em@MailAndNews.com +Ernst Molitor ernst.molitor@uni-bonn.de +Fabio Coatti cova@felix.unife.it +Felix von Leitner leitner@amdiv.de +Frank Heckenbach heckenb@mi.uni-erlangen.de +Frank Stajano frank.stajano@cl.cam.ac.uk +Gaël Quéri gqueri@mail.dotcom.fr +Greg Louis glouis@dynamicro.on.ca +Greg Troxel gdt@ir.bbn.com +Gregory Steuck steuck@iname.com +Geoff Keating geoffk@ozemail.com.au +Harald Denker harry@hal.westfalen.de +Hendrik Buschkamp buschkamp@rheumanet.org +Holger Schurig holger@d.om.org +Hugh Daniel hugh@toad.com +Ian McKellar imckellar@harvestroad.com.au +Janusz A. Urbanowicz alex@bofh.torun.pl +James Troup james@nocrew.org +Jean-loup Gailly gzip@prep.ai.mit.edu +Jens Bachem bachem@rrz.uni-koeln.de +J Horacio MG homega@ciberia.es +Joachim Backes backes@rhrk.uni-kl.de +John A. Martin jam@jamux.com +Johnny Teveßen j.tevessen@gmx.de +Jörg Schilling schilling@fokus.gmd.de +Jos Backus Jos.Backus@nl.origin-it.com +Jun Kuriyama kuriyama@sky.rim.or.jp +Karl Fogel kfogel@guanabana.onshore.com +Karsten Thygesen karthy@kom.auc.dk +Katsuhiro Kondou kondou@nec.co.jp +Kazu Yamamoto kazu@iijlab.net +Lars Kellogg-Stedman lars@bu.edu +Marco d'Itri md@linux.it +Mark Adler madler@alumni.caltech.edu +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 -Michael Roth mroth@nessie.de -Michael Sobolev mss@despair.transas.com -Nicolas Graner Nicolas.Graner@cri.u-psud.fr -NIIBE Yutaka gniibe@chroot.org +Martin Schulte schulte@thp.uni-koeln.de +Matthew Skala mskala@ansuz.sooke.bc.ca +Max Valianskiy maxcom@maxcom.ml.org +Michael Fischer v. Mollard mfvm@gmx.de +Michael Roth mroth@nessie.de +Michael Sobolev mss@despair.transas.com +Nicolas Graner Nicolas.Graner@cri.u-psud.fr +NIIBE Yutaka gniibe@chroot.org 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 -Peter Gutmann pgut001@cs.auckland.ac.nz -QingLong qinglong@bolizm.ihep.su -Ralph Gillen gillen@theochem.uni-duesseldorf.de -Rat ratinox@peorth.gweep.net -Reinhard Wobst R.Wobst@ifw-dresden.de -Rémi Guyomarch rguyom@mail.dotcom.fr -Reuben Sumner rasumner@wisdom.weizmann.ac.il -Roddy Strachan roddy@satlink.com.au -Roland Rosenfeld roland@spinnaker.rhein.de -Ross Golder rossigee@bigfoot.com -Serge Munhoven munhoven@mema.ucl.ac.be -SL Baur steve@xemacs.org -Stefan Karrmann S.Karrmann@gmx.net -Stefan Keller dres@cs.tu-berlin.de -Steffen Ullrich ccrlphr@xensei.com -Steffen Zahn zahn@berlin.snafu.de -Steven Bakker steven@icoe.att.com -Susanne Schultz schultz@hsp.de -Thiago Jung Bauermann jungmann@cwb.matrix.com.br -Thomas Roessler roessler@guug.de -Tom Spindler dogcow@home.merit.edu -Tom Zerucha tzeruch@ceddec.com -Tomas Fasth tomas.fasth@twinspot.net -Thomas Mikkelsen tbm@image.dk -Ulf Möller 3umoelle@informatik.uni-hamburg.de -Urko Lusa ulusa@lacueva.ddns.org -Walter Koch koch@hsp.de -Werner Koch werner.koch@guug.de -Wim Vandeputte bunbun@reptile.rug.ac.be - nbecker@hns.com +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 +Peter Gutmann pgut001@cs.auckland.ac.nz +QingLong qinglong@bolizm.ihep.su +Ralph Gillen gillen@theochem.uni-duesseldorf.de +Rat ratinox@peorth.gweep.net +Reinhard Wobst R.Wobst@ifw-dresden.de +Rémi Guyomarch rguyom@mail.dotcom.fr +Reuben Sumner rasumner@wisdom.weizmann.ac.il +Richard Outerbridge outer@interlog.com +Roddy Strachan roddy@satlink.com.au +Roland Rosenfeld roland@spinnaker.rhein.de +Ross Golder rossigee@bigfoot.com +Serge Munhoven munhoven@mema.ucl.ac.be +SL Baur steve@xemacs.org +Stefan Karrmann S.Karrmann@gmx.net +Stefan Keller dres@cs.tu-berlin.de +Steffen Ullrich ccrlphr@xensei.com +Steffen Zahn zahn@berlin.snafu.de +Steven Bakker steven@icoe.att.com +Susanne Schultz schultz@hsp.de +Thiago Jung Bauermann jungmann@cwb.matrix.com.br +Thomas Roessler roessler@guug.de +Tom Spindler dogcow@home.merit.edu +Tom Zerucha tzeruch@ceddec.com +Tomas Fasth tomas.fasth@twinspot.net +Thomas Mikkelsen tbm@image.dk +Ulf Möller 3umoelle@informatik.uni-hamburg.de +Urko Lusa ulusa@euskalnet.net +Walter Hofmann Walter.Hofmann@physik.stud.uni-erlangen.de +Walter Koch koch@hsp.de +Wayne Chapeskie waynec@spinnaker.com +Werner Koch wk@gnupg.org +Wim Vandeputte bunbun@reptile.rug.ac.be + nbecker@hns.com Thanks to the German Unix User Group for providing FTP space, Martin Hamilton for hosting the mailing list and HSP for diff -urN gnupg-1.0.0/TODO gnupg-1.0.1/TODO --- gnupg-1.0.0/TODO Tue Sep 7 17:04:26 1999 +++ gnupg-1.0.1/TODO Mon Nov 22 11:07:18 1999 @@ -22,6 +22,9 @@ * Check the beginning of file to detect already compressed files (gzip, bzip2, xdelta and some picture formats) + * Delay the read of the passphrase-fd after a NEED_PASSPHRASE. But this + may break some scripts. + Nice to have ------------ diff -urN gnupg-1.0.0/acconfig.h gnupg-1.0.1/acconfig.h --- gnupg-1.0.0/acconfig.h Fri Sep 3 21:16:46 1999 +++ gnupg-1.0.1/acconfig.h Wed Sep 15 16:26:14 1999 @@ -91,6 +91,13 @@ /* defined if we run on some of the PCDOS like systems (DOS, Windoze. OS/2) * with special properties like no file modes */ #undef HAVE_DOSISH_SYSTEM +/* because the Unix gettext has to much overhead on MingW32 systems + * and these systems lack Posix functions, we use a simplified version + * of gettext */ +#undef USE_SIMPLE_GETTEXT +/* At some point in the system we need to know that we use the Windows + * random module. */ +#undef USE_STATIC_RNDW32 #undef USE_CAPABILITIES diff -urN gnupg-1.0.0/acinclude.m4 gnupg-1.0.1/acinclude.m4 --- gnupg-1.0.0/acinclude.m4 Fri Sep 3 21:13:26 1999 +++ gnupg-1.0.1/acinclude.m4 Mon Oct 11 18:43:40 1999 @@ -27,6 +27,24 @@ ]) +dnl GNUPG_CHECK_GNUMAKE +dnl +AC_DEFUN(GNUPG_CHECK_GNUMAKE, + [ + if ${MAKE-make} --version 2>/dev/null | grep '^GNU ' >/dev/null 2>&1; then + : + else + AC_MSG_WARN([[ +*** +*** It seems that you are not using GNU make. Some make tools have serious +*** flaws and you may not be able to build this software at all. Before you +*** complain, please try GNU make: GNU make is easy to build and available +*** at all GNU archives. It is always available from ftp.gnu.org:/gnu/make. +***]]) + fi + ]) + + dnl GNUPG_LINK_FILES( SRC, DEST ) dnl same as AC_LINK_FILES, but collect the files to link in @@ -633,7 +651,7 @@ #ifdef HAVE_DIRECT_H # include #endif], [mkdir ("foo", 0);], - gnupg_cv_mkdir_takes_one_arg=no, gnupg_cv_mkdir_takes_one_arg=yes)]) + 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 diff -urN gnupg-1.0.0/aclocal.m4 gnupg-1.0.1/aclocal.m4 --- gnupg-1.0.0/aclocal.m4 Tue Sep 7 17:12:17 1999 +++ gnupg-1.0.1/aclocal.m4 Thu Dec 16 10:15:26 1999 @@ -39,6 +39,24 @@ ]) +dnl GNUPG_CHECK_GNUMAKE +dnl +AC_DEFUN(GNUPG_CHECK_GNUMAKE, + [ + if ${MAKE-make} --version 2>/dev/null | grep '^GNU ' >/dev/null 2>&1; then + : + else + AC_MSG_WARN([[ +*** +*** It seems that you are not using GNU make. Some make tools have serious +*** flaws and you may not be able to build this software at all. Before you +*** complain, please try GNU make: GNU make is easy to build and available +*** at all GNU archives. It is always available from ftp.gnu.org:/gnu/make. +***]]) + fi + ]) + + dnl GNUPG_LINK_FILES( SRC, DEST ) dnl same as AC_LINK_FILES, but collect the files to link in @@ -636,7 +654,7 @@ #ifdef HAVE_DIRECT_H # include #endif], [mkdir ("foo", 0);], - gnupg_cv_mkdir_takes_one_arg=no, gnupg_cv_mkdir_takes_one_arg=yes)]) + 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 @@ -667,19 +685,6 @@ done<<>>dnl>>) changequote([,]))]) -# Define a conditional. - -AC_DEFUN(AM_CONDITIONAL, -[AC_SUBST($1_TRUE) -AC_SUBST($1_FALSE) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi]) - # Add --enable-maintainer-mode option to configure. # From Jim Meyering @@ -700,6 +705,19 @@ ] ) +# Define a conditional. + +AC_DEFUN(AM_CONDITIONAL, +[AC_SUBST($1_TRUE) +AC_SUBST($1_FALSE) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi]) + # # Check to make sure that the build environment is sane. # @@ -758,412 +776,6 @@ AC_MSG_RESULT(missing) fi AC_SUBST($1)]) - - -# serial 40 AC_PROG_LIBTOOL -AC_DEFUN(AC_PROG_LIBTOOL, -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl - -# Save cache, so that ltconfig can load it -AC_CACHE_SAVE - -# Actually configure libtool. ac_aux_dir is where install-sh is found. -CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ -DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ -$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ -|| AC_MSG_ERROR([libtool configure failed]) - -# Reload cache, that may have been modified by ltconfig -AC_CACHE_LOAD - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Redirect the config.log output again, so that the ltconfig log is not -# clobbered by the next message. -exec 5>>./config.log -]) - -AC_DEFUN(AC_LIBTOOL_SETUP, -[AC_PREREQ(2.13)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_RANLIB])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_NM])dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -dnl - -# Check for any special flags to pass to ltconfig. -libtool_flags="--cache-file=$cache_file" -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" -test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" -test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" -ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], -[libtool_flags="$libtool_flags --enable-dlopen"]) -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], -[libtool_flags="$libtool_flags --enable-win32-dll"]) -AC_ARG_ENABLE(libtool-lock, - [ --disable-libtool-lock avoid locking (might break parallel builds)]) -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case "$host" in -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case "`/usr/bin/file conftest.o`" in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -]) -esac -]) - -# AC_LIBTOOL_DLOPEN - enable checks for dlopen support -AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) - -# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's -AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) - -# AC_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AC_ENABLE_SHARED[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN(AC_ENABLE_SHARED, [dnl -define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(shared, -changequote(<<, >>)dnl -<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case "$enableval" in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl -]) - -# AC_DISABLE_SHARED - set the default shared flag to --disable-shared -AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no)]) - -# AC_ENABLE_STATIC - implement the --enable-static flag -# Usage: AC_ENABLE_STATIC[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN(AC_ENABLE_STATIC, [dnl -define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(static, -changequote(<<, >>)dnl -<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case "$enableval" in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_static=AC_ENABLE_STATIC_DEFAULT)dnl -]) - -# AC_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no)]) - - -# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag -# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl -define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(fast-install, -changequote(<<, >>)dnl -<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case "$enableval" in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl -]) - -# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install -AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no)]) - -# AC_PROG_LD - find the path to the GNU or non-GNU linker -AC_DEFUN(AC_PROG_LD, -[AC_ARG_WITH(gnu-ld, -[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], -test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$ac_cv_prog_gcc" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. -changequote(,)dnl - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' -changequote([,])dnl - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(ac_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - ac_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - ac_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$ac_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_SUBST(LD) -AC_PROG_LD_GNU -]) - -AC_DEFUN(AC_PROG_LD_GNU, -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - ac_cv_prog_gnu_ld=yes -else - ac_cv_prog_gnu_ld=no -fi]) -]) - -# AC_PROG_NM - find the path to a BSD-compatible name lister -AC_DEFUN(AC_PROG_NM, -[AC_MSG_CHECKING([for BSD-compatible nm]) -AC_CACHE_VAL(ac_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - ac_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" - break - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" - break - else - ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm -fi]) -NM="$ac_cv_path_NM" -AC_MSG_RESULT([$NM]) -AC_SUBST(NM) -]) - -# AC_CHECK_LIBM - check for math library -AC_DEFUN(AC_CHECK_LIBM, -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case "$host" in -*-*-beos* | *-*-cygwin*) - # These system don't have libm - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, main, LIBM="-lm") - ;; -esac -]) - -# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl convenience library, adds --enable-ltdl-convenience to -# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor -# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed -# to be `${top_builddir}/libltdl'. Make sure you start DIR with -# '${top_builddir}/' (note the single quotes!) if your package is not -# flat, and, if you're not using automake, define top_builddir as -# appropriate in the Makefiles. -AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case "$enable_ltdl_convenience" in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la - INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) -]) - -# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl installable library, and adds --enable-ltdl-install to -# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor -# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed -# to be `${top_builddir}/libltdl'. Make sure you start DIR with -# '${top_builddir}/' (note the single quotes!) if your package is not -# flat, and, if you're not using automake, define top_builddir as -# appropriate in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, main, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la - INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - INCLTDL= - fi -]) - -dnl old names -AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl -AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl -AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl -AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl -AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl -AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl -AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl - -dnl This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL])dnl # Macro to add for using GNU gettext. # Ulrich Drepper , 1995. diff -urN gnupg-1.0.0/checks/ChangeLog gnupg-1.0.1/checks/ChangeLog --- gnupg-1.0.0/checks/ChangeLog Tue Aug 31 17:20:47 1999 +++ gnupg-1.0.1/checks/ChangeLog Tue Oct 26 20:04:28 1999 @@ -1,10 +1,12 @@ -Tue Aug 31 17:20:44 CEST 1999 Werner Koch +Tue Oct 26 20:02:23 1999 Werner Koch (wk@gnupg.org) + + * Makefile.am (GPG_DEARMOR): New and use --no-options. +Tue Aug 31 17:20:44 CEST 1999 Werner Koch * defs.inc: set LC_ALL empty Wed Aug 4 10:34:18 CEST 1999 Werner Koch - * defs.inc (echo_n): New and used instead of /bin/echo "\c" diff -urN gnupg-1.0.0/checks/Makefile.am gnupg-1.0.1/checks/Makefile.am --- gnupg-1.0.0/checks/Makefile.am Sun Jul 25 14:01:11 1999 +++ gnupg-1.0.1/checks/Makefile.am Mon Nov 22 11:33:37 1999 @@ -1,5 +1,7 @@ ## Process this file with automake to create Makefile.in +GPG_DEARMOR = ../g10/gpg --no-options --quiet --yes --dearmor + TESTS = version.test mds.test \ decrypt.test decrypt-dsa.test \ sigs.test sigs-dsa.test \ @@ -37,25 +39,25 @@ ./pubring.gpg: $(srcdir)/pubring.asc - ../g10/gpg --yes --dearmor -o ./pubring.gpg $(srcdir)/pubring.asc + $(GPG_DEARMOR) -o ./pubring.gpg $(srcdir)/pubring.asc ./secring.gpg: $(srcdir)/secring.asc - ../g10/gpg --yes --dearmor -o ./secring.gpg $(srcdir)/secring.asc + $(GPG_DEARMOR) -o ./secring.gpg $(srcdir)/secring.asc ./pubring.pkr: $(srcdir)/pubring.pkr.asc - ../g10/gpg --yes --dearmor -o ./pubring.pkr $(srcdir)/pubring.pkr.asc + $(GPG_DEARMOR) -o ./pubring.pkr $(srcdir)/pubring.pkr.asc ./secring.skr: $(srcdir)/secring.skr.asc - ../g10/gpg --yes --dearmor -o ./secring.skr $(srcdir)/secring.skr.asc + $(GPG_DEARMOR) -o ./secring.skr $(srcdir)/secring.skr.asc ./plain-1: $(srcdir)/plain-1o.asc - ../g10/gpg --yes --dearmor -o ./plain-1 $(srcdir)/plain-1o.asc + $(GPG_DEARMOR) -o ./plain-1 $(srcdir)/plain-1o.asc ./plain-2: $(srcdir)/plain-2o.asc - ../g10/gpg --yes --dearmor -o ./plain-2 $(srcdir)/plain-2o.asc + $(GPG_DEARMOR) -o ./plain-2 $(srcdir)/plain-2o.asc ./plain-3: $(srcdir)/plain-3o.asc - ../g10/gpg --yes --dearmor -o ./plain-3 $(srcdir)/plain-3o.asc + $(GPG_DEARMOR) -o ./plain-3 $(srcdir)/plain-3o.asc diff -urN gnupg-1.0.0/checks/Makefile.in gnupg-1.0.1/checks/Makefile.in --- gnupg-1.0.0/checks/Makefile.in Tue Sep 7 18:48:49 1999 +++ gnupg-1.0.1/checks/Makefile.in Thu Dec 16 10:17:59 1999 @@ -85,9 +85,6 @@ 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@ @@ -95,7 +92,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -108,6 +104,8 @@ ZLIBS = @ZLIBS@ l = @l@ +GPG_DEARMOR = ../g10/gpg --no-options --quiet --yes --dearmor + TESTS = version.test mds.test decrypt.test decrypt-dsa.test sigs.test sigs-dsa.test encrypt.test encrypt-dsa.test seat.test clearsig.test encryptp.test detach.test armsigs.test armencrypt.test armencryptp.test signencrypt.test signencrypt-dsa.test armsignencrypt.test armdetach.test armdetachm.test detachm.test genkey1024.test conventional.test @@ -231,7 +229,6 @@ clean: clean-am distclean-am: distclean-generic clean-am distclean-local - -rm -f libtool distclean: distclean-am @@ -259,25 +256,25 @@ echo timestamp >./prepared.stamp ./pubring.gpg: $(srcdir)/pubring.asc - ../g10/gpg --yes --dearmor -o ./pubring.gpg $(srcdir)/pubring.asc + $(GPG_DEARMOR) -o ./pubring.gpg $(srcdir)/pubring.asc ./secring.gpg: $(srcdir)/secring.asc - ../g10/gpg --yes --dearmor -o ./secring.gpg $(srcdir)/secring.asc + $(GPG_DEARMOR) -o ./secring.gpg $(srcdir)/secring.asc ./pubring.pkr: $(srcdir)/pubring.pkr.asc - ../g10/gpg --yes --dearmor -o ./pubring.pkr $(srcdir)/pubring.pkr.asc + $(GPG_DEARMOR) -o ./pubring.pkr $(srcdir)/pubring.pkr.asc ./secring.skr: $(srcdir)/secring.skr.asc - ../g10/gpg --yes --dearmor -o ./secring.skr $(srcdir)/secring.skr.asc + $(GPG_DEARMOR) -o ./secring.skr $(srcdir)/secring.skr.asc ./plain-1: $(srcdir)/plain-1o.asc - ../g10/gpg --yes --dearmor -o ./plain-1 $(srcdir)/plain-1o.asc + $(GPG_DEARMOR) -o ./plain-1 $(srcdir)/plain-1o.asc ./plain-2: $(srcdir)/plain-2o.asc - ../g10/gpg --yes --dearmor -o ./plain-2 $(srcdir)/plain-2o.asc + $(GPG_DEARMOR) -o ./plain-2 $(srcdir)/plain-2o.asc ./plain-3: $(srcdir)/plain-3o.asc - ../g10/gpg --yes --dearmor -o ./plain-3 $(srcdir)/plain-3o.asc + $(GPG_DEARMOR) -o ./plain-3 $(srcdir)/plain-3o.asc data-500: ../tools/mk-tdata 500 >data-500 diff -urN gnupg-1.0.0/checks/mkdemodirs gnupg-1.0.1/checks/mkdemodirs --- gnupg-1.0.0/checks/mkdemodirs Fri Apr 16 14:51:54 1999 +++ gnupg-1.0.1/checks/mkdemodirs Mon Oct 4 14:42:15 1999 @@ -24,10 +24,10 @@ /bin/echo " $name\c" [ -d $name ] && rm -r $name mkdir $name - $GPGDEMO --export-secret-key -o - $name | tee $name/Secret.gpg | \ - $GPG --homedir $name --import - $GPGDEMO --export -o - $name | tee $name/Public.gpg | \ - $GPG --homedir $name --import + $GPGDEMO --export-secret-key -o - $name > $name/Secret.gpg + $GPG --homedir $name --import $name/Secret.gpg + $GPGDEMO --export -o - $name > $name/Public.gpg + $GPG --homedir $name --import $name/Public.gpg [ -f $name/pubring.gpg~ ] && rm $name/pubring.gpg~ done echo "." diff -urN gnupg-1.0.0/cipher/ChangeLog gnupg-1.0.1/cipher/ChangeLog --- gnupg-1.0.0/cipher/ChangeLog Tue Sep 7 16:23:36 1999 +++ gnupg-1.0.1/cipher/ChangeLog Sat Dec 4 12:30:30 1999 @@ -1,26 +1,73 @@ -Tue Sep 7 16:23:36 CEST 1999 Werner Koch +Sat Dec 4 12:30:28 CET 1999 Werner Koch + + * primegen.c (generate_elg_prime): All primes are now generated with + the lowest random quality level. Becuase they are public anyway we + don't need stronger random and by this we do not drain the systems + entropy so much. + +Thu Oct 28 16:08:20 CEST 1999 Werner Koch + + * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined; + this is not the case for some ESIX and Unixware, although they have + getrusage(). + + * elgamal.c (sign): Hugh found strange code here. Replaced by BUG(). + +Mon Oct 11 09:24:12 CEST 1999 Werner Koch + + * rndw32.c (gather_random): Handle PCP_SEEDER_TOO_SMALL. + +Sat Oct 9 20:34:41 CEST 1999 Werner Koch + + * Makefile.am: Tweaked module build and removed libtool + +Fri Oct 8 20:32:01 CEST 1999 Werner Koch + + * rndw32.c (load_and_init_winseed): Use the Registry to locate the DLL + +Mon Oct 4 21:23:04 CEST 1999 Werner Koch + + * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for + fixing this bug. + +Sat Sep 18 12:51:51 CEST 1999 Werner Koch + * Makefile.am: Never compile mingw32 as module + +Wed Sep 15 14:39:59 CEST 1999 Michael Roth + + * des.c: Various speed improvements: One bit pre rotation + trick after initial permutation (Richard Outerbridge). + Finished test of SSLeay Tripple-DES patterns. + +Wed Sep 15 16:22:17 CEST 1999 Werner Koch + + * rndw32.c: New. + +Mon Sep 13 10:51:29 CEST 1999 Werner Koch + + * bithelp.h: New. + * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h + +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 - * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using in place encryption. Pointed out by Frank Stajano. Mon Jul 26 09:34:46 CEST 1999 Werner Koch - * md5.c (md5_final): Fix for a SCO cpp bug. Thu Jul 15 10:15:35 CEST 1999 Werner Koch - * elgamal.c (elg_check_secret_key,elg_encrypt elg_decrypt,elg_sign,elg_verify): Sanity check on the args. diff -urN gnupg-1.0.0/cipher/Makefile.am gnupg-1.0.1/cipher/Makefile.am --- gnupg-1.0.0/cipher/Makefile.am Tue Sep 7 06:19:55 1999 +++ gnupg-1.0.1/cipher/Makefile.am Sat Oct 9 18:31:34 1999 @@ -3,21 +3,15 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LTLIBRARIES = libcipher.la +noinst_LIBRARIES = libcipher.a -# The configure script greps the module names from the following lines. -# You must also add all these names to EXTRA_PROGRAMS some lines below -# and EXTRA_foo_SOURCES entries. -# Hmmm is there a more easy way to do this? (EXTRA_PROGRAMS -# might also list programs which are not modules) -# MODULES: rndunix rndlinux rndegd -# MODULES: sha1 rmd160 md5 tiger -EXTRA_PROGRAMS = rndunix rndlinux rndegd \ - sha1 rmd160 md5 tiger +# The configure script greps the module names from the EXTRA_PROGRAMS line +EXTRA_PROGRAMS = rndlinux rndunix rndegd rndw32 sha1 rmd160 md5 tiger EXTRA_rndlinux_SOURCES = rndlinux.c EXTRA_rndunix_SOURCES = rndunix.c EXTRA_rndegd_SOURCES = rndegd.c +EXTRA_rndw32_SOURCES = rndw32.c EXTRA_md5_SOURCES = md5.c EXTRA_rmd160_SOURCES = rmd160.c EXTRA_sha1_SOURCES = sha1.c @@ -33,12 +27,13 @@ DYNLINK_MOD_CFLAGS = -DIS_MODULE @DYNLINK_MOD_CFLAGS@ -libcipher_la_LDFLAGS = -libcipher_la_SOURCES = cipher.c \ +#libcipher_a_LDFLAGS = +libcipher_a_SOURCES = cipher.c \ pubkey.c \ md.c \ dynload.c \ dynload.h \ + bithelp.h \ des.c \ des.h \ twofish.c \ @@ -63,8 +58,8 @@ BUILT_SOURCES = construct.c -libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@ -libcipher_la_LIBADD = @STATIC_CIPHER_OBJS@ +libcipher_a_DEPENDENCIES = @STATIC_CIPHER_OBJS@ +libcipher_a_LIBADD = @STATIC_CIPHER_OBJS@ # If I remember it correct, automake 1.4 has a feature to set @@ -96,6 +91,4 @@ rndegd: $(srcdir)/rndegd.c $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndegd $(srcdir)/rndegd.c - - diff -urN gnupg-1.0.0/cipher/Makefile.in gnupg-1.0.1/cipher/Makefile.in --- gnupg-1.0.0/cipher/Makefile.in Tue Sep 7 18:48:17 1999 +++ gnupg-1.0.1/cipher/Makefile.in Thu Dec 16 10:16:57 1999 @@ -84,9 +84,6 @@ 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@ @@ -94,7 +91,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -109,21 +105,15 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LTLIBRARIES = libcipher.la - -# The configure script greps the module names from the following lines. -# You must also add all these names to EXTRA_PROGRAMS some lines below -# and EXTRA_foo_SOURCES entries. -# Hmmm is there a more easy way to do this? (EXTRA_PROGRAMS -# might also list programs which are not modules) -# MODULES: rndunix rndlinux rndegd -# MODULES: sha1 rmd160 md5 tiger -EXTRA_PROGRAMS = rndunix rndlinux rndegd sha1 rmd160 md5 tiger +noinst_LIBRARIES = libcipher.a +# The configure script greps the module names from the EXTRA_PROGRAMS line +EXTRA_PROGRAMS = rndlinux rndunix rndegd rndw32 sha1 rmd160 md5 tiger EXTRA_rndlinux_SOURCES = rndlinux.c EXTRA_rndunix_SOURCES = rndunix.c EXTRA_rndegd_SOURCES = rndegd.c +EXTRA_rndw32_SOURCES = rndw32.c EXTRA_md5_SOURCES = md5.c EXTRA_rmd160_SOURCES = rmd160.c EXTRA_sha1_SOURCES = sha1.c @@ -133,45 +123,51 @@ DYNLINK_MOD_CFLAGS = -DIS_MODULE @DYNLINK_MOD_CFLAGS@ -libcipher_la_LDFLAGS = -libcipher_la_SOURCES = cipher.c pubkey.c md.c dynload.c dynload.h des.c des.h twofish.c blowfish.c blowfish.h cast5.c cast5.h elgamal.c elgamal.h primegen.c random.h random.c rand-internal.h rmd.h dsa.h dsa.c g10c.c smallprime.c construct.c +#libcipher_a_LDFLAGS = +libcipher_a_SOURCES = cipher.c pubkey.c md.c dynload.c dynload.h bithelp.h des.c des.h twofish.c blowfish.c blowfish.h cast5.c cast5.h elgamal.c elgamal.h primegen.c random.h random.c rand-internal.h rmd.h dsa.h dsa.c g10c.c smallprime.c construct.c # configure creates the constructor file BUILT_SOURCES = construct.c -libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@ -libcipher_la_LIBADD = @STATIC_CIPHER_OBJS@ +libcipher_a_DEPENDENCIES = @STATIC_CIPHER_OBJS@ +libcipher_a_LIBADD = @STATIC_CIPHER_OBJS@ mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) +LIBRARIES = $(noinst_LIBRARIES) DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -libcipher_la_OBJECTS = cipher.lo pubkey.lo md.lo dynload.lo des.lo \ -twofish.lo blowfish.lo cast5.lo elgamal.lo primegen.lo random.lo dsa.lo \ -g10c.lo smallprime.lo construct.lo +libcipher_a_OBJECTS = cipher.o pubkey.o md.o dynload.o des.o twofish.o \ +blowfish.o cast5.o elgamal.o primegen.o random.o dsa.o g10c.o \ +smallprime.o construct.o +AR = ar PROGRAMS = $(pkglib_PROGRAMS) -rndunix_SOURCES = rndunix.c -rndunix_OBJECTS = rndunix.o -rndunix_LDADD = $(LDADD) -rndunix_DEPENDENCIES = -rndunix_LDFLAGS = rndlinux_SOURCES = rndlinux.c rndlinux_OBJECTS = rndlinux.o rndlinux_LDADD = $(LDADD) rndlinux_DEPENDENCIES = rndlinux_LDFLAGS = +rndunix_SOURCES = rndunix.c +rndunix_OBJECTS = rndunix.o +rndunix_LDADD = $(LDADD) +rndunix_DEPENDENCIES = +rndunix_LDFLAGS = rndegd_SOURCES = rndegd.c rndegd_OBJECTS = rndegd.o rndegd_LDADD = $(LDADD) rndegd_DEPENDENCIES = rndegd_LDFLAGS = +rndw32_SOURCES = rndw32.c +rndw32_OBJECTS = rndw32.o +rndw32_LDADD = $(LDADD) +rndw32_DEPENDENCIES = +rndw32_LDFLAGS = sha1_SOURCES = sha1.c sha1_OBJECTS = sha1.o sha1_LDADD = $(LDADD) @@ -194,9 +190,8 @@ tiger_LDFLAGS = CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -204,12 +199,12 @@ TAR = tar GZIP_ENV = --best -SOURCES = $(libcipher_la_SOURCES) rndunix.c $(EXTRA_rndunix_SOURCES) rndlinux.c $(EXTRA_rndlinux_SOURCES) rndegd.c $(EXTRA_rndegd_SOURCES) sha1.c $(EXTRA_sha1_SOURCES) rmd160.c $(EXTRA_rmd160_SOURCES) md5.c $(EXTRA_md5_SOURCES) tiger.c $(EXTRA_tiger_SOURCES) -OBJECTS = $(libcipher_la_OBJECTS) rndunix.o rndlinux.o rndegd.o sha1.o rmd160.o md5.o tiger.o +SOURCES = $(libcipher_a_SOURCES) rndlinux.c $(EXTRA_rndlinux_SOURCES) rndunix.c $(EXTRA_rndunix_SOURCES) rndegd.c $(EXTRA_rndegd_SOURCES) rndw32.c $(EXTRA_rndw32_SOURCES) sha1.c $(EXTRA_sha1_SOURCES) rmd160.c $(EXTRA_rmd160_SOURCES) md5.c $(EXTRA_md5_SOURCES) tiger.c $(EXTRA_tiger_SOURCES) +OBJECTS = $(libcipher_a_OBJECTS) rndlinux.o rndunix.o rndegd.o rndw32.o sha1.o rmd160.o md5.o tiger.o all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .s +.SUFFIXES: .S .c .o .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps cipher/Makefile @@ -218,14 +213,14 @@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -mostlyclean-noinstLTLIBRARIES: +mostlyclean-noinstLIBRARIES: -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -distclean-noinstLTLIBRARIES: +distclean-noinstLIBRARIES: -maintainer-clean-noinstLTLIBRARIES: +maintainer-clean-noinstLIBRARIES: .c.o: $(COMPILE) -c $< @@ -246,27 +241,10 @@ maintainer-clean-compile: -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -libcipher.la: $(libcipher_la_OBJECTS) $(libcipher_la_DEPENDENCIES) - $(LINK) $(libcipher_la_LDFLAGS) $(libcipher_la_OBJECTS) $(libcipher_la_LIBADD) $(LIBS) +libcipher.a: $(libcipher_a_OBJECTS) $(libcipher_a_DEPENDENCIES) + -rm -f libcipher.a + $(AR) cru libcipher.a $(libcipher_a_OBJECTS) $(libcipher_a_LIBADD) + $(RANLIB) libcipher.a mostlyclean-pkglibPROGRAMS: @@ -282,8 +260,8 @@ $(mkinstalldirs) $(DESTDIR)$(pkglibdir) @list='$(pkglib_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done @@ -293,6 +271,10 @@ rm -f $(DESTDIR)$(pkglibdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done +rndw32: $(rndw32_OBJECTS) $(rndw32_DEPENDENCIES) + @rm -f rndw32 + $(LINK) $(rndw32_LDFLAGS) $(rndw32_OBJECTS) $(rndw32_LDADD) $(LIBS) + sha1: $(sha1_OBJECTS) $(sha1_DEPENDENCIES) @rm -f sha1 $(LINK) $(sha1_LDFLAGS) $(sha1_OBJECTS) $(sha1_LDADD) $(LIBS) @@ -349,71 +331,71 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -blowfish.lo blowfish.o : blowfish.c ../config.h ../g10defs.h \ - ../include/types.h ../include/errors.h blowfish.h dynload.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h -cast5.lo cast5.o : cast5.c ../config.h ../g10defs.h ../include/types.h \ +blowfish.o: blowfish.c ../config.h ../g10defs.h ../include/types.h \ + ../include/errors.h blowfish.h dynload.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h +cast5.o: cast5.c ../config.h ../g10defs.h ../include/types.h \ ../include/errors.h cast5.h -cipher.lo cipher.o : cipher.c ../config.h ../g10defs.h ../include/util.h \ +cipher.o: cipher.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/cipher.h \ ../include/../cipher/random.h des.h blowfish.h cast5.h \ dynload.h -construct.lo construct.o : construct.c -des.lo des.o : des.c ../config.h ../g10defs.h ../include/types.h \ +construct.o: construct.c +des.o: des.c ../config.h ../g10defs.h ../include/types.h \ ../include/errors.h des.h -dsa.lo dsa.o : dsa.c ../config.h ../g10defs.h ../include/util.h \ +dsa.o: dsa.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/cipher.h \ ../include/../cipher/random.h dsa.h -dynload.lo dynload.o : dynload.c ../config.h ../g10defs.h \ - ../include/util.h ../include/types.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ - ../include/cipher.h ../include/../cipher/random.h dynload.h -elgamal.lo elgamal.o : elgamal.c ../config.h ../g10defs.h \ - ../include/util.h ../include/types.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ - ../include/cipher.h ../include/../cipher/random.h elgamal.h -g10c.lo g10c.o : g10c.c ../config.h ../g10defs.h ../include/mpi.h \ - ../include/iobuf.h ../include/types.h ../include/memory.h \ - random.h ../include/cipher.h ../include/../cipher/random.h -md.lo md.o : md.c ../config.h ../g10defs.h ../include/util.h \ +dynload.o: dynload.c ../config.h ../g10defs.h ../include/util.h \ + ../include/types.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h ../include/cipher.h \ + ../include/../cipher/random.h dynload.h +elgamal.o: elgamal.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/cipher.h \ + ../include/../cipher/random.h elgamal.h +g10c.o: g10c.c ../config.h ../g10defs.h ../include/mpi.h \ + ../include/iobuf.h ../include/types.h ../include/memory.h \ + random.h ../include/cipher.h ../include/../cipher/random.h +md.o: md.c ../config.h ../g10defs.h ../include/util.h ../include/types.h \ + ../include/errors.h ../include/mpi.h ../include/iobuf.h \ + ../include/memory.h ../include/cipher.h \ ../include/../cipher/random.h dynload.h rmd.h -md5.lo md5.o : md5.c ../config.h ../g10defs.h ../include/util.h \ +md5.o: md5.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ - ../include/iobuf.h ../include/memory.h dynload.h -primegen.lo primegen.o : primegen.c ../config.h ../g10defs.h \ - ../include/util.h ../include/types.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ - ../include/cipher.h ../include/../cipher/random.h -pubkey.lo pubkey.o : pubkey.c ../config.h ../g10defs.h ../include/util.h \ + ../include/iobuf.h ../include/memory.h dynload.h bithelp.h +primegen.o: primegen.c ../config.h ../g10defs.h ../include/util.h \ + ../include/types.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h ../include/cipher.h \ + ../include/../cipher/random.h +pubkey.o: pubkey.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/cipher.h \ ../include/../cipher/random.h elgamal.h dsa.h dynload.h -random.lo random.o : random.c ../config.h ../g10defs.h ../include/util.h \ +random.o: random.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h rmd.h ../include/ttyio.h \ ../include/i18n.h random.h rand-internal.h dynload.h -rmd160.lo rmd160.o : rmd160.c ../config.h ../g10defs.h ../include/util.h \ +rmd160.o: rmd160.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h rmd.h \ - ../include/cipher.h ../include/../cipher/random.h dynload.h -rndlinux.lo rndlinux.o : rndlinux.c ../config.h ../g10defs.h \ - ../include/types.h ../include/util.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ - ../include/ttyio.h dynload.h ../include/i18n.h -sha1.lo sha1.o : sha1.c ../config.h ../g10defs.h ../include/util.h \ + ../include/cipher.h ../include/../cipher/random.h dynload.h \ + bithelp.h +rndlinux.o: rndlinux.c ../config.h ../g10defs.h ../include/types.h \ + ../include/util.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h ../include/ttyio.h \ + dynload.h ../include/i18n.h +sha1.o: sha1.c ../config.h ../g10defs.h ../include/util.h \ + ../include/types.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h dynload.h bithelp.h +smallprime.o: smallprime.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h +twofish.o: twofish.c ../config.h ../g10defs.h ../include/types.h \ + ../include/util.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h dynload.h -smallprime.lo smallprime.o : smallprime.c ../config.h ../g10defs.h \ - ../include/util.h ../include/types.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h -twofish.lo twofish.o : twofish.c ../config.h ../g10defs.h \ - ../include/types.h ../include/util.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ - dynload.h info-am: info: info-am @@ -434,7 +416,7 @@ install: install-am uninstall-am: uninstall-pkglibPROGRAMS uninstall: uninstall-am -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) +all-am: Makefile $(LIBRARIES) $(PROGRAMS) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install @@ -452,27 +434,25 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \ - mostlyclean-libtool mostlyclean-pkglibPROGRAMS \ - mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ + mostlyclean-pkglibPROGRAMS mostlyclean-tags \ + mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \ - clean-pkglibPROGRAMS clean-tags clean-generic \ - mostlyclean-am +clean-am: clean-noinstLIBRARIES clean-compile clean-pkglibPROGRAMS \ + clean-tags clean-generic mostlyclean-am clean: clean-am -distclean-am: distclean-noinstLTLIBRARIES distclean-compile \ - distclean-libtool distclean-pkglibPROGRAMS \ - distclean-tags distclean-generic clean-am - -rm -f libtool +distclean-am: distclean-noinstLIBRARIES distclean-compile \ + distclean-pkglibPROGRAMS distclean-tags \ + distclean-generic clean-am distclean: distclean-am -maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ +maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ + maintainer-clean-compile \ maintainer-clean-pkglibPROGRAMS maintainer-clean-tags \ maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @@ -480,11 +460,10 @@ maintainer-clean: maintainer-clean-am -.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \ -clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \ +.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ +clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool mostlyclean-pkglibPROGRAMS \ +maintainer-clean-compile mostlyclean-pkglibPROGRAMS \ distclean-pkglibPROGRAMS clean-pkglibPROGRAMS \ maintainer-clean-pkglibPROGRAMS uninstall-pkglibPROGRAMS \ install-pkglibPROGRAMS tags mostlyclean-tags distclean-tags clean-tags \ diff -urN gnupg-1.0.0/cipher/bithelp.h gnupg-1.0.1/cipher/bithelp.h --- gnupg-1.0.0/cipher/bithelp.h Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/cipher/bithelp.h Mon Sep 13 10:56:41 1999 @@ -0,0 +1,41 @@ +/* bithelp.h - Some bit manipulation helpers + * Copyright (C) 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ +#ifndef G10_BITHELP_H +#define G10_BITHELP_H + + +/**************** + * Rotate a 32 bit integer by n bytes + */ +#if defined(__GNUC__) && defined(__i386__) +static inline u32 +rol( u32 x, int n) +{ + __asm__("roll %%cl,%0" + :"=r" (x) + :"0" (x),"c" (n)); + return x; +} +#else + #define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) ) +#endif + + +#endif /*G10_BITHELP_H*/ diff -urN gnupg-1.0.0/cipher/des.c gnupg-1.0.1/cipher/des.c --- gnupg-1.0.0/cipher/des.c Mon Sep 6 20:33:11 1999 +++ gnupg-1.0.1/cipher/des.c Wed Sep 15 17:58:40 1999 @@ -1,5 +1,5 @@ /* des.c - DES and Triple-DES encryption/decryption Algorithm - * Copyright (C) 1998 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999 Free Software Foundation, Inc. * * Please see below for more legal information! * @@ -190,105 +190,105 @@ /* * The s-box values are permuted according to the 'primitive function P' + * and are rotated one bit to the left. */ static u32 sbox1[64] = { - 0x00808200, 0x00000000, 0x00008000, 0x00808202, 0x00808002, 0x00008202, 0x00000002, 0x00008000, - 0x00000200, 0x00808200, 0x00808202, 0x00000200, 0x00800202, 0x00808002, 0x00800000, 0x00000002, - 0x00000202, 0x00800200, 0x00800200, 0x00008200, 0x00008200, 0x00808000, 0x00808000, 0x00800202, - 0x00008002, 0x00800002, 0x00800002, 0x00008002, 0x00000000, 0x00000202, 0x00008202, 0x00800000, - 0x00008000, 0x00808202, 0x00000002, 0x00808000, 0x00808200, 0x00800000, 0x00800000, 0x00000200, - 0x00808002, 0x00008000, 0x00008200, 0x00800002, 0x00000200, 0x00000002, 0x00800202, 0x00008202, - 0x00808202, 0x00008002, 0x00808000, 0x00800202, 0x00800002, 0x00000202, 0x00008202, 0x00808200, - 0x00000202, 0x00800200, 0x00800200, 0x00000000, 0x00008002, 0x00008200, 0x00000000, 0x00808002 + 0x01010400, 0x00000000, 0x00010000, 0x01010404, 0x01010004, 0x00010404, 0x00000004, 0x00010000, + 0x00000400, 0x01010400, 0x01010404, 0x00000400, 0x01000404, 0x01010004, 0x01000000, 0x00000004, + 0x00000404, 0x01000400, 0x01000400, 0x00010400, 0x00010400, 0x01010000, 0x01010000, 0x01000404, + 0x00010004, 0x01000004, 0x01000004, 0x00010004, 0x00000000, 0x00000404, 0x00010404, 0x01000000, + 0x00010000, 0x01010404, 0x00000004, 0x01010000, 0x01010400, 0x01000000, 0x01000000, 0x00000400, + 0x01010004, 0x00010000, 0x00010400, 0x01000004, 0x00000400, 0x00000004, 0x01000404, 0x00010404, + 0x01010404, 0x00010004, 0x01010000, 0x01000404, 0x01000004, 0x00000404, 0x00010404, 0x01010400, + 0x00000404, 0x01000400, 0x01000400, 0x00000000, 0x00010004, 0x00010400, 0x00000000, 0x01010004 }; static u32 sbox2[64] = { - 0x40084010, 0x40004000, 0x00004000, 0x00084010, 0x00080000, 0x00000010, 0x40080010, 0x40004010, - 0x40000010, 0x40084010, 0x40084000, 0x40000000, 0x40004000, 0x00080000, 0x00000010, 0x40080010, - 0x00084000, 0x00080010, 0x40004010, 0x00000000, 0x40000000, 0x00004000, 0x00084010, 0x40080000, - 0x00080010, 0x40000010, 0x00000000, 0x00084000, 0x00004010, 0x40084000, 0x40080000, 0x00004010, - 0x00000000, 0x00084010, 0x40080010, 0x00080000, 0x40004010, 0x40080000, 0x40084000, 0x00004000, - 0x40080000, 0x40004000, 0x00000010, 0x40084010, 0x00084010, 0x00000010, 0x00004000, 0x40000000, - 0x00004010, 0x40084000, 0x00080000, 0x40000010, 0x00080010, 0x40004010, 0x40000010, 0x00080010, - 0x00084000, 0x00000000, 0x40004000, 0x00004010, 0x40000000, 0x40080010, 0x40084010, 0x00084000 + 0x80108020, 0x80008000, 0x00008000, 0x00108020, 0x00100000, 0x00000020, 0x80100020, 0x80008020, + 0x80000020, 0x80108020, 0x80108000, 0x80000000, 0x80008000, 0x00100000, 0x00000020, 0x80100020, + 0x00108000, 0x00100020, 0x80008020, 0x00000000, 0x80000000, 0x00008000, 0x00108020, 0x80100000, + 0x00100020, 0x80000020, 0x00000000, 0x00108000, 0x00008020, 0x80108000, 0x80100000, 0x00008020, + 0x00000000, 0x00108020, 0x80100020, 0x00100000, 0x80008020, 0x80100000, 0x80108000, 0x00008000, + 0x80100000, 0x80008000, 0x00000020, 0x80108020, 0x00108020, 0x00000020, 0x00008000, 0x80000000, + 0x00008020, 0x80108000, 0x00100000, 0x80000020, 0x00100020, 0x80008020, 0x80000020, 0x00100020, + 0x00108000, 0x00000000, 0x80008000, 0x00008020, 0x80000000, 0x80100020, 0x80108020, 0x00108000 }; static u32 sbox3[64] = { - 0x00000104, 0x04010100, 0x00000000, 0x04010004, 0x04000100, 0x00000000, 0x00010104, 0x04000100, - 0x00010004, 0x04000004, 0x04000004, 0x00010000, 0x04010104, 0x00010004, 0x04010000, 0x00000104, - 0x04000000, 0x00000004, 0x04010100, 0x00000100, 0x00010100, 0x04010000, 0x04010004, 0x00010104, - 0x04000104, 0x00010100, 0x00010000, 0x04000104, 0x00000004, 0x04010104, 0x00000100, 0x04000000, - 0x04010100, 0x04000000, 0x00010004, 0x00000104, 0x00010000, 0x04010100, 0x04000100, 0x00000000, - 0x00000100, 0x00010004, 0x04010104, 0x04000100, 0x04000004, 0x00000100, 0x00000000, 0x04010004, - 0x04000104, 0x00010000, 0x04000000, 0x04010104, 0x00000004, 0x00010104, 0x00010100, 0x04000004, - 0x04010000, 0x04000104, 0x00000104, 0x04010000, 0x00010104, 0x00000004, 0x04010004, 0x00010100 + 0x00000208, 0x08020200, 0x00000000, 0x08020008, 0x08000200, 0x00000000, 0x00020208, 0x08000200, + 0x00020008, 0x08000008, 0x08000008, 0x00020000, 0x08020208, 0x00020008, 0x08020000, 0x00000208, + 0x08000000, 0x00000008, 0x08020200, 0x00000200, 0x00020200, 0x08020000, 0x08020008, 0x00020208, + 0x08000208, 0x00020200, 0x00020000, 0x08000208, 0x00000008, 0x08020208, 0x00000200, 0x08000000, + 0x08020200, 0x08000000, 0x00020008, 0x00000208, 0x00020000, 0x08020200, 0x08000200, 0x00000000, + 0x00000200, 0x00020008, 0x08020208, 0x08000200, 0x08000008, 0x00000200, 0x00000000, 0x08020008, + 0x08000208, 0x00020000, 0x08000000, 0x08020208, 0x00000008, 0x00020208, 0x00020200, 0x08000008, + 0x08020000, 0x08000208, 0x00000208, 0x08020000, 0x00020208, 0x00000008, 0x08020008, 0x00020200 }; static u32 sbox4[64] = { - 0x80401000, 0x80001040, 0x80001040, 0x00000040, 0x00401040, 0x80400040, 0x80400000, 0x80001000, - 0x00000000, 0x00401000, 0x00401000, 0x80401040, 0x80000040, 0x00000000, 0x00400040, 0x80400000, - 0x80000000, 0x00001000, 0x00400000, 0x80401000, 0x00000040, 0x00400000, 0x80001000, 0x00001040, - 0x80400040, 0x80000000, 0x00001040, 0x00400040, 0x00001000, 0x00401040, 0x80401040, 0x80000040, - 0x00400040, 0x80400000, 0x00401000, 0x80401040, 0x80000040, 0x00000000, 0x00000000, 0x00401000, - 0x00001040, 0x00400040, 0x80400040, 0x80000000, 0x80401000, 0x80001040, 0x80001040, 0x00000040, - 0x80401040, 0x80000040, 0x80000000, 0x00001000, 0x80400000, 0x80001000, 0x00401040, 0x80400040, - 0x80001000, 0x00001040, 0x00400000, 0x80401000, 0x00000040, 0x00400000, 0x00001000, 0x00401040 + 0x00802001, 0x00002081, 0x00002081, 0x00000080, 0x00802080, 0x00800081, 0x00800001, 0x00002001, + 0x00000000, 0x00802000, 0x00802000, 0x00802081, 0x00000081, 0x00000000, 0x00800080, 0x00800001, + 0x00000001, 0x00002000, 0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002001, 0x00002080, + 0x00800081, 0x00000001, 0x00002080, 0x00800080, 0x00002000, 0x00802080, 0x00802081, 0x00000081, + 0x00800080, 0x00800001, 0x00802000, 0x00802081, 0x00000081, 0x00000000, 0x00000000, 0x00802000, + 0x00002080, 0x00800080, 0x00800081, 0x00000001, 0x00802001, 0x00002081, 0x00002081, 0x00000080, + 0x00802081, 0x00000081, 0x00000001, 0x00002000, 0x00800001, 0x00002001, 0x00802080, 0x00800081, + 0x00002001, 0x00002080, 0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002000, 0x00802080 }; static u32 sbox5[64] = { - 0x00000080, 0x01040080, 0x01040000, 0x21000080, 0x00040000, 0x00000080, 0x20000000, 0x01040000, - 0x20040080, 0x00040000, 0x01000080, 0x20040080, 0x21000080, 0x21040000, 0x00040080, 0x20000000, - 0x01000000, 0x20040000, 0x20040000, 0x00000000, 0x20000080, 0x21040080, 0x21040080, 0x01000080, - 0x21040000, 0x20000080, 0x00000000, 0x21000000, 0x01040080, 0x01000000, 0x21000000, 0x00040080, - 0x00040000, 0x21000080, 0x00000080, 0x01000000, 0x20000000, 0x01040000, 0x21000080, 0x20040080, - 0x01000080, 0x20000000, 0x21040000, 0x01040080, 0x20040080, 0x00000080, 0x01000000, 0x21040000, - 0x21040080, 0x00040080, 0x21000000, 0x21040080, 0x01040000, 0x00000000, 0x20040000, 0x21000000, - 0x00040080, 0x01000080, 0x20000080, 0x00040000, 0x00000000, 0x20040000, 0x01040080, 0x20000080 + 0x00000100, 0x02080100, 0x02080000, 0x42000100, 0x00080000, 0x00000100, 0x40000000, 0x02080000, + 0x40080100, 0x00080000, 0x02000100, 0x40080100, 0x42000100, 0x42080000, 0x00080100, 0x40000000, + 0x02000000, 0x40080000, 0x40080000, 0x00000000, 0x40000100, 0x42080100, 0x42080100, 0x02000100, + 0x42080000, 0x40000100, 0x00000000, 0x42000000, 0x02080100, 0x02000000, 0x42000000, 0x00080100, + 0x00080000, 0x42000100, 0x00000100, 0x02000000, 0x40000000, 0x02080000, 0x42000100, 0x40080100, + 0x02000100, 0x40000000, 0x42080000, 0x02080100, 0x40080100, 0x00000100, 0x02000000, 0x42080000, + 0x42080100, 0x00080100, 0x42000000, 0x42080100, 0x02080000, 0x00000000, 0x40080000, 0x42000000, + 0x00080100, 0x02000100, 0x40000100, 0x00080000, 0x00000000, 0x40080000, 0x02080100, 0x40000100 }; static u32 sbox6[64] = { - 0x10000008, 0x10200000, 0x00002000, 0x10202008, 0x10200000, 0x00000008, 0x10202008, 0x00200000, - 0x10002000, 0x00202008, 0x00200000, 0x10000008, 0x00200008, 0x10002000, 0x10000000, 0x00002008, - 0x00000000, 0x00200008, 0x10002008, 0x00002000, 0x00202000, 0x10002008, 0x00000008, 0x10200008, - 0x10200008, 0x00000000, 0x00202008, 0x10202000, 0x00002008, 0x00202000, 0x10202000, 0x10000000, - 0x10002000, 0x00000008, 0x10200008, 0x00202000, 0x10202008, 0x00200000, 0x00002008, 0x10000008, - 0x00200000, 0x10002000, 0x10000000, 0x00002008, 0x10000008, 0x10202008, 0x00202000, 0x10200000, - 0x00202008, 0x10202000, 0x00000000, 0x10200008, 0x00000008, 0x00002000, 0x10200000, 0x00202008, - 0x00002000, 0x00200008, 0x10002008, 0x00000000, 0x10202000, 0x10000000, 0x00200008, 0x10002008 + 0x20000010, 0x20400000, 0x00004000, 0x20404010, 0x20400000, 0x00000010, 0x20404010, 0x00400000, + 0x20004000, 0x00404010, 0x00400000, 0x20000010, 0x00400010, 0x20004000, 0x20000000, 0x00004010, + 0x00000000, 0x00400010, 0x20004010, 0x00004000, 0x00404000, 0x20004010, 0x00000010, 0x20400010, + 0x20400010, 0x00000000, 0x00404010, 0x20404000, 0x00004010, 0x00404000, 0x20404000, 0x20000000, + 0x20004000, 0x00000010, 0x20400010, 0x00404000, 0x20404010, 0x00400000, 0x00004010, 0x20000010, + 0x00400000, 0x20004000, 0x20000000, 0x00004010, 0x20000010, 0x20404010, 0x00404000, 0x20400000, + 0x00404010, 0x20404000, 0x00000000, 0x20400010, 0x00000010, 0x00004000, 0x20400000, 0x00404010, + 0x00004000, 0x00400010, 0x20004010, 0x00000000, 0x20404000, 0x20000000, 0x00400010, 0x20004010 }; static u32 sbox7[64] = { - 0x00100000, 0x02100001, 0x02000401, 0x00000000, 0x00000400, 0x02000401, 0x00100401, 0x02100400, - 0x02100401, 0x00100000, 0x00000000, 0x02000001, 0x00000001, 0x02000000, 0x02100001, 0x00000401, - 0x02000400, 0x00100401, 0x00100001, 0x02000400, 0x02000001, 0x02100000, 0x02100400, 0x00100001, - 0x02100000, 0x00000400, 0x00000401, 0x02100401, 0x00100400, 0x00000001, 0x02000000, 0x00100400, - 0x02000000, 0x00100400, 0x00100000, 0x02000401, 0x02000401, 0x02100001, 0x02100001, 0x00000001, - 0x00100001, 0x02000000, 0x02000400, 0x00100000, 0x02100400, 0x00000401, 0x00100401, 0x02100400, - 0x00000401, 0x02000001, 0x02100401, 0x02100000, 0x00100400, 0x00000000, 0x00000001, 0x02100401, - 0x00000000, 0x00100401, 0x02100000, 0x00000400, 0x02000001, 0x02000400, 0x00000400, 0x00100001 + 0x00200000, 0x04200002, 0x04000802, 0x00000000, 0x00000800, 0x04000802, 0x00200802, 0x04200800, + 0x04200802, 0x00200000, 0x00000000, 0x04000002, 0x00000002, 0x04000000, 0x04200002, 0x00000802, + 0x04000800, 0x00200802, 0x00200002, 0x04000800, 0x04000002, 0x04200000, 0x04200800, 0x00200002, + 0x04200000, 0x00000800, 0x00000802, 0x04200802, 0x00200800, 0x00000002, 0x04000000, 0x00200800, + 0x04000000, 0x00200800, 0x00200000, 0x04000802, 0x04000802, 0x04200002, 0x04200002, 0x00000002, + 0x00200002, 0x04000000, 0x04000800, 0x00200000, 0x04200800, 0x00000802, 0x00200802, 0x04200800, + 0x00000802, 0x04000002, 0x04200802, 0x04200000, 0x00200800, 0x00000000, 0x00000002, 0x04200802, + 0x00000000, 0x00200802, 0x04200000, 0x00000800, 0x04000002, 0x04000800, 0x00000800, 0x00200002 }; static u32 sbox8[64] = { - 0x08000820, 0x00000800, 0x00020000, 0x08020820, 0x08000000, 0x08000820, 0x00000020, 0x08000000, - 0x00020020, 0x08020000, 0x08020820, 0x00020800, 0x08020800, 0x00020820, 0x00000800, 0x00000020, - 0x08020000, 0x08000020, 0x08000800, 0x00000820, 0x00020800, 0x00020020, 0x08020020, 0x08020800, - 0x00000820, 0x00000000, 0x00000000, 0x08020020, 0x08000020, 0x08000800, 0x00020820, 0x00020000, - 0x00020820, 0x00020000, 0x08020800, 0x00000800, 0x00000020, 0x08020020, 0x00000800, 0x00020820, - 0x08000800, 0x00000020, 0x08000020, 0x08020000, 0x08020020, 0x08000000, 0x00020000, 0x08000820, - 0x00000000, 0x08020820, 0x00020020, 0x08000020, 0x08020000, 0x08000800, 0x08000820, 0x00000000, - 0x08020820, 0x00020800, 0x00020800, 0x00000820, 0x00000820, 0x00020020, 0x08000000, 0x08020800 + 0x10001040, 0x00001000, 0x00040000, 0x10041040, 0x10000000, 0x10001040, 0x00000040, 0x10000000, + 0x00040040, 0x10040000, 0x10041040, 0x00041000, 0x10041000, 0x00041040, 0x00001000, 0x00000040, + 0x10040000, 0x10000040, 0x10001000, 0x00001040, 0x00041000, 0x00040040, 0x10040040, 0x10041000, + 0x00001040, 0x00000000, 0x00000000, 0x10040040, 0x10000040, 0x10001000, 0x00041040, 0x00040000, + 0x00041040, 0x00040000, 0x10041000, 0x00001000, 0x00000040, 0x10040040, 0x00001000, 0x00041040, + 0x10001000, 0x00000040, 0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x00040000, 0x10001040, + 0x00000000, 0x10041040, 0x00040040, 0x10000040, 0x10040000, 0x10001000, 0x10001040, 0x00000000, + 0x10041040, 0x00041000, 0x00041000, 0x00001040, 0x00001040, 0x00040040, 0x10000000, 0x10041000 }; - /* * These two tables are part of the 'permuted choice 1' function. * In this implementation several speed improvements are done. @@ -312,10 +312,10 @@ /* - * Numbers of left shifts per round for encryption subkey schedule - * To calculate the decryption key scheduling we just reverse the - * ordering of the subkeys so we can omit the table for decryption - * subkey schedule. + * Numbers of left shifts per round for encryption subkeys. + * To calculate the decryption subkeys we just reverse the + * ordering of the calculated encryption subkeys. So their + * is no need for a decryption rotate tab. */ static byte encrypt_rotate_tab[16] = { @@ -373,7 +373,7 @@ /* - * Macro to swap bits across two words + * Macro to swap bits across two words. */ #define DO_PERMUTATION(a, temp, b, offset, mask) \ temp = ((a>>offset) ^ b) & mask; \ @@ -382,21 +382,30 @@ /* - * This performs the 'initial permutation' for the data to be encrypted or decrypted + * This performs the 'initial permutation' of the data to be encrypted + * or decrypted. Additionally the resulting two words are rotated one bit + * to the left. */ #define INITIAL_PERMUTATION(left, temp, right) \ DO_PERMUTATION(left, temp, right, 4, 0x0f0f0f0f) \ DO_PERMUTATION(left, temp, right, 16, 0x0000ffff) \ DO_PERMUTATION(right, temp, left, 2, 0x33333333) \ DO_PERMUTATION(right, temp, left, 8, 0x00ff00ff) \ - DO_PERMUTATION(left, temp, right, 1, 0x55555555) - + right = (right << 1) | (right >> 31); \ + temp = (left ^ right) & 0xaaaaaaaa; \ + right ^= temp; \ + left ^= temp; \ + left = (left << 1) | (left >> 31); /* - * The 'inverse initial permutation' + * The 'inverse initial permutation'. */ #define FINAL_PERMUTATION(left, temp, right) \ - DO_PERMUTATION(left, temp, right, 1, 0x55555555) \ + left = (left << 31) | (left >> 1); \ + temp = (left ^ right) & 0xaaaaaaaa; \ + left ^= temp; \ + right ^= temp; \ + right = (right << 31) | (right >> 1); \ DO_PERMUTATION(right, temp, left, 8, 0x00ff00ff) \ DO_PERMUTATION(right, temp, left, 2, 0x33333333) \ DO_PERMUTATION(left, temp, right, 16, 0x0000ffff) \ @@ -406,22 +415,23 @@ /* * A full DES round including 'expansion function', 'sbox substitution' * and 'primitive function P' but without swapping the left and right word. + * Please note: The data in 'from' and 'to' is already rotated one bit to + * the left, done in the initial permutation. */ #define DES_ROUND(from, to, work, subkey) \ - work = ((from<<1) | (from>>31)) ^ *subkey++; \ + work = from ^ *subkey++; \ to ^= sbox8[ work & 0x3f ]; \ to ^= sbox6[ (work>>8) & 0x3f ]; \ to ^= sbox4[ (work>>16) & 0x3f ]; \ to ^= sbox2[ (work>>24) & 0x3f ]; \ - work = ((from>>3) | (from<<29)) ^ *subkey++; \ + work = ((from << 28) | (from >> 4)) ^ *subkey++; \ to ^= sbox7[ work & 0x3f ]; \ to ^= sbox5[ (work>>8) & 0x3f ]; \ to ^= sbox3[ (work>>16) & 0x3f ]; \ to ^= sbox1[ (work>>24) & 0x3f ]; - /* - * Macros to convert 8 bytes from/to 32bit words + * Macros to convert 8 bytes from/to 32bit words. */ #define READ_64BIT_DATA(data, left, right) \ left = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; \ @@ -433,7 +443,6 @@ data[4] = (right >> 24) &0xff; data[5] = (right >> 16) &0xff; \ data[6] = (right >> 8) &0xff; data[7] = right &0xff; - /* * Handy macros for encryption and decryption of data */ @@ -797,9 +806,7 @@ /* - * Triple-DES test (Do somebody known on official test?) - * - * Note: This test doesn't use tripledes_set3keys() ! + * Self made Triple-DES test (Does somebody known an official test?) */ { int i; @@ -823,10 +830,9 @@ tripledes_ecb_encrypt (des3, input, input); } if (memcmp (input, result, 8)) - return "TRIPLE-DES test failed."; + return "Triple-DES test failed."; } - #if 0 /* * More Triple-DES test. These are testvectors as used by SSLeay, * thanks to Jeroen C. van Gelderen. @@ -894,13 +900,32 @@ { 0xe1,0xef,0x62,0xc3,0x32,0xfe,0x82,0x5b } } }; - /* fixme: do the test */ + + byte result[8]; + int i; + static char error[80]; + tripledes_ctx des3; + + for (i=0; ig, k, skey->p ); mpi_mul(t, skey->x, a ); mpi_subm(t, input, t, p_1 ); - while( mpi_is_neg(t) ) + while( mpi_is_neg(t) ) { + BUG(); /* That is nonsense code - left over from a very early test?*/ mpi_add(t, t, p_1); + } mpi_invm(inv, k, p_1 ); mpi_mulm(b, t, inv, p_1 ); diff -urN gnupg-1.0.0/cipher/md.c gnupg-1.0.1/cipher/md.c --- gnupg-1.0.0/cipher/md.c Thu Jun 17 17:33:19 1999 +++ gnupg-1.0.1/cipher/md.c Thu Sep 30 06:05:58 1999 @@ -291,7 +291,7 @@ { struct md_digest_list_s *r; - a->bufcount = 0; + a->bufcount = a->finalized = 0; for( r=a->list; r; r = r->next ) { memset( r->context.c, 0, r->contextsize ); (*r->init)( &r->context.c ); diff -urN gnupg-1.0.0/cipher/md5.c gnupg-1.0.1/cipher/md5.c --- gnupg-1.0.0/cipher/md5.c Mon Jul 26 09:44:30 1999 +++ gnupg-1.0.1/cipher/md5.c Mon Sep 13 10:56:41 1999 @@ -37,6 +37,8 @@ #include "memory.h" #include "dynload.h" +#include "bithelp.h" + typedef struct { u32 A,B,C,D; /* chaining variables */ @@ -104,15 +106,11 @@ do \ { \ a += FF (b, c, d) + (*cwp++) + T; \ - CYCLIC (a, s); \ + a = rol(a, s); \ a += b; \ } \ while (0) - /* It is unfortunate that C does not provide an operator for - cyclic rotation. Hope the C compiler is smart enough. */ -#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s))) - /* Before we start, one word about the strange constants. They are defined in RFC 1321 as @@ -142,7 +140,7 @@ do \ { \ a += f (b, c, d) + correct_words[k] + T; \ - CYCLIC (a, s); \ + a = rol(a, s); \ a += b; \ } \ while (0) @@ -358,7 +356,7 @@ #ifndef IS_MODULE static #endif -const char * const gnupgext_version = "MD5 ($Revision: 1.14 $)"; +const char * const gnupgext_version = "MD5 ($Revision: 1.15 $)"; static struct { int class; diff -urN gnupg-1.0.0/cipher/primegen.c gnupg-1.0.1/cipher/primegen.c --- gnupg-1.0.0/cipher/primegen.c Wed Jun 30 10:35:54 1999 +++ gnupg-1.0.1/cipher/primegen.c Fri Dec 3 15:36:31 1999 @@ -117,8 +117,8 @@ log_debug("gen prime: pbits=%u qbits=%u fbits=%u/%u n=%d\n", pbits, req_qbits, qbits, fbits, n ); prime = mpi_alloc( (pbits + BITS_PER_MPI_LIMB - 1) / BITS_PER_MPI_LIMB ); - q = gen_prime( qbits, 0, 1 ); - q_factor = mode==1? gen_prime( req_qbits, 0, 1 ) : NULL; + q = gen_prime( qbits, 0, 0 ); + q_factor = mode==1? gen_prime( req_qbits, 0, 0 ) : NULL; /* allocate an array to hold the factors + 2 for later usage */ factors = m_alloc_clear( (n+2) * sizeof *factors ); @@ -145,7 +145,7 @@ perms = m_alloc_clear( m ); for(i=0; i < n; i++ ) { perms[i] = 1; - pool[i] = gen_prime( fbits, 0, 1 ); + pool[i] = gen_prime( fbits, 0, 0 ); factors[i] = pool[i]; } } @@ -154,7 +154,7 @@ for(i=j=0; i < m && j < n ; i++ ) if( perms[i] ) { if( !pool[i] ) - pool[i] = gen_prime( fbits, 0, 1 ); + pool[i] = gen_prime( fbits, 0, 0 ); factors[j++] = pool[i]; } if( i == n ) { @@ -177,7 +177,7 @@ count1 = 0; qbits++; progress('>'); - q = gen_prime( qbits, 0, 1 ); + q = gen_prime( qbits, 0, 0 ); goto next_try; } } @@ -188,7 +188,7 @@ count2 = 0; qbits--; progress('<'); - q = gen_prime( qbits, 0, 1 ); + q = gen_prime( qbits, 0, 0 ); goto next_try; } } diff -urN gnupg-1.0.0/cipher/random.c gnupg-1.0.1/cipher/random.c --- gnupg-1.0.0/cipher/random.c Fri Jul 2 11:08:58 1999 +++ gnupg-1.0.1/cipher/random.c Tue Oct 26 19:36:58 1999 @@ -408,12 +408,18 @@ #endif #endif #ifdef HAVE_GETRUSAGE + #ifndef RUSAGE_SELF + #ifdef __GCC__ + #warning There is no RUSAGE_SELF on this system + #endif + #else { struct rusage buf; if( getrusage( RUSAGE_SELF, &buf ) ) BUG(); add_randomness( &buf, sizeof buf, 1 ); memset( &buf, 0, sizeof buf ); } + #endif #endif } diff -urN gnupg-1.0.0/cipher/random.h gnupg-1.0.1/cipher/random.h --- gnupg-1.0.0/cipher/random.h Fri Jul 2 10:51:38 1999 +++ gnupg-1.0.1/cipher/random.h Wed Sep 15 16:26:17 1999 @@ -31,4 +31,9 @@ byte *get_random_bits( size_t nbits, int level, int secure ); void fast_random_poll( void ); +/*-- rndw32.c --*/ +#ifdef USE_STATIC_RNDW32 +void rndw32_set_dll_name( const char *name ); +#endif + #endif /*G10_RANDOM_H*/ diff -urN gnupg-1.0.0/cipher/rmd160.c gnupg-1.0.1/cipher/rmd160.c --- gnupg-1.0.0/cipher/rmd160.c Mon May 17 20:18:19 1999 +++ gnupg-1.0.1/cipher/rmd160.c Mon Sep 13 10:56:41 1999 @@ -29,6 +29,8 @@ #include "cipher.h" /* only used for the rmd160_hash_buffer() prototype */ #include "dynload.h" +#include "bithelp.h" + /********************************* * RIPEMD-160 is not patented, see (as of 25.10.97) * http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html @@ -153,19 +155,6 @@ } -#if defined(__GNUC__) && defined(__i386__) -static inline u32 -rol(int n, u32 x) -{ - __asm__("roll %%cl,%0" - :"=r" (x) - :"0" (x),"c" (n)); - return x; -} -#else - #define rol(n,x) ( ((x) << (n)) | ((x) >> (32-(n))) ) -#endif - /**************** * Transform the message X which consists of 16 32-bit-words @@ -218,8 +207,8 @@ #define F3(x,y,z) ( ((x) & (z)) | ((y) & ~(z)) ) #define F4(x,y,z) ( (x) ^ ((y) | ~(z)) ) #define R(a,b,c,d,e,f,k,r,s) do { t = a + f(b,c,d) + k + x[r]; \ - a = rol(s,t) + e; \ - c = rol(10,c); \ + a = rol(t,s) + e; \ + c = rol(c,10); \ } while(0) /* left lane */ @@ -585,7 +574,7 @@ #ifndef IS_MODULE static #endif -const char * const gnupgext_version = "RMD160 ($Revision: 1.16 $)"; +const char * const gnupgext_version = "RMD160 ($Revision: 1.17 $)"; static struct { int class; diff -urN gnupg-1.0.0/cipher/rndw32.c gnupg-1.0.1/cipher/rndw32.c --- gnupg-1.0.0/cipher/rndw32.c Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/cipher/rndw32.c Mon Oct 11 09:26:52 1999 @@ -0,0 +1,289 @@ +/* rndw32.c - interface to the Winseed DLL + * Copyright (C) 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include +#include +#include +#include +#include +#include + +#include + +#include "types.h" +#include "util.h" +#include "dynload.h" + + +#ifdef IS_MODULE + #define _(a) (a) +#else + #include "i18n.h" +#endif + + +#define WIN32_SLOW_SEEDER 0 +#define WIN32_FAST_SEEDER 1 + +#define PCP_SUCCESS 0 +#define PCP_NULL_POINTER 1 +#define PCP_SEEDER_FAILED 2 +#define PCP_SEEDER_NO_MEM 3 +#define PCP_SEEDER_TOO_SMALL 4 +#define PCP_DLL_LOAD_FAILED 5 +#define PCP_UNKNOWN_PLATFORM 6 +#define PCP_ERROR_VERSION 7 +#define PCP_DLL_FUNC 8 +#define PCP_UNKNOWN_SEEDER_TYPE 9 + + +/**************** + * We sometimes get a SEEDER_TOO_SMALL error, in which case we increment + * the internal buffer by SEEDER_INC_CHUNK until we reach MAX_SEEDER_SIZE + * MAX_SEEDER_SIZE is used as an arbitrary limit to protect against + * bugs in Winseed. + */ +#define MAX_SEEDER_SIZE 500000 +#define SEEDER_INC_CHUNK 50000 + + +typedef void *WIN32_SEEDER; + +static WIN32_SEEDER (WINAPI *create_instance)( byte type, unsigned int *reason); +static void (WINAPI *delete_instance)( WIN32_SEEDER that ); +static unsigned int (WINAPI *get_internal_seed_size)( WIN32_SEEDER that ); +static void (WINAPI *set_internal_seed_size)( WIN32_SEEDER that, + unsigned int new_size); +static unsigned int (WINAPI *get_expected_seed_size)( WIN32_SEEDER that); +static unsigned int (WINAPI *get_seed)( WIN32_SEEDER that, byte *buffer, + unsigned int *desired_length); + +static WIN32_SEEDER slow_seeder, fast_seeder; +static byte *entropy_buffer; +static size_t entropy_buffer_size; + +/**************** + * Load and initialize the winseed DLL + * NOTE: winseed is not part of the GnuPG distribution. It should be available + * at the GNU crypto FTP server site. + * We do not load the DLL on demand to have a better control over the + * location of the library. + */ +static void +load_and_init_winseed( void ) +{ + int hInstance; + void *addr; + unsigned int reason = 0; + unsigned int n1, n2; + const char *dllname; + + dllname = read_w32_registry_string( "HKEY_LOCAL_MACHINE", + "Software\\GNU\\GnuPG", + "EntropyDLL" ); + if( !dllname ) + dllname = "c:/gnupg/entropy.dll"; + + hInstance = LoadLibrary( dllname ); + if( !hInstance ) + goto failure; + if( !(addr = GetProcAddress( hInstance, "WS_create_instance" )) ) + goto failure; + create_instance = addr; + if( !(addr = GetProcAddress( hInstance, "WS_delete_instance" )) ) + goto failure; + delete_instance = addr; + if( !(addr = GetProcAddress( hInstance, "WS_get_internal_seed_size" )) ) + goto failure; + get_internal_seed_size = addr; + if( !(addr = GetProcAddress( hInstance, "WS_set_internal_seed_size" )) ) + goto failure; + set_internal_seed_size = addr; + if( !(addr = GetProcAddress( hInstance, "WS_get_expected_seed_size" )) ) + goto failure; + get_expected_seed_size = addr; + if( !(addr = GetProcAddress( hInstance, "WS_get_seed" )) ) + goto failure; + get_seed = addr; + + /* we have all the functions - init the system */ + slow_seeder = create_instance( WIN32_SLOW_SEEDER, &reason); + if( !slow_seeder ) { + g10_log_fatal("error creating winseed slow seeder: rc=%u\n", reason ); + goto failure; + } + fast_seeder = create_instance( WIN32_FAST_SEEDER, &reason); + if( !fast_seeder ) { + g10_log_fatal("error creating winseed fast seeder: rc=%u\n", reason ); + goto failure; + } + n1 = get_internal_seed_size( slow_seeder ); + /*g10_log_info("slow buffer size=%u\n", n1);*/ + n2 = get_internal_seed_size( fast_seeder ); + /*g10_log_info("fast buffer size=%u\n", n2);*/ + + entropy_buffer_size = n1 > n2? n1: n2; + entropy_buffer = m_alloc( entropy_buffer_size ); + /*g10_log_info("using a buffer of size=%u\n", entropy_buffer_size );*/ + + return; + + failure: + g10_log_fatal("error loading winseed DLL `%s'\n", dllname ); +} + + + + + +/* Note: we always use the highest level. + * TO boost the performance we may want to add some + * additional code for level 1 + */ +static int +gather_random( void (*add)(const void*, size_t, int), int requester, + size_t length, int level ) +{ + unsigned int result; + unsigned int nbytes; + + if( !slow_seeder ) + load_and_init_winseed(); + + /* Our estimation on how much entropy we should use is very vague. + * Winseed delivers some amount of entropy on each slow poll and + * we add it to our random pool. Depending on the required quality + * level we adjust the requested length so that for higer quality + * we make sure to add more entropy to our pool. However, as we don't + * like to waste any entropy collected by winseed, we always add + * at least everything we got from winseed. + */ + if( level > 1 ) + length *= 100; + else if( level > 0 ) + length *= 10; + + for(;;) { + nbytes = entropy_buffer_size; + result = get_seed( slow_seeder, entropy_buffer, &nbytes); + if( result == PCP_SEEDER_TOO_SMALL ) { + unsigned int n1 = get_internal_seed_size( slow_seeder ); + + if( n1 > MAX_SEEDER_SIZE ) { + g10_log_fatal("rndw32: internal seeder problem (size=%u)\n", + n1); + return -1; /* actually never reached */ + } + n1 += SEEDER_INC_CHUNK; + set_internal_seed_size( slow_seeder, n1 ); + if( n1 > entropy_buffer_size ) { + entropy_buffer_size = n1; + entropy_buffer = m_realloc( entropy_buffer, + entropy_buffer_size ); + } + continue; + } + + + if( result ) { + g10_log_fatal("rndw32: get_seed(slow) failed: rc=%u\n", result); + return -1; /* actually never reached */ + } + /*g10_log_info("rndw32: slow poll level %d, need %u, got %u\n", + level, (unsigned int)length, (unsigned int)nbytes );*/ + (*add)( entropy_buffer, nbytes, requester ); + if( length <= nbytes ) + return 0; /* okay */ + length -= nbytes; + } +} + +static int +gather_random_fast( void (*add)(const void*, size_t, int), int requester ) +{ + unsigned int result; + unsigned int nbytes; + + if( !fast_seeder ) + load_and_init_winseed(); + + /* winseed delivers a constant ammount of entropy for a fast + * poll. We can simply use this and add it to the pool; no need + * a loop like it is used in the slow poll */ + nbytes = entropy_buffer_size; + result = get_seed( fast_seeder, entropy_buffer, &nbytes); + if( result ) { + g10_log_fatal("rndw32: get_seed(fast) failed: rc=%u\n", result); + return -1; /* actually never reached */ + } + /*g10_log_info("rndw32: fast poll got %u\n", (unsigned int)nbytes );*/ + (*add)( entropy_buffer, nbytes, requester ); + return 0; +} + + + +#ifndef IS_MODULE +static +#endif +const char * const gnupgext_version = "RNDW32 ($Revision: 1.1.4.2 $)"; + +static struct { + int class; + int version; + void *func; +} func_table[] = { + { 40, 1, gather_random }, + { 41, 1, gather_random_fast }, +}; + + +#ifndef IS_MODULE +static +#endif +void * +gnupgext_enum_func( int what, int *sequence, int *class, int *vers ) +{ + void *ret; + int i = *sequence; + + do { + if ( i >= DIM(func_table) || i < 0 ) { + return NULL; + } + *class = func_table[i].class; + *vers = func_table[i].version; + ret = func_table[i].func; + i++; + } while ( what && what != *class ); + + *sequence = i; + return ret; +} + +#ifndef IS_MODULE +void +rndw32_constructor(void) +{ + register_internal_cipher_extension( gnupgext_version, + gnupgext_enum_func ); +} +#endif + diff -urN gnupg-1.0.0/cipher/sha1.c gnupg-1.0.1/cipher/sha1.c --- gnupg-1.0.0/cipher/sha1.c Mon May 17 20:18:19 1999 +++ gnupg-1.0.1/cipher/sha1.c Mon Sep 13 10:56:41 1999 @@ -39,6 +39,7 @@ #include "util.h" #include "memory.h" #include "dynload.h" +#include "bithelp.h" typedef struct { @@ -49,20 +50,6 @@ } SHA1_CONTEXT; -#if defined(__GNUC__) && defined(__i386__) -static inline u32 -rol(int n, u32 x) -{ - __asm__("roll %%cl,%0" - :"=r" (x) - :"0" (x),"c" (n)); - return x; -} -#else - #define rol(n,x) ( ((x) << (n)) | ((x) >> (32-(n))) ) -#endif - - void @@ -123,11 +110,11 @@ ^ x[(i-8)&0x0f] ^ x[(i-3)&0x0f] \ , (x[i&0x0f] = (tm << 1) | (tm >> 31)) ) -#define R(a,b,c,d,e,f,k,m) do { e += rol( 5, a ) \ +#define R(a,b,c,d,e,f,k,m) do { e += rol( a, 5 ) \ + f( b, c, d ) \ + k \ + m; \ - b = rol( 30, b ); \ + b = rol( b, 30 ); \ } while(0) R( a, b, c, d, e, F1, K1, x[ 0] ); R( e, a, b, c, d, F1, K1, x[ 1] ); @@ -363,7 +350,7 @@ #ifndef IS_MODULE static #endif -const char * const gnupgext_version = "SHA1 ($Revision: 1.11 $)"; +const char * const gnupgext_version = "SHA1 ($Revision: 1.12 $)"; static struct { int class; diff -urN gnupg-1.0.0/config.h.in gnupg-1.0.1/config.h.in --- gnupg-1.0.0/config.h.in Tue Sep 7 17:12:22 1999 +++ gnupg-1.0.1/config.h.in Sat Dec 4 12:35:59 1999 @@ -139,6 +139,13 @@ /* defined if we run on some of the PCDOS like systems (DOS, Windoze. OS/2) * with special properties like no file modes */ #undef HAVE_DOSISH_SYSTEM +/* because the Unix gettext has to much overhead on MingW32 systems + * and these systems lack Posix functions, we use a simplified version + * of gettext */ +#undef USE_SIMPLE_GETTEXT +/* At some point in the system we need to know that we use the Windows + * random module. */ +#undef USE_STATIC_RNDW32 #undef USE_CAPABILITIES @@ -169,6 +176,9 @@ /* Define if you have the dcgettext function. */ #undef HAVE_DCGETTEXT +/* Define if you have the dlopen function. */ +#undef HAVE_DLOPEN + /* Define if you have the getcwd function. */ #undef HAVE_GETCWD @@ -294,9 +304,6 @@ /* Define if you have the header file. */ #undef HAVE_ZLIB_H - -/* Define if you have the c library (-lc). */ -#undef HAVE_LIBC /* Define if you have the dl library (-ldl). */ #undef HAVE_LIBDL diff -urN gnupg-1.0.0/configure gnupg-1.0.1/configure --- gnupg-1.0.0/configure Tue Sep 7 17:12:37 1999 +++ gnupg-1.0.1/configure Thu Dec 16 10:15:33 1999 @@ -1,6 +1,6 @@ #! /bin/sh -# From configure.in Revision: 1.101 +# From configure.in Revision: 1.103.2.6 CDPATH= @@ -25,6 +25,9 @@ + + + # Check for -fPIC etc (taken from libtool) # This sets CFLAGS_PIC to the required flags # NO_PIC to yes if it is not possible to @@ -69,10 +72,6 @@ -# Define a conditional. - - - # Add --enable-maintainer-mode option to configure. # From Jim Meyering @@ -80,84 +79,14 @@ -# -# Check to make sure that the build environment is sane. -# - - - - - - -# serial 40 AC_PROG_LIBTOOL - - - - -# AC_LIBTOOL_DLOPEN - enable checks for dlopen support - - -# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's - - -# AC_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AC_ENABLE_SHARED[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. - - -# AC_DISABLE_SHARED - set the default shared flag to --disable-shared - - -# AC_ENABLE_STATIC - implement the --enable-static flag -# Usage: AC_ENABLE_STATIC[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. - - -# AC_DISABLE_STATIC - set the default static flag to --disable-static - - - -# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag -# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. - - -# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install - - -# AC_PROG_LD - find the path to the GNU or non-GNU linker - - - - -# AC_PROG_NM - find the path to a BSD-compatible name lister - - -# AC_CHECK_LIBM - check for math library +# Define a conditional. -# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl convenience library, adds --enable-ltdl-convenience to -# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor -# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed -# to be `${top_builddir}/libltdl'. Make sure you start DIR with -# '${top_builddir}/' (note the single quotes!) if your package is not -# flat, and, if you're not using automake, define top_builddir as -# appropriate in the Makefiles. +# +# Check to make sure that the build environment is sane. +# -# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl installable library, and adds --enable-ltdl-install to -# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor -# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed -# to be `${top_builddir}/libltdl'. Make sure you start DIR with -# '${top_builddir}/' (note the single quotes!) if your package is not -# flat, and, if you're not using automake, define top_builddir as -# appropriate in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. @@ -226,23 +155,11 @@ ac_help="$ac_help --with-included-zlib use the zlib code included here" ac_help="$ac_help - --enable-libgcrypt compile the libgcrypt [default=no]" -ac_help="$ac_help --with-capabilities use linux capabilities [default=no]" ac_help="$ac_help --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer" ac_help="$ac_help - --enable-shared[=PKGS] build shared libraries [default=no]" -ac_help="$ac_help - --enable-static[=PKGS] build static libraries [default=yes]" -ac_help="$ac_help - --enable-fast-install[=PKGS] optimize for fast installation [default=yes]" -ac_help="$ac_help - --with-gnu-ld assume the C compiler uses GNU ld [default=no]" -ac_help="$ac_help - --disable-libtool-lock avoid locking (might break parallel builds)" -ac_help="$ac_help --disable-nls do not use Native Language Support" ac_help="$ac_help --with-included-gettext use the GNU gettext library included here" @@ -784,8 +701,9 @@ VERSION=`cat $srcdir/VERSION` PACKAGE=gnupg -ALL_LINGUAS="de es_ES fr it pl pt_BR ru" +ALL_LINGUAS="de es_ES fr id it pl pt_BR pt_PT ru" static_modules="sha1 md5 rmd160" +static_random_module="" cat >> confdefs.h <&6 -echo "configure:806: checking which static random module to use" >&5 +echo "configure:724: 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" @@ -830,7 +748,7 @@ echo $ac_n "checking whether use of /dev/random is requested""... $ac_c" 1>&6 -echo "configure:834: checking whether use of /dev/random is requested" >&5 +echo "configure:752: 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" @@ -844,7 +762,7 @@ echo $ac_n "checking whether use of extensions is requested""... $ac_c" 1>&6 -echo "configure:848: checking whether use of extensions is requested" >&5 +echo "configure:766: 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" @@ -856,7 +774,7 @@ echo "$ac_t""$try_dynload" 1>&6 echo $ac_n "checking whether assembler modules are requested""... $ac_c" 1>&6 -echo "configure:860: checking whether assembler modules are requested" >&5 +echo "configure:778: 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" @@ -868,7 +786,7 @@ echo "$ac_t""$try_asm_modules" 1>&6 echo $ac_n "checking whether memory debugging is requested""... $ac_c" 1>&6 -echo "configure:872: checking whether memory debugging is requested" >&5 +echo "configure:790: 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" @@ -886,7 +804,7 @@ use_m_guard=yes else echo $ac_n "checking whether memory guard is requested""... $ac_c" 1>&6 -echo "configure:890: checking whether memory guard is requested" >&5 +echo "configure:808: 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" @@ -906,7 +824,7 @@ echo $ac_n "checking whether included zlib is requested""... $ac_c" 1>&6 -echo "configure:910: checking whether included zlib is requested" >&5 +echo "configure:828: 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,43 +835,9 @@ echo "$ac_t""$g10_force_zlib" 1>&6 -echo $ac_n "checking whether compilation of libgcrypt is requested""... $ac_c" 1>&6 -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" - compile_libgcrypt="$enableval" -else - compile_libgcrypt=no -fi - -echo "$ac_t""$compile_libgcrypt" 1>&6 -if test x$compile_libgcrypt = xyes ; then - if test -f $srcdir/gcrypt/gcrypt.h; then - : - else - compile_libgcrypt=no - echo "configure: warning: -*** -*** LIBGCRYPT is not yet ready for public testing. -*** Maybe you have more luck with the next release of GnuPG -*** Watch the gnupg-announce mailing list or the webpage. -***" 1>&2 - fi -fi - - -if test x$compile_libgcrypt = xyes; then - COMPILE_LIBGCRYPT_TRUE= - COMPILE_LIBGCRYPT_FALSE='#' -else - COMPILE_LIBGCRYPT_TRUE='#' - COMPILE_LIBGCRYPT_FALSE= -fi - echo $ac_n "checking whether use of capabilities is requested""... $ac_c" 1>&6 -echo "configure:957: checking whether use of capabilities is requested" >&5 +echo "configure:841: 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,8 +849,11 @@ echo "$ac_t""$use_capabilities" 1>&6 + + + echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:970: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:857: 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" @@ -1018,7 +905,7 @@ fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1022: checking host system type" >&5 +echo "configure:909: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -1039,7 +926,7 @@ echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:1043: checking target system type" >&5 +echo "configure:930: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -1057,7 +944,7 @@ echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1061: checking build system type" >&5 +echo "configure:948: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1079,6 +966,21 @@ NONENONEs,x,x, && program_prefix=${target_alias}- +case "${target}" in + *-*-mingw32) + # special stuff for Windoze NT + # Do we need to set cross_compiling here or is it sufficient + # to rely on AC_PROG_CC which is called later? + CC="${target}-gcc" + CPP="${target}-gcc -E" + RANLIB="${target}-ranlib" + disallowed_modules="rndunix rndlinux rndegd" + ;; + *) + disallowed_modules="rndw32" + ;; +esac + if test "$program_transform_name" = s,x,x,; then program_transform_name= else @@ -1099,7 +1001,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:1103: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1005: 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 @@ -1126,7 +1028,7 @@ fi echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:1130: checking whether build environment is sane" >&5 +echo "configure:1032: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -1165,7 +1067,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:1169: checking for working aclocal" >&5 +echo "configure:1071: 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. @@ -1178,7 +1080,7 @@ fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:1182: checking for working autoconf" >&5 +echo "configure:1084: 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. @@ -1191,7 +1093,7 @@ fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:1195: checking for working automake" >&5 +echo "configure:1097: 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. @@ -1204,7 +1106,7 @@ fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:1208: checking for working autoheader" >&5 +echo "configure:1110: 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. @@ -1219,7 +1121,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:1223: checking for $ac_word" >&5 +echo "configure:1125: 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 @@ -1249,7 +1151,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:1253: checking for $ac_word" >&5 +echo "configure:1155: 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 @@ -1300,7 +1202,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:1304: checking for $ac_word" >&5 +echo "configure:1206: 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 @@ -1332,7 +1234,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1336: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1238: 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. @@ -1343,12 +1245,12 @@ cat > conftest.$ac_ext << EOF -#line 1347 "configure" +#line 1249 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1254: \"$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 @@ -1374,12 +1276,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:1378: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1280: 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:1383: checking whether we are using GNU C" >&5 +echo "configure:1285: 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 @@ -1388,7 +1290,7 @@ yes; #endif EOF -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 +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1294: \"$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 @@ -1407,7 +1309,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1411: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1313: 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 @@ -1439,7 +1341,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1443: checking how to run the C preprocessor" >&5 +echo "configure:1345: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1454,13 +1356,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:1464: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1366: \"$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 : @@ -1471,13 +1373,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:1481: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1383: \"$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 : @@ -1488,13 +1390,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:1498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1400: \"$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 : @@ -1519,7 +1421,7 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1523: checking for POSIXized ISC" >&5 +echo "configure:1425: 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 @@ -1551,7 +1453,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:1555: checking for a BSD compatible install" >&5 +echo "configure:1457: 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 @@ -1608,7 +1510,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:1612: checking for $ac_word" >&5 +echo "configure:1514: 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 @@ -1640,7 +1542,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:1644: checking for $ac_word" >&5 +echo "configure:1546: 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 @@ -1678,419 +1580,7 @@ fi -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - p=${PACKAGE-default} -case "$enableval" in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_shared=no -fi - -enable_shared="$compile_libgcrypt" -# Check whether --enable-static or --disable-static was given. -if test "${enable_static+set}" = set; then - enableval="$enable_static" - p=${PACKAGE-default} -case "$enableval" in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_static=yes -fi - -# Check whether --enable-fast-install or --disable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval="$enable_fast_install" - p=${PACKAGE-default} -case "$enableval" in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_fast_install=yes -fi - -# 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: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 - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -fi -fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -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:1794: checking for ld used by GCC" >&5 - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1818: checking for GNU ld" >&5 -else - echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -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 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - ac_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - ac_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$ac_cv_path_LD" -if test -n "$LD"; then - echo "$ac_t""$LD" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi -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: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 - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - ac_cv_prog_gnu_ld=yes -else - ac_cv_prog_gnu_ld=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6 - - -echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -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 - if test -n "$NM"; then - # Let the user override the test. - ac_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" - break - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" - break - else - ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm -fi -fi - -NM="$ac_cv_path_NM" -echo "$ac_t""$NM" 1>&6 - - -echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -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 - rm -f conftestdata -if ln -s X conftestdata 2>/dev/null -then - rm -f conftestdata - ac_cv_prog_LN_S="ln -s" -else - ac_cv_prog_LN_S=ln -fi -fi -LN_S="$ac_cv_prog_LN_S" -if test "$ac_cv_prog_LN_S" = "ln -s"; then - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - -# Check for any special flags to pass to ltconfig. -libtool_flags="--cache-file=$cache_file" -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" -test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" -test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" - - -# Check whether --enable-libtool-lock or --disable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval="$enable_libtool_lock" - : -fi - -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case "$host" in -*-*-irix6*) - # Find out which ABI we are using. - 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" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -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 - rm -rf conftest* - lt_cv_cc_needs_belf=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - lt_cv_cc_needs_belf=no -fi -rm -f conftest* -fi - -echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - - -esac - - -# Save cache, so that ltconfig can load it -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - - -# Actually configure libtool. ac_aux_dir is where install-sh is found. -CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ -DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ -$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ -|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; } - -# Reload cache, that may have been modified by ltconfig -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Redirect the config.log output again, so that the ltconfig log is not -# clobbered by the next message. -exec 5>>./config.log - - - MPI_OPT_FLAGS="" -if test "$GCC" = yes; then - CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" -fi try_gettext=yes @@ -2098,10 +1588,6 @@ case "${target}" in *-*-mingw32) # special stuff for Windoze NT - cross_compiling=yes - 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 @@ -2115,6 +1601,10 @@ #define HAVE_DOSISH_SYSTEM 1 EOF + cat >> confdefs.h <<\EOF +#define USE_SIMPLE_GETTEXT 1 +EOF + try_gettext="no" try_gdbm="no" ;; @@ -2168,7 +1658,7 @@ echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:2172: checking for BSD-compatible nm" >&5 +echo "configure:1662: 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 @@ -2204,7 +1694,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:2208: checking command to parse $NM output" >&5 +echo "configure:1698: 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 @@ -2267,10 +1757,10 @@ #endif int main(){nm_test_var='a';nm_test_func;return 0;} EOF -if { (eval echo configure:2271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then # Now try to grab the symbols. ac_nlist=conftest.nm - 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 + if { (eval echo configure:1764: \"$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 @@ -2328,7 +1818,7 @@ ac_save_CFLAGS="$CFLAGS" LIBS="conftestm.$ac_objext" CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo configure:2332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + if { (eval echo configure:1822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_pipe_works=yes else echo "configure: failed program was:" >&5 @@ -2379,7 +1869,7 @@ if test "$tmp_do_check" = "yes"; then echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6 -echo "configure:2383: checking for _ prefix in compiled symbols" >&5 +echo "configure:1873: 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 @@ -2388,10 +1878,10 @@ void nm_test_func(){} int main(){nm_test_func;return 0;} EOF -if { (eval echo configure:2392: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then # Now try to grab the symbols. ac_nlist=conftest.nm - 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 + if { (eval echo configure:1885: \"$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 @@ -2415,7 +1905,7 @@ else echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6 -echo "configure:2419: checking for _ prefix in compiled symbols" >&5 +echo "configure:1909: 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 @@ -2426,7 +1916,7 @@ fi echo $ac_n "checking for option to create PIC""... $ac_c" 1>&6 -echo "configure:2430: checking for option to create PIC" >&5 +echo "configure:1920: checking for option to create PIC" >&5 CFLAGS_PIC= NO_PIC=no if test "$cross_compiling" = yes; then @@ -2491,7 +1981,7 @@ fi echo $ac_n "checking how to specify -rdynamic""... $ac_c" 1>&6 -echo "configure:2495: checking how to specify -rdynamic" >&5 +echo "configure:1985: checking how to specify -rdynamic" >&5 CFLAGS_RDYNAMIC= if test "$cross_compiling" = yes; then echo "$ac_t""assume none" 1>&6 @@ -2572,13 +2062,43 @@ if test "$try_gettext" = yes; then +# 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:2069: 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 + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2577: checking for ANSI C header files" >&5 +echo "configure:2097: 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 @@ -2586,7 +2106,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2590: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2110: \"$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* @@ -2603,7 +2123,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 @@ -2621,7 +2141,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 @@ -2642,7 +2162,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2653,7 +2173,7 @@ exit (0); } EOF -if { (eval echo configure:2657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2677,18 +2197,18 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2681: checking for working const" >&5 +echo "configure:2201: 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:2255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2752,21 +2272,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2756: checking for inline" >&5 +echo "configure:2276: 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:2290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2792,12 +2312,12 @@ esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2796: checking for off_t" >&5 +echo "configure:2316: 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 @@ -2825,12 +2345,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2829: checking for size_t" >&5 +echo "configure:2349: 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 @@ -2860,19 +2380,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:2864: checking for working alloca.h" >&5 +echo "configure:2384: 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:2876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2396: \"$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 @@ -2893,12 +2413,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2897: checking for alloca" >&5 +echo "configure:2417: 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:2450: \"$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 @@ -2958,12 +2478,12 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2962: checking whether alloca needs Cray hooks" >&5 +echo "configure:2482: 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:2992: checking for $ac_func" >&5 +echo "configure:2512: 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:2540: \"$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 @@ -3043,7 +2563,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3047: checking stack direction for C alloca" >&5 +echo "configure:2567: 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 @@ -3051,7 +2571,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:2594: \"$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 @@ -3095,17 +2615,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3099: checking for $ac_hdr" >&5 +echo "configure:2619: 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:3109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2629: \"$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* @@ -3134,12 +2654,12 @@ for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3138: checking for $ac_func" >&5 +echo "configure:2658: 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:2686: \"$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 @@ -3187,7 +2707,7 @@ done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3191: checking for working mmap" >&5 +echo "configure:2711: 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 @@ -3195,7 +2715,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:2859: \"$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 @@ -3363,17 +2883,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3367: checking for $ac_hdr" >&5 +echo "configure:2887: 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:3377: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2897: \"$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* @@ -3403,12 +2923,12 @@ strdup __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3407: checking for $ac_func" >&5 +echo "configure:2927: 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:2955: \"$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 @@ -3460,12 +2980,12 @@ for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3464: checking for $ac_func" >&5 +echo "configure:2984: 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:3012: \"$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 @@ -3522,19 +3042,19 @@ if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3526: checking for LC_MESSAGES" >&5 +echo "configure:3046: 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:3538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3058: \"$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 @@ -3555,7 +3075,7 @@ fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3559: checking whether NLS is requested" >&5 +echo "configure:3079: 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" @@ -3575,7 +3095,7 @@ EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3579: checking whether included gettext is requested" >&5 +echo "configure:3099: 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" @@ -3594,17 +3114,17 @@ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3598: checking for libintl.h" >&5 +echo "configure:3118: 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:3608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3128: \"$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* @@ -3621,19 +3141,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:3625: checking for gettext in libc" >&5 +echo "configure:3145: 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:3637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3157: \"$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 @@ -3649,7 +3169,7 @@ if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3653: checking for bindtextdomain in -lintl" >&5 +echo "configure:3173: 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 @@ -3657,7 +3177,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:3192: \"$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 @@ -3684,12 +3204,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:3688: checking for gettext in libintl" >&5 +echo "configure:3208: 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:3693: checking for gettext in -lintl" >&5 +echo "configure:3213: 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 @@ -3697,7 +3217,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:3232: \"$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 @@ -3747,7 +3267,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:3751: checking for $ac_word" >&5 +echo "configure:3271: 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 @@ -3781,12 +3301,12 @@ for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3785: checking for $ac_func" >&5 +echo "configure:3305: 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:3333: \"$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 @@ -3836,7 +3356,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:3840: checking for $ac_word" >&5 +echo "configure:3360: 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 @@ -3872,7 +3392,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:3876: checking for $ac_word" >&5 +echo "configure:3396: 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 @@ -3904,7 +3424,7 @@ fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3935,7 +3455,7 @@ if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3939: checking whether catgets can be used" >&5 +echo "configure:3459: 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" @@ -3948,7 +3468,7 @@ if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3952: checking for main in -li" >&5 +echo "configure:3472: 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 @@ -3956,14 +3476,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:3487: \"$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 @@ -3991,12 +3511,12 @@ fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3995: checking for catgets" >&5 +echo "configure:3515: 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:3543: \"$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 @@ -4041,7 +3561,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:4045: checking for $ac_word" >&5 +echo "configure:3565: 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 @@ -4077,7 +3597,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:4081: checking for $ac_word" >&5 +echo "configure:3601: 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 @@ -4114,7 +3634,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:4118: checking for $ac_word" >&5 +echo "configure:3638: 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 @@ -4149,7 +3669,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:4153: checking for $ac_word" >&5 +echo "configure:3673: 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 @@ -4207,7 +3727,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:4211: checking for $ac_word" >&5 +echo "configure:3731: 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 @@ -4241,7 +3761,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:4245: checking for $ac_word" >&5 +echo "configure:3765: 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 @@ -4277,7 +3797,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:4281: checking for $ac_word" >&5 +echo "configure:3801: 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 @@ -4370,7 +3890,7 @@ LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4374: checking for catalogs to be installed" >&5 +echo "configure:3894: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4398,17 +3918,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:4402: checking for linux/version.h" >&5 +echo "configure:3922: 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:4412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3932: \"$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* @@ -4484,17 +4004,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4488: checking for $ac_hdr" >&5 +echo "configure:4008: 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:4498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4018: \"$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* @@ -4522,7 +4042,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:4526: checking for gdbm_firstkey in -lgdbm" >&5 +echo "configure:4046: 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 @@ -4530,7 +4050,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:4065: \"$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 @@ -4573,7 +4093,7 @@ echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4577: checking for gethostbyname in -lnsl" >&5 +echo "configure:4097: 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 @@ -4581,7 +4101,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:4116: \"$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 @@ -4620,7 +4140,7 @@ fi echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:4624: checking for socket in -lsocket" >&5 +echo "configure:4144: 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 @@ -4628,7 +4148,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:4163: \"$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 @@ -4665,7 +4185,7 @@ fi if test x$ac_try_nsl = x1; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4669: checking for gethostbyname in -lnsl" >&5 +echo "configure:4189: 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 @@ -4673,7 +4193,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:4208: \"$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 @@ -4713,7 +4233,7 @@ if test "$try_dynload" = yes ; then echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:4717: checking for dlopen in -ldl" >&5 +echo "configure:4237: 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 @@ -4721,7 +4241,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:4256: \"$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 @@ -4771,54 +4291,62 @@ DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC" use_gnupg_extensions=yes else - echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -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 + for ac_func in dlopen +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4298: 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 - ac_save_LIBS="$LIBS" -LIBS="-lc $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char dlopen(); +char $ac_func(); int main() { -dlopen() + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + ; return 0; } EOF -if { (eval echo configure:4795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4326: \"$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" + eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + eval "ac_cv_func_$ac_func=no" fi rm -f conftest* -LIBS="$ac_save_LIBS" - fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo c | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi +done - if test "$ac_cv_lib_c_dlopen" = "yes"; then + if test "$ac_cv_func_dlopen" = "yes"; then cat >> confdefs.h <<\EOF #define USE_DYNAMIC_LINKING 1 EOF @@ -4831,7 +4359,7 @@ use_gnupg_extensions=yes else echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:4835: checking for shl_load in -ldld" >&5 +echo "configure:4363: 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 @@ -4839,7 +4367,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:4382: \"$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 @@ -4893,7 +4421,7 @@ fi else echo $ac_n "checking for dynamic loading""... $ac_c" 1>&6 -echo "configure:4897: checking for dynamic loading" >&5 +echo "configure:4425: checking for dynamic loading" >&5 DYNLINK_LDFLAGS= DYNLINK_MOD_CFLAGS= use_gnupg_extensions=no @@ -4914,12 +4442,12 @@ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:4918: checking for ANSI C header files" >&5 +echo "configure:4446: 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 @@ -4927,7 +4455,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4459: \"$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* @@ -4944,7 +4472,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 @@ -4962,7 +4490,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 @@ -4983,7 +4511,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -4994,7 +4522,7 @@ exit (0); } EOF -if { (eval echo configure:4998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -5021,17 +4549,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5025: checking for $ac_hdr" >&5 +echo "configure:4553: 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:5035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4563: \"$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* @@ -5060,18 +4588,18 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:5064: checking for working const" >&5 +echo "configure:4592: 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:4646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -5135,21 +4663,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:5139: checking for inline" >&5 +echo "configure:4667: 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:4681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -5175,12 +4703,12 @@ esac echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:5179: checking for size_t" >&5 +echo "configure:4707: 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 @@ -5208,12 +4736,12 @@ fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:5212: checking return type of signal handlers" >&5 +echo "configure:4740: 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 @@ -5230,7 +4758,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:5234: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -5249,12 +4777,12 @@ echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:5253: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:4781: 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 @@ -5266,7 +4794,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:5270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -5291,14 +4819,14 @@ echo "configure: warning: cross compiling; assuming little endianess" 1>&2 fi echo $ac_n "checking endianess""... $ac_c" 1>&6 -echo "configure:5295: checking endianess" >&5 +echo "configure:4823: 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 @@ -5309,11 +4837,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:5313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4841: \"$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 @@ -5324,7 +4852,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:5328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4856: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_c_endian=big else @@ -5345,7 +4873,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:4890: \"$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 @@ -5390,12 +4918,12 @@ echo $ac_n "checking for byte typedef""... $ac_c" 1>&6 -echo "configure:5394: checking for byte typedef" >&5 +echo "configure:4922: 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 @@ -5406,7 +4934,7 @@ ; return 0; } EOF -if { (eval echo configure:5410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4938: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_byte=yes else @@ -5427,12 +4955,12 @@ fi echo $ac_n "checking for ushort typedef""... $ac_c" 1>&6 -echo "configure:5431: checking for ushort typedef" >&5 +echo "configure:4959: 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 @@ -5443,7 +4971,7 @@ ; return 0; } EOF -if { (eval echo configure:5447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4975: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_ushort=yes else @@ -5464,12 +4992,12 @@ fi echo $ac_n "checking for ulong typedef""... $ac_c" 1>&6 -echo "configure:5468: checking for ulong typedef" >&5 +echo "configure:4996: 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 @@ -5480,7 +5008,7 @@ ; return 0; } EOF -if { (eval echo configure:5484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_ulong=yes else @@ -5501,12 +5029,12 @@ fi echo $ac_n "checking for u16 typedef""... $ac_c" 1>&6 -echo "configure:5505: checking for u16 typedef" >&5 +echo "configure:5033: 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 @@ -5517,7 +5045,7 @@ ; return 0; } EOF -if { (eval echo configure:5521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5049: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_u16=yes else @@ -5538,12 +5066,12 @@ fi echo $ac_n "checking for u32 typedef""... $ac_c" 1>&6 -echo "configure:5542: checking for u32 typedef" >&5 +echo "configure:5070: 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 @@ -5554,7 +5082,7 @@ ; return 0; } EOF -if { (eval echo configure:5558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_u32=yes else @@ -5576,7 +5104,7 @@ echo $ac_n "checking size of unsigned short""... $ac_c" 1>&6 -echo "configure:5580: checking size of unsigned short" >&5 +echo "configure:5108: 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 @@ -5584,7 +5112,7 @@ ac_cv_sizeof_unsigned_short=2 else cat > conftest.$ac_ext < main() @@ -5595,7 +5123,7 @@ exit(0); } EOF -if { (eval echo configure:5599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5127: \"$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 @@ -5615,7 +5143,7 @@ echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6 -echo "configure:5619: checking size of unsigned int" >&5 +echo "configure:5147: 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 @@ -5623,7 +5151,7 @@ ac_cv_sizeof_unsigned_int=4 else cat > conftest.$ac_ext < main() @@ -5634,7 +5162,7 @@ exit(0); } EOF -if { (eval echo configure:5638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5166: \"$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 @@ -5654,7 +5182,7 @@ echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6 -echo "configure:5658: checking size of unsigned long" >&5 +echo "configure:5186: 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 @@ -5662,7 +5190,7 @@ ac_cv_sizeof_unsigned_long=4 else cat > conftest.$ac_ext < main() @@ -5673,7 +5201,7 @@ exit(0); } EOF -if { (eval echo configure:5677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5205: \"$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 @@ -5702,12 +5230,12 @@ echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:5706: checking for vprintf" >&5 +echo "configure:5234: 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:5262: \"$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 @@ -5754,12 +5282,12 @@ if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:5758: checking for _doprnt" >&5 +echo "configure:5286: 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:5314: \"$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 @@ -5809,12 +5337,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:5813: checking for $ac_func" >&5 +echo "configure:5341: 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:5369: \"$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 @@ -5864,12 +5392,12 @@ for ac_func in memmove gettimeofday getrusage gethrtime setrlimit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5868: checking for $ac_func" >&5 +echo "configure:5396: 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:5424: \"$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 @@ -5919,12 +5447,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:5923: checking for $ac_func" >&5 +echo "configure:5451: 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:5479: \"$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 @@ -5975,12 +5503,12 @@ for ac_func in mlock do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5979: checking for $ac_func" >&5 +echo "configure:5507: 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:5535: \"$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 @@ -6029,7 +5557,7 @@ if test "$ac_cv_func_mlock" = "yes"; then echo $ac_n "checking whether mlock is broken""... $ac_c" 1>&6 -echo "configure:6033: checking whether mlock is broken" >&5 +echo "configure:5561: 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 @@ -6038,7 +5566,7 @@ else cat > conftest.$ac_ext < @@ -6068,7 +5596,7 @@ EOF -if { (eval echo configure:6072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5600: \"$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 @@ -6099,12 +5627,12 @@ fi echo $ac_n "checking if mkdir takes one argument""... $ac_c" 1>&6 -echo "configure:6103: checking if mkdir takes one argument" >&5 +echo "configure:5631: 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 < @@ -6121,7 +5649,7 @@ mkdir ("foo", 0); ; return 0; } EOF -if { (eval echo configure:6125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_mkdir_takes_one_arg=no else @@ -6148,17 +5676,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6152: checking for $ac_hdr" >&5 +echo "configure:5680: 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:6162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5690: \"$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* @@ -6186,7 +5714,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:6190: checking for cap_init in -lcap" >&5 +echo "configure:5718: 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 @@ -6194,7 +5722,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:5737: \"$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 @@ -6230,6 +5758,7 @@ #define USE_CAPABILITIES 1 EOF + LIBS="$LIBS -lcap" use_capabilities=yes fi fi @@ -6252,17 +5781,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6256: checking for $ac_hdr" >&5 +echo "configure:5785: 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:6266: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5795: \"$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* @@ -6290,7 +5819,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:6294: checking whether IPC_RMID allowes subsequent attaches" >&5 +echo "configure:5823: 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 @@ -6298,7 +5827,7 @@ gnupg_cv_ipc_rmid_deferred_release="assume-no" else cat > conftest.$ac_ext < @@ -6324,7 +5853,7 @@ } EOF -if { (eval echo configure:6328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5857: \"$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 @@ -6354,12 +5883,12 @@ fi echo $ac_n "checking whether SHM_LOCK is available""... $ac_c" 1>&6 -echo "configure:6358: checking whether SHM_LOCK is available" >&5 +echo "configure:5887: 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 @@ -6370,7 +5899,7 @@ ; return 0; } EOF -if { (eval echo configure:6374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_ipc_have_shm_lock="yes" else @@ -6404,7 +5933,7 @@ if test "$try_dev_random" = yes ; then echo $ac_n "checking for random device""... $ac_c" 1>&6 -echo "configure:6408: checking for random device" >&5 +echo "configure:5937: 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 @@ -6421,7 +5950,7 @@ fi else echo $ac_n "checking for random device""... $ac_c" 1>&6 -echo "configure:6425: checking for random device" >&5 +echo "configure:5954: checking for random device" >&5 ac_cv_have_dev_random=no echo "$ac_t""has been disabled" 1>&6 fi @@ -6431,17 +5960,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6435: checking for $ac_hdr" >&5 +echo "configure:5964: 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:6445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5974: \"$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* @@ -6468,7 +5997,7 @@ done echo $ac_n "checking for random device ioctl""... $ac_c" 1>&6 -echo "configure:6472: checking for random device ioctl" >&5 +echo "configure:6001: 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 @@ -6491,26 +6020,29 @@ print_egd_notice=no -static_modules="$static_modules rmd160" if test "$use_static_rnd" = default; then if test "$ac_cv_have_dev_random" = yes; then - static_modules="$static_modules rndlinux" + static_random_module="rndlinux" else case "${target}" in *-*-mingw32) - static_modules="$static_modules rndw32" + static_random_module="rndw32" + cat >> confdefs.h <<\EOF +#define USE_STATIC_RNDW32 1 +EOF + ;; i?86-emx-os2|i?86-*-os2*emx) - static_modules="$static_modules rndos2" + static_random_module="rndos2" ;; m68k-atari-mint) - static_modules="$static_modules rndatari" + static_random_module="rndatari" ;; i?86-*-msdosdjgpp*) - static_modules="$static_modules" + : ;; *) - static_modules="$static_modules rndunix" + static_random_module="rndunix" print_egd_notice=yes ;; esac @@ -6519,7 +6051,7 @@ if test "$use_static_rnd" = none; then : else - static_modules="$static_modules rnd$use_static_rnd" + static_random_module="rnd$use_static_rnd" if test "$use_static_rnd" = "unix"; then print_egd_notice=yes fi @@ -6548,25 +6080,32 @@ ***" 1>&2 fi +static_modules="$static_modules rmd160 $static_random_module" STATIC_CIPHER_NAMES="" STATIC_CIPHER_OBJS="" DYNAMIC_CIPHER_MODS="" echo $ac_n "dynamically linked cipher modules:"" $ac_c" 1>&6 for name in $MODULES_IN_CIPHER; do - x="no" - for i in $static_modules; do - if test "$name" = "$i" ; then - x="yes" - fi + x="yes" + for i in $disallowed_modules; do + if test "$name" = "$i" ; then x="no" ; fi done; if test $x = yes; then - STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name" - STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo" - else - DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name" - echo $ac_n "$name"" $ac_c" 1>&6 + x="no" + for i in $static_modules; do + if test "$name" = "$i" ; then + x="yes" + fi + done; + if test $x = yes; then + STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name" + STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o" + else + DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name" + echo $ac_n "$name"" $ac_c" 1>&6 + fi fi done echo "$ac_t""" 1>&6 @@ -6612,7 +6151,7 @@ echo $ac_n "checking for mpi assembler functions""... $ac_c" 1>&6 -echo "configure:6616: checking for mpi assembler functions" >&5 +echo "configure:6155: 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 @@ -6638,7 +6177,7 @@ for i in $ac_cv_mpi_extra_asm_modules; do echo $ac_n "$i"" $ac_c" 1>&6 - MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo" + MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o" done echo "$ac_t""" 1>&6 fi @@ -6654,17 +6193,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6658: checking for $ac_hdr" >&5 +echo "configure:6197: 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:6668: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6207: \"$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* @@ -6692,7 +6231,7 @@ if test "$ac_cv_header_zlib_h" = yes ; then echo $ac_n "checking for deflateInit2_ in -lz""... $ac_c" 1>&6 -echo "configure:6696: checking for deflateInit2_ in -lz" >&5 +echo "configure:6235: 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 @@ -6700,7 +6239,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:6254: \"$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 @@ -6779,17 +6318,48 @@ tmp_pat='[a-zA-Z]' -if echo "$VERSION" | grep $tmp_pat >/dev/null ; then +if echo "$VERSION" | grep "$tmp_pat" >/dev/null ; then cat >> confdefs.h <<\EOF #define IS_DEVELOPMENT_VERSION 1 EOF fi + + +if test x$cross_compiling = xyes; then + CROSS_COMPILING_TRUE= + CROSS_COMPILING_FALSE='#' +else + CROSS_COMPILING_TRUE='#' + CROSS_COMPILING_FALSE= +fi + + if ${MAKE-make} --version 2>/dev/null | grep '^GNU ' >/dev/null 2>&1; then + : + else + echo "configure: warning: +*** +*** It seems that you are not using GNU make. Some make tools have serious +*** flaws and you may not be able to build this software at all. Before you +*** complain, please try GNU make: GNU make is easy to build and available +*** at all GNU archives. It is always available from ftp.gnu.org:/gnu/make. +***" 1>&2 + fi + + +if test "$GCC" = yes; then + if test "$MAINTAINER_MODE" = "yes"; then + CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" + else + CFLAGS="$CFLAGS -Wall" + fi +fi + @@ -6903,11 +6473,9 @@ cipher/Makefile g10/Makefile doc/Makefile -doc/gph/Makefile tools/Makefile zlib/Makefile checks/Makefile -gcrypt/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF diff -urN gnupg-1.0.0/configure.in gnupg-1.0.1/configure.in --- gnupg-1.0.0/configure.in Mon Sep 6 20:07:18 1999 +++ gnupg-1.0.1/configure.in Thu Dec 16 10:10:38 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.101 $)dnl +AC_REVISION($Revision: 1.103.2.6 $)dnl dnl Must reset CDPATH so that bash's cd does not print to stdout CDPATH= @@ -15,15 +15,16 @@ VERSION=`cat $srcdir/VERSION` PACKAGE=gnupg -ALL_LINGUAS="de es_ES fr it pl pt_BR ru" +ALL_LINGUAS="de es_ES fr id it pl pt_BR pt_PT ru" static_modules="sha1 md5 rmd160" +static_random_module="" AC_SUBST(VERSION) AC_SUBST(PACKAGE) AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") -MODULES_IN_CIPHER=`awk '/# MODULES: / { for(i=3;i<=NF;i++) print $i}' \ - $srcdir/cipher/Makefile.am` +MODULES_IN_CIPHER=`awk '/^EXTRA_PROGRAMS/ { for(i=3;i<=NF;i++) print $i}' \ + $srcdir/cipher/Makefile.am` dnl dnl Check for random module options @@ -104,29 +105,6 @@ [g10_force_zlib=yes], [g10_force_zlib=no] ) AC_MSG_RESULT($g10_force_zlib) -dnl -dnl Check wether we want to compile libgcrypt -dnl -AC_MSG_CHECKING([whether compilation of libgcrypt is requested]) -AC_ARG_ENABLE(libgcrypt, - [ --enable-libgcrypt compile the libgcrypt [default=no]], -[compile_libgcrypt="$enableval"],[compile_libgcrypt=no]) -AC_MSG_RESULT($compile_libgcrypt) -if test x$compile_libgcrypt = xyes ; then - if test -f $srcdir/gcrypt/gcrypt.h; then - : - else - compile_libgcrypt=no - AC_MSG_WARN([[ -*** -*** LIBGCRYPT is not yet ready for public testing. -*** Maybe you have more luck with the next release of GnuPG -*** Watch the gnupg-announce mailing list or the webpage. -***]]) - fi -fi -AM_CONDITIONAL(COMPILE_LIBGCRYPT, test x$compile_libgcrypt = xyes) - dnl dnl Check whether we want to use Linux capabilities @@ -138,11 +116,32 @@ AC_MSG_RESULT($use_capabilities) + + + AM_MAINTAINER_MODE dnl Checks for programs. AC_CANONICAL_SYSTEM +dnl +dnl Setup some stuff depending on host/target. +dnl +case "${target}" in + *-*-mingw32) + # special stuff for Windoze NT + # Do we need to set cross_compiling here or is it sufficient + # to rely on AC_PROG_CC which is called later? + CC="${target}-gcc" + CPP="${target}-gcc -E" + RANLIB="${target}-ranlib" + disallowed_modules="rndunix rndlinux rndegd" + ;; + *) + disallowed_modules="rndw32" + ;; +esac + AC_ARG_PROGRAM AC_PROG_MAKE_SET AM_SANITY_CHECK @@ -161,19 +160,7 @@ AM_CONDITIONAL(HAVE_DOCBOOK_TO_MAN, test "$ac_cv_prog_DOCBOOK_TO_MAN" = yes) -dnl -dnl Build shared libraries only when compilation of libgcrypt -dnl has been requested -dnl -AM_DISABLE_SHARED -enable_shared="$compile_libgcrypt" -AM_PROG_LIBTOOL - - MPI_OPT_FLAGS="" -if test "$GCC" = yes; then - CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" -fi try_gettext=yes @@ -181,14 +168,11 @@ case "${target}" in *-*-mingw32) # special stuff for Windoze NT - cross_compiling=yes - CC="${target}-gcc" - CPP="${target}-gcc -E" - RANLIB="${target}-ranlib" ac_cv_have_dev_random=no AC_DEFINE(USE_ONLY_8DOT3) AC_DEFINE(HAVE_DRIVE_LETTERS) AC_DEFINE(HAVE_DOSISH_SYSTEM) + AC_DEFINE(USE_SIMPLE_GETTEXT) try_gettext="no" try_gdbm="no" ;; @@ -327,8 +311,8 @@ DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC" use_gnupg_extensions=yes else - AC_CHECK_LIB(c,dlopen) - if test "$ac_cv_lib_c_dlopen" = "yes"; then + AC_CHECK_FUNCS(dlopen) + if test "$ac_cv_func_dlopen" = "yes"; then AC_DEFINE(USE_DYNAMIC_LINKING) AC_DEFINE(HAVE_DL_DLOPEN) DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC" @@ -418,6 +402,7 @@ AC_CHECK_LIB(cap, cap_init, ac_need_libcap=1) if test "$ac_cv_lib_cap_cap_init" = "yes"; then AC_DEFINE(USE_CAPABILITIES) + LIBS="$LIBS -lcap" use_capabilities=yes fi fi @@ -477,30 +462,29 @@ dnl -dnl Figure out the default linkage mode for cipher modules +dnl Figure out the default linkage mode for random modules dnl -dnl (We always need a static rmd160) print_egd_notice=no -static_modules="$static_modules rmd160" if test "$use_static_rnd" = default; then if test "$ac_cv_have_dev_random" = yes; then - static_modules="$static_modules rndlinux" + static_random_module="rndlinux" else case "${target}" in *-*-mingw32) - static_modules="$static_modules rndw32" + static_random_module="rndw32" + AC_DEFINE(USE_STATIC_RNDW32) ;; i?86-emx-os2|i?86-*-os2*emx) - static_modules="$static_modules rndos2" + static_random_module="rndos2" ;; m68k-atari-mint) - static_modules="$static_modules rndatari" + static_random_module="rndatari" ;; i?86-*-msdosdjgpp*) - static_modules="$static_modules" + : ;; *) - static_modules="$static_modules rndunix" + static_random_module="rndunix" print_egd_notice=yes ;; esac @@ -509,7 +493,7 @@ if test "$use_static_rnd" = none; then : else - static_modules="$static_modules rnd$use_static_rnd" + static_random_module="rnd$use_static_rnd" if test "$use_static_rnd" = "unix"; then print_egd_notice=yes fi @@ -542,23 +526,31 @@ dnl Parse the modules list and build the list dnl of static and dymically linked modules dnl +dnl (We always need a static rmd160) +static_modules="$static_modules rmd160 $static_random_module" STATIC_CIPHER_NAMES="" STATIC_CIPHER_OBJS="" DYNAMIC_CIPHER_MODS="" GNUPG_MSG_PRINT([dynamically linked cipher modules:]) for name in $MODULES_IN_CIPHER; do - x="no" - for i in $static_modules; do - if test "$name" = "$i" ; then - x="yes" - fi + x="yes" + for i in $disallowed_modules; do + if test "$name" = "$i" ; then x="no" ; fi done; if test $x = yes; then - STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name" - STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo" - else - DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name" - GNUPG_MSG_PRINT([$name]) + x="no" + for i in $static_modules; do + if test "$name" = "$i" ; then + x="yes" + fi + done; + if test $x = yes; then + STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name" + STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o" + else + DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name" + GNUPG_MSG_PRINT([$name]) + fi fi done AC_MSG_RESULT() @@ -625,7 +617,7 @@ GNUPG_MSG_PRINT([mpi extra asm functions:]) for i in $ac_cv_mpi_extra_asm_modules; do GNUPG_MSG_PRINT([$i]) - MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo" + MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o" done AC_MSG_RESULT() fi @@ -661,12 +653,23 @@ changequote(,)dnl tmp_pat='[a-zA-Z]' changequote([,])dnl -if echo "$VERSION" | grep $tmp_pat >/dev/null ; then +if echo "$VERSION" | grep "$tmp_pat" >/dev/null ; then AC_DEFINE(IS_DEVELOPMENT_VERSION) fi +AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes) + GNUPG_DO_LINK_FILES +GNUPG_CHECK_GNUMAKE + +if test "$GCC" = yes; then + if test "$MAINTAINER_MODE" = "yes"; then + CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" + else + CFLAGS="$CFLAGS -Wall" + fi +fi AC_OUTPUT_COMMANDS([ cat >g10defs.tmp < + + * gpg.sgml: Add section about the user ID + +Mon Nov 22 11:14:53 CET 1999 Werner Koch + + * gph: Removed the directory from the dist becuase it will + go into it's own package. + +Thu Sep 23 09:52:58 CEST 1999 Werner Koch + + * README.W32: New. + Mon Sep 6 19:59:08 CEST 1999 Werner Koch diff -urN gnupg-1.0.0/doc/DETAILS gnupg-1.0.1/doc/DETAILS --- gnupg-1.0.0/doc/DETAILS Tue Aug 31 09:29:42 1999 +++ gnupg-1.0.1/doc/DETAILS Tue Sep 21 08:57:10 1999 @@ -181,6 +181,15 @@ Final statistics on import process (this is one long line) + FILE_START + Start processing a file . indicates the performed + operation: + 1 - verify + + FILE_DONE + Marks the end of a file processing which has been started + by FILE_START. + Key generation diff -urN gnupg-1.0.0/doc/FAQ gnupg-1.0.1/doc/FAQ --- gnupg-1.0.0/doc/FAQ Tue Aug 31 09:29:42 1999 +++ gnupg-1.0.1/doc/FAQ Sat Dec 4 12:29:59 1999 @@ -232,7 +232,7 @@ abbreviated -o) is an option that takes a filename. The option's argument must follow immediately after the option itself, otherwise gpg doesn't know which option the argument is supposed to go with. As an option, --output and - its filename must come before the command. The --remote-user (-r) option takes + its filename must come before the command. The --recipient (-r) option takes a name or keyid to encrypt the message to, which must come right after the -r argument. The --encrypt (or -e) command comes after all the options followed by the file you wish to encrypt. So use @@ -241,22 +241,22 @@ If you write the options out in full, it is easier to read - gpg --remote-user alice --output secret.txt --encrypt test.txt + gpg --recipient alice --output secret.txt --encrypt test.txt If you're saving it in a file called ".txt" then you'd probably expect to see ASCII-armored text in there, so you need to add the --armor (-a) option, which doesn't take any arguments. - gpg --armor --remote-user alice --output secret.txt --encrypt test.txt + gpg --armor --recipient alice --output secret.txt --encrypt test.txt If you imagine square brackets around the optional parts, it becomes a bit clearer: - gpg [--armor] [--remote-user alice] [--output secret.txt] --encrypt test.txt + gpg [--armor] [--recipient alice] [--output secret.txt] --encrypt test.txt The optional parts can be rearranged any way you want. - gpg --output secret.txt --remote-user alice --armor --encrypt test.txt + gpg --output secret.txt --recipient alice --armor --encrypt test.txt If your filename begins with a hyphen (e.g. "-a.txt"), gnupg assumes this is an option and may complain. To avoid this you have either to use @@ -282,8 +282,7 @@ other keys. "validity", or calculated trust, is a value which says how much GnuPG thinks a key is valid (that it really belongs to the one who claims to be the owner of the key). - For more see the chapter "The Web of Trust" in the - Manual [gpg: Oops: Internal error: manual not found - sorry] + For more see the chapter "The Web of Trust" in the Manual Q: How do I interpret some of the informational outputs? A: While checking the validity of a key, GnuPG sometimes prints @@ -340,5 +339,35 @@ A: There is a script in the tools directory to help you: After you have imported the PGP keyring you can give this command: $ lspgpot pgpkeyring | gpg --import-ownertrust + where pgpkeyring is the original keyring and not the GnuPG one you + might have created in the first step. + Q: Are the headerlines of a cleartext signater part of the signed + material? + A: No. For example you can add or remove "Comment:" lines. They + have a purpose like the mail header lines. However a "Hash:" + line is needed for OpenPGG signatures to tell the parser which + hash algorithm to use. + + Q: How can a get list of key IDs used to encrypt a message? + A: gpg --batch --decrypt --status-fd 1 2>/dev/null \ + | awk '/^\[GNUPG:\] ENC_TO / { print $3 }' + + + Q: PGP 5.x, 6.x does not like my secret key. + A: PGP probaly bails out on some private comment packets used by GnuPG. + These packets are fully in compliance with OpenPGP; however PGP is not + really OpenPGP aware. A workaround is to eport the secret keys with + this command: + + gpg --export-secret-keys --no-comment -a your-key-id + + Q: I can't decrypt my symmetrical only (-c) encrypted message with + a new version of GnuPG. + A: There used to be a bug in GnuPG < 1.0.1 which happens only if 3DES + was used for symmetric only encryption (this has never been the default). + The bug has been fixed but to enable you to decrypt old messages, you + should run gpg with the option "--emulate-3des-s2k-bug", decrypt the + message and encrypt it again without this option. The option will + be removed in 1.1, so better re/encrypt your message now. diff -urN gnupg-1.0.0/doc/Makefile.am gnupg-1.0.1/doc/Makefile.am --- gnupg-1.0.0/doc/Makefile.am Fri Sep 3 13:34:37 1999 +++ gnupg-1.0.1/doc/Makefile.am Mon Nov 22 11:08:47 1999 @@ -1,8 +1,6 @@ ## Process this file with automake to create Makefile.in -SUBDIRS = gph - -EXTRA_DIST = DETAILS gpg.sgml gpg.1 FAQ HACKING OpenPGP +EXTRA_DIST = DETAILS gpg.sgml gpg.1 FAQ HACKING OpenPGP README.W32 man_MANS = gpg.1 diff -urN gnupg-1.0.0/doc/Makefile.in gnupg-1.0.1/doc/Makefile.in --- gnupg-1.0.0/doc/Makefile.in Tue Sep 7 18:48:42 1999 +++ gnupg-1.0.1/doc/Makefile.in Thu Dec 16 10:17:50 1999 @@ -85,9 +85,6 @@ 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@ @@ -95,7 +92,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -108,9 +104,7 @@ ZLIBS = @ZLIBS@ l = @l@ -SUBDIRS = gph - -EXTRA_DIST = DETAILS gpg.sgml gpg.1 FAQ HACKING OpenPGP +EXTRA_DIST = DETAILS gpg.sgml gpg.1 FAQ HACKING OpenPGP README.W32 man_MANS = gpg.1 mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs @@ -175,95 +169,9 @@ 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) @@ -280,41 +188,30 @@ || 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-recursive +info: info-am dvi-am: -dvi: dvi-recursive +dvi: dvi-am check-am: all-am -check: check-recursive +check: check-am installcheck-am: -installcheck: installcheck-recursive +installcheck: installcheck-am install-exec-am: -install-exec: install-exec-recursive +install-exec: install-exec-am install-data-am: install-man -install-data: install-data-recursive +install-data: install-data-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive +install: install-am uninstall-am: uninstall-man -uninstall: uninstall-recursive +uninstall: uninstall-am all-am: Makefile $(MANS) -all-redirect: all-recursive +all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: +installdirs: $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 @@ -327,36 +224,28 @@ -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am -clean-am: clean-tags clean-generic mostlyclean-am +clean-am: clean-generic mostlyclean-am -clean: clean-recursive +clean: clean-am -distclean-am: distclean-tags distclean-generic clean-am - -rm -f libtool +distclean-am: distclean-generic clean-am -distclean: distclean-recursive +distclean: distclean-am -maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ - 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-recursive +maintainer-clean: maintainer-clean-am -.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 \ +.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 \ installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean diff -urN gnupg-1.0.0/doc/OpenPGP gnupg-1.0.1/doc/OpenPGP --- gnupg-1.0.0/doc/OpenPGP Tue Aug 31 09:29:42 1999 +++ gnupg-1.0.1/doc/OpenPGP Mon Sep 13 10:56:43 1999 @@ -1,7 +1,7 @@ GnuPG and OpenPGP ================= - See RFC2440 for a description of OpenPGP. I have an annotated version + See RFC2440 for a description of OpenPGP. We have an annotated version of this RFC online: http://www.gnupg.org/rfc2440.html diff -urN gnupg-1.0.0/doc/README.W32 gnupg-1.0.1/doc/README.W32 --- gnupg-1.0.0/doc/README.W32 Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/doc/README.W32 Mon Dec 6 08:45:20 1999 @@ -0,0 +1,108 @@ +This is an alpha release of GnuPG for MS-Windows and WNT. +The random number generator should now work but has not undergone +a thorough testing, so we won't say anything about the quality of +the generated key and suggest that you don't use this version with +your production secret keys! It is however okay to verify signatures +or encrypt files using this version. + +PLEASE READ THE FOLLOWING PARAGRAPH CAREFULLY: + +If you have a bug report, please post it to the mailing list +. Please don't send me private mail +regarding this version of GnuPG; I am already spending too much +time on answering the same and same questions over and over. +I can improve GnuPG much faster if I don't have to answer +questions in private mail. You can post to the mailing list +without prior subscribing (but please request to CC you if you want +to get an answer). + + + +Installation instructions: +-------------------------- + 1. Unpack the ZIP archive (alright, you already did this) + 2. Copy "gpg.exe" to some place where you usually store your + binaries. + 3. Create a directory "c:\gnupg" (or any other as you like) + 4. Copy the file "entropy.dll" to this directory. + 5. If you did not use the default directory "c:\gnupg", you + should enter a string with the directory into the Registry + under the key: + \\HKEY_CURRENT_USER\Software\GNU\GnuPG\HomeDir + Because the default location for the entropy DLL is also the + c:\gnupg; you have to set another Registry entry with the + full name of the DLL (e.g. "c:\foo\bar\entropy.dll") under + the key: + \\HKEY_LOCAL_MACHINE\Software\GNU\GnuPG\EntropyDLL + Please use forward slashes and not the backslashes when + setting filenames for GnuPG into the Registry. + + 6. Enter "gpg" and see what happens + 7. Read the file README and the online HOWTOs + + +Internationalization support: +----------------------------- + 1. Decide where to store the translation files for your language. + Here we assume the directory "c:/gnu/locale/fr" + 2. Set the directory with the translations into the Registry under the key: + \\HKEY_CURRENT_USER\Control Panel\Mingw32\NLS\MODir + (Example entry: "c:/gnu/locale/fr") + 3. Select which language to use and copy the currect translation file + under the name "gnupg.mo" into the directory set in step 2 + (Example: "copy fr.mo c:\gnu\locale\fr\gnupg.mo") + 4. Done. + +Currently we only support the Codepages 437, 850 und Latin1. If you have +problems, either delete the gnupg.mo file or don't set the environment +variable + + + +How to build it from the source: +-------------------------------- +This version has been build with the Mingw32/CPD kit using the latest +stable version of GnuPG. + +First get the source: It is available at + + ftp://ftp.gnupg.org/pub/gcrypt/gnupg/gnupg-1.0.n.tar.gz + +or for snapshots (with a letter appended to the version number) + + ftp://ftp.gnupg.org/pub/gcrypt/devel/gnupg-1.0.nx.tar.gz + +this is the same source as for the Unix version. + +To build it, you need the MingW32/CPD kit, which is available at + + ftp://ftp.openit.de/pub/cpd/mingw32-cpd-0.1.tar.gz + +I will probably upload a new version, as the current is known to have some +problems. After you have installed this environment, you should be +able to do this: + + $ ./configure --target=i386--mingw32 + $ make + $ i386--mingw32-strip g10/gpg + $ cp g10/gpg /some_windows_drive/gpg.exe + +And everything hopefully works. + +It is currently not possible to build the entropy DLL with the MingW32/CPD +because it is still lacking C++ support. But I am working on it. +However the source is available at + + ftp://ftp.gnupg.org/pub/gcrypt/contrib/winseed.zip + +follow the instructions to build it (if you have a MS tool chain). + + + +Don't forget that MS-Windows ist just a temporary workaround until +you can switch to a GNU system ;-) + +Be the source always with you. + + Werner + diff -urN gnupg-1.0.0/doc/gpg.1 gnupg-1.0.1/doc/gpg.1 --- gnupg-1.0.0/doc/gpg.1 Sun Sep 5 19:35:42 1999 +++ gnupg-1.0.1/doc/gpg.1 Fri Dec 3 15:30:33 1999 @@ -1,671 +1,2 @@ -...\" $Header: /cvs/gnome/gtk-doc/db2man/docbook-to-man,v 1.1.1.1 1998/11/24 06:00:34 owen Exp $ -...\" -...\" transcript compatibility for postscript use. -...\" -...\" synopsis: .P! -...\" -.de P! -.fl -\!!1 setgray -.fl -\\&.\" -.fl -\!!0 setgray -.fl \" force out current output buffer -\!!save /psv exch def currentpoint translate 0 0 moveto -\!!/showpage{}def -.fl \" prolog -.sy sed -e 's/^/!/' \\$1\" bring in postscript file -\!!psv restore -. -.de pF -.ie \\*(f1 .ds f1 \\n(.f -.el .ie \\*(f2 .ds f2 \\n(.f -.el .ie \\*(f3 .ds f3 \\n(.f -.el .ie \\*(f4 .ds f4 \\n(.f -.el .tm ? font overflow -.ft \\$1 -.. -.de fP -.ie !\\*(f4 \{\ -. ft \\*(f4 -. ds f4\" -' br \} -.el .ie !\\*(f3 \{\ -. ft \\*(f3 -. ds f3\" -' br \} -.el .ie !\\*(f2 \{\ -. ft \\*(f2 -. ds f2\" -' br \} -.el .ie !\\*(f1 \{\ -. ft \\*(f1 -. ds f1\" -' br \} -.el .tm ? font underflow -.. -.ds f1\" -.ds f2\" -.ds f3\" -.ds f4\" -.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n -.TH "gpg" "1" "" "" "GNU Tools" -.SH "NAME" -gpg \- encryption and signing tool -.SH "SYNOPSIS" -.PP -.nf -\fBgpg\fP [--homedir \fBname\fR] [--options \fBfile\fR] [\fBoptions\fR] \fBcommand\fR [\fBargs\fR] -.fi -.SH "DESCRIPTION" -.PP -\fBgpg\fP is the main program for the GnuPG system\&. - -.SH "COMMANDS" -.PP -\fBgpg\fP recognizes these commands: -.IP "-s, --sign" 10 -Make a signature\&. This command may be combined -with --encrypt\&. -.IP "--clearsign" 10 -Make a clear text signature\&. -.IP "-b, --detach-sign" 10 -Make a detached signature\&. -.IP "-e, --encrypt" 10 -Encrypt data\&. This option may be combined with --sign\&. -.IP "-c, --symmetric" 10 -Encrypt with symmetric cipher only -This command asks for a passphrase\&. -.IP "--store" 10 -Store only (make a simple RFC1991 packet)\&. -.IP "--decrypt [\fBfile\fR]" 10 -Decrypt \fBfile\fR (or stdin if no file is specified) and -write it to stdout (or the file specified with ---output)\&. If the decrypted file is signed, the -signature is also verified\&. This command differs -from the default operation, as it never writes to the -filename which is included in the file and it -rejects files which don\&'t begin with an encrypted -message\&. -.IP "--verify [[\fBsigfile\fR] [\fBsigned-files\fR]]" 10 -Assume that \fBsigfile\fR is a signature and verify it -without generating any output\&. With no arguments, -the signature packet is read from stdin (it may be a -detached signature when not used in batch mode)\&. If -only a sigfile is given, it may be a complete -signature or a detached signature, in which case -the signed stuff is expected in a file without the -"\&.sig" or "\&.asc" extension (if such a file does -not exist it is expected at stdin; use a single dash ("-") as -filename to force a read from stdin)\&. With more than -1 argument, the first should be a detached signature -and the remaining files are the signed stuff\&. -.IP "--list-keys [\fBnames\fR]" 10 -.IP "--list-public-keys [\fBnames\fR]" 10 -List all keys from the public keyrings, or just the -ones given on the command line\&. -.IP "--list-secret-keys [\fBnames\fR]" 10 -List all keys from the secret keyrings, or just the -ones given on the command line\&. -.IP "--list-sigs [\fBnames\fR]" 10 -Same as --list-keys, but the signatures are listed too\&. -.IP "--check-sigs [\fBnames\fR]" 10 -Same as --list-sigs, but the signatures are verified\&. -.IP "--fingerprint [\fBnames\fR]" 10 -List all keys with their fingerprints\&. This is the -same output as --list-keys but with the additional output -of a line with the fingerprint\&. May also be combined -with --list-sigs or --check-sigs\&. -If this command is given twice, the fingerprints of all -secondary keys are listed too\&. -.IP "--list-packets" 10 -List only the sequence of packets\&. This is mainly -useful for debugging\&. -.IP "--gen-key" 10 -Generate a new key pair\&. This command can only be -used interactive\&. -.IP "--edit-key \fBname\fR" 10 -Present a menu which enables you to do all key -related tasks: -.RS -.IP "sign" 10 -Make a signature on key of user \fBname\fR If the key is not yet signed by the default -user (or the users given with -u), 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 -u\&. -.IP "lsign" 10 -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\&. -.IP "revsig" 10 -Revoke a signature\&. GnuPG asks for every -every signature which has been done by one of -the secret keys, whether a revocation -certificate should be generated\&. -.IP "trust" 10 -Change the owner trust value\&. This updates the -trust-db immediately and no save is required\&. -.IP "disable" 10 -.IP "enable" 10 -Disable or enable an entire key\&. A disabled key can normally not be used -for encryption\&. -.IP "adduid" 10 -Create an alternate user id\&. -.IP "deluid" 10 -Delete an user id\&. -.IP "addkey" 10 -Add a subkey to this key\&. -.IP "delkey" 10 -Remove a subkey\&. -.IP "revkey" 10 -Revoke a subkey\&. -.IP "expire" 10 -Change the key expiration time\&. If a key is -selected, the time of this key will be changed\&. -With no selection the key expiration of the -primary key is changed\&. -.IP "passwd" 10 -Change the passphrase of the secret key\&. -.IP "uid \fBn\fR" 10 -Toggle selection of user id with index \fBn\fR\&. -Use 0 to deselect all\&. -.IP "key \fBn\fR" 10 -Toggle selection of subkey with index \fBn\fR\&. -Use 0 to deselect all\&. -.IP "check" 10 -Check all selected user ids\&. -.IP "pref" 10 -List preferences\&. -.IP "toggle" 10 -Toggle between public and secret key listing\&. -.IP "save" 10 -Save all changes to the key rings and quit\&. -.IP "quit" 10 -Quit the program without updating the -key rings\&. -.RE -.IP "" 10 -The listing shows you the key with its secondary -keys and all user ids\&. Selected keys or user ids -are indicated by an asterisk\&. The trust value is -displayed with the primary key: the first is the -assigned owner trust and the second is the calculated -trust value\&. Letters are used for the values: -.RS -.IP "-" 10 -No ownertrust assigned / not yet calculated\&. -.IP "e" 10 -Trust calculation has failed\&. -.IP "q" 10 -Not enough information for calculation\&. -.IP "n" 10 -Never trust this key\&. -.IP "m" 10 -Marginally trusted\&. -.IP "f" 10 -Fully trusted\&. -.IP "u" 10 -Ultimately trusted\&. -.RE -.IP "--sign-key \fBname\fR" 10 -Sign a public key with you secret key\&. This is a shortcut version -of the subcommand "sign" from --edit\&. -.IP "--lsign-key \fBname\fR" 10 -Sign a public key with you secret key but mark it as non-exportable\&. -This is a shortcut version of the subcommand "lsign" from --edit\&. -.IP "--delete-key \fBname\fR" 10 -Remove key from the public keyring -.IP "--delete-secret-key \fBname\fR" 10 -Remove key from the secret and public keyring -.IP "--gen-revoke" 10 -Generate a revocation certificate for the complete key\&. To revoke -a subkey or a signature, use the --edit command\&. -.IP "--export [\fBnames\fR]" 10 -Either export all keys from all keyrings (default -keyrings and those registered via option --keyring), -or if at least one name is given, those of the given -name\&. The new keyring is written to stdout or to -the file given with option "output"\&. Use together -with --armor to mail those keys\&. -.IP "--send-keys [\fBnames\fR]" 10 -Same as --export but sends the keys to a keyserver\&. -Option --keyserver must be used to give the name -of this keyserver\&. Don\&'t send your complete keyring -to a keyserver - select only those keys which are new -or changed by you\&. -.IP "--export-all [\fBnames\fR]" 10 -Same as --export, but does also export keys which -are not compatible to OpenPGP\&. -.IP "--export-secret-keys [\fBnames\fR]" 10 -Same as --export, but does export the secret keys\&. -This is normally not very useful and a security risk\&. -.IP "--import [\fBfiles\fR]" 10 -.IP "--fast-import [\fBfiles\fR]" 10 -Import/merge keys\&. This adds the given keys to the -keyring\&. -The fast version does not build -the trustdb; this can be done at any time with the -command --update-trustdb\&. -.IP "--recv-keys \fBkey IDs\fR" 10 -Import the keys with the given key IDs from a HKP -keyserver\&. Option --keyserver must be used to -give the name of this keyserver\&. -.IP "--export-ownertrust" 10 -List the assigned ownertrust values in ASCII format -for backup purposes -.IP "--import-ownertrust [\fBfiles\fR]" 10 -Update the trustdb with the ownertrust values stored -in \fBfiles\fR (or stdin if not given); existing -values will be overwritten\&. -.IP "--print-md \fBalgo\fR [\fBfiles\fR]" 10 -Print message digest of algorithm ALGO for all given files of stdin\&. -If "*" is used for the algorithm, digests for all available algorithms -are printed\&. -.IP "--gen-random \fB0|1|2\fR [\fBcount\fR]" 10 -Emit COUNT random bytes of the given quality level\&. If count is not given -or zero, an endless sequence of random bytes will be emitted\&. -PLEASE, don\&'t use this command unless you know what you are doing, it may -remove precious entropy from the system! -.IP "--gen-prime \fBmode\fR \fBbits\fR [\fBqbits\fR]" 10 -Use the source, Luke :-)\&. The output format is still subject to change\&. -.IP "--version" 10 -Print version information along with a list -of supported algorithms\&. -.IP "--warranty" 10 -Print warranty information\&. -.IP "-h, --help" 10 -Print usage information\&. This is a really long list even it does list -not all options\&. -.SH "OPTIONS" -.PP -Long options can be put in an options file (default "~/\&.gnupg/options")\&. -Do not write the 2 dashes, but simply the name of the option and any -required arguments\&. Lines with a hash as the first non-white-space -character are ignored\&. Commands may be put in this file too, but that -does not make sense\&. -.PP -\fBgpg\fP recognizes these options: -.IP "-a, --armor" 10 -Create ASCII armored output\&. -.IP "-o, --output \fBfile\fR" 10 -Write output to \fBfile\fR\&. -.IP "-u, --local-user \fBname\fR" 10 -Use \fBname\fR 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\&. -.IP "--default-key \fBname\fR" 10 -Use \fBname\fR as default user ID for signatures\&. If this -is not used the default user ID is the first user ID -found in the secret keyring\&. -.IP "-r, --recipient \fBname\fR" 10 -.IP "" 10 -Encrypt for user id \fBname\fR\&. If this option is not -specified, GnuPG asks for the user-id unless --default-recipient is given -.IP "--default-recipient \fBname\fR" 10 -Use \fBname\fR as default recipient if option --recipient is not used and -don\&'t ask if this is a valid one\&. \fBname\fR must be a non empty\&. -.IP "--default-recipient-self" 10 -Use the default key as default recipient if option --recipient is not used and -don\&'t ask if this is a valid one\&. The default key is the first one from the -secret keyring or the one set with --default-key\&. -.IP "--no-default-recipient" 10 -Reset --default-recipient and --default-recipient-self\&. -.IP "--encrypt-to \fBname\fR" 10 -Same as --recipient but this one is intended for -in the options file and may be used together with -an own user-id as an "encrypt-to-self"\&. These keys -are only used when there are other recipients given -either by use of --recipient or by the asked user id\&. -No trust checking is performed for these user ids and -even disabled keys can be used\&. -.IP "--no-encrypt-to" 10 -Disable the use of all --encrypt-to keys\&. -.IP "-v, --verbose" 10 -Give more information during processing\&. If used -twice, the input data is listed in detail\&. -.IP "-q, --quiet" 10 -Try to be as quiet as possible\&. -.IP "-z \fBn\fR" 10 -Set compression level to \fBn\fR\&. A value of 0 for \fBn\fR disables compression\&. Default is to use the default -compression level of zlib (normally 6)\&. -.IP "-t, --textmode" 10 -Use canonical text mode\&. If -t (but not ---textmode) is used together with armoring -and signing, this enables clearsigned messages\&. -This kludge is needed for PGP compatibility; -normally you would use --sign or --clearsign -to selected the type of the signature\&. -.IP "-n, --dry-run" 10 -Don\&'t make any changes (this is not completely implemented)\&. -.IP "-i, --interactive" 10 -Prompt before overwriting any files\&. -.IP "--batch" 10 -Use batch mode\&. Never ask, do not allow interactive -commands\&. -.IP "--no-batch" 10 -Disable batch mode\&. This may be of use if --batch -is enabled from an options file\&. -.IP "--yes" 10 -Assume "yes" on most questions\&. -.IP "--no" 10 - Assume "no" on most questions\&. -.IP "--always-trust" 10 -Skip key validation and assume that used keys are always fully trusted\&. -You won\&'t use this unless you have installed some external validation scheme\&. -.IP "--keyserver \fBname\fR" 10 -Use \fBname\fR to lookup keys which are not yet in -your keyring\&. This is only done while verifying -messages with signatures\&. The option is also -required for the command --send-keys to -specify the keyserver to where the keys should -be send\&. All keyservers synchronize with each -other - so there is no need to send keys to more -than one server\&. Using the command -"host -l pgp\&.net | grep wwwkeys" gives you a -list of keyservers\&. Because there is load -balancing using round-robin DNS you may notice -that you get different key servers\&. -.IP "--keyring \fBfile\fR" 10 -Add \fBfile\fR to the list of keyrings\&. -If \fBfile\fR begins with a tilde and a slash, these -are replaced by the HOME directory\&. If the filename -does not contain a slash, it is assumed to be in the -home-directory ("~/\&.gnupg" if --homedir is not used)\&. -The filename may be prefixed with a scheme: -.IP "" 10 -"gnupg-ring:" is the default one\&. -.IP "" 10 -"gnupg-gdbm:" may be used for a GDBM ring\&. -.IP "" 10 -It might make sense to use it together with --no-default-keyring\&. -.IP "--secret-keyring \fBfile\fR" 10 -Same as --keyring but for the secret keyrings\&. -.IP "--homedir \fBdirectory\fR" 10 -Set the name of the home directory to \fBdirectory\fR If this -option is not used it defaults to "~/\&.gnupg"\&. It does -not make sense to use this in a options file\&. This -also overrides the environment variable "GNUPGHOME"\&. -.IP "--charset \fBname\fR" 10 -Set the name of the native character set\&. This is used -to convert some strings to proper UTF-8 encoding\&. -Valid values for \fBname\fR are: -.RS -.IP "iso-8859-1" 10 -This is the default Latin 1 set\&. -.IP "iso-8859-2" 10 -The Latin 2 set\&. -.IP "koi8-r" 10 -The usual Russian set (rfc1489)\&. -.RE -.IP "--utf8-strings" 10 -.IP "--no-utf8-strings" 10 -Assume that the arguments are already given as UTF8 strings\&. The default -(--no-utf8-strings) -is to assume that arguments are encoded in the character set as specified -by --charset\&. These options effects all following arguments\&. Both options may -used multiple times\&. -.IP "--options \fBfile\fR" 10 -Read options from \fBfile\fR and do not try to read -them from the default options file in the homedir -(see --homedir)\&. This option is ignored if used -in an options file\&. -.IP "--no-options" 10 -Shortcut for "--options /dev/null"\&. This option is -detected before an attempt to open an option file\&. -.IP "--load-extension \fBname\fR" 10 -Load an extension module\&. If \fBname\fR does not -contain a slash it is searched in "/usr/local/lib/gnupg" -See the manual for more information about extensions\&. -.IP "--debug \fBflags\fR" 10 -Set debugging flags\&. All flags are or-ed and \fBflags\fR may -be given in C syntax (e\&.g\&. 0x0042)\&. -.IP "--debug-all" 10 - Set all useful debugging flags\&. -.IP "--status-fd \fBn\fR" 10 -Write special status strings to the file descriptor \fBn\fR\&. -See the file DETAILS in the documentation for a listing of them\&. -.IP "--logger-fd \fBn\fR" 10 -Write log output to file descriptor \fBn\fR and not to stderr\&. -.IP "--no-comment" 10 -Do not write comment packets\&. This option affects only -the generation of secret keys\&. Output of option packets -is disabled since version 0\&.4\&.2\&. -.IP "--comment \fBstring\fR" 10 -Use \fBstring\fR as comment string in clear text signatures\&. -.IP "--default-comment" 10 -Force to write the standard comment string in clear -text signatures\&. Use this to overwrite a --comment -from a config file\&. -.IP "--no-version" 10 -Omit the version string in clear text signatures\&. -.IP "--emit-version" 10 -Force to write the version string in clear text -signatures\&. Use this to overwrite a previous ---no-version from a config file\&. -.IP "-N, --notation-data \fBname=value\fR" 10 -Put the name value pair into the signature as notation data\&. -\fBname\fR must consists only of alphanumeric characters, digits -or the underscore; the first character must not be a digit\&. -\fBvalue\fR may be any printable string; it will encoded in UTF8, -so sou should have check that your --charset is set right\&. -If you prefix \fBname\fR with an exclamation mark, the notation -data will be flagged as critical (rfc2440:5\&.2\&.3\&.15)\&. -.IP "--set-policy-url \fBstring\fR" 10 -Use \fBstring\fR as Policy URL for signatures (rfc2440:5\&.2\&.3\&.19)\&. -If you prefix it with an exclamation mark, the policy URL -packet will be flagged as critical\&. -.IP "--set-filename \fBstring\fR" 10 -Use \fBstring\fR as the name of file which is stored in -messages\&. -.IP "--use-embedded-filename" 10 -Try to create a file with a name as embedded in the data\&. -This can be a dangerous option as it allows to overwrite files\&. -.IP "--completes-needed \fBn\fR" 10 -Number of completely trusted users to introduce a new -key signer (defaults to 1)\&. -.IP "--marginals-needed \fBn\fR" 10 -Number of marginally trusted users to introduce a new -key signer (defaults to 3) -.IP "--max-cert-depth \fBn\fR" 10 -Maximum depth of a certification chain (default is 5)\&. -.IP "--cipher-algo \fBname\fR" 10 -Use \fBname\fR as cipher algorithm\&. Running the program -with the command --version yields a list of supported -algorithms\&. If this is not used the cipher algorithm is -selected from the preferences stored with the key\&. -.IP "--digest-algo \fBname\fR" 10 -Use \fBname\fR as message digest algorithm\&. Running the -program with the command --version yields a list of -supported algorithms\&. Please note that using this -option may violate the OpenPGP requirement, that a -160 bit hash is to be used for DSA\&. -.IP "--s2k-cipher-algo \fBname\fR" 10 -Use \fBname\fR as the cipher algorithm used to protect secret -keys\&. The default cipher is BLOWFISH\&. This cipher is -also used for conventional encryption if --cipher-algo -is not given\&. -.IP "--s2k-digest-algo \fBname\fR" 10 -Use \fBname\fR as the digest algorithm used to mangle the -passphrases\&. The default algorithm is RIPE-MD-160\&. -This digest algorithm is also used for conventional -encryption if --digest-algo is not given\&. -.IP "--s2k-mode \fBn\fR" 10 -Selects how passphrases are mangled\&. If \fBn\fR is 0 -a plain passphrase (which is not recommended) will be used, -a 1 (default) adds a salt to the passphrase and -a 3 iterates the whole process a couple of times\&. -Unless --rfc1991 is used, this mode is also used -for conventional encryption\&. -.IP "--compress-algo \fBn\fR" 10 -Use compress algorithm \fBn\fR\&. Default is 2 which is -RFC1950 compression\&. You may use 1 to use the old zlib -version which is used by PGP\&. The default algorithm may -give better results because the window size is not limited -to 8K\&. If this is not used the OpenPGP behavior is used, -i\&.e\&. the compression algorithm is selected from the -preferences; note, that this can\&'t be done if you do -not encrypt the data\&. -.IP "--disable-cipher-algo \fBname\fR" 10 -Never allow the use of \fBname\fR as cipher algorithm\&. -The given name will not be checked so that a later loaded algorithm -will still get disabled\&. -.IP "--disable-pubkey-algo \fBname\fR" 10 -Never allow the use of \fBname\fR as public key algorithm\&. -The given name will not be checked so that a later loaded algorithm -will still get disabled\&. -.IP "--throw-keyid" 10 -Do not put the keyid into encrypted packets\&. This option -hides the receiver of the message and is a countermeasure -against traffic analysis\&. It may slow down the decryption -process because all available secret keys are tried\&. -.IP "--not-dash-escaped" 10 -This option changes the behavior of cleartext signatures -so that they can be used for patch files\&. You should not -send such an armored file via email because all spaces -and line endings are hashed too\&. You can not use this -option for data which has 5 dashes at the beginning of a -line, patch files don\&'t have this\&. A special armor header -line tells GnuPG about this cleartext signature option\&. -.IP "--escape-from-lines" 10 -Because some mailers change lines starting with "From " -to " + +--verify-files + +This is a special version of the --verify command which does not work with +detached signatures. The command expects the files to bee verified either +on the commandline or reads the filenames from stdin; each anem muts be on +separate line. The command is intended for quick checking of many files. + + - -&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-1.0.0/doc/gph/c2.sgml gnupg-1.0.1/doc/gph/c2.sgml --- gnupg-1.0.0/doc/gph/c2.sgml Mon Sep 6 20:10:19 1999 +++ gnupg-1.0.1/doc/gph/c2.sgml Thu Jan 1 01:00:00 1970 @@ -1,345 +0,0 @@ - - - -$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-1.0.0/doc/gph/c3.sgml gnupg-1.0.1/doc/gph/c3.sgml --- gnupg-1.0.0/doc/gph/c3.sgml Mon Sep 6 20:10:19 1999 +++ gnupg-1.0.1/doc/gph/c3.sgml Thu Jan 1 01:00:00 1970 @@ -1,885 +0,0 @@ - - - -$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-1.0.0/doc/gph/c4.sgml gnupg-1.0.1/doc/gph/c4.sgml --- gnupg-1.0.0/doc/gph/c4.sgml Mon Sep 6 20:10:19 1999 +++ gnupg-1.0.1/doc/gph/c4.sgml Thu Jan 1 01:00:00 1970 @@ -1,433 +0,0 @@ - - - -$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-1.0.0/doc/gph/c5.sgml gnupg-1.0.1/doc/gph/c5.sgml --- gnupg-1.0.0/doc/gph/c5.sgml Mon Sep 6 20:10:19 1999 +++ gnupg-1.0.1/doc/gph/c5.sgml Thu Jan 1 01:00:00 1970 @@ -1,38 +0,0 @@ - - - -$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-1.0.0/doc/gph/c6.sgml gnupg-1.0.1/doc/gph/c6.sgml --- gnupg-1.0.0/doc/gph/c6.sgml Mon Sep 6 20:10:19 1999 +++ gnupg-1.0.1/doc/gph/c6.sgml Thu Jan 1 01:00:00 1970 @@ -1,804 +0,0 @@ - - - -$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-1.0.0/doc/gph/c7.sgml gnupg-1.0.1/doc/gph/c7.sgml --- gnupg-1.0.0/doc/gph/c7.sgml Mon Sep 6 20:10:19 1999 +++ gnupg-1.0.1/doc/gph/c7.sgml Thu Jan 1 01:00:00 1970 @@ -1,251 +0,0 @@ - - - -$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-1.0.0/doc/gph/index.html gnupg-1.0.1/doc/gph/index.html --- gnupg-1.0.0/doc/gph/index.html Tue Sep 7 18:26:28 1999 +++ gnupg-1.0.1/doc/gph/index.html Thu Jan 1 01:00:00 1970 @@ -1,5 +0,0 @@ - - - diff -urN gnupg-1.0.0/doc/gph/manual/armor.html gnupg-1.0.1/doc/gph/manual/armor.html --- gnupg-1.0.0/doc/gph/manual/armor.html Tue Sep 7 18:26:23 1999 +++ gnupg-1.0.1/doc/gph/manual/armor.html Thu Jan 1 01:00:00 1970 @@ -1,163 +0,0 @@ -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-1.0.0/doc/gph/manual/book1.html gnupg-1.0.1/doc/gph/manual/book1.html --- gnupg-1.0.0/doc/gph/manual/book1.html Tue Sep 7 18:26:26 1999 +++ gnupg-1.0.1/doc/gph/manual/book1.html Thu Jan 1 01:00:00 1970 @@ -1,499 +0,0 @@ -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-1.0.0/doc/gph/manual/clearsign.html gnupg-1.0.1/doc/gph/manual/clearsign.html --- gnupg-1.0.0/doc/gph/manual/clearsign.html Tue Sep 7 18:26:10 1999 +++ gnupg-1.0.1/doc/gph/manual/clearsign.html Thu Jan 1 01:00:00 1970 @@ -1,180 +0,0 @@ -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-1.0.0/doc/gph/manual/completes-needed.html gnupg-1.0.1/doc/gph/manual/completes-needed.html --- gnupg-1.0.0/doc/gph/manual/completes-needed.html Tue Sep 7 18:26:25 1999 +++ gnupg-1.0.1/doc/gph/manual/completes-needed.html Thu Jan 1 01:00:00 1970 @@ -1,182 +0,0 @@ -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-1.0.0/doc/gph/manual/concepts.html gnupg-1.0.1/doc/gph/manual/concepts.html --- gnupg-1.0.0/doc/gph/manual/concepts.html Tue Sep 7 18:25:53 1999 +++ gnupg-1.0.1/doc/gph/manual/concepts.html Thu Jan 1 01:00:00 1970 @@ -1,261 +0,0 @@ -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-1.0.0/doc/gph/manual/decrypt.html gnupg-1.0.1/doc/gph/manual/decrypt.html --- gnupg-1.0.0/doc/gph/manual/decrypt.html Tue Sep 7 18:26:09 1999 +++ gnupg-1.0.1/doc/gph/manual/decrypt.html Thu Jan 1 01:00:00 1970 @@ -1,192 +0,0 @@ -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-1.0.0/doc/gph/manual/detach-sig.html gnupg-1.0.1/doc/gph/manual/detach-sig.html --- gnupg-1.0.0/doc/gph/manual/detach-sig.html Tue Sep 7 18:26:12 1999 +++ gnupg-1.0.1/doc/gph/manual/detach-sig.html Thu Jan 1 01:00:00 1970 @@ -1,187 +0,0 @@ -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-1.0.0/doc/gph/manual/distfiles gnupg-1.0.1/doc/gph/manual/distfiles --- gnupg-1.0.0/doc/gph/manual/distfiles Tue Sep 7 18:26:28 1999 +++ gnupg-1.0.1/doc/gph/manual/distfiles Thu Jan 1 01:00:00 1970 @@ -1,43 +0,0 @@ -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-1.0.0/doc/gph/manual/docbook.css gnupg-1.0.1/doc/gph/manual/docbook.css --- gnupg-1.0.0/doc/gph/manual/docbook.css Tue Sep 7 18:26:28 1999 +++ gnupg-1.0.1/doc/gph/manual/docbook.css Thu Jan 1 01:00:00 1970 @@ -1,20 +0,0 @@ -.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-1.0.0/doc/gph/manual/edit-key.html gnupg-1.0.1/doc/gph/manual/edit-key.html --- gnupg-1.0.0/doc/gph/manual/edit-key.html Tue Sep 7 18:26:19 1999 +++ gnupg-1.0.1/doc/gph/manual/edit-key.html Thu Jan 1 01:00:00 1970 @@ -1,521 +0,0 @@ -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-1.0.0/doc/gph/manual/encrypt.html gnupg-1.0.1/doc/gph/manual/encrypt.html --- gnupg-1.0.0/doc/gph/manual/encrypt.html Tue Sep 7 18:26:08 1999 +++ gnupg-1.0.1/doc/gph/manual/encrypt.html Thu Jan 1 01:00:00 1970 @@ -1,211 +0,0 @@ -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-1.0.0/doc/gph/manual/export.html gnupg-1.0.1/doc/gph/manual/export.html --- gnupg-1.0.0/doc/gph/manual/export.html Tue Sep 7 18:26:17 1999 +++ gnupg-1.0.1/doc/gph/manual/export.html Thu Jan 1 01:00:00 1970 @@ -1,186 +0,0 @@ -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-1.0.0/doc/gph/manual/fingerprint.html gnupg-1.0.1/doc/gph/manual/fingerprint.html --- gnupg-1.0.0/doc/gph/manual/fingerprint.html Tue Sep 7 18:26:11 1999 +++ gnupg-1.0.1/doc/gph/manual/fingerprint.html Thu Jan 1 01:00:00 1970 @@ -1,189 +0,0 @@ -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-1.0.0/doc/gph/manual/gen-key.html gnupg-1.0.1/doc/gph/manual/gen-key.html --- gnupg-1.0.0/doc/gph/manual/gen-key.html Tue Sep 7 18:26:12 1999 +++ gnupg-1.0.1/doc/gph/manual/gen-key.html Thu Jan 1 01:00:00 1970 @@ -1,169 +0,0 @@ -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-1.0.0/doc/gph/manual/gen-revoke.html gnupg-1.0.1/doc/gph/manual/gen-revoke.html --- gnupg-1.0.0/doc/gph/manual/gen-revoke.html Tue Sep 7 18:26:16 1999 +++ gnupg-1.0.1/doc/gph/manual/gen-revoke.html Thu Jan 1 01:00:00 1970 @@ -1,179 +0,0 @@ -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-1.0.0/doc/gph/manual/import.html gnupg-1.0.1/doc/gph/manual/import.html --- gnupg-1.0.0/doc/gph/manual/import.html Tue Sep 7 18:26:15 1999 +++ gnupg-1.0.1/doc/gph/manual/import.html Thu Jan 1 01:00:00 1970 @@ -1,177 +0,0 @@ -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-1.0.0/doc/gph/manual/intro.html gnupg-1.0.1/doc/gph/manual/intro.html --- gnupg-1.0.0/doc/gph/manual/intro.html Tue Sep 7 18:25:50 1999 +++ gnupg-1.0.1/doc/gph/manual/intro.html Thu Jan 1 01:00:00 1970 @@ -1,487 +0,0 @@ -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-1.0.0/doc/gph/manual/keyserver.html gnupg-1.0.1/doc/gph/manual/keyserver.html --- gnupg-1.0.0/doc/gph/manual/keyserver.html Tue Sep 7 18:26:21 1999 +++ gnupg-1.0.1/doc/gph/manual/keyserver.html Thu Jan 1 01:00:00 1970 @@ -1,186 +0,0 @@ -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-1.0.0/doc/gph/manual/list-keys.html gnupg-1.0.1/doc/gph/manual/list-keys.html --- gnupg-1.0.0/doc/gph/manual/list-keys.html Tue Sep 7 18:26:14 1999 +++ gnupg-1.0.1/doc/gph/manual/list-keys.html Thu Jan 1 01:00:00 1970 @@ -1,177 +0,0 @@ -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-1.0.0/doc/gph/manual/local-user.html gnupg-1.0.1/doc/gph/manual/local-user.html --- gnupg-1.0.0/doc/gph/manual/local-user.html Tue Sep 7 18:26:25 1999 +++ gnupg-1.0.1/doc/gph/manual/local-user.html Thu Jan 1 01:00:00 1970 @@ -1,178 +0,0 @@ -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-1.0.0/doc/gph/manual/management.html gnupg-1.0.1/doc/gph/manual/management.html --- gnupg-1.0.0/doc/gph/manual/management.html Tue Sep 7 18:25:59 1999 +++ gnupg-1.0.1/doc/gph/manual/management.html Thu Jan 1 01:00:00 1970 @@ -1,763 +0,0 @@ -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-1.0.0/doc/gph/manual/marginals-needed.html gnupg-1.0.1/doc/gph/manual/marginals-needed.html --- gnupg-1.0.0/doc/gph/manual/marginals-needed.html Tue Sep 7 18:26:26 1999 +++ gnupg-1.0.1/doc/gph/manual/marginals-needed.html Thu Jan 1 01:00:00 1970 @@ -1,174 +0,0 @@ -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-1.0.0/doc/gph/manual/modules.html gnupg-1.0.1/doc/gph/manual/modules.html --- gnupg-1.0.0/doc/gph/manual/modules.html Tue Sep 7 18:26:04 1999 +++ gnupg-1.0.1/doc/gph/manual/modules.html Thu Jan 1 01:00:00 1970 @@ -1,174 +0,0 @@ -Programming with GnuPG
The GNU Privacy Handbook
PrevNext


PrevHomeNext
Using GnuPG legally Writing extension modules
\ No newline at end of file diff -urN gnupg-1.0.0/doc/gph/manual/no-greeting.html gnupg-1.0.1/doc/gph/manual/no-greeting.html --- gnupg-1.0.0/doc/gph/manual/no-greeting.html Tue Sep 7 18:26:24 1999 +++ gnupg-1.0.1/doc/gph/manual/no-greeting.html Thu Jan 1 01:00:00 1970 @@ -1,163 +0,0 @@ -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-1.0.0/doc/gph/manual/output.html gnupg-1.0.1/doc/gph/manual/output.html --- gnupg-1.0.0/doc/gph/manual/output.html Tue Sep 7 18:26:22 1999 +++ gnupg-1.0.1/doc/gph/manual/output.html Thu Jan 1 01:00:00 1970 @@ -1,171 +0,0 @@ -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-1.0.0/doc/gph/manual/r566.html gnupg-1.0.1/doc/gph/manual/r566.html --- gnupg-1.0.0/doc/gph/manual/r566.html Tue Sep 7 18:26:19 1999 +++ gnupg-1.0.1/doc/gph/manual/r566.html Thu Jan 1 01:00:00 1970 @@ -1,276 +0,0 @@ -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-1.0.0/doc/gph/manual/r882.html gnupg-1.0.1/doc/gph/manual/r882.html --- gnupg-1.0.0/doc/gph/manual/r882.html Tue Sep 7 18:26:26 1999 +++ gnupg-1.0.1/doc/gph/manual/r882.html Thu Jan 1 01:00:00 1970 @@ -1,206 +0,0 @@ -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-1.0.0/doc/gph/manual/recipient.html gnupg-1.0.1/doc/gph/manual/recipient.html --- gnupg-1.0.0/doc/gph/manual/recipient.html Tue Sep 7 18:26:22 1999 +++ gnupg-1.0.1/doc/gph/manual/recipient.html Thu Jan 1 01:00:00 1970 @@ -1,163 +0,0 @@ -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-1.0.0/doc/gph/manual/recv-keys.html gnupg-1.0.1/doc/gph/manual/recv-keys.html --- gnupg-1.0.0/doc/gph/manual/recv-keys.html Tue Sep 7 18:26:07 1999 +++ gnupg-1.0.1/doc/gph/manual/recv-keys.html Thu Jan 1 01:00:00 1970 @@ -1,189 +0,0 @@ -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-1.0.0/doc/gph/manual/send-keys.html gnupg-1.0.1/doc/gph/manual/send-keys.html --- gnupg-1.0.0/doc/gph/manual/send-keys.html Tue Sep 7 18:26:06 1999 +++ gnupg-1.0.1/doc/gph/manual/send-keys.html Thu Jan 1 01:00:00 1970 @@ -1,187 +0,0 @@ -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-1.0.0/doc/gph/manual/symmetric.html gnupg-1.0.1/doc/gph/manual/symmetric.html --- gnupg-1.0.0/doc/gph/manual/symmetric.html Tue Sep 7 18:26:13 1999 +++ gnupg-1.0.1/doc/gph/manual/symmetric.html Thu Jan 1 01:00:00 1970 @@ -1,181 +0,0 @@ -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-1.0.0/doc/gph/manual/verify.html gnupg-1.0.1/doc/gph/manual/verify.html --- gnupg-1.0.0/doc/gph/manual/verify.html Tue Sep 7 18:26:16 1999 +++ gnupg-1.0.1/doc/gph/manual/verify.html Thu Jan 1 01:00:00 1970 @@ -1,189 +0,0 @@ -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-1.0.0/doc/gph/manual/wise.html gnupg-1.0.1/doc/gph/manual/wise.html --- gnupg-1.0.0/doc/gph/manual/wise.html Tue Sep 7 18:26:02 1999 +++ gnupg-1.0.1/doc/gph/manual/wise.html Thu Jan 1 01:00:00 1970 @@ -1,452 +0,0 @@ -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-1.0.0/doc/gph/manual/x108.html gnupg-1.0.1/doc/gph/manual/x108.html --- gnupg-1.0.0/doc/gph/manual/x108.html Tue Sep 7 18:25:48 1999 +++ gnupg-1.0.1/doc/gph/manual/x108.html Thu Jan 1 01:00:00 1970 @@ -1,259 +0,0 @@ -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-1.0.0/doc/gph/manual/x131.html gnupg-1.0.1/doc/gph/manual/x131.html --- gnupg-1.0.0/doc/gph/manual/x131.html Tue Sep 7 18:25:49 1999 +++ gnupg-1.0.1/doc/gph/manual/x131.html Thu Jan 1 01:00:00 1970 @@ -1,368 +0,0 @@ -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-1.0.0/doc/gph/manual/x191.html gnupg-1.0.1/doc/gph/manual/x191.html --- gnupg-1.0.0/doc/gph/manual/x191.html Tue Sep 7 18:25:51 1999 +++ gnupg-1.0.1/doc/gph/manual/x191.html Thu Jan 1 01:00:00 1970 @@ -1,220 +0,0 @@ -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-1.0.0/doc/gph/manual/x205.html gnupg-1.0.1/doc/gph/manual/x205.html --- gnupg-1.0.0/doc/gph/manual/x205.html Tue Sep 7 18:25:52 1999 +++ gnupg-1.0.1/doc/gph/manual/x205.html Thu Jan 1 01:00:00 1970 @@ -1,163 +0,0 @@ -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-1.0.0/doc/gph/manual/x211.html gnupg-1.0.1/doc/gph/manual/x211.html --- gnupg-1.0.0/doc/gph/manual/x211.html Tue Sep 7 18:25:53 1999 +++ gnupg-1.0.1/doc/gph/manual/x211.html Thu Jan 1 01:00:00 1970 @@ -1,262 +0,0 @@ -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-1.0.0/doc/gph/manual/x330.html gnupg-1.0.1/doc/gph/manual/x330.html --- gnupg-1.0.0/doc/gph/manual/x330.html Tue Sep 7 18:25:58 1999 +++ gnupg-1.0.1/doc/gph/manual/x330.html Thu Jan 1 01:00:00 1970 @@ -1,650 +0,0 @@ -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-1.0.0/doc/gph/manual/x454.html gnupg-1.0.1/doc/gph/manual/x454.html --- gnupg-1.0.0/doc/gph/manual/x454.html Tue Sep 7 18:25:59 1999 +++ gnupg-1.0.1/doc/gph/manual/x454.html Thu Jan 1 01:00:00 1970 @@ -1,248 +0,0 @@ -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-1.0.0/doc/gph/manual/x535.html gnupg-1.0.1/doc/gph/manual/x535.html --- gnupg-1.0.0/doc/gph/manual/x535.html Tue Sep 7 18:26:01 1999 +++ gnupg-1.0.1/doc/gph/manual/x535.html Thu Jan 1 01:00:00 1970 @@ -1,232 +0,0 @@ -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-1.0.0/doc/gph/manual/x545.html gnupg-1.0.1/doc/gph/manual/x545.html --- gnupg-1.0.0/doc/gph/manual/x545.html Tue Sep 7 18:26:02 1999 +++ gnupg-1.0.1/doc/gph/manual/x545.html Thu Jan 1 01:00:00 1970 @@ -1,145 +0,0 @@ -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-1.0.0/doc/gph/manual/x56.html gnupg-1.0.1/doc/gph/manual/x56.html --- gnupg-1.0.0/doc/gph/manual/x56.html Tue Sep 7 18:25:47 1999 +++ gnupg-1.0.1/doc/gph/manual/x56.html Thu Jan 1 01:00:00 1970 @@ -1,464 +0,0 @@ -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-1.0.0/doc/gph/manual/x563.html gnupg-1.0.1/doc/gph/manual/x563.html --- gnupg-1.0.0/doc/gph/manual/x563.html Tue Sep 7 18:26:04 1999 +++ gnupg-1.0.1/doc/gph/manual/x563.html Thu Jan 1 01:00:00 1970 @@ -1,131 +0,0 @@ -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-1.0.0/doc/gph/manual.sgml gnupg-1.0.1/doc/gph/manual.sgml --- gnupg-1.0.0/doc/gph/manual.sgml Mon Sep 6 19:38:01 1999 +++ gnupg-1.0.1/doc/gph/manual.sgml Thu Jan 1 01:00:00 1970 @@ -1,71 +0,0 @@ - - - - -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-1.0.0/doc/gph/signatures.fig gnupg-1.0.1/doc/gph/signatures.fig --- gnupg-1.0.0/doc/gph/signatures.fig Thu Aug 26 03:25:10 1999 +++ gnupg-1.0.1/doc/gph/signatures.fig Thu Jan 1 01:00:00 1970 @@ -1,44 +0,0 @@ -#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-1.0.0/doc/gph/signatures.jpg.asc gnupg-1.0.1/doc/gph/signatures.jpg.asc --- gnupg-1.0.0/doc/gph/signatures.jpg.asc Tue Sep 7 18:04:41 1999 +++ gnupg-1.0.1/doc/gph/signatures.jpg.asc Thu Jan 1 01:00:00 1970 @@ -1,232 +0,0 @@ ------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-1.0.0/g10/ChangeLog gnupg-1.0.1/g10/ChangeLog --- gnupg-1.0.0/g10/ChangeLog Tue Sep 7 06:22:09 1999 +++ gnupg-1.0.1/g10/ChangeLog Thu Dec 16 10:08:00 1999 @@ -1,3 +1,218 @@ +Thu Dec 16 10:07:58 CET 1999 Werner Koch + + * mainproc.c (print_failed_pkenc): Fix for unknown algorithm. + Found by fygrave@epr0.org. + +Thu Dec 9 10:31:05 CET 1999 Werner Koch + + * hkp.c: i18n the strings. + +Sat Dec 4 15:32:20 CET 1999 Werner Koch + + * trustdb.c (verify_key): Shortcut for ultimately trusted keys. + +Sat Dec 4 12:30:28 CET 1999 Werner Koch + + * pkclist.c (build_pk_list): Validate the trust using the namehash + if this one has been set by the key lookup. + + * g10.c: Add --delete-secret-key to the help page. + + * openfile.c (copy_options_file): Made static. + (try_make_homedir): New. + * ringedit.c (add_keyblock_resource): Use the try_make_hoemdir logic. + * tdbio.c (tdbio_set_dbname): Likewise. + + * keygen.c (generate_user_id): Use m_alloc_clear() here. We should + better use an allocation function specific to the user_id packet. + + * keygen.c (keygen_add_std_prefs): Changed symmetric preferences + to include Blowfish again. This is due to it's better speed compared + to CAST5. + + * g10.c (strusage): Print the home directory. + + * armor.c (armor_filter): Take action on the cancel control msg. + * filter.h (armor_filter_context_t): Add cancel flag. + +Mon Nov 29 21:52:11 CET 1999 Werner Koch + + * g10.c: New option --fast-list-mode .. + * keylist.c (list_keyblock): .. and implemented. + * mainproc.c (list_node): Ditto. + + * import.c (mark_non_selfsigned_uids_valid): Fixed the case that there + is a uid without any packet following. + +Mon Nov 22 11:14:53 CET 1999 Werner Koch + + * mainproc.c (proc_plaintext): Never enable the hash processing + when skip_verify is active. + + * armor.c (parse_header_line): Stop parsing on a WS line too. + Suggested by Aric Cyr. + + * tdbdump.c (HEXTOBIN): Changed the name of the argument, so that + traditional cpp don't mess up the macros. Suggested by Jos Backus. + + * mainproc.c (list_node): Print the PK algo in the --with-colon mode. + * keylist.c (list_keyblock): Ditto. + + * signal.c (got_fatal_signal): Found the reason why exit(8) did not + work - it is better to set the disposition back to default before + raising the signal. Print the notice on stderr always. + +Fri Nov 12 20:33:19 CET 1999 Werner Koch + + * g10.c (make_username): Swapped the logic. + * keylist.c (public_key_list): Now takes a STRLIST as arg and moved + the creation ot this list to the caller, so that he can copy with + UTF-conversion of user IDs. Changed all callers. + (secret_key_list): Likewise. + + * getkey.c (get_user_id_string_native): New and ... + * encode.c (write_pubkey_enc_from_list): ... use it here. + + * pubring.asc: Updated. + + * packet.h (PKT_PHOTO_ID): New. + * parse-packet.c (parse_photo_id): New. + * build-packet.c (do_user_id: Handle photo IDs. + (build_packet): Change CTB for photo IDs + * free-packet.c (free_user_id): Release memory used for photo IDs + * sig-check.c (hash_uid_node): Handle photo IDs too. + * trustdb.c (print_uid_from_keyblock): Hash photo ID. + (make_uid_records): Ditto. + * getkey.c (find_by_name): Ditto. + * keyedit.c (show_prefs): Ditto. + * keylist.c (list_keyblock): Ditto. + +Thu Oct 28 16:08:20 CEST 1999 Werner Koch + + * keygen.c (ask_expire_interval): Print a warning for systems + with a signed 32 time_t if the exiration time is beyoind 2038. + +Fri Oct 8 20:40:50 CEST 1999 Werner Koch + + * ringedit.c (enum_keyblocks): The last fix way really stupid; + reverted and set rt to Unknown. + +Fri Oct 8 20:32:01 CEST 1999 Werner Koch + + * ringedit.c (enum_keyblocks): Zero the entire kbpos out on open. + + * g10.c (oEntropyDLL): Removed option. + (main): Made the warning on development versions more verbose. + + * g10.c (oHonorHttpProxy): New option. + * hkp.c (hkp_ask_import,hkp_export): Implement this option. + * options.skel: Enable this option for new installations + +Mon Oct 4 21:23:04 CEST 1999 Werner Koch + + * import.c (import_keys): Changed calling interface, adjusted caller. + (import): Moved printing of stats out ... + (print_stats): New. ... to here. + (import_keys_stream): Call stats print here. + (import_keys): Print stats as totals for all files. + + * tdbio.h (DIRF_NEWKEYS): New + * tdbio.c (tdbio_dump_record): Print the new flag. + * trustdb.c (check_trust_record): New arg sigs_only. Adapted all + callers. + (do_update_trust_record): Removed recheck arg and add a new sigs_only + do we can later improve on the performance. Changed all callers too. + (check_trustdb): Evalutate the new flag and add a status output. + Do a check when the dir record has not been checked. + (build_cert_tree): Evaluate the new flag. + (check_trust): Ditto. Do a trust_record check, when the dir record + is not marked as checked. + (mark_fresh_keys): New. + (clear_lid_table): New. + (sync_trustdb): New. + * import.c (import_keys): Call sync_trustdb() after processing. + (import_keys_stream): Ditto. + * tdbdump.c (import_ownertrust): Ditto. + + * import.c (import_revoke_cert): Notify the trust DB. + (do_update_trust_record): Use |= to set the REVOKED bit and not &=; + shame on me for this bad copy+paste introduced bug. + (do_we_trust): Add trustmask to allow revoked key override to work. + Chnaged are to allow return of a mofified trustlevel. Adapted the + one caller. + + * g10.c: New options --emulate-3des-s2k-bug + * passphrase.c (hash_passphrase): Implemented above. + + * mainproc.c (proc_tree): Check for standalone signatures. + (do_check_sig): Print a notice for a standalone revocation + (check_sig_and_print): Do not print an error for unchecked standalone + revocations. + +Tue Sep 28 20:54:37 CEST 1999 Werner Koch + + * encode.c (encode_simple): Use new CTB when we don't have the + length of the file. This is somewhat strange as the comment above + indicates that this part is actually fixed for PGP 5 - maybe I simply + lost the source line, tsss. + + * armor.c (armor_filter): Set a flag if no OpenPGP data has been found. + * verify.c (verify_signatures): Add an error helptext. + +Thu Sep 23 19:24:30 CEST 1999 Werner Koch + + * openfile.c (open_outfile): Fixed the 8dot3 handling. + + * passphrase.c (passphrase_to_dek): Print uid using utf8 func. + * delkey.c (delete_key): Ditto. + * pkclist.c (show_paths,do_edit_ownertrust,do_we_trust): Ditto + (do_we_trust_pre): Ditto. + * trustdb.c (print_user_id,check_uidsigs): Ditto. + * revoke.c (gen_revoke,ask_revoke_sig): Ditto. + +Thu Sep 23 09:52:58 CEST 1999 Werner Koch + + * verify.c (print_file_status): New. + (verify_one_file): Moved status print to th new fnc. Add error status. + * status.c, status.h (STATUS_FILE_ERROR): New + +Wed Sep 22 10:14:17 CEST 1999 Werner Koch + + * openfile.c (make_outfile_name): Use case-insenstive compare for + DOS systems. Add ".pgp" to the list of know extensions. + (open_outfile): For DOS systems try to replace the suffiy instead of + appending it. + + * status.c, status.h: Add STATUS_FILE_{START,DONE}. + * verify.c (verify_one_file): Emit these new stati. + + * sign.c (clearsign_file): Avoid duplicated Entries in the "Hash:" + line. Those headers are now only _not_ printed when there are + only old-style keys _and_ all hashs are MD5. + +Mon Sep 20 12:24:41 CEST 1999 Werner Koch + + + * verify.c (verify_files, ferify_one_file): New. + * g10.c: New command --verify-files + +Fri Sep 17 12:56:42 CEST 1999 Werner Koch + + * g10.c: Add UK spelling as alias for armor options ;-) + + * import.c (append_uid): Fixed a SEGV when there is no selfsig and + no subkey. + (merge_sigs): Ditto. Removed the assertion. + +Wed Sep 15 16:22:17 CEST 1999 Werner Koch + + * g10.c: New option --entropy-dll-name + +Mon Sep 13 10:51:29 CEST 1999 Werner Koch + + * signal.c (got_fatal_signal): Print message using write(2) and + only for development versions. + Mon Sep 6 19:59:08 CEST 1999 Werner Koch * tdbio.c (tdbio_set_dbname): Use mkdir macro diff -urN gnupg-1.0.0/g10/Makefile.am gnupg-1.0.1/g10/Makefile.am --- gnupg-1.0.0/g10/Makefile.am Fri Sep 3 13:34:50 1999 +++ gnupg-1.0.1/g10/Makefile.am Sat Oct 9 19:23:41 1999 @@ -4,7 +4,7 @@ EXTRA_DIST = OPTIONS pubring.asc options.skel OMIT_DEPENDENCIES = zlib.h zconf.h LDFLAGS = @LDFLAGS@ @DYNLINK_LDFLAGS@ -needed_libs = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la +needed_libs = ../cipher/libcipher.a ../mpi/libmpi.a ../util/libutil.a #noinst_PROGRAMS = gpgd bin_PROGRAMS = gpg diff -urN gnupg-1.0.0/g10/Makefile.in gnupg-1.0.1/g10/Makefile.in --- gnupg-1.0.0/g10/Makefile.in Tue Sep 7 18:48:27 1999 +++ gnupg-1.0.1/g10/Makefile.in Thu Dec 16 10:17:22 1999 @@ -85,9 +85,6 @@ 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@ @@ -95,7 +92,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -112,7 +108,7 @@ EXTRA_DIST = OPTIONS pubring.asc options.skel OMIT_DEPENDENCIES = zlib.h zconf.h LDFLAGS = @LDFLAGS@ @DYNLINK_LDFLAGS@ -needed_libs = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la +needed_libs = ../cipher/libcipher.a ../mpi/libmpi.a ../util/libutil.a #noinst_PROGRAMS = gpgd bin_PROGRAMS = gpg @@ -148,14 +144,13 @@ plaintext.o encr-data.o encode.o revoke.o keylist.o sig-check.o \ signal.o helptext.o verify.o decrypt.o keyedit.o dearmor.o keygen.o gpg_LDADD = $(LDADD) -gpg_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ -../util/libutil.la +gpg_DEPENDENCIES = ../cipher/libcipher.a ../mpi/libmpi.a \ +../util/libutil.a gpg_LDFLAGS = CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -168,7 +163,7 @@ all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .s +.SUFFIXES: .S .c .o .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps g10/Makefile @@ -191,8 +186,8 @@ $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done @@ -221,25 +216,6 @@ maintainer-clean-compile: -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - gpg: $(gpg_OBJECTS) $(gpg_DEPENDENCIES) @rm -f gpg $(LINK) $(gpg_LDFLAGS) $(gpg_OBJECTS) $(gpg_LDADD) $(LIBS) @@ -524,7 +500,7 @@ packet.h ../include/iobuf.h ../include/mpi.h \ ../include/memory.h ../include/cipher.h \ ../include/../cipher/random.h filter.h ../include/errors.h \ - keydb.h ../include/util.h main.h ../include/ttyio.h \ + keydb.h ../include/util.h main.h status.h ../include/ttyio.h \ ../include/i18n.h info-am: @@ -564,26 +540,23 @@ maintainer-clean-generic: mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic + mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean-am +clean-am: clean-binPROGRAMS clean-compile clean-tags clean-generic \ + mostlyclean-am clean: clean-am -distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ - distclean-tags distclean-generic clean-am - -rm -f libtool +distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ + distclean-generic clean-am distclean: distclean-am maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am + maintainer-clean-compile 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." @@ -592,12 +565,11 @@ .PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags 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-local install-data-am install-data install-am \ -install uninstall-am uninstall all-redirect all-am all installdirs \ +maintainer-clean-compile tags 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-local install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean diff -urN gnupg-1.0.0/g10/armor.c gnupg-1.0.1/g10/armor.c --- gnupg-1.0.0/g10/armor.c Mon Jul 12 11:17:54 1999 +++ gnupg-1.0.1/g10/armor.c Sat Dec 4 12:03:38 1999 @@ -311,9 +311,15 @@ byte *p; int hashes=0; + /* fixme: why this double check? I think the original code w/o the + * second check for an empty line was done from an early draft of + * of OpenPGP - or simply very stupid code */ if( *line == '\n' || ( len && (*line == '\r' && line[1]=='\n') ) ) return 0; /* empty line */ len = trim_trailing_ws( line, len ); + if( !len ) + return 0; /* WS only same as empty line */ + p = strchr( line, ':'); if( !p || !p[1] ) { log_error(_("invalid armor header: ")); @@ -868,7 +874,7 @@ #endif *ret_len = n; } - else if( control == IOBUFCTRL_FLUSH ) { + else if( control == IOBUFCTRL_FLUSH && !afx->cancel ) { if( !afx->status ) { /* write the header line */ if( afx->what >= DIM(head_strings) ) log_bug("afx->what=%d", afx->what); @@ -945,8 +951,13 @@ if( !is_initialized ) initialize(); } + else if( control == IOBUFCTRL_CANCEL ) { + afx->cancel = 1; + } else if( control == IOBUFCTRL_FREE ) { - if( afx->status ) { /* pad, write cecksum, and bottom line */ + if( afx->cancel ) + ; + else if( afx->status ) { /* pad, write cecksum, and bottom line */ crc = afx->crc; idx = afx->idx; idx2 = afx->idx2; @@ -999,6 +1010,7 @@ } else if( !afx->any_data && !afx->inp_bypass ) { log_error(_("no valid OpenPGP data found.\n")); + afx->no_openpgp_data = 1; write_status_text( STATUS_NODATA, "1" ); } if( afx->truncated ) diff -urN gnupg-1.0.0/g10/build-packet.c gnupg-1.0.1/g10/build-packet.c --- gnupg-1.0.0/g10/build-packet.c Thu Jul 8 14:35:16 1999 +++ gnupg-1.0.1/g10/build-packet.c Fri Nov 12 19:05:59 1999 @@ -67,25 +67,31 @@ build_packet( IOBUF out, PACKET *pkt ) { int new_ctb=0, rc=0, ctb; + int pkttype; if( DBG_PACKET ) log_debug("build_packet() type=%d\n", pkt->pkttype ); assert( pkt->pkt.generic ); - switch( pkt->pkttype ) { + switch( (pkttype = pkt->pkttype) ) { case PKT_OLD_COMMENT: pkt->pkttype = PKT_COMMENT; break; case PKT_PLAINTEXT: new_ctb = pkt->pkt.plaintext->new_ctb; break; case PKT_ENCRYPTED: case PKT_ENCRYPTED_MDC: new_ctb = pkt->pkt.encrypted->new_ctb; break; case PKT_COMPRESSED:new_ctb = pkt->pkt.compressed->new_ctb; break; + case PKT_USER_ID: + if( pkt->pkt.user_id->photo ) + pkttype = PKT_PHOTO_ID; + break; default: break; } - if( new_ctb || pkt->pkttype > 15 ) /* new format */ - ctb = 0xc0 | (pkt->pkttype & 0x3f); + if( new_ctb || pkttype > 15 ) /* new format */ + ctb = 0xc0 | (pkttype & 0x3f); else - ctb = 0x80 | ((pkt->pkttype & 15)<<2); - switch( pkt->pkttype ) { + ctb = 0x80 | ((pkttype & 15)<<2); + switch( pkttype ) { + case PKT_PHOTO_ID: case PKT_USER_ID: rc = do_user_id( out, ctb, pkt->pkt.user_id ); break; @@ -149,6 +155,7 @@ n = calc_plaintext( pkt->pkt.plaintext ); new_ctb = pkt->pkt.plaintext->new_ctb; break; + case PKT_PHOTO_ID: case PKT_USER_ID: case PKT_COMMENT: case PKT_PUBLIC_KEY: @@ -196,9 +203,16 @@ static int do_user_id( IOBUF out, int ctb, PKT_user_id *uid ) { - write_header(out, ctb, uid->len); - if( iobuf_write( out, uid->name, uid->len ) ) - return G10ERR_WRITE_FILE; + if( uid->photo ) { + write_header(out, ctb, uid->photolen); + if( iobuf_write( out, uid->photo, uid->photolen ) ) + return G10ERR_WRITE_FILE; + } + else { + write_header(out, ctb, uid->len); + if( iobuf_write( out, uid->name, uid->len ) ) + return G10ERR_WRITE_FILE; + } return 0; } diff -urN gnupg-1.0.0/g10/delkey.c gnupg-1.0.1/g10/delkey.c --- gnupg-1.0.0/g10/delkey.c Sat Mar 20 12:40:43 1999 +++ gnupg-1.0.1/g10/delkey.c Thu Sep 23 19:19:10 1999 @@ -124,7 +124,7 @@ pubkey_letter( pk->pubkey_algo ), keyid[1], datestr_from_pk(pk) ); p = get_user_id( keyid, &n ); - tty_print_string( p, n ); + tty_print_utf8_string( p, n ); m_free(p); tty_printf("\n\n"); diff -urN gnupg-1.0.0/g10/encode.c gnupg-1.0.1/g10/encode.c --- gnupg-1.0.0/g10/encode.c Wed Aug 4 09:34:04 1999 +++ gnupg-1.0.1/g10/encode.c Fri Nov 12 13:45:54 1999 @@ -177,6 +177,7 @@ pt->timestamp = make_timestamp(); pt->mode = opt.textmode? 't' : 'b'; pt->len = filesize; + pt->new_ctb = !pt->len && !opt.rfc1991; pt->buf = inp; pkt.pkttype = PKT_PLAINTEXT; pkt.pkt.plaintext = pt; @@ -478,7 +479,7 @@ log_error("pubkey_encrypt failed: %s\n", g10_errstr(rc) ); else { if( opt.verbose ) { - char *ustr = get_user_id_string( enc->keyid ); + char *ustr = get_user_id_string_native( enc->keyid ); log_info(_("%s/%s encrypted for: %s\n"), pubkey_algo_to_string(enc->pubkey_algo), cipher_algo_to_string(dek->algo), ustr ); diff -urN gnupg-1.0.0/g10/filter.h gnupg-1.0.1/g10/filter.h --- gnupg-1.0.0/g10/filter.h Thu May 20 13:51:17 1999 +++ gnupg-1.0.1/g10/filter.h Sat Dec 4 12:02:51 1999 @@ -35,6 +35,9 @@ int only_keyblocks; /* skip all headers but ".... key block" */ const char *hdrlines; /* write these headerlines */ + /* these fileds must be initialized to zero */ + int no_openpgp_data; /* output flag: "No valid OpenPGP data found" */ + /* the following fields must be initialized to zero */ int inp_checked; /* set if the input has been checked */ int inp_bypass; /* set if the input is not armored */ @@ -56,6 +59,7 @@ u32 crc; int status; /* an internal state flag */ + int cancel; int any_data; /* any valid armored data seen */ int pending_lf; /* used together with faked */ } armor_filter_context_t; diff -urN gnupg-1.0.0/g10/free-packet.c gnupg-1.0.1/g10/free-packet.c --- gnupg-1.0.0/g10/free-packet.c Thu Jun 10 13:03:23 1999 +++ gnupg-1.0.1/g10/free-packet.c Fri Nov 12 19:06:13 1999 @@ -220,6 +220,8 @@ void free_user_id( PKT_user_id *uid ) { + if( uid->photo ) + m_free( uid->photo ); m_free(uid); } diff -urN gnupg-1.0.0/g10/g10.c gnupg-1.0.1/g10/g10.c --- gnupg-1.0.0/g10/g10.c Mon Jul 26 09:11:17 1999 +++ gnupg-1.0.1/g10/g10.c Fri Dec 3 16:34:17 1999 @@ -79,6 +79,7 @@ aImport, aFastImport, aVerify, + aVerifyFiles, aListKeys, aListSigs, aListSecretKeys, @@ -177,6 +178,9 @@ oAllowNonSelfsignedUID, oNoLiteral, oSetFilesize, + oHonorHttpProxy, + oFastListMode, + oEmu3DESS2KBug, /* will be removed in 1.1 */ aTest }; @@ -192,6 +196,7 @@ { aStore, "store", 256, N_("store only")}, { aDecrypt, "decrypt", 256, N_("decrypt data (default)")}, { aVerify, "verify" , 256, N_("verify a signature")}, + { aVerifyFiles, "verify-files" , 256, "@" }, { aListKeys, "list-keys", 256, N_("list keys")}, { aListKeys, "list-public-keys", 256, "@" }, { aListSigs, "list-sigs", 256, N_("list keys and signatures")}, @@ -200,6 +205,8 @@ { aListSecretKeys, "list-secret-keys", 256, N_("list secret keys")}, { aKeygen, "gen-key", 256, N_("generate a new key pair")}, { aDeleteKey, "delete-key",256, N_("remove key from the public keyring")}, + { aDeleteSecretKey, "delete-secret-key",256, + N_("remove key from the secret keyring")}, { aSignKey, "sign-key" ,256, N_("sign a key")}, { aLSignKey, "lsign-key" ,256, N_("sign a key locally")}, { aEditKey, "edit-key" ,256, N_("sign or edit a key")}, @@ -222,7 +229,9 @@ "check-trustdb",0 , N_("|[NAMES]|check the trust database")}, { aFixTrustDB, "fix-trustdb",0 , N_("fix a corrupted trust database")}, { aDeArmor, "dearmor", 256, N_("De-Armor a file or stdin") }, + { aDeArmor, "dearmour", 256, "@" }, { aEnArmor, "enarmor", 256, N_("En-Armor a file or stdin") }, + { aEnArmor, "enarmour", 256, "@" }, { aPrintMD, "print-md" , 256, N_("|algo [files]|print message digests")}, { aPrimegen, "gen-prime" , 256, "@" }, { aGenRandom, "gen-random" , 256, "@" }, @@ -230,6 +239,7 @@ { 301, NULL, 0, N_("@\nOptions:\n ") }, { oArmor, "armor", 0, N_("create ascii armored output")}, + { oArmor, "armour", 0, "@" }, { oRecipient, "recipient", 2, N_("|NAME|encrypt for NAME")}, { oRecipient, "remote-user", 2, "@"}, /* old option name */ { oDefRecipient, "default-recipient" ,2, @@ -296,12 +306,12 @@ { aListTrustPath, "list-trust-path",0, "@"}, { oKOption, NULL, 0, "@"}, { oPasswdFD, "passphrase-fd",1, "@" }, - { aDeleteSecretKey, "delete-secret-key",0, "@" }, { oQuickRandom, "quick-random", 0, "@"}, { oNoVerbose, "no-verbose", 0, "@"}, { oTrustDBName, "trustdb-name", 2, "@" }, { oNoSecmemWarn, "no-secmem-warning", 0, "@" }, /* used only by regression tests */ { oNoArmor, "no-armor", 0, "@"}, + { oNoArmor, "no-armour", 0, "@"}, { oNoDefKeyring, "no-default-keyring", 0, "@" }, { oNoGreeting, "no-greeting", 0, "@" }, { oNoOptions, "no-options", 0, "@" }, /* shortcut for --options /dev/null */ @@ -338,6 +348,9 @@ { oAllowNonSelfsignedUID, "allow-non-selfsigned-uid", 0, "@" }, { oNoLiteral, "no-literal", 0, "@" }, { oSetFilesize, "set-filesize", 20, "@" }, + { oHonorHttpProxy,"honor-http-proxy", 0, "@" }, + { oFastListMode,"fast-list-mode", 0, "@" }, + { oEmu3DESS2KBug, "emulate-3des-s2k-bug", 0, "@"}, {0} }; @@ -379,26 +392,29 @@ "default operation depends on the input data\n"); break; - case 31: p = _("\nSupported algorithms:\n"); break; - case 32: + case 31: p = "\nHome: "; break; + case 32: p = opt.homedir; break; + case 33: p = _("\nSupported algorithms:\n"); break; + case 34: if( !ciphers ) ciphers = build_list("Cipher: ", cipher_algo_to_string, check_cipher_algo ); p = ciphers; break; - case 33: + case 35: if( !pubkeys ) pubkeys = build_list("Pubkey: ", pubkey_algo_to_string, check_pubkey_algo ); p = pubkeys; break; - case 34: + case 36: if( !digests ) digests = build_list("Hash: ", digest_algo_to_string, check_digest_algo ); p = digests; break; + default: p = default_strusage(level); } return p; @@ -438,6 +454,9 @@ static void i18n_init(void) { + #ifdef USE_SIMPLE_GETTEXT + set_gettext_file( PACKAGE ); + #else #ifdef ENABLE_NLS #ifdef HAVE_LC_MESSAGES setlocale( LC_TIME, "" ); @@ -448,6 +467,7 @@ bindtextdomain( PACKAGE, G10_LOCALEDIR ); textdomain( PACKAGE ); #endif + #endif } static void @@ -465,9 +485,9 @@ { char *p; if( utf8_strings ) - p = native_to_utf8( string ); - else p = m_strdup(string); + else + p = native_to_utf8( string ); return p; } @@ -572,7 +592,11 @@ opt.completes_needed = 1; opt.marginals_needed = 3; opt.max_cert_depth = 5; + #ifdef __MINGW32__ + opt.homedir = read_w32_registry_string( NULL, "Software\\GNU\\GnuPG", "HomeDir" ); + #else opt.homedir = getenv("GNUPGHOME"); + #endif if( !opt.homedir || !*opt.homedir ) { #ifdef HAVE_DRIVE_LETTERS opt.homedir = "c:/gnupg"; @@ -687,6 +711,7 @@ case aClearsign: set_cmd( &cmd, aClearsign); break; case aGenRevoke: set_cmd( &cmd, aGenRevoke); break; case aVerify: set_cmd( &cmd, aVerify); break; + case aVerifyFiles: set_cmd( &cmd, aVerifyFiles); break; case aPrimegen: set_cmd( &cmd, aPrimegen); break; case aGenRandom: set_cmd( &cmd, aGenRandom); break; case aPrintMD: set_cmd( &cmd, aPrintMD); break; @@ -792,6 +817,7 @@ opt.s2k_cipher_algo = CIPHER_ALGO_BLOWFISH; break; case oEmuChecksumBug: opt.emulate_bugs |= EMUBUG_GPGCHKSUM; break; + case oEmu3DESS2KBug: opt.emulate_bugs |= EMUBUG_3DESS2K; break; case oCompressSigs: opt.compress_sigs = 1; break; case oRunAsShmCP: #ifndef USE_SHM_COPROCESSING @@ -849,15 +875,11 @@ case oDisablePubkeyAlgo: disable_pubkey_algo( string_to_pubkey_algo(pargs.r.ret_str) ); break; - case oAllowNonSelfsignedUID: - opt.allow_non_selfsigned_uid = 1; - break; - case oNoLiteral: - opt.no_literal = 1; - break; - case oSetFilesize: - opt.set_filesize = pargs.r.ret_ulong; - break; + case oAllowNonSelfsignedUID: opt.allow_non_selfsigned_uid = 1; break; + case oNoLiteral: opt.no_literal = 1; break; + case oSetFilesize: opt.set_filesize = pargs.r.ret_ulong; break; + case oHonorHttpProxy: opt.honor_http_proxy = 1; break; + case oFastListMode: opt.fast_list_mode = 1; break; default : pargs.err = configfp? 1:2; break; } @@ -880,8 +902,11 @@ fprintf(stderr, "%s\n", strusage(15) ); } #ifdef IS_DEVELOPMENT_VERSION - if( !opt.batch ) - log_info("NOTE: this is a development version!\n"); + if( !opt.batch ) { + log_info("NOTE: THIS IS A DEVELOPMENT VERSION!\n"); + log_info("It is only intended for test purposes and should NOT be\n"); + log_info("used in a production environment or with production keys!\n"); + } #endif if( opt.force_mdc ) { log_info("--force-mdc ignored because" @@ -1099,6 +1124,11 @@ log_error("verify signatures failed: %s\n", g10_errstr(rc) ); break; + case aVerifyFiles: + if( (rc = verify_files( argc, argv ) )) + log_error("verify files failed: %s\n", g10_errstr(rc) ); + break; + case aDecrypt: if( argc > 1 ) wrong_args(_("--decrypt [filename]")); @@ -1157,15 +1187,28 @@ case aListSigs: opt.list_sigs = 1; case aListKeys: - public_key_list( argc, argv ); + sl = NULL; + for( ; argc; argc--, argv++ ) + add_to_strlist2( &sl, *argv, utf8_strings ); + public_key_list( sl ); + free_strlist(sl); break; case aListSecretKeys: - secret_key_list( argc, argv ); + sl = NULL; + for( ; argc; argc--, argv++ ) + add_to_strlist2( &sl, *argv, utf8_strings ); + secret_key_list( sl ); + free_strlist(sl); break; case aKMode: /* list keyring -- NOTE: This will be removed soon */ - if( argc < 2 ) /* -kv [userid] */ - public_key_list( (argc && **argv)? 1:0, argv ); + if( argc < 2 ) { /* -kv [userid] */ + sl = NULL; + if (argc && **argv) + add_to_strlist2( &sl, *argv, utf8_strings ); + public_key_list( sl ); + free_strlist(sl); + } else if( argc == 2 ) { /* -kv userid keyring */ if( access( argv[1], R_OK ) ) { log_error(_("can't open %s: %s\n"), @@ -1175,7 +1218,11 @@ /* add keyring (default keyrings are not registered in this * special case */ add_keyblock_resource( argv[1], 0, 0 ); - public_key_list( **argv?1:0, argv ); + sl = NULL; + if (**argv) + add_to_strlist2( &sl, *argv, utf8_strings ); + public_key_list( sl ); + free_strlist(sl); } } else @@ -1190,17 +1237,7 @@ case aFastImport: case aImport: - if( !argc ) { - rc = import_keys( NULL, (cmd == aFastImport) ); - if( rc ) - log_error("import failed: %s\n", g10_errstr(rc) ); - } - for( ; argc; argc--, argv++ ) { - rc = import_keys( *argv, (cmd == aFastImport) ); - if( rc ) - log_error("import from `%s' failed: %s\n", - *argv, g10_errstr(rc) ); - } + import_keys( argc? argv:NULL, argc, (cmd == aFastImport) ); break; case aExport: diff -urN gnupg-1.0.0/g10/getkey.c gnupg-1.0.1/g10/getkey.c --- gnupg-1.0.0/g10/getkey.c Wed Sep 1 15:21:47 1999 +++ gnupg-1.0.1/g10/getkey.c Mon Nov 29 21:15:37 1999 @@ -1279,9 +1279,14 @@ u32 aki[2]; keyid_from_pk( kk->pkt->pkt.public_key, aki ); cache_user_id( k->pkt->pkt.user_id, aki ); - rmd160_hash_buffer( namehash, - k->pkt->pkt.user_id->name, - k->pkt->pkt.user_id->len ); + if( k->pkt->pkt.user_id->photo ) + rmd160_hash_buffer( namehash, + k->pkt->pkt.user_id->photo, + k->pkt->pkt.user_id->photolen ); + else + rmd160_hash_buffer( namehash, + k->pkt->pkt.user_id->name, + k->pkt->pkt.user_id->len ); *use_namehash = 1; return kk; } @@ -1886,6 +1891,18 @@ sprintf(p, "%08lX [?]", (ulong)keyid[1] ); return p; } + + +char* +get_user_id_string_native( u32 *keyid ) +{ + char *p = get_user_id_string( keyid ); + char *p2 = utf8_to_native( p, strlen(p) ); + + m_free(p); + return p2; +} + char* get_long_user_id_string( u32 *keyid ) diff -urN gnupg-1.0.0/g10/helptext.c gnupg-1.0.1/g10/helptext.c --- gnupg-1.0.0/g10/helptext.c Fri Sep 3 21:08:59 1999 +++ gnupg-1.0.1/g10/helptext.c Wed Sep 15 16:26:20 1999 @@ -210,7 +210,7 @@ )}, { "detached_signature.filename", N_( - "Give the name fo the file to which the signature applies" + "Give the name of the file to which the signature applies" )}, /* openfile.c (overwrite_filep) */ diff -urN gnupg-1.0.0/g10/hkp.c gnupg-1.0.1/g10/hkp.c --- gnupg-1.0.0/g10/hkp.c Sun May 23 13:19:50 1999 +++ gnupg-1.0.1/g10/hkp.c Thu Dec 9 09:27:23 1999 @@ -55,19 +55,20 @@ struct http_context hd; char *request; int rc; + unsigned int hflags = opt.honor_http_proxy? HTTP_FLAG_TRY_PROXY : 0; if( !opt.keyserver_name ) return -1; - log_info("requesting key %08lX from %s ...\n", (ulong)keyid[1], + log_info(_("requesting key %08lX from %s ...\n"), (ulong)keyid[1], opt.keyserver_name ); request = m_alloc( strlen( opt.keyserver_name ) + 100 ); /* hkp does not accept the long keyid - we should really write a * nicer one */ sprintf( request, "x-hkp://%s:11371/pks/lookup?op=get&search=0x%08lX", opt.keyserver_name, (ulong)keyid[1] ); - rc = http_open_document( &hd, request, 0 ); + rc = http_open_document( &hd, request, hflags ); if( rc ) { - log_info("can't get key from keyserver: %s\n", + log_info(_("can't get key from keyserver: %s\n"), rc == G10ERR_NETWORK? strerror(errno) : g10_errstr(rc) ); } @@ -90,7 +91,7 @@ return -1; #else if( !opt.keyserver_name ) { - log_error("no keyserver known (use option --keyserver)\n"); + log_error(_("no keyserver known (use option --keyserver)\n")); return -1; } @@ -98,7 +99,7 @@ u32 kid[2]; int type = classify_user_id( users->d, kid, NULL, NULL, NULL ); if( type != 10 && type != 11 ) { - log_info("%s: not a valid key ID\n", users->d ); + log_info(_("%s: not a valid key ID\n"), users->d ); continue; } hkp_ask_import( kid ); @@ -120,9 +121,10 @@ struct http_context hd; char *request; unsigned int status; + unsigned int hflags = opt.honor_http_proxy? HTTP_FLAG_TRY_PROXY : 0; if( !opt.keyserver_name ) { - log_error("no keyserver known (use option --keyserver)\n"); + log_error(_("no keyserver known (use option --keyserver)\n")); return -1; } @@ -142,9 +144,9 @@ request = m_alloc( strlen( opt.keyserver_name ) + 100 ); sprintf( request, "x-hkp://%s:11371/pks/add", opt.keyserver_name ); - rc = http_open( &hd, HTTP_REQ_POST, request , 0 ); + rc = http_open( &hd, HTTP_REQ_POST, request , hflags ); if( rc ) { - log_error("can't connect to `%s': %s\n", + log_error(_("can't connect to `%s': %s\n"), opt.keyserver_name, rc == G10ERR_NETWORK? strerror(errno) : g10_errstr(rc) ); @@ -168,7 +170,7 @@ rc = http_wait_response( &hd, &status ); if( rc ) { - log_error("error sending to `%s': %s\n", + log_error(_("error sending to `%s': %s\n"), opt.keyserver_name, g10_errstr(rc) ); } else { @@ -180,10 +182,10 @@ } #endif if( (status/100) == 2 ) - log_info("success sending to `%s' (status=%u)\n", + log_info(_("success sending to `%s' (status=%u)\n"), opt.keyserver_name, status ); else - log_error("failed sending to `%s': status=%u\n", + log_error(_("failed sending to `%s': status=%u\n"), opt.keyserver_name, status ); } http_close( &hd ); diff -urN gnupg-1.0.0/g10/import.c gnupg-1.0.1/g10/import.c --- gnupg-1.0.0/g10/import.c Thu Sep 2 14:12:01 1999 +++ gnupg-1.0.1/g10/import.c Thu Nov 25 09:58:57 1999 @@ -38,6 +38,7 @@ static struct { + ulong count; ulong no_user_id; ulong imported; ulong imported_rsa; @@ -53,6 +54,7 @@ static int import( IOBUF inp, int fast, const char* fname ); +static void print_stats(void); static int read_block( IOBUF a, PACKET **pending_pkt, KBNODE *ret_root ); static int import_one( const char *fname, KBNODE keyblock, int fast ); static int import_secret_one( const char *fname, KBNODE keyblock ); @@ -105,30 +107,48 @@ * Key revocation certificates have special handling. * */ -int -import_keys( const char *fname, int fast ) +void +import_keys( char **fnames, int nnames, int fast ) { - IOBUF inp = NULL; - int rc; - - inp = iobuf_open(fname); - if( !fname ) - fname = "[stdin]"; - if( !inp ) { - log_error(_("can't open `%s': %s\n"), fname, strerror(errno) ); - return G10ERR_OPEN_FILE; - } + int i; - rc = import( inp, fast, fname ); + /* fixme: don't use static variables */ + memset( &stats, 0, sizeof( stats ) ); - iobuf_close(inp); - return rc; + for(i=0; i < nnames; i++ ) { + const char *fname = fnames? fnames[i] : NULL; + IOBUF inp = iobuf_open(fname); + if( !fname ) + fname = "[stdin]"; + if( !inp ) + log_error(_("can't open `%s': %s\n"), fname, strerror(errno) ); + else { + int rc = import( inp, fast, fname ); + iobuf_close(inp); + if( rc ) + log_error("import from `%s' failed: %s\n", fname, + g10_errstr(rc) ); + } + if( !fname ) + break; + } + print_stats(); + if( !fast ) + sync_trustdb(); } int import_keys_stream( IOBUF inp, int fast ) { - return import( inp, fast, "[stream]" ); + int rc = 0; + + /* fixme: don't use static variables */ + memset( &stats, 0, sizeof( stats ) ); + rc = import( inp, fast, "[stream]" ); + print_stats(); + if( !fast ) + sync_trustdb(); + return rc; } static int @@ -137,10 +157,6 @@ PACKET *pending_pkt = NULL; KBNODE keyblock; int rc = 0; - ulong count=0; - - /* fixme: don't use static variables */ - memset( &stats, 0, sizeof( stats ) ); getkey_disable_caches(); @@ -165,16 +181,23 @@ release_kbnode(keyblock); if( rc ) break; - if( !(++count % 100) && !opt.quiet ) - log_info(_("%lu keys so far processed\n"), count ); + if( !(++stats.count % 100) && !opt.quiet ) + log_info(_("%lu keys so far processed\n"), stats.count ); } if( rc == -1 ) rc = 0; else if( rc && rc != G10ERR_INV_KEYRING ) log_error( _("error reading `%s': %s\n"), fname, g10_errstr(rc)); + return rc; +} + + +static void +print_stats() +{ if( !opt.quiet ) { - log_info(_("Total number processed: %lu\n"), count ); + log_info(_("Total number processed: %lu\n"), stats.count ); if( stats.no_user_id ) log_info(_(" w/o user IDs: %lu\n"), stats.no_user_id ); if( stats.imported || stats.imported_rsa ) { @@ -202,9 +225,9 @@ } if( is_status_enabled() ) { - char buf[12*16]; + char buf[12*20]; sprintf(buf, "%lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu", - count, + stats.count, stats.no_user_id, stats.imported, stats.imported_rsa, @@ -218,8 +241,6 @@ stats.secret_dups); write_status_text( STATUS_IMPORT_RES, buf ); } - - return rc; } @@ -678,6 +699,15 @@ log_info( _("key %08lX: revocation certificate imported\n"), (ulong)keyid[1]); stats.n_revoc++; + if( clear_trust_checked_flag( pk ) ) { + /* seems that we have to insert the record first */ + rc = insert_trust_record( keyblock ); + if( rc ) + log_error("key %08lX: trustdb insert failed: %s\n", + (ulong)keyid[1], g10_errstr(rc) ); + else + rc = clear_trust_checked_flag( pk ); + } leave: release_kbnode( keyblock ); @@ -764,7 +794,8 @@ KBNODE node; for(node=keyblock->next; node; node = node->next ) { if( node->pkt->pkttype == PKT_USER_ID && !(node->flag & 1) ) { - if( node->next && node->next->pkt->pkttype == PKT_SIGNATURE ) { + if( (node->next && node->next->pkt->pkttype == PKT_SIGNATURE) + || !node->next ) { node->flag |= 1; log_info( _("key %08lX: accepted non self-signed user ID '"), (ulong)kid[1]); @@ -1124,7 +1155,7 @@ KBNODE n, n_where=NULL; assert(node->pkt->pkttype == PKT_USER_ID ); - if( node->next->pkt->pkttype == PKT_USER_ID ) { + if( !node->next || node->next->pkt->pkttype == PKT_USER_ID ) { log_error( _("key %08lX: our copy has no self-signature\n"), (ulong)keyid[1]); return G10ERR_GENERAL; @@ -1177,9 +1208,7 @@ assert(dst->pkt->pkttype == PKT_USER_ID ); assert(src->pkt->pkttype == PKT_USER_ID ); - /* at least a self signature comes next to the user IDs */ - assert(src->next->pkt->pkttype != PKT_USER_ID ); - if( dst->next->pkt->pkttype == PKT_USER_ID ) { + if( !dst->next || dst->next->pkt->pkttype == PKT_USER_ID ) { log_error( _("key %08lX: our copy has no self-signature\n"), (ulong)keyid[1]); return 0; diff -urN gnupg-1.0.0/g10/kbnode.c gnupg-1.0.1/g10/kbnode.c --- gnupg-1.0.0/g10/kbnode.c Fri May 21 19:00:54 1999 +++ gnupg-1.0.1/g10/kbnode.c Fri Nov 12 17:51:27 1999 @@ -165,7 +165,7 @@ KBNODE n1; for(n1=NULL ; root && root != node; root = root->next ) - if( !pkttype || root->pkt->pkttype == pkttype ) + if( !pkttype || root->pkt->pkttype == pkttype ) n1 = root; return n1; } diff -urN gnupg-1.0.0/g10/keydb.h gnupg-1.0.1/g10/keydb.h --- gnupg-1.0.0/g10/keydb.h Wed Jun 30 10:37:22 1999 +++ gnupg-1.0.1/g10/keydb.h Fri Nov 12 13:49:28 1999 @@ -158,6 +158,7 @@ int enum_secret_keys( void **context, PKT_secret_key *sk, int with_subkeys ); void merge_keys_and_selfsig( KBNODE keyblock ); char*get_user_id_string( u32 *keyid ); +char*get_user_id_string_native( u32 *keyid ); char*get_long_user_id_string( u32 *keyid ); char*get_user_id( u32 *keyid, size_t *rn ); diff -urN gnupg-1.0.0/g10/keyedit.c gnupg-1.0.1/g10/keyedit.c --- gnupg-1.0.0/g10/keyedit.c Sun Sep 5 09:23:44 1999 +++ gnupg-1.0.1/g10/keyedit.c Fri Nov 12 19:13:02 1999 @@ -1005,7 +1005,10 @@ return; } - rmd160_hash_buffer( namehash, uid->name, uid->len ); + if( uid->photo ) + rmd160_hash_buffer( namehash, uid->photo, uid->photolen ); + else + rmd160_hash_buffer( namehash, uid->name, uid->len ); p = get_pref_data( pk->local_id, namehash, &n ); if( !p ) diff -urN gnupg-1.0.0/g10/keygen.c gnupg-1.0.1/g10/keygen.c --- gnupg-1.0.0/g10/keygen.c Wed Sep 1 09:11:57 1999 +++ gnupg-1.0.1/g10/keygen.c Fri Dec 3 15:23:15 1999 @@ -43,7 +43,7 @@ size_t n = strlen(s); pkt->pkttype = PKT_USER_ID; - pkt->pkt.user_id = m_alloc( sizeof *pkt->pkt.user_id + n - 1 ); + pkt->pkt.user_id = m_alloc_clear( sizeof *pkt->pkt.user_id + n - 1 ); pkt->pkt.user_id->len = n; strcpy(pkt->pkt.user_id->name, s); add_kbnode( root, new_kbnode( pkt ) ); @@ -84,8 +84,9 @@ keygen_add_key_expire( sig, opaque ); buf[0] = CIPHER_ALGO_TWOFISH; - buf[1] = CIPHER_ALGO_CAST5; - build_sig_subpkt( sig, SIGSUBPKT_PREF_SYM, buf, 2 ); + buf[1] = CIPHER_ALGO_BLOWFISH; + buf[2] = CIPHER_ALGO_CAST5; + build_sig_subpkt( sig, SIGSUBPKT_PREF_SYM, buf, 3 ); buf[0] = DIGEST_ALGO_RMD160; buf[1] = DIGEST_ALGO_SHA1; @@ -540,7 +541,7 @@ } else if( (mult=check_valid_days(answer)) ) { valid_days = atoi(answer) * mult; - if( valid_days < 0 || valid_days > 32767 ) + if( valid_days < 0 || valid_days > 39447 ) valid_days = 0; } else { @@ -556,7 +557,10 @@ interval = valid_days * 86400L; /* print the date when the key expires */ tty_printf(_("Key expires at %s\n"), - asctimestamp(curtime + interval ) ); + asctimestamp((ulong)(curtime + interval) ) ); + if( (time_t)((ulong)(curtime+interval)) < 0 ) + tty_printf(_("Your system can't display dates beyond 2038.\n" + "However, it will be correctly handled up to 2106.\n")); } if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay", @@ -824,7 +828,7 @@ if( !p ) return NULL; n = strlen(p); - uid = m_alloc( sizeof *uid + n - 1 ); + uid = m_alloc_clear( sizeof *uid + n - 1 ); uid->len = n; strcpy(uid->name, p); return uid; diff -urN gnupg-1.0.0/g10/keylist.c gnupg-1.0.1/g10/keylist.c --- gnupg-1.0.0/g10/keylist.c Tue Aug 31 16:32:47 1999 +++ gnupg-1.0.1/g10/keylist.c Mon Nov 29 21:22:57 1999 @@ -43,34 +43,24 @@ /**************** * List the keys - * If NNAMES is 0; all available keys are listed + * If list is NULL, all available keys are listed */ void -public_key_list( int nnames, char **names ) +public_key_list( STRLIST list ) { - if( !nnames ) + if( !list ) list_all(0); - else { /* List by user id */ - STRLIST list = NULL; - for( ; nnames ; nnames--, names++ ) - add_to_strlist( &list, *names ); + else list_one( list, 0 ); - free_strlist( list ); - } } void -secret_key_list( int nnames, char **names ) +secret_key_list( STRLIST list ) { - if( !nnames ) + if( !list ) list_all(1); - else { /* List by user id */ - STRLIST list = NULL; - for( ; nnames ; nnames--, names++ ) - add_to_strlist( &list, *names ); + else /* List by user id */ list_one( list, 1 ); - free_strlist( list ); - } } @@ -211,21 +201,26 @@ sk = NULL; keyid_from_pk( pk, keyid ); if( opt.with_colons ) { - trustletter = query_trust_info( pk, NULL ); - if( trustletter == 'u' ) - ulti_hack = 1; - printf("pub:%c:%u:%d:%08lX%08lX:%s:%s:", - trustletter, + if ( opt.fast_list_mode ) { + fputs( "pub::", stdout ); + trustletter = 0; + } + else { + trustletter = query_trust_info( pk, NULL ); + if( trustletter == 'u' ) + ulti_hack = 1; + printf("pub:%c:", trustletter ); + } + printf("%u:%d:%08lX%08lX:%s:%s:", nbits_from_pk( pk ), pk->pubkey_algo, (ulong)keyid[0],(ulong)keyid[1], datestr_from_pk( pk ), - pk->expiredate? strtimestamp(pk->expiredate):"" - ); + pk->expiredate? strtimestamp(pk->expiredate):"" ); if( pk->local_id ) printf("%lu", pk->local_id ); putchar(':'); - if( pk->local_id ) + if( pk->local_id && !opt.fast_list_mode ) putchar( get_ownertrust_info( pk->local_id ) ); putchar(':'); } @@ -237,15 +232,20 @@ } for( kbctx=NULL; (node=walk_kbnode( keyblock, &kbctx, 0)) ; ) { - if( node->pkt->pkttype == PKT_USER_ID ) { + if( node->pkt->pkttype == PKT_USER_ID && !opt.fast_list_mode ) { if( any ) { - if( opt.with_colons ) { + if ( opt.with_colons ) { byte namehash[20]; if( pk && !ulti_hack ) { - rmd160_hash_buffer( namehash, - node->pkt->pkt.user_id->name, - node->pkt->pkt.user_id->len ); + if( node->pkt->pkt.user_id->photo ) + rmd160_hash_buffer( namehash, + node->pkt->pkt.user_id->name, + node->pkt->pkt.user_id->len ); + else + rmd160_hash_buffer( namehash, + node->pkt->pkt.user_id->name, + node->pkt->pkt.user_id->len ); trustletter = query_trust_info( pk, namehash ); } else @@ -288,8 +288,13 @@ keyid_from_pk( pk2, keyid2 ); if( opt.with_colons ) { - printf("sub:%c:%u:%d:%08lX%08lX:%s:%s:", - trustletter, + if ( opt.fast_list_mode ) { + fputs( "sub::", stdout ); + } + else { + printf("sub:%c:", trustletter ); + } + printf("%u:%d:%08lX%08lX:%s:%s:", nbits_from_pk( pk2 ), pk2->pubkey_algo, (ulong)keyid2[0],(ulong)keyid2[1], @@ -394,7 +399,8 @@ putchar(':'); if( sigrc != ' ' ) putchar(sigrc); - printf(":::%08lX%08lX:%s::::", (ulong)sig->keyid[0], + printf("::%d:%08lX%08lX:%s::::", sig->pubkey_algo, + (ulong)sig->keyid[0], (ulong)sig->keyid[1], datestr_from_sig(sig)); } else @@ -404,7 +410,7 @@ printf("[%s] ", g10_errstr(rc) ); else if( sigrc == '?' ) ; - else { + else if ( !opt.fast_list_mode ) { size_t n; char *p = get_user_id( sig->keyid, &n ); if( opt.with_colons ) diff -urN gnupg-1.0.0/g10/main.h gnupg-1.0.1/g10/main.h --- gnupg-1.0.0/g10/main.h Thu Jul 8 14:34:23 1999 +++ gnupg-1.0.1/g10/main.h Thu Dec 2 17:26:49 1999 @@ -103,7 +103,7 @@ char *ask_outfile_name( const char *name, size_t namelen ); int open_outfile( const char *iname, int mode, IOBUF *a ); IOBUF open_sigfile( const char *iname ); -void copy_options_file( const char *destdir ); +void try_make_homedir( const char *fname ); /*-- seskey.c --*/ void make_session_key( DEK *dek ); @@ -116,7 +116,7 @@ KBNODE make_mpi_comment_node( const char *s, MPI a ); /*-- import.c --*/ -int import_keys( const char *filename, int fast ); +void import_keys( char **fnames, int nnames, int fast ); int import_keys_stream( IOBUF inp, int fast ); int collapse_uids( KBNODE *keyblock ); @@ -133,11 +133,12 @@ int gen_revoke( const char *uname ); /*-- keylist.c --*/ -void public_key_list( int nnames, char **names ); -void secret_key_list( int nnames, char **names ); +void public_key_list( STRLIST list ); +void secret_key_list( STRLIST list ); /*-- verify.c --*/ int verify_signatures( int nfiles, char **files ); +int verify_files( int nfiles, char **files ); /*-- decrypt.c --*/ int decrypt_message( const char *filename ); diff -urN gnupg-1.0.0/g10/mainproc.c gnupg-1.0.1/g10/mainproc.c --- gnupg-1.0.0/g10/mainproc.c Thu Sep 2 19:21:01 1999 +++ gnupg-1.0.1/g10/mainproc.c Thu Dec 16 08:50:19 1999 @@ -1,4 +1,4 @@ -/* maPPPPinproc.c - handle packets +/* mainproc.c - handle packets * Copyright (C) 1998, 1999 Free Software Foundation, Inc. * * This file is part of GnuPG. @@ -268,6 +268,8 @@ PKT_public_key *pk = m_alloc_clear( sizeof *pk ); const char *algstr = pubkey_algo_to_string( list->pubkey_algo ); + if( !algstr ) + algstr = "[?]"; pk->pubkey_algo = list->pubkey_algo; if( !get_pubkey( pk, list->kid ) ) { size_t n; @@ -312,7 +314,9 @@ /*log_debug("dat: %sencrypted data\n", c->dek?"":"conventional ");*/ if( !c->dek && !c->last_was_session_key ) { - /* assume this is old conventional encrypted data */ + /* assume this is old conventional encrypted data + * Actually we should use IDEA and MD5 in this case, but becuase + * IDEA is patented we can't do so */ c->dek = passphrase_to_dek( NULL, 0, opt.def_cipher_algo ? opt.def_cipher_algo : DEFAULT_CIPHER_ALGO, NULL, 0 ); @@ -395,12 +399,14 @@ clearsig = 1; } } - if( !any ) { /* no onepass sig packet: enable all standard algos */ + + if( !any && !opt.skip_verify ) { + /* no onepass sig packet: enable all standard algos */ md_enable( c->mfx.md, DIGEST_ALGO_RMD160 ); md_enable( c->mfx.md, DIGEST_ALGO_SHA1 ); md_enable( c->mfx.md, DIGEST_ALGO_MD5 ); } - if( only_md5 ) { + if( only_md5 && !opt.skip_verify ) { /* This is a kludge to work around a bug in pgp2. It does only * catch those mails which are armored. To catch the non-armored * pgp mails we could see whether there is the signature packet @@ -505,6 +511,11 @@ || c->list->pkt->pkttype == PKT_PUBLIC_SUBKEY ) { return check_key_signature( c->list, node, is_selfsig ); } + else if( sig->sig_class == 0x20 ) { + log_info(_("standalone revocation - " + "use \"gpg --import\" to apply\n")); + return G10ERR_NOT_PROCESSED; + } else { log_error("invalid root packet for sigclass %02x\n", sig->sig_class); @@ -636,11 +647,13 @@ keyid_from_pk( pk, keyid ); if( mainkey ) { c->local_id = pk->local_id; - c->trustletter = query_trust_info( pk, NULL ); + c->trustletter = opt.fast_list_mode? + 0 : query_trust_info( pk, NULL ); } - printf("%s:%c:%u:%d:%08lX%08lX:%s:%s:", - mainkey? "pub":"sub", - c->trustletter, + printf("%s:", mainkey? "pub":"sub" ); + if( c->trustletter ) + putchar( c->trustletter ); + printf(":%u:%d:%08lX%08lX:%s:%s:", nbits_from_pk( pk ), pk->pubkey_algo, (ulong)keyid[0],(ulong)keyid[1], @@ -649,7 +662,7 @@ if( c->local_id ) printf("%lu", c->local_id ); putchar(':'); - if( c->local_id ) + if( c->local_id && !opt.fast_list_mode ) putchar( get_ownertrust_info( c->local_id ) ); putchar(':'); if( node->next && node->next->pkt->pkttype == PKT_RING_TRUST) { @@ -821,7 +834,8 @@ putchar(':'); if( sigrc != ' ' ) putchar(sigrc); - printf(":::%08lX%08lX:%s::::", (ulong)sig->keyid[0], + printf("::%d:%08lX%08lX:%s::::", sig->pubkey_algo, + (ulong)sig->keyid[0], (ulong)sig->keyid[1], datestr_from_sig(sig)); } else @@ -838,7 +852,7 @@ if( opt.with_colons ) putchar(':'); } - else { + else if( !opt.fast_list_mode ) { p = get_user_id( sig->keyid, &n ); print_string( stdout, p, n, opt.with_colons ); m_free(p); @@ -1112,7 +1126,8 @@ buf[16] = 0; write_status_text( STATUS_NO_PUBKEY, buf ); } - log_error(_("Can't check signature: %s\n"), g10_errstr(rc) ); + if( rc != G10ERR_NOT_PROCESSED ) + log_error(_("Can't check signature: %s\n"), g10_errstr(rc) ); } return rc; } @@ -1172,7 +1187,10 @@ else if( node->pkt->pkttype == PKT_SIGNATURE ) { PKT_signature *sig = node->pkt->pkt.signature; - if( !c->have_data ) { + if( sig->sig_class != 0x00 && sig->sig_class != 0x01 ) + log_info(_("standalone signature of class 0x%02x\n"), + sig->sig_class); + else if( !c->have_data ) { /* detached signature */ free_md_filter_context( &c->mfx ); c->mfx.md = md_open(sig->digest_algo, 0); diff -urN gnupg-1.0.0/g10/openfile.c gnupg-1.0.1/g10/openfile.c --- gnupg-1.0.0/g10/openfile.c Mon Jul 12 13:37:52 1999 +++ gnupg-1.0.1/g10/openfile.c Fri Dec 3 14:43:57 1999 @@ -24,6 +24,9 @@ #include #include #include +#include +#include +#include #include #include "util.h" #include "memory.h" @@ -39,6 +42,17 @@ #define SKELEXT ".skel" #endif +#ifdef HAVE_DRIVE_LETTERS + #define CMP_FILENAME(a,b) stricmp( (a), (b) ) +#else + #define CMP_FILENAME(a,b) strcmp( (a), (b) ) +#endif + +#ifdef MKDIR_TAKES_ONE_ARG +# undef mkdir +# define mkdir(a,b) mkdir(a) +#endif + /* FIXME: Implement opt.interactive. */ /**************** @@ -82,13 +96,11 @@ if( (!iname || (*iname=='-' && !iname[1]) )) return m_strdup("-"); - #ifdef HAVE_DRIVE_LETTERS - #warning add case insensitive compare - #endif n = strlen(iname); - if( n > 4 && ( !strcmp(iname+n-4,".gpg") - || !strcmp(iname+n-4,".sig") - || !strcmp(iname+n-4,".asc") ) ) { + if( n > 4 && ( !CMP_FILENAME(iname+n-4,".gpg") + || !CMP_FILENAME(iname+n-4,".pgp") + || !CMP_FILENAME(iname+n-4,".sig") + || !CMP_FILENAME(iname+n-4,".asc") ) ) { char *buf = m_strdup( iname ); buf[n-4] = 0; return buf; @@ -169,11 +181,33 @@ name = opt.outfile; else { #ifdef USE_ONLY_8DOT3 - #warning please implement 8.3 files - #endif + /* It is quite common DOS system to have only one dot in a + * a filename So if we have something like this, we simple + * replace the suffix execpt in cases where the suffix is + * larger than 3 characters and not the same as. + * We should really map the filenames to 8.3 but this tends to + * be more complicated and is probaly a duty of the filesystem + */ + char *dot; + const char *newsfx = mode==1 ? ".asc" : + mode==2 ? ".sig" : ".gpg"; + + buf = m_alloc(strlen(iname)+4+1); + strcpy(buf,iname); + dot = strchr(buf, '.' ); + if( dot && dot > buf && dot[1] && strlen(dot) <= 4 + && CMP_FILENAME(newsfx, dot) ) { + strcpy(dot, newsfx ); + } + else if( dot && !dot[1] ) /* don't duplicate a dot */ + strcpy( dot, newsfx+1 ); + else + strcat( buf, newsfx ); + #else buf = m_alloc(strlen(iname)+4+1); strcpy(stpcpy(buf,iname), mode==1 ? ".asc" : mode==2 ? ".sig" : ".gpg"); + #endif name = buf; } @@ -204,9 +238,6 @@ IOBUF a = NULL; size_t len; - #ifdef USE_ONLY_8DOT3 - #warning please implement 8.3 files - #endif if( iname && !(*iname == '-' && !iname[1]) ) { len = strlen(iname); if( len > 4 && ( !strcmp(iname + len - 4, ".sig") @@ -227,7 +258,7 @@ /**************** * Copy the option file skeleton to the given directory. */ -void +static void copy_options_file( const char *destdir ) { const char *datadir = GNUPG_DATADIR; @@ -268,5 +299,25 @@ fclose( src ); log_info(_("%s: new options file created\n"), fname ); m_free(fname); +} + + +void +try_make_homedir( const char *fname ) +{ + if( opt.dry_run ) + return; + if( strlen(fname) >= 7 + && !strcmp(fname+strlen(fname)-7, "/.gnupg" ) ) { + if( mkdir( fname, S_IRUSR|S_IWUSR|S_IXUSR ) ) + log_fatal( _("%s: can't create directory: %s\n"), + fname, strerror(errno) ); + else if( !opt.quiet ) + log_info( _("%s: directory created\n"), fname ); + copy_options_file( fname ); + log_info(_("you have to start GnuPG again, " + "so it can read the new options file\n") ); + g10_exit(1); + } } diff -urN gnupg-1.0.0/g10/options.h gnupg-1.0.1/g10/options.h --- gnupg-1.0.0/g10/options.h Mon Jul 26 09:06:15 1999 +++ gnupg-1.0.1/g10/options.h Mon Nov 29 20:08:32 1999 @@ -83,10 +83,13 @@ int allow_non_selfsigned_uid; int no_literal; ulong set_filesize; + int honor_http_proxy; + int fast_list_mode; } opt; #define EMUBUG_GPGCHKSUM 1 +#define EMUBUG_3DESS2K 2 #define DBG_PACKET_VALUE 1 /* debug packet reading/writing */ #define DBG_MPI_VALUE 2 /* debug mpi details */ diff -urN gnupg-1.0.0/g10/options.skel gnupg-1.0.1/g10/options.skel --- gnupg-1.0.0/g10/options.skel Thu Jul 22 20:11:54 1999 +++ gnupg-1.0.1/g10/options.skel Fri Oct 8 20:34:41 1999 @@ -1,6 +1,6 @@ These first three lines are not copied to the options file in the users home directory. -$Id: options.skel,v 1.12 1999/07/22 18:11:54 wkoch Exp $ +$Id: options.skel,v 1.12.2.1 1999/10/08 18:34:41 wkoch Exp $ # Options for GnuPG # # Unless you you specify which option file to use (with the @@ -78,4 +78,9 @@ # others and DNS Round-Robin may give you a random server each time). # Use "host -l pgp.net | grep www" to figure out a keyserver. #keyserver wwwkeys.eu.pgp.net + +# The environment variable http_proxy is only used when the +# this option is set. + +honor-http-proxy diff -urN gnupg-1.0.0/g10/packet.h gnupg-1.0.1/g10/packet.h --- gnupg-1.0.0/g10/packet.h Tue Aug 31 14:29:56 1999 +++ gnupg-1.0.1/g10/packet.h Fri Nov 12 17:57:21 1999 @@ -46,6 +46,7 @@ PKT_USER_ID =13, /* user id packet */ PKT_PUBLIC_SUBKEY =14, /* public subkey (OpenPGP) */ PKT_OLD_COMMENT =16, /* comment packet from an OpenPGP draft */ + PKT_PHOTO_ID =17, /* PGP's photo ID */ PKT_COMMENT =61, /* new comment packet (private) */ PKT_ENCRYPTED_MDC =62, /* test: encrypted data with MDC */ } pkttype_t; @@ -155,6 +156,8 @@ typedef struct { int len; /* length of the name */ + char *photo; /* if this is not NULL, the packet is a photo ID */ + int photolen; /* and the length of the photo */ char name[1]; } PKT_user_id; diff -urN gnupg-1.0.0/g10/parse-packet.c gnupg-1.0.1/g10/parse-packet.c --- gnupg-1.0.0/g10/parse-packet.c Wed Sep 1 15:27:32 1999 +++ gnupg-1.0.1/g10/parse-packet.c Fri Nov 12 20:17:39 1999 @@ -61,6 +61,8 @@ byte *hdr, int hdrlen, PACKET *packet ); static int parse_user_id( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet ); +static int parse_photo_id( IOBUF inp, int pkttype, unsigned long pktlen, + PACKET *packet ); static int parse_comment( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet ); static void parse_trust( IOBUF inp, int pkttype, unsigned long pktlen, @@ -417,6 +419,10 @@ case PKT_USER_ID: rc = parse_user_id(inp, pkttype, pktlen, pkt ); break; + case PKT_PHOTO_ID: + pkt->pkttype = pkttype = PKT_USER_ID; /* must fix it */ + rc = parse_photo_id(inp, pkttype, pktlen, pkt); + break; case PKT_OLD_COMMENT: case PKT_COMMENT: rc = parse_comment(inp, pkttype, pktlen, pkt); @@ -1475,6 +1481,8 @@ packet->pkt.user_id = m_alloc(sizeof *packet->pkt.user_id + pktlen); packet->pkt.user_id->len = pktlen; + packet->pkt.user_id->photo = NULL; + packet->pkt.user_id->photolen = 0; p = packet->pkt.user_id->name; for( ; pktlen; pktlen--, p++ ) *p = iobuf_get_noeof(inp); @@ -1495,6 +1503,31 @@ return 0; } + +/**************** + * PGP generates a packet of type 17. We assume this is a photo ID and + * simply store it here as a comment packet. + */ +static int +parse_photo_id( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet ) +{ + byte *p; + + packet->pkt.user_id = m_alloc(sizeof *packet->pkt.user_id + 30); + sprintf( packet->pkt.user_id->name, "[image of size %lu]", pktlen ); + packet->pkt.user_id->len = strlen(packet->pkt.user_id->name); + + packet->pkt.user_id->photo = m_alloc(sizeof *packet->pkt.user_id + pktlen); + packet->pkt.user_id->photolen = pktlen; + p = packet->pkt.user_id->photo; + for( ; pktlen; pktlen--, p++ ) + *p = iobuf_get_noeof(inp); + + if( list_mode ) { + printf(":photo_id packet: %s\n", packet->pkt.user_id->name ); + } + return 0; +} static int diff -urN gnupg-1.0.0/g10/passphrase.c gnupg-1.0.1/g10/passphrase.c --- gnupg-1.0.0/g10/passphrase.c Mon Jul 12 13:45:13 1999 +++ gnupg-1.0.1/g10/passphrase.c Mon Oct 4 09:20:43 1999 @@ -159,7 +159,7 @@ tty_printf(_("\nYou need a passphrase to unlock the secret key for\n" "user: \"") ); p = get_user_id( keyid, &n ); - tty_print_string( p, n ); + tty_print_utf8_string( p, n ); m_free(p); tty_printf("\"\n"); @@ -242,7 +242,13 @@ md = md_open( s2k->hash_algo, 1); for(pass=0; used < dek->keylen ; pass++ ) { if( pass ) { - md_reset(md); + if( (opt.emulate_bugs & EMUBUG_3DESS2K)) { + int tmp = md->finalized; + md_reset( md ); + md->finalized = tmp; + } + else + md_reset(md); for(i=0; i < pass; i++ ) /* preset the hash context */ md_putc(md, 0 ); } diff -urN gnupg-1.0.0/g10/pkclist.c gnupg-1.0.1/g10/pkclist.c --- gnupg-1.0.0/g10/pkclist.c Thu Sep 2 18:38:17 1999 +++ gnupg-1.0.1/g10/pkclist.c Sat Dec 4 13:31:09 1999 @@ -149,7 +149,7 @@ putchar(' '); p = get_user_id( keyid, &n ); - tty_print_string( p, n ), + tty_print_utf8_string( p, n ), m_free(p); tty_printf("\"\n"); free_public_key( pk ); @@ -194,7 +194,7 @@ for(;;) { /* a string with valid answers */ - char *ans = _("sSmMqQ"); + const char *ans = _("sSmMqQ"); if( !did_help ) { if( !mode ) { @@ -203,7 +203,7 @@ nbits_from_pk( pk ), pubkey_letter( pk->pubkey_algo ), (ulong)keyid[1], datestr_from_pk( pk ) ); p = get_user_id( keyid, &n ); - tty_print_string( p, n ), + tty_print_utf8_string( p, n ), m_free(p); tty_printf("\"\n"); print_fpr( pk ); @@ -337,16 +337,17 @@ /**************** * Check whether we can trust this pk which has a trustlevel of TRUSTLEVEL - * Returns: true if we trust. + * Returns: true if we trust. Might change the trustlevel */ static int -do_we_trust( PKT_public_key *pk, int trustlevel ) +do_we_trust( PKT_public_key *pk, int *trustlevel ) { int rc; int did_add = 0; + int trustmask = 0; retry: - if( (trustlevel & TRUST_FLAG_REVOKED) ) { + if( (*trustlevel & TRUST_FLAG_REVOKED) ) { log_info(_("key %08lX: key has been revoked!\n"), (ulong)keyid_from_pk( pk, NULL) ); if( opt.batch ) @@ -355,8 +356,9 @@ if( !cpr_get_answer_is_yes("revoked_key.override", _("Use this key anyway? ")) ) return 0; + trustmask |= TRUST_FLAG_REVOKED; } - else if( (trustlevel & TRUST_FLAG_SUB_REVOKED) ) { + else if( (*trustlevel & TRUST_FLAG_SUB_REVOKED) ) { log_info(_("key %08lX: subkey has been revoked!\n"), (ulong)keyid_from_pk( pk, NULL) ); if( opt.batch ) @@ -365,10 +367,12 @@ if( !cpr_get_answer_is_yes("revoked_key.override", _("Use this key anyway? ")) ) return 0; + trustmask |= TRUST_FLAG_SUB_REVOKED; } + *trustlevel &= ~trustmask; - switch( (trustlevel & TRUST_MASK) ) { + switch( (*trustlevel & TRUST_MASK) ) { case TRUST_UNKNOWN: /* No pubkey in trustDB: Insert and check again */ rc = insert_trust_record_by_pk( pk ); if( rc ) { @@ -376,11 +380,12 @@ g10_errstr(rc) ); return 0; /* no */ } - rc = check_trust( pk, &trustlevel, NULL, NULL, NULL ); + rc = check_trust( pk, trustlevel, NULL, NULL, NULL ); + *trustlevel &= ~trustmask; if( rc ) log_fatal("trust check after insert failed: %s\n", g10_errstr(rc) ); - if( trustlevel == TRUST_UNKNOWN || trustlevel == TRUST_EXPIRED ) { + if( *trustlevel == TRUST_UNKNOWN || *trustlevel == TRUST_EXPIRED ) { log_debug("do_we_trust: oops at %d\n", __LINE__ ); return 0; } @@ -398,7 +403,8 @@ else { int quit; - rc = add_ownertrust( pk, &quit, &trustlevel ); + rc = add_ownertrust( pk, &quit, trustlevel ); + *trustlevel &= ~trustmask; if( !rc && !did_add && !quit ) { did_add = 1; goto retry; @@ -444,7 +450,7 @@ { int rc; - rc = do_we_trust( pk, trustlevel ); + rc = do_we_trust( pk, &trustlevel ); if( (trustlevel & TRUST_FLAG_REVOKED) && !rc ) return 0; @@ -460,7 +466,7 @@ nbits_from_pk( pk ), pubkey_letter( pk->pubkey_algo ), (ulong)keyid[1], datestr_from_pk( pk ) ); p = get_user_id( keyid, &n ); - tty_print_string( p, n ), + tty_print_utf8_string( p, n ), m_free(p); tty_printf("\"\n"); print_fpr( pk ); @@ -769,7 +775,8 @@ else { int trustlevel; - rc = check_trust( pk, &trustlevel, NULL, NULL, NULL ); + rc = check_trust( pk, &trustlevel, pk->namehash, + NULL, NULL ); if( rc ) { log_error("error checking pk of `%s': %s\n", answer, g10_errstr(rc) ); @@ -843,7 +850,7 @@ else if( !(rc=check_pubkey_algo2(pk->pubkey_algo, use )) ) { int trustlevel; - rc = check_trust( pk, &trustlevel, NULL, NULL, NULL ); + rc = check_trust( pk, &trustlevel, pk->namehash, NULL, NULL ); if( rc ) { free_public_key( pk ); pk = NULL; log_error(_("%s: error checking key: %s\n"), diff -urN gnupg-1.0.0/g10/plaintext.c gnupg-1.0.1/g10/plaintext.c --- gnupg-1.0.0/g10/plaintext.c Fri Sep 3 08:47:15 1999 +++ gnupg-1.0.1/g10/plaintext.c Thu Oct 7 11:51:21 1999 @@ -308,7 +308,7 @@ fp = open_sigfile( inname ); /* open default file */ if( !fp && !opt.batch ) { int any=0; - tty_printf("Detached signature.\n"); + tty_printf(_("Detached signature.\n")); do { m_free(answer); answer = cpr_get("detached_signature.filename", diff -urN gnupg-1.0.0/g10/pubring.asc gnupg-1.0.1/g10/pubring.asc --- gnupg-1.0.0/g10/pubring.asc Wed Aug 4 10:31:05 1999 +++ gnupg-1.0.1/g10/pubring.asc Fri Nov 12 12:52:24 1999 @@ -1,225 +1,458 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v0.9.9 (GNU/Linux) +Version: GnuPG v1.0.0e (GNU/Linux) Comment: For info see http://www.gnupg.org -mQGiBDWiHh4RBAD+l0rg5p9rW4M3sKvmeyzhs2mDxhRKDTVVUnTwpMIR2kIA9pT4 -3No/coPajDvhZTaDM/vSz25IZDZWJ7gEu86RpoEdtr/eK8GuDcgsWvFs5+YpCDwW -G2dx39ME7DN+SRvEE1xUm4E9G2Nnd2UNtLgg82wgi/ZK4Ih9CYDyo0a9awCgisn3 -RvZ/MREJmQq1+SjJgDx+c2sEAOEnxGYisqIKcOTdPOTTie7o7x+nem2uac7uOW68 -N+wRWxhGPIxsOdueMIa7U94Wg/Ydn4f2WngJpBvKNaHYmW8j1Q5zvZXXpIWRXSvy -TR641BceGHNdYiR/PiDBJsGQ3ac7n7pwhV4qex3IViRDJWz5Dzr88x+Oju63KtxY -urUIBACi7d1rUlHr4ok7iBRlWHYXU2hpUIQ8C+UOE1XXT+HB7mZLSRONQnWMyXnq -bAAW+EUUX2xpb54CevAg4eOilt0es8GZMmU6c0wdUsnMWWqOKHBFFlDIvyI27aZ9 -quf0yvby63kFCanQKc0QnqGXQKzuXbFqBYW2UQrYgjXji8rd8bQnV2VybmVyIEtv -Y2ggKGdudXBnIHNpZykgPGRkOWpuQGdudS5vcmc+iF0EExECAB0FAjZVoKYFCQht -DIgDCwQDBRUDAgYBAxYCAQIXgAAKCRBot6uJV1SNzS4+AKCHdeYHMmKQV9mC7REE -5Vz6d5rRBgCfVMcyRP7dxBwhytmwCDpAcCFvCLSJAV8DBRA1oh5DA28RuP8+qgsQ -A2MyBR0eiPUovYMz0DUXBbNs5606eaVeTJOn9WqkYGcS9xOKlGd8Xj0IcAKN30st -5AsC5hRqr82rrUjB5/CuVdbvk+Qkh6ixWCqo+RRrbgf8cKCg1x+lDj9PpeSD/B9U -U45ntxYamoXnPszxtzU+e73Nkbtrej5rgMK8tgTLkhTAbO8M15Mgtw2yOeDFfiCj -4xzDkYryvLiPI5p2vYXTVcgYnwpNRnMZBwUghb1PMSXj7AP0P/8wnpb656yIjH2O -AkE5is5HvTEs2wGUCEXXYKxgLIl9bRPGd2DHfJQ6broxy1RHVmaOrOeDibspx67R -RTm3WqbtLiK0/nRF0gEjFGxLjQiy92gp6xLRiQsMQdkz0Lwgr0dgSs6JejBlsQPp -5nXXkIm9q/hl6Cly3Zx3KbAIwO5ZF5NyBciezCxSurg64xmxibNhSknblI0vyG+I -RgQQEQIABgUCNaInPAAKCRBsfuG4YhzAE37WAJ9Xzmig1DrfnUt/KwfgidkPohJV -iQCg0T6afKuRspWzPAz5TKQpVjd02KmIRgQQEQIABgUCNu1ObAAKCRBd4kmWWwNY -omq2AJ9+alN2TpVRAhCxP91eqvfEN9HgGgCgrTvpWnB9EKtROr+AT//cujKCyIaZ -AaIENaIg8xEEALYPe0XNsPjx+inTQ+Izz527ZJnoc6BhWik/4a2bZYENSOQXAMKT -DQMv2lLeI0i6ceB967MNubhHeVdNeOWYHFSM1UGRfhmZERISho3bp+wVZvVG8GBV -wpw34PJjgYU/0tDwnJaJ8BzX6j0ecTSTjQPnaUEtdJ/u/gmG9j0218TzAKDihdNo -KJEU9IKUiSjdGomSuem/VwQArHfaucSiDmY8+zyZbVLLnK6UJMqtsIv1LvAg20xw -XoUk2bY8H3tXL4UZ8YcoSXYozwALq3cIo5UZJ0q9Of71mI8WLK2iFSYVplpTX0WM -ClAdkGt3HgVb7xtOhGt1mEKeRQjNZ2LteUQrRDD9MTQ+XxcvEN0IpAj4kBJe9bR6 -HzAD/iecCmGwSlHUZZrgqWzv78o79XxDdcuLdl4i2fL7kwEOf9jsDe7hGs27yrdJ -EmAG9QF9TOF9LJFmE1CqkgW+EpKxsY01Wjm0BFJB1R7iPUaUtFRZxYqfgXarmPjq -l2iBi+cVjLzGu+4BSojVAPgP/hhcnIowf4M4edPiICMP1GVjtCFXZXJuZXIgS29j -aCA8d2VybmVyLmtvY2hAZ3V1Zy5kZT6IWwQTEQIAGwUCNs8JNwUJCCCxRAMLCgMD -FQMCAxYCAQIXgAAKCRBsfuG4YhzAE2kgAJ92JKU+YcYHoRhX51+4s3fnPIyNEgCf -aiWeoyb15xgdO6etGiD2MYCWy5mJAHUDBRA1o3cUHRn0wQyYV6UBAT3zAv9HMaPu -MWFQKZRTtJyGMo0ID+w/DtLn8z7CMBd5L2+2+RTTY36fgwITehtBziIJC9xrFrQn -x+VB2pYvprTRSCg6U7a/hf5T6WT9zj887C2UuIWE6pjLNTvwAqvGsSoAIpWJAV8D -BRA1oicOA28RuP8+qgsQAwfcBR9Iuppp+q1mChXqSYV8oROMFqkTyQJ736IllJ7Q -6eGiEMrOpTkYoFVyFqOJOEivxR+fWJ8xe+e/Kq02Vv0XANGyKias6mqrDnU2BBWu -PXAo7y5wVuDnmyZS01LP555lNBVilvDsMC/qQrvHe3y0kp4IAbK1EMG3qbsNHCaH -LRTwM+U9Z0CYnkClbB2gjcC9nbtF3nzoBebowdYytat6eFMrBfYRHAUfZbRN0x6/ -or+I7WV5gtT+GrfVuSxVrGLsK9FN8iXGikiqdL/8BhFntif4BUGdIQdft+UawmT4 -IlrBL/Owh2hul7UPtx4YqwQibGIZjopFSqBGp+j4VFUdapVxMraQLd/PUwZ78nHg -F/IXBzhN3YrhryCxIGHrN4MN7OWZjO21F945tga1/FnIXsVBVECLiltnC9+/TBV0 -fE28aVca7EWBP+Ix2QWIRgQQEQIABgUCNu1OCwAKCRBd4kmWWwNYonyaAKCxLBst -eoVfwn5g5Lug9QgVCMV76QCfRgQKXQv9zl4oO7Aa1Qljm9zEM3C5AY0ENs8HCBAG -APc1hCpuXmaTDAUbIqS9CFHkihMnilIwAV+L2Dbq5eOPtoemPKx5+6xtZfzzY9/V -CVwZCxY9Y5PEN9r/twUA478L/FOXv5E4BpX+4R91klt/EZGcNfDl2Ar56FpGJ3iL -g4+vxx9m1TV5k2nNOUZAVD1L+MoapWhaZFXLMChrhDUcbo7/1Fr1Rfv9j/LkkIJJ -hqf3G8HzE5AvCQVSywUayYZdbmqdiY2bklZJVFAXs1X9zSTGoFc8eOxz6i1ZeMq+ -GwADBgX/T7o5R+SOTlJ72ac/g121f1kFX1dbRkQq2pCI95qTehp1AxdSwG3ur2sl -FCfi8ZDNUqkFXJrsv5mh1yfqq7zS5T6lGT5lOXCDZbAO2wqNZY1VKeeCdcvD2VMe -h8XxJfy8y1ZK/iE1p8qnokYpA3nFH+JIsdrXk5ceiN3nKk+aDamUkV1sJzeEm5F7 -QHe60oBKbVGIUF4EhGq6daVyeCeK4KhWuPYyiEgyaq5/xJZbR3uRcdW6X5AiGJWJ -OOQoGvWziEwEGBECAAwFAjbPBwgFCQbzyQAACgkQbH7huGIcwBN5FQCggakIOYzL -X3lNq2WWgcAkSNm7kpoAnA69b3z2E5vxyD3bhggVUDX7j8hrmQGiBDbtSOkRBACU -RhKnGIFyXIeX61GAY9hJA5FgG4UalV55ohdz4whBgDzDGLE3XYlO8HCn4ggKilll -6MOwY0yZeg6PEU9Y3SqTzpQSV6qj2M7MgcS8xOpi6bNCu0iyZUik0KklUXMdI8e/ -CVmBpQJT9CofbD1dsP6z4dC6z3jil0+5Wbfw6yIXzwCgy/7Fagq5mN0H760/JEii -XILS1n0D/3H26lTaxo1vGput9Td1FQN7Vn6YDP0/To5ipsOODROV3zyUwF5QleY+ -8zTFJA3qD5KxRfA726WELOF1mB6Mw44UdkPniOoGdMH5oSx6qnNnlVZBBu3U+e1q -fQwLQjHu0WX4Z2q00DKpWLThGv7Loh5NKi6OfTbMhfHoevCAzQnmA/wKc6J8Gqth -ENThKXxZaei3Ep0t+PlBmbUzuAYCXZhI6/0KyD6emyQ7LYIaPv9qEfMkMLhxicG0 -v/AAwOCBRKS3bkqc6wAYaO0bjUHJvem3HkWPux82t83+6YPyRnVjm/mwt0uEyKSv -t7Md2DVrO3lEcKRkRHiYuf0nonPhl5Rs5bQaV2VybmVyIEtvY2ggPHdrQGdudXBn -Lm9yZz6IWwQTEQIAGwUCNxrPkAUJDMl8gAMLCgMDFQMCAxYCAQIXgAAKCRBd4kmW -WwNYol3CAJ47+zjeQIsMwiwcJvYfcsLn1yULlQCfUTKupaT6pw5culAis/pBrdBK -ZciIRgQQEQIABgUCNxrRPQAKCRBsfuG4YhzAE4X0AJ43A7wbYbR6LTfPSD+fdBki -mNvO8QCdFoSpfY+4FsKVagg/qH3KtGUARtSJAHUDBRA3GtFjHRn0wQyYV6UBAdGu -Av9AM0o9XkmBbOLLNse8Qp9MjD8TC/oSXYxp1W9AjyRs83iqQ+vaZlbA/O5z2ud4 -I9DV4vwA50Lz5nLFbPHa+yuT8VxTl2icw5u9rZy3iSok3rGXzGOzENMmEFIVFqIE -mPGIRgQQEQIABgUCNxrRowAKCRBot6uJV1SNzS34AKCErfsfa9Nh5deJ40nxpmSI -8lK17gCfRYcU6i1B1Nbg2Zkkr5SqTnBtaWCIRgQQEQIABgUCN08fXQAKCRD27t8g -GEvE2S2+AJ4udDl47EAnP4K+RvsWcv8qjqpzlgCeOFZZblzWjeie8oQfYl7bBBrx -PqKIRgQQEQIABgUCN6cm/gAKCRCYNGXbIUOUIn7JAJ9LLXMt+0R8u4gdmxQeKz1T -QyWoswCfYQh/tMjUzk4rKxBy4UtELnwJ9x+0C1dlcm5lciBLb2NoiFsEExECABsF -AjbtSOoFCQzJfIADCwoDAxUDAgMWAgECF4AACgkQXeJJllsDWKK11gCfUgltInjq -S+wGOrxfjiGjJsNmVtYAoJLaNHln4KYwLlYOo16kdcB7dqUDiQIeBBAUAwAGBQI3 -L1nUAAoJEGxMMaWx1RVnDcUH/24NeFhidBljDUrrjjkdFmM1Gjbc2KYi0lci663l -7aPCwTcM24M49q2plu0YvrWCQBy4bbmvGYEnom5oAbmWrBfHW9ZuTTdWXBwVxk8r -AI6fip4nE2fTq4++Q/aN6EpjMkXIrBIa/oJI9LVYRnzgDgunim7n1bsmBQ1SMjsl -ARpVuwKXpswM2Hpn7Nw3Yx5/O5ZIxzFREjuHzOa7S7knO3AXy/3upY2lkHOVvEtI -CA79FbS9/aTFuAZaSmtua9eKCcsLlKb1gmbrLw5u2SZ6mf1poDh0FLMmLnU0TqRi -G5bDYPIqguoblqRkgUXbt6EUEYZKqX1XbM8+gQf5wMdNatsH/0PlPVyHdY8s8VC9 -UhoGmDH+kHcox0NaMbhSzcczOgvzNOvbcGzYFye9UbAw11cRWX0k40oh9dNAD/fv -YW+ZsnGly1Dl2A7zkhcxwXfy7IxTVa6xWw7OV8PnCxlRziIEeSFgH4LuXdTwGVPb -kFYHRp0H5mYN/N0Uj8b0d352c9axzVBpkusO8ehVW8WtUFNrd/IDWnCMBwEwD3Aa -ciS316M526YNwA24Ahsg4wcJ7j0BEJGMEWpG3M0a4HvCGj2W7dh2D6FLHblzGciS -PM+bb7u6VA8LOdZ1dRF9eQXDd/vmmOaVMgNSLWmg8pkFZqBW0AtATTMzDud3TJxZ -KOIuNpKIRgQQEQIABgUCNzr5owAKCRB1D2SVyJ2TPoaLAJ0Z7QpI/+9LIRkz8YKV -Be+MwPhG8wCgnDJMh1yM9ltCLMN4A7du2fYILBOIRgQQEQIABgUCNzcjxQAKCRD2 -7t8gGEvE2YdlAKCVZs8POchyc7F0Nb6TtiAD37+fTQCfVmNKImKm96tTEsQUcBtI -FYjQie2JARUDBRA3Q97TUoBXRHZTQB0BAchxB/9iTH4O9RoIshiUysQgMpncn9o9 -snx+sCO/NiSuAVleHNBP1d/Kvo6SGLJYoVfbfLPMNVyuZ4jGi8JQjsgVjpAz93nI -evhjz7Xwd3JpS9oUvPej1mdWnUB4AnkKQfN+5+eso9Gk7OC9cWq20lU9tpVMDIlO -j8GHR9kYfJ4fBbzdCGbG5Z9pzo+96gDUMzX5ZrHlChdV4eHJPMi60XeK+mpocQFQ -H3GBUSTeM3Sy93JoYJLdAA2ZcwMF5xI8HRx8u0rwCZNXnDTgPaRbDiW7587n3dWn -7Pwmxu/CPtCQ4YO+WdjcKvHio7CqojtM8/7xuclkp3Wb1pE1s9w929ca9SHdmQBt -AjBtg5QAAAEDALuW2Y7m90qyyiHDNcRl5i8NbaWXcJgPYj6u6I2rTJvGR8UGimr1 -zG1rQ69Uwvgsr9Mf7rR/8WrH3CDbKT0A9fJqiZ0utd9bJ9n3Vi00J+PcSULhcHiq -qbQdGfTBDJhXpQAFEbQhV2VybmVyIEtvY2ggPHdlcm5lci5rb2NoQGd1dWcuZGU+ -iQCVAwUQNF+g6Y4HfUaLoGaNAQHPCAP/Z8dx0Ne5FFj5Ie8hURLB6KOy0H7b+xVG -n4UIONHvgqDnvqwkd9MkLG1JKbOlpWl6VvnPhREYn8HKLkv0BTuELvlLVmcn4yMF -PpV4/KT+vS4GsyRT+UwbuWT/LYHLceWX552PMmx3Cfpqg0+LJ6fgKHhQZMSC7Fiw -urQcRL9S+iOJARUDBRM0QITaCen5CopyTkUBAf7UB/9AyVg+Usb7kTX2o/oCKUpB -TM2R3VNYx6ddNLrqEYhXCQtVAOLpEKKaGcsyr8XsQ0DxtJvLIy6dxoHPl0fiSN+I -OnWjrgtQtxOY3Utb1y2lMAh4sslmfDGgkuRRstRgoAMqogFccy3YHTNGaEU6oSNE -34+EjtcJwd4dYeIN5QHnxAozJ6gn9Ab/vMvCc2AM3Y9WqrYTvYLfJ7kU6Rgtwd9Y -rIFGufoF1SmEAHQvFm6NIaTyiFkVuJr7PGlZ0TzFIGFluNUaXAu6uZLZROOPEHIE -2KF5QPogLe7k/qmyV3Q5+qemuJmh8/QIE/ahOTrmvnb1//WWzLaR9atU9ggUlcSc -iQCVAwUQNDKd4aRYxL1Kcl8xAQEwEwP/UAO6GG5j2TI3s6PoM+sO3lKk9AMZLQm3 -DfK4g+h537HLOWsS4vYd5o6PU726umfxcs3tXbVqOTOWqzGcaQ66J9sT1RPrujZv -a8KV0JxjidXmf5TWycwPA2/5GRwSA1rwA2JaSbTdQi13v8WkcNA/QUiBs8Q/BGgE -3zsjiBp5t9GJAJUDBRA0NRLDFE2blK6PfPUBAYxMA/9RpdcyE/NyOMvEFbQBxxN0 -dS0uL4r6tLk83HF5/aedqwSEJ0rgaQz2fAmCw/QRnEIbdlIAiVYiBDcwrdkBXUC7 -mksqiVGMXIRkXjbTAC2ITtX7iXDcUKo2hcMkQULcFbjfWTHXACEOT1Vogcdp1hyh -/h12YwtA5bZwnssMQQFb9YkAlQMFEDQz9VAiZsaFTfdptQEBFygD/156sMFkY8K4 -bISZAFyvbgo8kda/8RkgqXkMz9ifPVhllvMty8QXDDfia9jSMJ+hVwIoh4UUEwqJ -Iqs4y2hULpxAwqmaET2FhFK3DgTRtx/QEP+y16l1W2nBGcbxIM/Zlua2DKNhP/tP -hi3r/R/o3/Q0LsT2p+rhmWlTe4IYa7/jiQCVAwUQNDPySnaw9XG4JAR1AQFzlgP9 -GLG8VwtM7UfOdtuWs7RYzNBz5HipDnQKYKlZwUzC9V5Aej9vGjEaCA0ya5VPRup/ -syiVkNIk1L3ogA3fa5/bm1geARGdBoyGaLVpIe9EOHiPEW7yAZWAvqVaK3+8ENb8 -GIUEIfqxkkmsZK5J2l5xO1pYLw4kYOgpM70+oAD8dBGJAHUDBRA0MlLHTXV4WztU -4BkBAZ0pAv95reoPY4/fBVPNe9+NAvUKixfjDIq6wEGF2327a85P4paSJGTWjfmc -g4a5kse1IVANjwJUM6SqDqDixVs5xOXxBTAcD4DgBUMifBObWbgGTih4IjCTgGnq -YN1bXWDbyT+JARUCBRI0MhY+b9jjA8N5ozEBAa8FCACoaHMD/bUrugv8vlLlfP/9 -47snyGC+qoZdZ3Xd2s3Ldsdso+ftPGKWQDdxrbiy37pg9kN1JQcswKqDXpg4zJAX -yASRftkdY9pxWhSkKZLPW5Denpbf67lQKRGmBA3zAFsnHlmkEGp6rmr/fWiRqg2P -MDaCERbJHkuX5TQLzsxjulzs+U0cYKvRk06GG1/WNT4f1qDlTJPp7EhiKbdCpZiu -6IItJRyKbSXfArssxbXD/tDpxZ8AVC+XesaO3euDo5aD0ngfaHm6R/kk2JHJuS6m -Zq1Qz45UxGR/3ePNTraRvJmkkEeJBm7HElouSGm/ZGBaJv2luR+3ATL9meaOTGUg -iQCVAwUQNC9aOHjfXfFhHz81AQHftAQAiL29H2H16efPxWLtE1TjXeHVmhmPF8Rs -6mRACMT8utn8vlaJZ2hK1KLKoIs+jI+lBp+JTydM6vUqZjhGBx4k2DEhbg6JIyhK -+uFzaSo/6yRvwDYHj7jsCqOvl9IBV9V+sMyoMaKt46C6FD+F/0E5iwzSCz5E523I -tY+0yNGcWW+IPwMFEDPypBKPqVFPlg4pchECe1IAn1K1IQwGgW+TyJFaldvr4sM0 -tRbMAJ9PyJjcjHC8wXqOMIetu7FCQvtyFIkBFQMFEDQww7vnr00jJ6oPcQEBMgAH -/i0I9nWwtY7TuDZkKmI/UeVil/k8Q1pe1pqwW+FZyHt5R7cOSy4wQ/MHkadq6hBk -CS6EQaSgR+t8vcBe1cf5Yyba3t0hxMEPindeR5n4+AmkqIBJcPK6X2u6Zde8zFIv -gpXtqv4XVknTJwLHavZq7Sms9qjvSEMDMtPLXqGtaC90dIrv7DBpg7lM8IvkkOZw -H50cpbvao1Q4PSnFt7S4KSRv6APF5VfbylkSQgg4wxX94Czluz+yZX54mpZP8TJ9 -UEOjuF4XZp7ImPl5zE044OvzzEoXuoSmprMJDjGG8Vj5ifr680Jxh+Shls6fRdAC -+p9rZVpv3ChUhVJoOOL+aU+JAHUDBRA0MLbfcV94PgdgYEkBAWHpAv9cKCbk7er2 -RamC2zUwcqgeiHu/FJJAZI/aTt+U0/VQHae/iwq/IYzx4koCm5E4ih1xORxwzipd -oG5e6cyvmQmW8Mk+b40vMrKG1A/Z9YjvEZjCIKIHb2CbUYUyN26vhqaJARUDBRA0 -MFH1+MN2oaLFF0kBAT6YB/4nKolkRUXA3BnaFIgx7B6QLWvs33un3biep9kqfOfr -B4WkTzQoglJa0RXMjRe8eVUI6dL5ZHGfvPHCs5NutwQ7LSChVs2BSw/nKllrb8Qz -njq7LIlO+APSfADjlDhs/mwaGOHQbrev1XCi/uK0V7hEMEYzyJsadlOv2Eejjr2O -miYdI15q9xpRjISpyvgZulCZ2klOef8fQD58yXtkdGhpyU3H1mSzGKG4JGuRC9Q5 -ve5EP2UUiEK83ARqt03rZ0o4oleafVM63Jqdm+eZaKBTkCYa6ToWmwKWbenm++WJ -3riLj19m329bmSuzZd9R69HigvQjJSX6pbYc3QMiUOIBiQCVAwUQNC9u/bByAnBQ -8yElAQFUEgP+I61LwJB8zG0bQSat9p5VRTxH+l6AGZVYMFQsCnwItO11/GNXOz/o -NfDRGiBcxFGXZoV+7VinTGEFiMgjoqq578XMAVdj1U0XWl6qc+3sAN16m1gymllr -ywaf0EFG70WzDr3PomTKq8yJXEZwrLdcSlUavQkfHxe3oFh2tQuIqvaJAHUDBRA0 -LryfqNlH+e2VR+0BAVpiAv41RgSP+xf0znGrU5FfRKxU8yk1qYc7ckFKZlIjOOKj -HkwCqgU4KKACSie7OTloHL9tEfLVyYME7F/iY2HOsfw3oiQa88TvRyKYOdsW+v6G -hlKMirG0Qs1mwu4tVq8s8BeJAJUDBRA0Lq9ahwK4eWctBcEBAdvWBAC6CnrZpXMM -K7Pie19eyaUZstjujmhldggp08/iuI6PiKZwmHpxKBgUvo4zN4in1Vb88ejaaTyS -R2TPm6J/kuo6QS4jGCtrunVir8svhhWFYZB4PyHCma766Vig87DjR1VhLfo/Cscg -f1p82GXw6vk7ZUgchaehD772vqDCeAVA7IkAlQMFEDMeeSHWw0q1fWuuhQEBamEE -AJ2G6qbsYeiJem1D9jkXoGK8KPGv1yH6A9KNosyGrSQEdU75NtfJV59VUZWAJi8U -+OjMzw8RXKRAC1j/94njvloZeMX4E4CGXbPQgyRAoIkwTGgQMdtyPSMggxnb/6m2 -C1sVLInYNDe+8J1vD/WTI8dM98/4va7jQZYwhhUFvKi6iQCVAwUQMx7v5RmzKaWf -scbZAQHMwQP/cvQPI8r+7o/IB3UB2mNQ4NORZNmNnpcDa5tzohdexlamYKAH/bi/ -yOwncMiy9QPcp7nmROvrFX5q76YCTA5CpZRNRZ9AKRKtIOVtQnVU8HOHJOm7OMGi -m17ujdHpdd9wuILmNjp4JfRC0saEqkuNOvm5GF/V9g4MawAZeYIHIO+JAHUCBRAz -LpQwHRn0wQyYV6UBAdXgAwCN0VQjIW2lOvmOTJlJ3fL//QkY7TP1T2EtXF4EELC9 -0RDGyul5O1V2ql4pnEc3UaE8Ji+AsVkBCVw+H8Zzy7247vBVKAlzfNgoVOEqlB69 -0X+vONMId+CKB/ki6LSqKoGJAJUDBRAzHbZsC3OAb8QPTp0BAWLSBACSiypMxbL7 -V5RduLZrMUrdFfkRF/3CU3uaqHtO/Bw9e9VbNQBGfBG/7iSTe45YjXyrlQ+Kzsof -cpg5V5Gs93xtunpKOEGHzai6tMRBRcsENCIjVXVxlmbDAR2WcCeEWeReAwE0zaru -gF59EcAN9gN8aj3TBfKtVUv4aKEM2nNTA4kAlQMFEDMdQWc5a99QvA5HcQEBs5gD -/3QkisqbGHA/qq5qF4U6OM+jEMYRmkYkQ7B6MQHJiP4CA40JGZBLcHJ225sD6eb/ -fYMV4byl792cW8Zz5CA1bnrSErbULYomPvaaGNGWD+druPPj8yYEC/mTrVDuuhaL -SvDH5H01IfGmyELwD3bOa+jzD9fNVKiALyknTiNydjpiiQCVAwUQMx0+21r0vCW+ -5ILdAQG88wP/dMkaugeEdiMeGISkNllWzN5FDRy9Uj+4suLnKrdbgXonLjsMXxVy -QDubDRtes4w0AI3sl7u7JpTzmq8kLbCChCkUZ0WWSOaQDAMCNH6SgTKyITwWiaI4 -eG8SkRj9KNJLiOPgg+aBXxWrrpeM/D6LtnRGw8s4h/rvJkfHKk2IGJiJAJUDBRAz -HHCkqurobv/vwPkBAejZBACOenorE6XpW+/mstD/iuPc56a8XshRSrfjFvbmL8FK -8YFSkNBVSaG/+oh9a8OpYZl53Iz4CU1J9RY9ac/jVLw4f6VwREfaDZ0YoaXuQfUX -YHEHJmWpEQebarrbjA88DflEte1cjHTrJiMu0ntv4UIBfo9SBmS1liTmDCN2gAas -LYkAlQMFEDMa9wIoLpzt/nc8ZQEBSjMD/2X+oqZypuLxG0uwpBKHe8d2z13bbNxu -S4k8FKg6/YPuLZUuyFpAWOr7ra5hkYTqdTVY/mxlwEO5aOhfi3g2t9+c4b/VH0PS -3W30XjsPvscnOO+j4nnZI3nbRgdxtPxWgd09GgQ5c83i3OG+fYZqlVV1oCVYzQwu -WiE0fcj2Nqn2iQB1AwUQMxmVQCfJeCVLKSvFAQGe7AL+NdsUv6POzYdAK6jiDJWs -+VSSxAIthmM2dm3DVxrr3sZXc2EGFJdH1YctAf5laelPODaIvdZhJ2L21s+zvyJj -UVJ3gQbwf1XvTShAbx2UgIXlbZWPNHt8HI2iwozvRZJdiQEVAwUQMxYGwYLLW315 -yRYdAQEfMwf+OauwfBI+sDlHTnlUJO4PN1LQAn625aSojKpBCmpuiy3z0fGl6vcy -aMslqz9Um/wSF65Te9D1rywbZKeVYou3MWqmTtMKTKr8fduW5vRqBERs2diEcdMZ -AUJglviVaNa8yN8/43mO+UtycOpA+Whd8A6DLtb3Q86ioWuy+HF2mdeCguvPI02N -rU7U1GP4J2/8aYlg2LqxB7jfOZdZ4DuzIsozDrTnyOgOoQkUqd2BKndnL/JeY5s5 -n8cLY4nADeDMRoC7w+p3Wy/AYgbOeq1M0Kf2TX6sy8k9rGCWDs9cglLbzaGYGX0B -wmXCaHYZQKzCX3+yP5ERZNvxKAlRuQVynokAlQMFEDB1uhUw9+yDGKhcwQEBD8sD -/0EVNn1P3k/9O2zF4LuWb2KaTaak1AIES9eTbzoVCcYW0Oh0Z8F9wflJ4odpQ3EV -pevf2sMZS2hMT3yIBfeqAISV/hXavOCgcum5DMKDdTfl1+zWsjGWlxIOTmK9oek9 -XdK/6aWpYvTj3L7dsZpl4CfAzqS8Yw/a5xxL1TpxuGnDiEYEEBECAAYFAjca1F8A -CgkQXeJJllsDWKKRZQCgilK5fO438Ijrd1m1PtEvtz8q1ZQAn3b1IC1Ov1KWlKDE -wLxWTVPWLn9JiQEVAwUTNxycWdImKUTOasbBAQEnHAf/ahq4b4mVQLfMFSyhaFFD -CqjsN2po+XuwfmgIYMpLjHgJEDbdTXk2JwMjujHoSLOTAKOTR1GvUR5Er5GovVv/ -ZPjYHqfKc4uFEbYDQE8dFEktygvicp+g9Kj/p0gL7eJWWIYSX3QplkPluc42tUlC -RGNkvwCj70imahiHxeNLnEwsQX2gBCoCQD3edUGbnqUqZovWSX4zd0kW00q1UHx1 -7VleJ8OzwfKQPjaphW1yx4IrFleELdRMblgs2E++BkofxYEKvfNxHXeEUPG55xSa -7QxWG8TOgrIFhi3SuuqfJavHBu/iBJNRYflluCxONzVJgpnHPqGs9Cd9hbM2TOeU -VYkBFQMFEzTEvjcJ3HA5OfN/XQEBM4IH/RDpaunPA8yh+MePngyIYspU/75h/DN2 -+ewfFWlNktnlTHwSsOycua9QamGctUQtnASQQZGOWftrX2H2gvxRhlpX4hxHq1DT -oVvWV1H6r7ede0FjMaGV5d2AlBIosmTM8Xva29jQMdQH/8ZRX0gEtAy98bwh/8AW -yKHiJeL3oM61QBt64iGcyVbAskV4aMsuxfW7odJfffHLhsZfq/9RwdtNJJhrHNv3 -YZH/Gk/Ze3ffaE4VGQNkvnaDbsdLRSsQlZ0BVluHbkptkSXsLrNf/zY5nmdMTOIe -jbR45Lo2u3b6AtJ4D1fmH/6pTHfSRM/PYtQ8FDIiosImQczz7SrmP1yJAKIDBRM0 -xL4dkV5OLNsIkwkBAWsaBGUQCQbUVhTi59PGxrGEVnLvG/XznbtjGmWzqZIKLUcv -nmcmhx7pMj5nfgyss5qJmWN5A/cRSDMD5yzWwVFqCjirPbBLwxyZD3DQU1BAzPi9 -WD0JWLUlRV3gRZi8mkDyzAN3lv34Ch1gUSx/G31ndo/4BxYVvXRGVVWw3D0SE5tz -ogyfAA4cIQj2+nkXPMWJAJUDBRA3HKvpTKNNLIhJ3D0BAd/7A/4r6rqEhDT22SBp -hoMuVYotu7F49eozig7vaqLvQaSDQ9XmdTiXfrxHpbnGBHxmTGVCWDzmwnRsvrBb -9KMzPuk/2GSE3CTTHcgWQYxNgbyLoa3w2bvHvR3MmiIL4Dj3o+vJgLSu8ZV/46by -Pm5N7EEGNv+OkmEBD9Iap4N4IeF44LQuV2VybmVyIEtvY2ggKG1laW4gYWx0ZXIg -a2V5KSA8d2tAY29tcHV0ZXIub3JnPokAdQMFEzYbYzIdGfTBDJhXpQEBIooC/jDO -Yrtr1n6DQof7pbx98iHOtCjzAMBT1fVYkrMmNLbTm3HiaZ2cC3nzJF4Fz/7kddMj -wgpHwiAX4tVcpYAa/k/kCoaGc8x5BIKzUlh1/0w+9t7fiMPzADUtNYVef179xYhG -BBARAgAGBQI3GtRpAAoJEF3iSZZbA1ii9GIAn10kFV+PH2UYBGgVeYCJ5iswYOub -AJkBDI7hajSe1D6Krh2j0zf8VMWOIA== -=TbxO +mQGiBDVBlNMRBADeX96LvyNiop30YPeeCBJZzeqQuQ3yQ+SK3AHoXLQ1qsGHrdoi +HfHbVV2GfulRq+H/z97vUtA3APE2NZ7HuvBJzhXZCOE93wT59OZV8Pp5ir6TAEYm +dvPCgvjYmwQvKgvaF0hG4eyvQst7SaevFUGV+jEz5DQhniy+/a2/W7nC/QCg/2SE +nBeZNJnZauf9cXQ34GnXV68D/1BspMcbrpY/YFXsdLUSbroG0EXGma4jY9UlcRV8 +8cIftxl2jh04l91bvzzCFgSGvFdxVbHWnIgbQ+PQ1cme7SsS3ZFFI3B3zykXGOi8 +shhOT/Gip1Tk4O6MwTyOWdTdnEGSjk+qoVwEMxhY/ZZDd3bbUkymrPK5jtfumreB +JjqwA/wL5fOdCzLWBev4/Xks2YENg0HVwN3a3iypNNGZOYCWTZKnFX5yel/mqiT0 +uEn1CJ5w29GKxRax/Ua9kr7ftMhpQ8lZdyy4Z/Br0NiU9fgvmWF/2WvOMx+hHf/k +LRUYewxzOSLfapiM1SOQs/L+29tnu4wfAsezSuFfKjKVZHlx4rQnQnJpYW4gV2Fy +bmVyIChob21lKSA8d2FybmVyQGxvdGhhci5jb20+iF0EExECAB0FAjZYxf4FCQPf +GysDCwQDBRUDAgYBAxYCAQIXgAAKCRCQOaC/0TnMTJJUAKC0jAhA3fXI2UCbfZ6J +Ti3CL0bcMQCgpA7pEUYM7edUlxqFJfWYtBblS5u5Ag0ENUGU1BAIAPZCV7cIfwgX +cqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyD +vWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5 +u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98 +iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlA +GBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqr +ol7DVekyCzsAAgIH/AlcnP6QSKd67ad/1lQpzMEBNyIX0X7//lns6XAGl/+U5Iqx +i+8sd+oJikFlgVH+n0JD6vq4dO8XCBzUgIi3xV2cuJqj16zVp7JdMXKqIxkDu5Q/ +By3/IL7WWkc06FxyDraigP1Hu3W78l0lySK8yEW+fVlkyzK6irkJ7EFWkSDaZqT2 +IrPd94hoGFEyQOIgkYdy2DHoK00nUd9FzIbhrrz2ZDJIfCMVp2go4oCu6Zk0LxJX +qTFU7K3SxVNN5jWsOCsPzWLyhKNrgnv8WzVaPKgqgMNdmdykAvC0iSTNat51p8Ad +4mGtY1nW0aOAiufjBTMUtILfHKsknItj/P2D4seITAQYEQIADAUCNljGDQUJA98b +OQAKCRCQOaC/0TnMTHKtAJsHojLJup9Niwsutt68U02uyl13BwCgpovl3ebeH41a +k2Kp37si/9RsdICZAaIENt243BEEAOCNfiVnzetemJ2DpFA51QnnGUihYs0beBQ2 +ptJP47uLlxsZbix2Gg3wDCP7HNgcEWlXc29vrd2oiA9nanKLcJzLYVL0lBBbPVX4 +8PGvRFKvJVHI17LWqpq3aOF8kOSf/4QyRIafWdGzxvAFycAiq2Bs1/B7BeUqmhWO +3FXs6VNLAKDqqMUc7apbVRFSV6/kbQ8PLTYw0QP/dRwVX9NtBEogFNoSU4jw1sRg ++nqGQplE9OXESMQO3fiszBkCWghsKk+/O+HcFrIiSAxRPR3y8nXCsaLQEf4WfrD7 +nKFeGWDIqPvi3KJOzuaqZP3DMf4LdfltmM/zHifZo4aBkkIQd6703vBFAYA0lONH ++W5qyx0ZnYr7XunDqkMD/2JC3cogap2H6IzaHl9oQegGKGwrCErBuJxCeL9i7h/+ +5Wg8ou6TE8kAGf1oMeeWwrWOBxub4xsUqfYk+mKM//O2OkCMfVFQgQQtjy5CtFQx +X5AErQ4Ukoy8XmNGOAi9ipWpL0450XwNvusaeff4D1ztJbCb+LMkqI9gYEQWSwxF +tCNKLiBNaWNoYWVsIEFzaGxleSA8amFzaGxleUBhY20ub3JnPohVBBMRAgAVBQI3 +RcCEAwsKAwMVAwIDFgIBAheAAAoJEAcDKpaJBMjiiuQAni3iUNjDvqvOQOlIgz1d +5ibjHrA8AKDWPy7kZN+W3Leptp3FYTIMTbDpU7kBDQQ23bjuEAQAl1Txo5tRemsP +8mNmoBlGQx/4EmN61ga/V8iBS7u7MvzI1zktNuHaK7rJItE4ilyGeivXitZ74eGV +7P2/rbNhWnOo1fMlvLvl8mDNmLD2nJovu4LVFXGhoYdGb75d2YbCCBN5Q/BSYh+l +b2wd6VewnqMy6A9iGULaAWz10G2IOYMAAwYD/iooRihzfIC6rw6K2kASGRiy/dts +3w0L9Iu5DsxLFH2tHUpv8fPVDuvGkRfwPuKaTHAvq90/I46/3BBTOOneMaW1+RAL +hM5f4ytsYNlDDerhRiuGyEjoGtXVjXye/3SwIxISrg0EO7UHNtr4rObQEfF69RcT +gjzKdO2n2WlP+7/qiEwEGBECAAwFAjdVLZwFCQHwga4ACgkQBwMqlokEyOIEvwCe +IHFkUaLTPmaZhAOs3yfwDtAC33gAn3f2BoDALaHL1uqu/unWQA1JZRTYmQGiBDfj +Y5kRBADMfdIcB6LbzfMZAe9+3GMqLgx5fUEhX9GVZIxb3w+ZBGbJGrERMtEigd+S +Y2xR9TWyhd/eVh80qcgGzA9Fyb6IOdVwN6HxtYdIz4CZP6ZmtSM8jecfbbKsf/Ol +BJQ6RZlAWNjE6F2r1D/gHpw1ZEl+lSlW3ObCEkeXBC/er/fIowCgwia77SmSgm3b +GgHEqfFQ8MID6lsD/0h45kDwi3K8WhI6lnZP0zpnNfA6753QaA9NqB8MY36YCVtx +OhBm7GUCgKyfh9zrTpZWwcBcAQyyB8Ld3K7cWi0uLy+gO2169cRApR0S1l6BlkbO +9wlv1zoRR1VT2gQCMGw6mjyne99v4Hst7UXV/nXvOsdrxdS5tTkAEL7Alzz0BACc +imFIsBD1CKqqN0fTdZooVrBZzpn6ZjTgzX1hKr61fuFyPgMkhzutN2jXy8tweCZw +FmN5XZ9cu7mxAdN9Xmwk7Kl0EGChwZdm7Sx9UTvu9kJnGOQvqtOkWB86Ts+r4fVb +w65BqcrZZzuMQrUqliM/YVUGazN/w2uyApNPByJUzbQ4TWljaGFlbCBSb3RoIChV +c2VkIGZvciBrZXkgc2lnbmF0dXJlcykgPG1yb3RoQGdudXBnLm9yZz6IVQQTEQIA +FQUCN+NjmQMLCgMDFQMCAxYCAQIXgAAKCRDKFfq6GxOtQUZWAJ40vGK1b1f2KN7u +BHOHLDAHvnuPLwCfXHyq3wGapWGDw6txlP9LMec1jf2JAJQDBRA342hqcwhlf6d9 +2r0BAenKA/d9luNiVpPciTyfM9W4GybmWSlLt0qxrY34WSNL5IOG6P2H335skdAC +xSUlwBSkD2IzoaQ0LAyGw0jsk8yWhfQqgjWxjZ0zcmKHZJZsMLwtvA4FeOSQuscf +kYsbA3vZWotYO1o9jyfAZTj0MeALzGEmxBeGUNiKUEnbBU0Lg+c8iEYEEBECAAYF +AjfjadIACgkQAJxC28xc8YI7iQCfboS4b2tqYvml31ouMT6XPHhTsYMAnRGQId+W +7mOHlWHvrddjwu8JHms6mQGiBDbYl60RBACxaonXMHpbmyzoQyxn7wYXGpEJZnKc +IWRc/sE++XSebUZMJOk09qkKhtg1TQ8D0Siv1/EjuqjoKP2f9+EOIW55+55vQsti +XwevF6pJBFYGGRluQPoFbUilDzCDmismFv0xwIEoOLftxvyvlmmw4Upx3/8TY83f +dQGzxSDvNbPEtwCguK4ARxZub/SQgLMy6S9/7itEfHcD/RXRVGmz3dDxXtgdAqwV +mY7RI+FOPQdn+DiFaaTjmqgP+NR6w5v72+jE5cdn/OnYmXQcERXc/4nZgWHdKmso +eLvLs0hpk9zFhgHkSufCWlo0ZYemaWRYrRI5mukGFIMbPdPEaySNQEqC78Rgj2wm +FJ2ttbAQlSRi332xTwFbzY4XA/9RppZOE9hGCh+2P4FgtHMgf7L8JUJVgR9tIKUv +GXjDkSWEqIMeyKeXFoPk5QdxNVM5sRYf6gmV6U3zHUOfEzlOf5GUJyPkmwl9RADE +6uyk4ySlW2d6+glsM0/Fd9Pyyzb0v6xfAPDFyTYU1X6vUDp0FyzPUijhbrdj4Fwm +fAVf3LQeTWljaGFlbCBSb3RoIDxtcm90aEBnbnVwZy5vcmc+iFsEExECABsFAjfi +yIQFCQlnNJ8DCwoDAxUDAgMWAgECF4AACgkQAJxC28xc8YKnHACeMFOdlg4xjXgE +FzyA7MQFxyXmyuoAnRCcbQ4bvEm/fxaaBFRnJgavm25LiQCVAwUQN+NpSnMIZX+n +fdq9AQF72gP7ByZG6W8yTz+1nv+CMvGIGLa4otN812X5lXvvIpH7bNgoWWD70xvH +5GP/Q5e3yUh4aGGN59uOVVQ5uoa3VFYl1ufWt2LvxaSW2q7f0FcvEref/5biu3gx +2O296DWENYPP3xZtaD+htaDP4h18RFBIvbZz9Ryp9C8myGEPQGcOxw+IRgQQEQIA +BgUCN+NqjQAKCRDKFfq6GxOtQfhaAJ9bMyNoYhAf3jkeMy1cnXoyr9ZbwQCfeWjK +xnAa+++nbYVEnuPP2gUdume0Hk1pY2hhZWwgUm90aCA8bXJvdGhAbmVzc2llLmRl +PohbBBMRAgAbBQI34siUBQkJZzSfAwsKAwMVAwIDFgIBAheAAAoJEACcQtvMXPGC +iF4AniaC76L0oLBvc0jA40NCXMDz4PX2AJ9RGPnHKf0XmaRXcTOlR8MiH1CeoLkB +zQQ22JgDEAcAqtpFls8cnLDIh1r6gSRf8sYiv5qd+a8CDd/LWHveWeGCeuBiVbwv +SG0q9ci13ZRIEtHXi0BVWLBpz/YqQCHJX4Vk2iV6yY7rCo0rFOEzyco+Glssjg1G +/ZCuVkGo4rpLKqOn6oXq92ojwBNjdYeBOOoZ78jp65gJ3OC0ckYanrRUe3J9bc0W +lAA+to/Dus91Ivkggu/iH5DEPrf/PQY14t7jxCcxBJCa8XaC04LrXVphPuuRziVe +gINTU02fdyrZlAyWf+0KZq5rMza1N+NwSxjkxBOzM+lbhA5PSekqHp8AAwUG/12f +DRpOtZ/GrKoUgkML8urMjxKFD4Hh6l1Wb5NCEe4tIm38yI+C/AwMCY5cDlf03YOZ +0ThTVjpvQfYT8EJuPbZ+2dGYEroY3OBLetcg6DDh4saKsVU2XSLHyCh2xPzOiusB +xNPrmvqd63S7JnRSSsEfgwYpKpA/GNMSJyyFpT4vtvK3jOON0v7uobYOBTLRuwj3 +OJMJfyQDa6WyiTJxUvsuQL0MK5cZG7oLUWTK9ZrFPuqzLeZAcpIgJ/QMJ/PnrRnZ +gUnXEbsnCVZ33NVBtiK/ktS2RTQKcvCNPtnimRqsiEwEGBECAAwFAjbYmAMFCQlm +AYAACgkQAJxC28xc8YJTTACgmUYdFZGR8pk9NbB4lpnKnum15WUAoIgDLWQA+qb1 +EPtpywwRBvqGOVUPmQGiBDgf7uARBADdNye00iQMSe4RULS0hDKVGNl1CFGzeol+ +AoNkW9bqXD3f9KNrWD11r9tef6C4OMN2fILO7cpD+YZwuHjXv6xSDAoZ31bmsxQn +N51YhwFhZRh8K/XheaULO9gedCZaXndQ8dvXGC/doKKOo/CNGK8gct+cPPr0N6cu +FztlgRpbqwCgm8u3ylalEvlWhXOjVYoTnEs04aMEAJVK0ZcYjHUdXWXi+TaDZCJq +ktk/r2E4M4/EsBTIkuAuy6RvPediVShRQ/CZl0MCQHM17ywdC+PXgOmQLeGbR8m8 +flK9HROJQebHB23/MK2knm/yKgqSJbtoDv23QRfZjNd1aox50uFLvv36CDMhAMQ4 +ENHrBzuj5bMZo8nMELVaBACPlGKAcAO2FP6DpmcJIXDnO+oVHvs4QMzADn+/aBQp +H3UQASAbu7aH/84SLBUH0h1Z9QNkKLuMtpC0rVHqRsw4d4FmOxoxvOF8hQnICiQr +2XRMDKZwR/+gH9Vh2XFRi4j/xHH2h787C6bKoOPd6UPJM1HdxNPQlG89fb4hgv/e +WbQ+TmlpYmUgWXV0YWthIChHTlUvTGludXggb24gU3VwZXJIIFByb2plY3QpIDxn +bmlpYmVAY2hyb290Lm9yZz6IWwQTEQIAGwUCOB/u4AUJA8JnAAMLCgMDFQMCAxYC +AQIXgAAKCRDj8lhUEo8OeTsQAJ96XKYFFJuwup2Mce9mDk6EOnEEdACdFp6gwm6x +T6Hm1FD53oKNgrnafhqIRgQQEQIABgUCOB/w/QAKCRC+6Lh52/bl/+myAJ0UubvN +9ydWvrdgkKbfokKJTrOC0wCgooxVzceD44Oo/C1kaHjXv5yFQeKIRgQQEQIABgUC +OClPHgAKCRBd4kmWWwNYol/nAJ0YXC3/sGqBaddoLqoLpo1kapcthACglrEi6n5z +6OcQO+II4Fe6wFOisYu5AQ0EOB/u8RAEALec6/ux2Py+0Wv/w5J/VmDzUNDOHQJM +kxTEQbp+vZ80Quf8FoMy8i9PciekoDl+oB8/zQDs92SgqGVD0+y8K9UPIEvmifjr +oPn+EsIrXf8M7dGGotCtwaiEwDxwmetlQMYLd84XqLj0LgGzdT3/7dMurhUiGZH7 +dpWMfUZAVNjHAAMFA/9iLg3F0Bqi1dVDeCMqOVCOcWKhulFG80il3TwS9Q7SpvJX +/4yZyoEdyJ/VYm4PakvDUyiy4MuhsvGSwCEyXD4IskEkmlf97jDoBiiktexkjlKI +vmp7P0XNQMURXFLqDilI9YY2jVAu4XNw+G0G1ImGgzbadbraUl1J1uJtvg+NOYhM +BBgRAgAMBQI4H+7xBQkDwmcAAAoJEOPyWFQSjw55J58An1UbKjszsK+9Awtz3a+5 +gNiuzdo5AKCE5Pv3w56DMeZLH8GyZkVqo1QsrZkBogQ3KcaNEQQAsRxnSrRpASl8 +e0lOtR3C7I1MoCuivlawh48JzC9WXgA/Pgn+VOLiDDob/zjQoNbBEoG+BHrwq+AC +CVBQFAiMMNur8u7qY+R4eLWD/KDKaNcydchdKehw0eiy7d9mv0hTHSmkUIgIpy4k +d+XvsbozP40+/G+yNjGEHvJf3tsO8ocAoP4wWPnUPNwWkuKn41tR3cb2m+ZlA/0Q +lIn4E3Na3o0AhhuLC3YrJ4X4rHJmUJg+i2mS3lJCM3HPJRCdz/eIlU4WiaBpNPve +PMEeg5KSluqdYOsCvBa6XsAGm8gxQ2Wzf6ZqsXdBxztjwXqcLeuBKFfuDUlwloYI +Rie+naIgPasYwu3ABG4peRJmc8aRXJCg39rE8MK4BAP+Pt+NqJQw9S9ykLDDIXDD +ucH7YOBxfvUo18lPr+iNuPcbXh3fQQoibk4qK0w699YLGD25KizP+FTiCrD2fy9i +knUplevJkGDTdeDLrAPYVYTM2hryLPcisSP55Yf0GW6SnkFbE5LKYHo5YQF+9rvp +yUCR4xXm6CXo9m9FKBuuk5i0Hk5pa2xhcyBIZXJuYWV1cyA8bmhAZGYubHRoLnNl +PohbBBMRAgAbBQI3KcaNBQklmAYAAwsKAwMVAwIDFgIBAheAAAoJEHUPZJXInZM+ +i40AoIykcWzV7PpBoEG4MbTXTNpKBeTIAJ9tJcXW7S/ox+iJGOrBXgSlB7bXnIhG +BBARAgAGBQI3NDnLAAoJEF3iSZZbA1iipZEAoKm4vkXn0/4KC0aZp5o2U5zyErZe +AKDF3mdMyHEumx4xSWJyX4TvDZ+3ybkCDQQ3Kc4MEAgAsgkRCXJQLlHgk4Fu1Jk+ +UKEDdMZYufSOGR0D57WxbRtArPqDMox1NqFHGi8Sg88TtDwH6/BnGkYCOuBQidaE +BPQtl7jeU6fQhXL4kRY3KB50/ChzzUB/G+LsT8COCUIsNDiBQxwEiLTEOMFAqbRA +ugQhZnUKrf0auZKnB53RPhAuIdGozC+k9+vJl0l76e+JcVr8AL6wWBQO00UbKgp+ +MKiWjFDSYIFtMNrXO9rfHW1n3jW79bvAVyFl9rwEbL0gbSWmaZKXIWI7D11J8aYF +3ppDk5UsCc0Cs70okV9d58s0PjnTqwAcVxZcyoO81qJVOPesRVJ4jURdGeSBTqNM +rwADBwgArjJRLMSTveaC2tELGSr7qBioUJ9FbFk0A5D8vH3Xcr34E/m0sgNGJSD3 +qWQNXN0OpH7hKdeiwEPLE8gR/Tnxwgb+r3S0dBViktQPMajdW5S/dJfusTdqBzo2 +LgdZ24lVl1O0ZKci+6SVWt5SBxbAYYtgSEjiGhbWUDdQoC52yNGUQvG9wL5OD1BK +y94wzKQZi9WV/NdNfJPMjZv+tx3pezfGYTPDnUpP1CoLXY/gre+APwr9yHAg46Hz +F+DQT+KAWQDTxahEUk9OE86nR3gO0zNN2KzGKb297ikcLWYusW9QQ46X3uIBTYmK +PZP9l/bR7322tj88GPaKPesZE8rR2ohMBBgRAgAMBQI3Kc4MBQklmAYAAAoJEHUP +ZJXInZM+GUwAn2qcZ8hOcrD1Bw7zZofZ+xm8wDL/AJ9DJQbxAae5kKnBDG1O28B4 +J0wF45kBogQ14HkWEQQA1qRbEQxVQzxv1QAvAgFoW3nT+BbWAs5fenhmvkWIMunk +xhB8cIeYaImzmdDK0YioSgQ03ER5O4x5AcVKXiUJKUWqIermAqSCk6W0z8iWD0Vu +boP8JrAJ6hd5WCWPpzb41OJumi5Xy3RzWdYWq2IOXOVZM2Wt1gnXA7p2PxS+ZqMA +oKLnKFiDGdQPqKH5zwG488A95X9lA/4mkc0LBxfBIipWEE3HzgkcmNRb0zdxzUGY +TGrHIYK3i7TZrfq09+jTA1dMbs2tX/nbUdd1oMaKefCqBw3hD50E685bla17TPFh +NXhBRCCGhH8IGGAg0o6P3B0+QQHJsp7eof/VKgIFN6NeXga+621vkal5eU6jHQ44 +sHHkkkk0fQQAu8a0B2kf4VFHIE4kDraDPgIkhWV2r7efsLJj671NOKBHOMzWB+PK +0eh0b6Tc34n44lyH6Cmc2F9xUzk7POa/uEi8aPB1z2/NdYeFg6nKTrkN4nYnQtYr +GG4oPgeX0+DoNHmlRJto+pYMU8PwJA9fCT1K+szRr5p072LImZ7lsk20LlBldGVy +IEdlcndpbnNraSAoRWxHL0RTQSkgPHBldGVyQGdlcndpbnNraS5kZT6IVwQTEQIA +FwUCNmGXiwMLBAMFFQMCBgEDFgIBAheAAAoJEJg0ZdshQ5Qir60An1Zl/jBAU7Cx +XINEaZupk1TmkdiDAKCFGR9orHjfKgw+xEA+idd/Ls0lDohGBBARAgAGBQI3pyH0 +AAoJEF3iSZZbA1iiXRAAnRCydbPV/ipvi0NfEzV9+RC8lBxNAJ9jQwXwCKt0HVc8 +/Y3OVY/WI1LnTbkCDQQ14Hp8EAgAoz58r9ogDLeyaL8NoMXoMhJ0ogHqC0jzt6xa +zw/h6t0AJE1He5tMF1yVkenXo+sah2oTjrm38fRVXODbACvmn1oP+WLcK7/bG82V +Ol4Zv0Iu+8X1KzXz2JGae+h0ogNcwyW7CXfPSEVhrCBTY7i7mdnAoyGFoW0yFSvt +8YcRXdN7GU16tdATfruMV276MuStGwNIWYYfjFtqwFBdaVOpwMfJs2golT7PLEIj +O2l1u1ZtAI6WvuEzQH4ftzzihmHQXMf4YsvtL5g/8TSJfmfUEFbbKFbU5bIbHzG4 +yj/O8uEBBj7u01oGpu/5UVFTgslvTIEAWx54sfT/oA06PvhsDwADBQf/VWZUn/wC +/gktKZfh6Aq7RRI2K5bJEXhXE5p0rPWLMQy+v4DPGcuDF3nLg1IZT5mbLUGEh+7n +zEgUsmLGPqBz54DgjhBxO1DfAfV3HVnYYpL7DO1u4ceCUh2O9PwLnp1+4W2XmND5 +nFrQ6gGChCgwb79/PxQdLEgj9dlf+vrv5SfajmTydiFCZ0+0GZRFDytdIda08TWv +DabV/41F3T0TSbCMGPWr/TgrfQ6yeyOUpO9lmVbS0u9gKWGAedVOofMYi7Lqp+Pt +zNQTwd9PKCP/HSjUxmm4xX3yVZuUxUV97ckucB8TOlr9deNnq32jnMuP9DeWpBz4 +05uwoBLYvOGNAYhGBBgRAgAGBQI14Hp8AAoJEJg0ZdshQ5QitJcAn0sn+TIAlbNC +3YS5YxlYbExg6UnxAJwM+TJoHjFG8+rZ0nW7/vVq6+hHl5kBogQ3zBNgEQQA7vY0 +FBndb1BOSmisOzqCtcqwzP7iMKF+hwEKDqRKrO/oZ7zqMXigROEDb+ar95oSh2EX +7tETk2b8ga9LA0UxT8nZ8e4eCOOchNggLyX4ZpsyrVTMGwahnjf8KsepIaKqfEnQ +lzE4KsnLsuC+LKodhDUoInZIn/9bC6cRrCfe/xMAoJdLRTMDNe0+ruy2LtnwQg14 +vRp7BADm9fBrVW89COBepWr/xVQ89mDA23oiAaLrKjiJb8LQg9NpmGa5AFuWBym2 +Y5MzjremPeqmjMfXGyXIu5o+9e1k5DQ72NB/m24FdrYkCW38sinIVVghDtvzLniG +fOwBL+c0iA0BweBCNuouoJjJegPQbzaliTgcV8ZjuCq4juyp4AQApBN45mj8JIwZ +wbsNnAmZ4mtv3gR03k20Tk4uCurktNjd0HvU28HOyg/ZehxeoKMd14R/8NZBE39W +vzJHnAVzfcsmNV1SQS7fSxD2f0FsWYxfF2ErBhwhK3GIuKAujPnlzjT57ZnhzBuH +cALohJ1izyVOcBwFIAc+mwZSBRAKILq0OFJpY2hhcmQgR3V5IEJyaWdncyAoZ3Bn +LWxhcCkgPHJnYkBjb25zY29vcC5vdHRhd2Eub24uY2E+iFsEExECABsFAjfME2AF +CQPCZwADCwoDAxUDAgMWAgECF4AACgkQNmdg8X0u14ixOACfcmzB1f4YZ2yC0jyX +efVFtbIZ/fMAn35OwFji+uU6/BFLYXnsMlsJMsOMuQENBDfME3QQBADQcXxUkW/f +6s6S7RXOUIIV9CgHiZpHPV7T23wQhQOOtVjO2akFLryNI6Z6a66JRhS6fRa3+eiL +9TB0umC8e297dHrzObs43bf5h7sTJB8xHTUI9v4rlMwC8Bk3oghnoCJ820MADttR +p+CUWMkPaBQoDTJJhyfju66lgxZoycLVMwADBgQApLUhOmpHB+zGMvluBUJgBEja +Z553bU/gLzRsTCvt1gnIXLjxYXkiKjLyXfym47mXNaGUGWC7b7yaMVjhfnF3bJ5t +xeIiL7/p3ei17aYOlzXx3MhmuPRhS1IJbXfXChPc7toCqDeSFmnGmVWJZ+zuleTm +OITYkgt5Lshp/N1NZXKITAQYEQIADAUCN8wTdAUJA8JnAAAKCRA2Z2DxfS7XiApb +AJ94BeAKtqsshjVPWijCZ/8SBcJogwCggQjLX5KwZzhHASEXQ/oMvAgS6OKZAaIE +Nuv2vBEEAJttf93iMoIaranZOJ8AR0V0ax+4bTo61nQ392tjaRiPv+9lWuY1O3rv +pHTzTtXP5Qtz1Uw51jn5rDAA43mwz0+cR93g873ecb41/9LRKF8I9CbmZO6N70Re +mLdGb4R1FQ2gMHAwIz+Z54esABLQgq1qUZ66k1+TL/3EZRLnRSk3AKD8fayzCfyw +Vxgy8C67Z35FdBsVGwP9HLfVXrDoAkl3St52A9cIqYKCjWk7Hbv3mdNZIz8pEuhY +7BlpPeMwP9p5cEqlTMjaQHfefHwm1K7GthihkGAHyWM2iZLZSQzIFPG1ER+feTCA +VjSSbvoDGyhHbW+uhGYaNwSLQC36+NrC6ULoTq6Uh86Klpa7mJzLAq+b/6XKhR8D +/jzTElA97kUJEzdpbm5YtqDsu9H16Zdlf+jO59MNi2rcElt3w+thNfucNHVo8fm0 +FGgTpXwNss0Ej4cBXKc8m1ujAWG/hC9s9MMaa1uUgbqngGhZrOvcXXFCJZwoWteW +K4rqucRx7BAl3hyQwl3KK8TY60Te329VBIcKJyVvb7TFtDFVbHJpayBEaWNrb3cg +KG9ubGluZSBHbnVQRyB0ZXN0KSA8dWtkQGthbXBzYXguZGs+iQCVAwUQNuwRdSDu +hu1tZgc9AQEAzwP9HnvIc9zYRmjQEsB44Aik6/pQvrBsSpLNzAWelEaMw6bFHaQT +1PtMnpFmGxbJR6MBBsWku2armlC8G4EUVn9AR07BtXGVGfn8xsHs4MK77QPO7C/I +eqOdotrEYr/OmpXMjBHTfB3B/9vu1p4+ubA8jrY/9DKxRLeWtoJcT19Pe/+JARUD +BRA2744i2gTMWm1DVDsBAQohCACL7/fi/RR7eZc6c0aXEqdytMmAoIg/056jdhwe +OiJITmXxDwNzaDbofOMWGm2IbDb3XfAU52WmKRsnlUFZFWEmHQurUaApx6xGqQiG +wJC38sBS+CfbMmhbvWBeu0XI4V/F/wfzpxYCbELULEHsAeDMXCa4TLhKfmZdrde5 +1RJgK+bNZx/HVCwwU5YtGHbyJ/lYDlg8FxxRCPAAb31mSviRJLLrdEwPWWdi9lGr +G8kp10nnDsfl3mxlItWKAa7ey7ntYi/1glIxSdqgXhfKiXCgZLRC98cQMyj0J3fY +HXF19fkugPCCx5itawmWLeS7sKAkMKBmsqcWKaYp3oy8WnR7iFsEExECABsFAjbr +9rwFCQF+UwADCwoDAxUDAgMWAgECF4AACgkQ9u7fIBhLxNmwfgCg6vEPiWfYZ4Bt +tUvCbLqw7qxl354AoMzEob55S7m8YjrkDP0iimJfHsKliEYEEBECAAYFAjc0ONQA +CgkQXeJJllsDWKKeoACbB7pifCZOprEAEwLyaJmaSvYOvUkAn1CaMjj9cxhwQxLg +7X1Db3FTm3PbuQINBDbr92cQCACHpMcXbJWET55YL4vcHhgZnlzdthEHunAp0EG4 +RznS4ESJX7D2Ll2jO74fD25XFQ/6HsvZl+ITZhMMDW5p8lTfniVBPRWRQaVSzjzw +A0UykQVSf093unT7bSIsGZAMmUymD1ucG5Jh0eHGQq4REmBuvSm6CKh6JRmAJbyk +TKWhfagX5TN0+mHD+CcFKzsgorYRh7KNlFLB6idtAZxFqdhHXkI64kysMVFt6ZlA +2CV5LCQy8m1lLc0WuXM58tWDZ84UeBCJfO+5N8EwkS1S4dRWouOxFWx8nJpje0NP +tb/vyZRQ+JMClVaKOLjmC017k4F8XxVYNqZ7Y5TWmr6sl2WnAAQLB/9iaLQ3eGPG +9GWv9pp/wAYIYzMiDsokdHXf7gOifZXG1DT3Gn1gXqgJmYP3DQN1l6b7NboH+ekB +Ua4D1Y9glIf4/HbdCtv6fGFGv2JWDwNWkU1H88ZrDmwAxcOS9vu9D78ElnACrV46 +OOfmc0PnDseZCgGSuAscXU8YM/zLIGFMvmeALzHxPVOLrLp/Ep0+kGNKdEEDV5ht +5F81uOpTMNkacASAdUqS5iseSjITYbo1sk4j5Fn8pTTn0U9445b/KjKiEH+jbn4x +fPcC03FaXvMnFP+1nAqLbgFmVJ2ljjgEBbgkDPumsrjIuU2ZgSN9CZZ4tQke/FU0 +7RttYHde48eziEwEGBECAAwFAjbr92cFCQF+UwAACgkQ9u7fIBhLxNmnUACgrtAG +GLWPUQbGR/6OQa9AZ6xLhnMAn0SZudBARwp97yCM3Wcm433S6xVDmQGiBDWiHh4R +BAD+l0rg5p9rW4M3sKvmeyzhs2mDxhRKDTVVUnTwpMIR2kIA9pT43No/coPajDvh +ZTaDM/vSz25IZDZWJ7gEu86RpoEdtr/eK8GuDcgsWvFs5+YpCDwWG2dx39ME7DN+ +SRvEE1xUm4E9G2Nnd2UNtLgg82wgi/ZK4Ih9CYDyo0a9awCgisn3RvZ/MREJmQq1 ++SjJgDx+c2sEAOEnxGYisqIKcOTdPOTTie7o7x+nem2uac7uOW68N+wRWxhGPIxs +OdueMIa7U94Wg/Ydn4f2WngJpBvKNaHYmW8j1Q5zvZXXpIWRXSvyTR641BceGHNd +YiR/PiDBJsGQ3ac7n7pwhV4qex3IViRDJWz5Dzr88x+Oju63KtxYurUIBACi7d1r +UlHr4ok7iBRlWHYXU2hpUIQ8C+UOE1XXT+HB7mZLSRONQnWMyXnqbAAW+EUUX2xp +b54CevAg4eOilt0es8GZMmU6c0wdUsnMWWqOKHBFFlDIvyI27aZ9quf0yvby63kF +CanQKc0QnqGXQKzuXbFqBYW2UQrYgjXji8rd8bQnV2VybmVyIEtvY2ggKGdudXBn +IHNpZykgPGRkOWpuQGdudS5vcmc+iF0EExECAB0FAjZVoKYFCQhtDIgDCwQDBRUD +AgYBAxYCAQIXgAAKCRBot6uJV1SNzS4+AKCHdeYHMmKQV9mC7REE5Vz6d5rRBgCf +VMcyRP7dxBwhytmwCDpAcCFvCLSJAV8DBRA1oh5DA28RuP8+qgsQA2MyBR0eiPUo +vYMz0DUXBbNs5606eaVeTJOn9WqkYGcS9xOKlGd8Xj0IcAKN30st5AsC5hRqr82r +rUjB5/CuVdbvk+Qkh6ixWCqo+RRrbgf8cKCg1x+lDj9PpeSD/B9UU45ntxYamoXn +PszxtzU+e73Nkbtrej5rgMK8tgTLkhTAbO8M15Mgtw2yOeDFfiCj4xzDkYryvLiP +I5p2vYXTVcgYnwpNRnMZBwUghb1PMSXj7AP0P/8wnpb656yIjH2OAkE5is5HvTEs +2wGUCEXXYKxgLIl9bRPGd2DHfJQ6broxy1RHVmaOrOeDibspx67RRTm3WqbtLiK0 +/nRF0gEjFGxLjQiy92gp6xLRiQsMQdkz0Lwgr0dgSs6JejBlsQPp5nXXkIm9q/hl +6Cly3Zx3KbAIwO5ZF5NyBciezCxSurg64xmxibNhSknblI0vyG+IRgQQEQIABgUC +NaInPAAKCRBsfuG4YhzAE37WAJ9Xzmig1DrfnUt/KwfgidkPohJViQCg0T6afKuR +spWzPAz5TKQpVjd02KmIRgQQEQIABgUCNu1ObAAKCRBd4kmWWwNYomq2AJ9+alN2 +TpVRAhCxP91eqvfEN9HgGgCgrTvpWnB9EKtROr+AT//cujKCyIaZAaIENaIg8xEE +ALYPe0XNsPjx+inTQ+Izz527ZJnoc6BhWik/4a2bZYENSOQXAMKTDQMv2lLeI0i6 +ceB967MNubhHeVdNeOWYHFSM1UGRfhmZERISho3bp+wVZvVG8GBVwpw34PJjgYU/ +0tDwnJaJ8BzX6j0ecTSTjQPnaUEtdJ/u/gmG9j0218TzAKDihdNoKJEU9IKUiSjd +GomSuem/VwQArHfaucSiDmY8+zyZbVLLnK6UJMqtsIv1LvAg20xwXoUk2bY8H3tX +L4UZ8YcoSXYozwALq3cIo5UZJ0q9Of71mI8WLK2iFSYVplpTX0WMClAdkGt3HgVb +7xtOhGt1mEKeRQjNZ2LteUQrRDD9MTQ+XxcvEN0IpAj4kBJe9bR6HzAD/iecCmGw +SlHUZZrgqWzv78o79XxDdcuLdl4i2fL7kwEOf9jsDe7hGs27yrdJEmAG9QF9TOF9 +LJFmE1CqkgW+EpKxsY01Wjm0BFJB1R7iPUaUtFRZxYqfgXarmPjql2iBi+cVjLzG +u+4BSojVAPgP/hhcnIowf4M4edPiICMP1GVjtCFXZXJuZXIgS29jaCA8d2VybmVy +LmtvY2hAZ3V1Zy5kZT6IWwQTEQIAGwUCNs8JNwUJCCCxRAMLCgMDFQMCAxYCAQIX +gAAKCRBsfuG4YhzAE2kgAJ92JKU+YcYHoRhX51+4s3fnPIyNEgCfaiWeoyb15xgd +O6etGiD2MYCWy5mJAHUDBRA1o3cUHRn0wQyYV6UBAT3zAv9HMaPuMWFQKZRTtJyG +Mo0ID+w/DtLn8z7CMBd5L2+2+RTTY36fgwITehtBziIJC9xrFrQnx+VB2pYvprTR +SCg6U7a/hf5T6WT9zj887C2UuIWE6pjLNTvwAqvGsSoAIpWJAV8DBRA1oicOA28R +uP8+qgsQAwfcBR9Iuppp+q1mChXqSYV8oROMFqkTyQJ736IllJ7Q6eGiEMrOpTkY +oFVyFqOJOEivxR+fWJ8xe+e/Kq02Vv0XANGyKias6mqrDnU2BBWuPXAo7y5wVuDn +myZS01LP555lNBVilvDsMC/qQrvHe3y0kp4IAbK1EMG3qbsNHCaHLRTwM+U9Z0CY +nkClbB2gjcC9nbtF3nzoBebowdYytat6eFMrBfYRHAUfZbRN0x6/or+I7WV5gtT+ +GrfVuSxVrGLsK9FN8iXGikiqdL/8BhFntif4BUGdIQdft+UawmT4IlrBL/Owh2hu +l7UPtx4YqwQibGIZjopFSqBGp+j4VFUdapVxMraQLd/PUwZ78nHgF/IXBzhN3Yrh +ryCxIGHrN4MN7OWZjO21F945tga1/FnIXsVBVECLiltnC9+/TBV0fE28aVca7EWB +P+Ix2QWIRgQQEQIABgUCNu1OCwAKCRBd4kmWWwNYonyaAKCxLBsteoVfwn5g5Lug +9QgVCMV76QCfRgQKXQv9zl4oO7Aa1Qljm9zEM3C5AY0ENs8HCBAGAPc1hCpuXmaT +DAUbIqS9CFHkihMnilIwAV+L2Dbq5eOPtoemPKx5+6xtZfzzY9/VCVwZCxY9Y5PE +N9r/twUA478L/FOXv5E4BpX+4R91klt/EZGcNfDl2Ar56FpGJ3iLg4+vxx9m1TV5 +k2nNOUZAVD1L+MoapWhaZFXLMChrhDUcbo7/1Fr1Rfv9j/LkkIJJhqf3G8HzE5Av +CQVSywUayYZdbmqdiY2bklZJVFAXs1X9zSTGoFc8eOxz6i1ZeMq+GwADBgX/T7o5 +R+SOTlJ72ac/g121f1kFX1dbRkQq2pCI95qTehp1AxdSwG3ur2slFCfi8ZDNUqkF +XJrsv5mh1yfqq7zS5T6lGT5lOXCDZbAO2wqNZY1VKeeCdcvD2VMeh8XxJfy8y1ZK +/iE1p8qnokYpA3nFH+JIsdrXk5ceiN3nKk+aDamUkV1sJzeEm5F7QHe60oBKbVGI +UF4EhGq6daVyeCeK4KhWuPYyiEgyaq5/xJZbR3uRcdW6X5AiGJWJOOQoGvWziEwE +GBECAAwFAjbPBwgFCQbzyQAACgkQbH7huGIcwBN5FQCggakIOYzLX3lNq2WWgcAk +SNm7kpoAnA69b3z2E5vxyD3bhggVUDX7j8hruQGNBDWiITwUBgCRCYCU5eLFvzCt +rzesTWLssIQ0vOW8FlYoFc3g416VkCeeQ6bsipGMyG0pEk3vnOpXIpRpTAMqOl/0 +nkra3vmZLEG2ds1Govdeh2Mcr3c5wBSTPdyLuK4L9vbgkjarhd5Ab+/hhHVWh0zT +MRDUgLQkKrg+Xf1BnJcl1kKtQW8xxermu41KV3O0GpMUVSIVuTDUW6D9nJcm97YV +VxuxFcWsHsQS7L6KJT+Rn81WIqTQvhPopEdWwSKuI2UKKJtbX18AAwUF/1Nu/rso +UwOsupBqf/ShJKh2MNAoMaq2iHspBggo9ep+pPxx533J3kwsXA8p/e3sBYbW5xbb +HXXwA1iQ9JTXbZROd0+xrHRxjheRofFo3Ck0UKi0ZDRRFKHEo2lypt1+/L7V3ymk +Rq+A7LGdXUk6QuNkkvArxuDEV1s9ZywkmeO64fc/DPzsLNOA5JhDEw+cjBBzHlu5 +khXk14Qsm1xtt3dFW5or8ZCG3xAmm5dKOLw2XUWKFgOMAJHxNpGUCHnQaYhGBCgR +AgAGBQI4K/uDAAoJEGx+4bhiHMAT2FMAn1xEe77uraGTGkV+eiTiZGKyh8JOAKDO +g+M0i5iKJXr7AsHmjXXsw1Y9kIhMBBgRAgAMBQI1oiE8BQkHhM4AAAoJEGx+4bhi +HMATDfUAoLstR8cg5QtHwSQ3nFCOKEREUFIwAKDID3K3hM+b6jW1o+tNX9dnjb+Y +MZkAbQIwbYOUAAABAwC7ltmO5vdKssohwzXEZeYvDW2ll3CYD2I+ruiNq0ybxkfF +Bopq9cxta0OvVML4LK/TH+60f/Fqx9wg2yk9APXyaomdLrXfWyfZ91YtNCfj3ElC +4XB4qqm0HRn0wQyYV6UABRG0IVdlcm5lciBLb2NoIDx3ZXJuZXIua29jaEBndXVn +LmRlPokAlQMFEDRfoOmOB31Gi6BmjQEBzwgD/2fHcdDXuRRY+SHvIVESweijstB+ +2/sVRp+FCDjR74Kg576sJHfTJCxtSSmzpaVpelb5z4URGJ/Byi5L9AU7hC75S1Zn +J+MjBT6VePyk/r0uBrMkU/lMG7lk/y2By3Hll+edjzJsdwn6aoNPiyen4Ch4UGTE +guxYsLq0HES/UvojiQEVAwUTNECE2gnp+QqKck5FAQH+1Af/QMlYPlLG+5E19qP6 +AilKQUzNkd1TWMenXTS66hGIVwkLVQDi6RCimhnLMq/F7ENA8bSbyyMuncaBz5dH +4kjfiDp1o64LULcTmN1LW9ctpTAIeLLJZnwxoJLkUbLUYKADKqIBXHMt2B0zRmhF +OqEjRN+PhI7XCcHeHWHiDeUB58QKMyeoJ/QG/7zLwnNgDN2PVqq2E72C3ye5FOkY +LcHfWKyBRrn6BdUphAB0LxZujSGk8ohZFbia+zxpWdE8xSBhZbjVGlwLurmS2UTj +jxByBNiheUD6IC3u5P6psld0OfqnpriZofP0CBP2oTk65r529f/1lsy2kfWrVPYI +FJXEnIkAlQMFEDQyneGkWMS9SnJfMQEBMBMD/1ADuhhuY9kyN7Oj6DPrDt5SpPQD +GS0Jtw3yuIPoed+xyzlrEuL2HeaOj1O9urpn8XLN7V21ajkzlqsxnGkOuifbE9UT +67o2b2vCldCcY4nV5n+U1snMDwNv+RkcEgNa8ANiWkm03UItd7/FpHDQP0FIgbPE +PwRoBN87I4gaebfRiQCVAwUQNDUSwxRNm5Suj3z1AQGMTAP/UaXXMhPzcjjLxBW0 +AccTdHUtLi+K+rS5PNxxef2nnasEhCdK4GkM9nwJgsP0EZxCG3ZSAIlWIgQ3MK3Z +AV1Au5pLKolRjFyEZF420wAtiE7V+4lw3FCqNoXDJEFC3BW431kx1wAhDk9VaIHH +adYcof4ddmMLQOW2cJ7LDEEBW/WJAJUDBRA0M/VQImbGhU33abUBARcoA/9eerDB +ZGPCuGyEmQBcr24KPJHWv/EZIKl5DM/Ynz1YZZbzLcvEFww34mvY0jCfoVcCKIeF +FBMKiSKrOMtoVC6cQMKpmhE9hYRStw4E0bcf0BD/stepdVtpwRnG8SDP2Zbmtgyj +YT/7T4Yt6/0f6N/0NC7E9qfq4ZlpU3uCGGu/44kAlQMFEDQz8kp2sPVxuCQEdQEB +c5YD/RixvFcLTO1HznbblrO0WMzQc+R4qQ50CmCpWcFMwvVeQHo/bxoxGggNMmuV +T0bqf7MolZDSJNS96IAN32uf25tYHgERnQaMhmi1aSHvRDh4jxFu8gGVgL6lWit/ +vBDW/BiFBCH6sZJJrGSuSdpecTtaWC8OJGDoKTO9PqAA/HQRiQB1AwUQNDJSx011 +eFs7VOAZAQGdKQL/ea3qD2OP3wVTzXvfjQL1CosX4wyKusBBhdt9u2vOT+KWkiRk +1o35nIOGuZLHtSFQDY8CVDOkqg6g4sVbOcTl8QUwHA+A4AVDInwTm1m4Bk4oeCIw +k4Bp6mDdW11g28k/iQEVAgUSNDIWPm/Y4wPDeaMxAQGvBQgAqGhzA/21K7oL/L5S +5Xz//eO7J8hgvqqGXWd13drNy3bHbKPn7TxilkA3ca24st+6YPZDdSUHLMCqg16Y +OMyQF8gEkX7ZHWPacVoUpCmSz1uQ3p6W3+u5UCkRpgQN8wBbJx5ZpBBqeq5q/31o +kaoNjzA2ghEWyR5Ll+U0C87MY7pc7PlNHGCr0ZNOhhtf1jU+H9ag5UyT6exIYim3 +QqWYruiCLSUcim0l3wK7LMW1w/7Q6cWfAFQvl3rGjt3rg6OWg9J4H2h5ukf5JNiR +ybkupmatUM+OVMRkf93jzU62kbyZpJBHiQZuxxJaLkhpv2RgWib9pbkftwEy/Znm +jkxlIIkAlQMFEDQvWjh4313xYR8/NQEB37QEAIi9vR9h9ennz8Vi7RNU413h1ZoZ +jxfEbOpkQAjE/LrZ/L5WiWdoStSiyqCLPoyPpQafiU8nTOr1KmY4RgceJNgxIW4O +iSMoSvrhc2kqP+skb8A2B4+47Aqjr5fSAVfVfrDMqDGireOguhQ/hf9BOYsM0gs+ +ROdtyLWPtMjRnFlviD8DBRAz8qQSj6lRT5YOKXIRAntSAJ9StSEMBoFvk8iRWpXb +6+LDNLUWzACfT8iY3IxwvMF6jjCHrbuxQkL7chSJARUDBRA0MMO7569NIyeqD3EB +ATIAB/4tCPZ1sLWO07g2ZCpiP1HlYpf5PENaXtaasFvhWch7eUe3DksuMEPzB5Gn +auoQZAkuhEGkoEfrfL3AXtXH+WMm2t7dIcTBD4p3XkeZ+PgJpKiASXDyul9rumXX +vMxSL4KV7ar+F1ZJ0ycCx2r2au0prPao70hDAzLTy16hrWgvdHSK7+wwaYO5TPCL +5JDmcB+dHKW72qNUOD0pxbe0uCkkb+gDxeVX28pZEkIIOMMV/eAs5bs/smV+eJqW +T/EyfVBDo7heF2aeyJj5ecxNOODr88xKF7qEpqazCQ4xhvFY+Yn6+vNCcYfkoZbO +n0XQAvqfa2Vab9woVIVSaDji/mlPiQB1AwUQNDC233FfeD4HYGBJAQFh6QL/XCgm +5O3q9kWpgts1MHKoHoh7vxSSQGSP2k7flNP1UB2nv4sKvyGM8eJKApuROIodcTkc +cM4qXaBuXunMr5kJlvDJPm+NLzKyhtQP2fWI7xGYwiCiB29gm1GFMjdur4amiQEV +AwUQNDBR9fjDdqGixRdJAQE+mAf+JyqJZEVFwNwZ2hSIMewekC1r7N97p924nqfZ +Knzn6weFpE80KIJSWtEVzI0XvHlVCOnS+WRxn7zxwrOTbrcEOy0goVbNgUsP5ypZ +a2/EM546uyyJTvgD0nwA45Q4bP5sGhjh0G63r9Vwov7itFe4RDBGM8ibGnZTr9hH +o469jpomHSNeavcaUYyEqcr4GbpQmdpJTnn/H0A+fMl7ZHRoaclNx9ZksxihuCRr +kQvUOb3uRD9lFIhCvNwEardN62dKOKJXmn1TOtyanZvnmWigU5AmGuk6FpsClm3p +5vvlid64i49fZt9vW5krs2XfUevR4oL0IyUl+qW2HN0DIlDiAYkAlQMFEDQvbv2w +cgJwUPMhJQEBVBID/iOtS8CQfMxtG0EmrfaeVUU8R/pegBmVWDBULAp8CLTtdfxj +Vzs/6DXw0RogXMRRl2aFfu1Yp0xhBYjII6Kque/FzAFXY9VNF1peqnPt7ADdeptY +MppZa8sGn9BBRu9Fsw69z6JkyqvMiVxGcKy3XEpVGr0JHx8Xt6BYdrULiKr2iQB1 +AwUQNC68n6jZR/ntlUftAQFaYgL+NUYEj/sX9M5xq1ORX0SsVPMpNamHO3JBSmZS +Izjiox5MAqoFOCigAkonuzk5aBy/bRHy1cmDBOxf4mNhzrH8N6IkGvPE70cimDnb +Fvr+hoZSjIqxtELNZsLuLVavLPAXiQCVAwUQNC6vWocCuHlnLQXBAQHb1gQAugp6 +2aVzDCuz4ntfXsmlGbLY7o5oZXYIKdPP4riOj4imcJh6cSgYFL6OMzeIp9VW/PHo +2mk8kkdkz5uif5LqOkEuIxgra7p1Yq/LL4YVhWGQeD8hwpmu+ulYoPOw40dVYS36 +PwrHIH9afNhl8Or5O2VIHIWnoQ++9r6gwngFQOyJAJUDBRAzHnkh1sNKtX1rroUB +AWphBACdhuqm7GHoiXptQ/Y5F6BivCjxr9ch+gPSjaLMhq0kBHVO+TbXyVefVVGV +gCYvFPjozM8PEVykQAtY//eJ475aGXjF+BOAhl2z0IMkQKCJMExoEDHbcj0jIIMZ +2/+ptgtbFSyJ2DQ3vvCdbw/1kyPHTPfP+L2u40GWMIYVBbyouokAlQMFEDMe7+UZ +symln7HG2QEBzMED/3L0DyPK/u6PyAd1AdpjUODTkWTZjZ6XA2ubc6IXXsZWpmCg +B/24v8jsJ3DIsvUD3Ke55kTr6xV+au+mAkwOQqWUTUWfQCkSrSDlbUJ1VPBzhyTp +uzjBopte7o3R6XXfcLiC5jY6eCX0QtLGhKpLjTr5uRhf1fYODGsAGXmCByDviQB1 +AgUQMy6UMB0Z9MEMmFelAQHV4AMAjdFUIyFtpTr5jkyZSd3y//0JGO0z9U9hLVxe +BBCwvdEQxsrpeTtVdqpeKZxHN1GhPCYvgLFZAQlcPh/Gc8u9uO7wVSgJc3zYKFTh +KpQevdF/rzjTCHfgigf5Iui0qiqBiQCVAwUQMx22bAtzgG/ED06dAQFi0gQAkosq +TMWy+1eUXbi2azFK3RX5ERf9wlN7mqh7TvwcPXvVWzUARnwRv+4kk3uOWI18q5UP +is7KH3KYOVeRrPd8bbp6SjhBh82ourTEQUXLBDQiI1V1cZZmwwEdlnAnhFnkXgMB +NM2q7oBefRHADfYDfGo90wXyrVVL+GihDNpzUwOJAJUDBRAzHUFnOWvfULwOR3EB +AbOYA/90JIrKmxhwP6quaheFOjjPoxDGEZpGJEOwejEByYj+AgONCRmQS3Bydtub +A+nm/32DFeG8pe/dnFvGc+QgNW560hK21C2KJj72mhjRlg/na7jz4/MmBAv5k61Q +7roWi0rwx+R9NSHxpshC8A92zmvo8w/XzVSogC8pJ04jcnY6YokAlQMFEDMdPtta +9LwlvuSC3QEBvPMD/3TJGroHhHYjHhiEpDZZVszeRQ0cvVI/uLLi5yq3W4F6Jy47 +DF8VckA7mw0bXrOMNACN7Je7uyaU85qvJC2wgoQpFGdFlkjmkAwDAjR+koEysiE8 +FomiOHhvEpEY/SjSS4jj4IPmgV8Vq66XjPw+i7Z0RsPLOIf67yZHxypNiBiYiQCV +AwUQMxxwpKrq6G7/78D5AQHo2QQAjnp6KxOl6Vvv5rLQ/4rj3OemvF7IUUq34xb2 +5i/BSvGBUpDQVUmhv/qIfWvDqWGZedyM+AlNSfUWPWnP41S8OH+lcERH2g2dGKGl +7kH1F2BxByZlqREHm2q624wPPA35RLXtXIx06yYjLtJ7b+FCAX6PUgZktZYk5gwj +doAGrC2JAJUDBRAzGvcCKC6c7f53PGUBAUozA/9l/qKmcqbi8RtLsKQSh3vHds9d +22zcbkuJPBSoOv2D7i2VLshaQFjq+62uYZGE6nU1WP5sZcBDuWjoX4t4NrffnOG/ +1R9D0t1t9F47D77HJzjvo+J52SN520YHcbT8VoHdPRoEOXPN4tzhvn2GapVVdaAl +WM0MLlohNH3I9jap9okAdQMFEDMZlUAnyXglSykrxQEBnuwC/jXbFL+jzs2HQCuo +4gyVrPlUksQCLYZjNnZtw1ca697GV3NhBhSXR9WHLQH+ZWnpTzg2iL3WYSdi9tbP +s78iY1FSd4EG8H9V700oQG8dlICF5W2VjzR7fByNosKM70WSXYkBFQMFEDMWBsGC +y1t9eckWHQEBHzMH/jmrsHwSPrA5R055VCTuDzdS0AJ+tuWkqIyqQQpqbost89Hx +per3MmjLJas/VJv8EheuU3vQ9a8sG2SnlWKLtzFqpk7TCkyq/H3blub0agREbNnY +hHHTGQFCYJb4lWjWvMjfP+N5jvlLcnDqQPloXfAOgy7W90POoqFrsvhxdpnXgoLr +zyNNja1O1NRj+Cdv/GmJYNi6sQe43zmXWeA7syLKMw6058joDqEJFKndgSp3Zy/y +XmObOZ/HC2OJwA3gzEaAu8Pqd1svwGIGznqtTNCn9k1+rMvJPaxglg7PXIJS282h +mBl9AcJlwmh2GUCswl9/sj+REWTb8SgJUbkFcp6JAJUDBRAwdboVMPfsgxioXMEB +AQ/LA/9BFTZ9T95P/TtsxeC7lm9imk2mpNQCBEvXk286FQnGFtDodGfBfcH5SeKH +aUNxFaXr39rDGUtoTE98iAX3qgCElf4V2rzgoHLpuQzCg3U35dfs1rIxlpcSDk5i +vaHpPV3Sv+mlqWL049y+3bGaZeAnwM6kvGMP2uccS9U6cbhpw4hGBBARAgAGBQI3 +GtRfAAoJEF3iSZZbA1iikWUAoIpSuXzuN/CI63dZtT7RL7c/KtWUAJ929SAtTr9S +lpSgxMC8Vk1T1i5/SYkBFQMFEzccnFnSJilEzmrGwQEBJxwH/2oauG+JlUC3zBUs +oWhRQwqo7DdqaPl7sH5oCGDKS4x4CRA23U15NicDI7ox6EizkwCjk0dRr1EeRK+R +qL1b/2T42B6nynOLhRG2A0BPHRRJLcoL4nKfoPSo/6dIC+3iVliGEl90KZZD5bnO +NrVJQkRjZL8Ao+9IpmoYh8XjS5xMLEF9oAQqAkA93nVBm56lKmaL1kl+M3dJFtNK +tVB8de1ZXifDs8HykD42qYVtcseCKxZXhC3UTG5YLNhPvgZKH8WBCr3zcR13hFDx +uecUmu0MVhvEzoKyBYYt0rrqnyWrxwbv4gSTUWH5ZbgsTjc1SYKZxz6hrPQnfYWz +NkznlFWJARUDBRM0xL43CdxwOTnzf10BATOCB/0Q6WrpzwPMofjHj54MiGLKVP++ +YfwzdvnsHxVpTZLZ5Ux8ErDsnLmvUGphnLVELZwEkEGRjln7a19h9oL8UYZaV+Ic +R6tQ06Fb1ldR+q+3nXtBYzGhleXdgJQSKLJkzPF72tvY0DHUB//GUV9IBLQMvfG8 +If/AFsih4iXi96DOtUAbeuIhnMlWwLJFeGjLLsX1u6HSX33xy4bGX6v/UcHbTSSY +axzb92GR/xpP2Xt332hOFRkDZL52g27HS0UrEJWdAVZbh25KbZEl7C6zX/82OZ5n +TEziHo20eOS6Nrt2+gLSeA9X5h/+qUx30kTPz2LUPBQyIqLCJkHM8+0q5j9ciQCi +AwUTNMS+HZFeTizbCJMJAQFrGgRlEAkG1FYU4ufTxsaxhFZy7xv18527Yxpls6mS +Ci1HL55nJoce6TI+Z34MrLOaiZljeQP3EUgzA+cs1sFRago4qz2wS8McmQ9w0FNQ +QMz4vVg9CVi1JUVd4EWYvJpA8swDd5b9+AodYFEsfxt9Z3aP+AcWFb10RlVVsNw9 +EhObc6IMnwAOHCEI9vp5FzzFiQCVAwUQNxyr6UyjTSyISdw9AQHf+wP+K+q6hIQ0 +9tkgaYaDLlWKLbuxePXqM4oO72qi70Gkg0PV5nU4l368R6W5xgR8ZkxlQlg85sJ0 +bL6wW/SjMz7pP9hkhNwk0x3IFkGMTYG8i6Gt8Nm7x70dzJoiC+A496PryYC0rvGV +f+Om8j5uTexBBjb/jpJhAQ/SGqeDeCHheOC0Lldlcm5lciBLb2NoIChtZWluIGFs +dGVyIGtleSkgPHdrQGNvbXB1dGVyLm9yZz6JAHUDBRM2G2MyHRn0wQyYV6UBASKK +Av4wzmK7a9Z+g0KH+6W8ffIhzrQo8wDAU9X1WJKzJjS205tx4mmdnAt58yReBc/+ +5HXTI8IKR8IgF+LVXKWAGv5P5AqGhnPMeQSCs1JYdf9MPvbe34jD8wA1LTWFXn9e +/cWIRgQQEQIABgUCNxrUaQAKCRBd4kmWWwNYovRiAJ9dJBVfjx9lGARoFXmAieYr +MGDrmwCZAQyO4Wo0ntQ+iq4do9M3/FTFjiCZAaIENu1I6REEAJRGEqcYgXJch5fr +UYBj2EkDkWAbhRqVXnmiF3PjCEGAPMMYsTddiU7wcKfiCAqKWWXow7BjTJl6Do8R +T1jdKpPOlBJXqqPYzsyBxLzE6mLps0K7SLJlSKTQqSVRcx0jx78JWYGlAlP0Kh9s +PV2w/rPh0LrPeOKXT7lZt/DrIhfPAKDL/sVqCrmY3QfvrT8kSKJcgtLWfQP/cfbq +VNrGjW8am631N3UVA3tWfpgM/T9OjmKmw44NE5XfPJTAXlCV5j7zNMUkDeoPkrFF +8DvbpYQs4XWYHozDjhR2Q+eI6gZ0wfmhLHqqc2eVVkEG7dT57Wp9DAtCMe7RZfhn +arTQMqlYtOEa/suiHk0qLo59NsyF8eh68IDNCeYD/Apzonwaq2EQ1OEpfFlp6LcS +nS34+UGZtTO4BgJdmEjr/QrIPp6bJDstgho+/2oR8yQwuHGJwbS/8ADA4IFEpLdu +SpzrABho7RuNQcm96bceRY+7Hza3zf7pg/JGdWOb+bC3S4TIpK+3sx3YNWs7eURw +pGREeJi5/Seic+GXlGzltBpXZXJuZXIgS29jaCA8d2tAZ251cGcub3JnPohbBBMR +AgAbBQI3Gs+QBQkMyXyAAwsKAwMVAwIDFgIBAheAAAoJEF3iSZZbA1iiXcIAnjv7 +ON5AiwzCLBwm9h9ywufXJQuVAJ9RMq6lpPqnDly6UCKz+kGt0EplyIhGBBARAgAG +BQI3GtE9AAoJEGx+4bhiHMAThfQAnjcDvBthtHotN89IP590GSKY287xAJ0WhKl9 +j7gWwpVqCD+ofcq0ZQBG1IkAdQMFEDca0WMdGfTBDJhXpQEB0a4C/0AzSj1eSYFs +4ss2x7xCn0yMPxML+hJdjGnVb0CPJGzzeKpD69pmVsD87nPa53gj0NXi/ADnQvPm +csVs8dr7K5PxXFOXaJzDm72tnLeJKiTesZfMY7MQ0yYQUhUWogSY8YhGBBARAgAG +BQI3GtGjAAoJEGi3q4lXVI3NLfgAoISt+x9r02Hl14njSfGmZIjyUrXuAJ9FhxTq +LUHU1uDZmSSvlKpOcG1pYIhGBBARAgAGBQI3Tx9dAAoJEPbu3yAYS8TZLb4Ani50 +OXjsQCc/gr5G+xZy/yqOqnOWAJ44VlluXNaN6J7yhB9iXtsEGvE+oohGBBARAgAG +BQI3pyb+AAoJEJg0ZdshQ5QifskAn0stcy37RHy7iB2bFB4rPVNDJaizAJ9hCH+0 +yNTOTisrEHLhS0QufAn3H4hFBBARAgAGBQI34UEzAAoJEDZnYPF9LteIeecAn3eT +mQldy/AIYuEFvyaF1FPmQdDNAJj3trsO1mAyzs7+PB++rZunMveeiEYEEBECAAYF +AjgqYg8ACgkQ4/JYVBKPDnkbHQCfRR7qUYmwTxtrf+Fw6hfsYjCy//AAn1eRdkkd +CExOJPwvrHEtZydSmVA1tAtXZXJuZXIgS29jaIhbBBMRAgAbBQI27UjqBQkMyXyA +AwsKAwMVAwIDFgIBAheAAAoJEF3iSZZbA1iitdYAn1IJbSJ46kvsBjq8X44hoybD +ZlbWAKCS2jR5Z+CmMC5WDqNepHXAe3alA4kCHgQQFAMABgUCNy9Z1AAKCRBsTDGl +sdUVZw3FB/9uDXhYYnQZYw1K6445HRZjNRo23NimItJXIuut5e2jwsE3DNuDOPat +qZbtGL61gkAcuG25rxmBJ6JuaAG5lqwXx1vWbk03VlwcFcZPKwCOn4qeJxNn06uP +vkP2jehKYzJFyKwSGv6CSPS1WEZ84A4Lp4pu59W7JgUNUjI7JQEaVbsCl6bMDNh6 +Z+zcN2MefzuWSMcxURI7h8zmu0u5JztwF8v97qWNpZBzlbxLSAgO/RW0vf2kxbgG +WkprbmvXignLC5Sm9YJm6y8Obtkmepn9aaA4dBSzJi51NE6kYhuWw2DyKoLqG5ak +ZIFF27ehFBGGSql9V2zPPoEH+cDHTWrbB/9D5T1ch3WPLPFQvVIaBpgx/pB3KMdD +WjG4Us3HMzoL8zTr23Bs2BcnvVGwMNdXEVl9JONKIfXTQA/372FvmbJxpctQ5dgO +85IXMcF38uyMU1WusVsOzlfD5wsZUc4iBHkhYB+C7l3U8BlT25BWB0adB+ZmDfzd +FI/G9Hd+dnPWsc1QaZLrDvHoVVvFrVBTa3fyA1pwjAcBMA9wGnIkt9ejOdumDcAN +uAIbIOMHCe49ARCRjBFqRtzNGuB7who9lu3Ydg+hSx25cxnIkjzPm2+7ulQPCznW +dXURfXkFw3f75pjmlTIDUi1poPKZBWagVtALQE0zMw7nd0ycWSjiLjaSiEYEEBEC +AAYFAjc6+aMACgkQdQ9klcidkz6GiwCdGe0KSP/vSyEZM/GClQXvjMD4RvMAoJwy +TIdcjPZbQizDeAO3btn2CCwTiEYEEBECAAYFAjc3I8UACgkQ9u7fIBhLxNmHZQCg +lWbPDznIcnOxdDW+k7YgA9+/n00An1ZjSiJipverUxLEFHAbSBWI0IntiQEVAwUQ +N0Pe01KAV0R2U0AdAQHIcQf/Ykx+DvUaCLIYlMrEIDKZ3J/aPbJ8frAjvzYkrgFZ +XhzQT9Xfyr6OkhiyWKFX23yzzDVcrmeIxovCUI7IFY6QM/d5yHr4Y8+18HdyaUva +FLz3o9ZnVp1AeAJ5CkHzfufnrKPRpOzgvXFqttJVPbaVTAyJTo/Bh0fZGHyeHwW8 +3QhmxuWfac6PveoA1DM1+Wax5QoXVeHhyTzIutF3ivpqaHEBUB9xgVEk3jN0svdy +aGCS3QANmXMDBecSPB0cfLtK8AmTV5w04D2kWw4lu+fO593Vp+z8Jsbvwj7QkOGD +vlnY3Crx4qOwqqI7TPP+8bnJZKd1m9aRNbPcPdvXGvUh3YhGBBARAgAGBQI4KmIe +AAoJEOPyWFQSjw55D5AAoJs5OxzJSdYdKsOjh8jLQxOESOE6AJ4vgpvtNaR384dB +JxUE7yxNTPT7aA== +=gKwz -----END PGP PUBLIC KEY BLOCK----- diff -urN gnupg-1.0.0/g10/revoke.c gnupg-1.0.1/g10/revoke.c --- gnupg-1.0.0/g10/revoke.c Wed Apr 21 10:22:09 1999 +++ gnupg-1.0.1/g10/revoke.c Thu Sep 23 19:21:01 1999 @@ -113,7 +113,7 @@ { size_t n; char *p = get_user_id( sk_keyid, &n ); - tty_print_string( p, n ); + tty_print_utf8_string( p, n ); m_free(p); tty_printf("\n"); } @@ -243,7 +243,7 @@ } tty_printf(_("user ID: \"")); - tty_print_string( unode->pkt->pkt.user_id->name, + tty_print_utf8_string( unode->pkt->pkt.user_id->name, unode->pkt->pkt.user_id->len, 0 ); tty_printf(_("\"\nsigned with your key %08lX at %s\n"), sig->keyid[1], datestr_from_sig(sig) ); diff -urN gnupg-1.0.0/g10/ringedit.c gnupg-1.0.1/g10/ringedit.c --- gnupg-1.0.0/g10/ringedit.c Fri Sep 3 21:18:08 1999 +++ gnupg-1.0.1/g10/ringedit.c Thu Dec 2 17:30:31 1999 @@ -63,10 +63,6 @@ #include "i18n.h" -#ifdef MKDIR_TAKES_ONE_ARG -# undef mkdir -# define mkdir(a,b) mkdir(a) -#endif struct resource_table_struct { @@ -291,24 +287,13 @@ *last_slash_in_filename = 0; if( access(filename, F_OK) ) { - if( strlen(filename) >= 7 - && !strcmp(filename+strlen(filename)-7, "/.gnupg") ) { - if( mkdir(filename, S_IRUSR|S_IWUSR|S_IXUSR) ) - { - log_error( _("%s: can't create directory: %s\n"), - filename, strerror(errno)); - rc = G10ERR_OPEN_FILE; - goto leave; - } - else if( !opt.quiet ) - log_info( _("%s: directory created\n"), filename ); - copy_options_file( filename ); - } - else - { - rc = G10ERR_OPEN_FILE; - goto leave; - } + /* on the first time we try to create the default homedir and + * in this case the process will be terminated, so that on the + * next invocation it can read the options file in on startup + */ + try_make_homedir( filename ); + rc = G10ERR_OPEN_FILE; + goto leave; } *last_slash_in_filename = '/'; @@ -737,7 +722,9 @@ if( !mode || mode == 5 || mode == 100 ) { int i; + kbpos->fp = NULL; + kbpos->rt = rt_UNKNOWN; if( !mode ) { kbpos->secret = 0; i = 0; diff -urN gnupg-1.0.0/g10/sig-check.c gnupg-1.0.1/g10/sig-check.c --- gnupg-1.0.0/g10/sig-check.c Wed Sep 1 15:27:47 1999 +++ gnupg-1.0.1/g10/sig-check.c Fri Nov 12 17:55:36 1999 @@ -390,16 +390,30 @@ PKT_user_id *uid = unode->pkt->pkt.user_id; assert( unode->pkt->pkttype == PKT_USER_ID ); - if( sig->version >=4 ) { - byte buf[5]; - buf[0] = 0xb4; /* indicates a userid packet */ - buf[1] = uid->len >> 24; /* always use 4 length bytes */ - buf[2] = uid->len >> 16; - buf[3] = uid->len >> 8; - buf[4] = uid->len; - md_write( md, buf, 5 ); + if( uid->photo ) { + if( sig->version >=4 ) { + byte buf[5]; + buf[0] = 0xd1; /* packet of type 17 */ + buf[1] = uid->photolen >> 24; /* always use 4 length bytes */ + buf[2] = uid->photolen >> 16; + buf[3] = uid->photolen >> 8; + buf[4] = uid->photolen; + md_write( md, buf, 5 ); + } + md_write( md, uid->photo, uid->photolen ); + } + else { + if( sig->version >=4 ) { + byte buf[5]; + buf[0] = 0xb4; /* indicates a userid packet */ + buf[1] = uid->len >> 24; /* always use 4 length bytes */ + buf[2] = uid->len >> 16; + buf[3] = uid->len >> 8; + buf[4] = uid->len; + md_write( md, buf, 5 ); + } + md_write( md, uid->name, uid->len ); } - md_write( md, uid->name, uid->len ); } /**************** diff -urN gnupg-1.0.0/g10/sign.c gnupg-1.0.1/g10/sign.c --- gnupg-1.0.0/g10/sign.c Wed Aug 4 09:33:54 1999 +++ gnupg-1.0.1/g10/sign.c Wed Sep 22 09:51:07 1999 @@ -594,21 +594,28 @@ } } - if( old_style || only_md5 ) + if( old_style && only_md5 ) iobuf_writestr(out, "\n" ); else { const char *s; int any = 0; + byte hashs_seen[256]; + memset( hashs_seen, 0, sizeof hashs_seen ); iobuf_writestr(out, "Hash: " ); for( sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) { PKT_secret_key *sk = sk_rover->sk; - s = digest_algo_to_string( hash_for(sk->pubkey_algo) ); - if( s ) { - if( any ) - iobuf_put(out, ',' ); - iobuf_writestr(out, s ); - any = 1; + int i = hash_for(sk->pubkey_algo); + + if( !hashs_seen[ i & 0xff ] ) { + s = digest_algo_to_string( i ); + if( s ) { + hashs_seen[ i & 0xff ] = 1; + if( any ) + iobuf_put(out, ',' ); + iobuf_writestr(out, s ); + any = 1; + } } } assert(any); diff -urN gnupg-1.0.0/g10/signal.c gnupg-1.0.1/g10/signal.c --- gnupg-1.0.0/g10/signal.c Mon Aug 30 17:17:34 1999 +++ gnupg-1.0.1/g10/signal.c Sun Nov 14 19:51:33 1999 @@ -1,5 +1,5 @@ /* signal.c - signal handling - * Copyright (C) 1998 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -39,28 +39,40 @@ static volatile int caught_sigusr1 = 0; static const char * -signal_name( int signum ) +get_signal_name( int signum ) { #if defined(SYS_SIGLIST_DECLARED) && defined(NSIG) return (signum >= 0 && signum < NSIG) ? sys_siglist[signum] : "?"; #else - static char buf[20]; - sprintf(buf, "signal %d", signum ); - return buf; + return "some signal"; #endif } + static RETSIGTYPE got_fatal_signal( int sig ) { + const char *s; + struct sigaction nact; + if( caught_fatal_sig ) raise( sig ); caught_fatal_sig = 1; - fprintf( stderr, "\n%s: %s caught ... exiting\n", - log_get_name(), signal_name(sig) ); secmem_term(); - exit( 8 ); + /* better don't transtale these messages */ + write(2, "\n", 1 ); + s = log_get_name(); if( s ) write(2, s, strlen(s) ); + write(2, ": ", 2 ); + s = get_signal_name(sig); write(2, s, strlen(s) ); + write(2, " caught ... exiting\n", 21 ); + + /* reset action to default action and raise signal again */ + nact.sa_handler = SIG_DFL; + sigemptyset( &nact.sa_mask ); + nact.sa_flags = 0; + sigaction( sig, &nact, NULL); + raise( sig ); } diff -urN gnupg-1.0.0/g10/status.c gnupg-1.0.1/g10/status.c --- gnupg-1.0.0/g10/status.c Wed Jul 14 10:12:29 1999 +++ gnupg-1.0.1/g10/status.c Thu Sep 23 06:33:54 1999 @@ -117,6 +117,9 @@ case STATUS_ERRMDC : s = "ERRMDC\n"; break; case STATUS_IMPORTED : s = "IMPORTED\n"; break; case STATUS_IMPORT_RES : s = "IMPORT_RES\n"; break; + case STATUS_FILE_START : s = "FILE_START\n"; break; + case STATUS_FILE_DONE : s = "FILE_DONE\n"; break; + case STATUS_FILE_ERROR : s = "FILE_ERROR\n"; break; default: s = "?\n"; break; } diff -urN gnupg-1.0.0/g10/status.h gnupg-1.0.1/g10/status.h --- gnupg-1.0.0/g10/status.h Wed Jul 14 10:14:41 1999 +++ gnupg-1.0.1/g10/status.h Thu Sep 23 06:34:12 1999 @@ -65,6 +65,9 @@ #define STATUS_ERRMDC 35 #define STATUS_IMPORTED 36 #define STATUS_IMPORT_RES 37 +#define STATUS_FILE_START 38 +#define STATUS_FILE_DONE 39 +#define STATUS_FILE_ERROR 40 /*-- status.c --*/ diff -urN gnupg-1.0.0/g10/tdbdump.c gnupg-1.0.1/g10/tdbdump.c --- gnupg-1.0.0/g10/tdbdump.c Thu Jul 1 11:23:20 1999 +++ gnupg-1.0.1/g10/tdbdump.c Mon Nov 22 10:23:51 1999 @@ -43,8 +43,8 @@ #include "tdbio.h" -#define HEXTOBIN(a) ( (a) >= '0' && (a) <= '9' ? ((a)-'0') : \ - (a) >= 'A' && (a) <= 'F' ? ((a)-'A'+10) : ((a)-'a'+10)) +#define HEXTOBIN(x) ( (x) >= '0' && (x) <= '9' ? ((x)-'0') : \ + (x) >= 'A' && (x) <= 'F' ? ((x)-'A'+10) : ((x)-'a'+10)) /**************** * Read a record but die if it does not exist @@ -520,5 +520,6 @@ if( !is_stdin ) fclose(fp); do_sync(); + sync_trustdb(); } diff -urN gnupg-1.0.0/g10/tdbio.c gnupg-1.0.1/g10/tdbio.c --- gnupg-1.0.0/g10/tdbio.c Fri Sep 3 21:18:05 1999 +++ gnupg-1.0.1/g10/tdbio.c Thu Dec 2 17:29:52 1999 @@ -40,11 +40,6 @@ #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. @@ -439,17 +434,8 @@ assert(p); *p = 0; if( access( fname, F_OK ) ) { - if( strlen(fname) >= 7 - && !strcmp(fname+strlen(fname)-7, "/.gnupg" ) ) { - if( mkdir( fname, S_IRUSR|S_IWUSR|S_IXUSR ) ) - log_fatal( _("%s: can't create directory: %s\n"), - fname, strerror(errno) ); - else if( !opt.quiet ) - log_info( _("%s: directory created\n"), fname ); - copy_options_file( fname ); - } - else - log_fatal( _("%s: directory does not exist!\n"), fname ); + try_make_homedir( fname ); + log_fatal( _("%s: directory does not exist!\n"), fname ); } *p = '/'; @@ -1130,6 +1116,8 @@ fputs(", expired", fp ); if( rec->r.dir.dirflags & DIRF_REVOKED ) fputs(", revoked", fp ); + if( rec->r.dir.dirflags & DIRF_NEWKEYS ) + fputs(", newkeys", fp ); } putc('\n', fp); break; diff -urN gnupg-1.0.0/g10/tdbio.h gnupg-1.0.1/g10/tdbio.h --- gnupg-1.0.0/g10/tdbio.h Tue Jun 29 18:32:34 1999 +++ gnupg-1.0.1/g10/tdbio.h Mon Oct 4 12:19:37 1999 @@ -52,6 +52,7 @@ /* one uid with a selfsignature or an revocation */ #define DIRF_EXPIRED 4 /* the complete key has expired */ #define DIRF_REVOKED 8 /* the complete key has been revoked */ +#define DIRF_NEWKEYS 128 /* new keys are available: we can check the sigs */ #define KEYF_CHECKED 1 /* This key has been checked */ #define KEYF_VALID 2 /* This is a valid (sub)key */ @@ -121,7 +122,7 @@ } uid; struct { /* preference record */ ulong lid; /* point back to the directory record */ - /* or 0 for a glocal pref record */ + /* or 0 for a global pref record */ ulong next; /* points to next pref record */ byte data[ITEMS_PER_PREF_RECORD]; } pref; diff -urN gnupg-1.0.0/g10/textfilter.c gnupg-1.0.1/g10/textfilter.c --- gnupg-1.0.0/g10/textfilter.c Thu May 20 13:55:07 1999 +++ gnupg-1.0.1/g10/textfilter.c Sun Sep 26 16:44:07 1999 @@ -183,11 +183,32 @@ iobuf_put( out, '-' ); iobuf_put( out, ' ' ); } + #ifdef __MINGW32__ + /* make sure the lines do end in CR,LF */ + if( n > 1 && ( (buffer[n-2] == '\r' && buffer[n-1] == '\n' ) + || (buffer[n-2] == '\n' && buffer[n-1] == '\r'))) { + iobuf_write( out, buffer, n-2 ); + iobuf_put( out, '\r'); + iobuf_put( out, '\n'); + } + else if( n && buffer[n-1] == '\n' ) { + iobuf_write( out, buffer, n-1 ); + iobuf_put( out, '\r'); + iobuf_put( out, '\n'); + } + else + iobuf_write( out, buffer, n ); + + #else iobuf_write( out, buffer, n ); + #endif } /* at eof */ if( !pending_lf ) { /* make sure that the file ends with a LF */ + #ifndef __MINGW32__ + iobuf_put( out, '\r'); + #endif iobuf_put( out, '\n'); if( !escape_dash ) md_putc( md, '\n' ); diff -urN gnupg-1.0.0/g10/trustdb.c gnupg-1.0.1/g10/trustdb.c --- gnupg-1.0.0/g10/trustdb.c Wed Sep 1 15:28:09 1999 +++ gnupg-1.0.1/g10/trustdb.c Sat Dec 4 14:24:31 1999 @@ -125,13 +125,22 @@ unsigned *retflgs); static int get_dir_record( PKT_public_key *pk, TRUSTREC *rec ); static int do_update_trust_record( KBNODE keyblock, TRUSTREC *drec, - int recheck, int *modified ); -static int check_trust_record( TRUSTREC *drec ); + int sigs_only, int *modified ); +static int check_trust_record( TRUSTREC *drec, int sigs_only ); +static void mark_fresh_keys(void); /* a table used to keep track of ultimately trusted keys * which are the ones from our secrings and the trusted keys */ static LOCAL_ID_TABLE ultikey_table; + +/* a table to keep track of newly importted keys. This one is + * create by the insert_trust_record function and from time to time + * used to verify key signature which have been done with these new keys */ +static LOCAL_ID_TABLE fresh_imported_keys; +static int fresh_imported_keys_count; +#define FRESH_KEY_CHECK_THRESHOLD 200 + /* list of unused lid items and tables */ static LOCAL_ID_TABLE unused_lid_tables; static struct local_id_item *unused_lid_items; @@ -245,6 +254,27 @@ } #endif + +/**************** + * Remove all items from a LID table + */ +static void +clear_lid_table( LOCAL_ID_TABLE tbl ) +{ + struct local_id_item *a, *a2; + int i; + + for(i=0; i < 16; i++ ) { + for(a=tbl->items[i]; a; a = a2 ) { + a2 = a->next; + a->next = unused_lid_items; + unused_lid_items = a; + } + tbl->items[i] = NULL; + } +} + + /**************** * Add a new item to the table or return 1 if we already have this item */ @@ -572,6 +602,18 @@ +/**************** + * This function should be called in certain cases to sync the internal state + * of the trustdb with the file image. Currently it is needed after + * a sequence of insert_trust_record() calls. + */ +void +sync_trustdb() +{ + if( fresh_imported_keys && fresh_imported_keys_count ) + mark_fresh_keys(); +} + /*********************************************** @@ -586,13 +628,13 @@ p = get_user_id( keyid, &n ); if( fp ) { fprintf( fp, "%s \"", text ); - print_string( fp, p, n, 0 ); + print_utf8_string( fp, p, n ); putc('\"', fp); putc('\n', fp); } else { tty_printf( "%s \"", text ); - tty_print_string( p, n ); + tty_print_utf8_string( p, n ); tty_printf( "\"\n" ); } m_free(p); @@ -652,7 +694,7 @@ p = get_user_id( keyid, &n ); putc(' ', fp); putc('\"', fp); - print_string( fp, p, n > 40? 40:n, 0 ); + print_utf8_string( fp, p, n > 40? 40:n ); putc('\"', fp); m_free(p); putc('\n', fp ); @@ -683,7 +725,10 @@ if( node->pkt->pkttype == PKT_USER_ID ) { PKT_user_id *uidpkt = node->pkt->pkt.user_id; - rmd160_hash_buffer( uhash, uidpkt->name, uidpkt->len ); + if( uidpkt->photo ) + rmd160_hash_buffer( uhash, uidpkt->photo, uidpkt->photolen ); + else + rmd160_hash_buffer( uhash, uidpkt->name, uidpkt->len ); if( !memcmp( uhash, urec.r.uid.namehash, 20 ) ) { print_string( fp, uidpkt->name, uidpkt->len, ':' ); return; @@ -1082,7 +1127,7 @@ static unsigned int check_sig_record( KBNODE keyblock, KBNODE signode, ulong siglid, int sigidx, u32 *keyid, ulong lid, - u32 *r_expire ) + u32 *r_expire, int *mod_down, int *mod_up ) { PKT_signature *sig = signode->pkt->pkt.signature; unsigned int sigflag = 0; @@ -1114,16 +1159,16 @@ sigflag |= SIGF_CHECKED | SIGF_VALID; if( revocation ) { sigflag |= SIGF_REVOKED; - /**mod_down = 1;*/ + *mod_down = 1; } else - /**mod_up = 1*/; + *mod_up = 1; } else if( rc == G10ERR_NO_PUBKEY ) { /* This may happen if the key is still in the trustdb * but not available in the keystorage */ sigflag |= SIGF_NOPUBKEY; - /**mod_down = 1;*/ + *mod_down = 1; if( revocation ) sigflag |= SIGF_REVOKED; } @@ -1137,7 +1182,7 @@ sigflag |= SIGF_CHECKED; if( revocation ) { sigflag |= SIGF_REVOKED; - /**mod_down = 1;*/ + *mod_down = 1; } } } @@ -1168,7 +1213,8 @@ */ static ulong make_sig_records( KBNODE keyblock, KBNODE uidnode, - ulong lid, u32 *mainkid, u32 *min_expire ) + ulong lid, u32 *mainkid, u32 *min_expire, + int *mod_down, int *mod_up ) { TRUSTREC *srecs, **s_end, *s=NULL, *s2; KBNODE node; @@ -1218,7 +1264,8 @@ s->r.sig.sig[sigidx].lid = siglid; s->r.sig.sig[sigidx].flag= check_sig_record( keyblock, node, siglid, sigidx, - mainkid, lid, &expire ); + mainkid, lid, &expire, + mod_down, mod_up ); sigidx++; if( sigidx == SIGS_PER_RECORD ) { @@ -1319,7 +1366,8 @@ static ulong -make_uid_records( KBNODE keyblock, ulong lid, u32 *keyid, u32 *min_expire ) +make_uid_records( KBNODE keyblock, ulong lid, u32 *keyid, u32 *min_expire, + int *mod_down, int *mod_up ) { TRUSTREC *urecs, **uend, *u, *u2; KBNODE node; @@ -1334,7 +1382,10 @@ if( node->pkt->pkttype != PKT_USER_ID ) continue; uid = node->pkt->pkt.user_id; - rmd160_hash_buffer( uidhash, uid->name, uid->len ); + if( uid->photo ) + rmd160_hash_buffer( uidhash, uid->photo, uid->photolen ); + else + rmd160_hash_buffer( uidhash, uid->name, uid->len ); /* create the uid record */ u = m_alloc_clear( sizeof *u ); @@ -1351,9 +1402,21 @@ && (u->r.uid.uidflags & UIDF_VALID) ) { u->r.uid.prefrec = bestsig? make_pref_record( bestsig, lid ) : 0; } + + /* the next test is really bad because we should modify + * out modification timestamps only if we really have a change. + * But becuase we are deleting the uid records first it is somewhat + * difficult to track those changes. fixme */ + if( !( u->r.uid.uidflags & UIDF_VALID ) + || ( u->r.uid.uidflags & UIDF_REVOKED ) ) + *mod_down=1; + else + *mod_up=1; + /* create the list of signatures */ u->r.uid.siglist = make_sig_records( keyblock, node, - lid, keyid, min_expire ); + lid, keyid, min_expire, + mod_down, mod_up ); } uidrecno = urecs? urecs->recnum : 0; @@ -1380,6 +1443,8 @@ TRUSTREC drec; int rc; + /* NOTE: We don't need recheck anymore, but this might chnage again in + * the future */ if( opt.dry_run ) return 0; if( modified ) @@ -1390,24 +1455,25 @@ if( rc ) return rc; - rc = do_update_trust_record( keyblock, &drec, recheck, modified ); + rc = do_update_trust_record( keyblock, &drec, 0, modified ); return rc; } /**************** - * Same as update_trust_record, but tghis functions expects the dir record. - * On exit the dirrecord will reflect any changes made. + * Same as update_trust_record, but this functions expects the dir record. + * On exit the dir record will reflect any changes made. + * With sigs_only set only foreign key signatures are checked. */ static int do_update_trust_record( KBNODE keyblock, TRUSTREC *drec, - int recheck, int *modified ) + int sigs_only, int *modified ) { PKT_public_key *primary_pk; TRUSTREC krec, urec, prec, helprec; int i, rc = 0; u32 keyid[2]; /* keyid of primary key */ -/* int mod_up = 0; - int mod_down = 0; */ + int mod_up = 0; + int mod_down = 0; ulong recno, r2; u32 expire; @@ -1424,7 +1490,7 @@ if( rc ) return rc; - /* delete the old stuff */ + /* delete the old stuff FIXME: implementend sigs_only */ for( recno=drec->r.dir.keylist; recno; recno = krec.r.key.next ) { read_record( recno, &krec, RECTYPE_KEY ); delete_record( recno ); @@ -1447,22 +1513,13 @@ /* insert new stuff */ drec->r.dir.dirflags &= ~DIRF_REVOKED; + drec->r.dir.dirflags &= ~DIRF_NEWKEYS; drec->r.dir.keylist = make_key_records( keyblock, drec->recnum, keyid, &i ); if( i ) /* primary key has been revoked */ - drec->r.dir.dirflags &= DIRF_REVOKED; + drec->r.dir.dirflags |= DIRF_REVOKED; expire = 0; drec->r.dir.uidlist = make_uid_records( keyblock, drec->recnum, keyid, - &expire ); - #if 0 - if( orig_uidflags != urec.r.uid.uidflags ) { - write_record( &urec ); - if( !( urec.r.uid.uidflags & UIDF_VALID ) - || ( urec.r.uid.uidflags & UIDF_REVOKED ) ) - *mod_down=1; - else - *mod_up=1; /*(maybe a new user id)*/ - #endif - + &expire, &mod_down, &mod_up ); if( rc ) rc = tdbio_cancel_transaction(); else { @@ -1472,7 +1529,7 @@ drec->r.dir.valcheck = 0; drec->r.dir.checkat = expire; write_record( drec ); - /*tdbio_write_modify_stamp( mod_up, mod_down );*/ + tdbio_write_modify_stamp( mod_up, mod_down ); rc = tdbio_end_transaction(); } return rc; @@ -1537,16 +1594,28 @@ } } + /* mark tdb as modified upwards */ tdbio_write_modify_stamp( 1, 0 ); /* and put all the other stuff into the keydb */ - rc = do_update_trust_record( keyblock, &dirrec, 1, NULL ); + rc = do_update_trust_record( keyblock, &dirrec, 0, NULL ); do_sync(); + + /* keep track of new keys */ + if( !fresh_imported_keys ) + fresh_imported_keys = new_lid_table(); + ins_lid_table_item( fresh_imported_keys, pk->local_id, 0 ); + if( ++fresh_imported_keys_count > FRESH_KEY_CHECK_THRESHOLD ) + mark_fresh_keys(); + return rc; } + + + /**************** * Insert a trust record indentified by a PK into the TrustDB */ @@ -1584,7 +1653,7 @@ * Currently we only do an update_trust_record. */ static int -check_trust_record( TRUSTREC *drec ) +check_trust_record( TRUSTREC *drec, int sigs_only ) { KBNODE keyblock; int modified, rc; @@ -1596,7 +1665,7 @@ return rc; } - rc = do_update_trust_record( keyblock, drec, 0, &modified ); + rc = do_update_trust_record( keyblock, drec, sigs_only, &modified ); release_kbnode( keyblock ); return rc; @@ -1673,7 +1742,7 @@ /**************** - * Do all required check in the trustdb. This function walks over all + * Do all required checks in the trustdb. This function walks over all * records in the trustdb and does scheduled processing. */ void @@ -1681,7 +1750,7 @@ { TRUSTREC rec; ulong recnum; - ulong count=0, upd_count=0, err_count=0, skip_count=0; + ulong count=0, upd_count=0, err_count=0, skip_count=0, sigonly_count=0; ulong current_time = make_timestamp(); if( username ) @@ -1690,15 +1759,25 @@ init_trustdb(); for(recnum=0; !tdbio_read_record( recnum, &rec, 0); recnum++ ) { + int sigs_only; + if( rec.rectype != RECTYPE_DIR ) continue; /* we only want the dir records */ if( count && !(count % 100) && !opt.quiet ) log_info(_("%lu keys so far processed\n"), count); count++; - if( !rec.r.dir.checkat || rec.r.dir.checkat > current_time ) { - skip_count++; - continue; /* not scheduled for checking */ + sigs_only = 0; + + if( !(rec.r.dir.dirflags & DIRF_CHECKED) ) + ; + else if( !rec.r.dir.checkat || rec.r.dir.checkat > current_time ) { + if( !(rec.r.dir.dirflags & DIRF_NEWKEYS) ) { + skip_count++; + continue; /* not scheduled for checking */ + } + sigs_only = 1; /* new public keys - check them */ + sigonly_count++; } if( !rec.r.dir.keylist ) { @@ -1707,11 +1786,12 @@ continue; } - check_trust_record( &rec ); - + check_trust_record( &rec, sigs_only ); } log_info(_("%lu keys processed\n"), count); + if( sigonly_count ) + log_info(_("\t%lu due to new pubkeys\n"), sigonly_count); if( skip_count ) log_info(_("\t%lu keys skipped\n"), skip_count); if( err_count ) @@ -1772,7 +1852,9 @@ } if( dirrec.r.dir.checkat && dirrec.r.dir.checkat <= make_timestamp() ) - check_trust_record( &dirrec ); + check_trust_record( &dirrec, 0 ); + else if( (dirrec.r.dir.dirflags & DIRF_NEWKEYS) ) + check_trust_record( &dirrec, 1 ); keynode->n.k.ownertrust = dirrec.r.dir.ownertrust & TRUST_MASK; @@ -2000,8 +2082,12 @@ if( !tree ) return TRUST_UNDEFINED; pv_result = propagate_validity( tree, tree, add_fnc, retflgs ); - if( namehash ) { + if( namehash && tree->n.k.validity != TRUST_ULTIMATE ) { /* find the matching user id. + * We don't do this here if the key is ultimately trusted; in + * this case there will be no lits od user IDs and frankly + * it doe not make sense to compare by the name if we do + * have the secret key. * fixme: the way we handle this is too inefficient */ TN ur; TRUSTREC rec; @@ -2074,6 +2160,7 @@ } else if( !add_fnc && tdbio_db_matches_options() + /* FIXME, TODO: This comparision is WRONG ! */ && dr->r.dir.valcheck > tdbio_read_modify_stamp( (dr->r.dir.validity < TRUST_FULLY) ) && dr->r.dir.validity ) @@ -2241,8 +2328,13 @@ (ulong)keyid[1], pk->local_id ); return G10ERR_TIME_CONFLICT; } - if( rec.r.dir.checkat && rec.r.dir.checkat <= cur_time ) - check_trust_record( &rec ); + + if( !(rec.r.dir.dirflags & DIRF_CHECKED) ) + check_trust_record( &rec, 0 ); + else if( rec.r.dir.checkat && rec.r.dir.checkat <= cur_time ) + check_trust_record( &rec, 0 ); + else if( (rec.r.dir.dirflags & DIRF_NEWKEYS) ) + check_trust_record( &rec, 1 ); if( pk->expiredate && pk->expiredate <= cur_time ) { log_info(_("key %08lX.%lu: expired at %s\n"), @@ -2298,6 +2390,51 @@ } +/**************** + * scan the whole trustdb and mark all signature records whose keys + * are freshly imported. + */ +static void +mark_fresh_keys() +{ + TRUSTREC dirrec, rec; + ulong recnum, lid; + int i; + + memset( &dirrec, 0, sizeof dirrec ); + + for(recnum=0; !tdbio_read_record( recnum, &rec, 0); recnum++ ) { + if( rec.rectype != RECTYPE_SIG ) + continue; + /* if we have already have the dir record, we can check it now */ + if( dirrec.recnum == rec.r.sig.lid + && (dirrec.r.dir.dirflags & DIRF_NEWKEYS) ) + continue; /* flag is already set */ + + for(i=0; i < SIGS_PER_RECORD; i++ ) { + if( !(lid=rec.r.sig.sig[i].lid) ) + continue; /* skip deleted sigs */ + if( !(rec.r.sig.sig[i].flag & SIGF_CHECKED) ) + continue; /* skip checked signatures */ + if( qry_lid_table_flag( fresh_imported_keys, lid, NULL ) ) + continue; /* not in the list of new keys */ + read_record( rec.r.sig.lid, &dirrec, RECTYPE_DIR ); + if( !(dirrec.r.dir.dirflags & DIRF_NEWKEYS) ) { + dirrec.r.dir.dirflags |= DIRF_NEWKEYS; + write_record( &dirrec ); + } + break; + } + } + + do_sync(); + + clear_lid_table( fresh_imported_keys ); + fresh_imported_keys_count = 0; +} + + + int query_trust_info( PKT_public_key *pk, const byte *namehash ) { @@ -2531,7 +2668,7 @@ /* * Return an allocated buffer with the preference values for * the key with LID and the userid which is identified by the - * HAMEHASH or the firstone if namehash is NULL. ret_n receives + * HAMEHASH or the first one if namehash is NULL. ret_n receives * the length of the allocated buffer. Structure of the buffer is * a repeated sequences of 2 bytes; where the first byte describes the * type of the preference and the second one the value. The constants diff -urN gnupg-1.0.0/g10/trustdb.h gnupg-1.0.1/g10/trustdb.h --- gnupg-1.0.0/g10/trustdb.h Thu Jul 1 11:22:21 1999 +++ gnupg-1.0.1/g10/trustdb.h Mon Oct 4 13:41:55 1999 @@ -49,6 +49,7 @@ void update_trustdb( void ); int setup_trustdb( int level, const char *dbname ); void init_trustdb( void ); +void sync_trustdb( void ); int check_trust( PKT_public_key *pk, unsigned *r_trustlevel, const byte* nh, int (*add_fnc)(ulong), unsigned *retflgs ); int query_trust_info( PKT_public_key *pk, const byte *nh ); diff -urN gnupg-1.0.0/g10/verify.c gnupg-1.0.1/g10/verify.c --- gnupg-1.0.0/g10/verify.c Fri Apr 23 16:23:09 1999 +++ gnupg-1.0.1/g10/verify.c Sun Sep 26 17:02:14 1999 @@ -33,6 +33,7 @@ #include "memory.h" #include "util.h" #include "main.h" +#include "status.h" #include "filter.h" #include "ttyio.h" #include "i18n.h" @@ -58,6 +59,7 @@ int i, rc; STRLIST sl; + memset( &afx, 0, sizeof afx); sigfile = nfiles? *files : NULL; /* open the signature file */ @@ -67,6 +69,51 @@ return G10ERR_OPEN_FILE; } + if( !opt.no_armor && use_armor_filter( fp ) ) + iobuf_push_filter( fp, armor_filter, &afx ); + + sl = NULL; + for(i=1 ; i < nfiles; i++ ) + add_to_strlist( &sl, files[i] ); + rc = proc_signature_packets( NULL, fp, sl, sigfile ); + free_strlist(sl); + iobuf_close(fp); + if( afx.no_openpgp_data && rc == -1 ) { + log_error(_("the signature could not be verified.\n" + "Please remember that the signature file (.sig or .asc)\n" + "should be the first file given on the command line.\n") ); + rc = 0; + } + + return rc; +} + + +static void +print_file_status( int status, const char *name, int what ) +{ + char *p = m_alloc(strlen(name)+10); + sprintf(p, "%d %s", what, name ); + write_status_text( status, p ); + m_free(p); +} + + +static int +verify_one_file( const char *name ) +{ + IOBUF fp; + armor_filter_context_t afx; + int rc; + + print_file_status( STATUS_FILE_START, name, 1 ); + fp = iobuf_open(name); + if( !fp ) { + print_file_status( STATUS_FILE_ERROR, name, 1 ); + log_error(_("can't open `%s'\n"), print_fname_stdin(name)); + return G10ERR_OPEN_FILE; + } + if( !opt.no_armor ) { if( use_armor_filter( fp ) ) { memset( &afx, 0, sizeof afx); @@ -74,14 +121,44 @@ } } - sl = NULL; - for(i=1 ; i < nfiles; i++ ) - add_to_strlist( &sl, files[i] ); - rc = proc_signature_packets( NULL, fp, sl, sigfile ); - free_strlist(sl); + rc = proc_signature_packets( NULL, fp, NULL, name ); iobuf_close(fp); + write_status( STATUS_FILE_DONE ); return rc; } +/**************** + * Verify each file given in the files array or read the names of the + * files from stdin. + * Note: This function can not handle detached signatures. + */ +int +verify_files( int nfiles, char **files ) +{ + int i; + if( !nfiles ) { /* read the filenames from stdin */ + char line[2048]; + unsigned int lno = 0; + + while( fgets(line, DIM(line), stdin) ) { + lno++; + if( !*line || line[strlen(line)-1] != '\n' ) { + log_error(_("input line %u too long or missing LF\n"), lno ); + return G10ERR_GENERAL; + } + /* This code does not work on MSDOS but how cares there are + * also no script languages available. We don't strip any + * spaces, so that we can process nearly all filenames */ + line[strlen(line)-1] = 0; + verify_one_file( line ); + } + + } + else { /* take filenames from the array */ + for(i=0; i < nfiles; i++ ) + verify_one_file( files[i] ); + } + return 0; +} diff -urN gnupg-1.0.0/gcrypt/ChangeLog gnupg-1.0.1/gcrypt/ChangeLog --- gnupg-1.0.0/gcrypt/ChangeLog Wed Jul 7 13:08:45 1999 +++ gnupg-1.0.1/gcrypt/ChangeLog Thu Jan 1 01:00:00 1970 @@ -1,10 +0,0 @@ -Wed Jul 7 13:08:40 CEST 1999 Werner Koch - - - * sexp.c: New. - -Tue Dec 8 13:15:16 CET 1998 Werner Koch - - * gcrypt.h: New - * mpiapi.c: New - diff -urN gnupg-1.0.0/gcrypt/Makefile.am gnupg-1.0.1/gcrypt/Makefile.am --- gnupg-1.0.0/gcrypt/Makefile.am Wed Jul 14 11:57:28 1999 +++ gnupg-1.0.1/gcrypt/Makefile.am Thu Jan 1 01:00:00 1970 @@ -1,35 +0,0 @@ -## Process this file with automake to produce Makefile.in - -EXTRA_DIST = README -INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl - -noinst_PROGRAMS = sexp -sexp_SOURCES = sexp.c mpiapi.c -sexp_LDADD = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la @INTLLIBS@ - - -lib_LTLIBRARIES = libgcrypt.la - -libgcrypt_la_LDFLAGS = -version-info 0:0:0 -export-symbols libgcrypt.sym -libgcrypt_la_SOURCES = gcrypt.h \ - g10lib.h \ - misc.c \ - global.c \ - mpiapi.c \ - symapi.c \ - mdapi.c \ - pkapi.c - -libgcrypt_la_DEPENDENCIES = libgcrypt.sym -libgcrypt_la_LIBADD = ../cipher/libcipher.la \ - ../mpi/libmpi.la \ - ../util/libutil.la - -BUILT_SOURCES = libgcrypt.sym - -# libtool's --export-symbols-regex does not work in 1.3.2 -# so we do it ourself -libgcrypt.sym: $(libgcrypt_la_OBJECTS) - $(NM) $(libgcrypt_la_OBJECTS) \ - | $(AWK) '$$2=="T" && $$3 ~ /^gcry_/ {print $$3}' >libgcrypt.sym - diff -urN gnupg-1.0.0/gcrypt/Makefile.in gnupg-1.0.1/gcrypt/Makefile.in --- gnupg-1.0.0/gcrypt/Makefile.in Tue Sep 7 18:48:54 1999 +++ gnupg-1.0.1/gcrypt/Makefile.in Thu Jan 1 01:00:00 1970 @@ -1,402 +0,0 @@ -# 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. - - -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@ - -EXTRA_DIST = README -INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl - -noinst_PROGRAMS = sexp -sexp_SOURCES = sexp.c mpiapi.c -sexp_LDADD = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la @INTLLIBS@ - -lib_LTLIBRARIES = libgcrypt.la - -libgcrypt_la_LDFLAGS = -version-info 0:0:0 -export-symbols libgcrypt.sym -libgcrypt_la_SOURCES = gcrypt.h g10lib.h misc.c global.c mpiapi.c symapi.c mdapi.c pkapi.c - - -libgcrypt_la_DEPENDENCIES = libgcrypt.sym -libgcrypt_la_LIBADD = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la - - -BUILT_SOURCES = libgcrypt.sym -mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(lib_LTLIBRARIES) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -libgcrypt_la_OBJECTS = misc.lo global.lo mpiapi.lo symapi.lo mdapi.lo \ -pkapi.lo -PROGRAMS = $(noinst_PROGRAMS) - -sexp_OBJECTS = sexp.o mpiapi.o -sexp_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ -../util/libutil.la -sexp_LDFLAGS = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README ChangeLog Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = $(libgcrypt_la_SOURCES) $(sexp_SOURCES) -OBJECTS = $(libgcrypt_la_OBJECTS) $(sexp_OBJECTS) - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps gcrypt/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-libLTLIBRARIES: - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - -distclean-libLTLIBRARIES: - -maintainer-clean-libLTLIBRARIES: - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(libdir) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ - done - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -libgcrypt.la: $(libgcrypt_la_OBJECTS) $(libgcrypt_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libgcrypt_la_LDFLAGS) $(libgcrypt_la_OBJECTS) $(libgcrypt_la_LIBADD) $(LIBS) - -mostlyclean-noinstPROGRAMS: - -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - -distclean-noinstPROGRAMS: - -maintainer-clean-noinstPROGRAMS: - -sexp: $(sexp_OBJECTS) $(sexp_DEPENDENCIES) - @rm -f sexp - $(LINK) $(sexp_LDFLAGS) $(sexp_OBJECTS) $(sexp_LDADD) $(LIBS) - -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: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - 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) - -subdir = gcrypt - -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 -global.lo global.o : global.c ../config.h ../g10defs.h g10lib.h gcrypt.h -mdapi.lo mdapi.o : mdapi.c ../config.h ../g10defs.h g10lib.h gcrypt.h \ - ../include/cipher.h ../include/mpi.h ../include/iobuf.h \ - ../include/types.h ../include/memory.h \ - ../include/../cipher/random.h -misc.lo misc.o : misc.c ../config.h ../g10defs.h g10lib.h gcrypt.h -mpiapi.lo mpiapi.o : mpiapi.c ../config.h ../g10defs.h g10lib.h gcrypt.h \ - ../include/mpi.h ../include/iobuf.h ../include/types.h \ - ../include/memory.h ../cipher/random.h -pkapi.lo pkapi.o : pkapi.c ../config.h ../g10defs.h g10lib.h gcrypt.h -sexp.o: sexp.c ../config.h ../g10defs.h g10lib.h gcrypt.h \ - ../include/util.h ../include/types.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h -symapi.lo symapi.o : symapi.c ../config.h ../g10defs.h g10lib.h gcrypt.h \ - ../include/cipher.h ../include/mpi.h \ - ../include/../cipher/random.h ../include/types.h - -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-libLTLIBRARIES -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-libLTLIBRARIES -uninstall: uninstall-am -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(libdir) - - -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: - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \ - mostlyclean-libtool mostlyclean-noinstPROGRAMS \ - mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-libLTLIBRARIES clean-compile clean-libtool \ - clean-noinstPROGRAMS clean-tags clean-generic \ - mostlyclean-am - -clean: clean-am - -distclean-am: distclean-libLTLIBRARIES distclean-compile \ - distclean-libtool distclean-noinstPROGRAMS \ - distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-libLTLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-noinstPROGRAMS 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 - -.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \ -clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \ -uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \ -distclean-compile clean-compile maintainer-clean-compile \ -mostlyclean-libtool distclean-libtool clean-libtool \ -maintainer-clean-libtool mostlyclean-noinstPROGRAMS \ -distclean-noinstPROGRAMS clean-noinstPROGRAMS \ -maintainer-clean-noinstPROGRAMS tags 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 mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -# libtool's --export-symbols-regex does not work in 1.3.2 -# so we do it ourself -libgcrypt.sym: $(libgcrypt_la_OBJECTS) - $(NM) $(libgcrypt_la_OBJECTS) \ - | $(AWK) '$$2=="T" && $$3 ~ /^gcry_/ {print $$3}' >libgcrypt.sym - -# 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-1.0.0/gcrypt/README gnupg-1.0.1/gcrypt/README --- gnupg-1.0.0/gcrypt/README Wed Jul 7 11:37:40 1999 +++ gnupg-1.0.1/gcrypt/README Thu Jan 1 01:00:00 1970 @@ -1,3 +0,0 @@ -This directory will contain sources for libgcrypt. -Because it is still under development, no source -is provided and compilation is disabled. diff -urN gnupg-1.0.0/include/ChangeLog gnupg-1.0.1/include/ChangeLog --- gnupg-1.0.0/include/ChangeLog Tue Jun 29 21:44:29 1999 +++ gnupg-1.0.1/include/ChangeLog Sat Dec 4 12:30:30 1999 @@ -1,3 +1,16 @@ +Sat Dec 4 12:30:28 CET 1999 Werner Koch + + * iobuf.h (IOBUFCTRL_CANCEL): Nww. + +Mon Oct 4 21:23:04 CEST 1999 Werner Koch + + * errors.h (G10ERR_NOT_PROCESSED): New. + +Wed Sep 15 16:22:17 CEST 1999 Werner Koch + + + * i18n.h: Add support for simple-gettext. + Tue Jun 29 21:44:25 CEST 1999 Werner Koch diff -urN gnupg-1.0.0/include/errors.h gnupg-1.0.1/include/errors.h --- gnupg-1.0.0/include/errors.h Fri Apr 23 10:51:09 1999 +++ gnupg-1.0.1/include/errors.h Mon Oct 4 15:42:22 1999 @@ -71,6 +71,7 @@ #define G10ERR_UNKNOWN_HOST 49 #define G10ERR_SELFTEST_FAILED 50 #define G10ERR_NOT_ENCRYPTED 51 +#define G10ERR_NOT_PROCESSED 52 #ifndef HAVE_STRERROR char *strerror( int n ); diff -urN gnupg-1.0.0/include/http.h gnupg-1.0.1/include/http.h --- gnupg-1.0.0/include/http.h Sun Apr 18 09:59:34 1999 +++ gnupg-1.0.1/include/http.h Fri Oct 8 19:37:58 1999 @@ -49,6 +49,10 @@ HTTP_REQ_POST = 3 } HTTP_REQ_TYPE; +enum { /* put flag values into an enum, so that gdb can display them */ + HTTP_FLAG_TRY_PROXY = 1 +}; + struct http_context { int initialized; unsigned int status_code; @@ -61,6 +65,7 @@ HTTP_REQ_TYPE req_type; byte *buffer; /* line buffer */ unsigned buffer_size; + unsigned int flags; }; typedef struct http_context *HTTP_HD; diff -urN gnupg-1.0.0/include/i18n.h gnupg-1.0.1/include/i18n.h --- gnupg-1.0.0/include/i18n.h Sun Apr 18 09:59:34 1999 +++ gnupg-1.0.1/include/i18n.h Wed Sep 15 16:26:24 1999 @@ -21,6 +21,14 @@ #ifndef G10_I18N_H #define G10_I18N_H +#ifdef USE_SIMPLE_GETTEXT + int set_gettext_file( const char *filename ); + const char *gettext( const char *msgid ); + + #define _(a) gettext (a) + #define N_(a) (a) + +#else #ifdef HAVE_LOCALE_H #include /* suggested by Ernst Molitor */ #endif @@ -37,5 +45,6 @@ #define _(a) (a) #define N_(a) (a) #endif +#endif /* !USE_SIMPLE_GETTEXT */ #endif /*G10_I18N_H*/ diff -urN gnupg-1.0.0/include/iobuf.h gnupg-1.0.1/include/iobuf.h --- gnupg-1.0.0/include/iobuf.h Tue Jun 1 15:36:22 1999 +++ gnupg-1.0.1/include/iobuf.h Sat Dec 4 11:52:08 1999 @@ -32,6 +32,7 @@ #define IOBUFCTRL_UNDERFLOW 3 #define IOBUFCTRL_FLUSH 4 #define IOBUFCTRL_DESC 5 +#define IOBUFCTRL_CANCEL 6 #define IOBUFCTRL_USER 16 typedef struct iobuf_struct *IOBUF; diff -urN gnupg-1.0.0/include/util.h gnupg-1.0.1/include/util.h --- gnupg-1.0.0/include/util.h Tue Aug 31 16:08:19 1999 +++ gnupg-1.0.1/include/util.h Mon Nov 22 10:52:43 1999 @@ -188,6 +188,9 @@ #ifndef HAVE_STRLWR char *strlwr(char *a); #endif +#ifndef HAVE_STRCASECMP +int strcasecmp( const char *, const char *b); +#endif #ifndef HAVE_STRTOUL #define strtoul(a,b,c) ((unsigned long)strtol((a),(b),(c))) #endif @@ -196,6 +199,12 @@ #endif #ifndef HAVE_STRICMP #define stricmp(a,b) strcasecmp( (a), (b) ) +#endif + +/*-- w32reg.c --*/ +#ifdef __MINGW32__ +char *read_w32_registry_string( const char *root, + const char *dir, const char *name ); #endif /**** other missing stuff ****/ diff -urN gnupg-1.0.0/mpi/ChangeLog gnupg-1.0.1/mpi/ChangeLog --- gnupg-1.0.0/mpi/ChangeLog Mon Aug 30 20:38:38 1999 +++ gnupg-1.0.1/mpi/ChangeLog Thu Dec 16 10:08:00 1999 @@ -1,5 +1,23 @@ -Mon Aug 30 20:38:33 CEST 1999 Werner Koch +Thu Dec 16 10:07:58 CET 1999 Werner Koch + + * Makefile.am: c/SFLAGS/ASFLAGS/. This has only been used by the + powerpc and actually never passed the -Wa,foo to the cc. + +Thu Dec 9 10:31:05 CET 1999 Werner Koch + + * power/: Add all files from GMP for this CPU. + + * config.links: Support for BSDI 4.x. By Wayne Chapeskie. + (sparc8): Made the search path the same as sparc9 + * mpih-div.c (mpihelp_divrem): The MPN_COPY_DECR copied one + elemnat too many. This is gmp2.0.2p9.txt patch. + +Sat Oct 9 20:34:41 CEST 1999 Werner Koch + + * Makefile.am: Removed libtool. + +Mon Aug 30 20:38:33 CEST 1999 Werner Koch * config.links: Add case label for DJGPP diff -urN gnupg-1.0.0/mpi/Makefile.am gnupg-1.0.1/mpi/Makefile.am --- gnupg-1.0.0/mpi/Makefile.am Wed Jul 14 12:08:26 1999 +++ gnupg-1.0.1/mpi/Makefile.am Fri Dec 10 13:48:33 1999 @@ -3,7 +3,7 @@ INCLUDES = -I$(top_srcdir)/include CFLAGS = @CFLAGS@ @MPI_OPT_FLAGS@ -SFLAGS = @MPI_SFLAGS@ +ASFLAGS = @MPI_SFLAGS@ EXTRA_DIST = config.links DISTCLEANFILES = mpih-add1.S mpih-mul1.S mpih-mul2.S mpih-mul3.S \ @@ -11,10 +11,10 @@ # Note: we only use .S files so we should delete all left over .s CLEANFILES = *.s -noinst_LTLIBRARIES = libmpi.la +noinst_LIBRARIES = libmpi.a -libmpi_la_LDFLAGS = -libmpi_la_SOURCES = longlong.h \ +# libmpi_a_LDFLAGS = +libmpi_a_SOURCES = longlong.h \ mpi-add.c \ mpi-bit.c \ mpi-cmp.c \ @@ -37,16 +37,16 @@ # Note this objects are actually links, the sourcefiles are # distributed by special code in dist-hook -common_asm_objects = mpih-mul1.lo \ - mpih-mul2.lo \ - mpih-mul3.lo \ - mpih-add1.lo \ - mpih-sub1.lo \ - mpih-lshift.lo \ - mpih-rshift.lo +common_asm_objects = mpih-mul1.o \ + mpih-mul2.o \ + mpih-mul3.o \ + mpih-add1.o \ + mpih-sub1.o \ + mpih-lshift.o \ + mpih-rshift.o -libmpi_la_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ -libmpi_la_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ +libmpi_a_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ +libmpi_a_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ # cancel the default rules used by libtool which do not really # work and add one to cpp .S files diff -urN gnupg-1.0.0/mpi/Makefile.in gnupg-1.0.1/mpi/Makefile.in --- gnupg-1.0.0/mpi/Makefile.in Tue Sep 7 18:48:12 1999 +++ gnupg-1.0.1/mpi/Makefile.in Thu Dec 16 10:16:43 1999 @@ -85,9 +85,6 @@ 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@ @@ -95,7 +92,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -110,7 +106,7 @@ INCLUDES = -I$(top_srcdir)/include CFLAGS = @CFLAGS@ @MPI_OPT_FLAGS@ -SFLAGS = @MPI_SFLAGS@ +ASFLAGS = @MPI_SFLAGS@ EXTRA_DIST = config.links DISTCLEANFILES = mpih-add1.S mpih-mul1.S mpih-mul2.S mpih-mul3.S mpih-lshift.S mpih-rshift.S mpih-sub1.S asm-syntax.h sysdep.h @@ -118,37 +114,36 @@ # Note: we only use .S files so we should delete all left over .s CLEANFILES = *.s -noinst_LTLIBRARIES = libmpi.la +noinst_LIBRARIES = libmpi.a -libmpi_la_LDFLAGS = -libmpi_la_SOURCES = longlong.h mpi-add.c mpi-bit.c mpi-cmp.c mpi-div.c mpi-gcd.c mpi-internal.h mpi-inline.h mpi-inline.c mpi-inv.c mpi-mul.c mpi-pow.c mpi-mpow.c mpi-scan.c mpicoder.c mpih-cmp.c mpih-div.c mpih-mul.c mpiutil.c g10m.c +# libmpi_a_LDFLAGS = +libmpi_a_SOURCES = longlong.h mpi-add.c mpi-bit.c mpi-cmp.c mpi-div.c mpi-gcd.c mpi-internal.h mpi-inline.h mpi-inline.c mpi-inv.c mpi-mul.c mpi-pow.c mpi-mpow.c mpi-scan.c mpicoder.c mpih-cmp.c mpih-div.c mpih-mul.c mpiutil.c g10m.c # Note this objects are actually links, the sourcefiles are # distributed by special code in dist-hook -common_asm_objects = mpih-mul1.lo mpih-mul2.lo mpih-mul3.lo mpih-add1.lo mpih-sub1.lo mpih-lshift.lo mpih-rshift.lo +common_asm_objects = mpih-mul1.o mpih-mul2.o mpih-mul3.o mpih-add1.o mpih-sub1.o mpih-lshift.o mpih-rshift.o -libmpi_la_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ -libmpi_la_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ +libmpi_a_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ +libmpi_a_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) +LIBRARIES = $(noinst_LIBRARIES) DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -libmpi_la_OBJECTS = mpi-add.lo mpi-bit.lo mpi-cmp.lo mpi-div.lo \ -mpi-gcd.lo mpi-inline.lo mpi-inv.lo mpi-mul.lo mpi-pow.lo mpi-mpow.lo \ -mpi-scan.lo mpicoder.lo mpih-cmp.lo mpih-div.lo mpih-mul.lo mpiutil.lo \ -g10m.lo +libmpi_a_OBJECTS = mpi-add.o mpi-bit.o mpi-cmp.o mpi-div.o mpi-gcd.o \ +mpi-inline.o mpi-inv.o mpi-mul.o mpi-pow.o mpi-mpow.o mpi-scan.o \ +mpicoder.o mpih-cmp.o mpih-div.o mpih-mul.o mpiutil.o g10m.o +AR = ar COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -156,12 +151,12 @@ TAR = tar GZIP_ENV = --best -SOURCES = $(libmpi_la_SOURCES) -OBJECTS = $(libmpi_la_OBJECTS) +SOURCES = $(libmpi_a_SOURCES) +OBJECTS = $(libmpi_a_OBJECTS) all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .s +.SUFFIXES: .S .c .o .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps mpi/Makefile @@ -170,14 +165,14 @@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -mostlyclean-noinstLTLIBRARIES: +mostlyclean-noinstLIBRARIES: -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -distclean-noinstLTLIBRARIES: +distclean-noinstLIBRARIES: -maintainer-clean-noinstLTLIBRARIES: +maintainer-clean-noinstLIBRARIES: .c.o: $(COMPILE) -c $< @@ -195,24 +190,10 @@ maintainer-clean-compile: -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -libmpi.la: $(libmpi_la_OBJECTS) $(libmpi_la_DEPENDENCIES) - $(LINK) $(libmpi_la_LDFLAGS) $(libmpi_la_OBJECTS) $(libmpi_la_LIBADD) $(LIBS) +libmpi.a: $(libmpi_a_OBJECTS) $(libmpi_a_DEPENDENCIES) + -rm -f libmpi.a + $(AR) cru libmpi.a $(libmpi_a_OBJECTS) $(libmpi_a_LIBADD) + $(RANLIB) libmpi.a tags: TAGS @@ -258,59 +239,59 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -g10m.lo g10m.o : g10m.c ../config.h ../g10defs.h ../include/mpi.h \ +g10m.o: g10m.c ../config.h ../g10defs.h ../include/mpi.h \ ../include/iobuf.h ../include/types.h ../include/memory.h \ ../include/util.h ../include/errors.h -mpi-add.lo mpi-add.o : mpi-add.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-add.o: mpi-add.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h -mpi-bit.lo mpi-bit.o : mpi-bit.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-bit.o: mpi-bit.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h longlong.h -mpi-cmp.lo mpi-cmp.o : mpi-cmp.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-cmp.o: mpi-cmp.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h -mpi-div.lo mpi-div.o : mpi-div.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-div.o: mpi-div.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h longlong.h -mpi-gcd.lo mpi-gcd.o : mpi-gcd.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-gcd.o: mpi-gcd.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h -mpi-inline.lo mpi-inline.o : mpi-inline.c ../config.h ../g10defs.h \ - mpi-internal.h ../include/mpi.h ../include/iobuf.h \ - ../include/types.h ../include/memory.h mpi-inline.h -mpi-inv.lo mpi-inv.o : mpi-inv.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-inline.o: mpi-inline.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h -mpi-mpow.lo mpi-mpow.o : mpi-mpow.c ../config.h ../g10defs.h \ - mpi-internal.h ../include/mpi.h ../include/iobuf.h \ - ../include/types.h ../include/memory.h mpi-inline.h longlong.h -mpi-mul.lo mpi-mul.o : mpi-mul.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-inv.o: mpi-inv.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h -mpi-pow.lo mpi-pow.o : mpi-pow.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-mpow.o: mpi-mpow.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h longlong.h -mpi-scan.lo mpi-scan.o : mpi-scan.c ../config.h ../g10defs.h \ - mpi-internal.h ../include/mpi.h ../include/iobuf.h \ - ../include/types.h ../include/memory.h mpi-inline.h longlong.h -mpicoder.lo mpicoder.o : mpicoder.c ../config.h ../g10defs.h \ +mpi-mul.o: mpi-mul.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ - ../include/memory.h mpi-internal.h mpi-inline.h \ - ../include/util.h ../include/errors.h -mpih-cmp.lo mpih-cmp.o : mpih-cmp.c ../config.h ../g10defs.h \ - mpi-internal.h ../include/mpi.h ../include/iobuf.h \ - ../include/types.h ../include/memory.h mpi-inline.h -mpih-div.lo mpih-div.o : mpih-div.c ../config.h ../g10defs.h \ - mpi-internal.h ../include/mpi.h ../include/iobuf.h \ - ../include/types.h ../include/memory.h mpi-inline.h longlong.h -mpih-mul.lo mpih-mul.o : mpih-mul.c ../config.h ../g10defs.h \ - mpi-internal.h ../include/mpi.h ../include/iobuf.h \ - ../include/types.h ../include/memory.h mpi-inline.h longlong.h -mpiutil.lo mpiutil.o : mpiutil.c ../config.h ../g10defs.h \ + ../include/memory.h mpi-inline.h +mpi-pow.o: mpi-pow.c ../config.h ../g10defs.h mpi-internal.h \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ - ../include/memory.h mpi-internal.h mpi-inline.h \ - ../include/util.h ../include/errors.h + ../include/memory.h mpi-inline.h longlong.h +mpi-scan.o: mpi-scan.c ../config.h ../g10defs.h mpi-internal.h \ + ../include/mpi.h ../include/iobuf.h ../include/types.h \ + ../include/memory.h mpi-inline.h longlong.h +mpicoder.o: mpicoder.c ../config.h ../g10defs.h ../include/mpi.h \ + ../include/iobuf.h ../include/types.h ../include/memory.h \ + mpi-internal.h mpi-inline.h ../include/util.h \ + ../include/errors.h +mpih-cmp.o: mpih-cmp.c ../config.h ../g10defs.h mpi-internal.h \ + ../include/mpi.h ../include/iobuf.h ../include/types.h \ + ../include/memory.h mpi-inline.h +mpih-div.o: mpih-div.c ../config.h ../g10defs.h mpi-internal.h \ + ../include/mpi.h ../include/iobuf.h ../include/types.h \ + ../include/memory.h mpi-inline.h longlong.h +mpih-mul.o: mpih-mul.c ../config.h ../g10defs.h mpi-internal.h \ + ../include/mpi.h ../include/iobuf.h ../include/types.h \ + ../include/memory.h mpi-inline.h longlong.h +mpiutil.o: mpiutil.c ../config.h ../g10defs.h ../include/mpi.h \ + ../include/iobuf.h ../include/types.h ../include/memory.h \ + mpi-internal.h mpi-inline.h ../include/util.h \ + ../include/errors.h info-am: info: info-am @@ -331,7 +312,7 @@ install: install-am uninstall-am: uninstall: uninstall-am -all-am: Makefile $(LTLIBRARIES) +all-am: Makefile $(LIBRARIES) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install @@ -349,44 +330,39 @@ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: -mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic +mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ + mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \ - clean-tags clean-generic mostlyclean-am +clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \ + mostlyclean-am clean: clean-am -distclean-am: distclean-noinstLTLIBRARIES distclean-compile \ - distclean-libtool distclean-tags distclean-generic \ - clean-am - -rm -f libtool +distclean-am: distclean-noinstLIBRARIES distclean-compile \ + distclean-tags distclean-generic clean-am distclean: distclean-am -maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am +maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ + maintainer-clean-compile 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 -.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \ -clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \ +.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ +clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags 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 \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +maintainer-clean-compile tags 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 mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # cancel the default rules used by libtool which do not really diff -urN gnupg-1.0.0/mpi/config.links gnupg-1.0.1/mpi/config.links --- gnupg-1.0.0/mpi/config.links Mon Aug 30 11:06:48 1999 +++ gnupg-1.0.1/mpi/config.links Fri Dec 10 14:04:00 1999 @@ -22,6 +22,11 @@ cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h path="i586 i386" ;; + i[34]86*-*-bsdi4*) + echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h + cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h + path="i386" + ;; i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld* | i[34]86*-*-*bsd*) echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h @@ -80,7 +85,7 @@ ;; sparc8*-*-* | microsparc*-*-*) echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h - path="sparc32v8" + path="sparc32v8 sparc32" ;; supersparc*-*-*) echo '/* configured for supersparc */' >>./mpi/asm-syntax.h @@ -151,6 +156,13 @@ ;; rs6000-*-* | power-*-* | power2-*-*) mpi_sflags="-Wa,-mppc" + path="power" + mpi_extra_modules="udiv-w-sdiv" + ;; + powerpc-ibm-aix4.2.* ) + # I am not sure about this one but a machine identified by + # powerpc-ibm-aix4.2.1.0 cannot use the powerpc32 code. + mpi_sflags="-Wa,-mpwr" path="power" mpi_extra_modules="udiv-w-sdiv" ;; diff -urN gnupg-1.0.0/mpi/mpih-div.c gnupg-1.0.1/mpi/mpih-div.c --- gnupg-1.0.0/mpi/mpih-div.c Mon Jun 28 22:50:29 1999 +++ gnupg-1.0.1/mpi/mpih-div.c Wed Dec 8 19:09:32 1999 @@ -338,7 +338,7 @@ } else { n2 = np[dsize - 1]; - MPN_COPY_DECR (np + 1, np, dsize); + MPN_COPY_DECR (np + 1, np, dsize - 1); np[0] = 0; } diff -urN gnupg-1.0.0/mpi/power/distfiles gnupg-1.0.1/mpi/power/distfiles --- gnupg-1.0.0/mpi/power/distfiles Tue Nov 10 18:42:13 1998 +++ gnupg-1.0.1/mpi/power/distfiles Thu Dec 9 10:26:18 1999 @@ -0,0 +1,7 @@ +mpih-add1.S +mpih-lshift.S +mpih-mul1.S +mpih-mul2.S +mpih-mul3.S +mpih-rshift.S +mpih-sub1.S diff -urN gnupg-1.0.0/mpi/power/mpih-add1.S gnupg-1.0.1/mpi/power/mpih-add1.S --- gnupg-1.0.0/mpi/power/mpih-add1.S Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/mpi/power/mpih-add1.S Thu Dec 9 10:17:34 1999 @@ -0,0 +1,85 @@ +/* IBM POWER add_n -- Add two limb vectors of equal, non-zero length. + * + * Copyright (C) 1992, 1994, 1995, 1996, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include "sysdep.h" +#include "asm-syntax.h" + + +# INPUT PARAMETERS +# res_ptr r3 +# s1_ptr r4 +# s2_ptr r5 +# size r6 + + .toc + .extern mpihelp_add_n[DS] + .extern .mpihelp_add_n +.csect [PR] + .align 2 + .globl mpihelp_add_n + .globl .mpihelp_add_n + .csect mpihelp_add_n[DS] +mpihelp_add_n: + .long .mpihelp_add_n, TOC[tc0], 0 + .csect [PR] +.mpihelp_add_n: + andil. 10,6,1 # odd or even number of limbs? + l 8,0(4) # load least significant s1 limb + l 0,0(5) # load least significant s2 limb + cal 3,-4(3) # offset res_ptr, it's updated before it's used + sri 10,6,1 # count for unrolled loop + a 7,0,8 # add least significant limbs, set cy + mtctr 10 # copy count into CTR + beq 0,Leven # branch if even # of limbs (# of limbs >= 2) + +# We have an odd # of limbs. Add the first limbs separately. + cmpi 1,10,0 # is count for unrolled loop zero? + bne 1,L1 # branch if not + st 7,4(3) + aze 3,10 # use the fact that r10 is zero... + br # return + +# We added least significant limbs. Now reload the next limbs to enter loop. +L1: lu 8,4(4) # load s1 limb and update s1_ptr + lu 0,4(5) # load s2 limb and update s2_ptr + stu 7,4(3) + ae 7,0,8 # add limbs, set cy +Leven: lu 9,4(4) # load s1 limb and update s1_ptr + lu 10,4(5) # load s2 limb and update s2_ptr + bdz Lend # If done, skip loop + +Loop: lu 8,4(4) # load s1 limb and update s1_ptr + lu 0,4(5) # load s2 limb and update s2_ptr + ae 11,9,10 # add previous limbs with cy, set cy + stu 7,4(3) # + lu 9,4(4) # load s1 limb and update s1_ptr + lu 10,4(5) # load s2 limb and update s2_ptr + ae 7,0,8 # add previous limbs with cy, set cy + stu 11,4(3) # + bdn Loop # decrement CTR and loop back + +Lend: ae 11,9,10 # add limbs with cy, set cy + st 7,4(3) # + st 11,8(3) # + lil 3,0 # load cy into ... + aze 3,3 # ... return value register + br + diff -urN gnupg-1.0.0/mpi/power/mpih-lshift.S gnupg-1.0.1/mpi/power/mpih-lshift.S --- gnupg-1.0.0/mpi/power/mpih-lshift.S Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/mpi/power/mpih-lshift.S Thu Dec 9 10:22:52 1999 @@ -0,0 +1,63 @@ +/* IBM POWER lshift + * + * Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include "sysdep.h" +#include "asm-syntax.h" + + +# INPUT PARAMETERS +# res_ptr r3 +# s_ptr r4 +# size r5 +# cnt r6 + + .toc + .extern mpihelp_lshift[DS] + .extern .mpihelp_lshift +.csect [PR] + .align 2 + .globl mpihelp_lshift + .globl .mpihelp_lshift + .csect mpihelp_lshift[DS] +mpihelp_lshift: + .long .mpihelp_lshift, TOC[tc0], 0 + .csect [PR] +.mpihelp_lshift: + sli 0,5,2 + cax 9,3,0 + cax 4,4,0 + sfi 8,6,32 + mtctr 5 # put limb count in CTR loop register + lu 0,-4(4) # read most significant limb + sre 3,0,8 # compute carry out limb, and init MQ register + bdz Lend2 # if just one limb, skip loop + lu 0,-4(4) # read 2:nd most significant limb + sreq 7,0,8 # compute most significant limb of result + bdz Lend # if just two limb, skip loop +Loop: lu 0,-4(4) # load next lower limb + stu 7,-4(9) # store previous result during read latency + sreq 7,0,8 # compute result limb + bdn Loop # loop back until CTR is zero +Lend: stu 7,-4(9) # store 2:nd least significant limb +Lend2: sle 7,0,6 # compute least significant limb + st 7,-4(9) # store it + br + diff -urN gnupg-1.0.0/mpi/power/mpih-mul1.S gnupg-1.0.1/mpi/power/mpih-mul1.S --- gnupg-1.0.0/mpi/power/mpih-mul1.S Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/mpi/power/mpih-mul1.S Thu Dec 9 10:08:34 1999 @@ -0,0 +1,113 @@ +/* IBM POWER mul_1 -- Multiply a limb vector with a limb and store + * the result in a second limb vector. + * + * Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include "sysdep.h" +#include "asm-syntax.h" + +# INPUT PARAMETERS +# res_ptr r3 +# s1_ptr r4 +# size r5 +# s2_limb r6 + +# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To +# obtain that operation, we have to use the 32x32->64 signed multiplication +# instruction, and add the appropriate compensation to the high limb of the +# result. We add the multiplicand if the multiplier has its most significant +# bit set, and we add the multiplier if the multiplicand has its most +# significant bit set. We need to preserve the carry flag between each +# iteration, so we have to compute the compensation carefully (the natural, +# srai+and doesn't work). Since the POWER architecture has a branch unit +# we can branch in zero cycles, so that's how we perform the additions. + + .toc + .csect .mpihelp_mul_1[PR] + .align 2 + .globl mpihelp_mul_1 + .globl .mpihelp_mul_1 + .csect mpihelp_mul_1[DS] +mpihelp_mul_1: + .long .mpihelp_mul_1[PR], TOC[tc0], 0 + .csect .mpihelp_mul_1[PR] +.mpihelp_mul_1: + + cal 3,-4(3) + l 0,0(4) + cmpi 0,6,0 + mtctr 5 + mul 9,0,6 + srai 7,0,31 + and 7,7,6 + mfmq 8 + ai 0,0,0 # reset carry + cax 9,9,7 + blt Lneg +Lpos: bdz Lend +Lploop: lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 10,0,6 + mfmq 0 + ae 8,0,9 + bge Lp0 + cax 10,10,6 # adjust high limb for negative limb from s1 +Lp0: bdz Lend0 + lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 9,0,6 + mfmq 0 + ae 8,0,10 + bge Lp1 + cax 9,9,6 # adjust high limb for negative limb from s1 +Lp1: bdn Lploop + b Lend + +Lneg: cax 9,9,0 + bdz Lend +Lnloop: lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 10,0,6 + cax 10,10,0 # adjust high limb for negative s2_limb + mfmq 0 + ae 8,0,9 + bge Ln0 + cax 10,10,6 # adjust high limb for negative limb from s1 +Ln0: bdz Lend0 + lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 9,0,6 + cax 9,9,0 # adjust high limb for negative s2_limb + mfmq 0 + ae 8,0,10 + bge Ln1 + cax 9,9,6 # adjust high limb for negative limb from s1 +Ln1: bdn Lnloop + b Lend + +Lend0: cal 9,0(10) +Lend: st 8,4(3) + aze 3,9 + br + diff -urN gnupg-1.0.0/mpi/power/mpih-mul2.S gnupg-1.0.1/mpi/power/mpih-mul2.S --- gnupg-1.0.0/mpi/power/mpih-mul2.S Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/mpi/power/mpih-mul2.S Thu Dec 9 10:11:53 1999 @@ -0,0 +1,129 @@ +/* IBM POWER addmul_1 -- Multiply a limb vector with a limb and add + * the result to a second limb vector. + * + * Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include "sysdep.h" +#include "asm-syntax.h" + + + + +# INPUT PARAMETERS +# res_ptr r3 +# s1_ptr r4 +# size r5 +# s2_limb r6 + +# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To +# obtain that operation, we have to use the 32x32->64 signed multiplication +# instruction, and add the appropriate compensation to the high limb of the +# result. We add the multiplicand if the multiplier has its most significant +# bit set, and we add the multiplier if the multiplicand has its most +# significant bit set. We need to preserve the carry flag between each +# iteration, so we have to compute the compensation carefully (the natural, +# srai+and doesn't work). Since the POWER architecture has a branch unit +# we can branch in zero cycles, so that's how we perform the additions. + + .toc + .csect .mpihelp_addmul_1[PR] + .align 2 + .globl mpihelp_addmul_1 + .globl .mpihelp_addmul_1 + .csect mpihelp_addmul_1[DS] +mpihelp_addmul_1: + .long .mpihelp_addmul_1[PR], TOC[tc0], 0 + .csect .mpihelp_addmul_1[PR] +.mpihelp_addmul_1: + + cal 3,-4(3) + l 0,0(4) + cmpi 0,6,0 + mtctr 5 + mul 9,0,6 + srai 7,0,31 + and 7,7,6 + mfmq 8 + cax 9,9,7 + l 7,4(3) + a 8,8,7 # add res_limb + blt Lneg +Lpos: bdz Lend + +Lploop: lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 10,0,6 + mfmq 0 + ae 8,0,9 # low limb + old_cy_limb + old cy + l 7,4(3) + aze 10,10 # propagate cy to new cy_limb + a 8,8,7 # add res_limb + bge Lp0 + cax 10,10,6 # adjust high limb for negative limb from s1 +Lp0: bdz Lend0 + lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 9,0,6 + mfmq 0 + ae 8,0,10 + l 7,4(3) + aze 9,9 + a 8,8,7 + bge Lp1 + cax 9,9,6 # adjust high limb for negative limb from s1 +Lp1: bdn Lploop + + b Lend + +Lneg: cax 9,9,0 + bdz Lend +Lnloop: lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 10,0,6 + mfmq 7 + ae 8,7,9 + l 7,4(3) + ae 10,10,0 # propagate cy to new cy_limb + a 8,8,7 # add res_limb + bge Ln0 + cax 10,10,6 # adjust high limb for negative limb from s1 +Ln0: bdz Lend0 + lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 9,0,6 + mfmq 7 + ae 8,7,10 + l 7,4(3) + ae 9,9,0 # propagate cy to new cy_limb + a 8,8,7 # add res_limb + bge Ln1 + cax 9,9,6 # adjust high limb for negative limb from s1 +Ln1: bdn Lnloop + b Lend + +Lend0: cal 9,0(10) +Lend: st 8,4(3) + aze 3,9 + br + diff -urN gnupg-1.0.0/mpi/power/mpih-mul3.S gnupg-1.0.1/mpi/power/mpih-mul3.S --- gnupg-1.0.0/mpi/power/mpih-mul3.S Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/mpi/power/mpih-mul3.S Thu Dec 9 10:14:56 1999 @@ -0,0 +1,134 @@ +/* IBM POWER submul_1 -- Multiply a limb vector with a limb and subtract + * the result from a second limb vector. + * + * Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include "sysdep.h" +#include "asm-syntax.h" + + + + +# INPUT PARAMETERS +# res_ptr r3 +# s1_ptr r4 +# size r5 +# s2_limb r6 + +# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To +# obtain that operation, we have to use the 32x32->64 signed multiplication +# instruction, and add the appropriate compensation to the high limb of the +# result. We add the multiplicand if the multiplier has its most significant +# bit set, and we add the multiplier if the multiplicand has its most +# significant bit set. We need to preserve the carry flag between each +# iteration, so we have to compute the compensation carefully (the natural, +# srai+and doesn't work). Since the POWER architecture has a branch unit +# we can branch in zero cycles, so that's how we perform the additions. + + .toc + .csect .mpihelp_submul_1[PR] + .align 2 + .globl mpihelp_submul_1 + .globl .mpihelp_submul_1 + .csect mpihelp_submul_1[DS] +mpihelp_submul_1: + .long .mpihelp_submul_1[PR], TOC[tc0], 0 + .csect .mpihelp_submul_1[PR] +.mpihelp_submul_1: + + cal 3,-4(3) + l 0,0(4) + cmpi 0,6,0 + mtctr 5 + mul 9,0,6 + srai 7,0,31 + and 7,7,6 + mfmq 11 + cax 9,9,7 + l 7,4(3) + sf 8,11,7 # add res_limb + a 11,8,11 # invert cy (r11 is junk) + blt Lneg +Lpos: bdz Lend + +Lploop: lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 10,0,6 + mfmq 0 + ae 11,0,9 # low limb + old_cy_limb + old cy + l 7,4(3) + aze 10,10 # propagate cy to new cy_limb + sf 8,11,7 # add res_limb + a 11,8,11 # invert cy (r11 is junk) + bge Lp0 + cax 10,10,6 # adjust high limb for negative limb from s1 +Lp0: bdz Lend0 + lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 9,0,6 + mfmq 0 + ae 11,0,10 + l 7,4(3) + aze 9,9 + sf 8,11,7 + a 11,8,11 # invert cy (r11 is junk) + bge Lp1 + cax 9,9,6 # adjust high limb for negative limb from s1 +Lp1: bdn Lploop + + b Lend + +Lneg: cax 9,9,0 + bdz Lend +Lnloop: lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 10,0,6 + mfmq 7 + ae 11,7,9 + l 7,4(3) + ae 10,10,0 # propagate cy to new cy_limb + sf 8,11,7 # add res_limb + a 11,8,11 # invert cy (r11 is junk) + bge Ln0 + cax 10,10,6 # adjust high limb for negative limb from s1 +Ln0: bdz Lend0 + lu 0,4(4) + stu 8,4(3) + cmpi 0,0,0 + mul 9,0,6 + mfmq 7 + ae 11,7,10 + l 7,4(3) + ae 9,9,0 # propagate cy to new cy_limb + sf 8,11,7 # add res_limb + a 11,8,11 # invert cy (r11 is junk) + bge Ln1 + cax 9,9,6 # adjust high limb for negative limb from s1 +Ln1: bdn Lnloop + b Lend + +Lend0: cal 9,0(10) +Lend: st 8,4(3) + aze 3,9 + br + diff -urN gnupg-1.0.0/mpi/power/mpih-rshift.S gnupg-1.0.1/mpi/power/mpih-rshift.S --- gnupg-1.0.0/mpi/power/mpih-rshift.S Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/mpi/power/mpih-rshift.S Thu Dec 9 10:24:51 1999 @@ -0,0 +1,63 @@ +/* IBM POWER rshift + * + * Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include "sysdep.h" +#include "asm-syntax.h" + + + +# INPUT PARAMETERS +# res_ptr r3 +# s_ptr r4 +# size r5 +# cnt r6 + + .toc + .extern mpihelp_rshift[DS] + .extern .mpihelp_rshift +.csect [PR] + .align 2 + .globl mpihelp_rshift + .globl .mpihelp_rshift + .csect mpihelp_rshift[DS] +mpihelp_rshift: + .long .mpihelp_rshift, TOC[tc0], 0 + .csect [PR] +.mpihelp_rshift: + sfi 8,6,32 + mtctr 5 # put limb count in CTR loop register + l 0,0(4) # read least significant limb + ai 9,3,-4 # adjust res_ptr since it's offset in the stu:s + sle 3,0,8 # compute carry limb, and init MQ register + bdz Lend2 # if just one limb, skip loop + lu 0,4(4) # read 2:nd least significant limb + sleq 7,0,8 # compute least significant limb of result + bdz Lend # if just two limb, skip loop +Loop: lu 0,4(4) # load next higher limb + stu 7,4(9) # store previous result during read latency + sleq 7,0,8 # compute result limb + bdn Loop # loop back until CTR is zero +Lend: stu 7,4(9) # store 2:nd most significant limb +Lend2: sre 7,0,6 # compute most significant limb + st 7,4(9) # store it + br + + diff -urN gnupg-1.0.0/mpi/power/mpih-sub1.S gnupg-1.0.1/mpi/power/mpih-sub1.S --- gnupg-1.0.0/mpi/power/mpih-sub1.S Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/mpi/power/mpih-sub1.S Thu Dec 9 10:20:11 1999 @@ -0,0 +1,86 @@ +/* IBM POWER sub_n -- Subtract two limb vectors of equal, non-zero length. + * + * Copyright (C) 1992, 1994, 1995, 1996, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include "sysdep.h" +#include "asm-syntax.h" + + +# INPUT PARAMETERS +# res_ptr r3 +# s1_ptr r4 +# s2_ptr r5 +# size r6 + + .toc + .extern mpihelp_sub_n[DS] + .extern .mpihelp_sub_n +.csect [PR] + .align 2 + .globl mpihelp_sub_n + .globl .mpihelp_sub_n + .csect mpihelp_sub_n[DS] +mpihelp_sub_n: + .long .mpihelp_sub_n, TOC[tc0], 0 + .csect [PR] +.mpihelp_sub_n: + andil. 10,6,1 # odd or even number of limbs? + l 8,0(4) # load least significant s1 limb + l 0,0(5) # load least significant s2 limb + cal 3,-4(3) # offset res_ptr, it's updated before it's used + sri 10,6,1 # count for unrolled loop + sf 7,0,8 # subtract least significant limbs, set cy + mtctr 10 # copy count into CTR + beq 0,Leven # branch if even # of limbs (# of limbs >= 2) + +# We have an odd # of limbs. Add the first limbs separately. + cmpi 1,10,0 # is count for unrolled loop zero? + bne 1,L1 # branch if not + st 7,4(3) + sfe 3,0,0 # load !cy into ... + sfi 3,3,0 # ... return value register + br # return + +# We added least significant limbs. Now reload the next limbs to enter loop. +L1: lu 8,4(4) # load s1 limb and update s1_ptr + lu 0,4(5) # load s2 limb and update s2_ptr + stu 7,4(3) + sfe 7,0,8 # subtract limbs, set cy +Leven: lu 9,4(4) # load s1 limb and update s1_ptr + lu 10,4(5) # load s2 limb and update s2_ptr + bdz Lend # If done, skip loop + +Loop: lu 8,4(4) # load s1 limb and update s1_ptr + lu 0,4(5) # load s2 limb and update s2_ptr + sfe 11,10,9 # subtract previous limbs with cy, set cy + stu 7,4(3) # + lu 9,4(4) # load s1 limb and update s1_ptr + lu 10,4(5) # load s2 limb and update s2_ptr + sfe 7,0,8 # subtract previous limbs with cy, set cy + stu 11,4(3) # + bdn Loop # decrement CTR and loop back + +Lend: sfe 11,10,9 # subtract limbs with cy, set cy + st 7,4(3) # + st 11,8(3) # + sfe 3,0,0 # load !cy into ... + sfi 3,3,0 # ... return value register + br + diff -urN gnupg-1.0.0/po/ChangeLog gnupg-1.0.1/po/ChangeLog --- gnupg-1.0.0/po/ChangeLog Tue Sep 7 16:23:36 1999 +++ gnupg-1.0.1/po/ChangeLog Thu Dec 16 10:08:00 1999 @@ -1,10 +1,53 @@ -Tue Sep 7 16:23:36 CEST 1999 Werner Koch +Thu Dec 16 10:07:58 CET 1999 Werner Koch + + * pt_PT.po: Updated. + * de.po: Updated. + * it.po: Updated. + +Thu Dec 9 10:31:05 CET 1999 Werner Koch + + * de.po: Updated. + * pt_BR.po: Updated. + +Fri Nov 12 20:33:19 CET 1999 Werner Koch + + * es_ES.po: Fixed 3 \n mismatches. + + * de.po: Updated. + +Thu Oct 28 16:08:20 CEST 1999 Werner Koch + + * es_ES.po: Updated. + + * pt_BR.po: Updated. + +Fri Oct 8 20:32:01 CEST 1999 Werner Koch + + * fr.po: Updated for 1.0.0d. +Mon Oct 4 21:23:04 CEST 1999 Werner Koch + + * pl.po: New version by Alex. + +Thu Sep 23 06:26:28 1999 Werner Koch (wk@gnupg.org) + + * fr.po: Updated by Gaël. + +Sat Sep 18 11:49:51 1999 Werner Koch (wk@gnupg.org) + + * id.po: New. Done by Tedi Heriyanto. + +Wed Sep 15 16:22:17 CEST 1999 Werner Koch + + * pt_PT.po: New. Done by Pedro Morais. + + * it.po: Updated by Marco. + +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. diff -urN gnupg-1.0.0/po/POTFILES.in gnupg-1.0.1/po/POTFILES.in --- gnupg-1.0.0/po/POTFILES.in Sun Sep 5 19:19:37 1999 +++ gnupg-1.0.1/po/POTFILES.in Fri Dec 3 16:14:08 1999 @@ -49,4 +49,3 @@ g10/delkey.c g10/helptext.c -#---end-- diff -urN gnupg-1.0.0/po/cat-id-tbl.c gnupg-1.0.1/po/cat-id-tbl.c --- gnupg-1.0.0/po/cat-id-tbl.c Sun Sep 5 19:21:43 1999 +++ gnupg-1.0.1/po/cat-id-tbl.c Thu Dec 16 09:45:43 1999 @@ -65,98 +65,100 @@ {"unsupported URI", 56}, {"network error", 57}, {"not encrypted", 58}, - {"... this is a bug (%s:%d:%s)\n", 59}, - {"you found a bug ... (%s:%d)\n", 60}, - {"WARNING: using insecure random number generator!!\n", 61}, + {"not processed", 59}, + {"... this is a bug (%s:%d:%s)\n", 60}, + {"you found a bug ... (%s:%d)\n", 61}, + {"WARNING: using insecure random number generator!!\n", 62}, {"\ The random number generator is only a kludge to let\n\ it run - it is in no way a strong RNG!\n\ \n\ DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n\ -\n", 62}, +\n", 63}, {"\ \n\ Not enough random bytes available. Please do some other work to give\n\ -the OS a chance to collect more entropy! (Need %d more bytes)\n", 63}, +the OS a chance to collect more entropy! (Need %d more bytes)\n", 64}, {"\ @Commands:\n\ - ", 64}, - {"|[file]|make a signature", 65}, - {"|[file]|make a clear text signature", 66}, - {"make a detached signature", 67}, - {"encrypt data", 68}, - {"encryption only with symmetric cipher", 69}, - {"store only", 70}, - {"decrypt data (default)", 71}, - {"verify a signature", 72}, - {"list keys", 73}, - {"list keys and signatures", 74}, - {"check key signatures", 75}, - {"list keys and fingerprints", 76}, - {"list secret keys", 77}, - {"generate a new key pair", 78}, - {"remove key from the public keyring", 79}, - {"sign a key", 80}, - {"sign a key locally", 81}, - {"sign or edit a key", 82}, - {"generate a revocation certificate", 83}, - {"export keys", 84}, - {"export keys to a key server", 85}, - {"import keys from a key server", 86}, - {"import/merge keys", 87}, - {"list only the sequence of packets", 88}, - {"export the ownertrust values", 89}, - {"import ownertrust values", 90}, - {"update the trust database", 91}, - {"|[NAMES]|check the trust database", 92}, - {"fix a corrupted trust database", 93}, - {"De-Armor a file or stdin", 94}, - {"En-Armor a file or stdin", 95}, - {"|algo [files]|print message digests", 96}, + ", 65}, + {"|[file]|make a signature", 66}, + {"|[file]|make a clear text signature", 67}, + {"make a detached signature", 68}, + {"encrypt data", 69}, + {"encryption only with symmetric cipher", 70}, + {"store only", 71}, + {"decrypt data (default)", 72}, + {"verify a signature", 73}, + {"list keys", 74}, + {"list keys and signatures", 75}, + {"check key signatures", 76}, + {"list keys and fingerprints", 77}, + {"list secret keys", 78}, + {"generate a new key pair", 79}, + {"remove key from the public keyring", 80}, + {"remove key from the secret keyring", 81}, + {"sign a key", 82}, + {"sign a key locally", 83}, + {"sign or edit a key", 84}, + {"generate a revocation certificate", 85}, + {"export keys", 86}, + {"export keys to a key server", 87}, + {"import keys from a key server", 88}, + {"import/merge keys", 89}, + {"list only the sequence of packets", 90}, + {"export the ownertrust values", 91}, + {"import ownertrust values", 92}, + {"update the trust database", 93}, + {"|[NAMES]|check the trust database", 94}, + {"fix a corrupted trust database", 95}, + {"De-Armor a file or stdin", 96}, + {"En-Armor a file or stdin", 97}, + {"|algo [files]|print message digests", 98}, {"\ @\n\ Options:\n\ - ", 97}, - {"create ascii armored output", 98}, - {"|NAME|encrypt for NAME", 99}, - {"|NAME|use NAME as default recipient", 100}, - {"use the default key as default recipient", 101}, - {"use this user-id to sign or decrypt", 102}, - {"|N|set compress level N (0 disables)", 103}, - {"use canonical text mode", 104}, - {"use as output file", 105}, - {"verbose", 106}, - {"be somewhat more quiet", 107}, - {"don't use the terminal at all", 108}, - {"force v3 signatures", 109}, - {"always use a MDC for encryption", 110}, - {"do not make any changes", 111}, - {"batch mode: never ask", 112}, - {"assume yes on most questions", 113}, - {"assume no on most questions", 114}, - {"add this keyring to the list of keyrings", 115}, - {"add this secret keyring to the list", 116}, - {"|NAME|use NAME as default secret key", 117}, - {"|HOST|use this keyserver to lookup keys", 118}, - {"|NAME|set terminal charset to NAME", 119}, - {"read options from file", 120}, - {"set debugging flags", 121}, - {"enable full debugging", 122}, - {"|FD|write status info to this FD", 123}, - {"do not write comment packets", 124}, - {"(default is 1)", 125}, - {"(default is 3)", 126}, - {"|FILE|load extension module FILE", 127}, - {"emulate the mode described in RFC1991", 128}, - {"set all packet, cipher and digest options to OpenPGP behavior", 129}, - {"|N|use passphrase mode N", 130}, - {"|NAME|use message digest algorithm NAME for passphrases", 131}, - {"|NAME|use cipher algorithm NAME for passphrases", 132}, - {"|NAME|use cipher algorithm NAME", 133}, - {"|NAME|use message digest algorithm NAME", 134}, - {"|N|use compress algorithm N", 135}, - {"throw keyid field of encrypted packets", 136}, - {"|NAME=VALUE|use this notation data", 137}, + ", 99}, + {"create ascii armored output", 100}, + {"|NAME|encrypt for NAME", 101}, + {"|NAME|use NAME as default recipient", 102}, + {"use the default key as default recipient", 103}, + {"use this user-id to sign or decrypt", 104}, + {"|N|set compress level N (0 disables)", 105}, + {"use canonical text mode", 106}, + {"use as output file", 107}, + {"verbose", 108}, + {"be somewhat more quiet", 109}, + {"don't use the terminal at all", 110}, + {"force v3 signatures", 111}, + {"always use a MDC for encryption", 112}, + {"do not make any changes", 113}, + {"batch mode: never ask", 114}, + {"assume yes on most questions", 115}, + {"assume no on most questions", 116}, + {"add this keyring to the list of keyrings", 117}, + {"add this secret keyring to the list", 118}, + {"|NAME|use NAME as default secret key", 119}, + {"|HOST|use this keyserver to lookup keys", 120}, + {"|NAME|set terminal charset to NAME", 121}, + {"read options from file", 122}, + {"set debugging flags", 123}, + {"enable full debugging", 124}, + {"|FD|write status info to this FD", 125}, + {"do not write comment packets", 126}, + {"(default is 1)", 127}, + {"(default is 3)", 128}, + {"|FILE|load extension module FILE", 129}, + {"emulate the mode described in RFC1991", 130}, + {"set all packet, cipher and digest options to OpenPGP behavior", 131}, + {"|N|use passphrase mode N", 132}, + {"|NAME|use message digest algorithm NAME for passphrases", 133}, + {"|NAME|use cipher algorithm NAME for passphrases", 134}, + {"|NAME|use cipher algorithm NAME", 135}, + {"|NAME|use message digest algorithm NAME", 136}, + {"|N|use compress algorithm N", 137}, + {"throw keyid field of encrypted packets", 138}, + {"|NAME=VALUE|use this notation data", 139}, {"\ @\n\ Examples:\n\ @@ -165,86 +167,86 @@ --clearsign [file] make a clear text signature\n\ --detach-sign [file] make a detached signature\n\ --list-keys [names] show keys\n\ - --fingerprint [names] show fingerprints\n", 138}, - {"Please report bugs to .\n", 139}, - {"Usage: gpg [options] [files] (-h for help)", 140}, + --fingerprint [names] show fingerprints\n", 140}, + {"Please report bugs to .\n", 141}, + {"Usage: gpg [options] [files] (-h for help)", 142}, {"\ Syntax: gpg [options] [files]\n\ sign, check, encrypt or decrypt\n\ -default operation depends on the input data\n", 141}, +default operation depends on the input data\n", 143}, {"\ \n\ -Supported algorithms:\n", 142}, - {"usage: gpg [options] ", 143}, - {"conflicting commands\n", 144}, - {"NOTE: no default option file `%s'\n", 145}, - {"option file `%s': %s\n", 146}, - {"reading options from `%s'\n", 147}, - {"%s is not a valid character set\n", 148}, - {"NOTE: %s is not for normal use!\n", 149}, - {"%s not allowed with %s!\n", 150}, - {"%s makes no sense with %s!\n", 151}, - {"selected cipher algorithm is invalid\n", 152}, - {"selected digest algorithm is invalid\n", 153}, - {"the given policy URL is invalid\n", 154}, - {"compress algorithm must be in range %d..%d\n", 155}, - {"completes-needed must be greater than 0\n", 156}, - {"marginals-needed must be greater than 1\n", 157}, - {"max-cert-depth must be in range 1 to 255\n", 158}, - {"NOTE: simple S2K mode (0) is strongly discouraged\n", 159}, - {"invalid S2K mode; must be 0, 1 or 3\n", 160}, - {"failed to initialize the TrustDB: %s\n", 161}, - {"--store [filename]", 162}, - {"--symmetric [filename]", 163}, - {"--encrypt [filename]", 164}, - {"--sign [filename]", 165}, - {"--sign --encrypt [filename]", 166}, - {"--clearsign [filename]", 167}, - {"--decrypt [filename]", 168}, - {"--sign-key user-id", 169}, - {"--lsign-key user-id", 170}, - {"--edit-key user-id [commands]", 171}, - {"--delete-secret-key user-id", 172}, - {"--delete-key user-id", 173}, - {"can't open %s: %s\n", 174}, - {"-k[v][v][v][c] [user-id] [keyring]", 175}, - {"dearmoring failed: %s\n", 176}, - {"enarmoring failed: %s\n", 177}, - {"invalid hash algorithm `%s'\n", 178}, - {"[filename]", 179}, - {"Go ahead and type your message ...\n", 180}, - {"can't open `%s'\n", 181}, +Supported algorithms:\n", 144}, + {"usage: gpg [options] ", 145}, + {"conflicting commands\n", 146}, + {"NOTE: no default option file `%s'\n", 147}, + {"option file `%s': %s\n", 148}, + {"reading options from `%s'\n", 149}, + {"%s is not a valid character set\n", 150}, + {"NOTE: %s is not for normal use!\n", 151}, + {"%s not allowed with %s!\n", 152}, + {"%s makes no sense with %s!\n", 153}, + {"selected cipher algorithm is invalid\n", 154}, + {"selected digest algorithm is invalid\n", 155}, + {"the given policy URL is invalid\n", 156}, + {"compress algorithm must be in range %d..%d\n", 157}, + {"completes-needed must be greater than 0\n", 158}, + {"marginals-needed must be greater than 1\n", 159}, + {"max-cert-depth must be in range 1 to 255\n", 160}, + {"NOTE: simple S2K mode (0) is strongly discouraged\n", 161}, + {"invalid S2K mode; must be 0, 1 or 3\n", 162}, + {"failed to initialize the TrustDB: %s\n", 163}, + {"--store [filename]", 164}, + {"--symmetric [filename]", 165}, + {"--encrypt [filename]", 166}, + {"--sign [filename]", 167}, + {"--sign --encrypt [filename]", 168}, + {"--clearsign [filename]", 169}, + {"--decrypt [filename]", 170}, + {"--sign-key user-id", 171}, + {"--lsign-key user-id", 172}, + {"--edit-key user-id [commands]", 173}, + {"--delete-secret-key user-id", 174}, + {"--delete-key user-id", 175}, + {"can't open %s: %s\n", 176}, + {"-k[v][v][v][c] [user-id] [keyring]", 177}, + {"dearmoring failed: %s\n", 178}, + {"enarmoring failed: %s\n", 179}, + {"invalid hash algorithm `%s'\n", 180}, + {"[filename]", 181}, + {"Go ahead and type your message ...\n", 182}, + {"can't open `%s'\n", 183}, {"\ -the first character of a notation name must be a letter or an underscore\n", 182}, +the first character of a notation name must be a letter or an underscore\n", 184}, {"\ a notation name must have only letters, digits, dots or underscores and end \ -with an '='\n", 183}, - {"dots in a notation name must be surrounded by other characters\n", 184}, - {"a notation value must not use any control characters\n", 185}, - {"armor: %s\n", 186}, - {"invalid armor header: ", 187}, - {"armor header: ", 188}, - {"invalid clearsig header\n", 189}, - {"nested clear text signatures\n", 190}, - {"invalid dash escaped line: ", 191}, - {"unexpected armor:", 192}, - {"invalid radix64 character %02x skipped\n", 193}, - {"premature eof (no CRC)\n", 194}, - {"premature eof (in CRC)\n", 195}, - {"malformed CRC\n", 196}, - {"CRC error; %06lx - %06lx\n", 197}, - {"premature eof (in Trailer)\n", 198}, - {"error in trailer line\n", 199}, - {"no valid OpenPGP data found.\n", 200}, - {"invalid armor: line longer than %d characters\n", 201}, - {"\ -quoted printable character in armor - probably a buggy MTA has been used\n", 202}, - {" Fingerprint:", 203}, - {"Fingerprint:", 204}, - {"sSmMqQ", 205}, +with an '='\n", 185}, + {"dots in a notation name must be surrounded by other characters\n", 186}, + {"a notation value must not use any control characters\n", 187}, + {"armor: %s\n", 188}, + {"invalid armor header: ", 189}, + {"armor header: ", 190}, + {"invalid clearsig header\n", 191}, + {"nested clear text signatures\n", 192}, + {"invalid dash escaped line: ", 193}, + {"unexpected armor:", 194}, + {"invalid radix64 character %02x skipped\n", 195}, + {"premature eof (no CRC)\n", 196}, + {"premature eof (in CRC)\n", 197}, + {"malformed CRC\n", 198}, + {"CRC error; %06lx - %06lx\n", 199}, + {"premature eof (in Trailer)\n", 200}, + {"error in trailer line\n", 201}, + {"no valid OpenPGP data found.\n", 202}, + {"invalid armor: line longer than %d characters\n", 203}, + {"\ +quoted printable character in armor - probably a buggy MTA has been used\n", 204}, + {" Fingerprint:", 205}, + {"Fingerprint:", 206}, + {"sSmMqQ", 207}, {"\ No trust value assigned to %lu:\n\ -%4u%c/%08lX %s \"", 206}, +%4u%c/%08lX %s \"", 208}, {"\ Please decide how far you trust this user to correctly\n\ verify other users' keys (by looking at passports,\n\ @@ -254,549 +256,570 @@ 2 = I do NOT trust\n\ 3 = I trust marginally\n\ 4 = I trust fully\n\ - s = please show me more information\n", 207}, - {" m = back to the main menu\n", 208}, - {" q = quit\n", 209}, - {"Your decision? ", 210}, - {"Certificates leading to an ultimately trusted key:\n", 211}, + s = please show me more information\n", 209}, + {" m = back to the main menu\n", 210}, + {" q = quit\n", 211}, + {"Your decision? ", 212}, + {"Certificates leading to an ultimately trusted key:\n", 213}, {"\ Could not find a valid trust path to the key. Let's see whether we\n\ can assign some missing owner trust values.\n\ -\n", 212}, +\n", 214}, {"\ No path leading to one of our keys found.\n\ -\n", 213}, +\n", 215}, {"\ No certificates with undefined trust found.\n\ -\n", 214}, +\n", 216}, {"\ No trust values changed.\n\ -\n", 215}, - {"key %08lX: key has been revoked!\n", 216}, - {"Use this key anyway? ", 217}, - {"key %08lX: subkey has been revoked!\n", 218}, - {"%08lX: key has expired\n", 219}, - {"%08lX: no info to calculate a trust probability\n", 220}, - {"%08lX: We do NOT trust this key\n", 221}, +\n", 217}, + {"key %08lX: key has been revoked!\n", 218}, + {"Use this key anyway? ", 219}, + {"key %08lX: subkey has been revoked!\n", 220}, + {"%08lX: key has expired\n", 221}, + {"%08lX: no info to calculate a trust probability\n", 222}, + {"%08lX: We do NOT trust this key\n", 223}, {"\ %08lX: It is not sure that this key really belongs to the owner\n\ -but it is accepted anyway\n", 222}, - {"This key probably belongs to the owner\n", 223}, - {"This key belongs to us\n", 224}, +but it is accepted anyway\n", 224}, + {"This key probably belongs to the owner\n", 225}, + {"This key belongs to us\n", 226}, {"\ It is NOT certain that the key belongs to its owner.\n\ If you *really* know what you are doing, you may answer\n\ the next question with yes\n\ -\n", 225}, - {"WARNING: Using untrusted key!\n", 226}, - {"WARNING: This key has been revoked by its owner!\n", 227}, - {" This could mean that the signature is forgery.\n", 228}, - {"WARNING: This subkey has been revoked by its owner!\n", 229}, - {"Note: This key has expired!\n", 230}, - {"WARNING: This key is not certified with a trusted signature!\n", 231}, - {"\ - There is no indication that the signature belongs to the owner.\n", 232}, - {"WARNING: We do NOT trust this key!\n", 233}, - {" The signature is probably a FORGERY.\n", 234}, - {"\ -WARNING: This key is not certified with sufficiently trusted signatures!\n", 235}, - {" It is not certain that the signature belongs to the owner.\n", 236}, - {"%s: skipped: %s\n", 237}, - {"%s: skipped: public key already present\n", 238}, +\n", 227}, + {"WARNING: Using untrusted key!\n", 228}, + {"WARNING: This key has been revoked by its owner!\n", 229}, + {" This could mean that the signature is forgery.\n", 230}, + {"WARNING: This subkey has been revoked by its owner!\n", 231}, + {"Note: This key has expired!\n", 232}, + {"WARNING: This key is not certified with a trusted signature!\n", 233}, + {"\ + There is no indication that the signature belongs to the owner.\n", 234}, + {"WARNING: We do NOT trust this key!\n", 235}, + {" The signature is probably a FORGERY.\n", 236}, + {"\ +WARNING: This key is not certified with sufficiently trusted signatures!\n", 237}, + {" It is not certain that the signature belongs to the owner.\n", 238}, + {"%s: skipped: %s\n", 239}, + {"%s: skipped: public key already present\n", 240}, {"\ You did not specify a user ID. (you may use \"-r\")\n\ -\n", 239}, - {"Enter the user ID: ", 240}, - {"No such user ID.\n", 241}, - {"skipped: public key already set as default recipient\n", 242}, - {"Public key is disabled.\n", 243}, - {"skipped: public key already set with --encrypt-to\n", 244}, - {"unknown default recipient `%s'\n", 245}, - {"%s: error checking key: %s\n", 246}, - {"%s: skipped: public key is disabled\n", 247}, - {"no valid addressees\n", 248}, - {"writing self signature\n", 249}, - {"writing key binding signature\n", 250}, - {"Please select what kind of key you want:\n", 251}, - {" (%d) DSA and ElGamal (default)\n", 252}, - {" (%d) DSA (sign only)\n", 253}, - {" (%d) ElGamal (encrypt only)\n", 254}, - {" (%d) ElGamal (sign and encrypt)\n", 255}, - {" (%d) ElGamal in a v3 packet\n", 256}, - {"Your selection? ", 257}, - {"Do you really want to create a sign and encrypt key? ", 258}, - {"Invalid selection.\n", 259}, +\n", 241}, + {"Enter the user ID: ", 242}, + {"No such user ID.\n", 243}, + {"skipped: public key already set as default recipient\n", 244}, + {"Public key is disabled.\n", 245}, + {"skipped: public key already set with --encrypt-to\n", 246}, + {"unknown default recipient `%s'\n", 247}, + {"%s: error checking key: %s\n", 248}, + {"%s: skipped: public key is disabled\n", 249}, + {"no valid addressees\n", 250}, + {"writing self signature\n", 251}, + {"writing key binding signature\n", 252}, + {"Please select what kind of key you want:\n", 253}, + {" (%d) DSA and ElGamal (default)\n", 254}, + {" (%d) DSA (sign only)\n", 255}, + {" (%d) ElGamal (encrypt only)\n", 256}, + {" (%d) ElGamal (sign and encrypt)\n", 257}, + {" (%d) ElGamal in a v3 packet\n", 258}, + {"Your selection? ", 259}, + {"Do you really want to create a sign and encrypt key? ", 260}, + {"Invalid selection.\n", 261}, {"\ About to generate a new %s keypair.\n\ minimum keysize is 768 bits\n\ default keysize is 1024 bits\n\ - highest suggested keysize is 2048 bits\n", 260}, - {"What keysize do you want? (1024) ", 261}, - {"DSA only allows keysizes from 512 to 1024\n", 262}, - {"keysize too small; 768 is smallest value allowed.\n", 263}, - {"keysize too large; %d is largest value allowed.\n", 264}, + highest suggested keysize is 2048 bits\n", 262}, + {"What keysize do you want? (1024) ", 263}, + {"DSA only allows keysizes from 512 to 1024\n", 264}, + {"keysize too small; 768 is smallest value allowed.\n", 265}, + {"keysize too large; %d is largest value allowed.\n", 266}, {"\ Keysizes larger than 2048 are not suggested because\n\ -computations take REALLY long!\n", 265}, - {"Are you sure that you want this keysize? ", 266}, +computations take REALLY long!\n", 267}, + {"Are you sure that you want this keysize? ", 268}, {"\ Okay, but keep in mind that your monitor and keyboard radiation is also very \ -vulnerable to attacks!\n", 267}, - {"Do you really need such a large keysize? ", 268}, - {"Requested keysize is %u bits\n", 269}, - {"rounded up to %u bits\n", 270}, +vulnerable to attacks!\n", 269}, + {"Do you really need such a large keysize? ", 270}, + {"Requested keysize is %u bits\n", 271}, + {"rounded up to %u bits\n", 272}, {"\ Please specify how long the key should be valid.\n\ 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\n", 271}, - {"Key is valid for? (0) ", 272}, - {"invalid value\n", 273}, - {"Key does not expire at all\n", 274}, - {"Key expires at %s\n", 275}, - {"Is this correct (y/n)? ", 276}, + y = key expires in n years\n", 273}, + {"Key is valid for? (0) ", 274}, + {"invalid value\n", 275}, + {"Key does not expire at all\n", 276}, + {"Key expires at %s\n", 277}, + {"\ +Your system can't display dates beyond 2038.\n\ +However, it will be correctly handled up to 2106.\n", 278}, + {"Is this correct (y/n)? ", 279}, {"\ \n\ You need a User-ID to identify your key; the software constructs the user \ id\n\ from Real Name, Comment and Email Address in this form:\n\ \"Heinrich Heine (Der Dichter) \"\n\ -\n", 277}, - {"Real name: ", 278}, - {"Invalid character in name\n", 279}, - {"Name may not start with a digit\n", 280}, - {"Name must be at least 5 characters long\n", 281}, - {"Email address: ", 282}, - {"Not a valid email address\n", 283}, - {"Comment: ", 284}, - {"Invalid character in comment\n", 285}, - {"You are using the `%s' character set.\n", 286}, +\n", 280}, + {"Real name: ", 281}, + {"Invalid character in name\n", 282}, + {"Name may not start with a digit\n", 283}, + {"Name must be at least 5 characters long\n", 284}, + {"Email address: ", 285}, + {"Not a valid email address\n", 286}, + {"Comment: ", 287}, + {"Invalid character in comment\n", 288}, + {"You are using the `%s' character set.\n", 289}, {"\ You selected this USER-ID:\n\ \"%s\"\n\ -\n", 287}, - {"NnCcEeOoQq", 288}, - {"Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? ", 289}, +\n", 290}, + {"NnCcEeOoQq", 291}, + {"Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? ", 292}, {"\ You need a Passphrase to protect your secret key.\n\ -\n", 290}, - {"passphrase not correctly repeated; try again.\n", 291}, +\n", 293}, + {"passphrase not correctly repeated; try again.\n", 294}, {"\ You don't want a passphrase - this is probably a *bad* idea!\n\ I will do it anyway. You can change your passphrase at any time,\n\ using this program with the option \"--edit-key\".\n\ -\n", 292}, +\n", 295}, {"\ We need to generate a lot of random bytes. It is a good idea to perform\n\ some other action (type on the keyboard, move the mouse, utilize the\n\ disks) during the prime generation; this gives the random number\n\ -generator a better chance to gain enough entropy.\n", 293}, - {"Key generation can only be used in interactive mode\n", 294}, - {"DSA keypair will have 1024 bits.\n", 295}, - {"Key generation canceled.\n", 296}, - {"writing public certificate to `%s'\n", 297}, - {"writing secret certificate to `%s'\n", 298}, - {"public and secret key created and signed.\n", 299}, +generator a better chance to gain enough entropy.\n", 296}, + {"Key generation can only be used in interactive mode\n", 297}, + {"DSA keypair will have 1024 bits.\n", 298}, + {"Key generation canceled.\n", 299}, + {"writing public certificate to `%s'\n", 300}, + {"writing secret certificate to `%s'\n", 301}, + {"public and secret key created and signed.\n", 302}, {"\ Note that this key cannot be used for encryption. You may want to use\n\ -the command \"--edit-key\" to generate a secondary key for this purpose.\n", 300}, - {"Key generation failed: %s\n", 301}, +the command \"--edit-key\" to generate a secondary key for this purpose.\n", 303}, + {"Key generation failed: %s\n", 304}, {"\ -key has been created %lu second in future (time warp or clock problem)\n", 302}, +key has been created %lu second in future (time warp or clock problem)\n", 305}, {"\ -key has been created %lu seconds in future (time warp or clock problem)\n", 303}, - {"Really create? ", 304}, - {"%s: can't open: %s\n", 305}, - {"error creating passphrase: %s\n", 306}, - {"%s: WARNING: empty file\n", 307}, - {"reading from `%s'\n", 308}, - {"%s/%s encrypted for: %s\n", 309}, - {"%s: user not found: %s\n", 310}, - {"certificate read problem: %s\n", 311}, - {"key %08lX: not a rfc2440 key - skipped\n", 312}, - {"WARNING: nothing exported\n", 313}, - {"too many entries in pk cache - disabled\n", 314}, - {"too many entries in unk cache - disabled\n", 315}, - {"RSA key cannot be used in this version\n", 316}, - {"No key for user ID\n", 317}, - {"No user ID for key\n", 318}, - {"using secondary key %08lX instead of primary key %08lX\n", 319}, - {"can't open `%s': %s\n", 320}, - {"skipping block of type %d\n", 321}, - {"%lu keys so far processed\n", 322}, - {"error reading `%s': %s\n", 323}, - {"Total number processed: %lu\n", 324}, - {" w/o user IDs: %lu\n", 325}, - {" imported: %lu", 326}, - {" unchanged: %lu\n", 327}, - {" new user IDs: %lu\n", 328}, - {" new subkeys: %lu\n", 329}, - {" new signatures: %lu\n", 330}, - {" new key revocations: %lu\n", 331}, - {" secret keys read: %lu\n", 332}, - {" secret keys imported: %lu\n", 333}, - {" secret keys unchanged: %lu\n", 334}, - {"key %08lX: no user ID\n", 335}, - {"key %08lX: no valid user IDs\n", 336}, - {"this may be caused by a missing self-signature\n", 337}, - {"key %08lX: public key not found: %s\n", 338}, - {"no default public keyring\n", 339}, - {"writing to `%s'\n", 340}, - {"can't lock keyring `%s': %s\n", 341}, - {"error writing keyring `%s': %s\n", 342}, - {"key %08lX: public key imported\n", 343}, - {"key %08lX: doesn't match our copy\n", 344}, - {"key %08lX: can't locate original keyblock: %s\n", 345}, - {"key %08lX: can't read original keyblock: %s\n", 346}, - {"key %08lX: 1 new user ID\n", 347}, - {"key %08lX: %d new user IDs\n", 348}, - {"key %08lX: 1 new signature\n", 349}, - {"key %08lX: %d new signatures\n", 350}, - {"key %08lX: 1 new subkey\n", 351}, - {"key %08lX: %d new subkeys\n", 352}, - {"key %08lX: not changed\n", 353}, - {"key %08lX: secret key imported\n", 354}, - {"key %08lX: already in secret keyring\n", 355}, - {"key %08lX: secret key not found: %s\n", 356}, - {"key %08lX: no public key - can't apply revocation certificate\n", 357}, - {"key %08lX: invalid revocation certificate: %s - rejected\n", 358}, - {"key %08lX: revocation certificate imported\n", 359}, - {"key %08lX: no user ID for signature\n", 360}, - {"key %08lX: unsupported public key algorithm\n", 361}, - {"key %08lX: invalid self-signature\n", 362}, - {"key %08lX: no subkey for key binding\n", 363}, - {"key %08lX: invalid subkey binding\n", 364}, - {"key %08lX: accepted non self-signed user ID '", 365}, - {"key %08lX: skipped user ID '", 366}, - {"key %08lX: skipped subkey\n", 367}, - {"key %08lX: non exportable signature (class %02x) - skipped\n", 368}, - {"key %08lX: revocation certificate at wrong place - skipped\n", 369}, - {"key %08lX: invalid revocation certificate: %s - skipped\n", 370}, - {"key %08lX: duplicated user ID detected - merged\n", 371}, - {"key %08lX: revocation certificate added\n", 372}, - {"key %08lX: our copy has no self-signature\n", 373}, - {"%s: user not found\n", 374}, - {"[revocation]", 375}, - {"[self-signature]", 376}, - {"1 bad signature\n", 377}, - {"%d bad signatures\n", 378}, - {"1 signature not checked due to a missing key\n", 379}, - {"%d signatures not checked due to missing keys\n", 380}, - {"1 signature not checked due to an error\n", 381}, - {"%d signatures not checked due to errors\n", 382}, - {"1 user ID without valid self-signature detected\n", 383}, - {"%d user IDs without valid self-signatures detected\n", 384}, - {"Already signed by key %08lX\n", 385}, - {"Nothing to sign with key %08lX\n", 386}, +key has been created %lu seconds in future (time warp or clock problem)\n", 306}, + {"Really create? ", 307}, + {"%s: can't open: %s\n", 308}, + {"error creating passphrase: %s\n", 309}, + {"%s: WARNING: empty file\n", 310}, + {"reading from `%s'\n", 311}, + {"%s/%s encrypted for: %s\n", 312}, + {"%s: user not found: %s\n", 313}, + {"certificate read problem: %s\n", 314}, + {"key %08lX: not a rfc2440 key - skipped\n", 315}, + {"WARNING: nothing exported\n", 316}, + {"too many entries in pk cache - disabled\n", 317}, + {"too many entries in unk cache - disabled\n", 318}, + {"RSA key cannot be used in this version\n", 319}, + {"No key for user ID\n", 320}, + {"No user ID for key\n", 321}, + {"using secondary key %08lX instead of primary key %08lX\n", 322}, + {"can't open `%s': %s\n", 323}, + {"skipping block of type %d\n", 324}, + {"%lu keys so far processed\n", 325}, + {"error reading `%s': %s\n", 326}, + {"Total number processed: %lu\n", 327}, + {" w/o user IDs: %lu\n", 328}, + {" imported: %lu", 329}, + {" unchanged: %lu\n", 330}, + {" new user IDs: %lu\n", 331}, + {" new subkeys: %lu\n", 332}, + {" new signatures: %lu\n", 333}, + {" new key revocations: %lu\n", 334}, + {" secret keys read: %lu\n", 335}, + {" secret keys imported: %lu\n", 336}, + {" secret keys unchanged: %lu\n", 337}, + {"key %08lX: no user ID\n", 338}, + {"key %08lX: no valid user IDs\n", 339}, + {"this may be caused by a missing self-signature\n", 340}, + {"key %08lX: public key not found: %s\n", 341}, + {"no default public keyring\n", 342}, + {"writing to `%s'\n", 343}, + {"can't lock keyring `%s': %s\n", 344}, + {"error writing keyring `%s': %s\n", 345}, + {"key %08lX: public key imported\n", 346}, + {"key %08lX: doesn't match our copy\n", 347}, + {"key %08lX: can't locate original keyblock: %s\n", 348}, + {"key %08lX: can't read original keyblock: %s\n", 349}, + {"key %08lX: 1 new user ID\n", 350}, + {"key %08lX: %d new user IDs\n", 351}, + {"key %08lX: 1 new signature\n", 352}, + {"key %08lX: %d new signatures\n", 353}, + {"key %08lX: 1 new subkey\n", 354}, + {"key %08lX: %d new subkeys\n", 355}, + {"key %08lX: not changed\n", 356}, + {"key %08lX: secret key imported\n", 357}, + {"key %08lX: already in secret keyring\n", 358}, + {"key %08lX: secret key not found: %s\n", 359}, + {"key %08lX: no public key - can't apply revocation certificate\n", 360}, + {"key %08lX: invalid revocation certificate: %s - rejected\n", 361}, + {"key %08lX: revocation certificate imported\n", 362}, + {"key %08lX: no user ID for signature\n", 363}, + {"key %08lX: unsupported public key algorithm\n", 364}, + {"key %08lX: invalid self-signature\n", 365}, + {"key %08lX: no subkey for key binding\n", 366}, + {"key %08lX: invalid subkey binding\n", 367}, + {"key %08lX: accepted non self-signed user ID '", 368}, + {"key %08lX: skipped user ID '", 369}, + {"key %08lX: skipped subkey\n", 370}, + {"key %08lX: non exportable signature (class %02x) - skipped\n", 371}, + {"key %08lX: revocation certificate at wrong place - skipped\n", 372}, + {"key %08lX: invalid revocation certificate: %s - skipped\n", 373}, + {"key %08lX: duplicated user ID detected - merged\n", 374}, + {"key %08lX: revocation certificate added\n", 375}, + {"key %08lX: our copy has no self-signature\n", 376}, + {"%s: user not found\n", 377}, + {"[revocation]", 378}, + {"[self-signature]", 379}, + {"1 bad signature\n", 380}, + {"%d bad signatures\n", 381}, + {"1 signature not checked due to a missing key\n", 382}, + {"%d signatures not checked due to missing keys\n", 383}, + {"1 signature not checked due to an error\n", 384}, + {"%d signatures not checked due to errors\n", 385}, + {"1 user ID without valid self-signature detected\n", 386}, + {"%d user IDs without valid self-signatures detected\n", 387}, + {"Already signed by key %08lX\n", 388}, + {"Nothing to sign with key %08lX\n", 389}, {"\ Are you really sure that you want to sign this key\n\ -with your key: \"", 387}, +with your key: \"", 390}, {"\ The signature will be marked as non-exportable.\n\ -\n", 388}, - {"Really sign? ", 389}, - {"signing failed: %s\n", 390}, - {"This key is not protected.\n", 391}, - {"Key is protected.\n", 392}, - {"Can't edit this key: %s\n", 393}, +\n", 391}, + {"Really sign? ", 392}, + {"signing failed: %s\n", 393}, + {"This key is not protected.\n", 394}, + {"Key is protected.\n", 395}, + {"Can't edit this key: %s\n", 396}, {"\ Enter the new passphrase for this secret key.\n\ -\n", 394}, +\n", 397}, {"\ You don't want a passphrase - this is probably a *bad* idea!\n\ -\n", 395}, - {"Do you really want to do this? ", 396}, - {"moving a key signature to the correct place\n", 397}, - {"quit this menu", 398}, - {"q", 399}, - {"save", 400}, - {"save and quit", 401}, - {"help", 402}, - {"show this help", 403}, - {"fpr", 404}, - {"show fingerprint", 405}, - {"list", 406}, - {"list key and user IDs", 407}, - {"l", 408}, - {"uid", 409}, - {"select user ID N", 410}, - {"key", 411}, - {"select secondary key N", 412}, - {"check", 413}, - {"list signatures", 414}, - {"c", 415}, - {"sign", 416}, - {"sign the key", 417}, - {"s", 418}, - {"lsign", 419}, - {"sign the key locally", 420}, - {"debug", 421}, - {"adduid", 422}, - {"add a user ID", 423}, - {"deluid", 424}, - {"delete user ID", 425}, - {"addkey", 426}, - {"add a secondary key", 427}, - {"delkey", 428}, - {"delete a secondary key", 429}, - {"delsig", 430}, - {"delete signatures", 431}, - {"expire", 432}, - {"change the expire date", 433}, - {"toggle", 434}, - {"toggle between secret and public key listing", 435}, - {"t", 436}, - {"pref", 437}, - {"list preferences", 438}, - {"passwd", 439}, - {"change the passphrase", 440}, - {"trust", 441}, - {"change the ownertrust", 442}, - {"revsig", 443}, - {"revoke signatures", 444}, - {"revkey", 445}, - {"revoke a secondary key", 446}, - {"disable", 447}, - {"disable a key", 448}, - {"enable", 449}, - {"enable a key", 450}, - {"can't do that in batchmode\n", 451}, - {"Secret key is available.\n", 452}, - {"Command> ", 453}, - {"Need the secret key to do this.\n", 454}, - {"Really sign all user IDs? ", 455}, - {"Hint: Select the user IDs to sign\n", 456}, - {"update of trustdb failed: %s\n", 457}, - {"You must select at least one user ID.\n", 458}, - {"You can't delete the last user ID!\n", 459}, - {"Really remove all selected user IDs? ", 460}, - {"Really remove this user ID? ", 461}, - {"You must select at least one key.\n", 462}, - {"Do you really want to delete the selected keys? ", 463}, - {"Do you really want to delete this key? ", 464}, - {"Do you really want to revoke the selected keys? ", 465}, - {"Do you really want to revoke this key? ", 466}, - {"Save changes? ", 467}, - {"Quit without saving? ", 468}, - {"update failed: %s\n", 469}, - {"update secret failed: %s\n", 470}, - {"Key not changed so no update needed.\n", 471}, - {"Invalid command (try \"help\")\n", 472}, - {"This key has been disabled", 473}, - {"Delete this good signature? (y/N/q)", 474}, - {"Delete this invalid signature? (y/N/q)", 475}, - {"Delete this unknown signature? (y/N/q)", 476}, - {"Really delete this self-signature? (y/N)", 477}, - {"Deleted %d signature.\n", 478}, - {"Deleted %d signatures.\n", 479}, - {"Nothing deleted.\n", 480}, - {"Please remove selections from the secret keys.\n", 481}, - {"Please select at most one secondary key.\n", 482}, - {"Changing expiration time for a secondary key.\n", 483}, - {"Changing expiration time for the primary key.\n", 484}, - {"You can't change the expiration date of a v3 key\n", 485}, - {"No corresponding signature in secret ring\n", 486}, - {"No user ID with index %d\n", 487}, - {"No secondary key with index %d\n", 488}, - {"user ID: \"", 489}, +\n", 398}, + {"Do you really want to do this? ", 399}, + {"moving a key signature to the correct place\n", 400}, + {"quit this menu", 401}, + {"q", 402}, + {"save", 403}, + {"save and quit", 404}, + {"help", 405}, + {"show this help", 406}, + {"fpr", 407}, + {"show fingerprint", 408}, + {"list", 409}, + {"list key and user IDs", 410}, + {"l", 411}, + {"uid", 412}, + {"select user ID N", 413}, + {"key", 414}, + {"select secondary key N", 415}, + {"check", 416}, + {"list signatures", 417}, + {"c", 418}, + {"sign", 419}, + {"sign the key", 420}, + {"s", 421}, + {"lsign", 422}, + {"sign the key locally", 423}, + {"debug", 424}, + {"adduid", 425}, + {"add a user ID", 426}, + {"deluid", 427}, + {"delete user ID", 428}, + {"addkey", 429}, + {"add a secondary key", 430}, + {"delkey", 431}, + {"delete a secondary key", 432}, + {"delsig", 433}, + {"delete signatures", 434}, + {"expire", 435}, + {"change the expire date", 436}, + {"toggle", 437}, + {"toggle between secret and public key listing", 438}, + {"t", 439}, + {"pref", 440}, + {"list preferences", 441}, + {"passwd", 442}, + {"change the passphrase", 443}, + {"trust", 444}, + {"change the ownertrust", 445}, + {"revsig", 446}, + {"revoke signatures", 447}, + {"revkey", 448}, + {"revoke a secondary key", 449}, + {"disable", 450}, + {"disable a key", 451}, + {"enable", 452}, + {"enable a key", 453}, + {"can't do that in batchmode\n", 454}, + {"Secret key is available.\n", 455}, + {"Command> ", 456}, + {"Need the secret key to do this.\n", 457}, + {"Really sign all user IDs? ", 458}, + {"Hint: Select the user IDs to sign\n", 459}, + {"update of trustdb failed: %s\n", 460}, + {"You must select at least one user ID.\n", 461}, + {"You can't delete the last user ID!\n", 462}, + {"Really remove all selected user IDs? ", 463}, + {"Really remove this user ID? ", 464}, + {"You must select at least one key.\n", 465}, + {"Do you really want to delete the selected keys? ", 466}, + {"Do you really want to delete this key? ", 467}, + {"Do you really want to revoke the selected keys? ", 468}, + {"Do you really want to revoke this key? ", 469}, + {"Save changes? ", 470}, + {"Quit without saving? ", 471}, + {"update failed: %s\n", 472}, + {"update secret failed: %s\n", 473}, + {"Key not changed so no update needed.\n", 474}, + {"Invalid command (try \"help\")\n", 475}, + {"This key has been disabled", 476}, + {"Delete this good signature? (y/N/q)", 477}, + {"Delete this invalid signature? (y/N/q)", 478}, + {"Delete this unknown signature? (y/N/q)", 479}, + {"Really delete this self-signature? (y/N)", 480}, + {"Deleted %d signature.\n", 481}, + {"Deleted %d signatures.\n", 482}, + {"Nothing deleted.\n", 483}, + {"Please remove selections from the secret keys.\n", 484}, + {"Please select at most one secondary key.\n", 485}, + {"Changing expiration time for a secondary key.\n", 486}, + {"Changing expiration time for the primary key.\n", 487}, + {"You can't change the expiration date of a v3 key\n", 488}, + {"No corresponding signature in secret ring\n", 489}, + {"No user ID with index %d\n", 490}, + {"No secondary key with index %d\n", 491}, + {"user ID: \"", 492}, {"\ \"\n\ -signed with your key %08lX at %s\n", 490}, - {"Create a revocation certificate for this signature? (y/N)", 491}, - {"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}, +signed with your key %08lX at %s\n", 493}, + {"Create a revocation certificate for this signature? (y/N)", 494}, + {"You have signed these user IDs:\n", 495}, + {" signed by %08lX at %s\n", 496}, + {" revoked by %08lX at %s\n", 497}, + {"You are about to revoke these signatures:\n", 498}, + {"Really create the revocation certificates? (y/N)", 499}, + {"no secret key\n", 500}, + {"public key is %08lX\n", 501}, + {"public key encrypted data: good DEK\n", 502}, + {"encrypted with %u-bit %s key, ID %08lX, created %s\n", 503}, + {"encrypted with %s key, ID %08lX\n", 504}, + {"no secret key for decryption available\n", 505}, + {"public key decryption failed: %s\n", 506}, + {"decryption okay\n", 507}, + {"WARNING: encrypted message has been manipulated!\n", 508}, + {"decryption failed: %s\n", 509}, + {"NOTE: sender requested \"for-your-eyes-only\"\n", 510}, + {"original file name='%.*s'\n", 511}, + {"standalone revocation - use \"gpg --import\" to apply\n", 512}, + {"WARNING: invalid notation data found\n", 513}, + {"Notation: ", 514}, + {"Policy: ", 515}, + {"signature verification suppressed\n", 516}, + {"Signature made %.*s using %s key ID %08lX\n", 517}, + {"BAD signature from \"", 518}, + {"Good signature from \"", 519}, + {" aka \"", 520}, + {"Can't check signature: %s\n", 521}, + {"standalone signature of class 0x%02x\n", 522}, + {"old style (PGP 2.x) signature\n", 523}, + {"invalid root packet detected in proc_tree()\n", 524}, + {"can't disable core dumps: %s\n", 525}, + {"WARNING: program may create a core file!\n", 526}, + {"Experimental algorithms should not be used!\n", 527}, {"\ RSA keys are deprecated; please consider creating a new key and use this key \ -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}, +in the future\n", 528}, + {"this cipher algorithm is depreciated; please use a more standard one!\n", 529}, + {"can't handle public key algorithm %d\n", 530}, + {"subpacket of type %d has critical bit set\n", 531}, {"\ \n\ You need a passphrase to unlock the secret key for\n\ -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}, +user: \"", 532}, + {"%u-bit %s key, ID %08lX, created %s", 533}, + {" (main key ID %08lX)", 534}, + {"can't query password in batchmode\n", 535}, + {"Enter passphrase: ", 536}, + {"Repeat passphrase: ", 537}, + {"data not saved; use option \"--output\" to save it\n", 538}, + {"Detached signature.\n", 539}, + {"Please enter name of data file: ", 540}, + {"reading stdin ...\n", 541}, + {"can't open signed data `%s'\n", 542}, + {"anonymous receiver; trying secret key %08lX ...\n", 543}, + {"okay, we are the anonymous recipient.\n", 544}, + {"old encoding of the DEK is not supported\n", 545}, + {"NOTE: cipher algorithm %d not found in preferences\n", 546}, + {"requesting key %08lX from %s ...\n", 547}, + {"can't get key from keyserver: %s\n", 548}, + {"no keyserver known (use option --keyserver)\n", 549}, + {"%s: not a valid key ID\n", 550}, + {"can't connect to `%s': %s\n", 551}, + {"error sending to `%s': %s\n", 552}, + {"success sending to `%s' (status=%u)\n", 553}, + {"failed sending to `%s': status=%u\n", 554}, + {"protection algorithm %d is not supported\n", 555}, + {"Invalid passphrase; please try again ...\n", 556}, + {"WARNING: Weak key detected - please change passphrase again.\n", 557}, + {"assuming bad MDC due to an unknown critical bit\n", 558}, + {"\ +this is a PGP generated ElGamal key which is NOT secure for signatures!\n", 559}, + {"public key is %lu second newer than the signature\n", 560}, + {"public key is %lu seconds newer than the signature\n", 561}, + {"NOTE: signature key expired %s\n", 562}, + {"assuming bad signature due to an unknown critical bit\n", 563}, + {"%s signature from: %s\n", 564}, + {"can't create %s: %s\n", 565}, + {"signing:", 566}, + {"WARNING: `%s' is an empty file\n", 567}, + {"can't handle text lines longer than %d characters\n", 568}, + {"input line longer than %d characters\n", 569}, + {"trustdb rec %lu: lseek failed: %s\n", 570}, + {"trustdb rec %lu: write failed (n=%d): %s\n", 571}, + {"trustdb transaction too large\n", 572}, + {"%s: can't access: %s\n", 573}, + {"%s: directory does not exist!\n", 574}, + {"%s: can't create: %s\n", 575}, + {"%s: can't create lock\n", 576}, + {"%s: failed to create version record: %s", 577}, + {"%s: invalid trustdb created\n", 578}, + {"%s: trustdb created\n", 579}, + {"%s: invalid trustdb\n", 580}, + {"%s: failed to create hashtable: %s\n", 581}, + {"%s: error updating version record: %s\n", 582}, + {"%s: error reading version record: %s\n", 583}, + {"%s: error writing version record: %s\n", 584}, + {"trustdb: lseek failed: %s\n", 585}, + {"trustdb: read failed (n=%d): %s\n", 586}, + {"%s: not a trustdb file\n", 587}, + {"%s: version record with recnum %lu\n", 588}, + {"%s: invalid file version %d\n", 589}, + {"%s: error reading free record: %s\n", 590}, + {"%s: error writing dir record: %s\n", 591}, + {"%s: failed to zero a record: %s\n", 592}, + {"%s: failed to append a record: %s\n", 593}, + {"the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n", 594}, + {"trust record %lu, req type %d: read failed: %s\n", 595}, + {"trust record %lu, type %d: write failed: %s\n", 596}, + {"trust record %lu: delete failed: %s\n", 597}, + {"trustdb: sync failed: %s\n", 598}, + {"error reading dir record for LID %lu: %s\n", 599}, + {"lid %lu: expected dir record, got type %d\n", 600}, + {"no primary key for LID %lu\n", 601}, + {"error reading primary key for LID %lu: %s\n", 602}, + {"get_dir_record: search_record failed: %s\n", 603}, + {"NOTE: secret key %08lX is NOT protected.\n", 604}, + {"key %08lX: secret key without public key - skipped\n", 605}, + {"key %08lX: secret and public key don't match\n", 606}, + {"key %08lX: can't put it into the trustdb\n", 607}, + {"key %08lX: query record failed\n", 608}, + {"key %08lX: already in trusted key table\n", 609}, + {"key %08lX: accepted as trusted key.\n", 610}, + {"enumerate secret keys failed: %s\n", 611}, + {"key %08lX.%lu: Good subkey binding\n", 612}, + {"key %08lX.%lu: Invalid subkey binding: %s\n", 613}, + {"key %08lX.%lu: Valid key revocation\n", 614}, + {"key %08lX.%lu: Invalid key revocation: %s\n", 615}, + {"key %08lX.%lu: Valid subkey revocation\n", 616}, + {"Good self-signature", 617}, + {"Invalid self-signature", 618}, + {"Valid user ID revocation skipped due to a newer self signature", 619}, + {"Valid user ID revocation", 620}, + {"Invalid user ID revocation", 621}, + {"Valid certificate revocation", 622}, + {"Good certificate", 623}, + {"Invalid certificate revocation", 624}, + {"Invalid certificate", 625}, + {"sig record %lu[%d] points to wrong record.\n", 626}, + {"duplicated certificate - deleted", 627}, + {"tdbio_search_dir failed: %s\n", 628}, + {"lid ?: insert failed: %s\n", 629}, + {"lid %lu: insert failed: %s\n", 630}, + {"lid %lu: inserted\n", 631}, + {"error reading dir record: %s\n", 632}, + {"%lu keys processed\n", 633}, + {"\t%lu keys with errors\n", 634}, + {"\t%lu keys inserted\n", 635}, + {"enumerate keyblocks failed: %s\n", 636}, + {"lid %lu: dir record w/o key - skipped\n", 637}, + {"\t%lu due to new pubkeys\n", 638}, + {"\t%lu keys skipped\n", 639}, + {"\t%lu keys updated\n", 640}, + {"Ooops, no keys\n", 641}, + {"Ooops, no user IDs\n", 642}, + {"check_trust: search dir record failed: %s\n", 643}, + {"key %08lX: insert trust record failed: %s\n", 644}, + {"key %08lX.%lu: inserted into trustdb\n", 645}, + {"key %08lX.%lu: created in future (time warp or clock problem)\n", 646}, + {"key %08lX.%lu: expired at %s\n", 647}, + {"key %08lX.%lu: trust check failed: %s\n", 648}, + {"user '%s' not found: %s\n", 649}, + {"problem finding '%s' in trustdb: %s\n", 650}, + {"user '%s' not in trustdb - inserting\n", 651}, + {"failed to put '%s' into trustdb: %s\n", 652}, + {"WARNING: can't yet handle long pref records\n", 653}, + {"\ +the signature could not be verified.\n\ +Please remember that the signature file (.sig or .asc)\n\ +should be the first file given on the command line.\n", 654}, + {"input line %u too long or missing LF\n", 655}, + {"%s: can't create keyring: %s\n", 656}, + {"%s: keyring created\n", 657}, + {"WARNING: 2 files with confidential information exists.\n", 658}, + {"%s is the unchanged one\n", 659}, + {"%s is the new one\n", 660}, + {"Please fix this possible security flaw\n", 661}, + {"key is not flagged as insecure - can't use it with the faked RNG!\n", 662}, + {"skipped `%s': %s\n", 663}, {"\ skipped `%s': this is a PGP generated ElGamal key which is not secure for \ -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}, +signatures!\n", 664}, + {"File `%s' exists. ", 665}, + {"Overwrite (y/N)? ", 666}, + {"%s: unknown suffix\n", 667}, + {"Enter new filename", 668}, + {"writing to stdout\n", 669}, + {"assuming signed data in `%s'\n", 670}, + {"%s: new options file created\n", 671}, + {"%s: can't create directory: %s\n", 672}, + {"%s: directory created\n", 673}, + {"you have to start GnuPG again, so it can read the new options file\n", 674}, + {"%s encrypted data\n", 675}, + {"encrypted with unknown algorithm %d\n", 676}, + {"\ +WARNING: message was encrypted with a weak key in the symmetric cipher.\n", 677}, + {"weak key created - retrying\n", 678}, + {"cannot avoid weak key for symmetric cipher; tried %d times!\n", 679}, + {"there is a secret key for this public key!\n", 680}, + {"use option \"--delete-secret-key\" to delete it first.\n", 681}, + {"can't do that in batchmode without \"--yes\"\n", 682}, + {"Delete this key from the keyring? ", 683}, + {"This is a secret key! - really delete? ", 684}, {"\ 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.", 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}, +to do with the (implicitly created) web-of-certificates.", 685}, + {"If you want to use this revoked key anyway, answer \"yes\".", 686}, + {"If you want to use this untrusted key anyway, answer \"yes\".", 687}, {"\ -Enter the user ID of the addressee to whom you want to send the message.", 670}, +Enter the user ID of the addressee to whom you want to send the message.", 688}, {"\ Select the algorithm to use.\n\ \n\ @@ -814,62 +837,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.", 671}, +this menu.", 689}, {"\ 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.", 672}, - {"Enter the size of the key", 673}, - {"Answer \"yes\" or \"no\"", 674}, +with them are quite large and very slow to verify.", 690}, + {"Enter the size of the key", 691}, + {"Answer \"yes\" or \"no\"", 692}, {"\ 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.", 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}, +the given value as an interval.", 693}, + {"Enter the name of the key holder", 694}, + {"please enter an optional but highly suggested email address", 695}, + {"Please enter an optional comment", 696}, {"\ 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.", 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}, +Q to to quit the key generation.", 697}, + {"Answer \"yes\" (or just \"y\") if it is okay to generate the sub key.", 698}, + {"Answer \"yes\" is you want to sign ALL the user IDs", 699}, {"\ Answer \"yes\" if you really want to delete this user ID.\n\ -All certificates are then also lost!", 682}, - {"Answer \"yes\" if it is okay to delete the subkey", 683}, +All certificates are then also lost!", 700}, + {"Answer \"yes\" if it is okay to delete the subkey", 701}, {"\ 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.", 684}, +trust connection to the key or another key certified by this key.", 702}, {"\ 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\n\ -a trust connection through another already certified key.", 685}, +a trust connection through another already certified key.", 703}, {"\ The signature is not valid. It does make sense to remove it from\n\ -your keyring.", 686}, +your keyring.", 704}, {"\ 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.", 687}, +a second one is available.", 705}, {"\ Please enter the passhrase; this is a secret sentence \n\ - 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}, + Blurb, blurb,.... ", 706}, + {"Please repeat the last passphrase, so you are sure what you typed in.", 707}, + {"Give the name of the file to which the signature applies", 708}, + {"Answer \"yes\" if it is okay to overwrite the file", 709}, {"\ Please enter a new filename. If you just hit RETURN the default\n\ -file (which is shown in brackets) will be used.", 692}, - {"No help available", 693}, - {"No help available for `%s'", 694}, +file (which is shown in brackets) will be used.", 710}, + {"No help available", 711}, + {"No help available for `%s'", 712}, }; -int _msg_tbl_length = 694; +int _msg_tbl_length = 712; diff -urN gnupg-1.0.0/po/de.po gnupg-1.0.1/po/de.po --- gnupg-1.0.0/po/de.po Tue Sep 7 18:48:30 1999 +++ gnupg-1.0.1/po/de.po Thu Dec 16 10:17:28 1999 @@ -3,8 +3,8 @@ # Walter Koch , 1998. msgid "" msgstr "" -"POT-Creation-Date: 1999-09-05 19:21+0200\n" -"PO-Revision-Date: 1999-09-04 22:36+0200\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" +"PO-Revision-Date: 1999-12-11 16:54+0100\n" "Last-Translator: Walter Koch \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -17,11 +17,11 @@ # " Um dies zu vermeiden, kann das Programm suid(root) installiert werden.\n" # " Bitte wenden Sie sich hierzu an den Systemadministrator.\n" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "Vorgang ist ohne sicheren Hauptspeicher nicht möglich\n" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "" "(möglicherweise haben Sie das falsche Programm für diese Aufgabe benutzt)\n" @@ -242,6 +242,10 @@ msgid "not encrypted" msgstr "nicht verschlüsselt" +#: util/errors.c:103 +msgid "not processed" +msgstr "nicht bearbeitet" + #: util/logger.c:218 #, c-format msgid "... this is a bug (%s:%d:%s)\n" @@ -252,11 +256,11 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "Sie haben eine Bug (Programmfehler) gefunden ... (%s:%d)\n" -#: cipher/random.c:452 +#: cipher/random.c:458 msgid "WARNING: using insecure random number generator!!\n" msgstr "WARNUNG: Der Zufallsgenerator erzeugt keine echten Zufallszahlen!\n" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -282,7 +286,7 @@ "Arbeiten durch, damit das Betriebssystem weitere Entropie sammeln kann!\n" "(Es werden noch %d Byte benötigt.)\n" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " @@ -290,135 +294,139 @@ "@Befehle:\n" " " -#: g10/g10.c:187 +#: g10/g10.c:191 msgid "|[file]|make a signature" msgstr "|[Datei]|Eine Unterschrift erzeugen" -#: g10/g10.c:188 +#: g10/g10.c:192 msgid "|[file]|make a clear text signature" msgstr "|[Datei]|Eine Klartextunterschrift erzeugen" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "Eine abgetrennte Unterschrift erzeugen" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "Daten verschlüsseln" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "Daten symmetrisch verschlüsseln" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" msgstr "Nur speichern" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "Daten entschlüsseln (Voreinstellung)" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "Signatur prüfen" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "Liste der Schlüssel" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "Liste der Schlüssel und ihrer Signaturen" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "Signaturen der Schlüssel prüfen" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "Liste der Schlüssel und ihrer \"Fingerabdrücke\"" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "Liste der geheimen Schlüssel" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "Ein neues Schlüsselpaar erzeugen" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" -msgstr "Schlüssel entfernen" +msgstr "Schlüssel aus dem öff. Schlüsselbund entfernen" -#: g10/g10.c:203 +#: g10/g10.c:209 +msgid "remove key from the secret keyring" +msgstr "Schlüssel aus dem geh. Schlüsselbund entfernen" + +#: g10/g10.c:210 msgid "sign a key" msgstr "Schlüssel signieren" -#: g10/g10.c:204 +#: g10/g10.c:211 msgid "sign a key locally" msgstr "Schlüssel nur auf diesem Rechner signieren" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" -msgstr "Unterschreiben o. Bearbeiten eines Schlüssels" +msgstr "Unterschreiben oder Bearbeiten eines Schl." -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" msgstr "Ein Schlüsselwiderruf-Zertifikat erzeugen" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "Schlüssel exportieren" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "Schlüssel zu einem Schlü.server exportieren" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "Schlüssel von einem Schlü.server importieren" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" msgstr "Schlüssel importieren/kombinieren" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "Lediglich Struktur der Datenpakete anzeigen" -#: g10/g10.c:216 +#: g10/g10.c:223 msgid "export the ownertrust values" msgstr "Exportieren der \"Owner trust\" Werte" -#: g10/g10.c:218 +#: g10/g10.c:225 msgid "import ownertrust values" msgstr "Importieren der \"Owner trust\" Werte" -#: g10/g10.c:220 +#: g10/g10.c:227 msgid "update the trust database" msgstr "Ändern der \"Trust\"-Datenbank" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "|[NAMEN]|Überprüfen der \"Trust\"-Datenbank" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" msgstr "Reparieren einer beschädigten \"Trust\"-Datenb." -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "Datei oder stdin von der ASCII-Hülle befreien" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "Datei oder stdin in eine ASCII-Hülle einpacken" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "|algo [Dateien]|Message-Digests für die Dateien ausgeben" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" @@ -428,172 +436,172 @@ "Optionen:\n" " " -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" msgstr "Ausgabe mit ASCII-Hülle versehen" -#: g10/g10.c:233 +#: g10/g10.c:243 msgid "|NAME|encrypt for NAME" msgstr "|NAME|Verschlüsseln für NAME" -#: g10/g10.c:236 +#: g10/g10.c:246 msgid "|NAME|use NAME as default recipient" msgstr "|NAME|NAME als voreingestellten Empfänger benutzen" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" msgstr "" "Den Standardschlüssel als voreingestellten\n" "Empfänger benutzen" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "Mit dieser User-ID signieren" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" msgstr "Kompressionsstufe auf N setzen (0=keine)" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "Textmodus benutzen" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "Als Ausgabedatei benutzen" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "Detaillierte Informationen" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "Etwas weniger Infos" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" msgstr "das Terminal gar nicht benutzen" -#: g10/g10.c:250 +#: g10/g10.c:260 msgid "force v3 signatures" msgstr "v3 Signaturen erzwingen" -#: g10/g10.c:251 +#: g10/g10.c:261 msgid "always use a MDC for encryption" msgstr "Beim Verschlüsseln ein Siegel (MDC) verwenden" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "Keine wirklichen Änderungen durchführen" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "Stapelmodus: Keine Abfragen" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "\"Ja\" als Standardantwort annehmen" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "\"Nein\" als Standardantwort annehmen" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "Als öffentlichen Schlüsselbund mitbenutzen" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "Als geheimen Schlüsselbund mitbenutzen" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HOST|Schlüssel bei diesem Server nachschlagen" -#: g10/g10.c:261 +#: g10/g10.c:271 msgid "|NAME|set terminal charset to NAME" msgstr "|NAME|Terminalzeichensatz NAME benutzen" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "Optionen aus der Datei lesen" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "Debug-Flags einschalten" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" msgstr "Alle Debug-Flags einschalten" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "|FD|Statusinfo auf FD (Dateihandle) ausgeben" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "Keine Kommentarpakete schreiben" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "Benötigte Vollvertrauen (Voreinstellung 1)" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "Benötigte Teilvertrauen (Voreinstellung 3)" -#: g10/g10.c:271 +#: g10/g10.c:281 msgid "|FILE|load extension module FILE" msgstr "|DATEI|Erweiterungsmodul DATEI laden" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "Den in RFC1991 beschriebenen Modus nachahmen" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" "alle Paket-, Verschlüsselungs- und\n" "Hashoptionen auf OpenPGP-Verhalten einstellen" -#: g10/g10.c:274 +#: g10/g10.c:284 msgid "|N|use passphrase mode N" msgstr "|N|Verwenden des Mantra-Modus N" -#: g10/g10.c:276 +#: g10/g10.c:286 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|NAME|Hashverfahren NAME für Mantras benutzen" -#: g10/g10.c:278 +#: g10/g10.c:288 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|NAME|Verschlü.verfahren NAME für Mantras benutzen" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "|NAME|Verschlü.verfahren NAME benutzen" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "|NAME|Hashverfahren NAME benutzen" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "|N|Komprimierverfahren N benutzen" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" msgstr "Entferne Empfänger-ID verschlüsselter Pakete" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" msgstr "|NAME=WERT|verwende diese \"notation\"-Daten" -#: g10/g10.c:285 +#: g10/g10.c:295 msgid "" "@\n" "Examples:\n" @@ -613,17 +621,17 @@ " --list-keys [Namen] Schlüssel anzeigen\n" " --fingerprint [Namen] \"Fingerabdrücke\" anzeigen\n" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "" "Berichte über Bugs (Programmfehler) bitte an .\n" "Sinn- oder Schreibfehler in den deutschen Texten bitte an .\n" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Aufruf: gpg [Optionen] [Dateien] (-h für Hilfe)" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -633,7 +641,7 @@ "Signieren, prüfen, verschlüsseln, entschlüsseln\n" "Die voreingestellte Operation ist abhängig von den Eingabedaten\n" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" @@ -641,184 +649,184 @@ "\n" "Unterstützte Verfahren:\n" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "Aufruf: gpg [Optionen] " -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "Widersprüchliche Befehle\n" -#: g10/g10.c:644 +#: g10/g10.c:668 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "Optionendatei '%s': %s\n" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "Optionen werden aus '%s' gelesen\n" -#: g10/g10.c:835 +#: g10/g10.c:861 #, c-format msgid "%s is not a valid character set\n" msgstr "%s ist kein gültiger Zeichensatz.\n" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" msgstr "Hinweis: %s ist nicht für den üblichen Gebrauch gedacht!\n" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" msgstr "%s kann nicht zusammen mit %s verwendet werden!\n" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" msgstr "%s zusammen mit %s ist nicht sinnvoll!\n" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "Das ausgewählte Verschlüsslungsverfahren ist ungültig\n" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "Das ausgewählte Hashverfahren ist ungültig\n" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" msgstr "Die angegebene URL für Richtlinien ist ungültig\n" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "Das Komprimierverfahren muß im Bereich %d bis %d liegen\n" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed müssen größer als 0 sein\n" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed müssen größer als 1 sein\n" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "max-cert-depth muß im Bereich 1 bis 255 liegen\n" -#: g10/g10.c:950 +#: g10/g10.c:975 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "Hinweis: Vom \"simple S2K\"-Modus (0) ist strikt abzuraten\n" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "ungültiger \"simple S2K\"-Modus; Wert muß 0, 1 oder 3 sein\n" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "Die Trust-DB kann nicht initialisiert werden: %s\n" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "--store [Dateiname]" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "--symmetric [Dateiname]" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "--encrypt [Dateiname]" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "--sign [Dateiname]" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [Dateiname]" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" msgstr "--clearsign [Dateiname]" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "--decrypt [Dateiname]" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" msgstr "--sign-key User-ID" -#: g10/g10.c:1120 +#: g10/g10.c:1150 msgid "--lsign-key user-id" msgstr "--lsign-key User-ID" -#: g10/g10.c:1128 +#: g10/g10.c:1158 msgid "--edit-key user-id [commands]" msgstr "--edit-key User-ID [Befehle]" -#: g10/g10.c:1144 +#: g10/g10.c:1174 msgid "--delete-secret-key user-id" msgstr "--delete-secret-key User-ID" -#: g10/g10.c:1147 +#: g10/g10.c:1177 msgid "--delete-key user-id" msgstr "--delete-key User-ID" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "'%s' kann nicht geöffnet werden: %s\n" -#: g10/g10.c:1182 +#: g10/g10.c:1229 msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "-k[v][v][v][c] [User-ID] [Schlüsselbund]" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "Entfernen der ASCII-Hülle ist fehlgeschlagen: %s\n" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "Anbringen der ASCII-Hülle ist fehlgeschlagen: %s\n" -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "Ungültiges Hashverfahren '%s'\n" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "[Dateiname]" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" msgstr "Auf geht's - Botschaft eintippen ...\n" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" msgstr "'%s' kann nicht geöffnet werden\n" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" "Das erste Zeichen eines \"notation\"-Namens muß ein Buchstabe oder\n" "ein Unterstrich sein\n" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" @@ -826,12 +834,12 @@ "Ein \"notation\"-Name darf nur Buchstaben, Zahlen, Punkte oder Unterstriche " "enthalten und muß mit einem '=' enden\n" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" "Punkte in einem \"notation\"-Namen müssen von anderen Zeichen umgeben sein\n" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" msgstr "Ein \"notation\"-Wert darf keine Kontrollzeichen verwenden\n" @@ -840,70 +848,70 @@ msgid "armor: %s\n" msgstr "ASCII-Hülle: %s\n" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "Ungültige ASCII-Hülle" -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "ASCII-Hülle: " -#: g10/armor.c:337 +#: g10/armor.c:343 msgid "invalid clearsig header\n" msgstr "Ungültige Klartextsignatur-Einleitung\n" -#: g10/armor.c:389 +#: g10/armor.c:395 msgid "nested clear text signatures\n" msgstr "verschachtelte Klartextunterschriften\n" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "Ungültige mit Bindestrich \"escapte\" Zeile: " -#: g10/armor.c:512 +#: g10/armor.c:518 msgid "unexpected armor:" msgstr "Unerwartete ASCII-Hülle:" -#: g10/armor.c:629 +#: g10/armor.c:635 #, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "Ungültiges \"radix64\" Zeichen %02x ignoriert\n" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "vorzeitiges Dateiende (keine Prüfsumme)\n" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "vorzeitiges Dateiende (innerhalb der Prüfsumme)\n" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "Falsch aufgebaute Prüfsumme\n" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "Prüfsummenfehler; %06lx - %06lx\n" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" msgstr "vorzeitiges Dateiende (im Nachsatz)\n" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "Fehler in der Nachsatzzeile\n" -#: g10/armor.c:1001 +#: g10/armor.c:1012 msgid "no valid OpenPGP data found.\n" msgstr "Keine gültigen OpenPGP-Daten gefunden.\n" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "ungültige ASCII-Hülle: Zeile ist länger als %d Zeichen\n" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -1009,38 +1017,38 @@ "Keine \"trust\" Werte geändert.\n" "\n" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "Schlüssel %08lX: Schlüssel wurde widerrufen\n" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "Diesen Schlüssel trotzdem benutzen?" -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "Schlüssel %08lX: Unterschlüssel wurde widerrufen\n" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: Schlüssel ist verfallen!\n" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "" "%08lX: Keine Infos zur Berechnung der Vertrauenswahrscheinlichkeit " "vorgefunden\n" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: Wir haben KEIN Vertrauen zu diesem Schlüssel!\n" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -1049,18 +1057,18 @@ "%08lX: Es ist nicht sicher, daß dieser Schlüssel wirklich dem vorgeblichen\n" "Besitzer gehört, aber er wird trotzdem akzeptiert\n" -#: g10/pkclist.c:422 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "" "Dieser Schlüssel gehört höchstwahrscheinlich dem angegebenen Besitzer\n" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "" "Dieser Schlüssel gehört uns (da wir nämlich den geheimen Schlüssel dazu " "haben)\n" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -1071,69 +1079,69 @@ "Wenn Sie *wirklich* wissen, was Sie tun, können Sie die nächste\n" "Frage mit ja beantworten\n" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "WARNUNG: Ein Schlüssel ohne gesichertes Vertrauen wird benutzt!\n" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "WARNUNG: Dieser Schlüssel wurde von seinem Besitzer widerrufen!\n" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" msgstr " Das könnte bedeuten, daß die Signatur gefälscht ist.\n" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "WARNUNG: Dieser Unterschlüssel wurde von seinem Besitzer widerrufen!\n" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "Hinweis: Dieser Schlüssel ist verfallen!\n" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!\n" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr "" " Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen " "Besitzer gehört.\n" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "WARNUNG: Wir haben KEIN Vertrauen zu diesem Schlüssel!\n" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" msgstr " Die Signatur ist wahrscheinlich eine FÄLSCHUNG.\n" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" "WARNUNG: Dieser Schlüssel ist nicht durch hinreichend vertrauenswürdige " "Signaturen zertifiziert!\n" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" msgstr "" " Es ist nicht sicher, daß die Signatur wirklich dem vorgeblichen " "Besitzer gehört.\n" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: übersprungen: %s\n" -#: g10/pkclist.c:702 g10/pkclist.c:868 +#: g10/pkclist.c:708 g10/pkclist.c:875 #, c-format msgid "%s: skipped: public key already present\n" msgstr "%s: übersprungen: öffentlicher Schlüssel bereits vorhanden\n" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1141,99 +1149,99 @@ "Sie gaben keine User-ID angegeben (Benutzen Sie die Option \"-r\").\n" "\n" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "Geben Sie die User-ID ein: " -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "Keine solche User-ID vorhanden.\n" -#: g10/pkclist.c:756 +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" msgstr "" "übersprungen: öffentlicher Schlüssel bereits als Standardempfänger gesetzt\n" -#: g10/pkclist.c:778 +#: g10/pkclist.c:785 msgid "Public key is disabled.\n" msgstr "Öffentlicher Schlüssel ist abgeschaltet.\n" -#: g10/pkclist.c:785 +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" msgstr "" "übersprungen: öffentlicher Schlüssel bereits mittels --encrypt-to gesetzt\n" -#: g10/pkclist.c:816 +#: g10/pkclist.c:823 #, c-format msgid "unknown default recipient `%s'\n" msgstr "Unbekannter voreingestellter Empfänger '%s'\n" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: Fehler beim Prüfen des Schlüssels: %s\n" -#: g10/pkclist.c:854 +#: g10/pkclist.c:861 #, c-format msgid "%s: skipped: public key is disabled\n" msgstr "%s: übersprungen: öffentlicher Schlüssel ist abgeschaltet\n" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "Keine gültigen Adressaten\n" -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "Die Eigenbeglaubigung wird geschrieben\n" -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "Schreiben der \"key-binding\" Signatur\n" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "Bitte wählen Sie, welche Art von Schlüssel Sie möchten:\n" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr " (%d) DSA und ElGamal (voreingestellt)\n" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr " (%d) DSA (nur signieren/beglaubigen)\n" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr " (%d) ElGamal (nur verschlüsseln)\n" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr " (%d) ElGamal (signieren/beglaubigen und verschlüsseln)\n" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr " (%d) ElGamal in einem v3-Paket\n" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "Ihre Auswahl? " -#: g10/keygen.c:409 +#: g10/keygen.c:410 msgid "Do you really want to create a sign and encrypt key? " msgstr "" "Möchten Sie wirklich einen Unterschriften-/Verschlüsselungschlüssel " "erzeugen? " -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "Ungültige Auswahl.\n" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1246,15 +1254,15 @@ " standard Schlüssellänge ist 1024 Bit\n" " größte sinnvolle Schlüssellänge ist 2048 Bit\n" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "Welche Schlüssellänge wünschen Sie? (1024) " -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "DSA erlaubt nur Schlüssellängen von 512 bis 1024\n" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "zu kurz; 768 ist die kleinste mögliche Schlüssellänge.\n" @@ -1266,12 +1274,12 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "Schüsselgröße zu hoch; %d ist der Maximalwert.\n" -#: g10/keygen.c:471 +#: g10/keygen.c:472 msgid "" "Keysizes larger than 2048 are not suggested because\n" "computations take REALLY long!\n" @@ -1279,11 +1287,11 @@ "Schlüssellängen größer als 2048 werden nicht empfohlen, da die\n" "Berechnungen dann WIRKLICH lange brauchen!\n" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "Sind Sie sicher, daß Sie diese Schlüssellänge wünschen? " -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" @@ -1291,21 +1299,21 @@ "Gut, aber bitte denken Sie auch daran, daß Monitor und Tastatur Daten " "abstrahlen und diese leicht mitgelesen werden können.\n" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "Brauchen Sie wirklich einen derartig langen Schlüssel? " -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "Die verlangte Schlüssellänge beträgt %u Bit\n" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "aufgerundet auf %u Bit\n" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1321,29 +1329,37 @@ " m = Schlüssel verfällt nach n Monaten\n" " y = Schlüssel verfällt nach n Jahren\n" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "Der Schlüssel bleibt wie lange gültig? (0) " -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "Ungültiger Wert.\n" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "Der Schlüssel verfällt nie.\n" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "Der Schlüssel verfällt am %s\n" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" +"Ihr Rechner kann Daten jenseits des Jahres 2038 nicht anzeigen.\n" +"Trotzdem werden Daten bis 2106 korrekt verarbeitet.\n" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "Ist dies richtig? (j/n) " -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1359,44 +1375,44 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "Ihr Name (\"Vorname Nachname\"): " -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "Ungültiges Zeichen im Namen\n" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "Der Name darf nicht mit einer Ziffer beginnen.\n" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "Der Name muß min. 5 Zeichen lang sein.\n" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "E-Mail-Adresse: " -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" msgstr "Diese E-Mail-Adresse ist ungültig\n" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "Kommentar: " -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "Ungültiges Zeichen im Kommentar.\n" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Sie benutzen den Zeichensatz `%s'\n" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1407,15 +1423,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "NnKkEeFfBb" -#: g10/keygen.c:699 +#: g10/keygen.c:703 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? " -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1423,11 +1439,11 @@ "Sie benötigen ein Mantra, um den geheimen Schlüssel zu schützen.\n" "\n" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "Mantra wurde nicht richtig wiederholt; noch einmal versuchen.\n" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" @@ -1440,7 +1456,7 @@ "aufrufen.\n" "\n" -#: g10/keygen.c:786 +#: g10/keygen.c:790 msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" "some other action (type on the keyboard, move the mouse, utilize the\n" @@ -1451,34 +1467,34 @@ "unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas\n" "tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.\n" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "" "Die Schlüsselerzeugung kann nur im interaktiven Modus benutzt werden.\n" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "Der DSA Schlüssel wird 1024 Bits haben.\n" -#: g10/keygen.c:870 +#: g10/keygen.c:874 msgid "Key generation canceled.\n" msgstr "Schlüsselerzeugung abgebrochen.\n" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" msgstr "schreiben des öffentlichen Zertifikats nach '%s'\n" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "schreiben des geheimen Zertifikats nach '%s'\n" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" msgstr "Öffentlichen und geheimen Schlüssel erzeugt und signiert.\n" -#: g10/keygen.c:960 +#: g10/keygen.c:964 msgid "" "Note that this key cannot be used for encryption. You may want to use\n" "the command \"--edit-key\" to generate a secondary key for this purpose.\n" @@ -1487,12 +1503,12 @@ "werden kann. Sie können aber mit dem Befehl \"--edit-key\" einen\n" "Zweitschlüssel für diesem Zweck erzeugen.\n" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "Schlüsselerzeugung fehlgeschlagen: %s\n" -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" @@ -1500,7 +1516,7 @@ "Der Schlüssel wurde %lu Sekunde in der Zukunft erzeugt (Zeitreise oder Uhren " "stimmen nicht überein)\n" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" @@ -1508,12 +1524,12 @@ "Der Schlüssel wurde %lu Sekunden in der Zukunft erzeugt (Zeitreise oder " "Uhren stimmen nicht überein)\n" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 msgid "Really create? " msgstr "Wirklich erzeugen? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: kann nicht geöffnet werden: %s\n" @@ -1523,17 +1539,17 @@ msgid "error creating passphrase: %s\n" msgstr "Fehler beim Erzeugen des Mantras: %s\n" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, c-format msgid "%s: WARNING: empty file\n" msgstr "%s: WARNUNG: Leere Datei\n" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "Lesen von '%s'\n" -#: g10/encode.c:482 +#: g10/encode.c:483 #, c-format msgid "%s/%s encrypted for: %s\n" msgstr "%s verschlüsselt für: %s\n" @@ -1565,264 +1581,264 @@ msgid "too many entries in unk cache - disabled\n" msgstr "zu viele Einträge im unk-Lager - abgeschaltet\n" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" msgstr "RSA-Schlüssel können in dieser Version nicht verwendet werden\n" -#: g10/getkey.c:1291 g10/getkey.c:1330 +#: g10/getkey.c:1296 g10/getkey.c:1335 msgid "No key for user ID\n" msgstr "Kein Schlüssel für User-ID\n" -#: g10/getkey.c:1369 g10/getkey.c:1409 +#: g10/getkey.c:1374 g10/getkey.c:1414 msgid "No user ID for key\n" msgstr "Keine User-ID für Schlüssel\n" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "" "der Zweitschlüssel %08lX wird anstelle des Hauptschlüssels %08lX verwendet\n" -#: g10/import.c:118 +#: g10/import.c:124 #, c-format msgid "can't open `%s': %s\n" msgstr "'%s' kann nicht geöffnet werden: %s\n" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "überspringe den Block vom Typ %d\n" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu Schlüssel bislang bearbeitet\n" -#: g10/import.c:174 +#: g10/import.c:190 #, c-format msgid "error reading `%s': %s\n" msgstr "Fehler beim Lesen von `%s': %s\n" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr "Anzahl insgesamt bearbeiteter Schlüssel: %lu\n" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr " ohne User-ID: %lu\n" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr " importiert: %lu" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr " unverändert: %lu\n" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr " neue User-IDs: %lu\n" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr " neue Unterschlüssel: %lu\n" -#: g10/import.c:193 +#: g10/import.c:216 #, c-format msgid " new signatures: %lu\n" msgstr " neue Signaturen: %lu\n" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr "neue Schlüsselwiderrufe: %lu\n" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr " gelesene geheime Schl.: %lu\n" -#: g10/import.c:199 +#: g10/import.c:222 #, c-format msgid " secret keys imported: %lu\n" msgstr "geheime Schlüssel importiert: %lu\n" -#: g10/import.c:201 +#: g10/import.c:224 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " unveränderte geh.Schl.: %lu\n" -#: g10/import.c:362 g10/import.c:554 +#: g10/import.c:383 g10/import.c:575 #, c-format msgid "key %08lX: no user ID\n" msgstr "Schlüssel %08lX: Keine User-ID\n" -#: g10/import.c:376 +#: g10/import.c:397 #, c-format msgid "key %08lX: no valid user IDs\n" msgstr "Schlüssel %08lX: Keine gültigen User-IDs\n" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "dies könnte durch fehlende Eigenbeglaubigung verursacht worden sein\n" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "Schlüssel %08lX: Öffentlicher Schlüssel nicht gefunden: %s\n" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "Kein voreingestellter öffentlicher Schlüsselbund\n" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "Schreiben nach '%s'\n" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "kann Schlüsselbund `%s' nicht sperren: %s\n" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "Fehler beim Schreiben des Schlüsselbundes `%s': %s\n" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" msgstr "Schlüssel %08lX: Öffentlicher Schlüssel importiert\n" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "Schlüssel %08lX: Stimmt nicht mit unserer Kopie überein\n" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "" "Schlüssel %08lX: der lokale originale Schlüsselblocks wurde nicht gefunden: " "%s\n" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "" "Schlüssel %08lX: Lesefehler im lokalen originalen Schlüsselblocks: %s\n" -#: g10/import.c:469 +#: g10/import.c:490 #, c-format msgid "key %08lX: 1 new user ID\n" msgstr "Schlüssel %08lX: 1 neue User-ID\n" -#: g10/import.c:472 +#: g10/import.c:493 #, c-format msgid "key %08lX: %d new user IDs\n" msgstr "Schlüssel %08lX: %d neue User-IDs\n" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "Schlüssel %08lX: 1 neue Signatur\n" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "Schlüssel %08lX: %d neue Signaturen\n" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "Schlüssel %08lX: 1 neuer Unterschlüssel\n" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "Schlüssel %08lX: %d neue Unterschlüssel\n" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "Schlüssel %08lX: Nicht geändert\n" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "Schlüssel %08lX: Geheimer Schlüssel importiert\n" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "Schlüssel %08lX: Ist bereits im geheimen Schlüsselbund\n" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "Schlüssel %08lX: geheimer Schlüssel nicht gefunden: %s\n" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" "Schlüssel %08lX: Kein öffentlicher Schlüssel - der Schlüsselwiderruf kann " "nicht angebracht werden\n" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "Schlüssel %08lX: Ungültiges Widerrufzertifikat: %s - zurückgewiesen\n" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "Schlüssel %08lX: Widerrufzertifikat importiert\n" -#: g10/import.c:711 +#: g10/import.c:741 #, c-format msgid "key %08lX: no user ID for signature\n" msgstr "Schlüssel %08lX: Keine User-ID für Signatur\n" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "Schlüssel %08lX: Nicht unterstützetes Public-Key-Verfahren\n" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "Schlüssel %08lX: Ungültige Eigenbeglaubigung\n" -#: g10/import.c:734 +#: g10/import.c:764 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "Schlüssel %08lX: Kein Unterschlüssel für die Schlüsselanbindung\n" -#: g10/import.c:743 +#: g10/import.c:773 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "Schlüssel %08lX: Ungültige Unterschlüssel-Anbindung\n" -#: g10/import.c:769 +#: g10/import.c:800 #, c-format msgid "key %08lX: accepted non self-signed user ID '" msgstr "Schlüssel %08lX: Nicht eigenbeglaubigte User-ID übernommen'" -#: g10/import.c:798 +#: g10/import.c:829 #, c-format msgid "key %08lX: skipped user ID '" msgstr "Schlüssel %08lX: User-ID übergangen '" -#: g10/import.c:821 +#: g10/import.c:852 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "Schlüssel %08lX: Unterschlüssel ignoriert\n" @@ -1831,32 +1847,32 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "Schlüssel %08lX: Nicht exportfähige Unterschrift - übergangen\n" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "Schlüssel %08lX: Widerrufzertifikat an falschem Platz - übergangen\n" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "Schlüssel %08lX: Ungültiges Widerrufzertifikat: %s - übergangen\n" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "Schlüssel %08lX: Doppelte User-ID entdeckt - zusammengeführt\n" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "Schlüssel %08lX: Widerrufzertifikat hinzugefügt\n" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "Schlüssel %08lX: Unsere Kopie hat keine Eigenbeglaubigung\n" @@ -1942,7 +1958,7 @@ msgid "Really sign? " msgstr "Wirklich unterschreiben? " -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "Beglaubigung fehlgeschlagen: %s\n" @@ -2289,79 +2305,79 @@ msgid "Invalid command (try \"help\")\n" msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n" -#: g10/keyedit.c:1065 +#: g10/keyedit.c:1068 msgid "This key has been disabled" msgstr "Hinweis: Dieser Schlüssel ist abgeschaltet" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" msgstr "Diese ungültige Beglaubigung entfernen= (j/N/q)" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 msgid "Delete this unknown signature? (y/N/q)" msgstr "Diese unbekannte Beglaubigung entfernen? (j/N/q)" -#: g10/keyedit.c:1350 +#: g10/keyedit.c:1353 msgid "Really delete this self-signature? (y/N)" msgstr "Eigenbeglaubigung wirklich entfernen? (j/N)" -#: g10/keyedit.c:1364 +#: g10/keyedit.c:1367 #, c-format msgid "Deleted %d signature.\n" msgstr "%d Beglaubigungen entfernt.\n" -#: g10/keyedit.c:1365 +#: g10/keyedit.c:1368 #, c-format msgid "Deleted %d signatures.\n" msgstr "%d Beglaubigungen entfernt.\n" -#: g10/keyedit.c:1368 +#: g10/keyedit.c:1371 msgid "Nothing deleted.\n" msgstr "Nichts entfernt.\n" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "Bitte entfernen Sie die Auswahl von den geheimen Schlüsseln.\n" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 msgid "Please select at most one secondary key.\n" msgstr "Bitte wählen Sie höchstens einen Zweitschlüssel aus.\n" -#: g10/keyedit.c:1447 +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "Ändern des Verfallsdatums des Zweitschlüssels.\n" -#: g10/keyedit.c:1449 +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "Sie können das Verfallsdatum eines v3-Schlüssels nicht ändern\n" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "Keine entsprechende Signatur im geheimen Schlüsselbund\n" -#: g10/keyedit.c:1566 +#: g10/keyedit.c:1569 #, c-format msgid "No user ID with index %d\n" msgstr "Keine User-ID mit Index %d\n" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "Kein Zweitschlüssel mit Index %d\n" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 msgid "user ID: \"" msgstr "User-ID: \"" -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, c-format msgid "" "\"\n" @@ -2370,40 +2386,34 @@ "\"\n" "unterschrieben mit Ihrem Schlüssel %08lX um %s\n" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 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 +#: g10/keyedit.c:1743 msgid "You have signed these user IDs:\n" -msgstr "Die letzte User-ID kann nicht gelöscht werden!\n" +msgstr "Sie haben folgende User-IDs beglaubigt:\n" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 -#, fuzzy, c-format +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format msgid " signed by %08lX at %s\n" -msgstr "" -"\"\n" -"unterschrieben mit Ihrem Schlüssel %08lX um %s\n" +msgstr " beglaubiigt durch %08lX um %s\n" -#: g10/keyedit.c:1759 -#, fuzzy, c-format +#: g10/keyedit.c:1762 +#, c-format msgid " revoked by %08lX at %s\n" -msgstr "" -"\"\n" -"unterschrieben mit Ihrem Schlüssel %08lX um %s\n" +msgstr " widerrufen durch %08lX um %s\n" -#: g10/keyedit.c:1779 -#, fuzzy +#: g10/keyedit.c:1782 msgid "You are about to revoke these signatures:\n" -msgstr "Möchten Sie einige der ungültigen Signaturen entfernen? " +msgstr "Es werden nun folgende Beglaubigungen entfernt:\n" -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 msgid "Really create the revocation certificates? (y/N)" msgstr "Wirklich ein Unterschrift-Widerrufszertifikat erzeugen? (j/N) " -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 msgid "no secret key\n" msgstr "Kein geheimer Schlüssel\n" @@ -2416,95 +2426,105 @@ msgid "public key encrypted data: good DEK\n" msgstr "Mit öffentlichem Schüssel verschlüsselte Daten: Korrekte DEK\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:277 #, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" msgstr "verschlüsselt mit %u-Bit %s Schlüssel, ID %08lX, erzeugt %s\n" # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-( # [kw] -#: g10/mainproc.c:285 +#: g10/mainproc.c:287 #, c-format msgid "encrypted with %s key, ID %08lX\n" msgstr "verschlüsselt mit %s Schlüssel, ID %08lX\n" -#: g10/mainproc.c:291 +#: g10/mainproc.c:293 msgid "no secret key for decryption available\n" msgstr "kein geheimer Schlüssel zur Entschlüsselung vorhanden\n" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "Entschlüsselung mit öffentlichem Schlüssel fehlgeschlagen: %s\n" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 msgid "decryption okay\n" msgstr "Enschlüsselung fehlgeschlagen: %s\n" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "Warnung: Verschlüsselte Botschaft ist manipuliert worden!\n" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "Enschlüsselung fehlgeschlagen: %s\n" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "" "Hinweis: Der Absender verlangte Vertraulichkeit(\"for-your-eyes-only\")\n" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "Ursprünglicher Dateiname='%.*s'\n" -#: g10/mainproc.c:587 g10/mainproc.c:596 +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "" +"Einzelner Widerruf - verwenden Sie \"gpg --import\" um ihn anzuwenden\n" + +#: g10/mainproc.c:598 g10/mainproc.c:607 msgid "WARNING: invalid notation data found\n" msgstr "WARNUNG: Ungültige \"Notation\"-Daten gefunden\n" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " msgstr "\"Notation\": " -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " msgstr "Richtlinie: " -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "Unterschriften-Überprüfung unterdrückt\n" # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-( -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "Unterschrift vom %.*s, %s Schlüssel ID %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "FALSCHE Unterschrift von \"" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "Korrekte Unterschrift von \"" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr " alias \"" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" msgstr "Unterschrift kann nicht geprüft werden: %s\n" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1191 +#, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "Einzelne Unterschrift der Klasse 0x%02x\n" + +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "Unterschrift nach alter (PGP 2.x) Art\n" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "ungültiges root-Paket in proc_tree() entdeckt\n" @@ -2535,12 +2555,12 @@ "Diese Verschlüsselungsmethode taugt nicht mehr viel; verwenden Sie eine " "stärker standardisierte Methode!\n" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "dieses Public-Key Verfahren %d kann nicht benutzt werden\n" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "Im Unterpaket des Typs %d ist das \"critical bit\" gesetzt\n" @@ -2582,6 +2602,10 @@ msgstr "" "Daten wurden nicht gespeichert; verwenden Sie dafür die Option \"--output\"\n" +#: g10/plaintext.c:311 +msgid "Detached signature.\n" +msgstr "Abgetrennte Beglaubigungen.\n" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "Bitte geben Sie den Namen der Datendatei ein: " @@ -2613,6 +2637,45 @@ msgid "NOTE: cipher algorithm %d not found in preferences\n" msgstr "Hinweis: Verfahren %d ist kein bevorzugtes Verschlüsselungsverfahren\n" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "Schlüssels %08lX von %s wird angefordert ...\n" + +#: g10/hkp.c:71 +#, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "Schlüssel ist beim Schlüsselserver nicht erhältlich: %s\n" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "Kein Schlüsselserver bekannt (Option --keyserver verwenden)\n" + +#: g10/hkp.c:102 +#, c-format +msgid "%s: not a valid key ID\n" +msgstr "%s: Dies ist keine gültige Schlüssel-ID\n" + +#: g10/hkp.c:149 +#, c-format +msgid "can't connect to `%s': %s\n" +msgstr "Verbindung zu '%s' kann nicht aufgebaut werden: %s\n" + +#: g10/hkp.c:173 +#, c-format +msgid "error sending to `%s': %s\n" +msgstr "Fehler beim Senden an `%s': %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "Senden an `%s' erfolgreich (status=%u)\n" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "Senden an `%s' erfolglos (status=%u)\n" + #: g10/seckey-cert.c:55 #, c-format msgid "protection algorithm %d is not supported\n" @@ -2687,456 +2750,466 @@ msgid "can't handle text lines longer than %d characters\n" msgstr "Textzeilen länger als %d Zeichen können nicht benutzt werden\n" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format msgid "input line longer than %d characters\n" msgstr "Eingabezeile ist länger als %d Zeichen\n" -#: g10/tdbio.c:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "trustdb Satz %lu: lseek fehlgeschlagen: %s\n" -#: g10/tdbio.c:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, 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:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "trustdb Transaktion zu groß\n" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: kann nicht zugegriffen werden: %s\n" -#: 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:304 g10/tdbio.c:448 -#, c-format -msgid "%s: directory created\n" -msgstr "%s: Verzeichnis erzeugt\n" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, 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:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: kann nicht erzeugt werden: %s\n" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, c-format msgid "%s: can't create lock\n" msgstr "%s: Sperre kann nicht erzeugt werden\n" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: Fehler beim Erzeugen des Versionsatzes: %s" -#: g10/tdbio.c:491 +#: g10/tdbio.c:477 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: ungültige trust-db erzeugt\n" -#: g10/tdbio.c:494 +#: g10/tdbio.c:480 #, c-format msgid "%s: trustdb created\n" msgstr "%s: trust-db erzeugt\n" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: ungültige 'Trust'-Datenbank\n" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: hashtable kann nicht erzeugt werden: %s\n" -#: g10/tdbio.c:572 +#: g10/tdbio.c:558 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: Fehler beim Ändern des Versionsatzes: %s\n" -#: 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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: Fehler beim Lesen des Versionsatzes: %s\n" -#: g10/tdbio.c:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: Fehler beim Schreiben des Versionsatzes: %s\n" -#: g10/tdbio.c:1247 +#: g10/tdbio.c:1235 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "trustdb: lseek fehlgeschlagen: %s\n" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "trustdb: read failed (n=%d): %s\n" -#: g10/tdbio.c:1276 +#: g10/tdbio.c:1264 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: keine trustdb Datei\n" -#: g10/tdbio.c:1292 +#: g10/tdbio.c:1280 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: version record with recnum %lu\n" -#: g10/tdbio.c:1297 +#: g10/tdbio.c:1285 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: invalid file version %d\n" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: Fehler beim Lesen eines freien Satzes: %s\n" -#: g10/tdbio.c:1609 +#: g10/tdbio.c:1597 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: Fehler beim Schreiben eines Verzeichnis-Satzes: %s\n" -#: g10/tdbio.c:1619 +#: g10/tdbio.c:1607 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: konnte einen Satz nicht Nullen: %s\n" -#: g10/tdbio.c:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: konnte Satz nicht anhängen: %s\n" -#: g10/tdbio.c:1760 +#: g10/tdbio.c:1748 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "Die \"Trust\"-Datenbank ist beschädigt; verwenden Sie \"gpg " "--fix-trustdb\".\n" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "trust record %lu, req type %d: read failed: %s\n" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "trust record %lu, type %d: write failed: %s\n" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "Vertrauenssatz %lu: löschen fehlgeschlagen: %s\n" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "\"Trust-DB\": sync fehlgeschlagen: %s\n" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "Fehler beim Lesen des Dir-Satzes für LID %lu: %s\n" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "lid %lu: Dir-Satz erwartet, aber es kam Typ %d\n" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "Kein Hauptschlüssel für LID %lu\n" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "Fehler beim Lesen den Hauptschlüssels der LID %lu: %s\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record fehlgeschlagen: %s\n" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "HINWEIS: Geheimer Schlüssel %08lX ist NICHT geschützt.\n" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "" "Schlüssel %08lX: geheimer Schlüssel, aber ohne öffentlichen Schlüssel - " "übersprungen\n" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "" "Schlüssel %08lX: geheimer und öffentlicher Schlüssel passen nicht zusammen.\n" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "Schlüssel %08lX kann nicht in die \"trustdb\" eingefügt werden\n" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, c-format msgid "key %08lX: query record failed\n" msgstr "Schlüssel %08lX: Satzabfrage fehlgeschlagen\n" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "Schlüssel %08lX: Ist bereits in geheimer Schlüsseltabelle\n" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "Schlüssel %08lX: Akzeptiert als vertrauenswürdiger Schlüssel.\n" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "enum_secret_keys fehlgeschlagen: %s\n" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "Schlüssel %08lX.%lu: Korrekte Unterschlüssel-Anbindung\n" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "Schlüssel %08lX.%lu: Ungültige Unterschlüssel-Anbindung\n" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "Schlüssel %08lX.%lu: Gültiger Schlüsselwiderruf\n" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "Schlüssel %08lX.%lu: Ungültiger Schlüsselwiderruf: %s\n" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "Schlüssel %08lX.%lu: Gültiger Unterschlüsselwiderruf\n" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 msgid "Good self-signature" msgstr "Korrekte Eigenbeglaubigung" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 msgid "Invalid self-signature" msgstr "Ungültige Eigenbeglaubigung" -#: g10/trustdb.c:1060 +#: g10/trustdb.c:1105 msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" "Gültiger User-ID-Widerruf ignoriert, da eine neuere Eigenbeglaubigung " "vorliegt" -#: g10/trustdb.c:1066 +#: g10/trustdb.c:1111 msgid "Valid user ID revocation" msgstr "Gültiger User-ID-Widerruf" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 msgid "Invalid user ID revocation" msgstr "Ungültiger User-ID-Widerruf" -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 msgid "Valid certificate revocation" msgstr "Gültiger Zerifikat-Widerruf" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 msgid "Good certificate" msgstr "Korrektes Zertifikat" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 msgid "Invalid certificate revocation" msgstr "Ungültiger Zertifikatswiderruf" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 msgid "Invalid certificate" msgstr "Ungültiges Zertifikat" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "Signatursatz %lu[%d] zeigt auf falschen Satz.\n" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 msgid "duplicated certificate - deleted" msgstr "Doppelte Zertifikate - entfernt" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "tdbio_search_dir fehlgeschlagen: %s\n" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: Einfügen fehlgeschlagen: %s\n" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: Einfügen fehlgeschlagen: %s\n" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: eingefügt\n" -#: g10/trustdb.c:1652 +#: g10/trustdb.c:1721 #, c-format msgid "error reading dir record: %s\n" msgstr "Fehler beim Lesen des Verz.Satzes: %s\n" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "%lu Schlüssel bearbeitet\n" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu Schlüssel mit Fehlern\n" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu Schlüssel eingefügt\n" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumerate Schlüsselblock fehlgeschlagen: %s\n" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "lid %lu: Dir-Satz ohne Schlüssel - übergangen\n" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "\t%lu wegen neuer Schlüssel\n" + +#: g10/trustdb.c:1796 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu Schlüssel übersprungen\n" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "\t%lu Schlüssel geändert\n" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "Huch, keine Schlüssel\n" -#: g10/trustdb.c:2061 +#: g10/trustdb.c:2147 msgid "Ooops, no user IDs\n" msgstr "Huch, keine User-IDs\n" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: Suche nach Dir-Satz fehlgeschlagen: %s\n" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "Schlüssel %08lX: 'trust record' einfügen fehlgeschlagen: %s\n" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "Schlüssel %08lX.%lu: in \"trustdb\" eingefügt\n" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "Schlüssel %08lX.%lu: wurde in der Zukunft erzeugt (Zeitreise oder Uhren " "stimmen nicht überein)\n" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "Schlüssel %08lX.%lu: verfallen am %s\n" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "Schlüssel %08lX.%lu: Vertrauensprüfung fehlgeschlagen: %s\n" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, c-format msgid "user '%s' not found: %s\n" msgstr "Benutzer '%s' nicht gefunden: %s\n" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "Problem, '%s' in der Trust-DB zu finden: %s\n" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "User '%s' ist nicht in der 'Trust'-Datenbank - wird eingefügt\n" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "konnte '%s' nicht in die 'Trust'-Datenbank hineintun: %s\n" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 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:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" +"Die Unterschrift konnte nicht überprüft werden.\n" +"Denken Sie daran, daß die Datei mit der Unterschrift (.sig oder .asc)\n" +"als erster in der Kommandozeile stehen sollte.\n" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "Eingabezeile %u ist zu lang oder es fehlt ein LF\n" + +#: g10/ringedit.c:303 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: Schlüsselbund kann nicht erzeugt werden: %s\n" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, c-format msgid "%s: keyring created\n" msgstr "%s: Schlüsselbund erstellt\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "Warnung: Zwei Dateien mit vertraulichem Inhalt vorhanden.\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, c-format msgid "%s is the unchanged one\n" msgstr "%s ist der Unveränderte\n" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "%s ist der Neue\n" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "Bitte diesen potentiellen Sicherheitsmangel beseitigen\n" @@ -3161,38 +3234,53 @@ "ist für Signaturen NICHT sicher genug!\n" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "Datei '%s' existiert bereits. " -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "Überschreiben (j/N)? " -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" msgstr "%s: unbekannte Dateinamenerweiterung\n" -#: g10/openfile.c:119 +#: g10/openfile.c:131 msgid "Enter new filename" msgstr "Neuen Dateinamen eingeben" -#: g10/openfile.c:160 +#: g10/openfile.c:172 msgid "writing to stdout\n" msgstr "Schreiben auf die Standardausgabe\n" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, c-format msgid "assuming signed data in `%s'\n" msgstr "die unterzeichneten Daten sind wohl in '%s'\n" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "%s: neue Optionendatei erstellt\n" +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: Verzeichnis kann nicht erzeugt werden: %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s: Verzeichnis erzeugt\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" +"Sie müssen GnuPG noch einmal starten, damit es die neue Optionsdatei liest\n" + #: g10/encr-data.c:66 #, c-format msgid "%s encrypted data\n" @@ -3471,7 +3559,7 @@ "übereinstimmen, wird das Mantra akzeptiert." #: g10/helptext.c:213 -msgid "Give the name fo the file to which the signature applies" +msgid "Give the name of the file to which the signature applies" msgstr "" "Geben Sie den Namen der Datei an, zu dem die abgetrennte Unterschrift gehört" @@ -3834,9 +3922,6 @@ #~ msgid "read error: %s\n" #~ msgstr "Lesefehler: %s\n" -#~ msgid "can't write to keyring: %s\n" -#~ msgstr "kann Schlüsselbund nicht schreiben: %s\n" - #~ msgid "writing keyblock\n" #~ msgstr "Schreiben des Schlüsselblocks\n" @@ -3873,9 +3958,6 @@ #~ msgid "chained sigrec %lu has a wrong owner\n" #~ msgstr "Verketteter Signatursatz %lu hat einen falschen Besitzer\n" - -#~ msgid "'%s' is not a valid long keyID\n" -#~ msgstr "'%s' ist keine gültige lange Schlüssel-ID\n" #~ msgid "key %08lX: no public key for trusted key - skipped\n" #~ msgstr "" diff -urN gnupg-1.0.0/po/es_ES.po gnupg-1.0.1/po/es_ES.po --- gnupg-1.0.0/po/es_ES.po Tue Sep 7 18:48:31 1999 +++ gnupg-1.0.1/po/es_ES.po Thu Dec 16 10:17:29 1999 @@ -1,17 +1,17 @@ # Spanish messages for gnupg -# Urko Lusa , 1998 +# Urko Lusa , 1998-99 # I've tried to mantain the terminology used by Armando Ramos # is his PGP 2.3.6i translation. # I also got inspiration from it.po by Marco d'Itri # -# GPG version: 0.9.7 +# GPG version: 1.0.0 msgid "" msgstr "" -"POT-Creation-Date: 1999-09-05 19:21+0200\n" -"PO-Revision-Date: 1999-06-06 18:33+0200\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" +"PO-Revision-Date: 1999-10-27 06:35+0200\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Date: 1998-11-13 10:49:25+0100\n" -"From: Urko Lusa \n" +"From: Urko Lusa \n" "Updated: 1998-01-12\n" "By: Luca Olivetti \n" "Xgettext-Options: --default-domain=gnupg --directory=.. --add-comments " @@ -26,11 +26,11 @@ msgid "Warning: using insecure memory!\n" msgstr "ATENCIÓN: ¡se está usando memoria insegura!\n" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "operación imposible sin memoria segura inicializada\n" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "(es posible que haya usado el programa incorrecto para esta tarea)\n" @@ -120,7 +120,7 @@ #: util/errors.c:69 msgid "no such user id" -msgstr "No existe el identificativo de usuario" +msgstr "No existe el ID de usuario" #: util/errors.c:70 msgid "secret key not available" @@ -196,7 +196,7 @@ #: util/errors.c:88 msgid "malformed user id" -msgstr "Identificativo de usuario mal formado" +msgstr "ID de usuario mal formado" #: util/errors.c:89 msgid "file close error" @@ -224,7 +224,7 @@ #: util/errors.c:95 msgid "file exists" -msgstr "El fichero existe. " +msgstr "El fichero existe." #: util/errors.c:96 msgid "weak key" @@ -232,7 +232,7 @@ #: util/errors.c:97 msgid "invalid argument" -msgstr "argumento no válido" +msgstr "Argumento no válido" #: util/errors.c:98 msgid "bad URI" @@ -244,11 +244,16 @@ #: util/errors.c:100 msgid "network error" -msgstr "error de red" +msgstr "Error de red" #: util/errors.c:102 msgid "not encrypted" -msgstr "no cifrado" +msgstr "No cifrado" + +#: util/errors.c:103 +#, fuzzy +msgid "not processed" +msgstr "se han procesado %lu claves\n" #: util/logger.c:218 #, c-format @@ -260,12 +265,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "Ha encontrado Vd. un bug... (%s:%d)\n" -#: cipher/random.c:452 +#: cipher/random.c:458 msgid "WARNING: using insecure random number generator!!\n" msgstr "" "ATENCIÓN: ¡se está usando un generador de números aleatorios inseguro!\n" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -291,7 +296,7 @@ "otro trabajo para que el sistema pueda recolectar más entropía\n" "(se necesitan %d bytes más).\n" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " @@ -299,138 +304,140 @@ "@Comandos:\n" " " -#: g10/g10.c:187 +#: g10/g10.c:191 msgid "|[file]|make a signature" msgstr "|[file]|hace una firma" -#: g10/g10.c:188 +#: g10/g10.c:192 msgid "|[file]|make a clear text signature" msgstr "|[file]|hace una firma en texto claro" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "hace una firma separada" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "cifra datos" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "cifra sólo con un cifrado simétrico" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" msgstr "sólo almacenar" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "descifra datos (predefinido)" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "verifica una firma" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "lista claves" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "lista claves y firmas" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "comprueba las firmas de las claves" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "lista claves y huellas dactilares" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "lista claves secretas" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "genera un nuevo par de claves" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" msgstr "elimina la clave del anillo público" -#: g10/g10.c:203 +#: g10/g10.c:209 #, fuzzy +msgid "remove key from the secret keyring" +msgstr "elimina la clave del anillo público" + +#: g10/g10.c:210 msgid "sign a key" msgstr "firma la clave" -#: g10/g10.c:204 -#, fuzzy +#: g10/g10.c:211 msgid "sign a key locally" msgstr "firma la clave localmente" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" msgstr "firma o modifica una clave" -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" msgstr "genera un certificado de revocación" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "exporta claves" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "exporta claves a un servidor de claves" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "importa claves desde un servidor de claves" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" msgstr "importa/fusiona claves" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "lista sólo la secuencia de paquetes" -#: g10/g10.c:216 +#: g10/g10.c:223 msgid "export the ownertrust values" msgstr "exporta los valores de confianza" -#: g10/g10.c:218 +#: g10/g10.c:225 msgid "import ownertrust values" msgstr "importa los valores de confianza" -#: g10/g10.c:220 -#, fuzzy +#: g10/g10.c:227 msgid "update the trust database" -msgstr "|[NOMBRES]|actualiza la base de datos de confianza" +msgstr "actualiza la base de datos de confianza" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "|[NOMBRES]|comprueba la base de datos de confianza" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" msgstr "arregla una base de datos de confianza dañada" -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "quita la armadura de un fichero o stdin" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "crea la armadura a un fichero o stdin" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "|algo [ficheros]|imprime resúmenes de mensaje" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" @@ -440,173 +447,174 @@ "Opciones:\n" " " -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" msgstr "crea una salida ascii con armadura" -#: g10/g10.c:233 +#: g10/g10.c:243 msgid "|NAME|encrypt for NAME" msgstr "|NOMBRE|cifra para NOMBRE" -#: g10/g10.c:236 -#, fuzzy +#: g10/g10.c:246 msgid "|NAME|use NAME as default recipient" -msgstr "|NOMBRE|usa NOMBRE como clave secreta por defecto" +msgstr "|NOMBRE|usa NOMBRE como destinatario por defecto" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" -msgstr "" +msgstr "usa la clave por defecto como destinatario" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "usa este usuario para firmar o descifrar" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" -msgstr "|N|establece nivel de compresión N (0 no comprime)" +msgstr "|N|nivel de compresión N (0 no comprime)" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "usa modo de texto canónico" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "usa como fichero de salida" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "prolijo" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "algo más discreto" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" -msgstr "" +msgstr "no usa la terminal en absoluto" -#: g10/g10.c:250 +#: g10/g10.c:260 msgid "force v3 signatures" msgstr "fuerza firmas v3" -#: g10/g10.c:251 +#: g10/g10.c:261 msgid "always use a MDC for encryption" msgstr "siempre usa un MCD para cifrar" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "no hace ningún cambio" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "proceso por lotes: nunca preguntar" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "asume \"sí\" en casi todas las preguntas" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "asume \"no\" en casi todas las preguntas" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "añade este anillo a la lista de anillos" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "añade este anillo secreto a la lista" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "|NOMBRE|usa NOMBRE como clave secreta por defecto" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "|SERVIDOR|usa este servidor de claves" -#: g10/g10.c:261 +#: g10/g10.c:271 msgid "|NAME|set terminal charset to NAME" msgstr "|NOMBRE|usa el juego de caracteres NOMBRE" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "lee opciones del fichero" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "establece los parámetros de depuración" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" msgstr "habilita depuración completa" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "|DF|escribe información de estado en descriptor DF" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "no escribe paquetes de comentario" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "(por defecto es 1)" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "(por defecto es 3)" -#: g10/g10.c:271 +#: g10/g10.c:281 msgid "|FILE|load extension module FILE" msgstr "|FICHERO|carga módulo de extensiones FICHERO" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "emula el modo descrito en la RFC1991" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" +"todas las opciones de paquete, cifrado y\n" +"resumen tipo OpenPGP" -#: g10/g10.c:274 +#: g10/g10.c:284 msgid "|N|use passphrase mode N" msgstr "|N|usa modo de contraseña N" -#: g10/g10.c:276 +#: g10/g10.c:286 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "" "|NOMBRE|usa algoritmo de resumen de mensaje NOMBRE\n" "para las contraseñas" -#: g10/g10.c:278 +#: g10/g10.c:288 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "" "|NOMBRE|usa el algoritmo de cifrado NOMBRE para las\n" "contraseñas" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "|NOMBRE|usa el algoritmo de cifrado NOMBRE" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "|NOMBRE|usa algoritmo de resumen de mensaje NOMBRE" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "|N|usa el algoritmo de compresión N" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" -msgstr "elimina el campo keyid de los paquetes cifrados" +msgstr "elimina campo keyid de los paquetes cifrados" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" -msgstr "" +msgstr "|NOMBRE=VALOR|usa estos datos de notación" -#: g10/g10.c:285 +#: g10/g10.c:295 msgid "" "@\n" "Examples:\n" @@ -626,15 +634,15 @@ " --list-keys [nombres] muestra las claves\n" " --fingerprint [nombres] muestra las huellas dactilares\n" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "Por favor, informe de posibles \"bugs\" a .\n" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Uso: gpg [opciones] [ficheros] (-h para ayuda)" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -644,7 +652,7 @@ "Firma, comprueba, cifra o descifra.\n" "La operación por defecto depende del tipo de datos de entrada.\n" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" @@ -652,269 +660,266 @@ "\n" "Algoritmos soportados:\n" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "uso: gpg [opciones] " -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "comandos incompatibles\n" -#: g10/g10.c:644 +#: g10/g10.c:668 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "NOTA: no existe el fichero de opciones predefinido `%s'\n" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "fichero de opciones `%s': %s\n" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "leyendo opciones desde `%s'\n" -#: g10/g10.c:835 +#: g10/g10.c:861 #, c-format msgid "%s is not a valid character set\n" msgstr "%s no es un juego de caracteres válido\n" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" -msgstr "" +msgstr "NOTA: ¡%s no es para uso normal!\n" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" -msgstr "" +msgstr "¡%s no permitido con %s!\n" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" -msgstr "" +msgstr "¡%s no tiene sentido con %s!\n" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "el algoritmo de cifrado seleccionado no es válido\n" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "el algoritmo de resumen seleccionado no es válido\n" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" -msgstr "" +msgstr "URL de política no válida\n" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "el algoritmo de compresión debe estar en el rango %d-%d\n" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed debe ser mayor que 0\n" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed debe ser mayor que 1\n" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "max-cert-depth debe estar en el rango 1-255\n" -#: g10/g10.c:950 +#: g10/g10.c:975 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "NOTA: el modo S2K simple (0) no es nada recomendable\n" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "modo S2K incorrecto; debe ser 0, 1 o 3\n" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "inicialización de la base de datos de confianza fallida: %s\n" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "--store [nombre_fichero]" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "--symmetric [nombre_fichero]" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "--encrypt [nombre_fichero]" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "--sign [nombre_fichero]" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nombre_fichero]" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" msgstr "--clearsign [nombre_fichero]" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "--decrypt [nombre_fichero]" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" -msgstr "" +msgstr "--sign-key id-usuario" -#: g10/g10.c:1120 -#, fuzzy +#: g10/g10.c:1150 msgid "--lsign-key user-id" -msgstr "--delete-key nombre_usuario" +msgstr "--lsign-key id-usuario" -#: g10/g10.c:1128 -#, fuzzy +#: g10/g10.c:1158 msgid "--edit-key user-id [commands]" -msgstr "--edit-key nombre_usuario [comandos]" +msgstr "--edit-key id-usuario [comandos]" -#: g10/g10.c:1144 -#, fuzzy +#: g10/g10.c:1174 msgid "--delete-secret-key user-id" -msgstr "--delete-secret-key nombre_usuario" +msgstr "--delete-secret-key id-usuario" -#: g10/g10.c:1147 -#, fuzzy +#: g10/g10.c:1177 msgid "--delete-key user-id" -msgstr "--delete-key nombre_usuario" +msgstr "--delete-key id-usuario" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "no puede abrirse `%s': %s\n" -#: g10/g10.c:1182 -#, fuzzy +#: g10/g10.c:1229 msgid "-k[v][v][v][c] [user-id] [keyring]" -msgstr "-k[v][v][v][c] [id_usuario] [anillo]" +msgstr "-k[v][v][v][c] [id-usuario] [anillo]" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "eliminación de armadura fallida: %s\n" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "creación de armadura fallida: %s\n" -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algoritmo de distribución no válido `%s'\n" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "[nombre_fichero]" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" -msgstr "Adelante, teclee su mensaje ...\n" +msgstr "Adelante, teclee su mensaje...\n" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" msgstr "no puede abrirse `%s'\n" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" -msgstr "" +msgstr "El primer caracter de una notación debe ser una letra o un subrayado\n" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" +"un nombre de notación debe tener sólo letras, dígitos, puntos o subrayados, " +"y acabar con un '='\n" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" -msgstr "" +msgstr "los puntos en una notación deben estar rodeados por otros caracteres\n" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" -msgstr "" +msgstr "un valor de notación no debe usar ningún caracter de control\n" #: g10/armor.c:296 #, c-format msgid "armor: %s\n" msgstr "armadura: %s\n" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "cabecera de armadura no válida: " -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "cabecera de armadura: " -#: g10/armor.c:337 +#: g10/armor.c:343 msgid "invalid clearsig header\n" msgstr "cabecera de firma clara no válida\n" -#: g10/armor.c:389 +#: g10/armor.c:395 msgid "nested clear text signatures\n" msgstr "firmas en texto claro anidadas\n" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "Línea con guiones no válida: " -#: g10/armor.c:512 +#: g10/armor.c:518 msgid "unexpected armor:" msgstr "armadura inesperada" -#: g10/armor.c:629 +#: g10/armor.c:635 #, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "caracteres no válidos radix64 %02x ignorados\n" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "Fin de fichero prematuro\n" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "Fin de suma de comprobación prematuro\n" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "Suma de comprobación mal creada\n" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "Error en suma de comprobación: %06lx - %06lx\n" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" msgstr "fin de fichero prematuro (en el cierre)\n" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "error en la línea de cierre\n" -#: g10/armor.c:1001 +#: g10/armor.c:1012 msgid "no valid OpenPGP data found.\n" msgstr "no se han encontrados datos OpenPGP válidos\n" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "armadura incorrecta: línea más larga de %d caracteres\n" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -924,14 +929,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 " importadas: %lu" +msgstr " Huella dactilar:" #: g10/pkclist.c:80 -#, fuzzy msgid "Fingerprint:" -msgstr "muestra huella dactilar" +msgstr "Huella dactilar:" #. a string with valid answers #: g10/pkclist.c:197 @@ -944,7 +947,7 @@ "No trust value assigned to %lu:\n" "%4u%c/%08lX %s \"" msgstr "" -"No hay confianza definida para el propietario %lu:\n" +"No hay confianza definida para %lu:\n" "%4u%c/%08lX %s \"" #: g10/pkclist.c:213 @@ -959,7 +962,7 @@ " 4 = I trust fully\n" " s = please show me more information\n" msgstr "" -"Por favor, decida su nivel de confianza para este que usuario\n" +"Por favor, decida su nivel de confianza para que este usuario\n" "verifique las claves de otros usuarios (mirando pasaportes,\n" "comprobando huellas dactilares en diferentes fuentes...)\n" "\n" @@ -1019,36 +1022,36 @@ "No se cambió ningún valor de confianza.\n" "\n" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "clave %08lX: ¡esta clave ha sido revocada!\n" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "¿Usar esta clave de todas formas? " -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "clave %08lX: ¡esta subclave ha sido revocada!\n" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: clave caducada\n" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "%08lX: no hay información para calcular la probabilidad de confianza\n" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: ¡Esta clave NO es de confianza!\n" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -1058,15 +1061,15 @@ "proprietario\n" "pero se acepta igualmente\n" -#: g10/pkclist.c:422 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "Esta clave probablemente pertenece a su proprietario\n" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "Esta clave nos pertenece\n" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -1078,66 +1081,66 @@ "\"sí\" a la siguiente pregunta.\n" "\n" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "ATENCIÓN: ¡Usando una clave no fiable!\n" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "ATENCIÓN: ¡Esta clave ha sido revocada por su propietario!\n" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" msgstr " Esto puede significar que la firma está falsificada.\n" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "ATENCIÓN: ¡Esta clave ha sido revocada por su propietario!\n" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "Nota: ¡Esta clave está caducada!\n" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "" "ATENCIÓN: ¡Esta clave no está certificada por una firma de confianza!\n" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" -msgstr " No hay indicios de que la firma pertenezca al propietario.\n" +msgstr " No hay indicios de que la firma pertenezca al propietario.\n" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "ATENCIÓN: ¡Esta clave NO es de confianza!\n" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" -msgstr " La firma es probablemente una FALSIFICACIÓN.\n" +msgstr " La firma es probablemente una FALSIFICACIÓN.\n" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" "ATENCIÓN: ¡Esta clave no está certificada con suficientes firmas de " "confianza!\n" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" -msgstr " No es seguro que la firma pertenezca al propietario.\n" +msgstr " No es seguro que la firma pertenezca al propietario.\n" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: ignorado: %s\n" -#: g10/pkclist.c:702 g10/pkclist.c:868 -#, fuzzy, c-format +#: g10/pkclist.c:708 g10/pkclist.c:875 +#, c-format msgid "%s: skipped: public key already present\n" -msgstr "%s: problema lectura del bloque de clave: %s\n" +msgstr "%s: ignorado: clave pública ya presente\n" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1145,98 +1148,95 @@ "No se ha especificado un ID de usuario (puede usar \"-r\")\n" "\n" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "Introduzca el ID de usuario: " -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "ID de usuario inexistente.\n" -#: g10/pkclist.c:756 -#, fuzzy +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" -msgstr "%s: problema lectura del bloque de clave: %s\n" +msgstr "ignorado: clave pública ya designada como destinataria por defecto\n" -#: g10/pkclist.c:778 -#, fuzzy +#: g10/pkclist.c:785 msgid "Public key is disabled.\n" -msgstr "la clave pública es %08lX\n" +msgstr "Clave pública deshabilitada.\n" -#: g10/pkclist.c:785 -#, fuzzy +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" -msgstr "%s: problema lectura del bloque de clave: %s\n" +msgstr "ignorado: clave pública ya designada con --encrypt-to\n" -#: g10/pkclist.c:816 -#, fuzzy, c-format +#: g10/pkclist.c:823 +#, c-format msgid "unknown default recipient `%s'\n" -msgstr "NOTA: no existe el fichero de opciones predefinido `%s'\n" +msgstr "desconocido el destinatario predefinido `%s'\n" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: error comprobando la clave: %s\n" -#: g10/pkclist.c:854 -#, fuzzy, c-format +#: g10/pkclist.c:861 +#, c-format msgid "%s: skipped: public key is disabled\n" -msgstr "%s: problema lectura del bloque de clave: %s\n" +msgstr "%s: ignorado: clave pública deshabilitada\n" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "no hay direcciones válidas\n" -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "escribiendo autofirma\n" -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "escribiendo la firma de comprobación de clave\n" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "Por favor seleccione tipo de clave deseado:\n" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr " (%d) DSA y ElGamal (por defecto)\n" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr " (%d) DSA (sólo firma)\n" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr " (%d) ElGamal (sólo cifrado)\n" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr " (%d) ElGamal (firma y cifrado)\n" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr " (%d) ElGamal en un paquete v3\n" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "Su elección: " -#: g10/keygen.c:409 +#: g10/keygen.c:410 msgid "Do you really want to create a sign and encrypt key? " msgstr "¿De verdad quiere crear una clave de firma y cifrado? " -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "Elección no válida.\n" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1249,15 +1249,15 @@ " el tamaño por defecto es 1024 bits\n" " el tamaño máximo recomendado es 2048 bits\n" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "¿De qué tamaño quiere la clave (1024)? " -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "DSA sólo permite tamaños desde 512 a 1024\n" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "tamaño insuficiente; 768 es el valor mínimo permitido\n" @@ -1269,12 +1269,12 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "tamaño excesivo; %d es el máximo valor permitido.\n" -#: g10/keygen.c:471 +#: g10/keygen.c:472 msgid "" "Keysizes larger than 2048 are not suggested because\n" "computations take REALLY long!\n" @@ -1282,11 +1282,11 @@ "No se recomiendan claves de más de 2048 bits porque\n" "el tiempo de computación es REALMENTE largo.\n" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "¿Seguro que quiere una clave de este tamaño? " -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" @@ -1295,21 +1295,21 @@ "teclado\n" "también son vulnerables a un ataque!\n" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "¿De verdad necesita una clave tan grande? " -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "El tamaño requerido es de %u bits\n" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "redondeados a %u bits\n" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1325,29 +1325,35 @@ " m = la clave caduca en n meses\n" " y = la clave caduca en n años\n" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "¿Validez de la clave (0)? " -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "valor no válido\n" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "La clave nunca caduca\n" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "La clave caduca el %s\n" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "¿Es correcto (s/n)? " -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1365,63 +1371,63 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "Nombre y apellidos: " -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "Caracter no válido en el nombre\n" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "El nombre no puede empezar con un número\n" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "El nombre debe tener al menos 5 caracteres\n" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "Dirección de correo electrónico: " -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" msgstr "Dirección no válida\n" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "Comentario: " -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "Caracter no válido en el comentario\n" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Está usando el juego de caracteres `%s'.\n" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" " \"%s\"\n" "\n" msgstr "" -"Ha seleccionado este identificativo de usuario:\n" +"Ha seleccionado este ID de usuario:\n" " \"%s\"\n" "\n" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "NnCcDdVvSs" -#: g10/keygen.c:699 +#: g10/keygen.c:703 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? " -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1429,11 +1435,11 @@ "Necesita una contraseña para proteger su clave secreta.\n" "\n" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "contraseña repetida incorrecta, inténtelo de nuevo.\n" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" @@ -1445,7 +1451,7 @@ "la opción \"--edit-key\".\n" "\n" -#: g10/keygen.c:786 +#: g10/keygen.c:790 msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" "some other action (type on the keyboard, move the mouse, utilize the\n" @@ -1458,34 +1464,33 @@ "generador de números aleatorios mayor oportunidad de recoger suficiente\n" "entropía.\n" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "La creación de claves sólo es posible en modo interactivo\n" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "El par de claves DSA tendrá 1024 bits.\n" -#: g10/keygen.c:870 -#, fuzzy +#: g10/keygen.c:874 msgid "Key generation canceled.\n" msgstr "Creación de claves cancelada.\n" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" msgstr "escribiendo certificado público en `%s'\n" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "escribiendo certificado privado en `%s'\n" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" msgstr "Claves pública y secreta creadas y firmadas.\n" -#: g10/keygen.c:960 +#: g10/keygen.c:964 msgid "" "Note that this key cannot be used for encryption. You may want to use\n" "the command \"--edit-key\" to generate a secondary key for this purpose.\n" @@ -1494,12 +1499,12 @@ "el comando \"--edit-key\" para crear una clave secundaria con este " "propósito.\n" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "Creación de la clave fallida: %s\n" -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" @@ -1507,7 +1512,7 @@ "clave pública creada %lu segundos en el futuro (salto en el tiempo o\n" "problemas con el reloj)\n" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" @@ -1515,12 +1520,12 @@ "clave pública creada %lu segundos en el futuro (salto en el tiempo o\n" "problemas con el reloj)\n" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 msgid "Really create? " msgstr "¿Crear de verdad? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: no puede abrirse: %s\n" @@ -1530,17 +1535,17 @@ msgid "error creating passphrase: %s\n" msgstr "error creando contraseña: %s\n" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, c-format msgid "%s: WARNING: empty file\n" msgstr "%s: ATENCIÓN: fichero vacío\n" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "leyendo desde `%s'\n" -#: g10/encode.c:482 +#: g10/encode.c:483 #, c-format msgid "%s/%s encrypted for: %s\n" msgstr "%s/%s cifrado para: %s\n" @@ -1572,262 +1577,260 @@ msgid "too many entries in unk cache - disabled\n" msgstr "demasiados registros en la cache unk - anulada\n" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" -msgstr "" +msgstr "No puede usarse clave RSA en esta versión\n" -#: g10/getkey.c:1291 g10/getkey.c:1330 -#, fuzzy +#: g10/getkey.c:1296 g10/getkey.c:1335 msgid "No key for user ID\n" -msgstr "clave %08lX: no hay identificativo de usuario\n" +msgstr "No hay clave para tal usuario\n" -#: g10/getkey.c:1369 g10/getkey.c:1409 -#, fuzzy +#: g10/getkey.c:1374 g10/getkey.c:1414 msgid "No user ID for key\n" -msgstr "no hay clave secreta\n" +msgstr "No hay clave secreta para tal usuario\n" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "usando clave secundaria %08lX en vez de clave primaria %08lX\n" -#: g10/import.c:118 +#: g10/import.c:124 #, c-format msgid "can't open `%s': %s\n" msgstr "no puede abrirse `%s': %s\n" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "ignorando bloque de tipo %d\n" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "hasta ahora se han procesado %lu claves\n" -#: g10/import.c:174 +#: g10/import.c:190 #, c-format msgid "error reading `%s': %s\n" msgstr "error leyendo `%s': %s\n" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr " Cantidad total procesada: %lu\n" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr " sin identificativo: %lu\n" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr " importadas: %lu" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr " sin cambios: %lu\n" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr " nuevos identificativos: %lu\n" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr " nuevas subclaves: %lu\n" -#: g10/import.c:193 +#: g10/import.c:216 #, c-format msgid " new signatures: %lu\n" msgstr " nuevas firmas: %lu\n" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr " nuevas revocaciones: %lu\n" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr " claves secretas leídas: %lu\n" -#: g10/import.c:199 +#: g10/import.c:222 #, c-format msgid " secret keys imported: %lu\n" msgstr " claves secretas importadas: %lu\n" -#: g10/import.c:201 +#: g10/import.c:224 #, c-format msgid " secret keys unchanged: %lu\n" msgstr "claves secretas sin cambios: %lu\n" -#: g10/import.c:362 g10/import.c:554 -#, fuzzy, c-format +#: g10/import.c:383 g10/import.c:575 +#, c-format msgid "key %08lX: no user ID\n" msgstr "clave %08lX: no hay identificativo de usuario\n" -#: g10/import.c:376 -#, fuzzy, c-format +#: g10/import.c:397 +#, c-format msgid "key %08lX: no valid user IDs\n" msgstr "clave %08lX: no hay identificativos de usuario válidos\n" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "esto puede ser debido a la ausencia de autofirma\n" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "clave %08lX: clave pública no encontrada: %s\n" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "no hay anillo público por defecto\n" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "escribiendo en `%s'\n" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "no puede bloquearse el anillo `%s': %s\n" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "error escribiendo anillo `%s': %s\n" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" msgstr "clave %08lX: clave pública importada\n" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "clave %08lX: no se corresponde con nuestra copia\n" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "clave %08lX: no puede localizarse el bloque de claves original: %s\n" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "clave %08lX: no puede leerse el bloque de claves original: %s\n" -#: g10/import.c:469 -#, fuzzy, c-format +#: g10/import.c:490 +#, c-format msgid "key %08lX: 1 new user ID\n" msgstr "clave %08lX: 1 nuevo identificativo de usuario\n" -#: g10/import.c:472 -#, fuzzy, c-format +#: g10/import.c:493 +#, c-format msgid "key %08lX: %d new user IDs\n" msgstr "clave %08lX: %d nuevos identificativos de usuario\n" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "clave %08lX: 1 nueva firma\n" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "clave %08lX: %d nuevas firmas\n" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "clave %08lX: 1 nueva subclave\n" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "clave %08lX: %d nuevas subclaves\n" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "clave %08lX: sin cambios\n" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "clave %08lX: clave secreta importada\n" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "clave %08lX: ya estaba en el anillo secreto\n" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "clave %08lX: clave secreta no encontrada: %s\n" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" "clave %08lX: falta la clave pública - imposibile applicar el\n" "certificado de revocación\n" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "clave %08lX: certificado de revocación no válido: %s - rechazado\n" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "clave %08lX: certificado de revocación importado\n" -#: g10/import.c:711 -#, fuzzy, c-format +#: g10/import.c:741 +#, c-format msgid "key %08lX: no user ID for signature\n" msgstr "clave %08lX: no hay identificativo de usuario para la firma\n" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "clave %08lX: algoritmo de clave pública no soportado\n" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "clave %08lX: autofirma no válida\n" -#: g10/import.c:734 +#: g10/import.c:764 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "clave %08lX: no hay subclave para unir\n" -#: g10/import.c:743 +#: g10/import.c:773 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "clave %08lX.%lu: unión de subclave no válida\n" -#: g10/import.c:769 -#, fuzzy, c-format +#: g10/import.c:800 +#, c-format msgid "key %08lX: accepted non self-signed user ID '" -msgstr "clave %08lX: ignorado identificativo de usuario '" +msgstr "clave %08lX: aceptado ID de usuario sin autofirma '" -#: g10/import.c:798 -#, fuzzy, c-format +#: g10/import.c:829 +#, c-format msgid "key %08lX: skipped user ID '" -msgstr "clave %08lX: ignorado identificativo de usuario '" +msgstr "clave %08lX: ignorado ID de usuario '" -#: g10/import.c:821 +#: g10/import.c:852 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "clave %08lX: subclave ignorada\n" @@ -1836,33 +1839,33 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "clave %08lX: firma no exportable (clase %02x) - ignorada\n" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "" "clave %08lX: certificado de revocación en lugar equivocado - ignorado\n" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "clave %08lX: certificado de revocación no valido: %s - ignorado\n" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "clave %08lX: detectado usuario duplicado - fusionada\n" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "clave %08lX: certificado de revocación añadido\n" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "clave %08lX: nuestra copia no tiene autofirma\n" @@ -1908,12 +1911,11 @@ msgstr "%d firmas no comprobadas por causa de un error\n" #: g10/keyedit.c:231 -#, fuzzy msgid "1 user ID without valid self-signature detected\n" msgstr "Detectado 1 identificativo de usuario sin autofirma válida\n" #: g10/keyedit.c:233 -#, fuzzy, c-format +#, c-format msgid "%d user IDs without valid self-signatures detected\n" msgstr "Detectados %d identificativos de usuario sin autofirma válida\n" @@ -1949,7 +1951,7 @@ msgid "Really sign? " msgstr "¿Firmar de verdad? " -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "firma fallida: %s\n" @@ -2028,7 +2030,6 @@ msgstr "" #: g10/keyedit.c:570 -#, fuzzy msgid "list key and user IDs" msgstr "lista clave e identificativos de usuario" @@ -2041,7 +2042,6 @@ msgstr "" #: g10/keyedit.c:572 -#, fuzzy msgid "select user ID N" msgstr "selecciona identificativo de usuario N" @@ -2078,9 +2078,8 @@ msgstr "" #: g10/keyedit.c:578 -#, fuzzy msgid "lsign" -msgstr "firmando:" +msgstr "" #: g10/keyedit.c:578 msgid "sign the key locally" @@ -2095,7 +2094,6 @@ msgstr "" #: g10/keyedit.c:580 -#, fuzzy msgid "add a user ID" msgstr "añade un identificativo de usuario" @@ -2104,7 +2102,6 @@ msgstr "" #: g10/keyedit.c:581 -#, fuzzy msgid "delete user ID" msgstr "borra un identificativo de usuario" @@ -2125,14 +2122,12 @@ msgstr "borra una clave secundaria" #: g10/keyedit.c:584 -#, fuzzy msgid "delsig" -msgstr "firmando:" +msgstr "" #: g10/keyedit.c:584 -#, fuzzy msgid "delete signatures" -msgstr "lista firmas" +msgstr "borra firmas" #: g10/keyedit.c:585 msgid "expire" @@ -2199,18 +2194,16 @@ msgstr "" #: g10/keyedit.c:594 -#, fuzzy msgid "disable a key" -msgstr "Clave incorrecta" +msgstr "deshabilita una clave" #: g10/keyedit.c:595 msgid "enable" msgstr "" #: g10/keyedit.c:595 -#, fuzzy msgid "enable a key" -msgstr "Clave incorrecta" +msgstr "habilita una clave" #: g10/delkey.c:107 g10/keyedit.c:614 msgid "can't do that in batchmode\n" @@ -2231,12 +2224,10 @@ msgstr "Se necesita la clave secreta para hacer esto.\n" #: g10/keyedit.c:758 -#, fuzzy msgid "Really sign all user IDs? " msgstr "¿Firmar realmente todos los identificativos de usuario? " #: g10/keyedit.c:759 -#, fuzzy msgid "Hint: Select the user IDs to sign\n" msgstr "Sugerencia: seleccione los identificativos de usuario a firmar\n" @@ -2246,22 +2237,18 @@ msgstr "actualización de confianza fallida: %s\n" #: g10/keyedit.c:797 g10/keyedit.c:818 -#, fuzzy msgid "You must select at least one user ID.\n" msgstr "Debe seleccionar por lo menos un identificativo de usuario.\n" #: g10/keyedit.c:799 -#, fuzzy msgid "You can't delete the last user ID!\n" msgstr "¡No puede borrar el último identificativo de usuario!\n" #: g10/keyedit.c:802 -#, fuzzy msgid "Really remove all selected user IDs? " msgstr "¿Borrar realmente todos los identificativos seleccionados? " #: g10/keyedit.c:803 -#, fuzzy msgid "Really remove this user ID? " msgstr "¿Borrar realmente este identificativo? " @@ -2311,84 +2298,79 @@ msgid "Invalid command (try \"help\")\n" msgstr "Comando no válido (pruebe \"help\")\n" -#: g10/keyedit.c:1065 -#, fuzzy +#: g10/keyedit.c:1068 msgid "This key has been disabled" -msgstr "Nota: ¡Esta clave está caducada!\n" +msgstr "Esta clave está deshabilitada" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" -msgstr "" +msgstr "¿Borrar esta firma correcta? (s/N/q)" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" -msgstr "" +msgstr "¿Borrar esta firma no válida? (s/N/q)" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 msgid "Delete this unknown signature? (y/N/q)" -msgstr "" +msgstr "¿Borrar esta firma desconocida? (s/N/q)" -#: g10/keyedit.c:1350 -#, fuzzy +#: g10/keyedit.c:1353 msgid "Really delete this self-signature? (y/N)" -msgstr "¿Crear los certificados de revocación realmente? (s/N)" +msgstr "¿Borrar realmente esta autofirma? (s/N)" -#: g10/keyedit.c:1364 -#, fuzzy, c-format +#: g10/keyedit.c:1367 +#, c-format msgid "Deleted %d signature.\n" -msgstr "%d firmas incorrectas\n" +msgstr "%d firmas borradas.\n" -#: g10/keyedit.c:1365 -#, fuzzy, c-format +#: g10/keyedit.c:1368 +#, c-format msgid "Deleted %d signatures.\n" -msgstr "%d firmas incorrectas\n" +msgstr "%d firmas borradas\n" -#: g10/keyedit.c:1368 -#, fuzzy +#: g10/keyedit.c:1371 msgid "Nothing deleted.\n" -msgstr "ATENCIÓN: no se ha exportado nada\n" +msgstr "No se borró nada\n" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "Por favor, quite la selección de las claves secretas.\n" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 msgid "Please select at most one secondary key.\n" msgstr "Por favor, seleccione como máximo una clave secundaria.\n" -#: g10/keyedit.c:1447 -#, fuzzy +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "Cambiando caducidad de clave secundaria.\n" -#: g10/keyedit.c:1449 -#, fuzzy +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "Cambiando caducidad de clave primaria.\n" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "No puede cambiar la fecha de caducidad de una clave v3\n" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "No hay firma correspondiente en anillo secreto\n" -#: g10/keyedit.c:1566 -#, fuzzy, c-format +#: g10/keyedit.c:1569 +#, c-format msgid "No user ID with index %d\n" msgstr "No hay ningún identificativo de usuario con el índice %d\n" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "No hay ninguna clave secundaria con el índice %d\n" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 msgid "user ID: \"" msgstr "ID de usuario: \"" -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, c-format msgid "" "\"\n" @@ -2397,40 +2379,34 @@ "\"\n" "firmada con su clave %08lX el %s\n" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 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 +#: g10/keyedit.c:1743 msgid "You have signed these user IDs:\n" -msgstr "¡No puede borrar el último identificativo de usuario!\n" +msgstr "Ha firmado los siguientes IDs de usuario:\n" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 -#, fuzzy, c-format +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format msgid " signed by %08lX at %s\n" -msgstr "" -"\"\n" -"firmada con su clave %08lX el %s\n" +msgstr " firmada por %08lX el %s\n" -#: g10/keyedit.c:1759 -#, fuzzy, c-format +#: g10/keyedit.c:1762 +#, c-format msgid " revoked by %08lX at %s\n" -msgstr "" -"\"\n" -"firmada con su clave %08lX el %s\n" +msgstr " revocada por %08lX el %s\n" -#: g10/keyedit.c:1779 -#, fuzzy +#: g10/keyedit.c:1782 msgid "You are about to revoke these signatures:\n" -msgstr "¿Revocar realmente las claves seleccionadas? " +msgstr "Va Vd. a revocar las siguientes firmas:\n" -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 msgid "Really create the revocation certificates? (y/N)" msgstr "¿Crear los certificados de revocación realmente? (s/N)" -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 msgid "no secret key\n" msgstr "no hay clave secreta\n" @@ -2443,93 +2419,100 @@ msgid "public key encrypted data: good DEK\n" msgstr "datos cifrados de la clave pública: DEK bueno\n" -#: g10/mainproc.c:275 -#, fuzzy, c-format +#: g10/mainproc.c:277 +#, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" -msgstr "clave %2$s de %1$u bits, ID %3$08lX, creada el %4$s" +msgstr "cifrado con clave %2$s de %1$u bits, ID %3$08lX, creada el %4$s\n" -#: g10/mainproc.c:285 -#, fuzzy, c-format +#: g10/mainproc.c:287 +#, c-format msgid "encrypted with %s key, ID %08lX\n" -msgstr "Firma creada %.*s usando identificativo de clave %s %08lX\n" +msgstr "cifrado con clave %s, ID %08lX\n" -#: g10/mainproc.c:291 -#, fuzzy +#: g10/mainproc.c:293 msgid "no secret key for decryption available\n" -msgstr "Clave secreta no disponible" +msgstr "clave secreta para descifrado no disponible\n" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "descifrado de la clave pública fallido: %s\n" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 msgid "decryption okay\n" msgstr "descifrado correcto\n" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "ATENCIÓN: ¡el mensaje cifrado ha sido manipulado!\n" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "descifrado fallido: %s\n" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTA: el remitente solicitó \"sólo-para-tus-ojos\"\n" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "nombre fichero original='%.*s'\n" -#: g10/mainproc.c:587 g10/mainproc.c:596 -#, fuzzy +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "" + +#: g10/mainproc.c:598 g10/mainproc.c:607 msgid "WARNING: invalid notation data found\n" -msgstr "no se han encontrados datos OpenPGP válidos\n" +msgstr "ATENCIÓN: encontrados datos de notación no válidos\n" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " -msgstr "" +msgstr "Notación: " -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " -msgstr "" +msgstr "Política: " -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "suprimida la verificación de la firma\n" -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" -msgstr "Firma creada %.*s usando identificativo de clave %s %08lX\n" +msgstr "Firma creada el %.*s usando clave %s ID %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "Firma INCORRECTA de \"" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "Firma correcta de \"" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr "también conocido como \"" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" msgstr "Imposible comprobar la firma: %s\n" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1191 +#, fuzzy, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "Clase de firma desconocida" + +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "firma viejo estilo (PGP 2.x)\n" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "paquete raíz no válido detectado en proc_tree()\n" @@ -2560,12 +2543,12 @@ "este algoritmo de cifrado está en desuso, considere el uso de uno más " "estándar.\n" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "no puedo manejar el algoritmo de clave pública %d\n" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "el subpaquete de tipo %d tiene el bit crítico activado\n" @@ -2591,9 +2574,8 @@ msgstr "(ID clave primaria %08lX)" #: g10/passphrase.c:190 -#, fuzzy msgid "can't query password in batchmode\n" -msgstr "imposible hacer esto en modo de proceso por lotes\n" +msgstr "imposible pedir contraseña en modo de proceso por lotes\n" #: g10/passphrase.c:194 msgid "Enter passphrase: " @@ -2607,6 +2589,11 @@ msgid "data not saved; use option \"--output\" to save it\n" msgstr "datos no grabados; use la opción \"--output\" para grabarlos\n" +#: g10/plaintext.c:311 +#, fuzzy +msgid "Detached signature.\n" +msgstr "%d firmas borradas.\n" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "Introduzca el nombre del fichero de datos: " @@ -2638,6 +2625,45 @@ msgid "NOTE: cipher algorithm %d not found in preferences\n" msgstr "NOTA: algoritmo de cifrado %d no encontrado en las preferencias\n" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "no puede escribirse en el anillo: %s\n" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "'%s' no es un identificativo largo de clave válido\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "no puede abrirse `%s': %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "error leyendo `%s': %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + #: g10/seckey-cert.c:55 #, c-format msgid "protection algorithm %d is not supported\n" @@ -2653,7 +2679,7 @@ #: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" -msgstr "asumiendo firma mala debido a un bit crítico desconocido\n" +msgstr "asumiendo MDC incorrecto debido a un bit crítico desconocido\n" #: g10/sig-check.c:295 msgid "" @@ -2679,12 +2705,12 @@ #: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" -msgstr "asumiendo firma mala debido a un bit crítico desconocido\n" +msgstr "asumiendo firma incorrecta debido a un bit crítico desconocido\n" #: g10/sign.c:132 #, c-format msgid "%s signature from: %s\n" -msgstr "firma %s de %s\n" +msgstr "firma %s de: %s\n" #: g10/sign.c:263 g10/sign.c:575 #, c-format @@ -2705,464 +2731,466 @@ msgid "can't handle text lines longer than %d characters\n" msgstr "no se pueden manejar líneas de texto de más de %d caracteres\n" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format msgid "input line longer than %d characters\n" msgstr "línea de longitud superior a %d caracteres\n" -#: g10/tdbio.c:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, 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:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, 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" +"resgistro base de datos de confianza %lu: escritura fallida (n=%d): %s\n" -#: g10/tdbio.c:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "transacción en la base de datos de confianza demasiado grande\n" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: no puede abrirse: %s\n" -#: 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:304 g10/tdbio.c:448 -#, c-format -msgid "%s: directory created\n" -msgstr "%s: directorio creado\n" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, 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:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: no puede crearse: %s\n" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, c-format msgid "%s: can't create lock\n" msgstr "%s: no puede crearse bloqueo\n" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, 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:491 +#: g10/tdbio.c:477 #, 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:494 +#: g10/tdbio.c:480 #, c-format msgid "%s: trustdb created\n" msgstr "%s: se ha creado base de datos de confianza\n" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: base de datos de confianza no válida\n" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, 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:572 +#: g10/tdbio.c:558 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: error actualizando el registro de versión: %s\n" -#: 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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: error leyendo registro de versión: %s\n" -#: g10/tdbio.c:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: error escribiendo registro de versión: %s\n" -#: g10/tdbio.c:1247 +#: g10/tdbio.c:1235 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "base de datos de confianza: fallo lseek: %s\n" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, 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:1276 +#: g10/tdbio.c:1264 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: no es una base de datos de confianza\n" -#: g10/tdbio.c:1292 +#: g10/tdbio.c:1280 #, 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:1297 +#: g10/tdbio.c:1285 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versión del fichero %d no válida\n" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: error leyendo registro libre: %s\n" -#: g10/tdbio.c:1609 +#: g10/tdbio.c:1597 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: error escribiendo registro de directorio: %s\n" -#: g10/tdbio.c:1619 +#: g10/tdbio.c:1607 #, 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:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: fallo al añadir un registro: %s\n" -#: g10/tdbio.c:1760 -#, fuzzy +#: g10/tdbio.c:1748 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "La base de datos de confianza está dañada. Por favor, ejecute\n" -"\"gpgm --fix-trust-db\".\n" +"\"gpg --fix-trust-db\".\n" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "registro de confianza %lu, petición tipo %d: fallo lectura: %s\n" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "registro de confianza %lu, tipo %d: fallo escritura: %s\n" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "registro de confianza %lu: fallo al borrar: %s\n" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "base de datos de confianza: fallo sincronización: %s\n" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "error leyendo registro de directorio del LID %lu: %s\n" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "lid %lu: esperaba registro directorio, encontrado tipo %d\n" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "no hay clave primaria para el LID %lu\n" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "error leyendo clave primaria para el LID %lu: %s\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record fallida: %s\n" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "NOTA: la clave secreta %08lX NO está protegida.\n" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "clave %08lX: clave secreta sin clave pública - ignorada\n" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "clave %08lX: las claves pública y secreta no se corresponden\n" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "clave %08lX: imposible incluirla en la base de datos de confianza\n" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, c-format msgid "key %08lX: query record failed\n" msgstr "clave %08lX: petición de registro fallida\n" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "clave %08lX: ya está en la tabla de confianza\n" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "clave %08lX: aceptada como clave de confianza.\n" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, c-format msgid "enumerate secret keys failed: %s\n" -msgstr "enum_secret_keys fallido: %s\n" +msgstr "enumeración de claves secretas fallida: %s\n" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" -msgstr "clave %08lX.%lu: buena unión de subclave\n" +msgstr "clave %08lX.%lu: unión de subclave válida\n" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" -msgstr "clave %08lX.%lu: unión de subclave no válida\n" +msgstr "clave %08lX.%lu: unión de subclave no válida: %s\n" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "clave %08lX.%lu: revocación de clave válida\n" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "clave %08lX.%lu: revocación de clave no válida: %s\n" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "clave %08lX.%lu: revocación de subclave válida\n" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 msgid "Good self-signature" -msgstr "Autofirma buena" +msgstr "Autofirma válida" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 msgid "Invalid self-signature" msgstr "Autofirma no válida" -#: g10/trustdb.c:1060 -#, fuzzy +#: g10/trustdb.c:1105 msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" -"Revocación válida de identificativo de usuario ignorada debido a una " -"autofirma más reciente\n" +"Revocación válida de ID de usuario ignorada debido a autofirma más reciente" -#: g10/trustdb.c:1066 -#, fuzzy +#: g10/trustdb.c:1111 msgid "Valid user ID revocation" -msgstr "Revocación identificativo de usuario válida.\n" +msgstr "Revocación de ID de usuario válida" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 msgid "Invalid user ID revocation" -msgstr "Revocación identificativo de usuario no válida." +msgstr "Revocación de ID de usuario no válida." -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 msgid "Valid certificate revocation" msgstr "Revocación de certificado válida" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 msgid "Good certificate" -msgstr "Certificado bueno" +msgstr "Certificado correcto" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 msgid "Invalid certificate revocation" msgstr "Certificado de revocación incorrecto" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 msgid "Invalid certificate" msgstr "Certificado incorrecto" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "registro de firma %lu[%d] apunta al registro equivocado.\n" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 msgid "duplicated certificate - deleted" msgstr "certificado duplicado - eliminado" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "tdbio_search_dir fallida: %s\n" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: inserción fallida: %s\n" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: inserción fallida: %s\n" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: insertada\n" -#: g10/trustdb.c:1652 -#, fuzzy, c-format +#: g10/trustdb.c:1721 +#, c-format msgid "error reading dir record: %s\n" -msgstr "error buscando registro de directorio: %s\n" +msgstr "error leyendo registro de directorio: %s\n" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "se han procesado %lu claves\n" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu claves con errores\n" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu claves insertadas\n" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumeración bloques de clave fallido: %s\n" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "lid %lu: registro de directiorio sin clave - ignorado\n" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, fuzzy, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "clave %08lX: %d nuevas subclaves\n" + +#: g10/trustdb.c:1796 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu claves ignoradas\n" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "\t%lu claves actualizadas\n" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "Oh oh, no hay claves\n" -#: g10/trustdb.c:2061 -#, fuzzy +#: g10/trustdb.c:2147 msgid "Ooops, no user IDs\n" -msgstr "Oh oh, no hay identificativos de usuario\n" +msgstr "Oh oh, no hay ningún ID de usuario\n" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: búsqueda registro directorio fallida: %s\n" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "clave %08lX: inserción del registro de confianza fallida: %s\n" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "clave %08lX.%lu: incluida en la base de datos de confianza\n" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "clave %08lX.%lu: creada en el futuro (salto en el tiempo o\n" "problemas con el reloj)\n" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "clave %08lX.%lu: caducada el %s\n" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "clave %08lX.%lu: comprobación de confianza fallida: %s\n" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, c-format msgid "user '%s' not found: %s\n" msgstr "usuario '%s' no encontrado: %s\n" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problema buscando '%s' en la tabla de confianza: %s\n" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "usuario '%s' no está en la tabla de confianza - insertando\n" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "fallo al poner '%s' en la tabla de confianza: %s\n" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 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:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "" + +#: g10/ringedit.c:303 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: no se puede crear el anillo: %s\n" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, c-format msgid "%s: keyring created\n" msgstr "%s: anillo creado\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "ATENCIÓN: existen 2 ficheros con información confidencial.\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, c-format msgid "%s is the unchanged one\n" msgstr "%s es el que no se ha modificado\n" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "%s es el nuevo\n" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "Por favor arregle este posible fallo de seguridad\n" #: g10/skclist.c:88 g10/skclist.c:125 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n" -msgstr "" +msgstr "clave no marcada como insegura - no puede usarse con el pseudo RNG\n" #: g10/skclist.c:113 #, c-format @@ -3179,39 +3207,52 @@ "para las firmas\n" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "El fichero `%s' ya existe. " -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "¿Sobreescribir (s/N)? " -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" -msgstr "" +msgstr "%s: sufijo desconocido\n" -#: g10/openfile.c:119 -#, fuzzy +#: g10/openfile.c:131 msgid "Enter new filename" -msgstr "--store [nombre_fichero]" +msgstr "Introduzca nuevo nombre de fichero" -#: g10/openfile.c:160 +#: g10/openfile.c:172 msgid "writing to stdout\n" msgstr "escribiendo en stdout\n" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, c-format msgid "assuming signed data in `%s'\n" msgstr "asumiendo que hay datos firmados en `%s'\n" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "%s: se ha creado un nuevo fichero de opciones\n" +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: no puede crearse el directorio: %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s: directorio creado\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" + #: g10/encr-data.c:66 #, c-format msgid "%s encrypted data\n" @@ -3240,27 +3281,24 @@ "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" +msgstr "¡hay una clave secreta para esta clave pública!\n" #: g10/delkey.c:95 msgid "use option \"--delete-secret-key\" to delete it first.\n" -msgstr "" +msgstr "use la opción \"--delete-secret-key\" para borrarla antes.\n" #: 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" +msgstr "imposible hacer esto en modo de proceso por lotes sin \"--yes\"\n" #: g10/delkey.c:133 -#, fuzzy msgid "Delete this key from the keyring? " -msgstr "elimina la clave del anillo público" +msgstr "¿Eliminar esta clave del anillo? " #: g10/delkey.c:141 msgid "This is a secret key! - really delete? " -msgstr "" +msgstr "¡Esta es una clave secreta! ¿Eliminar realmente? " #: g10/helptext.c:47 msgid "" @@ -3268,19 +3306,25 @@ "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 "" +"Está en su mano asignar un valor aquí. Dicho valor nunca será exportado a\n" +"terceros. Es necesario para implementar la red de confianza, no tiene nada\n" +"que ver con la red de certificados (implícitamente creada)." #: g10/helptext.c:53 msgid "If you want to use this revoked key anyway, answer \"yes\"." -msgstr "" +msgstr "Si quiere usar esta clave revocada de todos modos, conteste \"sí\"." #: g10/helptext.c:57 msgid "If you want to use this untrusted key anyway, answer \"yes\"." msgstr "" +"Si quiere usar esta clave no confiable de todos modos, conteste \"sí\"." #: g10/helptext.c:61 msgid "" "Enter the user ID of the addressee to whom you want to send the message." msgstr "" +"Introduzca el ID de usuario de la dirección a la que quiere enviar el " +"mensaje." #: g10/helptext.c:65 msgid "" @@ -3302,6 +3346,21 @@ "this is the reason why the encryption only ElGamal key is not available in\n" "this menu." msgstr "" +"Seleccione el algoritmo a usar.\n" +"\n" +"DSA (también conocido como DSS) es el algoritmo de firma digital que sólo\n" +"puede usarse para firmas. Es el algoritmo sugerido porque la verificación\n" +"de firmas DSA es mucho más rápida que la de firmas ElGamal.\n" +"\n" +"ElGamal es un algoritmo que puede ser usado para firma y cifrado. OpenPGP\n" +"distingue entre dos tipos de estos algoritmos: para sólo cifrado y para\n" +"firma y cifrado. En realidad es lo mismo, pero se deben seleccionar ciertos\n" +"parámetros de una forma particular para crear una clave segura para firmas.\n" +"Este programa lo hace así, pero otras implementaciones de OpenPGP no tienen\n" +"porqué entender el tipo de firma y cifrado.\n" +"\n" +"La clave primaria debe ser una clave capaz de firmar, es por ello que la\n" +"opción de clave ElGamal sólo para cifrado no está disponible en este menú." #: g10/helptext.c:85 msgid "" @@ -3309,16 +3368,18 @@ "because they are not supported by all programs and signatures created\n" "with them are quite large and very slow to verify." msgstr "" +"Aunque estas claves están definidas en la RFC2440, no se sugiere su uso,\n" +"ya que no están soportadas por todos los programas y las firmas creadas\n" +"con ellas son bastante grandes y lentas de verificar." #: g10/helptext.c:92 -#, fuzzy msgid "Enter the size of the key" -msgstr "Introduzca el ID de usuario: " +msgstr "Introduzca la longitud de la clave" #: 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 \"sí\" o \"no\"" #: g10/helptext.c:106 msgid "" @@ -3327,19 +3388,24 @@ "get a good error response - instead the system tries to interpret\n" "the given value as an interval." msgstr "" +"Introduzca el valor requerido conforme se muestra.\n" +"Es posible introducir una fecha ISO (AAAA-MM-DD), pero no se obtendrá una\n" +"buena respuesta a los errores; el sistema intentará interpretar el valor\n" +"introducido como un intervalo." #: g10/helptext.c:118 msgid "Enter the name of the key holder" -msgstr "" +msgstr "Introduzca el nombre del dueño de la clave" #: g10/helptext.c:123 msgid "please enter an optional but highly suggested email address" msgstr "" +"Introduzca una dirección de correo electrónico (opcional pero muy\n" +"recomendable)" #: g10/helptext.c:127 -#, fuzzy msgid "Please enter an optional comment" -msgstr "Introduzca el nombre del fichero de datos: " +msgstr "Introduzca un comentario opcional" #: g10/helptext.c:132 msgid "" @@ -3349,24 +3415,31 @@ "O to continue with key generation.\n" "Q to to quit the key generation." msgstr "" +"N para cambiar el nombre.\n" +"C para cambiar el comentario.\n" +"E para cambiar la dirección.\n" +"O para continuar con la generación de clave.\n" +"S para interrumpir la generación de clave." #: g10/helptext.c:141 msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key." -msgstr "" +msgstr "Responda \"sí\" (o sólo \"s\") para generar la subclave." #: g10/helptext.c:164 msgid "Answer \"yes\" is you want to sign ALL the user IDs" -msgstr "" +msgstr "Responda \"sí\" si quiere firmar TODOS los IDs de usuario" #: 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 \"sí\" si realmente quiere borrar este ID de usuario.\n" +"¡También se perderán todos los certificados!" #: g10/helptext.c:173 msgid "Answer \"yes\" if it is okay to delete the subkey" -msgstr "" +msgstr "Responda \"sí\" si quiere borrar esta subclave" #: g10/helptext.c:178 msgid "" @@ -3374,6 +3447,9 @@ "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 es una firma válida de esta clave. Normalmente no será deseable\n" +"borrar esta firma ya que puede ser importante para establecer una conexión\n" +"de confianza con la clave o con otra clave certificada por ésta." #: g10/helptext.c:183 msgid "" @@ -3382,12 +3458,16 @@ "know which key was used because this signing key might establish\n" "a trust connection through another already certified key." msgstr "" +"Esta firma no puede ser comprobada porque no tiene Vd. la clave\n" +"correspondiente. Debería posponer su borrado hasta conocer qué clave\n" +"se usó, ya que dicha clave podría establecer una conexión de confianza\n" +"a través de otra clave certificada." #: g10/helptext.c:189 msgid "" "The signature is not valid. It does make sense to remove it from\n" "your keyring." -msgstr "" +msgstr "Esta firma no es válida. Tiene sentido borrarla de su anillo." #: g10/helptext.c:193 msgid "" @@ -3397,30 +3477,40 @@ "only if this self-signature is for some reason not valid and\n" "a second one is available." msgstr "" +"Esta es una firma que une el ID de usuario a la clave. No suele ser una " +"buena\n" +"idea borrar dichas firmas. De hecho, GnuPG podría no ser capaz de volver a\n" +"usar esta clave. Así que bórrela tan sólo si esta autofirma no es válida " +"por\n" +"alguna razón y hay otra disponible." #: g10/helptext.c:202 msgid "" "Please enter the passhrase; this is a secret sentence \n" " Blurb, blurb,.... " -msgstr "" +msgstr "Por favor introduzca la contraseña" #: g10/helptext.c:209 msgid "Please repeat the last passphrase, so you are sure what you typed in." -msgstr "" +msgstr "Repita la última contraseña para asegurarse de lo que tecleó." #: g10/helptext.c:213 -msgid "Give the name fo the file to which the signature applies" -msgstr "" +#, fuzzy +msgid "Give the name of the file to which the signature applies" +msgstr "Introduzca el nombre del fichero al que corresponde la firma" #: g10/helptext.c:218 msgid "Answer \"yes\" if it is okay to overwrite the file" -msgstr "" +msgstr "Responda \"sí\" para sobreescribir el fichero" #: 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 "" +"Introduzca un nuevo nombre de fichero. Si pulsa ENTER se usará el fichero " +"por\n" +"omisión (mostrado entre corchetes)." #: g10/helptext.c:237 msgid "No help available" @@ -3529,9 +3619,6 @@ #~ msgid "read error: %s\n" #~ msgstr "error de lectura: %s\n" -#~ msgid "can't write to keyring: %s\n" -#~ msgstr "no puede escribirse en el anillo: %s\n" - #~ msgid "writing keyblock\n" #~ msgstr "escribiendo bloque de claves\n" @@ -3570,9 +3657,6 @@ #~ msgid "chained sigrec %lu has a wrong owner\n" #~ msgstr "registro de firma encadenado %lu tiene el propietario equivocado\n" - -#~ msgid "'%s' is not a valid long keyID\n" -#~ msgstr "'%s' no es un identificativo largo de clave válido\n" #~ msgid "key %08lX: no public key for trusted key - skipped\n" #~ msgstr "clave %08lX: clave de confianza sin clave pública - ignorada\n" diff -urN gnupg-1.0.0/po/fr.po gnupg-1.0.1/po/fr.po --- gnupg-1.0.0/po/fr.po Tue Sep 7 18:48:32 1999 +++ gnupg-1.0.1/po/fr.po Thu Dec 16 10:17:30 1999 @@ -2,11 +2,14 @@ # Copyright (C) 1998, 1999 Free Software Foundation, Inc. # Gaël Quéri , 1998. # +# La version la plus récente peut être trouvée à : +# Latest version can be found at : +# msgid "" msgstr "" -"Project-Id-Version: gnupg 1.0\n" -"POT-Creation-Date: 1999-09-05 19:21+0200\n" -"PO-Revision-Date: 1999-09-03 18:07+0200\n" +"Project-Id-Version: gnupg 1.0.1\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" +"PO-Revision-Date: 1999-10-06 21:43+0200\n" "Last-Translator: Gaël Quéri \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -17,13 +20,13 @@ msgid "Warning: using insecure memory!\n" msgstr "Attention : utilisation de la mémoire non sûre !\n" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "" "l'opération n'est pas possible tant que la mémoire sûre n'est pas\n" "initialisée\n" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "(vous avez peut-être utilisé le mauvais programme pour cette tache)\n" @@ -101,7 +104,7 @@ #: util/errors.c:66 msgid "can't open the keyring" -msgstr "ne peut ouvrir le porte-clés" +msgstr "impossible d'ouvrir le porte-clés" #: util/errors.c:67 msgid "invalid packet" @@ -157,11 +160,11 @@ #: util/errors.c:80 msgid "unimplemented pubkey algorithm" -msgstr "algorithme à clé publique non implémenté" +msgstr "algorithme à clé publique non implanté" #: util/errors.c:81 msgid "unimplemented cipher algorithm" -msgstr "algorithme de chiffrement non implémenté" +msgstr "algorithme de chiffrement non implanté" #: util/errors.c:82 msgid "unknown signature class" @@ -243,6 +246,10 @@ msgid "not encrypted" msgstr "non chiffré" +#: util/errors.c:103 +msgid "not processed" +msgstr "non traité" + #: util/logger.c:218 #, c-format msgid "... this is a bug (%s:%d:%s)\n" @@ -253,12 +260,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "vous avez trouvé un bug ... (%s:%d)\n" -#: cipher/random.c:452 +#: cipher/random.c:458 msgid "WARNING: using insecure random number generator!!\n" msgstr "" "ATTENTION : utilisation d'un générateur de nombres aléatoires peu sûr !!\n" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -283,7 +290,7 @@ "Il n'y a pas assez d'octets aléatoires disponibles. Faites autre chose\n" "pour que l'OS puisse amasser plus d'entropie ! (il faut %d octets de plus)\n" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " @@ -291,136 +298,141 @@ "@Commandes:\n" " " -#: g10/g10.c:187 +#: g10/g10.c:191 msgid "|[file]|make a signature" msgstr "|[fichier]|faire une signature" -#: g10/g10.c:188 +#: g10/g10.c:192 msgid "|[file]|make a clear text signature" msgstr "|[fichier]|faire une signature en texte clair" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "faire une signature détachée" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "chiffrer les données" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "chiffrement symétrique seulement" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" msgstr "pas d'action" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "déchiffrer les données (défaut)" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "vérifier une signature" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "lister les clés" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "lister les clés et les signatures" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "vérifier les signatures des clés" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "lister les clés et les empreintes" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "lister les clés secrètes" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "générer une nouvelle paire de clés" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" msgstr "enlever la clé du porte-clés public" -#: g10/g10.c:203 +#: g10/g10.c:209 +#, fuzzy +msgid "remove key from the secret keyring" +msgstr "enlever la clé du porte-clés public" + +#: g10/g10.c:210 msgid "sign a key" msgstr "signer une clé" -#: g10/g10.c:204 +#: g10/g10.c:211 msgid "sign a key locally" msgstr "signer une clé localement" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" msgstr "signer ou éditer une clé" -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" msgstr "générer un certificat de révocation" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "exporter les clés" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "exporter les clés vers un serveur de clés" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "importer les clés d'un serveur de clés" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" msgstr "importer/fusionner les clés" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "ne lister que les paquets" -#: g10/g10.c:216 +#: g10/g10.c:223 msgid "export the ownertrust values" msgstr "exporter les indices de confiance" -#: g10/g10.c:218 +#: g10/g10.c:225 msgid "import ownertrust values" msgstr "importer les indices de confiance" # -#: g10/g10.c:220 +#: g10/g10.c:227 msgid "update the trust database" msgstr "mettre la base de confiance à jour" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "|[NOMS]|vérifier la base de confiance" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" msgstr "réparer une base de confiance corrompue" -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "Enlever l'armure d'un fichier ou de stdin" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "Mettre une armure à un fichier ou à stdin" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "|alg. [fich.]|indiquer les fonctions de hachage" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" @@ -430,169 +442,169 @@ "Options:\n" " " -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" msgstr "créer une sortie ascii avec armure" -#: g10/g10.c:233 +#: g10/g10.c:243 msgid "|NAME|encrypt for NAME" msgstr "|NOM|chiffrer pour NOM" -#: g10/g10.c:236 +#: g10/g10.c:246 msgid "|NAME|use NAME as default recipient" msgstr "|NOM|utiliser NOM comme récipient par défaut" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" msgstr "utiliser la clé par déf. comme récipient" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "utiliser ce nom pour signer ou déchiffrer" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" msgstr "|N|niveau de compression N (0 désactive)" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "utiliser le mode texte canonique" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "utiliser comme fichier de sortie" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "bavard" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "devenir beaucoup plus silencieux" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" msgstr "ne pas utiliser du tout le terminal" # -#: g10/g10.c:250 +#: g10/g10.c:260 msgid "force v3 signatures" msgstr "forcer les signatures en v3" -#: g10/g10.c:251 +#: g10/g10.c:261 msgid "always use a MDC for encryption" msgstr "toujours utiliser un sceau pour le chiffrement" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "ne rien changer" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "mode automatique : ne jamais rien demander" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "répondre oui à la plupart des questions" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "répondre non à la plupart des questions" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "ajouter ce porte-clés à la liste" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "ajouter ce porte-clés secret à la liste" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "|NOM|utiliser NOM comme clé secrète par défaut" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HÔTE|utiliser ce serveur pour chercher des clés" -#: g10/g10.c:261 +#: g10/g10.c:271 msgid "|NAME|set terminal charset to NAME" msgstr "|NOM|le terminal utilise la table de caractères NOM" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "lire les options du fichier" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "choisir les attributs de déboguage" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" msgstr "permettre un déboguage complet" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "|FD|écrire l'état sur ce descripteur" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "ne pas écrire de paquets de commentaire" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "nombre de signatures complètes requises (1)" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "nombre de signatures marginales requises (3)" -#: g10/g10.c:271 +#: g10/g10.c:281 msgid "|FILE|load extension module FILE" msgstr "|FICH|charger le module d'extension FICH" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "imiter le mode décrit dans la RFC1991" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "utiliser le comportement défini par OpenPGP" -#: g10/g10.c:274 +#: g10/g10.c:284 msgid "|N|use passphrase mode N" msgstr "|N|coder les mots de passe suivant le mode N" -#: g10/g10.c:276 +#: g10/g10.c:286 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|NOM|utiliser le hachage NOM pour les mots de passe" -#: g10/g10.c:278 +#: g10/g10.c:288 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|NOM|utiliser le chiffre NOM pour les mots de passe" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "|NOM|utiliser l'algorithme de chiffrement NOM" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "|NOM|utiliser la fonction de hachage NOM" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "|N|utiliser l'algorithme de compression N" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" msgstr "supprimer l'ident. des paquets chiffrés" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" msgstr "|NOM=VALEUR|utiliser ces données de notation" -#: g10/g10.c:285 +#: g10/g10.c:295 msgid "" "@\n" "Examples:\n" @@ -612,25 +624,25 @@ " --list-keys [utilisateur] montrer les clés\n" " --fingerprint [utilisateur] montrer les empreintes\n" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "Rapporter toutes anomalies à .\n" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" "default operation depends on the input data\n" msgstr "" "Syntaxe: gpg [options] [fichiers]\n" -"signer, vérifier, chiffer ou déchiffrer\n" +"signer, vérifier, chiffrer ou déchiffrer\n" "l'opération par défaut dépend des données entrées\n" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" @@ -638,184 +650,184 @@ "\n" "Algorithmes supportés :\n" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "utilisation: gpg [options] " -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "commandes en conflit\n" -#: g10/g10.c:644 +#: g10/g10.c:668 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "NOTE : pas de fichier d'options par défaut `%s'\n" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "fichier d'options `%s' : %s\n" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "lire les options de `%s'\n" -#: g10/g10.c:835 +#: g10/g10.c:861 #, c-format msgid "%s is not a valid character set\n" msgstr "%s n'est pas une table de caractères valide\n" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" msgstr "NOTE : %s n'est pas pour une utilisation normale !\n" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" msgstr "%s n'est pas permis avec %s !\n" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" msgstr "%s n'a aucun sens avec %s !\n" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "l'algorithme de chiffrement sélectionné est invalide\n" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "la fonction de hachage sélectionnée est invalide\n" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" msgstr "l'URL de politique donnée est invalide\n" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" -msgstr "l'algorithme de compression doit faire partie de l'échelle %d..%d\n" +msgstr "l'algorithme de compression doit faire partie de l'intervalle %d..%d\n" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "« completes-needed » doit être supérieur à 0\n" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "« marginals-needed » doit être supérieur à 1\n" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "« max-cert-depth » doit être compris entre 1 et 255\n" -#: g10/g10.c:950 +#: g10/g10.c:975 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "NOTE : le mode S2K simple (0) est fortement déconseillé\n" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "mode S2K invalide ; doit être 0, 1 ou 3\n" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" -msgstr "n'a pas pu initialiser la base de confiance : %s\n" +msgstr "impossible d'initialiser la base de confiance : %s\n" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "--store [nom du fichier]" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "--symmetric [nom du fichier]" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "--encrypt [nom du fichier]" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "--sign [nom du fichier]" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nom du fichier]" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" msgstr "--clearsign [nom du fichier]" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "--decrypt [nom du fichier]" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" msgstr "--sign-key utilisateur" -#: g10/g10.c:1120 +#: g10/g10.c:1150 msgid "--lsign-key user-id" msgstr "--lsign-key utilisateur" -#: g10/g10.c:1128 +#: g10/g10.c:1158 msgid "--edit-key user-id [commands]" msgstr "--edit-key utilisateur [commandes]" -#: g10/g10.c:1144 +#: g10/g10.c:1174 msgid "--delete-secret-key user-id" msgstr "--delete-secret-key utilisateur" -#: g10/g10.c:1147 +#: g10/g10.c:1177 msgid "--delete-key user-id" msgstr "--delete-key utilisateur" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" -msgstr "ne peut ouvrir %s: %s\n" +msgstr "impossible d'ouvrir %s: %s\n" -#: g10/g10.c:1182 +#: g10/g10.c:1229 msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "-k[v][v][v][c] [utilisateur] [porte-clés]" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "suppression d'armure non réussie : %s\n" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "construction d'armure non réussie : %s \n" -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algorithme de hachage `%s' invalide\n" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "[nom du fichier]" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" msgstr "Continuez et tapez votre message...\n" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" -msgstr "ne peut ouvrir `%s'\n" +msgstr "impossible d'ouvrir `%s'\n" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" "le premier caractère du nom d'une notation doit être un lettre ou un trait\n" "de soulignement\n" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" @@ -824,13 +836,13 @@ "des points ou des traits de soulignement et doit se terminer par un signe " "égal\n" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" "les points dans le nom d'une notation doivent être entourés d'autes " "caractères\n" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" msgstr "une valeur de notation ne doit utiliser aucun caractère de contrôle\n" @@ -839,70 +851,70 @@ msgid "armor: %s\n" msgstr "armure : %s\n" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "en-tête d'armure invalide : " -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "en-tête d'armure : " -#: g10/armor.c:337 +#: g10/armor.c:343 msgid "invalid clearsig header\n" msgstr "en-tête de signature claire invalide\n" -#: g10/armor.c:389 +#: g10/armor.c:395 msgid "nested clear text signatures\n" msgstr "signatures en texte clair imbriquées\n" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "ligne de traits d'échappement invalide : " -#: g10/armor.c:512 +#: g10/armor.c:518 msgid "unexpected armor:" msgstr "armure inattendue :" -#: g10/armor.c:629 +#: g10/armor.c:635 #, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "caractère %02x invalide en base 64 ignoré\n" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "fin de fichier prématurée (pas de CRC)\n" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "fin de fichier prématurée (dans le CRC)\n" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "CRC malformé\n" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "Erreur de CRC ; %06lx - %06lx\n" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" msgstr "fin de fichier prématurée (dans la remorque)\n" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "erreur dans la ligne de remorque\n" -#: g10/armor.c:1001 +#: g10/armor.c:1012 msgid "no valid OpenPGP data found.\n" msgstr "aucune donnée OpenPGP valide n'a été trouvée.\n" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "armure invalide : ligne plus longue que %d caractères\n" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -979,8 +991,8 @@ "can assign some missing owner trust values.\n" "\n" msgstr "" -"N'a pas pu trouver un chemin de confiance valide jusqu'à la clé. Voyons si\n" -"nous ne pouvons pas assigner quelques indices de confiance manquants.\n" +"Impossible de trouver un chemin de confiance valide jusqu'à la clé. Voyons\n" +"si nous ne pouvons pas assigner quelques indices de confiance manquants.\n" #: g10/pkclist.c:329 msgid "" @@ -1006,36 +1018,36 @@ "Pas d'indice de confiance changé.\n" "\n" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "clé %08lX : la clé a été révoquée !\n" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "Utiliser cette clé quand-même ? " -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "clé %08lX : la sous-clé a été révoquée !\n" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX : la clé a expiré\n" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "%08lX : pas d'information pour calculer une probabilité de confiance\n" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX : Nous ne faisons PAS confiance à cette clé\n" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -1044,15 +1056,15 @@ "%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 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "Cette clé appartient probablement à son propriétaire\n" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "Cette clé nous appartient\n" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -1064,67 +1076,67 @@ "oui à la prochaine question\n" "\n" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "ATTENTION : Utilisation d'une clé sans confiance !\n" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "ATTENTION : Cette clé à été révoquée par son propriétaire !\n" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" msgstr " Cela pourrait signifier que la signature est fausse.\n" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "ATTENTION : Cette sous-clé à été révoquée par son propriétaire !\n" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "Note : Cette clé a expiré !\n" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "" "ATTENTION : Cette clé n'est pas certifiée avec une signature de confiance !\n" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr " Rien ne dit que la signature appartient à son propriétaire.\n" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "ATTENTION : Nous ne faisons PAS confiance à cette clé !\n" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" msgstr " La signature est certainement FAUSSE.\n" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" "ATTENTION : Les signatures de cette clé n'ont pas une confiance suffisante " "!\n" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" msgstr "" " Il n'est pas sûr que la signature appartient à son propriétaire.\n" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "%s : ignoré : %s\n" -#: g10/pkclist.c:702 g10/pkclist.c:868 +#: g10/pkclist.c:708 g10/pkclist.c:875 #, c-format msgid "%s: skipped: public key already present\n" msgstr "%s : ignoré : clé publique déjà présente\n" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1133,97 +1145,97 @@ "\"-r\")\n" "\n" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "Entrez le nom d'utilisateur : " -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "Pas de tel utilisateur.\n" -#: g10/pkclist.c:756 +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" msgstr "ignoré : la clé publique est déjà le récipient par défaut\n" -#: g10/pkclist.c:778 +#: g10/pkclist.c:785 msgid "Public key is disabled.\n" msgstr "La clé publique est désactivée.\n" -#: g10/pkclist.c:785 +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" msgstr "ignoré : clé publique configurée par --encrypt-to\n" -#: g10/pkclist.c:816 +#: g10/pkclist.c:823 #, c-format msgid "unknown default recipient `%s'\n" msgstr "récipient par défaut `%s' inconnu\n" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s : erreur pendant la vérification de la clé : %s\n" -#: g10/pkclist.c:854 +#: g10/pkclist.c:861 #, c-format msgid "%s: skipped: public key is disabled\n" msgstr "%s : ignoré : la clé publique est désactivée\n" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "pas de destinataire valide\n" # g10/keygen.c:123 ??? -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "écriture de l'auto-signature\n" # g10/keygen.c:161 ??? -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "écriture de la signature de liaison\n" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "Sélectionnez le type de clé désiré :\n" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr " (%d) DSA et ElGamal (défaut)\n" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr " (%d) DSA (signature seule)\n" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr " (%d) ElGamal (chiffrement seul)\n" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr " (%d) ElGamal (signature et chiffrement)\n" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr " (%d) ElGamal dans un paquet v3\n" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "Votre choix ? " -#: g10/keygen.c:409 +#: g10/keygen.c:410 msgid "Do you really want to create a sign and encrypt key? " msgstr "Voulez-vous vraiment créer une clé de signature et de chiffrement ? " -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "Choix invalide.\n" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1236,15 +1248,15 @@ " la taille par défaut est 1024 bits\n" " la taille maximale conseillée est 2048 bits\n" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "Quelle taille de clé désirez-vous ? (1024) " -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "DSA permet seulement des tailles comprises entre 512 et 1024\n" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "taille trop petite ; 768 est la plus petite valeur permise.\n" @@ -1256,12 +1268,12 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "taille trop importante ; %d est la plus grande valeur permise.\n" -#: g10/keygen.c:471 +#: g10/keygen.c:472 msgid "" "Keysizes larger than 2048 are not suggested because\n" "computations take REALLY long!\n" @@ -1269,11 +1281,11 @@ "Les tailles supérieures à 2048 ne sont pas conseillées car\n" "les calculs prennent VRAIMENT beaucoup de temps !\n" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "Etes-vous sûr de vouloir cette taille ? " -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" @@ -1281,21 +1293,21 @@ "D'accord, mais n'oubliez pas que les radiations de votre écran et de votre\n" "clavier sont aussi très vulnérables aux attaques !\n" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "Avez-vous réellement besoin d'une taille aussi grande ? " -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "La taille demandée est %u bits\n" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "arrondie à %u bits\n" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1311,29 +1323,35 @@ " m = la clé expire dans n mois\n" " y = la clé expire dans n ans\n" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "La clé est valide pour ? (0) " -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "valeur invalide\n" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "La clé n'expire pas du tout\n" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "La clé expire le %s\n" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "Est-ce correct (o/n) ? " -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1349,44 +1367,44 @@ " « Heinrich Heine (Der Dichter) »\n" "\n" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "Nom réel : " -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "Caractère invalide dans le nom\n" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "Le nom ne doit pas commencer par un chiffre\n" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "Le nom doit faire au moins 5 caractères de long\n" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "Adresse e-mail : " -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" msgstr "Ce n'est pas une adresse e-mail valide\n" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "Commentaire : " -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "Caractère invalide dans le commentaire\n" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Vous utilisez le jeu de caractères '%s'.\n" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1397,15 +1415,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "NnCcEeOoQq" -#: g10/keygen.c:699 +#: g10/keygen.c:703 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter? " -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1413,11 +1431,11 @@ "Vous avez besoin d'un mot de passe pour protéger votre clé secrète.\n" "\n" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "le mot de passe n'a pas été répété à l'identique ; recommencez.\n" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" @@ -1429,7 +1447,7 @@ "le désirez, en utilisant ce programme avec l'option « --edit-key ».\n" "\n" -#: g10/keygen.c:786 +#: g10/keygen.c:790 msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" "some other action (type on the keyboard, move the mouse, utilize the\n" @@ -1441,33 +1459,33 @@ "pendant la génération de nombres premiers ; cela donne au générateur de\n" "nombres aléatoires une meilleure chance d'avoir assez d'entropie.\n" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "La génération de clé ne peut être faite qu'en mode interactif\n" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "La paire de clés DSA fera 1024 bits.\n" -#: g10/keygen.c:870 +#: g10/keygen.c:874 msgid "Key generation canceled.\n" msgstr "La génération de clé a été annulée.\n" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" msgstr "écriture d'un certificat public à `%s'\n" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "écriture d'un certificat secret à `%s'\n" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" msgstr "les clés publique et secrète ont été créées et signées.\n" -#: g10/keygen.c:960 +#: g10/keygen.c:964 msgid "" "Note that this key cannot be used for encryption. You may want to use\n" "the command \"--edit-key\" to generate a secondary key for this purpose.\n" @@ -1476,13 +1494,13 @@ "utiliser la commande « --edit-key » pour générer une clé secondaire à\n" "cette fin.\n" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "La génération de clé a échoué : %s\n" # on s'amuse comme on peut... -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" @@ -1490,7 +1508,7 @@ "la clé a été créée %lu seconde dans le futur (discontinuité temporelle ou\n" "problème d'horloge)\n" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" @@ -1498,32 +1516,32 @@ "la clé a été créée %lu secondes dans le futur (discontinuité temporelle ou\n" "problème d'horloge\n" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 msgid "Really create? " msgstr "Créer vraiment ? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" -msgstr "%s : ne peut ouvrir : %s\n" +msgstr "%s : impossible d'ouvrir : %s\n" #: g10/encode.c:113 #, c-format msgid "error creating passphrase: %s\n" msgstr "erreur pendant la création du mot de passe : %s\n" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, c-format msgid "%s: WARNING: empty file\n" msgstr "%s : ATTENTION : fichier vide\n" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "lecture de `%s'\n" -#: g10/encode.c:482 +#: g10/encode.c:483 #, c-format msgid "%s/%s encrypted for: %s\n" msgstr "%s/%s chiffré pour : %s\n" @@ -1555,262 +1573,262 @@ msgid "too many entries in unk cache - disabled\n" msgstr "trop d'entrées dans le cache unk - désactivé\n" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" msgstr "les clés RSA ne peuvent être utilisées dans cette version\n" -#: g10/getkey.c:1291 g10/getkey.c:1330 +#: g10/getkey.c:1296 g10/getkey.c:1335 msgid "No key for user ID\n" msgstr "Pas de clé pour l'utilisateur\n" -#: g10/getkey.c:1369 g10/getkey.c:1409 +#: g10/getkey.c:1374 g10/getkey.c:1414 msgid "No user ID for key\n" msgstr "Pas d'utilisateur pour la clé\n" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "" "utilisation de la clé secondaire %08lX à la place de la clé\n" "principale %08lX\n" -#: g10/import.c:118 +#: g10/import.c:124 #, c-format msgid "can't open `%s': %s\n" msgstr "impossible d'ouvrir `%s': %s\n" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "ne prend pas en compte le bloc de type %d\n" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu clés traitées jusqu'ici\n" -#: g10/import.c:174 +#: g10/import.c:190 #, c-format msgid "error reading `%s': %s\n" msgstr "erreur pendant la lecture de `%s' : %s\n" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr " Quantité totale traitée : %lu\n" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr " sans nom d'utilisateur : %lu\n" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr " importée : %lu" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr " inchangée : %lu\n" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr " nouveaux noms d'utilisateurs : %lu\n" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr " nouvelles sous-clés : %lu\n" -#: g10/import.c:193 +#: g10/import.c:216 #, c-format msgid " new signatures: %lu\n" msgstr " nouvelles signatures : %lu\n" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr " nouvelles révocations de clés : %lu\n" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr " clés secrètes lues : %lu\n" -#: g10/import.c:199 +#: g10/import.c:222 #, c-format msgid " secret keys imported: %lu\n" msgstr " clés secrètes importées : %lu\n" -#: g10/import.c:201 +#: g10/import.c:224 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " clés secrètes inchangées : %lu\n" -#: g10/import.c:362 g10/import.c:554 +#: g10/import.c:383 g10/import.c:575 #, c-format msgid "key %08lX: no user ID\n" msgstr "clé %08lX : pas de nom d'utilisateur\n" -#: g10/import.c:376 +#: g10/import.c:397 #, c-format msgid "key %08lX: no valid user IDs\n" msgstr "clé %08lX : pas de nom d'utilisateur valide\n" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "cela peut provenir d'une auto-signature manquante\n" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "clé %08lX : clé publique pas trouvée: %s\n" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "pas de porte-clés public par défaut\n" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "écriture de `%s'\n" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, c-format msgid "can't lock keyring `%s': %s\n" -msgstr "ne peut verrouiller le porte-clés `%s' : %s\n" +msgstr "impossible de verrouiller le porte-clés `%s' : %s\n" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "erreur durant l'écriture du porte-clés `%s' : %s\n" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" msgstr "clé %08lX : clé publique importée\n" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "clé %08lX : ne ressemble pas à notre copie\n" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" -msgstr "clé %08lX : ne peut trouver le bloc de clés original : %s\n" +msgstr "clé %08lX : impossible de trouver le bloc de clés original : %s\n" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" -msgstr "clé %08lX : ne peut lire le bloc de clés original : %s\n" +msgstr "clé %08lX : impossible de lire le bloc de clés original : %s\n" -#: g10/import.c:469 +#: g10/import.c:490 #, c-format msgid "key %08lX: 1 new user ID\n" msgstr "clé %08lX : un nouvel utilisateur\n" -#: g10/import.c:472 +#: g10/import.c:493 #, c-format msgid "key %08lX: %d new user IDs\n" msgstr "clé %08lX : %d nouveaux utilisateurs\n" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "clé %08lX : une nouvelle signature\n" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "clé %08lX : %d nouvelles signatures\n" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "clé %08lX : une nouvelle sous-clé\n" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "clé %08lX : %d nouvelles sous-clés\n" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "clé %08lX : n'a pas changé\n" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "clé %08lX : clé secrète importée\n" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "clé %08lX : déjà dans le porte-clés secret\n" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "clé %08lX : clé secrète pas trouvée: %s\n" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" -"clé %08lX : pas de clé publique - ne peut appliquer le certificat de\n" -"révocation\n" +"clé %08lX : pas de clé publique - le certificat de révocation ne peut\n" +"être appliqué\n" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "clé %08lX : certificat de révocation invalide : %s - rejeté\n" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "clé %08lX : certificat de révocation importé\n" -#: g10/import.c:711 +#: g10/import.c:741 #, c-format msgid "key %08lX: no user ID for signature\n" msgstr "clé %08lX : pas d'utilisateur pour la signature\n" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "clé %08lX : algorithme de clé publique non supporté\n" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "clé %08lX : auto-signature invalide\n" -#: g10/import.c:734 +#: g10/import.c:764 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "clé %08lX : pas de sous-clé pour relier la clé\n" -#: g10/import.c:743 +#: g10/import.c:773 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "clé %08lX : liaison avec la sous-clé invalide\n" -#: g10/import.c:769 +#: g10/import.c:800 #, 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 +#: g10/import.c:829 #, c-format msgid "key %08lX: skipped user ID '" msgstr "clé %08lX : utilisateur non pris en compte : '" -#: g10/import.c:821 +#: g10/import.c:852 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "clé %08lX : sous-clé non prise en compte\n" @@ -1819,32 +1837,32 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "clé %08lX : signature non exportable (classe %02x) - ignorée\n" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "clé %08lX : certificat de révocation au mauvais endroit - ignorée\n" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "clé %08lX : certificat de révocation invalide : %s - ignorée\n" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "clé %08lX: nom d'utilisateur doublon fusionné\n" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "clé %08lX : certificat de révocation ajouté\n" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "clé %08lX : notre copie n'a pas d'auto-signature\n" @@ -1930,7 +1948,7 @@ msgid "Really sign? " msgstr "Signer réellement ? " -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "la signature a échoué : %s\n" @@ -1946,7 +1964,7 @@ #: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" -msgstr "Ne peut éditer cette clé : %s\n" +msgstr "Impossible d'éditer cette clé : %s\n" #: g10/keyedit.c:448 msgid "" @@ -2279,79 +2297,79 @@ msgid "Invalid command (try \"help\")\n" msgstr "Commande invalide (essayez « help »)\n" -#: g10/keyedit.c:1065 +#: g10/keyedit.c:1068 msgid "This key has been disabled" msgstr "Cette clé a été désactivée" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" msgstr "Supprimer cette bonne signature ? (o/N/q)" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" msgstr "Supprimer cette signature invalide ? (o/N/q)" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 msgid "Delete this unknown signature? (y/N/q)" msgstr "Supprimer cette signature inconnue ? (o/N/q)" -#: g10/keyedit.c:1350 +#: g10/keyedit.c:1353 msgid "Really delete this self-signature? (y/N)" msgstr "Faut-il vraiment supprimer cette auto-signature ? (o/N)" -#: g10/keyedit.c:1364 +#: g10/keyedit.c:1367 #, c-format msgid "Deleted %d signature.\n" msgstr "%d signature supprimée.\n" -#: g10/keyedit.c:1365 +#: g10/keyedit.c:1368 #, c-format msgid "Deleted %d signatures.\n" msgstr "%d signatures supprimées\n" -#: g10/keyedit.c:1368 +#: g10/keyedit.c:1371 msgid "Nothing deleted.\n" msgstr "Rien n'a été supprimé.\n" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "Enlevez les sélections des clés secrètes.\n" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 msgid "Please select at most one secondary key.\n" msgstr "Vous devez sélectionner au plus une clé secondaire.\n" -#: g10/keyedit.c:1447 +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "Changer la date d'expiration d'une clé secondaire.\n" -#: g10/keyedit.c:1449 +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "Changer la date d'expiration de la clé principale.\n" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "Vous ne pouvez pas changer la date d'expiration d'une clé v3\n" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "Pas de signature correspondante dans le porte-clés secret\n" -#: g10/keyedit.c:1566 +#: g10/keyedit.c:1569 #, c-format msgid "No user ID with index %d\n" msgstr "Pas d'utilisateur avec l'index %d\n" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "Pas de clé secondaire avec l'index %d\n" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 msgid "user ID: \"" msgstr "nom d'utilisateur : « " -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, c-format msgid "" "\"\n" @@ -2360,40 +2378,34 @@ " »\n" "signé avec votre clé %08lX à %s\n" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 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 +#: g10/keyedit.c:1743 msgid "You have signed these user IDs:\n" -msgstr "Vous ne pouvez pas supprimer le dernier utilisateur !\n" +msgstr "Vous avez signé ces noms d'utilisateurs :\n" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 -#, fuzzy, c-format +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format msgid " signed by %08lX at %s\n" -msgstr "" -" »\n" -"signé avec votre clé %08lX à %s\n" +msgstr " signé par %08lX à %s\n" -#: g10/keyedit.c:1759 -#, fuzzy, c-format +#: g10/keyedit.c:1762 +#, c-format msgid " revoked by %08lX at %s\n" -msgstr "" -" »\n" -"signé avec votre clé %08lX à %s\n" +msgstr " révoqué par %08lX à %s\n" -#: g10/keyedit.c:1779 -#, fuzzy +#: g10/keyedit.c:1782 msgid "You are about to revoke these signatures:\n" -msgstr "Voulez-vous vraiment révoquer les clés sélectionnées ? " +msgstr "Vous êtes sur le point de révoquer ces signatures:\n" -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 msgid "Really create the revocation certificates? (y/N)" msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)" -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 msgid "no secret key\n" msgstr "pas de clé secrète\n" @@ -2406,98 +2418,107 @@ msgid "public key encrypted data: good DEK\n" msgstr "données chiffrées avec la clé publique : bonne clé de chiffrement\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:277 #, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" msgstr "chiffré avec une clé de %u bits %s, ID %08lX, créée le %s\n" -#: g10/mainproc.c:285 +#: g10/mainproc.c:287 #, c-format msgid "encrypted with %s key, ID %08lX\n" msgstr "chiffré avec une clé %s, %08lX\n" -#: g10/mainproc.c:291 +#: g10/mainproc.c:293 msgid "no secret key for decryption available\n" msgstr "aucune clé secrète n'est disponible pour le déchiffrement\n" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "le déchiffrement de la clé publique a échoué : %s\n" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 msgid "decryption okay\n" msgstr "le déchiffrement a réussi\n" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "ATTENTION: le message chiffré a été manipulé !\n" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "le déchiffrement a échoué : %s\n" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTE : l'expéditeur a demandé « pour vos yeux seulement »\n" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "nom de fichier original : '%.*s'\n" -#: g10/mainproc.c:587 g10/mainproc.c:596 +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "révocation autonome - utilisez « gpg --import » pour l'appliquer\n" + +#: g10/mainproc.c:598 g10/mainproc.c:607 msgid "WARNING: invalid notation data found\n" msgstr "ATTENTION : des données de notation invalides ont été détectées\n" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " msgstr "Notation : " -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " msgstr "Politique : " -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "vérification de signature supprimée\n" -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "Signature faite %.*s avec une clé %s ID %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "MAUVAISE signature de \"" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "Bonne signature de \"" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr " alias \"" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" -msgstr "Ne peut vérifier la signature : %s\n" +msgstr "Impossible de vérifier la signature : %s\n" + +#: g10/mainproc.c:1191 +#, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "signature autonome de classe 0x%02x\n" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "signature d'un ancien style (PGP 2.x)\n" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "paquet racine invalide détecté dans proc_tree()\n" #: g10/misc.c:94 #, c-format msgid "can't disable core dumps: %s\n" -msgstr "ne peut empêcher la génération de fichiers core : %s\n" +msgstr "impossible d'empêcher la génération de fichiers core : %s\n" #: g10/misc.c:97 msgid "WARNING: program may create a core file!\n" @@ -2521,12 +2542,12 @@ "Cet algorithme de chiffrement est déconseillé ; utilisez-en un\n" "plus standard !\n" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, c-format msgid "can't handle public key algorithm %d\n" -msgstr "ne peut gérer l'algorithme à clé publique %d\n" +msgstr "impossible de gérer l'algorithme à clé publique %d\n" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "un sous-paquet de type %d possède un bit critique\n" @@ -2569,6 +2590,11 @@ "données non enregistrées ; utilisez l'option \"--output\" pour\n" "les enregistrer\n" +#: g10/plaintext.c:311 +#, fuzzy +msgid "Detached signature.\n" +msgstr "%d signature supprimée.\n" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "Entrez le nom d'un fichier de données : " @@ -2580,7 +2606,7 @@ #: g10/plaintext.c:379 #, c-format msgid "can't open signed data `%s'\n" -msgstr "ne peut ouvir les données signées `%s'\n" +msgstr "impossible d'ouvir les données signées `%s'\n" #: g10/pubkey-enc.c:79 #, c-format @@ -2602,6 +2628,45 @@ "NOTE : l'algorithme de chiffrement %d n'a pas été trouvé dans les " "préférences\n" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "importer les clés d'un serveur de clés" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "%s n'est pas une table de caractères valide\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "impossible d'ouvrir `%s': %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "erreur pendant la lecture de `%s' : %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + #: g10/seckey-cert.c:55 #, c-format msgid "protection algorithm %d is not supported\n" @@ -2655,7 +2720,7 @@ #: g10/sign.c:263 g10/sign.c:575 #, c-format msgid "can't create %s: %s\n" -msgstr "ne peut créer %s : %s\n" +msgstr "impossible de créer %s : %s\n" #: g10/sign.c:361 msgid "signing:" @@ -2669,468 +2734,480 @@ #: g10/textfilter.c:128 #, c-format msgid "can't handle text lines longer than %d characters\n" -msgstr "ne peut pas traiter les ligne plus longues que %d caractères\n" +msgstr "impossible de traiter les lignes plus longues que %d caractères\n" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format 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:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, 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:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, 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:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "transaction de base de confiance trop volumineuse\n" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, c-format msgid "%s: can't access: %s\n" -msgstr "%s : ne peut accéder : %s\n" - -#: 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" +msgstr "%s : impossible d'accéder : %s\n" -#: g10/ringedit.c:304 g10/tdbio.c:448 -#, c-format -msgid "%s: directory created\n" -msgstr "%s : répertoire créé\n" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, 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:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, c-format msgid "%s: can't create: %s\n" -msgstr "%s : ne peut créer : %s\n" +msgstr "%s : impossible de créer : %s\n" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, c-format msgid "%s: can't create lock\n" -msgstr "%s : ne peut créer de verrouillage\n" +msgstr "%s : impossible de créer de verrouillage\n" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, c-format msgid "%s: failed to create version record: %s" -msgstr "%s : n'a pas pu créer un enregistrement de version : %s" +msgstr "%s : impossible de créer un enregistrement de version : %s" -#: g10/tdbio.c:491 +#: g10/tdbio.c:477 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s : base de confiance invalide créée\n" -#: g10/tdbio.c:494 +#: g10/tdbio.c:480 #, c-format msgid "%s: trustdb created\n" msgstr "%s : base de confiance créée\n" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s : base de confiance invalide\n" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, 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:572 +#: g10/tdbio.c:558 #, 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: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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, 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:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, 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:1247 +#: g10/tdbio.c:1235 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "base de confiance : « lseek() » a échoué : %s\n" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, 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:1276 +#: g10/tdbio.c:1264 #, 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:1292 +#: g10/tdbio.c:1280 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s : enregistrement de version avec un numéro %lu\n" -#: g10/tdbio.c:1297 +#: g10/tdbio.c:1285 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s : version %d du fichier invalide\n" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, 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:1609 +#: g10/tdbio.c:1597 #, 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:1619 +#: g10/tdbio.c:1607 #, 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:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" -msgstr "%s : n'a pas pu ajouter un enregistrement : %s\n" +msgstr "%s : impossible d'ajouter un enregistrement : %s\n" -#: g10/tdbio.c:1760 +#: g10/tdbio.c:1748 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "la base de confiance est corrompue ; exécutez « gpg --fix-trustdb ».\n" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "" "enregistrement de confiance %lu, type de requête %d : la lecture a échoué : " "%s\n" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "enregistrement de confiance %lu, type %d : l'écriture a échoué : %s\n" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "enregistrement de confiance %lu : la suppression a échoué : %s\n" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "base de confiance : la synchronisation a échoué : %s\n" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "" "erreur pendant la lecture de l'enregistrement de répertoire pour\n" "le LID %lu : %s\n" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "lid %lu : enregistrement de répertoire attendu, a reçu le type %d\n" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "pas de clé principale pour le LID %lu\n" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "erreur pendant la lecture de la clé principale pour le LID %lu : %s\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record : search_record a échoué : %s\n" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "NOTE : la clé secrète %08lX n'est PAS protégée.\n" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "clé %08lX : clé secrète sans clé publique - non prise en compte\n" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "clé %08lX : les clés secrète et publique ne correspondent pas\n" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, c-format msgid "key %08lX: can't put it into the trustdb\n" -msgstr "clé %08lX : ne peut être mise dans la base de confiance\n" +msgstr "clé %08lX : impossible de la mettre dans la base de confiance\n" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, c-format msgid "key %08lX: query record failed\n" msgstr "clé %08lX : l'enregistrement de requête a échoué\n" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "clé %08lX : déjà dans la table des clés certifiées\n" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "clé %08lX : acceptée comme clé certifiée.\n" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "l'énumération des clés secrètes a échoué : %s\n" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "clé %08lX.%lu : bonne liaison avec la sous-clé\n" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "clé %08lX.%lu : liaison avec la sous-clé invalide : %s\n" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "clé %08lX.%lu : révocation de clé valide\n" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "clé %08lX.%lu : révocation de sous-clé invalide : %s\n" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "clé %08lX.%lu : révocation de sous-clé valide\n" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 msgid "Good self-signature" msgstr "Bonne auto-signature" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 msgid "Invalid self-signature" msgstr "Auto-signature invalide" -#: g10/trustdb.c:1060 +#: g10/trustdb.c:1105 msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" "La révocation valide de nom d'utilisateur a été ignorée car l'auto-\n" "signature est plus récente" -#: g10/trustdb.c:1066 +#: g10/trustdb.c:1111 msgid "Valid user ID revocation" msgstr "Révocation de nom d'utilisateur valide" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 msgid "Invalid user ID revocation" msgstr "Révocation de nom d'utilisateur invalide" -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 msgid "Valid certificate revocation" msgstr "Certificat de révocation valide" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 msgid "Good certificate" msgstr "Bon certificat" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 msgid "Invalid certificate revocation" msgstr "Révocation de certificat invalide" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 msgid "Invalid certificate" msgstr "Certificat invalide" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "" "l'enregistrement de signature %lu[%d] pointe vers le mauvais\n" "enregistrement de répertoire\n" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 msgid "duplicated certificate - deleted" msgstr "certificat dupliqué - supprimé" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "tdbio_search_dir a échoué : %s\n" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ? : l'insertion a échoué : %s\n" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu : l'insertion a échoué : %s\n" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu : inséré\n" -#: g10/trustdb.c:1652 +#: g10/trustdb.c:1721 #, c-format msgid "error reading dir record: %s\n" msgstr "erreur pendant la lecture de l'enregistrement de répertoire : %s\n" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "%lu clés traitées\n" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu clés avec erreurs\n" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu clés insérées\n" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "l'énumération des blocs de clés a échoué : %s\n" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "lid %lu : enregistrement de répertoire sans clé - ignoré\n" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "\t%lu à cause de nouvelles clés publiques\n" + +#: g10/trustdb.c:1796 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu clés ignorées\n" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "\t%lu clés mises à jour\n" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "Ooops, pas de clé\n" -#: g10/trustdb.c:2061 +#: g10/trustdb.c:2147 msgid "Ooops, no user IDs\n" msgstr "Ooops, pas de nom d'utilisateur\n" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "" "check_trust : la recherche d'enregistrement de répertoire a échoué : %s\n" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "clé %08lX : l'insertion d'enregistrement de confiance a échoué : %s\n" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "clé %08lX.%lu : insérée dans la base de confiance\n" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "clé %08lX.%lu : créée dans le futur (voyage temporel ou\n" "problème d'horloge)\n" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "clé %08lX.%lu : a expiré le %s\n" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "clé %08lX.%lu : la vérification de confiance a échoué: %s\n" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, c-format msgid "user '%s' not found: %s\n" msgstr "l'utilisateur '%s' n'a pas été trouvé : %s\n" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problème de recherche de '%s' dans la base de confiance : %s\n" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "l'utilisateur '%s' n'est pas dans la base de confiance - insertion\n" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, c-format msgid "failed to put '%s' into trustdb: %s\n" -msgstr "n'a pas pu insérer '%s' dans la base de confiance : %s\n" +msgstr "impossible d'insérer '%s' dans la base de confiance : %s\n" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 msgid "WARNING: can't yet handle long pref records\n" msgstr "" "ATTENTION : les enregistrements de préférences longs ne sont pas encore\n" "supportés\n" -#: g10/ringedit.c:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" +"impossible de vérifier la signature.\n" +"Rappelez-vous bien que le fichier de signature (.sig ou .asc)\n" +"doit être le premier fichier indiqué sur la ligne de commande.\n" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "" +"la ligne d'entrée %u est trop longue ou il manque un caractère de saut\n" +"de ligne\n" + +#: g10/ringedit.c:303 #, c-format msgid "%s: can't create keyring: %s\n" -msgstr "%s : ne peut créer le porte-clés : %s\n" +msgstr "%s : impossible de créer le porte-clés : %s\n" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, c-format msgid "%s: keyring created\n" msgstr "%s : porte-clés créé\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" "ATTENTION : 2 fichiers avec des informations confidentielles existent.\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, c-format msgid "%s is the unchanged one\n" msgstr "%s est le fichier original\n" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "%s est le nouveau\n" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "Réparez ce problème de sécurité possible\n" @@ -3155,38 +3232,52 @@ "sûre pour les signatures !\n" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "Le fichier `%s' existe. " -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "Réécrire (o/N)? " -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" msgstr "%s : suffixe inconnu\n" -#: g10/openfile.c:119 +#: g10/openfile.c:131 msgid "Enter new filename" msgstr "Entrez le nouveau nom de fichier" -#: g10/openfile.c:160 +#: g10/openfile.c:172 msgid "writing to stdout\n" msgstr "écriture vers la sortie standard\n" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, c-format msgid "assuming signed data in `%s'\n" msgstr "les données signées sont supposées être dans `%s'\n" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "%s : nouveau fichier d'options créé\n" +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s : impossible de créer le répertoire : %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s : répertoire créé\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" + #: g10/encr-data.c:66 #, c-format msgid "%s encrypted data\n" @@ -3212,31 +3303,28 @@ #, c-format msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n" msgstr "" -"ne peut éviter une clé faible pour le chiffrement symétrique :\n" +"impossible d'é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" +msgstr "il y a une clé secrète pour cette clé publique !\n" #: g10/delkey.c:95 msgid "use option \"--delete-secret-key\" to delete it first.\n" -msgstr "" +msgstr "utiliser l'option « --delete-secret-key » pour l'effacer d'abord.\n" #: g10/delkey.c:111 -#, fuzzy msgid "can't do that in batchmode without \"--yes\"\n" -msgstr "impossible de faire cela en mode automatique\n" +msgstr "impossible de faire cela en mode automatique sans « --yes »\n" #: g10/delkey.c:133 -#, fuzzy msgid "Delete this key from the keyring? " -msgstr "enlever la clé du porte-clés public" +msgstr "Enlever cette clé du porte-clés ? " #: g10/delkey.c:141 msgid "This is a secret key! - really delete? " -msgstr "" +msgstr "C'est une clé secrète - faut-il vraiment l'effacer ? " #: g10/helptext.c:47 msgid "" @@ -3298,7 +3386,7 @@ "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" +"implantations 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" @@ -3440,7 +3528,7 @@ "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" +msgid "Give the name of the file to which the signature applies" msgstr "Donnez le nom du fichier auquel la signature se rapporte" #: g10/helptext.c:218 @@ -3452,8 +3540,8 @@ "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é." +"Entrez le nouveau nom de fichier. Si vous tapez simplement ENTRÉE le\n" +"fichier par défaut (indiqué entre crochets) sera utilisé." #: g10/helptext.c:237 msgid "No help available" diff -urN gnupg-1.0.0/po/gnupg.pot gnupg-1.0.1/po/gnupg.pot --- gnupg-1.0.0/po/gnupg.pot Sun Sep 5 19:21:35 1999 +++ gnupg-1.0.1/po/gnupg.pot Thu Dec 16 09:44:54 1999 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-09-05 19:21+0200\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,11 +18,11 @@ msgid "Warning: using insecure memory!\n" msgstr "" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "" @@ -242,6 +242,10 @@ msgid "not encrypted" msgstr "" +#: util/errors.c:103 +msgid "not processed" +msgstr "" + #: util/logger.c:218 #, c-format msgid "... this is a bug (%s:%d:%s)\n" @@ -252,11 +256,11 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "" -#: cipher/random.c:452 +#: cipher/random.c:458 msgid "WARNING: using insecure random number generator!!\n" msgstr "" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -273,309 +277,313 @@ "the OS a chance to collect more entropy! (Need %d more bytes)\n" msgstr "" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " msgstr "" -#: g10/g10.c:187 +#: g10/g10.c:191 msgid "|[file]|make a signature" msgstr "" -#: g10/g10.c:188 +#: g10/g10.c:192 msgid "|[file]|make a clear text signature" msgstr "" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" msgstr "" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" msgstr "" -#: g10/g10.c:203 +#: g10/g10.c:209 +msgid "remove key from the secret keyring" +msgstr "" + +#: g10/g10.c:210 msgid "sign a key" msgstr "" -#: g10/g10.c:204 +#: g10/g10.c:211 msgid "sign a key locally" msgstr "" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" msgstr "" -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" msgstr "" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" msgstr "" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "" -#: g10/g10.c:216 +#: g10/g10.c:223 msgid "export the ownertrust values" msgstr "" -#: g10/g10.c:218 +#: g10/g10.c:225 msgid "import ownertrust values" msgstr "" -#: g10/g10.c:220 +#: g10/g10.c:227 msgid "update the trust database" msgstr "" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" msgstr "" -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" " " msgstr "" -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" msgstr "" -#: g10/g10.c:233 +#: g10/g10.c:243 msgid "|NAME|encrypt for NAME" msgstr "" -#: g10/g10.c:236 +#: g10/g10.c:246 msgid "|NAME|use NAME as default recipient" msgstr "" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" msgstr "" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" msgstr "" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" msgstr "" -#: g10/g10.c:250 +#: g10/g10.c:260 msgid "force v3 signatures" msgstr "" -#: g10/g10.c:251 +#: g10/g10.c:261 msgid "always use a MDC for encryption" msgstr "" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "" -#: g10/g10.c:261 +#: g10/g10.c:271 msgid "|NAME|set terminal charset to NAME" msgstr "" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" msgstr "" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "" -#: g10/g10.c:271 +#: g10/g10.c:281 msgid "|FILE|load extension module FILE" msgstr "" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" -#: g10/g10.c:274 +#: g10/g10.c:284 msgid "|N|use passphrase mode N" msgstr "" -#: g10/g10.c:276 +#: g10/g10.c:286 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "" -#: g10/g10.c:278 +#: g10/g10.c:288 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" msgstr "" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:285 +#: g10/g10.c:295 msgid "" "@\n" "Examples:\n" @@ -587,213 +595,213 @@ " --fingerprint [names] show fingerprints\n" msgstr "" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" "default operation depends on the input data\n" msgstr "" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" msgstr "" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "" -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "" -#: g10/g10.c:644 +#: g10/g10.c:668 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "" -#: g10/g10.c:835 +#: g10/g10.c:861 #, c-format msgid "%s is not a valid character set\n" msgstr "" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" msgstr "" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" msgstr "" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" msgstr "" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "" -#: g10/g10.c:950 +#: g10/g10.c:975 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" msgstr "" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" msgstr "" -#: g10/g10.c:1120 +#: g10/g10.c:1150 msgid "--lsign-key user-id" msgstr "" -#: g10/g10.c:1128 +#: g10/g10.c:1158 msgid "--edit-key user-id [commands]" msgstr "" -#: g10/g10.c:1144 +#: g10/g10.c:1174 msgid "--delete-secret-key user-id" msgstr "" -#: g10/g10.c:1147 +#: g10/g10.c:1177 msgid "--delete-key user-id" msgstr "" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "" -#: g10/g10.c:1182 +#: g10/g10.c:1229 msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "" -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" msgstr "" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" msgstr "" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" msgstr "" @@ -802,70 +810,70 @@ msgid "armor: %s\n" msgstr "" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "" -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "" -#: g10/armor.c:337 +#: g10/armor.c:343 msgid "invalid clearsig header\n" msgstr "" -#: g10/armor.c:389 +#: g10/armor.c:395 msgid "nested clear text signatures\n" msgstr "" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "" -#: g10/armor.c:512 +#: g10/armor.c:518 msgid "unexpected armor:" msgstr "" -#: g10/armor.c:629 +#: g10/armor.c:635 #, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" msgstr "" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "" -#: g10/armor.c:1001 +#: g10/armor.c:1012 msgid "no valid OpenPGP data found.\n" msgstr "" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -946,51 +954,51 @@ "\n" msgstr "" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "" -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, c-format msgid "%08lX: key has expired\n" msgstr "" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" "but it is accepted anyway\n" msgstr "" -#: g10/pkclist.c:422 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -998,157 +1006,157 @@ "\n" msgstr "" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" msgstr "" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr "" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" msgstr "" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" msgstr "" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "" -#: g10/pkclist.c:702 g10/pkclist.c:868 +#: g10/pkclist.c:708 g10/pkclist.c:875 #, c-format msgid "%s: skipped: public key already present\n" msgstr "" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" msgstr "" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "" -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "" -#: g10/pkclist.c:756 +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" msgstr "" -#: g10/pkclist.c:778 +#: g10/pkclist.c:785 msgid "Public key is disabled.\n" msgstr "" -#: g10/pkclist.c:785 +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" msgstr "" -#: g10/pkclist.c:816 +#: g10/pkclist.c:823 #, c-format msgid "unknown default recipient `%s'\n" msgstr "" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "" -#: g10/pkclist.c:854 +#: g10/pkclist.c:861 #, c-format msgid "%s: skipped: public key is disabled\n" msgstr "" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "" -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "" -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr "" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr "" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr "" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr "" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr "" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "" -#: g10/keygen.c:409 +#: g10/keygen.c:410 msgid "Do you really want to create a sign and encrypt key? " msgstr "" -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1157,15 +1165,15 @@ " highest suggested keysize is 2048 bits\n" msgstr "" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "" -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "" @@ -1177,42 +1185,42 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "" -#: g10/keygen.c:471 +#: g10/keygen.c:472 msgid "" "Keysizes larger than 2048 are not suggested because\n" "computations take REALLY long!\n" msgstr "" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "" -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" msgstr "" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "" -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1222,29 +1230,35 @@ " y = key expires in n years\n" msgstr "" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "" -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "" -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1254,44 +1268,44 @@ "\n" msgstr "" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "" -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "" -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" msgstr "" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "" -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1299,25 +1313,25 @@ "\n" msgstr "" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "" -#: g10/keygen.c:699 +#: g10/keygen.c:703 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "" -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" msgstr "" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" @@ -1325,7 +1339,7 @@ "\n" msgstr "" -#: g10/keygen.c:786 +#: g10/keygen.c:790 msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" "some other action (type on the keyboard, move the mouse, utilize the\n" @@ -1333,61 +1347,61 @@ "generator a better chance to gain enough entropy.\n" msgstr "" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "" -#: g10/keygen.c:870 +#: g10/keygen.c:874 msgid "Key generation canceled.\n" msgstr "" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" msgstr "" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" msgstr "" -#: g10/keygen.c:960 +#: g10/keygen.c:964 msgid "" "Note that this key cannot be used for encryption. You may want to use\n" "the command \"--edit-key\" to generate a secondary key for this purpose.\n" msgstr "" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "" -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" msgstr "" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" msgstr "" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 msgid "Really create? " msgstr "" -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" msgstr "" @@ -1397,17 +1411,17 @@ msgid "error creating passphrase: %s\n" msgstr "" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, c-format msgid "%s: WARNING: empty file\n" msgstr "" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "" -#: g10/encode.c:482 +#: g10/encode.c:483 #, c-format msgid "%s/%s encrypted for: %s\n" msgstr "" @@ -1439,258 +1453,258 @@ msgid "too many entries in unk cache - disabled\n" msgstr "" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" msgstr "" -#: g10/getkey.c:1291 g10/getkey.c:1330 +#: g10/getkey.c:1296 g10/getkey.c:1335 msgid "No key for user ID\n" msgstr "" -#: g10/getkey.c:1369 g10/getkey.c:1409 +#: g10/getkey.c:1374 g10/getkey.c:1414 msgid "No user ID for key\n" msgstr "" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "" -#: g10/import.c:118 +#: g10/import.c:124 #, c-format msgid "can't open `%s': %s\n" msgstr "" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "" -#: g10/import.c:174 +#: g10/import.c:190 #, c-format msgid "error reading `%s': %s\n" msgstr "" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr "" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr "" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr "" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr "" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr "" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr "" -#: g10/import.c:193 +#: g10/import.c:216 #, c-format msgid " new signatures: %lu\n" msgstr "" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr "" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr "" -#: g10/import.c:199 +#: g10/import.c:222 #, c-format msgid " secret keys imported: %lu\n" msgstr "" -#: g10/import.c:201 +#: g10/import.c:224 #, c-format msgid " secret keys unchanged: %lu\n" msgstr "" -#: g10/import.c:362 g10/import.c:554 +#: g10/import.c:383 g10/import.c:575 #, c-format msgid "key %08lX: no user ID\n" msgstr "" -#: g10/import.c:376 +#: g10/import.c:397 #, c-format msgid "key %08lX: no valid user IDs\n" msgstr "" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" msgstr "" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "" -#: g10/import.c:469 +#: g10/import.c:490 #, c-format msgid "key %08lX: 1 new user ID\n" msgstr "" -#: g10/import.c:472 +#: g10/import.c:493 #, c-format msgid "key %08lX: %d new user IDs\n" msgstr "" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "" -#: g10/import.c:711 +#: g10/import.c:741 #, c-format msgid "key %08lX: no user ID for signature\n" msgstr "" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "" -#: g10/import.c:734 +#: g10/import.c:764 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "" -#: g10/import.c:743 +#: g10/import.c:773 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "" -#: g10/import.c:769 +#: g10/import.c:800 #, c-format msgid "key %08lX: accepted non self-signed user ID '" msgstr "" -#: g10/import.c:798 +#: g10/import.c:829 #, c-format msgid "key %08lX: skipped user ID '" msgstr "" -#: g10/import.c:821 +#: g10/import.c:852 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "" @@ -1699,32 +1713,32 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "" @@ -1806,7 +1820,7 @@ msgid "Really sign? " msgstr "" -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "" @@ -2149,113 +2163,113 @@ msgid "Invalid command (try \"help\")\n" msgstr "" -#: g10/keyedit.c:1065 +#: g10/keyedit.c:1068 msgid "This key has been disabled" msgstr "" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 msgid "Delete this unknown signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1350 +#: g10/keyedit.c:1353 msgid "Really delete this self-signature? (y/N)" msgstr "" -#: g10/keyedit.c:1364 +#: g10/keyedit.c:1367 #, c-format msgid "Deleted %d signature.\n" msgstr "" -#: g10/keyedit.c:1365 +#: g10/keyedit.c:1368 #, c-format msgid "Deleted %d signatures.\n" msgstr "" -#: g10/keyedit.c:1368 +#: g10/keyedit.c:1371 msgid "Nothing deleted.\n" msgstr "" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 msgid "Please select at most one secondary key.\n" msgstr "" -#: g10/keyedit.c:1447 +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "" -#: g10/keyedit.c:1449 +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "" -#: g10/keyedit.c:1566 +#: g10/keyedit.c:1569 #, c-format msgid "No user ID with index %d\n" msgstr "" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 msgid "user ID: \"" msgstr "" -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, c-format msgid "" "\"\n" "signed with your key %08lX at %s\n" msgstr "" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "" #. FIXME: detect duplicates here -#: g10/keyedit.c:1740 +#: g10/keyedit.c:1743 msgid "You have signed these user IDs:\n" msgstr "" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#: g10/keyedit.c:1757 g10/keyedit.c:1792 #, c-format msgid " signed by %08lX at %s\n" msgstr "" -#: g10/keyedit.c:1759 +#: g10/keyedit.c:1762 #, c-format msgid " revoked by %08lX at %s\n" msgstr "" -#: g10/keyedit.c:1779 +#: g10/keyedit.c:1782 msgid "You are about to revoke these signatures:\n" msgstr "" -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 msgid "Really create the revocation certificates? (y/N)" msgstr "" -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 msgid "no secret key\n" msgstr "" @@ -2268,91 +2282,100 @@ msgid "public key encrypted data: good DEK\n" msgstr "" -#: g10/mainproc.c:275 +#: g10/mainproc.c:277 #, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" msgstr "" -#: g10/mainproc.c:285 +#: g10/mainproc.c:287 #, c-format msgid "encrypted with %s key, ID %08lX\n" msgstr "" -#: g10/mainproc.c:291 +#: g10/mainproc.c:293 msgid "no secret key for decryption available\n" msgstr "" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 msgid "decryption okay\n" msgstr "" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "" -#: g10/mainproc.c:587 g10/mainproc.c:596 +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "" + +#: g10/mainproc.c:598 g10/mainproc.c:607 msgid "WARNING: invalid notation data found\n" msgstr "" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " msgstr "" -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " msgstr "" -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "" -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr "" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" msgstr "" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1191 +#, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "" + +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "" @@ -2379,12 +2402,12 @@ msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "" @@ -2422,6 +2445,10 @@ msgid "data not saved; use option \"--output\" to save it\n" msgstr "" +#: g10/plaintext.c:311 +msgid "Detached signature.\n" +msgstr "" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "" @@ -2453,6 +2480,45 @@ msgid "NOTE: cipher algorithm %d not found in preferences\n" msgstr "" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, c-format +msgid "%s: not a valid key ID\n" +msgstr "" + +#: g10/hkp.c:149 +#, c-format +msgid "can't connect to `%s': %s\n" +msgstr "" + +#: g10/hkp.c:173 +#, c-format +msgid "error sending to `%s': %s\n" +msgstr "" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + #: g10/seckey-cert.c:55 #, c-format msgid "protection algorithm %d is not supported\n" @@ -2518,447 +2584,454 @@ msgid "can't handle text lines longer than %d characters\n" msgstr "" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format msgid "input line longer than %d characters\n" msgstr "" -#: g10/tdbio.c:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "" -#: g10/tdbio.c:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" -#: g10/tdbio.c:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, c-format msgid "%s: can't access: %s\n" msgstr "" -#: g10/ringedit.c:298 g10/tdbio.c:445 -#, c-format -msgid "%s: can't create directory: %s\n" -msgstr "" - -#: g10/ringedit.c:304 g10/tdbio.c:448 -#, c-format -msgid "%s: directory created\n" -msgstr "" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, c-format msgid "%s: directory does not exist!\n" msgstr "" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, c-format msgid "%s: can't create: %s\n" msgstr "" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, c-format msgid "%s: can't create lock\n" msgstr "" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, c-format msgid "%s: failed to create version record: %s" msgstr "" -#: g10/tdbio.c:491 +#: g10/tdbio.c:477 #, c-format msgid "%s: invalid trustdb created\n" msgstr "" -#: g10/tdbio.c:494 +#: g10/tdbio.c:480 #, c-format msgid "%s: trustdb created\n" msgstr "" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, c-format msgid "%s: invalid trustdb\n" msgstr "" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "" -#: g10/tdbio.c:572 +#: g10/tdbio.c:558 #, c-format msgid "%s: error updating version record: %s\n" msgstr "" -#: 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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, c-format msgid "%s: error reading version record: %s\n" msgstr "" -#: g10/tdbio.c:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, c-format msgid "%s: error writing version record: %s\n" msgstr "" -#: g10/tdbio.c:1247 +#: g10/tdbio.c:1235 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "" -#: g10/tdbio.c:1276 +#: g10/tdbio.c:1264 #, c-format msgid "%s: not a trustdb file\n" msgstr "" -#: g10/tdbio.c:1292 +#: g10/tdbio.c:1280 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "" -#: g10/tdbio.c:1297 +#: g10/tdbio.c:1285 #, c-format msgid "%s: invalid file version %d\n" msgstr "" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, c-format msgid "%s: error reading free record: %s\n" msgstr "" -#: g10/tdbio.c:1609 +#: g10/tdbio.c:1597 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "" -#: g10/tdbio.c:1619 +#: g10/tdbio.c:1607 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "" -#: g10/tdbio.c:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "" -#: g10/tdbio.c:1760 +#: g10/tdbio.c:1748 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, c-format msgid "key %08lX: query record failed\n" msgstr "" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 msgid "Good self-signature" msgstr "" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 msgid "Invalid self-signature" msgstr "" -#: g10/trustdb.c:1060 +#: g10/trustdb.c:1105 msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" -#: g10/trustdb.c:1066 +#: g10/trustdb.c:1111 msgid "Valid user ID revocation" msgstr "" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 msgid "Invalid user ID revocation" msgstr "" -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 msgid "Valid certificate revocation" msgstr "" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 msgid "Good certificate" msgstr "" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 msgid "Invalid certificate revocation" msgstr "" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 msgid "Invalid certificate" msgstr "" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 msgid "duplicated certificate - deleted" msgstr "" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "" -#: g10/trustdb.c:1652 +#: g10/trustdb.c:1721 #, c-format msgid "error reading dir record: %s\n" msgstr "" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, c-format msgid "\t%lu keys with errors\n" msgstr "" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "" + +#: g10/trustdb.c:1796 #, c-format msgid "\t%lu keys skipped\n" msgstr "" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "" -#: g10/trustdb.c:2061 +#: g10/trustdb.c:2147 msgid "Ooops, no user IDs\n" msgstr "" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, c-format msgid "user '%s' not found: %s\n" msgstr "" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 msgid "WARNING: can't yet handle long pref records\n" msgstr "" -#: g10/ringedit.c:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "" + +#: g10/ringedit.c:303 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, c-format msgid "%s: keyring created\n" msgstr "" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, c-format msgid "%s is the unchanged one\n" msgstr "" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "" @@ -2979,38 +3052,52 @@ msgstr "" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "" -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "" -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:119 +#: g10/openfile.c:131 msgid "Enter new filename" msgstr "" -#: g10/openfile.c:160 +#: g10/openfile.c:172 msgid "writing to stdout\n" msgstr "" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, c-format msgid "assuming signed data in `%s'\n" msgstr "" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "" +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" + #: g10/encr-data.c:66 #, c-format msgid "%s encrypted data\n" @@ -3200,7 +3287,7 @@ msgstr "" #: g10/helptext.c:213 -msgid "Give the name fo the file to which the signature applies" +msgid "Give the name of the file to which the signature applies" msgstr "" #: g10/helptext.c:218 diff -urN gnupg-1.0.0/po/id.po gnupg-1.0.1/po/id.po --- gnupg-1.0.0/po/id.po Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/po/id.po Thu Dec 16 10:17:31 1999 @@ -0,0 +1,3485 @@ +# GNU Privacy Guard 1.0.0 (Indonesian) +# Copyright (C) 1999 Free Software Foundation, Inc. +# Tedi Heriyanto , 1999. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU Privacy Guard 1.0.0\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" +"PO-Revision-Date: 1999-09-17 15:21+07:00\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesia \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8559-1\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: util/secmem.c:79 +msgid "Warning: using insecure memory!\n" +msgstr "Peringatan: menggunakan memori yang tidak aman!\n" + +#: util/secmem.c:281 +msgid "operation is not possible without initialized secure memory\n" +msgstr "operasi tidak mungkin tanpa menginisialisasi memori yang aman\n" + +#: util/secmem.c:282 +msgid "(you may have used the wrong program for this task)\n" +msgstr "(anda mungkin menggunakan program yang salah untuk tugas ini)\n" + +#: util/miscutil.c:277 util/miscutil.c:306 +msgid "yes" +msgstr "ya" + +#: util/miscutil.c:278 util/miscutil.c:309 +msgid "yY" +msgstr "yY" + +#: util/miscutil.c:279 util/miscutil.c:307 +msgid "no" +msgstr "tidak" + +#: util/miscutil.c:280 util/miscutil.c:310 +msgid "nN" +msgstr "tT" + +#: g10/keyedit.c:564 util/miscutil.c:308 +msgid "quit" +msgstr "keluar" + +#: util/miscutil.c:311 +msgid "qQ" +msgstr "kK" + +#: util/errors.c:54 +msgid "general error" +msgstr "Kesalahan umum" + +#: util/errors.c:55 +msgid "unknown packet type" +msgstr "tipe paket tidak dikenal" + +#: util/errors.c:56 +msgid "unknown version" +msgstr "versi tidak dikenal" + +#: util/errors.c:57 +msgid "unknown pubkey algorithm" +msgstr "algoritma pubkey tidak dikenal" + +#: util/errors.c:58 +msgid "unknown digest algorithm" +msgstr "algoritma digest tidak dikenal" + +#: util/errors.c:59 +msgid "bad public key" +msgstr "kunci publik yang buruk" + +#: util/errors.c:60 +msgid "bad secret key" +msgstr "kunci rahasia yang buruk" + +#: util/errors.c:61 +msgid "bad signature" +msgstr "signature yang buruk" + +#: util/errors.c:62 +msgid "checksum error" +msgstr "kesalahan checksum" + +#: util/errors.c:63 +msgid "bad passphrase" +msgstr "passphrase yang buruk" + +#: util/errors.c:64 +msgid "public key not found" +msgstr "kunci publik tidak ditemukan" + +#: util/errors.c:65 +msgid "unknown cipher algorithm" +msgstr "algoritma cipher tidak dikenal" + +#: util/errors.c:66 +msgid "can't open the keyring" +msgstr "tidak dapat membuka keyring" + +#: util/errors.c:67 +msgid "invalid packet" +msgstr "paket tidak valid" + +#: util/errors.c:68 +msgid "invalid armor" +msgstr "armor tidak valid" + +#: util/errors.c:69 +msgid "no such user id" +msgstr "tidak ada user id tsb" + +#: util/errors.c:70 +msgid "secret key not available" +msgstr "kunci rahasia tidak ada" + +#: util/errors.c:71 +msgid "wrong secret key used" +msgstr "digunakan kunci rahasia yang salah" + +#: util/errors.c:72 +msgid "not supported" +msgstr "tidak didukung" + +#: util/errors.c:73 +msgid "bad key" +msgstr "kunci yang buruk" + +#: util/errors.c:74 +msgid "file read error" +msgstr "kesalahan baca file" + +#: util/errors.c:75 +msgid "file write error" +msgstr "kesalahan tulis file" + +#: util/errors.c:76 +msgid "unknown compress algorithm" +msgstr "algoritma kompresi tidak dikenal" + +#: util/errors.c:77 +msgid "file open error" +msgstr "kesalahan buka file" + +#: util/errors.c:78 +msgid "file create error" +msgstr "kesalahan buat file" + +#: util/errors.c:79 +msgid "invalid passphrase" +msgstr "passphrase tidak valid" + +#: util/errors.c:80 +msgid "unimplemented pubkey algorithm" +msgstr "algoritma pubkey belum diimplementasikan" + +#: util/errors.c:81 +msgid "unimplemented cipher algorithm" +msgstr "algoritma cipher belum diimplementasikan" + +#: util/errors.c:82 +msgid "unknown signature class" +msgstr "kelas signature tidak dikenal" + +#: util/errors.c:83 +msgid "trust database error" +msgstr "kesalahan database trust" + +#: util/errors.c:84 +msgid "bad MPI" +msgstr "MPI yang buruk" + +#: util/errors.c:85 +msgid "resource limit" +msgstr "batasan sumber daya" + +#: util/errors.c:86 +msgid "invalid keyring" +msgstr "keyring tidak valid" + +#: util/errors.c:87 +msgid "bad certificate" +msgstr "sertifikat yang buruk" + +#: util/errors.c:88 +msgid "malformed user id" +msgstr "user id yang tidak benar" + +#: util/errors.c:89 +msgid "file close error" +msgstr "kesalahan tutup file" + +#: util/errors.c:90 +msgid "file rename error" +msgstr "kesalahan ganti nama file" + +#: util/errors.c:91 +msgid "file delete error" +msgstr "kesalahan hapus file" + +#: util/errors.c:92 +msgid "unexpected data" +msgstr "data tidak terduga" + +#: util/errors.c:93 +msgid "timestamp conflict" +msgstr "konflik timestamp" + +#: util/errors.c:94 +msgid "unusable pubkey algorithm" +msgstr "algoritma pubkey tidak dapat digunakan" + +#: util/errors.c:95 +msgid "file exists" +msgstr "file ada" + +#: util/errors.c:96 +msgid "weak key" +msgstr "kunci lemah" + +#: util/errors.c:97 +msgid "invalid argument" +msgstr "argumen tidak valid" + +#: util/errors.c:98 +msgid "bad URI" +msgstr "URI yang buruk" + +#: util/errors.c:99 +msgid "unsupported URI" +msgstr "URI tidak didukung" + +#: util/errors.c:100 +msgid "network error" +msgstr "kesalahan jaringan" + +#: util/errors.c:102 +msgid "not encrypted" +msgstr "tidak dienkripsi" + +#: util/errors.c:103 +#, fuzzy +msgid "not processed" +msgstr "%lu kunci diproses\n" + +#: util/logger.c:218 +#, c-format +msgid "... this is a bug (%s:%d:%s)\n" +msgstr "... kesalahan (%s:%d:%s)\n" + +#: util/logger.c:224 +#, c-format +msgid "you found a bug ... (%s:%d)\n" +msgstr "anda menemukan kesalahan ...(%s:%d)\n" + +#: cipher/random.c:458 +msgid "WARNING: using insecure random number generator!!\n" +msgstr "PERINGATAN: menggunakan random number generator yang tidak aman!!\n" + +#: cipher/random.c:459 +msgid "" +"The random number generator is only a kludge to let\n" +"it run - it is in no way a strong RNG!\n" +"\n" +"DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n" +"\n" +msgstr "" +"Random number generator yang digunakan tidak aman,\n" +"ia bukanlah RNG yang kuat!\n" +"\n" +"JANGAN MENGGUNAKAN DATA YANG DIHASILKAN PROGRAM INI!!\n" +"\n" + +#: cipher/rndlinux.c:135 +#, c-format +msgid "" +"\n" +"Not enough random bytes available. Please do some other work to give\n" +"the OS a chance to collect more entropy! (Need %d more bytes)\n" +msgstr "" +"\n" +"Tidak tersedia cukup byte random. Silakan melakukan aktivitas lain agar\n" +"memungkinkan SO mengumpulkan lebih banyak entropi! (Perlu %d byte lagi)\n" + +#: g10/g10.c:189 +msgid "" +"@Commands:\n" +" " +msgstr "" +"@Perintah:\n" +" " + +#: g10/g10.c:191 +msgid "|[file]|make a signature" +msgstr "|[file]|buat signature" + +#: g10/g10.c:192 +msgid "|[file]|make a clear text signature" +msgstr "|[file]|buat signature teks" + +#: g10/g10.c:193 +msgid "make a detached signature" +msgstr "buat detached signature" + +#: g10/g10.c:194 +msgid "encrypt data" +msgstr "enkripsi data" + +#: g10/g10.c:195 +msgid "encryption only with symmetric cipher" +msgstr "enkripsi hanya dengan symmetric cipher" + +#: g10/g10.c:196 +msgid "store only" +msgstr "hanya disimpan" + +#: g10/g10.c:197 +msgid "decrypt data (default)" +msgstr "dekripsi data (default)" + +#: g10/g10.c:198 +msgid "verify a signature" +msgstr "verifikasi signature" + +#: g10/g10.c:200 +msgid "list keys" +msgstr "tampilkan kunci" + +#: g10/g10.c:202 +msgid "list keys and signatures" +msgstr "tampilkan kunci dan signature" + +#: g10/g10.c:203 +msgid "check key signatures" +msgstr "periksa signature kunci" + +#: g10/g10.c:204 +msgid "list keys and fingerprints" +msgstr "tampilkan kunci dan fingerprint" + +#: g10/g10.c:205 +msgid "list secret keys" +msgstr "tampilkan kunci rahasia" + +#: g10/g10.c:206 +msgid "generate a new key pair" +msgstr "buat sepasang kunci baru" + +#: g10/g10.c:207 +msgid "remove key from the public keyring" +msgstr "hapus kunci dari keyring publik" + +#: g10/g10.c:209 +#, fuzzy +msgid "remove key from the secret keyring" +msgstr "hapus kunci dari keyring publik" + +#: g10/g10.c:210 +msgid "sign a key" +msgstr "tandai kunci" + +#: g10/g10.c:211 +msgid "sign a key locally" +msgstr "tandai kunci secara lokal" + +#: g10/g10.c:212 +msgid "sign or edit a key" +msgstr "tandai atau edit kunci" + +#: g10/g10.c:213 +msgid "generate a revocation certificate" +msgstr "buat sertifikat revokasi" + +#: g10/g10.c:214 +msgid "export keys" +msgstr "ekspor kunci" + +#: g10/g10.c:215 +msgid "export keys to a key server" +msgstr "ekspor kunci ke server kunci" + +#: g10/g10.c:216 +msgid "import keys from a key server" +msgstr "impor kunci dari server kunci" + +#: g10/g10.c:219 +msgid "import/merge keys" +msgstr "impor/gabung kunci" + +#: g10/g10.c:221 +msgid "list only the sequence of packets" +msgstr "tampilkan hanya urutan paket" + +#: g10/g10.c:223 +msgid "export the ownertrust values" +msgstr "ekspor nilai ownertrust" + +#: g10/g10.c:225 +msgid "import ownertrust values" +msgstr "import nilai ownertrust" + +#: g10/g10.c:227 +msgid "update the trust database" +msgstr "perbarui database trust" + +#: g10/g10.c:229 +msgid "|[NAMES]|check the trust database" +msgstr "|[NAMA]|periksa database trust" + +#: g10/g10.c:230 +msgid "fix a corrupted trust database" +msgstr "perbaiki database trust yang terkorupsi" + +#: g10/g10.c:231 +msgid "De-Armor a file or stdin" +msgstr "De-Armor file atau stdin" + +#: g10/g10.c:233 +msgid "En-Armor a file or stdin" +msgstr "En-Armor file atau stdin" + +#: g10/g10.c:235 +msgid "|algo [files]|print message digests" +msgstr "|algo [file]|cetak digest pesan" + +#: g10/g10.c:239 +msgid "" +"@\n" +"Options:\n" +" " +msgstr "" +"@\n" +"Pilihan:\n" +" " + +#: g10/g10.c:241 +msgid "create ascii armored output" +msgstr "ciptakan output ascii" + +#: g10/g10.c:243 +msgid "|NAME|encrypt for NAME" +msgstr "|NAMA|enkripsi untuk NAMA" + +#: g10/g10.c:246 +msgid "|NAME|use NAME as default recipient" +msgstr "|NAMA|gunakan NAMA sebagai penerima baku" + +#: g10/g10.c:248 +msgid "use the default key as default recipient" +msgstr "gunakan kunci baku sebagai penerima baku" + +#: g10/g10.c:252 +msgid "use this user-id to sign or decrypt" +msgstr "gunakan id-user ini untuk menandai atau dekripsi" + +#: g10/g10.c:253 +msgid "|N|set compress level N (0 disables)" +msgstr "|N|set tingkat kompresi N (0 tidak ada)" + +#: g10/g10.c:255 +msgid "use canonical text mode" +msgstr "gunakan mode teks kanonikal" + +#: g10/g10.c:256 +msgid "use as output file" +msgstr "gunakan sebagai file output" + +#: g10/g10.c:257 +msgid "verbose" +msgstr "detil" + +#: g10/g10.c:258 +msgid "be somewhat more quiet" +msgstr "lebih diam" + +#: g10/g10.c:259 +msgid "don't use the terminal at all" +msgstr "jangan menggunakan terminal" + +#: g10/g10.c:260 +msgid "force v3 signatures" +msgstr "paksa signature v3" + +#: g10/g10.c:261 +msgid "always use a MDC for encryption" +msgstr "selalu gunakan MDC untuk enkripsi" + +#: g10/g10.c:262 +msgid "do not make any changes" +msgstr "jangan buat perubahan" + +#. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, +#: g10/g10.c:264 +msgid "batch mode: never ask" +msgstr "mode batch: tanpa tanya" + +#: g10/g10.c:265 +msgid "assume yes on most questions" +msgstr "asumsikan ya untuk seluruh pertanyaan" + +#: g10/g10.c:266 +msgid "assume no on most questions" +msgstr "asumsikan tidak untuk seluruh pertanyaan" + +#: g10/g10.c:267 +msgid "add this keyring to the list of keyrings" +msgstr "tambah keyring ini ke daftar keyring" + +#: g10/g10.c:268 +msgid "add this secret keyring to the list" +msgstr "tambah keyring rahasia ini ke daftar" + +#: g10/g10.c:269 +msgid "|NAME|use NAME as default secret key" +msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku" + +#: g10/g10.c:270 +msgid "|HOST|use this keyserver to lookup keys" +msgstr "|HOST|gunakan sebagai server kunci untuk melihat kunci" + +#: g10/g10.c:271 +msgid "|NAME|set terminal charset to NAME" +msgstr "|NAMA|set charset terminal ke NAMA" + +#: g10/g10.c:272 +msgid "read options from file" +msgstr "baca pilihan dari file" + +#: g10/g10.c:274 +msgid "set debugging flags" +msgstr "set flag debugging" + +#: g10/g10.c:275 +msgid "enable full debugging" +msgstr "aktifkan full debugging" + +#: g10/g10.c:276 +msgid "|FD|write status info to this FD" +msgstr "|FD|tulis info status ke FD ini" + +#: g10/g10.c:277 +msgid "do not write comment packets" +msgstr "jangan menulis komentar paket" + +#: g10/g10.c:278 +msgid "(default is 1)" +msgstr "(baku adalah 1)" + +#: g10/g10.c:279 +msgid "(default is 3)" +msgstr "(baku adalah 3)" + +#: g10/g10.c:281 +msgid "|FILE|load extension module FILE" +msgstr "|FILE|muat modul ekstensi FILE" + +#: g10/g10.c:282 +msgid "emulate the mode described in RFC1991" +msgstr "emulasikan mode seperti dalam RFC1991" + +#: g10/g10.c:283 +msgid "set all packet, cipher and digest options to OpenPGP behavior" +msgstr "set seluruh pilihan paket, cipher dan digest ke OpenPGP" + +#: g10/g10.c:284 +msgid "|N|use passphrase mode N" +msgstr "|N|gunakan passphrase mode N" + +#: g10/g10.c:286 +msgid "|NAME|use message digest algorithm NAME for passphrases" +msgstr "|NAMA|gunakan algoritma digest pesan NAMA untuk passphrase" + +#: g10/g10.c:288 +msgid "|NAME|use cipher algorithm NAME for passphrases" +msgstr "|NAMA|gunakan algoritma cipher NAMA untuk passphrase" + +#: g10/g10.c:289 +msgid "|NAME|use cipher algorithm NAME" +msgstr "|NAMA|gunakan algoritma cipher NAMA" + +#: g10/g10.c:290 +msgid "|NAME|use message digest algorithm NAME" +msgstr "|NAMA|gunakan algoritma digest pesan NAMA" + +#: g10/g10.c:291 +msgid "|N|use compress algorithm N" +msgstr "|N|gunakan algoritma kompresi N" + +#: g10/g10.c:292 +msgid "throw keyid field of encrypted packets" +msgstr "buang field keyid paket terenkripsi" + +#: g10/g10.c:293 +msgid "|NAME=VALUE|use this notation data" +msgstr "|NAMA=NILAI|gunakan notasi data ini" + +#: g10/g10.c:295 +msgid "" +"@\n" +"Examples:\n" +"\n" +" -se -r Bob [file] sign and encrypt for user Bob\n" +" --clearsign [file] make a clear text signature\n" +" --detach-sign [file] make a detached signature\n" +" --list-keys [names] show keys\n" +" --fingerprint [names] show fingerprints\n" +msgstr "" +"@\n" +"Contoh:\n" +"\n" +" -se -r Bob [file] tandai dan enkripsi untuk user Bob\n" +" --clearsign [file] buat signature berbentuk teks\n" +" --detach-sign [file] buat signature detached\n" +" --list-keys [nama] tampilkan kunci\n" +" --fingerprint [nama] tampilkan fingerprint\n" + +#: g10/g10.c:383 +msgid "Please report bugs to .\n" +msgstr "Silakan laporkan kesalahan ke .\n" + +#: g10/g10.c:387 +msgid "Usage: gpg [options] [files] (-h for help)" +msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)" + +#: g10/g10.c:390 +msgid "" +"Syntax: gpg [options] [files]\n" +"sign, check, encrypt or decrypt\n" +"default operation depends on the input data\n" +msgstr "" +"Sintaks: gpg [pilihan] [file]\n" +"tandai, cek, enkripsi atau dekripsi\n" +"operasi baku tergantung pada data input\n" + +#: g10/g10.c:397 +msgid "" +"\n" +"Supported algorithms:\n" +msgstr "" +"\n" +"Algoritma yang didukung:\n" + +#: g10/g10.c:476 +msgid "usage: gpg [options] " +msgstr "pemakaian: gpg [pilihan] " + +#: g10/g10.c:529 +msgid "conflicting commands\n" +msgstr "perintah saling konflik\n" + +#: g10/g10.c:668 +#, c-format +msgid "NOTE: no default option file `%s'\n" +msgstr "CATATAN: tidak ada file pilihan baku `%s'\n" + +#: g10/g10.c:672 +#, c-format +msgid "option file `%s': %s\n" +msgstr "file pilihan `%s': %s\n" + +#: g10/g10.c:679 +#, c-format +msgid "reading options from `%s'\n" +msgstr "membaca pilihan dari `%s'\n" + +#: g10/g10.c:861 +#, c-format +msgid "%s is not a valid character set\n" +msgstr "%s bukanlah set karakter yang valid\n" + +#: g10/g10.c:917 g10/g10.c:926 +#, c-format +msgid "NOTE: %s is not for normal use!\n" +msgstr "CATATAN: %s tidak untuk pemakaian normal!\n" + +#: g10/g10.c:919 +#, c-format +msgid "%s not allowed with %s!\n" +msgstr "%s tidak dibolehkan dengan %s!\n" + +#: g10/g10.c:922 +#, c-format +msgid "%s makes no sense with %s!\n" +msgstr "%s tidak masuk akal dengan %s!\n" + +#: g10/g10.c:941 g10/g10.c:953 +msgid "selected cipher algorithm is invalid\n" +msgstr "algoritma cipher yang dipilih tidak valid\n" + +#: g10/g10.c:947 g10/g10.c:959 +msgid "selected digest algorithm is invalid\n" +msgstr "algoritma digest yang dipilih tidak valid\n" + +#: g10/g10.c:963 +msgid "the given policy URL is invalid\n" +msgstr "kebijakan URL yang diberikan tidak valid\n" + +#: g10/g10.c:966 +#, c-format +msgid "compress algorithm must be in range %d..%d\n" +msgstr "algoritma kompresi harus di antara %d..%d\n" + +#: g10/g10.c:968 +msgid "completes-needed must be greater than 0\n" +msgstr "completes-needed harus lebih dari 0\n" + +#: g10/g10.c:970 +msgid "marginals-needed must be greater than 1\n" +msgstr "marginals-needed harus lebih dari 1\n" + +#: g10/g10.c:972 +msgid "max-cert-depth must be in range 1 to 255\n" +msgstr "max-cert-depth harus di antara 1 hingga 255\n" + +#: g10/g10.c:975 +msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" +msgstr "CATATAN: mode S2K sederhana (0) tidak dianjurkan\n" + +#: g10/g10.c:979 +msgid "invalid S2K mode; must be 0, 1 or 3\n" +msgstr "mode S2K yang tidak valid; harus 0, 1 atau 3\n" + +#: g10/g10.c:1056 +#, c-format +msgid "failed to initialize the TrustDB: %s\n" +msgstr "gagal inisialisasi TrustDB: %s\n" + +#: g10/g10.c:1062 +msgid "--store [filename]" +msgstr "--store [namafile]" + +#: g10/g10.c:1069 +msgid "--symmetric [filename]" +msgstr "--symmetric [namafile]" + +#: g10/g10.c:1077 +msgid "--encrypt [filename]" +msgstr "--encrypt [namafile]" + +#: g10/g10.c:1090 +msgid "--sign [filename]" +msgstr "--sign [namafile]" + +#: g10/g10.c:1103 +msgid "--sign --encrypt [filename]" +msgstr "--sign --encrypt [namafile]" + +#: g10/g10.c:1117 +msgid "--clearsign [filename]" +msgstr "--clearsign [namafile]" + +#: g10/g10.c:1134 +msgid "--decrypt [filename]" +msgstr "--decrypt [namafile]" + +#: g10/g10.c:1142 +msgid "--sign-key user-id" +msgstr "--sign-key id-user" + +#: g10/g10.c:1150 +msgid "--lsign-key user-id" +msgstr "--lsign-key id-user" + +#: g10/g10.c:1158 +msgid "--edit-key user-id [commands]" +msgstr "--edit-key id-user [perintah]" + +#: g10/g10.c:1174 +msgid "--delete-secret-key user-id" +msgstr "--delete-secret-key id-user" + +#: g10/g10.c:1177 +msgid "--delete-key user-id" +msgstr "--delete-key id-user" + +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 +#, c-format +msgid "can't open %s: %s\n" +msgstr "tidak dapat membuka %s: %s\n" + +#: g10/g10.c:1229 +msgid "-k[v][v][v][c] [user-id] [keyring]" +msgstr "-k[v][v][v][c] [id-user] [keyring]" + +#: g10/g10.c:1280 +#, c-format +msgid "dearmoring failed: %s\n" +msgstr "gagal dearmoring: %s\n" + +#: g10/g10.c:1288 +#, c-format +msgid "enarmoring failed: %s\n" +msgstr "gagal enarmoring: %s\n" + +#: g10/g10.c:1356 +#, c-format +msgid "invalid hash algorithm `%s'\n" +msgstr "algoritma hash tidak valid `%s'\n" + +#: g10/g10.c:1437 +msgid "[filename]" +msgstr "[namafile]" + +#: g10/g10.c:1441 +msgid "Go ahead and type your message ...\n" +msgstr "Teruskan dan ketikkan pesan anda ....\n" + +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 +#, c-format +msgid "can't open `%s'\n" +msgstr "tidak dapat membuka `%s'\n" + +#: g10/g10.c:1613 +msgid "" +"the first character of a notation name must be a letter or an underscore\n" +msgstr "karakter pertama nama notasi harus huruf atau garis bawah\n" + +#: g10/g10.c:1619 +msgid "" +"a notation name must have only letters, digits, dots or underscores and end " +"with an '='\n" +msgstr "" +"nama notasi terdiri hanya dari huruf, digit, titik atau garis bawah dan " +"diakhiri dengan sebuah '='\n" + +#: g10/g10.c:1625 +msgid "dots in a notation name must be surrounded by other characters\n" +msgstr "titik dalam nama notasi harus diapit oleh karakter lain\n" + +#: g10/g10.c:1633 +msgid "a notation value must not use any control characters\n" +msgstr "nilai notasi tidak boleh menggunakan karakter kendali\n" + +#: g10/armor.c:296 +#, c-format +msgid "armor: %s\n" +msgstr "armor: %s\n" + +#: g10/armor.c:325 +msgid "invalid armor header: " +msgstr "header armor tidak valid: " + +#: g10/armor.c:332 +msgid "armor header: " +msgstr "header armor: " + +#: g10/armor.c:343 +msgid "invalid clearsig header\n" +msgstr "header clearsig tidak valid\n" + +#: g10/armor.c:395 +msgid "nested clear text signatures\n" +msgstr "signature teks bersarang\n" + +#: g10/armor.c:506 +msgid "invalid dash escaped line: " +msgstr "dash escaped line tidak valid: " + +#: g10/armor.c:518 +msgid "unexpected armor:" +msgstr "armor tidak terduga:" + +#: g10/armor.c:635 +#, c-format +msgid "invalid radix64 character %02x skipped\n" +msgstr "karakter radix64 tidak valid %02x dilewati\n" + +#: g10/armor.c:678 +msgid "premature eof (no CRC)\n" +msgstr "eof prematur (tanpa CRC)\n" + +#: g10/armor.c:712 +msgid "premature eof (in CRC)\n" +msgstr "eof prematur (dalam CRC)\n" + +#: g10/armor.c:716 +msgid "malformed CRC\n" +msgstr "CRC tidak tepat\n" + +#: g10/armor.c:720 +#, c-format +msgid "CRC error; %06lx - %06lx\n" +msgstr "kesalahan CRC; %06lx - %06lx\n" + +#: g10/armor.c:737 +msgid "premature eof (in Trailer)\n" +msgstr "eof prematur (dalam Trailer)\n" + +#: g10/armor.c:741 +msgid "error in trailer line\n" +msgstr "kesalahan dalam garis trailer\n" + +#: g10/armor.c:1012 +msgid "no valid OpenPGP data found.\n" +msgstr "tidak ditemukan data OpenPGP yang valid.\n" + +#: g10/armor.c:1017 +#, c-format +msgid "invalid armor: line longer than %d characters\n" +msgstr "armor tidak valid: baris melebihi %d karakter\n" + +#: g10/armor.c:1021 +msgid "" +"quoted printable character in armor - probably a buggy MTA has been used\n" +msgstr "" +"karakter dapat dicetak dalam armor - mungkin kesalahan pada MTA telah " +"dipakai\n" + +#. Translators: this shoud fit into 24 bytes to that the fingerprint +#. * data is properly aligned with the user ID +#: g10/pkclist.c:53 +msgid " Fingerprint:" +msgstr " Fingerprint:" + +#: g10/pkclist.c:80 +msgid "Fingerprint:" +msgstr "Fingerprint:" + +#. a string with valid answers +#: g10/pkclist.c:197 +msgid "sSmMqQ" +msgstr "sSmMqQ" + +#: g10/pkclist.c:201 +#, c-format +msgid "" +"No trust value assigned to %lu:\n" +"%4u%c/%08lX %s \"" +msgstr "" +"Tidak ada nilai trust untuk %lu:\n" +"%4u%c/%08lX %s \"" + +#: g10/pkclist.c:213 +msgid "" +"Please decide how far you trust this user to correctly\n" +"verify other users' keys (by looking at passports,\n" +"checking fingerprints from different sources...)?\n" +"\n" +" 1 = Don't know\n" +" 2 = I do NOT trust\n" +" 3 = I trust marginally\n" +" 4 = I trust fully\n" +" s = please show me more information\n" +msgstr "" +"Silakan putuskan seberapa jauh anda percaya user ini untuk\n" +"secara tepat memverifikasi kunci user lain (dengan melihat pada passpor,\n" +"memeriksa fingerprint dari berbagai sumber...)?\n" +" 1 = Tidak tahu\n" +" 2 = Saya TIDAK percaya\n" +" 3 = Saya cukup percaya\n" +" 4 = Saya sangat percaya\n" +" s = tampilkan lebih banyak informasi\n" +" \n" + +#: g10/pkclist.c:222 +msgid " m = back to the main menu\n" +msgstr " m = kembali ke menu utama\n" + +#: g10/pkclist.c:224 +msgid " q = quit\n" +msgstr " q = berhenti\n" + +#: g10/pkclist.c:230 +msgid "Your decision? " +msgstr "Keputusan anda? " + +#: g10/pkclist.c:252 +msgid "Certificates leading to an ultimately trusted key:\n" +msgstr "Sertifikat mengarahkan ke kunci terpercaya:\n" + +#: g10/pkclist.c:323 +msgid "" +"Could not find a valid trust path to the key. Let's see whether we\n" +"can assign some missing owner trust values.\n" +"\n" +msgstr "" +"Tidak dapat menemukan jalur trust yang valid ke kunci. Mari kita coba\n" +"apakah dapat mengisi nilai trust pemilik yang hilang.\n" + +#: g10/pkclist.c:329 +msgid "" +"No path leading to one of our keys found.\n" +"\n" +msgstr "" +"Tidak ditemukan jalur ke salah satu kunci.\n" +"\n" + +#: g10/pkclist.c:331 +msgid "" +"No certificates with undefined trust found.\n" +"\n" +msgstr "" +"Tidak ditemukan sertifikat dengan trust tak terdefinisi.\n" +"\n" + +#: g10/pkclist.c:333 +msgid "" +"No trust values changed.\n" +"\n" +msgstr "" +"Tidak ada perubahan nilai trust.\n" +"\n" + +#: g10/pkclist.c:351 +#, c-format +msgid "key %08lX: key has been revoked!\n" +msgstr "kunci %08lX: kunci telah dibatalkan!\n" + +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 +msgid "Use this key anyway? " +msgstr "Tetap gunakan kunci ini? " + +#: g10/pkclist.c:362 +#, c-format +msgid "key %08lX: subkey has been revoked!\n" +msgstr "kunci %08lX: subkey telah dibatalkan!\n" + +#: g10/pkclist.c:395 +#, c-format +msgid "%08lX: key has expired\n" +msgstr "%08lX: kunci telah berakhir\n" + +#: g10/pkclist.c:401 +#, c-format +msgid "%08lX: no info to calculate a trust probability\n" +msgstr "%08lX: tidak ada info untuk menghitung probabilitas trust\n" + +#: g10/pkclist.c:416 +#, c-format +msgid "%08lX: We do NOT trust this key\n" +msgstr "%08lX: Kita tidak percaya kunci ini\n" + +#: g10/pkclist.c:422 +#, c-format +msgid "" +"%08lX: It is not sure that this key really belongs to the owner\n" +"but it is accepted anyway\n" +msgstr "" +"%08lX: Tidak pasti kunci ini milik pemiliknya\n" +"tapi tetap diterima\n" + +#: g10/pkclist.c:428 +msgid "This key probably belongs to the owner\n" +msgstr "Kunci ini mungkin milik pemiliknya\n" + +#: g10/pkclist.c:433 +msgid "This key belongs to us\n" +msgstr "Kunci ini milik kita\n" + +#: g10/pkclist.c:476 +msgid "" +"It is NOT certain that the key belongs to its owner.\n" +"If you *really* know what you are doing, you may answer\n" +"the next question with yes\n" +"\n" +msgstr "" +"Tidak pasti bahwa kunci milik pemiliknya.\n" +"Jika anda benar-benar tahu apa yang sedang anda lakukan, anda boleh " +"menjawab\n" +"pertanyaan berikut dengan ya\n" + +#: g10/pkclist.c:490 g10/pkclist.c:513 +msgid "WARNING: Using untrusted key!\n" +msgstr "PERINGATAN: Menggunakan kunci tidak dipercaya!\n" + +#: g10/pkclist.c:534 +msgid "WARNING: This key has been revoked by its owner!\n" +msgstr "PERINGATAN: Kunci ini telah dibatalkan oleh pemiliknya!\n" + +#: g10/pkclist.c:535 +msgid " This could mean that the signature is forgery.\n" +msgstr " Mungkin signature adalah palsu.\n" + +#: g10/pkclist.c:539 +msgid "WARNING: This subkey has been revoked by its owner!\n" +msgstr "PERINGATAN: Subkey ini telah dibatalkan oleh pemiliknya!\n" + +#: g10/pkclist.c:560 +msgid "Note: This key has expired!\n" +msgstr "Catatan: Kunci ini telah berakhir!\n" + +#: g10/pkclist.c:568 +msgid "WARNING: This key is not certified with a trusted signature!\n" +msgstr "" +"PERINGATAN: Kunci ini tidak disertifikasi dengan sig yang terpercaya!\n" + +#: g10/pkclist.c:570 +msgid "" +" There is no indication that the signature belongs to the owner.\n" +msgstr " Tidak ada indikasi signature milik pemilik.\n" + +#: g10/pkclist.c:587 +msgid "WARNING: We do NOT trust this key!\n" +msgstr "PERINGATAN: Kita tidak percaya kunci ini!\n" + +#: g10/pkclist.c:588 +msgid " The signature is probably a FORGERY.\n" +msgstr " Signature mungkin palsu.\n" + +#: g10/pkclist.c:595 +msgid "" +"WARNING: This key is not certified with sufficiently trusted signatures!\n" +msgstr "" +"PERINGATAN: Kunci ini tidak disertifikasi dengan signature terpercaya yang " +"cukup!\n" + +#: g10/pkclist.c:598 +msgid " It is not certain that the signature belongs to the owner.\n" +msgstr " Tidak pasti signature milik pemilik.\n" + +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 +#, c-format +msgid "%s: skipped: %s\n" +msgstr "%s: dilewati: %s\n" + +#: g10/pkclist.c:708 g10/pkclist.c:875 +#, c-format +msgid "%s: skipped: public key already present\n" +msgstr "%s: dilewati: kunci publik telah ada\n" + +#: g10/pkclist.c:735 +msgid "" +"You did not specify a user ID. (you may use \"-r\")\n" +"\n" +msgstr "Anda tidak menspesifikasikan ID user. (anda dapat gunakan \"-r\")\n" + +#: g10/pkclist.c:745 +msgid "Enter the user ID: " +msgstr "Masukkan ID user: " + +#: g10/pkclist.c:757 +msgid "No such user ID.\n" +msgstr "Tidak ada ID user tersebut.\n" + +#: g10/pkclist.c:762 +msgid "skipped: public key already set as default recipient\n" +msgstr "dilewati: kunci publik telah diset sebagai penerima baku\n" + +#: g10/pkclist.c:785 +msgid "Public key is disabled.\n" +msgstr "Kunci publik dimatikan.\n" + +#: g10/pkclist.c:792 +msgid "skipped: public key already set with --encrypt-to\n" +msgstr "dilewati: kunci publik telah diset dengan --encrypt-to\n" + +#: g10/pkclist.c:823 +#, c-format +msgid "unknown default recipient `%s'\n" +msgstr "penerima baku tidak dikenal `%s'\n" + +#: g10/pkclist.c:856 +#, c-format +msgid "%s: error checking key: %s\n" +msgstr "%s: kesalahan memeriksa kunci: %s\n" + +#: g10/pkclist.c:861 +#, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s: dilewati: kunci publik dimatikan\n" + +#: g10/pkclist.c:899 +msgid "no valid addressees\n" +msgstr "tidak ada alamat yang valid\n" + +#: g10/keygen.c:123 +msgid "writing self signature\n" +msgstr "menulis self signature\n" + +#: g10/keygen.c:161 +msgid "writing key binding signature\n" +msgstr "menulis key binding signature\n" + +#: g10/keygen.c:387 +msgid "Please select what kind of key you want:\n" +msgstr "Silakan pilih kunci yang anda inginkan:\n" + +#: g10/keygen.c:389 +#, c-format +msgid " (%d) DSA and ElGamal (default)\n" +msgstr " (%d) DSA dan ElGamal (baku)\n" + +#: g10/keygen.c:390 +#, c-format +msgid " (%d) DSA (sign only)\n" +msgstr " (%d) DSA (hanya menandai)\n" + +#: g10/keygen.c:392 +#, c-format +msgid " (%d) ElGamal (encrypt only)\n" +msgstr " (%d) ElGamal (hanya enkripsi)\n" + +#: g10/keygen.c:393 +#, c-format +msgid " (%d) ElGamal (sign and encrypt)\n" +msgstr " (%d) ElGamal (tandai dan enkripsi)\n" + +#: g10/keygen.c:395 +#, c-format +msgid " (%d) ElGamal in a v3 packet\n" +msgstr " (%d) ElGamal dalam paket v3\n" + +#: g10/keygen.c:400 +msgid "Your selection? " +msgstr "Pilihan anda? " + +#: g10/keygen.c:410 +msgid "Do you really want to create a sign and encrypt key? " +msgstr "Anda ingin membuat kunci sign dan enkripsi? " + +#: g10/keygen.c:431 +msgid "Invalid selection.\n" +msgstr "Pilihan yang tidak valid.\n" + +#: g10/keygen.c:443 +#, c-format +msgid "" +"About to generate a new %s keypair.\n" +" minimum keysize is 768 bits\n" +" default keysize is 1024 bits\n" +" highest suggested keysize is 2048 bits\n" +msgstr "" +"Akan membuat satu pasang kunci baru %s.\n" +" keysize minimum adalah 768 bit\n" +" keysize default adalah 1024 bit\n" +" keysize tertinggi dianjurkan 2048 bit\n" + +#: g10/keygen.c:450 +msgid "What keysize do you want? (1024) " +msgstr "Keysize yang anda inginkan? (1024) " + +#: g10/keygen.c:455 +msgid "DSA only allows keysizes from 512 to 1024\n" +msgstr "DSA hanya membolehkan keysize dari 512 hingga 1024\n" + +#: g10/keygen.c:457 +msgid "keysize too small; 768 is smallest value allowed.\n" +msgstr "keysize terlalu kecil; 768 adalah nilai terendah yang diijinkan.\n" + +#. It is ridiculous and an annoyance to use larger key sizes! +#. * GnuPG can handle much larger sizes; but it takes an eternity +#. * to create such a key (but less than the time the Sirius +#. * Computer Corporation needs to process one of the usual +#. * complaints) and {de,en}cryption although needs some time. +#. * So, before you complain about this limitation, I suggest that +#. * you start a discussion with Marvin about this theme and then +#. * do whatever you want. +#: g10/keygen.c:467 +#, c-format +msgid "keysize too large; %d is largest value allowed.\n" +msgstr "keysize terlalu besar; %d adalah nilai tertinggi yang diijinkan.\n" + +#: g10/keygen.c:472 +msgid "" +"Keysizes larger than 2048 are not suggested because\n" +"computations take REALLY long!\n" +msgstr "" +"Keysize lebih besar dari 2048 tidak dianjurkan karena\n" +"komputasi akan sangat lama!\n" + +#: g10/keygen.c:475 +msgid "Are you sure that you want this keysize? " +msgstr "Apakah anda yakin memerlukan keysize ini? " + +#: g10/keygen.c:476 +msgid "" +"Okay, but keep in mind that your monitor and keyboard radiation is also very " +"vulnerable to attacks!\n" +msgstr "" +"Oke, tetapi ingat bahwa radiasi monitor dan keyboard anda juga sangat mudah " +"diserang!\n" + +#: g10/keygen.c:484 +msgid "Do you really need such a large keysize? " +msgstr "Apakah anda perlu keysize berukuran besar tersebut? " + +#: g10/keygen.c:490 +#, c-format +msgid "Requested keysize is %u bits\n" +msgstr "Keysize yang diminta adalah %u bit\n" + +#: g10/keygen.c:493 g10/keygen.c:497 +#, c-format +msgid "rounded up to %u bits\n" +msgstr "dibulatkan hingga %u bit\n" + +#: g10/keygen.c:510 +msgid "" +"Please specify how long the key should be valid.\n" +" 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\n" +msgstr "" +"Silakan spesifikasikan lama kunci tetap valid.\n" +" 0 = kunci tidak pernah berakhir\n" +" = kunci berakhir dalam n hari\n" +" w = kunci berakhir dalam n minggu\n" +" m = kunci berakhir dalam n bulan\n" +" y = kunci berakhir dalam n tahun\n" + +#: g10/keygen.c:527 +msgid "Key is valid for? (0) " +msgstr "Kunci valid untuk? (0) " + +#: g10/keygen.c:548 +msgid "invalid value\n" +msgstr "nilai yang tidak valid\n" + +#: g10/keygen.c:553 +msgid "Key does not expire at all\n" +msgstr "Kunci tidak pernah berakhir\n" + +#. print the date when the key expires +#: g10/keygen.c:559 +#, c-format +msgid "Key expires at %s\n" +msgstr "Kunci berakhir pada %s\n" + +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" + +#: g10/keygen.c:567 +msgid "Is this correct (y/n)? " +msgstr "Benar (y/t)? " + +#: g10/keygen.c:610 +msgid "" +"\n" +"You need a User-ID to identify your key; the software constructs the user " +"id\n" +"from Real Name, Comment and Email Address in this form:\n" +" \"Heinrich Heine (Der Dichter) \"\n" +"\n" +msgstr "" +"\n" +"Anda perlu sebuah User-ID untuk mengidentifikasi kunci anda; software " +"membuat \n" +"user-id dari Nama sebenarnya, Komentar dan Alamat email dalam bentuk:\n" +" \"Heinrich Heine (Der Dichter) \"\n" + +#: g10/keygen.c:621 +msgid "Real name: " +msgstr "Nama sebenarnya: " + +#: g10/keygen.c:625 +msgid "Invalid character in name\n" +msgstr "Karakter tidak valid dalam nama\n" + +#: g10/keygen.c:627 +msgid "Name may not start with a digit\n" +msgstr "Nama tidak boleh dimulai dengan digit\n" + +#: g10/keygen.c:629 +msgid "Name must be at least 5 characters long\n" +msgstr "Nama harus berukuran minimum 5 karakter\n" + +#: g10/keygen.c:637 +msgid "Email address: " +msgstr "Alamat email: " + +#: g10/keygen.c:648 +msgid "Not a valid email address\n" +msgstr "Bukan alamat email yang valid\n" + +#: g10/keygen.c:656 +msgid "Comment: " +msgstr "Komentar: " + +#: g10/keygen.c:662 +msgid "Invalid character in comment\n" +msgstr "Karakter tidak valid dalam komentar\n" + +#: g10/keygen.c:684 +#, c-format +msgid "You are using the `%s' character set.\n" +msgstr "Anda menggunakan set karakter `%s'.\n" + +#: g10/keygen.c:690 +#, c-format +msgid "" +"You selected this USER-ID:\n" +" \"%s\"\n" +"\n" +msgstr "" +"Anda memilih USER-ID ini:\n" +" \"%s\"\n" + +#: g10/keygen.c:693 +msgid "NnCcEeOoQq" +msgstr "NnKkEeOoQq" + +#: g10/keygen.c:703 +msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " +msgstr "Ganti (N)ama, (K)omentar, (E)mail atau (O)ke/(Q)uit? " + +#: g10/keygen.c:755 +msgid "" +"You need a Passphrase to protect your secret key.\n" +"\n" +msgstr "" +"Anda perlu sebuah passphrase untuk melindungi kunci rahasia anda.\n" +"\n" + +#: g10/keyedit.c:456 g10/keygen.c:763 +msgid "passphrase not correctly repeated; try again.\n" +msgstr "passphrase tidak diulang dengan benar; coba lagi.\n" + +#: g10/keygen.c:769 +msgid "" +"You don't want a passphrase - this is probably a *bad* idea!\n" +"I will do it anyway. You can change your passphrase at any time,\n" +"using this program with the option \"--edit-key\".\n" +"\n" +msgstr "" +"Anda tidak ingin sebuah passphrase - ini mungkin ide yang buruk!\n" +"Namun saya akan tetap lakukan. Anda dapat merubah passphrase anda setiap " +"saat,\n" +"menggunakan program ini dengan pilihan \"--edit-key\".\n" + +#: g10/keygen.c:790 +msgid "" +"We need to generate a lot of random bytes. It is a good idea to perform\n" +"some other action (type on the keyboard, move the mouse, utilize the\n" +"disks) during the prime generation; this gives the random number\n" +"generator a better chance to gain enough entropy.\n" +msgstr "" +"Kita perlu membuat banyak byte random. Adalah ide yang baik untuk melakukan\n" +"aksi lain (mengetik pada keyboard, menggerakkan mouse, memakai disk)\n" +"selama pembuatan prima; ini akan memberi random number generator kesempatan\n" +"yang baik untuk memperoleh entropi.\n" + +#: g10/keygen.c:860 +msgid "Key generation can only be used in interactive mode\n" +msgstr "Pembuatan kunci hanya dapat digunakan dalam mode interaktif\n" + +#: g10/keygen.c:868 +msgid "DSA keypair will have 1024 bits.\n" +msgstr "Keypair DSA akan memiliki 1024 bit.\n" + +#: g10/keygen.c:874 +msgid "Key generation canceled.\n" +msgstr "Pembuatan kunci dibatalkan.\n" + +#: g10/keygen.c:884 +#, c-format +msgid "writing public certificate to `%s'\n" +msgstr "menulis sertifikat publik ke `%s'\n" + +#: g10/keygen.c:885 +#, c-format +msgid "writing secret certificate to `%s'\n" +msgstr "menulis sertifikat rahasia ke `%s'\n" + +#: g10/keygen.c:962 +msgid "public and secret key created and signed.\n" +msgstr "kunci publik dan rahasia dibuat dan ditandai.\n" + +#: g10/keygen.c:964 +msgid "" +"Note that this key cannot be used for encryption. You may want to use\n" +"the command \"--edit-key\" to generate a secondary key for this purpose.\n" +msgstr "" +"Perhatikan bahwa kunci ini tidak dapat digunakan untuk enkripsi. Anda \n" +"mungkin ingin menggunakan perintah \"--edit-key\" untuk membuat kunci kedua " +"untuktujuan ini.\n" + +#: g10/keygen.c:978 g10/keygen.c:1077 +#, c-format +msgid "Key generation failed: %s\n" +msgstr "Pembuatan kunci gagal: %s\n" + +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 +#, c-format +msgid "" +"key has been created %lu second in future (time warp or clock problem)\n" +msgstr "" +"kunci telah diciptakan dalam %lu detik mendatang (masalah waktu atau jam)\n" + +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 +#, c-format +msgid "" +"key has been created %lu seconds in future (time warp or clock problem)\n" +msgstr "" +"kunci telah diciptakan dalam %lu detik mendatang (masalah waktu atau jam)\n" + +#: g10/keygen.c:1055 +msgid "Really create? " +msgstr "Ingin diciptakan? " + +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 +#, c-format +msgid "%s: can't open: %s\n" +msgstr "%s: tidak dapat dibuka: %s\n" + +#: g10/encode.c:113 +#, c-format +msgid "error creating passphrase: %s\n" +msgstr "kesalahan penciptaan passphrase: %s\n" + +#: g10/encode.c:171 g10/encode.c:319 +#, c-format +msgid "%s: WARNING: empty file\n" +msgstr "%s: PERINGATAN: file kosong\n" + +#: g10/encode.c:266 +#, c-format +msgid "reading from `%s'\n" +msgstr "Membaca dari `%s'\n" + +#: g10/encode.c:483 +#, c-format +msgid "%s/%s encrypted for: %s\n" +msgstr "%s/%s dienkripsi untuk: %s\n" + +#: g10/export.c:147 +#, c-format +msgid "%s: user not found: %s\n" +msgstr "%s: user tidak ditemukan: %s\n" + +#: g10/export.c:156 +#, c-format +msgid "certificate read problem: %s\n" +msgstr "masalah pembacaan sertifikat: %s\n" + +#: g10/export.c:165 +#, c-format +msgid "key %08lX: not a rfc2440 key - skipped\n" +msgstr "kunci %08lX: bukan kunci rfc2440 - dilewati\n" + +#: g10/export.c:203 +msgid "WARNING: nothing exported\n" +msgstr "PERINGATAN: tidak ada yang diekspor\n" + +#: g10/getkey.c:206 +msgid "too many entries in pk cache - disabled\n" +msgstr "terlalu banyak masukan dalam pk cache - ditiadakan\n" + +#: g10/getkey.c:345 +msgid "too many entries in unk cache - disabled\n" +msgstr "terlalu banyak masukan di unk cache - ditiadakan\n" + +#: g10/getkey.c:1294 g10/getkey.c:1333 +msgid "RSA key cannot be used in this version\n" +msgstr "Kunci RSA tidak dapat digunakan pada versi ini\n" + +#: g10/getkey.c:1296 g10/getkey.c:1335 +msgid "No key for user ID\n" +msgstr "Tidak ada kunci untuk ID user\n" + +#: g10/getkey.c:1374 g10/getkey.c:1414 +msgid "No user ID for key\n" +msgstr "Tidak ada ID user untuk kunci\n" + +#: g10/getkey.c:1570 g10/getkey.c:1626 +#, c-format +msgid "using secondary key %08lX instead of primary key %08lX\n" +msgstr "menggunakan kunci sekunder %08lX selain kunci primer %08lX\n" + +#: g10/import.c:124 +#, c-format +msgid "can't open `%s': %s\n" +msgstr "tidak dapat membuka `%s': %s\n" + +#: g10/import.c:178 +#, c-format +msgid "skipping block of type %d\n" +msgstr "melewati blok tipe %d\n" + +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 +#, c-format +msgid "%lu keys so far processed\n" +msgstr "%lu kunci telah diproses\n" + +#: g10/import.c:190 +#, c-format +msgid "error reading `%s': %s\n" +msgstr "kesalahan membaca `%s': %s\n" + +#: g10/import.c:200 +#, c-format +msgid "Total number processed: %lu\n" +msgstr "Jumlah yang telah diproses: %lu\n" + +#: g10/import.c:202 +#, c-format +msgid " w/o user IDs: %lu\n" +msgstr " tanpa ID user: %lu\n" + +#: g10/import.c:204 +#, c-format +msgid " imported: %lu" +msgstr " diimpor: %lu" + +#: g10/import.c:210 +#, c-format +msgid " unchanged: %lu\n" +msgstr " tidak berubah: %lu\n" + +#: g10/import.c:212 +#, c-format +msgid " new user IDs: %lu\n" +msgstr " ID user baru: %lu\n" + +#: g10/import.c:214 +#, c-format +msgid " new subkeys: %lu\n" +msgstr " subkey baru: %lu\n" + +#: g10/import.c:216 +#, c-format +msgid " new signatures: %lu\n" +msgstr " signature baru: %lu\n" + +#: g10/import.c:218 +#, c-format +msgid " new key revocations: %lu\n" +msgstr " pembatalan kunci baru: %lu\n" + +#: g10/import.c:220 +#, c-format +msgid " secret keys read: %lu\n" +msgstr " kunci rahasia dibaca: %lu\n" + +#: g10/import.c:222 +#, c-format +msgid " secret keys imported: %lu\n" +msgstr " kunci rahasia diimpor: %lu\n" + +#: g10/import.c:224 +#, c-format +msgid " secret keys unchanged: %lu\n" +msgstr " kunci rahasia tetap: %lu\n" + +#: g10/import.c:383 g10/import.c:575 +#, c-format +msgid "key %08lX: no user ID\n" +msgstr "kunci %08lX: tidak ada ID user\n" + +#: g10/import.c:397 +#, c-format +msgid "key %08lX: no valid user IDs\n" +msgstr "kunci %08lX: tidak ada ID user yang valid\n" + +#: g10/import.c:399 +msgid "this may be caused by a missing self-signature\n" +msgstr "mungkin disebabkan oleh self-signature yang tidak ada\n" + +#: g10/import.c:410 g10/import.c:642 +#, c-format +msgid "key %08lX: public key not found: %s\n" +msgstr "kunci %08lX: kunci publik tidak ditemukan: %s\n" + +#: g10/import.c:416 +msgid "no default public keyring\n" +msgstr "tidak ada keyring publik baku\n" + +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 +#, c-format +msgid "writing to `%s'\n" +msgstr "menulis ke `%s'\n" + +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 +#, c-format +msgid "can't lock keyring `%s': %s\n" +msgstr "tidak dapat mengunci keyring `%s': %s\n" + +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 +#, c-format +msgid "error writing keyring `%s': %s\n" +msgstr "kesalahan menulis keyring `%s': %s\n" + +#: g10/import.c:431 +#, c-format +msgid "key %08lX: public key imported\n" +msgstr "kunci %08lX: kunci publik diimpor\n" + +#: g10/import.c:448 +#, c-format +msgid "key %08lX: doesn't match our copy\n" +msgstr "kunci %08lX: tidak cocok dengan duplikat kami\n" + +#: g10/import.c:457 g10/import.c:650 +#, c-format +msgid "key %08lX: can't locate original keyblock: %s\n" +msgstr "kunci %08lX: tidak dapat mengalokasi keyblok orisinal: %s\n" + +#: g10/import.c:463 g10/import.c:656 +#, c-format +msgid "key %08lX: can't read original keyblock: %s\n" +msgstr "kunci %08lX: tidak dapat membaca keyblok orisinal: %s\n" + +#: g10/import.c:490 +#, c-format +msgid "key %08lX: 1 new user ID\n" +msgstr "kunci %08lX: 1 user ID baru\n" + +#: g10/import.c:493 +#, c-format +msgid "key %08lX: %d new user IDs\n" +msgstr "kunci %08lX: %d user ID baru\n" + +#: g10/import.c:496 +#, c-format +msgid "key %08lX: 1 new signature\n" +msgstr "kunci %08lX: 1 signature baru\n" + +#: g10/import.c:499 +#, c-format +msgid "key %08lX: %d new signatures\n" +msgstr "kunci %08lX: %d signature baru\n" + +#: g10/import.c:502 +#, c-format +msgid "key %08lX: 1 new subkey\n" +msgstr "kunci %08lX: 1 subkey baru\n" + +#: g10/import.c:505 +#, c-format +msgid "key %08lX: %d new subkeys\n" +msgstr "kunci %08lX: %d subkey baru\n" + +#: g10/import.c:515 +#, c-format +msgid "key %08lX: not changed\n" +msgstr "kunci %08lX: tidak berubah\n" + +#: g10/import.c:598 +#, c-format +msgid "key %08lX: secret key imported\n" +msgstr "kunci %08lX: kunci rahasia diimpor\n" + +#. we can't merge secret keys +#: g10/import.c:602 +#, c-format +msgid "key %08lX: already in secret keyring\n" +msgstr "kunci %08lX: sudah ada di keyring rahasia\n" + +#: g10/import.c:607 +#, c-format +msgid "key %08lX: secret key not found: %s\n" +msgstr "kunci %08lX: kunci rahasia tidak ditemukan: %s\n" + +#: g10/import.c:636 +#, c-format +msgid "key %08lX: no public key - can't apply revocation certificate\n" +msgstr "" +"kunci %08lX: tidak ada kunci publik - tidak dapat mengaplikasikan sertifikat " +"pembatalan\n" + +#: g10/import.c:667 +#, c-format +msgid "key %08lX: invalid revocation certificate: %s - rejected\n" +msgstr "kunci %08lX: sertifikat pembatalan tidak valid: %s - ditolak\n" + +#: g10/import.c:699 +#, c-format +msgid "key %08lX: revocation certificate imported\n" +msgstr "kunci %08lX: sertifikat pembatalan diimpor\n" + +#: g10/import.c:741 +#, c-format +msgid "key %08lX: no user ID for signature\n" +msgstr "kunci %08lX: tidak ada ID user untuk signature\n" + +#: g10/import.c:748 g10/import.c:772 +#, c-format +msgid "key %08lX: unsupported public key algorithm\n" +msgstr "kunci %08lX: algoritma publik key tidak didukung\n" + +#: g10/import.c:749 +#, c-format +msgid "key %08lX: invalid self-signature\n" +msgstr "kunci %08lX: self-signature tidak valid\n" + +#: g10/import.c:764 +#, c-format +msgid "key %08lX: no subkey for key binding\n" +msgstr "kunci %08lX: tidak ada subkey untuk key binding\n" + +#: g10/import.c:773 +#, c-format +msgid "key %08lX: invalid subkey binding\n" +msgstr "kunci %08lX: subkey binding tidak valid\n" + +#: g10/import.c:800 +#, c-format +msgid "key %08lX: accepted non self-signed user ID '" +msgstr "kunci %08lX: menerima ID user yang tidak self-signed " + +#: g10/import.c:829 +#, c-format +msgid "key %08lX: skipped user ID '" +msgstr "kunci %08lX: melewati ID user " + +#: g10/import.c:852 +#, c-format +msgid "key %08lX: skipped subkey\n" +msgstr "kunci %08lX: melewati subkey\n" + +#. here we violate the rfc a bit by still allowing +#. * to import non-exportable signature when we have the +#. * the secret key used to create this signature - it +#. * seems that this makes sense +#: g10/import.c:877 +#, c-format +msgid "key %08lX: non exportable signature (class %02x) - skipped\n" +msgstr "kunci %08lX: signature tidak dapat diekpor (kelas %02x) - dilewati\n" + +#: g10/import.c:886 +#, c-format +msgid "key %08lX: revocation certificate at wrong place - skipped\n" +msgstr "kunci %08lX: sertifikat pembatalan di tempat yang salah - dilewati\n" + +#: g10/import.c:894 +#, c-format +msgid "key %08lX: invalid revocation certificate: %s - skipped\n" +msgstr "kunci %08lX: sertifikat pembatalan tidak valid: %s - dilewati\n" + +#: g10/import.c:994 +#, c-format +msgid "key %08lX: duplicated user ID detected - merged\n" +msgstr "kunci %08lX: terdeteksi ID user duplikat - digabungkan\n" + +#: g10/import.c:1045 +#, c-format +msgid "key %08lX: revocation certificate added\n" +msgstr "kunci %08lX: penambahan sertifikat pembatalan\n" + +#: g10/import.c:1159 g10/import.c:1212 +#, c-format +msgid "key %08lX: our copy has no self-signature\n" +msgstr "kunci %08lX: salinan kita tidak memiliki self-signature\n" + +#: g10/delkey.c:64 g10/keyedit.c:93 +#, c-format +msgid "%s: user not found\n" +msgstr "%s: user tidak ditemukan\n" + +#: g10/keyedit.c:154 +msgid "[revocation]" +msgstr "[pembatalan]" + +#: g10/keyedit.c:155 +msgid "[self-signature]" +msgstr "[self-signature]" + +#: g10/keyedit.c:219 +msgid "1 bad signature\n" +msgstr "1 signature yang buruk\n" + +#: g10/keyedit.c:221 +#, c-format +msgid "%d bad signatures\n" +msgstr "%d signature yang buruk\n" + +#: g10/keyedit.c:223 +msgid "1 signature not checked due to a missing key\n" +msgstr "1 signature tidak diperiksa karena tidak ada kunci\n" + +#: g10/keyedit.c:225 +#, c-format +msgid "%d signatures not checked due to missing keys\n" +msgstr "%d signature tidak diperiksa karena tidak ada kunci\n" + +#: g10/keyedit.c:227 +msgid "1 signature not checked due to an error\n" +msgstr "1 signature tidak diperiksa karena kesalahan\n" + +#: g10/keyedit.c:229 +#, c-format +msgid "%d signatures not checked due to errors\n" +msgstr "%d signature tidak diperiksa karena ada kesalahan\n" + +#: g10/keyedit.c:231 +msgid "1 user ID without valid self-signature detected\n" +msgstr "terdeteksi 1 ID user tanpa self-signature yang valid\n" + +#: g10/keyedit.c:233 +#, c-format +msgid "%d user IDs without valid self-signatures detected\n" +msgstr "terdeteksi ID %d user tanpa self-signature yang valid\n" + +#. Fixme: see whether there is a revocation in which +#. * case we should allow to sign it again. +#: g10/keyedit.c:313 +#, c-format +msgid "Already signed by key %08lX\n" +msgstr "Sudah ditandai dengan kunci %08lX\n" + +#: g10/keyedit.c:321 +#, c-format +msgid "Nothing to sign with key %08lX\n" +msgstr "Tidak ada yang ditandai dengan kunci %08lX\n" + +#: g10/keyedit.c:330 +msgid "" +"Are you really sure that you want to sign this key\n" +"with your key: \"" +msgstr "" +"Apakah anda yakin untuk menandai kunci ini \n" +"dengan kunci anda: " + +#: g10/keyedit.c:339 +msgid "" +"The signature will be marked as non-exportable.\n" +"\n" +msgstr "" +"Signature akan ditandai sebagai tidak dapat diekspor.\n" +"\n" + +#: g10/keyedit.c:344 +msgid "Really sign? " +msgstr "Ditandai? " + +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 +#, c-format +msgid "signing failed: %s\n" +msgstr "gagal menandai: %s\n" + +#: g10/keyedit.c:423 +msgid "This key is not protected.\n" +msgstr "Kunci ini tidak diproteksi.\n" + +#: g10/keyedit.c:426 +msgid "Key is protected.\n" +msgstr "Kunci diproteksi.\n" + +#: g10/keyedit.c:443 +#, c-format +msgid "Can't edit this key: %s\n" +msgstr "Tidak dapat mengedit kunci ini: %s\n" + +#: g10/keyedit.c:448 +msgid "" +"Enter the new passphrase for this secret key.\n" +"\n" +msgstr "" +"Masukkan passphrase baru untuk kunci rahasia ini.\n" +"\n" + +#: g10/keyedit.c:460 +msgid "" +"You don't want a passphrase - this is probably a *bad* idea!\n" +"\n" +msgstr "" +"Anda tidak ingin passphrase - bukan ide yang baik!\n" +"\n" + +#: g10/keyedit.c:463 +msgid "Do you really want to do this? " +msgstr "Apakah anda ingin melakukan hal ini? " + +#: g10/keyedit.c:524 +msgid "moving a key signature to the correct place\n" +msgstr "memindahkan signature kunci ke tempat yang tepat\n" + +#: g10/keyedit.c:564 +msgid "quit this menu" +msgstr "berhenti dari menu ini" + +#: g10/keyedit.c:565 +msgid "q" +msgstr "q" + +#: g10/keyedit.c:566 +msgid "save" +msgstr "simpan" + +#: g10/keyedit.c:566 +msgid "save and quit" +msgstr "simpan dan berhenti" + +#: g10/keyedit.c:567 +msgid "help" +msgstr "bantuan" + +#: g10/keyedit.c:567 +msgid "show this help" +msgstr "tampilkan bantuan" + +#: g10/keyedit.c:569 +msgid "fpr" +msgstr "fpr" + +#: g10/keyedit.c:569 +msgid "show fingerprint" +msgstr "tampilkan fingerprint" + +#: g10/keyedit.c:570 +msgid "list" +msgstr "tampilkan" + +#: g10/keyedit.c:570 +msgid "list key and user IDs" +msgstr "tampilkan kunci dan ID user" + +#: g10/keyedit.c:571 +msgid "l" +msgstr "l" + +#: g10/keyedit.c:572 +msgid "uid" +msgstr "uid" + +#: g10/keyedit.c:572 +msgid "select user ID N" +msgstr "pilih ID user N" + +#: g10/keyedit.c:573 +msgid "key" +msgstr "kunci" + +#: g10/keyedit.c:573 +msgid "select secondary key N" +msgstr "pilih kunci sekunder N" + +#: g10/keyedit.c:574 +msgid "check" +msgstr "periksa" + +#: g10/keyedit.c:574 +msgid "list signatures" +msgstr "tampilkan signature" + +#: g10/keyedit.c:575 +msgid "c" +msgstr "c" + +#: g10/keyedit.c:576 +msgid "sign" +msgstr "tandai" + +#: g10/keyedit.c:576 +msgid "sign the key" +msgstr "tandai kunci" + +#: g10/keyedit.c:577 +msgid "s" +msgstr "s" + +#: g10/keyedit.c:578 +msgid "lsign" +msgstr "lsign" + +#: g10/keyedit.c:578 +msgid "sign the key locally" +msgstr "tandai kunci secara lokal" + +#: g10/keyedit.c:579 +msgid "debug" +msgstr "debug" + +#: g10/keyedit.c:580 +msgid "adduid" +msgstr "adduid" + +#: g10/keyedit.c:580 +msgid "add a user ID" +msgstr "tambah sebuah ID user" + +#: g10/keyedit.c:581 +msgid "deluid" +msgstr "deluid" + +#: g10/keyedit.c:581 +msgid "delete user ID" +msgstr "hapus ID user" + +#: g10/keyedit.c:582 +msgid "addkey" +msgstr "addkey" + +#: g10/keyedit.c:582 +msgid "add a secondary key" +msgstr "tambah kunci sekunder" + +#: g10/keyedit.c:583 +msgid "delkey" +msgstr "delkey" + +#: g10/keyedit.c:583 +msgid "delete a secondary key" +msgstr "hapus kunci sekunder" + +#: g10/keyedit.c:584 +msgid "delsig" +msgstr "delsig" + +#: g10/keyedit.c:584 +msgid "delete signatures" +msgstr "hapus signature" + +#: g10/keyedit.c:585 +msgid "expire" +msgstr "expire" + +#: g10/keyedit.c:585 +msgid "change the expire date" +msgstr "ubah tanggal kadaluarsa" + +#: g10/keyedit.c:586 +msgid "toggle" +msgstr "toggle" + +#: g10/keyedit.c:586 +msgid "toggle between secret and public key listing" +msgstr "ubah tampilan kunci rahasia dan publik" + +#: g10/keyedit.c:588 +msgid "t" +msgstr "t" + +#: g10/keyedit.c:589 +msgid "pref" +msgstr "pref" + +#: g10/keyedit.c:589 +msgid "list preferences" +msgstr "tampilkan preferensi" + +#: g10/keyedit.c:590 +msgid "passwd" +msgstr "passwd" + +#: g10/keyedit.c:590 +msgid "change the passphrase" +msgstr "ubah passphrase" + +#: g10/keyedit.c:591 +msgid "trust" +msgstr "trust" + +#: g10/keyedit.c:591 +msgid "change the ownertrust" +msgstr "ubah ownertrust" + +#: g10/keyedit.c:592 +msgid "revsig" +msgstr "revsig" + +#: g10/keyedit.c:592 +msgid "revoke signatures" +msgstr "batalkan signature" + +#: g10/keyedit.c:593 +msgid "revkey" +msgstr "revkey" + +#: g10/keyedit.c:593 +msgid "revoke a secondary key" +msgstr "batalkan kunci sekunder" + +#: g10/keyedit.c:594 +msgid "disable" +msgstr "disable" + +#: g10/keyedit.c:594 +msgid "disable a key" +msgstr "tiadakan kunci" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "enable" + +#: g10/keyedit.c:595 +msgid "enable a key" +msgstr "aktifkan kunci" + +#: g10/delkey.c:107 g10/keyedit.c:614 +msgid "can't do that in batchmode\n" +msgstr "tidak dapat dilakukan dalam mode batch\n" + +#. check that they match +#. fixme: check that they both match +#: g10/keyedit.c:652 +msgid "Secret key is available.\n" +msgstr "Kunci rahasia tersedia.\n" + +#: g10/keyedit.c:681 +msgid "Command> " +msgstr "Perintah> " + +#: g10/keyedit.c:711 +msgid "Need the secret key to do this.\n" +msgstr "Perlu kunci rahasia.\n" + +#: g10/keyedit.c:758 +msgid "Really sign all user IDs? " +msgstr "Tandai ID seluruh user? " + +#: g10/keyedit.c:759 +msgid "Hint: Select the user IDs to sign\n" +msgstr "Petunjuk: Pilih ID user untuk ditandai\n" + +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "gagal perbarui trustdb: %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 +msgid "You must select at least one user ID.\n" +msgstr "Anda harus memilih minimum satu ID user.\n" + +#: g10/keyedit.c:799 +msgid "You can't delete the last user ID!\n" +msgstr "Anda tidak dapat menghapus ID user terakhir!\n" + +#: g10/keyedit.c:802 +msgid "Really remove all selected user IDs? " +msgstr "Hapus seluruh ID user terpilih? " + +#: g10/keyedit.c:803 +msgid "Really remove this user ID? " +msgstr "Hapus ID user ini? " + +#: g10/keyedit.c:839 g10/keyedit.c:861 +msgid "You must select at least one key.\n" +msgstr "Anda harus memilih minimum satu kunci.\n" + +#: g10/keyedit.c:843 +msgid "Do you really want to delete the selected keys? " +msgstr "Anda ingin menghapus kunci terpilih ini? " + +#: g10/keyedit.c:844 +msgid "Do you really want to delete this key? " +msgstr "Anda ingin menghapus kunci ini? " + +#: g10/keyedit.c:865 +msgid "Do you really want to revoke the selected keys? " +msgstr "Anda ingin membatalkan kunci terpilih ini? " + +#: g10/keyedit.c:866 +msgid "Do you really want to revoke this key? " +msgstr "Anda ingin membatalkan kunci ini? " + +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "Simpan perubahan? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "Berhenti tanpa menyimpan? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "gagal memperbarui: %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "gagal perbarui rahasia: %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "Kunci tidak berubah sehingga tidak perlu pembaharuan.\n" + +#: g10/keyedit.c:975 +msgid "Invalid command (try \"help\")\n" +msgstr "Perintah tidak valid (coba \"help\")\n" + +#: g10/keyedit.c:1068 +msgid "This key has been disabled" +msgstr "Kunci ini telah ditiadakan" + +#: g10/keyedit.c:1339 +msgid "Delete this good signature? (y/N/q)" +msgstr "Hapus signature baik ini? (y/T/q)" + +#: g10/keyedit.c:1343 +msgid "Delete this invalid signature? (y/N/q)" +msgstr "Hapus signature tidak valid ini? (y/T/q)" + +#: g10/keyedit.c:1347 +msgid "Delete this unknown signature? (y/N/q)" +msgstr "Hapus signature tidak dikenal ini? (y/T/q)" + +#: g10/keyedit.c:1353 +msgid "Really delete this self-signature? (y/N)" +msgstr "Yakin ingin menghapus self-signature ini? (y/T/q)" + +#: g10/keyedit.c:1367 +#, c-format +msgid "Deleted %d signature.\n" +msgstr "Menghapus %d signature.\n" + +#: g10/keyedit.c:1368 +#, c-format +msgid "Deleted %d signatures.\n" +msgstr "Menghapus %d signature.\n" + +#: g10/keyedit.c:1371 +msgid "Nothing deleted.\n" +msgstr "Tidak ada yang dihapus.\n" + +#: g10/keyedit.c:1440 +msgid "Please remove selections from the secret keys.\n" +msgstr "Silakan hapus pilihan dari kunci rahasia.\n" + +#: g10/keyedit.c:1446 +msgid "Please select at most one secondary key.\n" +msgstr "Silakan pilih maksimum satu kunci sekunder.\n" + +#: g10/keyedit.c:1450 +msgid "Changing expiration time for a secondary key.\n" +msgstr "Merubah batas waktu untuk kunci sekunder.\n" + +#: g10/keyedit.c:1452 +msgid "Changing expiration time for the primary key.\n" +msgstr "Merubah batas waktu untuk kunci primer.\n" + +#: g10/keyedit.c:1493 +msgid "You can't change the expiration date of a v3 key\n" +msgstr "Anda tidak dapat merubah batas waktu kunci v3\n" + +#: g10/keyedit.c:1509 +msgid "No corresponding signature in secret ring\n" +msgstr "Tidak ada signature koresponden di ring rahasia\n" + +#: g10/keyedit.c:1569 +#, c-format +msgid "No user ID with index %d\n" +msgstr "Tidak ada ID user dengan index %d\n" + +#: g10/keyedit.c:1615 +#, c-format +msgid "No secondary key with index %d\n" +msgstr "Tidak ada kunci sekunder dengan index %d\n" + +#: g10/keyedit.c:1713 +msgid "user ID: \"" +msgstr "ID user: " + +#: g10/keyedit.c:1716 +#, c-format +msgid "" +"\"\n" +"signed with your key %08lX at %s\n" +msgstr "ditandai dengan kunci anda %08lX pada %s\n" + +#: g10/keyedit.c:1720 +msgid "Create a revocation certificate for this signature? (y/N)" +msgstr "Membuat sertifikat pembatalan untuk signature ini? (y/N)" + +#. FIXME: detect duplicates here +#: g10/keyedit.c:1743 +msgid "You have signed these user IDs:\n" +msgstr "Anda telah menandai ID user ini:\n" + +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format +msgid " signed by %08lX at %s\n" +msgstr " ditandai oleh %08lX pada %s\n" + +#: g10/keyedit.c:1762 +#, c-format +msgid " revoked by %08lX at %s\n" +msgstr " dibatalkan oleh %08lX pada %s\n" + +#: g10/keyedit.c:1782 +msgid "You are about to revoke these signatures:\n" +msgstr "Anda akan membatalkan signature ini:\n" + +#: g10/keyedit.c:1800 +msgid "Really create the revocation certificates? (y/N)" +msgstr "Ingin membuat sertifikat pembatalan? (y/T)" + +#: g10/keyedit.c:1823 +msgid "no secret key\n" +msgstr "tidak ada kunci rahasia\n" + +#: g10/mainproc.c:213 +#, c-format +msgid "public key is %08lX\n" +msgstr "kunci publik adalah %08lX\n" + +#: g10/mainproc.c:244 +msgid "public key encrypted data: good DEK\n" +msgstr "data terenkripsi dengan kunci publik: baik DEK\n" + +#: g10/mainproc.c:277 +#, c-format +msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" +msgstr "dienkripsi dengan %u-bit kunci %s, ID %08lX, diciptakan %s\n" + +#: g10/mainproc.c:287 +#, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "dienkripsi dengan kunci %s, ID %08lX\n" + +#: g10/mainproc.c:293 +msgid "no secret key for decryption available\n" +msgstr "tidak tersedia kunci rahasia untuk dekripsi\n" + +#: g10/mainproc.c:302 +#, c-format +msgid "public key decryption failed: %s\n" +msgstr "gagal dekripsi kunci publik: %s\n" + +#: g10/mainproc.c:334 +msgid "decryption okay\n" +msgstr "dekripsi lancar\n" + +#: g10/mainproc.c:339 +msgid "WARNING: encrypted message has been manipulated!\n" +msgstr "PERINGATAN: pesan terenkripsi telah dimanipulasi!\n" + +#: g10/mainproc.c:344 +#, c-format +msgid "decryption failed: %s\n" +msgstr "gagal dekripsi: %s\n" + +#: g10/mainproc.c:362 +msgid "NOTE: sender requested \"for-your-eyes-only\"\n" +msgstr "CATATAN: pengirim meminta \"for-your-eyes-only\"\n" + +#: g10/mainproc.c:364 +#, c-format +msgid "original file name='%.*s'\n" +msgstr "nama file asli='%.*s'\n" + +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "" + +#: g10/mainproc.c:598 g10/mainproc.c:607 +msgid "WARNING: invalid notation data found\n" +msgstr "PERINGATAN: ditemukan notasi data tidak valid\n" + +#: g10/mainproc.c:610 +msgid "Notation: " +msgstr "Notasi: " + +#: g10/mainproc.c:617 +msgid "Policy: " +msgstr "Kebijakan: " + +#: g10/mainproc.c:1039 +msgid "signature verification suppressed\n" +msgstr "verifikasi signature tidak optimal\n" + +#: g10/mainproc.c:1045 +#, c-format +msgid "Signature made %.*s using %s key ID %08lX\n" +msgstr "Signature membuat %.*s menggunakan kunci %s ID %08lX\n" + +#. just in case that we have no userid +#: g10/mainproc.c:1071 g10/mainproc.c:1082 +msgid "BAD signature from \"" +msgstr "signature BURUK dari \"" + +#: g10/mainproc.c:1072 g10/mainproc.c:1083 +msgid "Good signature from \"" +msgstr "Signature baik dari \"" + +#: g10/mainproc.c:1074 +msgid " aka \"" +msgstr " alias \"" + +#: g10/mainproc.c:1130 +#, c-format +msgid "Can't check signature: %s\n" +msgstr "Tidak dapat memeriksa signature: %s\n" + +#: g10/mainproc.c:1191 +#, fuzzy, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "kelas signature tidak dikenal" + +#: g10/mainproc.c:1230 +msgid "old style (PGP 2.x) signature\n" +msgstr "signature model lama (PGP 2.X)\n" + +#: g10/mainproc.c:1235 +msgid "invalid root packet detected in proc_tree()\n" +msgstr "terdeteksi root paket tidak valid dalam proc_tree()\n" + +#: g10/misc.c:94 +#, c-format +msgid "can't disable core dumps: %s\n" +msgstr "tidak dapat meniadakan core dump: %s\n" + +#: g10/misc.c:97 +msgid "WARNING: program may create a core file!\n" +msgstr "PERINGATAN: program mungkin membuat file core!\n" + +#: g10/misc.c:205 +msgid "Experimental algorithms should not be used!\n" +msgstr "Algoritma eksperimental sebaiknya tidak dipakai!\n" + +#: g10/misc.c:219 +msgid "" +"RSA keys are deprecated; please consider creating a new key and use this key " +"in the future\n" +msgstr "" +"Kunci RSA didepresiasi; silakan membuat kunci baru dan menggunakannya di " +"masa depan\n" + +#: g10/misc.c:241 +msgid "this cipher algorithm is depreciated; please use a more standard one!\n" +msgstr "" +"algoritma cipher ini didepresiasi; silakan gunakan yang lebih standar!\n" + +#: g10/parse-packet.c:115 +#, c-format +msgid "can't handle public key algorithm %d\n" +msgstr "tidak dapat menangani algoritma kunci publik %d\n" + +#: g10/parse-packet.c:945 +#, c-format +msgid "subpacket of type %d has critical bit set\n" +msgstr "subpaket tipe %d memiliki bit kritis terset\n" + +#: g10/passphrase.c:159 +msgid "" +"\n" +"You need a passphrase to unlock the secret key for\n" +"user: \"" +msgstr "" +"\n" +"Anda perlu passphrase untuk membuka kunci rahasia untuk\n" +"pemakai: \"" + +#: g10/passphrase.c:168 +#, c-format +msgid "%u-bit %s key, ID %08lX, created %s" +msgstr "%u-bit kunci %s, ID %08lX, tercipta %s" + +#: g10/passphrase.c:173 +#, c-format +msgid " (main key ID %08lX)" +msgstr " (ID kunci utama %08lX)" + +#: g10/passphrase.c:190 +msgid "can't query password in batchmode\n" +msgstr "tidak dapat meminta password dalam mode batch\n" + +#: g10/passphrase.c:194 +msgid "Enter passphrase: " +msgstr "Masukkan passphrase: " + +#: g10/passphrase.c:198 +msgid "Repeat passphrase: " +msgstr "Ulangi passphrase: " + +#: g10/plaintext.c:63 +msgid "data not saved; use option \"--output\" to save it\n" +msgstr "data tidak disimpan; gunakan pilihan \"--output\" untuk menyimpannya\n" + +#: g10/plaintext.c:311 +#, fuzzy +msgid "Detached signature.\n" +msgstr "Menghapus %d signature.\n" + +#: g10/plaintext.c:315 +msgid "Please enter name of data file: " +msgstr "Silakan masukkan nama file data: " + +#: g10/plaintext.c:336 +msgid "reading stdin ...\n" +msgstr "membaca stdin ...\n" + +#: g10/plaintext.c:379 +#, c-format +msgid "can't open signed data `%s'\n" +msgstr "tidak dapat membuka data tertandai `%s'\n" + +#: g10/pubkey-enc.c:79 +#, c-format +msgid "anonymous receiver; trying secret key %08lX ...\n" +msgstr "penerima anonim; mencoba kunci rahasia %08lX ...\n" + +#: g10/pubkey-enc.c:85 +msgid "okay, we are the anonymous recipient.\n" +msgstr "baik, kita adalah penerima anonim.\n" + +#: g10/pubkey-enc.c:137 +msgid "old encoding of the DEK is not supported\n" +msgstr "enkoding lama DEK tidak didukung\n" + +#: g10/pubkey-enc.c:191 +#, c-format +msgid "NOTE: cipher algorithm %d not found in preferences\n" +msgstr "CATATAN: algoritma cipher %d tidak ditemukan dalam preferensi\n" + +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "impor kunci dari server kunci" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "%s bukanlah set karakter yang valid\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "tidak dapat membuka `%s': %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "kesalahan membaca `%s': %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + +#: g10/seckey-cert.c:55 +#, c-format +msgid "protection algorithm %d is not supported\n" +msgstr "algoritma proteksi %d tidak didukung\n" + +#: g10/seckey-cert.c:171 +msgid "Invalid passphrase; please try again ...\n" +msgstr "Passphrase tidak valid; silakan coba lagi ...\n" + +#: g10/seckey-cert.c:227 +msgid "WARNING: Weak key detected - please change passphrase again.\n" +msgstr "PERINGATAN: terdeteksi kunci lemah - silakan rubah passphrase lagi.\n" + +#: g10/sig-check.c:199 +msgid "assuming bad MDC due to an unknown critical bit\n" +msgstr "mengasumsikan MDC buruk karena ada bit kritis tidak dikenal\n" + +#: g10/sig-check.c:295 +msgid "" +"this is a PGP generated ElGamal key which is NOT secure for signatures!\n" +msgstr "" +"ini adalah kunci ElGamal ciptaan PGP yang tidak aman untuk signature!\n" + +#: g10/sig-check.c:303 +#, c-format +msgid "public key is %lu second newer than the signature\n" +msgstr "kunci publik adalah %lu detik lebih baru daripada signature\n" + +#: g10/sig-check.c:304 +#, c-format +msgid "public key is %lu seconds newer than the signature\n" +msgstr "kunci publik adalah %lu detik lebih baru daripada signature\n" + +#: g10/sig-check.c:320 +#, c-format +msgid "NOTE: signature key expired %s\n" +msgstr "CATATAN: kunci signature berakhir %s\n" + +#: g10/sig-check.c:377 +msgid "assuming bad signature due to an unknown critical bit\n" +msgstr "mengasumsikan signature buruk karena ada bit kritik tidak dikenal\n" + +#: g10/sign.c:132 +#, c-format +msgid "%s signature from: %s\n" +msgstr "%s signature dari: %s\n" + +#: g10/sign.c:263 g10/sign.c:575 +#, c-format +msgid "can't create %s: %s\n" +msgstr "tidak dapat membuat %s: %s\n" + +#: g10/sign.c:361 +msgid "signing:" +msgstr "menandai:" + +#: g10/sign.c:404 +#, c-format +msgid "WARNING: `%s' is an empty file\n" +msgstr "PERINGATAN: `%s' adalah file kosong\n" + +#: g10/textfilter.c:128 +#, c-format +msgid "can't handle text lines longer than %d characters\n" +msgstr "tidak dapat menangani baris teks lebih dari %d karakter\n" + +#: g10/textfilter.c:218 +#, c-format +msgid "input line longer than %d characters\n" +msgstr "baris input lebih dari %d karakter\n" + +#: g10/tdbio.c:116 g10/tdbio.c:1623 +#, c-format +msgid "trustdb rec %lu: lseek failed: %s\n" +msgstr "trustdb rec %lu: lseek gagal: %s\n" + +#: g10/tdbio.c:122 g10/tdbio.c:1630 +#, c-format +msgid "trustdb rec %lu: write failed (n=%d): %s\n" +msgstr "trustdb rec %lu: gagal menulis (n=%d): %s\n" + +#: g10/tdbio.c:232 +msgid "trustdb transaction too large\n" +msgstr "transaksi trustdb terlalu besar\n" + +#: g10/tdbio.c:424 +#, c-format +msgid "%s: can't access: %s\n" +msgstr "%s: tidak dapat diakses: %s\n" + +#: g10/tdbio.c:438 +#, c-format +msgid "%s: directory does not exist!\n" +msgstr "%s: direktori tidak ada!\n" + +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 +#, c-format +msgid "%s: can't create: %s\n" +msgstr "%s: tidak dapat membuat: %s\n" + +#: g10/tdbio.c:459 g10/tdbio.c:508 +#, c-format +msgid "%s: can't create lock\n" +msgstr "%s: tidak dapat membuat lock\n" + +#: g10/tdbio.c:473 +#, c-format +msgid "%s: failed to create version record: %s" +msgstr "%s: gagal membuat catatan versi: %s" + +#: g10/tdbio.c:477 +#, c-format +msgid "%s: invalid trustdb created\n" +msgstr "%s: tercipta trustdb tidak valid\n" + +#: g10/tdbio.c:480 +#, c-format +msgid "%s: trustdb created\n" +msgstr "%s: tercipta trustdb\n" + +#: g10/tdbio.c:517 +#, c-format +msgid "%s: invalid trustdb\n" +msgstr "%s: trustdb tidak valid\n" + +#: g10/tdbio.c:550 +#, c-format +msgid "%s: failed to create hashtable: %s\n" +msgstr "%s: gagal membuat hashtable: %s\n" + +#: g10/tdbio.c:558 +#, c-format +msgid "%s: error updating version record: %s\n" +msgstr "%s: kesalahan memperbaharui catatan versi: %s\n" + +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 +#, c-format +msgid "%s: error reading version record: %s\n" +msgstr "%s: kesalahan membaca catatan versi: %s\n" + +#: g10/tdbio.c:587 g10/tdbio.c:646 +#, c-format +msgid "%s: error writing version record: %s\n" +msgstr "%s: kesalahan menulis catatan versi: %s\n" + +#: g10/tdbio.c:1235 +#, c-format +msgid "trustdb: lseek failed: %s\n" +msgstr "trustdb: lseek gagal: %s\n" + +#: g10/tdbio.c:1243 +#, c-format +msgid "trustdb: read failed (n=%d): %s\n" +msgstr "trustdb: gagal membaca (n=%d): %s\n" + +#: g10/tdbio.c:1264 +#, c-format +msgid "%s: not a trustdb file\n" +msgstr "%s: bukan file trustdb\n" + +#: g10/tdbio.c:1280 +#, c-format +msgid "%s: version record with recnum %lu\n" +msgstr "%s: catatan versi dengan recnum %lu\n" + +#: g10/tdbio.c:1285 +#, c-format +msgid "%s: invalid file version %d\n" +msgstr "%s: versi file %d tidak valid\n" + +#: g10/tdbio.c:1589 +#, c-format +msgid "%s: error reading free record: %s\n" +msgstr "%s: kesalahan membaca record bebas: %s\n" + +#: g10/tdbio.c:1597 +#, c-format +msgid "%s: error writing dir record: %s\n" +msgstr "%s: kesalahan menulis dir record: %s\n" + +#: g10/tdbio.c:1607 +#, c-format +msgid "%s: failed to zero a record: %s\n" +msgstr "%s: gagal mengosongkan record: %s\n" + +#: g10/tdbio.c:1637 +#, c-format +msgid "%s: failed to append a record: %s\n" +msgstr "%s: gagal menambahkan record: %s\n" + +#: g10/tdbio.c:1748 +msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" +msgstr "trustdb terkorupsi; silakan jalankan \"gpg --fix-trustdb\".\n" + +#: g10/trustdb.c:169 +#, c-format +msgid "trust record %lu, req type %d: read failed: %s\n" +msgstr "trust record %lu, req tipe %d: gagal baca: %s\n" + +#: g10/trustdb.c:184 +#, c-format +msgid "trust record %lu, type %d: write failed: %s\n" +msgstr "trust record %lu, tipe %d: gagal menulis: %s\n" + +#: g10/trustdb.c:198 +#, c-format +msgid "trust record %lu: delete failed: %s\n" +msgstr "trust record %lu: gagal menghapus: %s\n" + +#: g10/trustdb.c:212 +#, c-format +msgid "trustdb: sync failed: %s\n" +msgstr "trustdb: gagal sync: %s\n" + +#: g10/trustdb.c:377 +#, c-format +msgid "error reading dir record for LID %lu: %s\n" +msgstr "gagal membaca dir record untuk LID %lu: %s\n" + +#: g10/trustdb.c:384 +#, c-format +msgid "lid %lu: expected dir record, got type %d\n" +msgstr "lid %lu: diharapkan dir record, didapat tipe %d\n" + +#: g10/trustdb.c:389 +#, c-format +msgid "no primary key for LID %lu\n" +msgstr "bukan kunci primer untuk LID %lu\n" + +#: g10/trustdb.c:394 +#, c-format +msgid "error reading primary key for LID %lu: %s\n" +msgstr "gagal membaca kunci primer untuk LID %lu: %s\n" + +#: g10/trustdb.c:433 +#, c-format +msgid "get_dir_record: search_record failed: %s\n" +msgstr "get_dir_record: gagal search_record: %s\n" + +#: g10/trustdb.c:488 +#, c-format +msgid "NOTE: secret key %08lX is NOT protected.\n" +msgstr "CATATAN: kunci rahasia %08lX tidak diproteksi.\n" + +#: g10/trustdb.c:496 +#, c-format +msgid "key %08lX: secret key without public key - skipped\n" +msgstr "kunci %08lX: kunci rahasia tanpa kunci publik - dilewati\n" + +#: g10/trustdb.c:503 +#, c-format +msgid "key %08lX: secret and public key don't match\n" +msgstr "kunci %08lX: kunci publik dan rahasia tidak cocok\n" + +#: g10/trustdb.c:515 +#, c-format +msgid "key %08lX: can't put it into the trustdb\n" +msgstr "kunci %08lX: tidak dapat meletakkan ke trustdb\n" + +#: g10/trustdb.c:521 +#, c-format +msgid "key %08lX: query record failed\n" +msgstr "kunci %08lX: gagal query record\n" + +#: g10/trustdb.c:530 +#, c-format +msgid "key %08lX: already in trusted key table\n" +msgstr "kunci %08lX: sudah ada dalam tabel kunci trustdb\n" + +#: g10/trustdb.c:533 +#, c-format +msgid "key %08lX: accepted as trusted key.\n" +msgstr "kunci %08lX: diterima sebagai kunci terpercaya.\n" + +#: g10/trustdb.c:541 +#, c-format +msgid "enumerate secret keys failed: %s\n" +msgstr "gagal enumerasi kunci rahasia: %s\n" + +#: g10/trustdb.c:922 +#, c-format +msgid "key %08lX.%lu: Good subkey binding\n" +msgstr "kunci %08lX.%lu: binding subkey baik\n" + +#: g10/trustdb.c:928 g10/trustdb.c:963 +#, c-format +msgid "key %08lX.%lu: Invalid subkey binding: %s\n" +msgstr "kunci %08lX.%lu: binding subkey tidak valid: %s\n" + +#: g10/trustdb.c:940 +#, c-format +msgid "key %08lX.%lu: Valid key revocation\n" +msgstr "kunci %08lX.%lu: pembatalan kunci valid\n" + +#: g10/trustdb.c:946 +#, c-format +msgid "key %08lX.%lu: Invalid key revocation: %s\n" +msgstr "kunci %08lX.%lu: pembatalan kunci tidak valid: %s\n" + +#: g10/trustdb.c:957 +#, c-format +msgid "key %08lX.%lu: Valid subkey revocation\n" +msgstr "kunci %08lX.%lu: pembatalan subkey valid\n" + +#: g10/trustdb.c:1068 +msgid "Good self-signature" +msgstr "Self-signature yang baik" + +#: g10/trustdb.c:1078 +msgid "Invalid self-signature" +msgstr "Self-signature tidak valid" + +#: g10/trustdb.c:1105 +msgid "Valid user ID revocation skipped due to a newer self signature" +msgstr "" +"Pembatalan ID user valid dilewati karena ada self signature yang lebih baru" + +#: g10/trustdb.c:1111 +msgid "Valid user ID revocation" +msgstr "Pembatalan ID user valid" + +#: g10/trustdb.c:1116 +msgid "Invalid user ID revocation" +msgstr "Pembatalan ID user tidak valid" + +#: g10/trustdb.c:1157 +msgid "Valid certificate revocation" +msgstr "Pembatalan sertifikat valid" + +#: g10/trustdb.c:1158 +msgid "Good certificate" +msgstr "Sertifikat yang baik" + +#: g10/trustdb.c:1179 +msgid "Invalid certificate revocation" +msgstr "Pembatalan sertifikat tidak valid" + +#: g10/trustdb.c:1180 +msgid "Invalid certificate" +msgstr "Sertifikat tidak valid" + +#: g10/trustdb.c:1197 g10/trustdb.c:1201 +#, c-format +msgid "sig record %lu[%d] points to wrong record.\n" +msgstr "sig record %lu[%d] menunjuk ke record yang salah.\n" + +#: g10/trustdb.c:1254 +msgid "duplicated certificate - deleted" +msgstr "sertifikat ganda - dihapus" + +#: g10/trustdb.c:1571 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "tdbio_search_dir gagal: %s\n" + +#: g10/trustdb.c:1705 +#, c-format +msgid "lid ?: insert failed: %s\n" +msgstr "lid ?: gagal menyisipkan: %s\n" + +#: g10/trustdb.c:1710 +#, c-format +msgid "lid %lu: insert failed: %s\n" +msgstr "lid %lu: gagal menyisipkan: %s\n" + +#: g10/trustdb.c:1716 +#, c-format +msgid "lid %lu: inserted\n" +msgstr "lid %lu: menyisipkan\n" + +#: g10/trustdb.c:1721 +#, c-format +msgid "error reading dir record: %s\n" +msgstr "kesalahan membaca dir record: %s\n" + +#: g10/trustdb.c:1729 g10/trustdb.c:1792 +#, c-format +msgid "%lu keys processed\n" +msgstr "%lu kunci diproses\n" + +#: g10/trustdb.c:1731 g10/trustdb.c:1798 +#, c-format +msgid "\t%lu keys with errors\n" +msgstr "\t%lu kunci dengan kesalahan\n" + +#: g10/trustdb.c:1733 +#, c-format +msgid "\t%lu keys inserted\n" +msgstr "%lu kunci disisipkan\n" + +#: g10/trustdb.c:1736 +#, c-format +msgid "enumerate keyblocks failed: %s\n" +msgstr "gagal enumerasi keyblok: %s\n" + +#: g10/trustdb.c:1784 +#, c-format +msgid "lid %lu: dir record w/o key - skipped\n" +msgstr "lid %lu: dir record tanpa kunci - dilewati\n" + +#: g10/trustdb.c:1794 +#, fuzzy, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "kunci %08lX: %d subkey baru\n" + +#: g10/trustdb.c:1796 +#, c-format +msgid "\t%lu keys skipped\n" +msgstr "%lu kunci dilewati\n" + +#: g10/trustdb.c:1800 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "%lu kunci diperbaharui\n" + +#: g10/trustdb.c:2143 +msgid "Ooops, no keys\n" +msgstr "Ooops, tanpa kunci\n" + +#: g10/trustdb.c:2147 +msgid "Ooops, no user IDs\n" +msgstr "Ooops, tanpa ID user\n" + +#: g10/trustdb.c:2305 +#, c-format +msgid "check_trust: search dir record failed: %s\n" +msgstr "check_trust: gagal mencari di record: %s\n" + +#: g10/trustdb.c:2314 +#, c-format +msgid "key %08lX: insert trust record failed: %s\n" +msgstr "kunci %08lX: gagal menyisipkan record trust: %s\n" + +#: g10/trustdb.c:2318 +#, c-format +msgid "key %08lX.%lu: inserted into trustdb\n" +msgstr "kunci %08lX.%lu: menyisipkan ke trustdb\n" + +#: g10/trustdb.c:2326 +#, c-format +msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" +msgstr "kunci %08lX.%lu: tercipta di masa datang (masalah waktu atau jam)\n" + +#: g10/trustdb.c:2340 +#, c-format +msgid "key %08lX.%lu: expired at %s\n" +msgstr "kunci %08lX.%lu: berakhir pada %s\n" + +#: g10/trustdb.c:2348 +#, c-format +msgid "key %08lX.%lu: trust check failed: %s\n" +msgstr "kunci %08lX.%lu: gagal periksa trust: %s\n" + +#: g10/trustdb.c:2499 +#, c-format +msgid "user '%s' not found: %s\n" +msgstr "user '%s' tidak ditemukan: %s\n" + +#: g10/trustdb.c:2501 +#, c-format +msgid "problem finding '%s' in trustdb: %s\n" +msgstr "masalah menemukan '%s' dalam trustdb: %s\n" + +#: g10/trustdb.c:2504 +#, c-format +msgid "user '%s' not in trustdb - inserting\n" +msgstr "pemakai '%s' tidak ada di trustdb - menyisipkan\n" + +#: g10/trustdb.c:2507 +#, c-format +msgid "failed to put '%s' into trustdb: %s\n" +msgstr "gagal menaruh '%s' ke dalam trustdb: %s\n" + +#: g10/trustdb.c:2693 g10/trustdb.c:2723 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "PERINGATAN: belum dapat menangani record pref panjang\n" + +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "" + +#: g10/ringedit.c:303 +#, c-format +msgid "%s: can't create keyring: %s\n" +msgstr "%s: tidak dapat membuat keyring: %s\n" + +#: g10/ringedit.c:320 g10/ringedit.c:1340 +#, c-format +msgid "%s: keyring created\n" +msgstr "%s: keyring tercipta\n" + +#: g10/ringedit.c:1517 +msgid "WARNING: 2 files with confidential information exists.\n" +msgstr "PERINGATAN: terdapat 2 file dengan informasi penting.\n" + +#: g10/ringedit.c:1518 +#, c-format +msgid "%s is the unchanged one\n" +msgstr "%s adalah yang tidak berubah\n" + +#: g10/ringedit.c:1519 +#, c-format +msgid "%s is the new one\n" +msgstr "%s adalah yang baru\n" + +#: g10/ringedit.c:1520 +msgid "Please fix this possible security flaw\n" +msgstr "Silakan perbaikan kemungkinan lubang keamanan\n" + +#: g10/skclist.c:88 g10/skclist.c:125 +msgid "key is not flagged as insecure - can't use it with the faked RNG!\n" +msgstr "" +"kunci tidak dianggap sebagai tidak aman - tidak dapat digunakan dengan RNG " +"palsu!\n" + +#: g10/skclist.c:113 +#, c-format +msgid "skipped `%s': %s\n" +msgstr "melewati `%s': %s\n" + +#: g10/skclist.c:119 +#, c-format +msgid "" +"skipped `%s': this is a PGP generated ElGamal key which is not secure for " +"signatures!\n" +msgstr "" +"melewati `%s': ini adalah kunci ElGamal yang dihasilkan PGP yang tidak aman " +"untuk signature!\n" + +#. do not overwrite +#: g10/openfile.c:79 +#, c-format +msgid "File `%s' exists. " +msgstr "File `%s' ada. " + +#: g10/openfile.c:81 +msgid "Overwrite (y/N)? " +msgstr "Ditimpa (y/T)? " + +#: g10/openfile.c:109 +#, c-format +msgid "%s: unknown suffix\n" +msgstr "%s: suffix tidak dikenal\n" + +#: g10/openfile.c:131 +msgid "Enter new filename" +msgstr "Masukkan nama file baru" + +#: g10/openfile.c:172 +msgid "writing to stdout\n" +msgstr "menulis ke stdout\n" + +#: g10/openfile.c:250 +#, c-format +msgid "assuming signed data in `%s'\n" +msgstr "mengasumsikan data bertanda dalam `%s'\n" + +#: g10/openfile.c:300 +#, c-format +msgid "%s: new options file created\n" +msgstr "%s: file pilihan baru tercipta\n" + +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: tidak dapat membuat direktori: %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s: direktori tercipta\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" + +#: g10/encr-data.c:66 +#, c-format +msgid "%s encrypted data\n" +msgstr "%s data terenkripsi\n" + +#: g10/encr-data.c:68 +#, c-format +msgid "encrypted with unknown algorithm %d\n" +msgstr "dienkripsi dengan algoritma tidak dikenal %d\n" + +#: g10/encr-data.c:85 +msgid "" +"WARNING: message was encrypted with a weak key in the symmetric cipher.\n" +msgstr "" +"PERINGATAN: pesan dienkripsi dengan kunci lemah dalam cipher simetrik.\n" + +#: g10/seskey.c:52 +msgid "weak key created - retrying\n" +msgstr "kunci lemah tercipta - mengulang\n" + +#: g10/seskey.c:57 +#, c-format +msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n" +msgstr "" +"tidak dapat menghindari kunci lemah untuk cipher simetrik; mencoba %d kali!\n" + +#: g10/delkey.c:93 +msgid "there is a secret key for this public key!\n" +msgstr "terdapat kunci rahasia untuk kunci publik ini!\n" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "gunakan pilihan \"--delete-secret-key\" untuk menghapusnya.\n" + +#: g10/delkey.c:111 +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "tidak dapat dilakukan dalam mode batch tanpa \"--yes\"\n" + +#: g10/delkey.c:133 +msgid "Delete this key from the keyring? " +msgstr "Menghapus kunci ini dari keyring? " + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "Ini adalah kunci rahasia! - Yakin dihapus? " + +#: 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 "" +"Terserah anda untuk memberi nilai baru di sini; nilai ini tidak akan " +"diekspor\n" +"ke pihak ketiga. Kami perlu untuk mengimplementasikan web-of-trust; tidak " +"ada\n" +"kaitan dengan (membuat secara implisit) web-of-certificates." + +#: g10/helptext.c:53 +msgid "If you want to use this revoked key anyway, answer \"yes\"." +msgstr "Jika anda tetap ingin menggunakan kunci yang dibatalkan, jawab \"ya\"." + +#: g10/helptext.c:57 +msgid "If you want to use this untrusted key anyway, answer \"yes\"." +msgstr "Jika anda ingin menggunakan kunci tidak terpercaya ini, jawab \"ya\"." + +#: g10/helptext.c:61 +msgid "" +"Enter the user ID of the addressee to whom you want to send the message." +msgstr "Masukkan ID user penerima pesan." + +#: g10/helptext.c:65 +msgid "" +"Select the algorithm to use.\n" +"\n" +"DSA (aka DSS) is the digital signature algorithm which can only be used\n" +"for signatures. This is the suggested algorithm because verification of\n" +"DSA signatures are much faster than those of ElGamal.\n" +"\n" +"ElGamal is an algorithm which can be used for signatures and encryption.\n" +"OpenPGP distinguishs between two flavors of this algorithms: an encrypt " +"only\n" +"and a sign+encrypt; actually it is the same, but some parameters must be\n" +"selected in a special way to create a safe key for signatures: this program\n" +"does this but other OpenPGP implementations are not required to understand\n" +"the signature+encryption flavor.\n" +"\n" +"The first (primary) key must always be a key which is capable of signing;\n" +"this is the reason why the encryption only ElGamal key is not available in\n" +"this menu." +msgstr "" +"Pilih algoritma untuk digunakan.\n" +"\n" +"DSA (DSS) adalah algoritma signature digital yang hanya dapat digunakan \n" +"untuk signature. Ia merupakan algoritma yang disarankan karena verifikasi\n" +"signature DSA jauh lebih cepat daripada ElGamal.\n" +"\n" +"ElGamal adalah suatu algoritma yang dapat digunakan untuk signature dan \n" +"enkripsi. OpenPGP membedakannya ke dalam dua bentuk yaitu: hanya enkripsi\n" +"dan enkripsi+sign; sebenarnya sama, tetapi beberapa parameter harus dipilih\n" +"secara khusus untuk membuat kunci yang aman untuk signature; program ini\n" +"melakukannya tetapi implementasi OpenPGP lain tidak harus memahami bentuk\n" +"signature+enkripsi.\n" +"\n" +"Kunci pertama (primer) harus selalu merupakan kunci yang mampu men-sign;\n" +"hal ini merupakan alasan mengapa kunci ElGamal hanya-enkripsi tidak ada\n" +"di menu ini." + +#: g10/helptext.c:85 +msgid "" +"Although these keys are defined in RFC2440 they are not suggested\n" +"because they are not supported by all programs and signatures created\n" +"with them are quite large and very slow to verify." +msgstr "" +"Meskipun kunci ini didefinisikan dalam RFC2440 mereka tidak disarankan\n" +"karena belum didukung oleh seluruh program dan signature yang dibuat\n" +"dengan mereka cukup besar dan sangat lambat untuk diverifikasi." + +#: g10/helptext.c:92 +msgid "Enter the size of the key" +msgstr "Masukkan ukuran kunci" + +#: 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 "Jawab \"ya\" atau \"tidak\"" + +#: g10/helptext.c:106 +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" +"get a good error response - instead the system tries to interpret\n" +"the given value as an interval." +msgstr "" +"Masukkan nilai yang diperlukan seperti pada prompt.\n" +"Dapat digunakan format (YYYY-MM-DD) untuk mengisi tanggal ISO tetapi anda\n" +"tidak akan mendapat respon kesalahan yang baik - sebaiknya sistem akan\n" +"berusaha menginterprestasi nilai yang diberikan sebagai sebuah interval." + +#: g10/helptext.c:118 +msgid "Enter the name of the key holder" +msgstr "Masukkan nama pemegang kunci" + +#: g10/helptext.c:123 +msgid "please enter an optional but highly suggested email address" +msgstr "silakan masukkan alamat email (pilihan namaun sangat dianjurkan)" + +#: g10/helptext.c:127 +msgid "Please enter an optional comment" +msgstr "Silakan masukkan komentar pilihan" + +#: g10/helptext.c:132 +msgid "" +"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." +msgstr "" +"N untuk merubah nama.\n" +"K untuk merubah komentar.\n" +"E untuk merubah alamat email.\n" +"O untuk melanjutkan dengan pembuatan kunci.\n" +"K untuk menghentikan pembuatan kunci." + +#: g10/helptext.c:141 +msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key." +msgstr "Jawab \"ya\" (atau \"y\") jika telah siap membuat subkey." + +#: g10/helptext.c:164 +msgid "Answer \"yes\" is you want to sign ALL the user IDs" +msgstr "Jawab \"ya\" jika anda ingin menandai seluruh ID user" + +#: g10/helptext.c:168 +msgid "" +"Answer \"yes\" if you really want to delete this user ID.\n" +"All certificates are then also lost!" +msgstr "" +"Jawab \"ya\" jika anda benar-benar ingin menghapus ID user ini.\n" +"Seluruh sertifikat lalu akan hilang!" + +#: g10/helptext.c:173 +msgid "Answer \"yes\" if it is okay to delete the subkey" +msgstr "Jawab \"ya\" jika ingin menghapus subkey" + +#: g10/helptext.c:178 +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" +"trust connection to the key or another key certified by this key." +msgstr "" +"Ini adalah signature valid untuk kunci; anda normalnya tidak ingin " +"menghapus\n" +"signature ini karena mungkin penting membangun koneksi trust ke kunci atau\n" +"ke kunci tersertifikasi lain dengan kunci ini." + +#: 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 establish\n" +"a trust connection through another already certified key." +msgstr "" +"Signature ini tidak dapat diperiksa karena anda tidak memiliki kunci\n" +"korespondennya. Anda perlu menunda penghapusannya hingga anda tahu\n" +"kunci yang digunakan karena kunci penanda ini mungkin membangun suatu\n" +"koneksi trust melalui kunci yang telah tersertifikasi lain." + +#: g10/helptext.c:189 +msgid "" +"The signature is not valid. It does make sense to remove it from\n" +"your keyring." +msgstr "" +"Signature tidak valid. Masuk akal untuk menghapusnya dari keyring anda." + +#: g10/helptext.c:193 +msgid "" +"This is a signature which binds the user ID to the key. It is\n" +"usually not a good idea to remove such a signature. Actually\n" +"GnuPG might not be able to use this key anymore. So do this\n" +"only if this self-signature is for some reason not valid and\n" +"a second one is available." +msgstr "" +"Ini adalah signature yang menghubungkan ID pemakai ke kunci. Biasanya\n" +"bukan ide yang baik untuk menghapus signature semacam itu. Umumnya\n" +"GnuPG tidak akan dapat menggunakan kunci ini lagi. Sehingga lakukan hal\n" +"ini bila self-signature untuk beberapa alasan tidak valid dan\n" +"tersedia yang kedua." + +#: g10/helptext.c:202 +msgid "" +"Please enter the passhrase; this is a secret sentence \n" +" Blurb, blurb,.... " +msgstr "" +"Silakan masukkan passphrase; ini bukan kalimat rahasia\n" +" Blurb, blurb,...." + +#: g10/helptext.c:209 +msgid "Please repeat the last passphrase, so you are sure what you typed in." +msgstr "" +"Silakan ulangi passphrase terakhir, sehingga anda yakin yang anda ketikkan." + +#: g10/helptext.c:213 +#, fuzzy +msgid "Give the name of the file to which the signature applies" +msgstr "Beri nama file untuk mengaplikasikan signature" + +#: g10/helptext.c:218 +msgid "Answer \"yes\" if it is okay to overwrite the file" +msgstr "Jawab \"ya\" jika ingin menimpa file" + +#: 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 "" +"Silakan masukan nama file baru. Jika anda hanya menekan RETURN nama\n" +"file baku (yang diapit tanda kurung) akan dipakai." + +#: g10/helptext.c:237 +msgid "No help available" +msgstr "Tidak tersedia bantuan" + +#: g10/helptext.c:245 +#, c-format +msgid "No help available for `%s'" +msgstr "Tidak tersedia bantuan untuk `%s'" diff -urN gnupg-1.0.0/po/it.po gnupg-1.0.1/po/it.po --- gnupg-1.0.0/po/it.po Tue Sep 7 18:48:33 1999 +++ gnupg-1.0.1/po/it.po Thu Dec 16 10:17:33 1999 @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: gnupg-0.9.7\n" -"POT-Creation-Date: 1999-09-05 19:21+0200\n" -"PO-Revision-Date: 1999-08-17 23:04+02:00\n" +"Project-Id-Version: gnupg-1.0.0h\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" +"PO-Revision-Date: 1999-12-08 15:51+02:00\n" "Last-Translator: Marco d'Itri \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" @@ -17,11 +17,11 @@ msgid "Warning: using insecure memory!\n" msgstr "Attenzione: si sta usando memoria insicura!\n" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "l'operazione non è possibile senza memoria sicura inizializzata\n" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "(potresti avere usato il programma sbagliato per questa funzione)\n" @@ -35,11 +35,11 @@ #: util/miscutil.c:279 util/miscutil.c:307 msgid "no" -msgstr "" +msgstr "no" #: util/miscutil.c:280 util/miscutil.c:310 msgid "nN" -msgstr "" +msgstr "nN" #: g10/keyedit.c:564 util/miscutil.c:308 msgid "quit" @@ -241,6 +241,11 @@ msgid "not encrypted" msgstr "non cifrato" +# ??? (Md) +#: util/errors.c:103 +msgid "not processed" +msgstr "non esaminato" + #: util/logger.c:218 #, c-format msgid "... this is a bug (%s:%d:%s)\n" @@ -251,12 +256,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "Hai trovato un bug... (%s:%d)\n" -#: cipher/random.c:452 +#: cipher/random.c:458 msgid "WARNING: using insecure random number generator!!\n" msgstr "" "ATTENZIONE: si sta usando un generatore di numeri casuali non sicuro!!\n" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -282,7 +287,7 @@ "altra cosa per dare all'OS la possibilità di raccogliere altra entropia!\n" "(Servono altri %d byte)\n" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " @@ -290,135 +295,139 @@ "@Comandi:\n" " " -#: g10/g10.c:187 +#: g10/g10.c:191 msgid "|[file]|make a signature" msgstr "|[file]|fai una firma" -#: g10/g10.c:188 +#: g10/g10.c:192 msgid "|[file]|make a clear text signature" msgstr "|[file]|fai una firma mantenendo il testo in chiaro" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "fai una firma separata" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "cifra dati" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "cifra solo con un cifrario simmetrico" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" msgstr "immagazzina soltanto" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "decifra dati (predefinito)" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "verifica una firma" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "elenca le chiavi" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "elenca le chiavi e le firme" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "controlla le firme delle chiavi" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "elenca le chiavi e le impronte digitali" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "elenca le chiavi segrete" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "genera una nuova coppia di chiavi" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" msgstr "rimuove una chiave dal portachiavi pubblico" -#: g10/g10.c:203 +#: g10/g10.c:209 +msgid "remove key from the secret keyring" +msgstr "rimuove una chiave dal portachiavi privato" + +#: g10/g10.c:210 msgid "sign a key" msgstr "firma una chiave" -#: g10/g10.c:204 +#: g10/g10.c:211 msgid "sign a key locally" msgstr "firma localmente una chiave" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" msgstr "firma o modifica una chiave" -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" msgstr "genera un certificato di revoca" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "esporta delle chiavi" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "esporta le chiavi a un key server" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "importa le chiavi da un key server" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" msgstr "importa/aggiungi delle chiavi" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "elenca solo la sequenza dei pacchetti" -#: g10/g10.c:216 +#: g10/g10.c:223 msgid "export the ownertrust values" msgstr "esporta i valori di fiducia" -#: g10/g10.c:218 +#: g10/g10.c:225 msgid "import ownertrust values" msgstr "importa i valori di fiducia" -#: g10/g10.c:220 +#: g10/g10.c:227 msgid "update the trust database" msgstr "aggiorna il database della fiducia" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "|[NOMI]|controlla il database della fiducia" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" msgstr "ripara un database della fiducia rovinato" -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "rimuovi l'armatura a un file o a stdin" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "crea l'armatura a un file o a stdin" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "|algo [files]|stampa tutti i message digests" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" @@ -428,170 +437,170 @@ "Opzioni:\n" " " -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" msgstr "crea un output ascii con armatura" -#: g10/g10.c:233 +#: g10/g10.c:243 msgid "|NAME|encrypt for NAME" msgstr "|NOME|cifra per NOME" -#: g10/g10.c:236 +#: g10/g10.c:246 msgid "|NAME|use NAME as default recipient" msgstr "|NOME|usa NOME come destinatario predefinito" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" msgstr "usa la chiave predefinita come destinatario predefinito" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "usa questo user-id per firmare o decifrare" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" msgstr "|N|imposta il livello di compressione (0 disab.)" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "usa il modo testo canonico" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "usa come file di output" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "prolisso" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "meno prolisso" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" msgstr "non usa per niente il terminale" -#: g10/g10.c:250 +#: g10/g10.c:260 msgid "force v3 signatures" msgstr "forza l'uso di firme v3" -#: g10/g10.c:251 +#: g10/g10.c:261 msgid "always use a MDC for encryption" msgstr "usa sempre un MDC per cifrare" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "non fa cambiamenti" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "modo batch: non fa domande" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "assumi \"sì\" per quasi tutte le domande" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "assumi \"no\" per quasi tutte le domande" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "aggiungi questo portachiavi alla lista" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "aggiungi questo portachiavi segreto alla lista" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "|NOME|usa NOME come chiave segreta predefinita" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HOST|cerca le chiavi in questo keyserver" -#: g10/g10.c:261 +#: g10/g10.c:271 msgid "|NAME|set terminal charset to NAME" msgstr "|NOME|imposta il set di caratteri del terminale NOME" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "leggi le opzioni dal file" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "imposta i flag di debugging" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" msgstr "abilita il debugging completo" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "|FD|scrivi le informazioni di stato su questo FD" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "non scrivere pacchetti di commento" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "(predefinito è 1)" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "(predefinito è 3)" -#: g10/g10.c:271 +#: g10/g10.c:281 msgid "|FILE|load extension module FILE" msgstr "|FILE|carica il modulo di estensione FILE" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "emula il modo descritto in RFC 1991" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" "imposta tutte le opzioni di pacchetto,\n" "cifrario e digest per OpenPGP" -#: g10/g10.c:274 +#: g10/g10.c:284 msgid "|N|use passphrase mode N" msgstr "|N|usa il modo N per la passphrase" -#: g10/g10.c:276 +#: g10/g10.c:286 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|NOME|usa l'algoritmo di message digest NOME per le passphrase" -#: g10/g10.c:278 +#: g10/g10.c:288 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|NOME|usa l'alg. di cifratura NOME per le passphrase" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "|NOME|usa l'algoritmo di cifratura NOME" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "|NOME|usa l'algoritmo di message digest NOME" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "|N|usa l'algoritmo di compressione N" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" msgstr "elimina il campo keyid dei pacchetti cifrati" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" msgstr "|NOME=VALORE|usa questi dati per una nota" -#: g10/g10.c:285 +#: g10/g10.c:295 msgid "" "@\n" "Examples:\n" @@ -611,15 +620,15 @@ " --list-keys [nomi] mostra le chiavi\n" " --fingerprint [nomi] mostra le impronte digitali\n" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "Per favore segnala i bug a .\n" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -629,7 +638,7 @@ "firma, controlla, cifra o decifra\n" "l'operazione predefinita dipende dai dati di input\n" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" @@ -637,184 +646,184 @@ "\n" "Algoritmi gestiti:\n" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "uso: gpg [opzioni] " -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "comandi in conflitto\n" -#: g10/g10.c:644 +#: g10/g10.c:668 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "NOTA: manca il file `%s' con le opzioni predefinite\n" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "file con le opzioni `%s': %s\n" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "lettura delle opzioni da `%s'\n" -#: g10/g10.c:835 +#: g10/g10.c:861 #, c-format msgid "%s is not a valid character set\n" msgstr "%s non è un set di caratteri valido\n" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" msgstr "NOTA: %s normalmente non deve essere usato!\n" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" msgstr "Non è permesso usare %s con %s!\n" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" msgstr "Non ha senso usare %s con %s!\n" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "l'algoritmo di cifratura selezionato non è valido\n" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "l'algoritmo di digest selezionato non è valido\n" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" msgstr "L'URL della policy indicato non è valido\n" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "l'algoritmo di compressione deve essere tra %d e %d\n" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed deve essere maggiore di 0\n" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed deve essere maggiore di 1\n" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "max-cert-depth deve essere tra 1 e 255\n" -#: g10/g10.c:950 +#: g10/g10.c:975 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "NOTA: l'uso del modo S2K semplice (0) è fortemente scoraggiato\n" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "modo S2K non valido; deve essere 0, 1 o 3\n" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "inizializzazione del trustdb fallita: %s\n" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "--store [nomefile]" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "--symmetric [nomefile]" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "--encrypt [nomefile]" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "--sign [nomefile]" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nomefile]" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" msgstr "--clearsign [nomefile]" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "--decrypt [nomefile]" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" msgstr "--sign-key user-id" -#: g10/g10.c:1120 +#: g10/g10.c:1150 msgid "--lsign-key user-id" msgstr "--lsign-key user-id" -#: g10/g10.c:1128 +#: g10/g10.c:1158 msgid "--edit-key user-id [commands]" msgstr "--edit-key user-id [comandi]" -#: g10/g10.c:1144 +#: g10/g10.c:1174 msgid "--delete-secret-key user-id" msgstr "--delete-secret-key user-id" -#: g10/g10.c:1147 +#: g10/g10.c:1177 msgid "--delete-key user-id" msgstr "--delete-key user-id" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "impossibile aprire `%s': %s\n" -#: g10/g10.c:1182 +#: g10/g10.c:1229 msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "-k[v][v][v][c] [user-id] [portachiavi]" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "rimozione dell'armatura fallita: %s\n" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "creazione dell'armatura fallita: %s\n" -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algoritmo di hash non valido `%s'\n" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "[nomefile]" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" msgstr "Vai avanti e scrivi il messaggio...\n" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" msgstr "impossibile aprire `%s'\n" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" "il primo carattere del nome di una nota deve essere una lettera o un\n" "underscore\n" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" @@ -822,11 +831,11 @@ "il nome di una nota deve essere formato solo da lettere, numeri, punti o\n" "underscore e deve finire con `='\n" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "nel nome di una nota i punti devono avere altri caratteri intorno\n" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" msgstr "il valore di una nota non deve usare caratteri di controllo\n" @@ -835,70 +844,70 @@ msgid "armor: %s\n" msgstr "armatura: %s\n" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "header dell'armatura non valido: " -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "header dell'armatura: " -#: g10/armor.c:337 +#: g10/armor.c:343 msgid "invalid clearsig header\n" msgstr "header della firma in chiaro non valido\n" -#: g10/armor.c:389 +#: g10/armor.c:395 msgid "nested clear text signatures\n" msgstr "firme in chiaro annidate\n" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "riga protetta con il trattino non valida: " -#: g10/armor.c:512 +#: g10/armor.c:518 msgid "unexpected armor:" msgstr "armatura inaspettata:" -#: g10/armor.c:629 +#: g10/armor.c:635 #, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "Carattere radix64 non valido %02x saltato\n" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "eof prematura (nessun CRC)\n" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "eof prematura (nel CRC)\n" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "CRC malformato\n" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "errore nel CRC; %06lx - %06lx\n" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" msgstr "eof prematura (nella coda)\n" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "errore nella riga della coda\n" -#: g10/armor.c:1001 +#: g10/armor.c:1012 msgid "no valid OpenPGP data found.\n" msgstr "Non sono stati trovati dati OpenPGP validi.\n" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "armatura non valida: linea più lunga di %d caratteri\n" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -1000,36 +1009,36 @@ "Nessun valore di fiducia modificato.\n" "\n" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "chiave %08lX: la chiave è stata revocata!\n" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "Uso lo stesso questa chiave? " -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "chiave %08lX: la subchiave è stata revocata!\n" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: la chiave è scaduta\n" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "%08lX: mancano informazioni per calcolare una probabilità di fiducia\n" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: NON ci fidiamo di questa chiave!\n" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -1038,15 +1047,15 @@ "%08lX: Non è sicuro che questa chiave appartenga veramente al proprietario\n" "ma è accettata comunque\n" -#: g10/pkclist.c:422 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "Questa chiave probabilmente appartiene al proprietario\n" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "Questa chiave ci appartiene\n" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -1058,65 +1067,65 @@ "prossima domanda.\n" "\n" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "ATTENZIONE: uso di una chiave non fidata!\n" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "ATTENZIONE: questa chiave è stata revocata dal suo proprietario!\n" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" msgstr " Questo può significare che la firma è stata falsificata.\n" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "ATTENZIONE: questa subchiave è stata revocata dal proprietario!\n" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "Nota: questa chiave è scaduta!\n" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "ATTENZIONE: questa chiave non è certificata con una firma fidata!\n" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr "" " Non ci sono indicazioni che la firma appartenga al proprietario.\n" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "ATTENZIONE: NON ci fidiamo di questa chiave!\n" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" msgstr " La firma è probabilmente un FALSO.\n" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" "ATTENZIONE: questa chiave non è certificata con firme abbastanza fidate!\n" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" msgstr " Non è sicuro che la firma appartenga al proprietario.\n" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: saltata: %s\n" -#: g10/pkclist.c:702 g10/pkclist.c:868 +#: g10/pkclist.c:708 g10/pkclist.c:875 #, c-format msgid "%s: skipped: public key already present\n" msgstr "%s: saltato: chiave pubblica già presente\n" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1124,97 +1133,95 @@ "Non hai specificato un user ID. (puoi usare \"-r\")\n" "\n" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "Inserisci l'user ID: " -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "User ID inesistente.\n" -#: g10/pkclist.c:756 -#, fuzzy +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" -msgstr "%s: saltato: chiave pubblica già presente\n" +msgstr "saltato: chiave pubblica già impostata come destinatario predefinito\n" -#: g10/pkclist.c:778 +#: g10/pkclist.c:785 msgid "Public key is disabled.\n" msgstr "La chiave pubblica è disabilitata.\n" -#: g10/pkclist.c:785 -#, fuzzy +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" -msgstr "%s: saltato: chiave pubblica già presente\n" +msgstr "saltato: chiave pubblica già impostata con --encrypt-to\n" -#: g10/pkclist.c:816 +#: g10/pkclist.c:823 #, c-format msgid "unknown default recipient `%s'\n" msgstr "destinatario predefinito `%s' sconosciuto\n" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: errore nel controllare la chiave: %s\n" -#: g10/pkclist.c:854 +#: g10/pkclist.c:861 #, c-format msgid "%s: skipped: public key is disabled\n" msgstr "%s: saltato: chiave pubblica disabilitata\n" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "nessun indirizzo valido\n" -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "scrittura della autofirma\n" -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "scrittura della firma di collegamento alla chiave\n" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "Per favore scegli che tipo di chiave vuoi:\n" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr " (%d) DSA e ElGamal (default)\n" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr " (%d) DSA (firma solo)\n" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr " (%d) ElGamal (cifra solo)\n" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr " (%d) ElGamal (firma e cifra)\n" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr " (%d) ElGamal in un pacchetto v3\n" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "Cosa scegli? " -#: g10/keygen.c:409 +#: g10/keygen.c:410 msgid "Do you really want to create a sign and encrypt key? " msgstr "Vuoi davvero creare una chiave di firma e cifratura? " -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "Scelta non valida.\n" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1227,15 +1234,15 @@ " la dimensione predefinita è 1024 bit\n" " la dimensione massima consigliata è 2048 bit\n" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "Di che dimensioni vuoi la chiave? (1024) " -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "DSA permette solo chiavi di dimensioni tra 512 e 1024\n" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "la chiave è troppo corta; 768 è il minimo valore permesso.\n" @@ -1247,12 +1254,12 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "la chiave è troppo lunga; %d è il massimo valore permesso.\n" -#: g10/keygen.c:471 +#: g10/keygen.c:472 msgid "" "Keysizes larger than 2048 are not suggested because\n" "computations take REALLY long!\n" @@ -1260,11 +1267,11 @@ "Chiavi più lunghe di 2048 non sono consigliate perchè i calcoli sono\n" "VERAMENTE lunghi!\n" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "Sei sicuro di volere una chiave di queste dimensioni? " -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" @@ -1272,21 +1279,21 @@ "Va bene, ma ricordati che anche le radiazioni emesse dal tuo monitor e dalla " "tua tastiera sono molto vulnerabili ad attacchi!\n" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "Ti serve davvero una chiave così lunga? " -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "La dimensione richiesta della chiave è %u bit\n" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "arrotondate a %u bit\n" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1302,29 +1309,37 @@ " m = la chiave scadrà dopo n mesi\n" " y = la chiave scadrà dopo n anni\n" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "Chiave valida per? (0) " -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "valore non valido\n" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "La chiave non scade\n" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "La chiave scadrà il %s\n" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" +"Il tuo sistema non può mostrare date oltre il 2038.\n" +"Comunque, sarà gestita correttamente fino al 2106.\n" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "È giusto (s/n)? " -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1340,44 +1355,44 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "Nome e Cognome: " -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "Carattere non valido nel nome\n" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "Il nome non può iniziare con una cifra\n" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "Il nome deve essere lungo almeno 5 caratteri\n" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "Indirizzo di Email: " -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" msgstr "L'indirizzo di email non è valido\n" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "Commento: " -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "Carattere non valido nel commento\n" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Stai usando il set di caratteri `%s'.\n" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1388,15 +1403,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "NnCcEeOoQq" -#: g10/keygen.c:699 +#: g10/keygen.c:703 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "Modifica (N)ome, (C)ommento, (E)mail oppure (O)kay/(Q)uit? " -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1404,11 +1419,11 @@ "Ti serve una passphrase per proteggere la tua chiave segreta.\n" "\n" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "passphrase non ripetuta correttamente; riprova.\n" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" @@ -1420,7 +1435,7 @@ "programma con l'opzione \"--edit-key\".\n" "\n" -#: g10/keygen.c:786 +#: g10/keygen.c:790 msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" "some other action (type on the keyboard, move the mouse, utilize the\n" @@ -1432,33 +1447,33 @@ "dischi) durante la generazione dei numeri primi; questo da al generatore di\n" "numeri casuali migliori possibilità di raccogliere abbastanza entropia.\n" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "Una chiave può essere generata solo in modo interattivo\n" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "La coppia DSA avrà 1024 bit.\n" -#: g10/keygen.c:870 +#: g10/keygen.c:874 msgid "Key generation canceled.\n" msgstr "Generazione della chiave annullata.\n" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" msgstr "scrittura del certificato pubblico in `%s'\n" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "scrittura del certificato segreto in `%s'\n" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" msgstr "chiavi pubbliche e segrete create e firmate.\n" -#: g10/keygen.c:960 +#: g10/keygen.c:964 msgid "" "Note that this key cannot be used for encryption. You may want to use\n" "the command \"--edit-key\" to generate a secondary key for this purpose.\n" @@ -1467,12 +1482,12 @@ "il comando \"--edit-key\" per generare una chiave secondaria per questo " "scopo.\n" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "Generazione della chiave fallita: %s\n" -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" @@ -1480,7 +1495,7 @@ "la chiave è stata creata %lu secondo nel futuro (salto nel tempo o problema\n" "con l'orologio)\n" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" @@ -1488,12 +1503,12 @@ "la chiave è stata creata %lu secondi nel futuro (salto nel tempo o problema\n" "con l'orologio)\n" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 msgid "Really create? " msgstr "Crea davvero? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: impossibile aprire: %s\n" @@ -1503,17 +1518,17 @@ msgid "error creating passphrase: %s\n" msgstr "errore nella creazione della passhprase: %s\n" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, c-format msgid "%s: WARNING: empty file\n" msgstr "%s: ATTENZIONE: file vuoto\n" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "lettura da `%s'\n" -#: g10/encode.c:482 +#: g10/encode.c:483 #, c-format msgid "%s/%s encrypted for: %s\n" msgstr "%s/%s cifrato per: %s\n" @@ -1545,262 +1560,260 @@ msgid "too many entries in unk cache - disabled\n" msgstr "troppe voci nella unk cache - disabilitata\n" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" msgstr "In questa versione non possono essere usate chiavi RSA\n" -#: g10/getkey.c:1291 g10/getkey.c:1330 -#, fuzzy +#: g10/getkey.c:1296 g10/getkey.c:1335 msgid "No key for user ID\n" -msgstr "Non ci sono chiavi per questo user-id\n" +msgstr "Non ci sono chiavi per questo user ID\n" -#: g10/getkey.c:1369 g10/getkey.c:1409 -#, fuzzy +#: g10/getkey.c:1374 g10/getkey.c:1414 msgid "No user ID for key\n" -msgstr "Non ci sono user-id per questa chiave\n" +msgstr "Non ci sono user ID per questa chiave\n" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "uso la chiave secondaria %08lX invece della chiave primaria %08lX\n" -#: g10/import.c:118 +#: g10/import.c:124 #, c-format msgid "can't open `%s': %s\n" msgstr "impossibile aprire `%s': %s\n" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "salto un blocco di tipo %d\n" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "Per ora sono state esaminate %lu chiavi\n" -#: g10/import.c:174 +#: g10/import.c:190 #, c-format msgid "error reading `%s': %s\n" msgstr "errore leggendo `%s': %s\n" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr "Numero totale esaminato: %lu\n" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr " senza user ID: %lu\n" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr " importate: %lu" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr " non modificate: %lu\n" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr " nuovi user ID: %lu\n" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr " nuove subchiavi: %lu\n" -#: g10/import.c:193 +#: g10/import.c:216 #, c-format msgid " new signatures: %lu\n" msgstr " nuove firme: %lu\n" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr "nuove revoche di chiavi: %lu\n" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr " chiavi segrete lette: %lu\n" -#: g10/import.c:199 +#: g10/import.c:222 #, c-format msgid " secret keys imported: %lu\n" msgstr "chiavi segrete importate: %lu\n" -#: g10/import.c:201 +#: g10/import.c:224 #, c-format msgid " secret keys unchanged: %lu\n" msgstr "chiavi segrete non cambiate: %lu\n" -#: g10/import.c:362 g10/import.c:554 -#, fuzzy, c-format +#: g10/import.c:383 g10/import.c:575 +#, c-format msgid "key %08lX: no user ID\n" -msgstr "chiave %08lX: nessun user id\n" +msgstr "chiave %08lX: nessun user ID\n" -#: g10/import.c:376 -#, fuzzy, c-format +#: g10/import.c:397 +#, c-format msgid "key %08lX: no valid user IDs\n" -msgstr "chiave %08lX: nessun user id valido\n" +msgstr "chiave %08lX: nessun user ID valido\n" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "questo può essere causato da una autofirma mancante\n" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "chiave %08lX: chiave pubblica non trovata: %s\n" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "nessun portachiavi pubblico predefinito\n" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "scrittura in `%s'\n" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "impossibile fare il lock del portachiavi `%s': %s\n" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "errore scrivendo il portachiavi `%s': %s\n" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" msgstr "chiave %08lX: chiave pubblica importata\n" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "chiave %08lX: non corrisponde alla nostra copia\n" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "chiave %08lX: impossibile individuare il keyblock originale: %s\n" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "chiave %08lX: impossibile leggere il keyblock originale: %s\n" -#: g10/import.c:469 -#, fuzzy, c-format +#: g10/import.c:490 +#, c-format msgid "key %08lX: 1 new user ID\n" -msgstr "chiave %08lX: un nuovo user id\n" +msgstr "chiave %08lX: 1 nuovo user ID\n" -#: g10/import.c:472 -#, fuzzy, c-format +#: g10/import.c:493 +#, c-format msgid "key %08lX: %d new user IDs\n" -msgstr "chiave %08lX: %d nuovi user id\n" +msgstr "chiave %08lX: %d nuovi user ID\n" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "chiave %08lX: una nuova firma\n" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "chiave %08lX: %d nuove firme\n" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "chiave %08lX: una nuova subchiave\n" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "chiave %08lX: %d nuove subchiavi\n" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "chiave %08lX: non cambiata\n" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "chiave %08lX: chiave segreta importata\n" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "chiave %08lX: già nel portachiavi segreto\n" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "chiave %08lX: chiave segreta non trovata: %s\n" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" "chiave %08lX: manca la chiave pubblica - impossibile applicare il\n" "certificato di revoca\n" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "chiave %08lX: certificato di revoca non valido: %s - rifiutato\n" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "chiave %08lX: certificato di revoca importato\n" -#: g10/import.c:711 -#, fuzzy, c-format +#: g10/import.c:741 +#, c-format msgid "key %08lX: no user ID for signature\n" -msgstr "chiave %08lX: nessun user id per la firma\n" +msgstr "chiave %08lX: nessun user ID per la firma\n" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "chiave %08lX: algoritmo a chiave pubblica non gestito\n" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "chiave %08lX: autofirma non valida\n" -#: g10/import.c:734 +#: g10/import.c:764 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "chiave %08lX: non ci sono subchiavi per il legame con la chiave\n" -#: g10/import.c:743 +#: g10/import.c:773 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "chiave %08lX: legame con la subchiave non valido:\n" -#: g10/import.c:769 -#, fuzzy, c-format +#: g10/import.c:800 +#, c-format msgid "key %08lX: accepted non self-signed user ID '" -msgstr "chiave %08lX: accettato l'user-id non autofirmato '" +msgstr "chiave %08lX: accettato l'user ID non autofirmato '" -#: g10/import.c:798 -#, fuzzy, c-format +#: g10/import.c:829 +#, c-format msgid "key %08lX: skipped user ID '" -msgstr "chiave %08lX: saltato l'user-id '" +msgstr "chiave %08lX: saltato l'user ID '" -#: g10/import.c:821 +#: g10/import.c:852 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "chiave %08lX: saltata la subchiave\n" @@ -1809,32 +1822,32 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "chiave %08lX: firma non esportabile (classe %02x) - saltata\n" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "chiave %08lX: certificato di revoca nel posto sbagliato - saltato\n" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "chiave %08lX: certificato di revoca non valido: %s - saltato\n" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "chiave %08lX: trovato un user ID duplicato - unito\n" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "chiave %08lX: certificato di revoca aggiunto\n" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "chiave %08lX: la nostra copia non ha autofirma\n" @@ -1863,7 +1876,7 @@ #: g10/keyedit.c:223 msgid "1 signature not checked due to a missing key\n" -msgstr "1 firma non controllata per mancanza della chiave\n" +msgstr "una firma non controllata per mancanza della chiave\n" #: g10/keyedit.c:225 #, c-format @@ -1872,7 +1885,7 @@ #: g10/keyedit.c:227 msgid "1 signature not checked due to an error\n" -msgstr "1 firma non controllata a causa di un errore\n" +msgstr "una firma non controllata a causa di un errore\n" #: g10/keyedit.c:229 #, c-format @@ -1880,14 +1893,13 @@ msgstr "%d firme non controllate a causa di errori\n" #: g10/keyedit.c:231 -#, fuzzy msgid "1 user ID without valid self-signature detected\n" -msgstr "Trovato 1 user id senza autofirma valida\n" +msgstr "Trovato un user ID senza autofirma valida\n" #: g10/keyedit.c:233 -#, fuzzy, c-format +#, c-format msgid "%d user IDs without valid self-signatures detected\n" -msgstr "Trovati %d user id senza autofirme valide\n" +msgstr "Trovati %d user ID senza autofirme valide\n" #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. @@ -1921,7 +1933,7 @@ msgid "Really sign? " msgstr "Firmo davvero? " -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "firma fallita: %s\n" @@ -2000,9 +2012,8 @@ msgstr "list" #: g10/keyedit.c:570 -#, fuzzy msgid "list key and user IDs" -msgstr "elenca le chiavi e gli user id" +msgstr "elenca le chiavi e gli user ID" #: g10/keyedit.c:571 msgid "l" @@ -2013,9 +2024,8 @@ msgstr "uid" #: g10/keyedit.c:572 -#, fuzzy msgid "select user ID N" -msgstr "scegli l'user id N" +msgstr "scegli l'user ID N" #: g10/keyedit.c:573 msgid "key" @@ -2066,18 +2076,16 @@ msgstr "adduid" #: g10/keyedit.c:580 -#, fuzzy msgid "add a user ID" -msgstr "aggiungi un user id" +msgstr "aggiungi un user ID" #: g10/keyedit.c:581 msgid "deluid" msgstr "deluid" #: g10/keyedit.c:581 -#, fuzzy msgid "delete user ID" -msgstr "cancella un user id" +msgstr "cancella un user ID" #: g10/keyedit.c:582 msgid "addkey" @@ -2198,14 +2206,12 @@ msgstr "Per fare questo serve la chiave segreta.\n" #: g10/keyedit.c:758 -#, fuzzy msgid "Really sign all user IDs? " -msgstr "Firmo davvero tutti gli user id? " +msgstr "Firmo davvero tutti gli user ID? " #: g10/keyedit.c:759 -#, fuzzy msgid "Hint: Select the user IDs to sign\n" -msgstr "Suggerimento: seleziona gli user id da firmare\n" +msgstr "Suggerimento: seleziona gli user ID da firmare\n" #: g10/keyedit.c:786 g10/keyedit.c:968 #, c-format @@ -2213,24 +2219,20 @@ msgstr "aggiornamento del trustdb fallito: %s\n" #: g10/keyedit.c:797 g10/keyedit.c:818 -#, fuzzy msgid "You must select at least one user ID.\n" -msgstr "Devi selezionare almeno un user id.\n" +msgstr "Devi selezionare almeno un user ID.\n" #: g10/keyedit.c:799 -#, fuzzy msgid "You can't delete the last user ID!\n" -msgstr "Non puoi cancellare l'ultimo user id!\n" +msgstr "Non puoi cancellare l'ultimo user ID!\n" #: g10/keyedit.c:802 -#, fuzzy msgid "Really remove all selected user IDs? " -msgstr "Tolgo davvero tutti gli user id selezionati? " +msgstr "Tolgo davvero tutti gli user ID selezionati? " #: g10/keyedit.c:803 -#, fuzzy msgid "Really remove this user ID? " -msgstr "Tolgo davvero questo user id? " +msgstr "Tolgo davvero questo user ID? " #: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" @@ -2278,79 +2280,79 @@ msgid "Invalid command (try \"help\")\n" msgstr "Comando non valido (prova \"help\")\n" -#: g10/keyedit.c:1065 +#: g10/keyedit.c:1068 msgid "This key has been disabled" msgstr "Questa chiave è stata disabilitata" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" msgstr "Cancellare questa firma corretta? (s/N/q)" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" msgstr "Cancellare questa firma non valida? (s/N/q)" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 msgid "Delete this unknown signature? (y/N/q)" msgstr "Cancellare questa firma sconosciuta? (s/N/q)" -#: g10/keyedit.c:1350 +#: g10/keyedit.c:1353 msgid "Really delete this self-signature? (y/N)" msgstr "Cancellare davvero questa autofirma? (s/N)" -#: g10/keyedit.c:1364 +#: g10/keyedit.c:1367 #, c-format msgid "Deleted %d signature.\n" msgstr "Cancellata %d firma.\n" -#: g10/keyedit.c:1365 +#: g10/keyedit.c:1368 #, c-format msgid "Deleted %d signatures.\n" msgstr "Cancellate %d firme.\n" -#: g10/keyedit.c:1368 +#: g10/keyedit.c:1371 msgid "Nothing deleted.\n" msgstr "Non è stato cancellato nulla.\n" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "Togli le selezioni dalle chiavi segrete.\n" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 msgid "Please select at most one secondary key.\n" msgstr "Seleziona al massimo una chiave secondaria.\n" -#: g10/keyedit.c:1447 +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "Cambio la data di scadenza per una chiave secondaria.\n" -#: g10/keyedit.c:1449 +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "Cambio la data di scadenza per la chiave primaria.\n" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "Non è possibile cambiare la data di scadenza di una chiave v3\n" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "Manca la firma corrispondente nel portachiavi segreto\n" -#: g10/keyedit.c:1566 -#, fuzzy, c-format +#: g10/keyedit.c:1569 +#, c-format msgid "No user ID with index %d\n" -msgstr "Nessun user id con l'indice %d\n" +msgstr "Nessun user ID con l'indice %d\n" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "Nessuna chiave secondaria con l'indice %d\n" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 msgid "user ID: \"" msgstr "user ID: \"" -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, c-format msgid "" "\"\n" @@ -2360,42 +2362,34 @@ "firmata con la tua chiave %08lX a %s\n" "\n" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 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 +#: g10/keyedit.c:1743 msgid "You have signed these user IDs:\n" -msgstr "Non puoi cancellare l'ultimo user id!\n" +msgstr "Non puoi cancellare l'ultimo user ID!\n" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 -#, fuzzy, c-format +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format msgid " signed by %08lX at %s\n" -msgstr "" -"\"\n" -"firmata con la tua chiave %08lX a %s\n" -"\n" +msgstr " firmata da %08lX il %s\n" -#: g10/keyedit.c:1759 -#, fuzzy, c-format +#: g10/keyedit.c:1762 +#, c-format msgid " revoked by %08lX at %s\n" -msgstr "" -"\"\n" -"firmata con la tua chiave %08lX a %s\n" -"\n" +msgstr " revocata da %08lX il %s\n" -#: g10/keyedit.c:1779 -#, fuzzy +#: g10/keyedit.c:1782 msgid "You are about to revoke these signatures:\n" -msgstr "Vuoi davvero revocare le chiavi selezionate? " +msgstr "Stai per revocare queste firme:\n" -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 msgid "Really create the revocation certificates? (y/N)" msgstr "Creare davvero i certificati di revoca? (s/N)" -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 msgid "no secret key\n" msgstr "manca la chiave segreta\n" @@ -2408,91 +2402,100 @@ msgid "public key encrypted data: good DEK\n" msgstr "dati cifrati con la chiave pubblica: DEK corretto\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:277 #, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" msgstr "cifrato con la chiave %2$s di %1$u bit, ID %3$08lX, creata il %4$s\n" -#: g10/mainproc.c:285 +#: g10/mainproc.c:287 #, c-format msgid "encrypted with %s key, ID %08lX\n" msgstr "Cifrato con la chiave %s con ID %08lX\n" -#: g10/mainproc.c:291 +#: g10/mainproc.c:293 msgid "no secret key for decryption available\n" msgstr "nessuna chiave disponibile per decifrare\n" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "decifratura della chiave pubblica fallita: %s\n" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 msgid "decryption okay\n" msgstr "decifratura corretta\n" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "ATTENZIONE: il messaggio cifrato è stato manipolato!\n" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "decifratura fallita: %s\n" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTA: il mittente ha richiesto \"solo-per-i-tuoi-occhi\"\n" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "nome del file originale='%.*s'\n" -#: g10/mainproc.c:587 g10/mainproc.c:596 +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "revoca solitaria - usa \"gpg --import\" per applicarla\n" + +#: g10/mainproc.c:598 g10/mainproc.c:607 msgid "WARNING: invalid notation data found\n" msgstr "ATTENZIONE: trovati dati di una nota non validi\n" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " msgstr "Nota: " -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " msgstr "Policy: " -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "verifica della firma soppressa\n" -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "Firma fatta %.*s usando la chiave %s con ID %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "Firma NON corretta da \"" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "Firma valida da \"" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr " anche noto come \"" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" msgstr "Impossibile controllare la firma: %s\n" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1191 +#, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "firma solitaria di classe 0x%02x\n" + +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "firma vecchio stile (PGP 2.x)\n" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "individuato un pacchetto radice non valido in proc_tree()\n" @@ -2522,12 +2525,12 @@ msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "questo algoritmo di cifratura è deprecato; usane uno più standard!\n" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "impossibile gestire l'algoritmo a chiave pubblica %d\n" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "il sottopacchetto di tipo %d ha un bit critico impostato\n" @@ -2569,6 +2572,10 @@ msgstr "" "i dati non sono stati salvati; usa l'opzione \"--output\" per salvarli\n" +#: g10/plaintext.c:311 +msgid "Detached signature.\n" +msgstr "Firma separata.\n" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "Inserisci il nome del file di dati: " @@ -2601,6 +2608,45 @@ msgstr "" "NOTA: l'algoritmo di cifratura %d non è stato trovato nelle impostazioni\n" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "importa le chiavi da un key server" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "%s non è un set di caratteri valido\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "impossibile aprire `%s': %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "errore leggendo `%s': %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + #: g10/seckey-cert.c:55 #, c-format msgid "protection algorithm %d is not supported\n" @@ -2670,453 +2716,462 @@ msgid "can't handle text lines longer than %d characters\n" msgstr "impossibile gestire linee di testo più lunghe di %d caratteri\n" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format msgid "input line longer than %d characters\n" msgstr "linea di input più lunga di %d caratteri\n" -#: g10/tdbio.c:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "trustdb rec %lu: lseek fallita: %s\n" -#: g10/tdbio.c:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, 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:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "transazione del trustdb troppo grande\n" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: impossibile acedere a: %s\n" -#: 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:304 g10/tdbio.c:448 -#, c-format -msgid "%s: directory created\n" -msgstr "%s: directory creata\n" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, 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:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: impossibile creare: %s\n" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, c-format msgid "%s: can't create lock\n" msgstr "%s: impossibile creare il lock\n" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: creazione del record della versione fallita: %s" -#: g10/tdbio.c:491 +#: g10/tdbio.c:477 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: è stato creato un trustdb non valido\n" -#: g10/tdbio.c:494 +#: g10/tdbio.c:480 #, c-format msgid "%s: trustdb created\n" msgstr "%s: creato il trustdb\n" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: trustdb non valido\n" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: creazione della tabella hash fallita: %s\n" -#: g10/tdbio.c:572 +#: g10/tdbio.c:558 #, 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: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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, 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:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, 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:1247 +#: g10/tdbio.c:1235 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "trustdb: lseek fallita: %s\n" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "trustdb: read fallita (n=%d): %s\n" -#: g10/tdbio.c:1276 +#: g10/tdbio.c:1264 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: non è un file di trustdb\n" -#: g10/tdbio.c:1292 +#: g10/tdbio.c:1280 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: record di versione con recnum %lu\n" -#: g10/tdbio.c:1297 +#: g10/tdbio.c:1285 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versione %d del file non valida\n" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: errore durante la lettura del record libero: %s\n" -#: g10/tdbio.c:1609 +#: g10/tdbio.c:1597 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: errore durante la scrittura del dir record: %s\n" -#: g10/tdbio.c:1619 +#: g10/tdbio.c:1607 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: azzeramento di un record fallito: %s\n" -#: g10/tdbio.c:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: accodatura a un record fallita: %s\n" -#: g10/tdbio.c:1760 +#: g10/tdbio.c:1748 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "Il trustdb è danneggiato; eseguire \"gpg --fix-trust-db\".\n" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "trust record %lu, tipo %d: read fallita: %s\n" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "trust record %lu, req type %d: write fallita: %s\n" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "trust record %lu: delete fallita: %s\n" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "trustdb: sync fallita: %s\n" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "errore durante la lettura del dir record per il LID %lu: %s\n" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "lid %lu: atteso un dir record, trovato uno di tipo %d\n" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "manca una chiave primaria per il LID %lu\n" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "" "errore durante la lettura della chiave primaria per il\n" "LID %lu: %s\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record fallito: %s\n" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "NOTA: la chiave segreta %08lX NON è protetta.\n" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "chiave %08lX: chiave segreta senza chiave pubblica - saltata\n" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "chiave %08lX: le chiavi segreta e pubblica non corrispondono\n" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "chiave %08lX: impossibile metterla nel trustdb\n" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, c-format msgid "key %08lX: query record failed\n" msgstr "chiave %08lX: richiesta del record fallita\n" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "chiave %08lX: già nella tabella delle chiavi affidabili\n" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "chiave %08lX: accettata come chiave affidabile\n" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "enumerate secret keys fallito: %s\n" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "chiave %08lX.%lu: Legame con la subchiave corretto\n" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "chiave %08lX.%lu: Legame con la subchiave non valido: %s\n" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "chiave %08lX.%lu: Revoca della chiave valida\n" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "chiave %08lX.%lu: Revoca della chiave non valida: %s\n" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "chiave %08lX.%lu: Revoca della subchiave valida\n" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 msgid "Good self-signature" msgstr "Autofirma corretta" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 msgid "Invalid self-signature" msgstr "Autofirma non valida" -#: g10/trustdb.c:1060 +#: g10/trustdb.c:1105 msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" "Saltata una revoca dell'user ID valida a causa di una autofirma più recente" -#: g10/trustdb.c:1066 +#: g10/trustdb.c:1111 msgid "Valid user ID revocation" msgstr "Revoca dell'user ID valida" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 msgid "Invalid user ID revocation" msgstr "Revoca dell'user ID non valida" -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 msgid "Valid certificate revocation" msgstr "Revoca del certificato valida" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 msgid "Good certificate" msgstr "Certificato corretto" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 msgid "Invalid certificate revocation" msgstr "Certificato di revoca non valido" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 msgid "Invalid certificate" msgstr "Certificato non valido" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "il sig recor di %lu[%d] punta al record sbagliato.\n" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 msgid "duplicated certificate - deleted" msgstr "certificato doppio - cancellato" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "tdbio_search_dir fallita: %s\n" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: inserimento fallito: %s\n" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: inserimento fallito: %s\n" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: inserito\n" -#: g10/trustdb.c:1652 +#: g10/trustdb.c:1721 #, c-format msgid "error reading dir record: %s\n" msgstr "errore durante la lettura del dir record: %s\n" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "%lu chiavi esaminate\n" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu chiavi con errori\n" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu chiavi inserite\n" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumerate keyblocks fallito: %s\n" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "lid %lu: dir record senza chiave - saltato\n" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "\t%lu a causa di nuove chiavi pubbliche\n" + +#: g10/trustdb.c:1796 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu chiavi saltate\n" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "\t%lu chiavi aggiornate\n" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "Ooops, mancano le chiavi\n" -#: g10/trustdb.c:2061 -#, fuzzy +#: g10/trustdb.c:2147 msgid "Ooops, no user IDs\n" -msgstr "Ooops, mancano gli user id\n" +msgstr "Ooops, mancano gli user ID\n" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: ricerca del dir record fallita: %s\n" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "chiave %08lX: inserimento del record della fiducia fallito: %s\n" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "chiave %08lX.%lu: inserita nel trustdb\n" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "chiave %08lX.%lu: creata nel futuro (salto nel tempo o problema\n" "con l'orologio)\n" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "chiave %08lX.%lu: scaduta il %s\n" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "chiave %08lX.%lu: controllo della fiducia fallito: %s\n" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, c-format msgid "user '%s' not found: %s\n" msgstr "utente `%s' non trovato: %s\n" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problema cercando `%s' nel trustdb: %s\n" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "l'utente `%s' non è nel trustdb - viene inserito\n" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "impossibile mettere `%s' nel trustdb: %s\n" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 msgid "WARNING: can't yet handle long pref records\n" msgstr "ATTENZIONE: non è ancora possibile gestire record pref lunghi\n" -#: g10/ringedit.c:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" +"non è stato possibile verificare la firma.\n" +"Ricorda che il file con la firma (.sig or .asc) deve\n" +"essere il primo file indicato sulla riga di comando.\n" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "linea di input %u troppo lunga o LF mancante\n" + +#: g10/ringedit.c:303 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: impossibile creare il portachiavi: %s\n" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, c-format msgid "%s: keyring created\n" msgstr "%s: portachiavi creato\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "ATTENZIONE: esistono due file con informazioni confidenziali.\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, c-format msgid "%s is the unchanged one\n" msgstr "%s è quello non modificato\n" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "%s è quello nuovo\n" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "Per favore risolvete questo possibile problema di sicurezza\n" @@ -3141,38 +3196,54 @@ "le firme!\n" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "Il file `%s' esiste. " -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "Sovrascrivo (s/N)? " -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" msgstr "%s: suffisso sconosciuto\n" -#: g10/openfile.c:119 +#: g10/openfile.c:131 msgid "Enter new filename" msgstr "Inserire il nuovo nome del file" -#: g10/openfile.c:160 +#: g10/openfile.c:172 msgid "writing to stdout\n" msgstr "scrivo su stdout\n" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, c-format msgid "assuming signed data in `%s'\n" msgstr "suppongo che i dati firmati siano in `%s'\n" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "%s: creato un nuovo file delle opzioni\n" +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: impossibile creare la directory: %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s: directory creata\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" +"è necessario eseguire di nuovo GnuPG in modo che possa leggere il nuovo\n" +"file delle opzioni\n" + #: g10/encr-data.c:66 #, c-format msgid "%s encrypted data\n" @@ -3202,27 +3273,24 @@ "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" +msgstr "c'è una chiave segreta per questa chiave pubblica!\n" #: g10/delkey.c:95 msgid "use option \"--delete-secret-key\" to delete it first.\n" -msgstr "" +msgstr "prima usa l'opzione \"--delete-secret-key\" per cancellarla.\n" #: g10/delkey.c:111 -#, fuzzy msgid "can't do that in batchmode without \"--yes\"\n" -msgstr "impossibile fare questo in modo batch\n" +msgstr "impossibile fare questo in modo batch senza \"--yes\"\n" #: g10/delkey.c:133 -#, fuzzy msgid "Delete this key from the keyring? " -msgstr "rimuove una chiave dal portachiavi pubblico" +msgstr "Vuoi cancellare questa chiave dal portachiavi? " #: g10/delkey.c:141 msgid "This is a secret key! - really delete? " -msgstr "" +msgstr "È una chaive segreta! - Vuoi cancellarla davvero? " #: g10/helptext.c:47 msgid "" @@ -3230,19 +3298,22 @@ "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 "" +"E compito tuo assegnare un valore; questo valore non sarà mai esportato a\n" +"terzi. Ci serve per implementare il web-of-trust; non ha nulla a che fare\n" +"con il web-of-certificates (creato implicitamente)." #: g10/helptext.c:53 msgid "If you want to use this revoked key anyway, answer \"yes\"." -msgstr "" +msgstr "Se vuoi usare comunque questa chiave revocata, rispondi \"si\"." #: g10/helptext.c:57 msgid "If you want to use this untrusted key anyway, answer \"yes\"." -msgstr "" +msgstr "Se vuoi usare comunque questa chiave non fidata, rispondi \"si\"." #: g10/helptext.c:61 msgid "" "Enter the user ID of the addressee to whom you want to send the message." -msgstr "" +msgstr "Inserisci l'user ID del destinatario a cui vuoi mandare il messaggio." #: g10/helptext.c:65 msgid "" @@ -3264,6 +3335,25 @@ "this is the reason why the encryption only ElGamal key is not available in\n" "this menu." msgstr "" +"Seleziona l'algoritmo da usare.\n" +"\n" +"DSA (alias DSS) è un algoritmo usabile solo per firmare. E l'algoritmo\n" +"suggerito perché verificare firme DSA è molto più veloce di quelle ElGamal.\n" +"\n" +"ElGamal è un algoritmo usabile per firmare e cifrare.\n" +"OpenPGP distingue tra due versioni di questo algoritmo: una solo per " +"firmare\n" +"e una per firmare e cifrare. In realtà è sempre lo stesso, ma per creare\n" +"firme sicure per la cifratura occorre scegliere in un modo particolare " +"alcuni\n" +"parametri: questo programma lo fa ma non è richiesto che altre " +"implementazioni\n" +"di OpenPGP capiscano la versione per firmare e cifrare.\n" +"\n" +"La prima chiave (primaria) deve sempre essere una chiave in grado di " +"firmare;\n" +"questo è il motivo per cui le chiavi ElGamal solo per cifrare non sono\n" +"disponibili in questo menù." #: g10/helptext.c:85 msgid "" @@ -3271,16 +3361,19 @@ "because they are not supported by all programs and signatures created\n" "with them are quite large and very slow to verify." msgstr "" +"Anche se queste chiavi sono definite da RFC2400 non sono suggerite perché " +"non\n" +"sono gestite da tutti i programmi e le firme create sono grandi e lunghe da\n" +"verificare." #: g10/helptext.c:92 -#, fuzzy msgid "Enter the size of the key" -msgstr "Inserisci l'user ID: " +msgstr "Inserisci le dimensioni della chiave" #: 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 "Rispondi \"si\" o \"no\"" #: g10/helptext.c:106 msgid "" @@ -3289,19 +3382,22 @@ "get a good error response - instead the system tries to interpret\n" "the given value as an interval." msgstr "" +"Inserisci il valore richiesto come indicato dal prompt.\n" +"È possibile inserire una data in formato ISO (YYYY-MM-DD) ma non avrai un\n" +"messaggio di errore corretto: il sistema cerca di interpretare il valore\n" +"dato come un intervallo." #: g10/helptext.c:118 msgid "Enter the name of the key holder" -msgstr "" +msgstr "Inserisci il nome del proprietario della chiave" #: g10/helptext.c:123 msgid "please enter an optional but highly suggested email address" -msgstr "" +msgstr "Inserisci un indirizzo di email opzionale (ma fortemente suggerito)" #: g10/helptext.c:127 -#, fuzzy msgid "Please enter an optional comment" -msgstr "Inserisci il nome del file di dati: " +msgstr "Inserisci un commento opzionale" #: g10/helptext.c:132 msgid "" @@ -3311,24 +3407,31 @@ "O to continue with key generation.\n" "Q to to quit the key generation." msgstr "" +"N per cambiare il nome.\n" +"C per cambiare il commento.\n" +"E per cambiare l'indirizzo di email.\n" +"O per continuare con la generazione della chiave.\n" +"Q per abbandonare il processo di generazione della chiave." #: g10/helptext.c:141 msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key." -msgstr "" +msgstr "Rispondi \"si\" (o \"y\") se va bene generare la subchiave." #: g10/helptext.c:164 msgid "Answer \"yes\" is you want to sign ALL the user IDs" -msgstr "" +msgstr "Rispondi \"si\" se vuoi firmare TUTTI gli user ID" #: g10/helptext.c:168 msgid "" "Answer \"yes\" if you really want to delete this user ID.\n" "All certificates are then also lost!" msgstr "" +"Rispondi \"si\" se vuoi davvero cancellare questo user ID.\n" +"Tutti i certificati saranno persi!" #: g10/helptext.c:173 msgid "Answer \"yes\" if it is okay to delete the subkey" -msgstr "" +msgstr "Rispondi \"si\" se va bene cancellare la subchiave" #: g10/helptext.c:178 msgid "" @@ -3336,6 +3439,10 @@ "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 "" +"Questa è una firma valida per la chiave. Normalmente non vorresti " +"cancellare\n" +"questa firma perchè può essere importante per stabilire una connessione di\n" +"fiducia alla chiave o a un'altra chiave certificata da questa chiave." #: g10/helptext.c:183 msgid "" @@ -3344,12 +3451,18 @@ "know which key was used because this signing key might establish\n" "a trust connection through another already certified key." msgstr "" +"Questa firma non può essere verificata perchè non hai la chiave " +"corrispondente.\n" +"Dovresti rimandare la sua cancellazione finchè non saprai quale chiave è " +"stata\n" +"usata perchè questa chiave potrebbe stabilire una connessione di fiducia\n" +"attraverso una chiave già certificata." #: g10/helptext.c:189 msgid "" "The signature is not valid. It does make sense to remove it from\n" "your keyring." -msgstr "" +msgstr "La firma non è valida. Ha senso rimuoverla dal tuo portachiavi." #: g10/helptext.c:193 msgid "" @@ -3359,30 +3472,40 @@ "only if this self-signature is for some reason not valid and\n" "a second one is available." msgstr "" +"Questa è una firma che collega l'user id alla chiave. Solitamente non è una\n" +"buona idea rimuovere questo tipo di firma. In realtà GnuPG potrebbe non " +"essere\n" +"più in grado di usare questa chiave. Quindi fallo solo se questa autofirma " +"non\n" +"è valida per qualche ragione e ne è disponibile un'altra." #: g10/helptext.c:202 msgid "" "Please enter the passhrase; this is a secret sentence \n" " Blurb, blurb,.... " msgstr "" +"Inserisci la passphrase, cioè una frase segreta.\n" +" bla, bla, bla..." #: g10/helptext.c:209 msgid "Please repeat the last passphrase, so you are sure what you typed in." -msgstr "" +msgstr "Ripeti l'ultima passphrase per essere sicuro di cosa hai scritto." #: g10/helptext.c:213 -msgid "Give the name fo the file to which the signature applies" -msgstr "" +msgid "Give the name of the file to which the signature applies" +msgstr "Inserisci il nome del file a cui si riferisce la firma." #: g10/helptext.c:218 msgid "Answer \"yes\" if it is okay to overwrite the file" -msgstr "" +msgstr "Rispondi \"si\" se va bene sovrascrivere il file." #: 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 "" +"Inserisci il nuovo nome del file. Se premi INVIO sarà usato il nome\n" +"predefinito (quello indicato tra parentesi)." #: g10/helptext.c:237 msgid "No help available" @@ -3392,154 +3515,3 @@ #, c-format msgid "No help available for `%s'" msgstr "Non è disponibile un aiuto per `%s'" - -#~ msgid "edit_ownertrust.value" -#~ msgstr "" -#~ "È compito tuo assegnare un valore; questo valore non sarà mai esportato a\n" -#~ "terzi. Ci serve per implementare il web-of-trust; non ha nulla a che fare\n" -#~ "con il web-of-certificates (creato implicitamente)." - -#~ msgid "revoked_key.override" -#~ msgstr "Se vuoi usare comunque questa chiave revocata, rispondi \"sì\"." - -#~ msgid "untrusted_key.override" -#~ msgstr "Se vuoi usare comunque questa chiave non fidata, rispondi \"sì\"." - -#~ msgid "pklist.user_id.enter" -#~ msgstr "" -#~ "Inserisci l'user id del destinatario a cui vuoi mandare il messaggio." - -#~ msgid "keygen.algo" -#~ msgstr "" -#~ "Seleziona l'algoritmo da usare.\n" -#~ "DSA (alias DSS) è un algoritmo usabile solo per firmare. È l'algoritmo\n" -#~ "suggerito perché verificare firme DSA è molto più veloce di quelle ElGamal.\n" -#~ "ElGamal è un algoritmo usabile per firmare e cifrare.\n" -#~ "OpenPGP distingue tra due versioni di questo algoritmo: una solo per " -#~ "firmare\n" -#~ "e una per firmare e cifrare. In realtà è sempre lo stesso, per creare firme\n" -#~ "sicure per la cifratura occorre scegliere in un modo particolare alcuni\n" -#~ "parametri: questo programma lo fa ma non è richiesto che altre " -#~ "implementazioni\n" -#~ "di OpenPGP capiscano la versione per firmare e cifrare.\n" -#~ "La prima chiave (primaria) deve sempre essere una chiave in grado di " -#~ "firmare;\n" -#~ "questo è il motivo per cui le chiavi ElGamal solo per cifrare sono\n" -#~ "disabilitate." - -#~ msgid "keygen.algo.elg_se" -#~ msgstr "" -#~ "Anche se queste chiavi sono definite da RFC2400 non sono suggerite perché " -#~ "non\n" -#~ "sono gestite da tutti i programmi e le firme create sono grandi e lunghe da\n" -#~ "verificare." - -#~ msgid "keygen.size" -#~ msgstr "Inserisci le dimensioni della chiave" - -#~ msgid "keygen.size.huge.okay" -#~ msgstr "Rispondi \"sì\" o \"no\"" - -#~ msgid "keygen.size.large.okay" -#~ msgstr "Rispondi \"sì\" o \"no\"" - -#~ msgid "keygen.valid" -#~ msgstr "" -#~ "Inserisci il valore richiesto come indicato dal prompt.\n" -#~ "È possibile inserire una data in formato ISO (YYYY-MM-DD) ma non avrai un\n" -#~ "messaggio di errore corretto: il sistema cerca di interpretare il valore\n" -#~ "dato come un intervallo." - -#~ msgid "keygen.valid.okay" -#~ msgstr "Rispondi \"sì\" o \"no\"" - -#~ msgid "keygen.name" -#~ msgstr "Inserisci il nome del proprietario della chiave" - -#~ msgid "keygen.email" -#~ msgstr "Inserisci un indirizzo di email opzionale (ma fortemente suggerito)" - -#~ msgid "keygen.comment" -#~ msgstr "Inserisci un commento opzionale" - -#~ msgid "keygen.userid.cmd" -#~ msgstr "" -#~ "N per cambiare il nome\n" -#~ "C per cambiare il commento\n" -#~ "E per cambiare l'indirizzo di email\n" -#~ "O per continuare con la generazione della chiave\n" -#~ "Q per abbandonare il processo di generazione della chiave" - -#~ msgid "keygen.sub.okay" -#~ msgstr "Rispondi \"sì\" (o \"y\") se va bene generare la subchiave." - -#~ msgid "sign_uid.okay" -#~ msgstr "Rispondi \"sì\" o \"no\"" - -#~ msgid "change_passwd.empty.okay" -#~ msgstr "Rispondi \"sì\" o \"no\"" - -#~ msgid "keyedit.save.okay" -#~ msgstr "Rispondi \"sì\" o \"no\"" - -#~ msgid "keyedit.cancel.okay" -#~ msgstr "Rispondi \"sì\" o \"no\"" - -#~ msgid "keyedit.sign_all.okay" -#~ msgstr "Rispondi \"sì\" se vuoi firmare TUTTI gli user id." - -#~ msgid "keyedit.remove.uid.okay" -#~ msgstr "" -#~ "Rispondi \"sì\" se vuoi davvero cancellare questo user id.\n" -#~ "Tutti i certificati saranno persi!" - -#~ msgid "keyedit.remove.subkey.okay" -#~ msgstr "Rispondi \"sì\" se va bene cancellare la subchiave" - -#~ msgid "keyedit.delsig.valid" -#~ msgstr "" -#~ "Questa è una firma valida per la chiave. Normalmente non vorresti " -#~ "cancellare\n" -#~ "questa firma perchè può essere importante per stabilire una connessione di\n" -#~ "fiducia alla chiave o a un'altra chiave certificata da questa chiave." - -#~ msgid "keyedit.delsig.unknown" -#~ msgstr "" -#~ "Questa firma non può essere verificata perchè non hai la chiave " -#~ "corrispondente.\n" -#~ "Dovresti rimandare la sua cancellazione finchè non saprai quale chiave è " -#~ "stata\n" -#~ "usata perchè questa chiave potrebbe stabilire una connessione di fiducia\n" -#~ "attraverso una chiave già certificata." - -#~ msgid "keyedit.delsig.invalid" -#~ msgstr "Questa firma non è valida. Ha senso rimuoverla dal tuo portachiavi." - -#~ msgid "keyedit.delsig.selfsig" -#~ msgstr "" -#~ "Questa è la firma che collega l'user id alla chiave. Solitamente non è una\n" -#~ "buona idea rimuovere questo tipo di firme. In realtà GnuPG potrebbe non " -#~ "essere\n" -#~ "più in grado di usare questa chiave. Quindi fallo solo se questa autofirma " -#~ "non\n" -#~ "è valida per qualche ragione e ne è disponibile un'altra." - -#~ msgid "passphrase.enter" -#~ msgstr "" -#~ "Inserisci la passphrase, cioè una frase segreta.\n" -#~ "bla, bla, bla..." - -#~ msgid "passphrase.repeat" -#~ msgstr "Ripeti l'ultima passphrase per essere sicuro di cosa hai scritto." - -#~ msgid "detached_signature.filename" -#~ msgstr "Inserisci il nome del file a cui la firma si riferisce." - -#~ msgid "openfile.overwrite.okay" -#~ msgstr "Rispondi \"sì\" se va bene sovrascrivere il file." - -#~ msgid "openfile.askoutname" -#~ msgstr "" -#~ "Inserisci il nuovo nome del file.\n" -#~ "Se premi INVIO sarà usato il nome predefinito (quello indicato tra " -#~ "parentesi)." diff -urN gnupg-1.0.0/po/pl.po gnupg-1.0.1/po/pl.po --- gnupg-1.0.0/po/pl.po Tue Sep 7 18:48:34 1999 +++ gnupg-1.0.1/po/pl.po Thu Dec 16 10:17:34 1999 @@ -6,9 +6,9 @@ # msgid "" msgstr "" -"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" +"Project-Id-Version: gnupg-1.0.0\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" +"PO-Revision-Date: 1999-10-02 21:35+02:00\n" "Last-Translator: Janusz A. Urbanowicz \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -27,11 +27,11 @@ msgid "Warning: using insecure memory!\n" msgstr "Ostrze¿enie: u¿ywana pamiêæ nie jest pamiêci± bezpieczn±!\n" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "operacja niemo¿liwa do wykonania bez dostêpnej pamiêci bezpiecznej\n" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "(prawdopodobnie u¿ywany program jest niew³a¶ciwy dlatego zadania)\n" @@ -101,7 +101,7 @@ #: util/errors.c:64 msgid "public key not found" -msgstr "klucz publiczny nie odnaleziony" +msgstr "nie odnaleziono klucza publicznego" #: util/errors.c:65 msgid "unknown cipher algorithm" @@ -125,19 +125,19 @@ #: util/errors.c:70 msgid "secret key not available" -msgstr "klucz tajny jest niedostêpny" +msgstr "klucz tajny nie jest dostêpny" #: util/errors.c:71 msgid "wrong secret key used" -msgstr "zosta³ u¿yty niew³a¶ciwy klucz tajny" +msgstr "u¿yty zosta³ niew³a¶ciwy klucz tajny" #: util/errors.c:72 msgid "not supported" -msgstr "nie jet obs³ugiwany" +msgstr "nie jest obs³ugiwany" #: util/errors.c:73 msgid "bad key" -msgstr "klucz niepoprawny" +msgstr "niepoprawny klucz" #: util/errors.c:74 msgid "file read error" @@ -213,7 +213,7 @@ #: util/errors.c:92 msgid "unexpected data" -msgstr "nieoczekiowane dane" +msgstr "nieoczekiwane dane" #: util/errors.c:93 msgid "timestamp conflict" @@ -241,7 +241,7 @@ #: util/errors.c:99 msgid "unsupported URI" -msgstr "URI typu nie obs³ugiwanego" +msgstr "URI nie obs³ugiwanego typu" #: util/errors.c:100 msgid "network error" @@ -249,7 +249,12 @@ #: util/errors.c:102 msgid "not encrypted" -msgstr "nie zaszyfrowany" +msgstr "nie jest zaszyfrowany" + +#: util/errors.c:103 +#, fuzzy +msgid "not processed" +msgstr "%lu kluczy przetworzonych\n" #: util/logger.c:218 #, c-format @@ -261,13 +266,13 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "znalaz³e¶(a¶) b³±d w programie ... (%s:%d)\n" -#: cipher/random.c:452 +#: cipher/random.c:458 msgid "WARNING: using insecure random number generator!!\n" msgstr "" "OSTRZE¯ENIE: u¿ywany generator liczb losowych\n" "nie jest kryptograficznie bezpieczny!!\n" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -293,7 +298,7 @@ "Proszê kontynuowaæ inne dzia³ania aby system móg³ zebraæ odpowiedni±\n" "ilo¶æ entropii do ich wygenerowania (brakuje %d bajtów).\n" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " @@ -301,135 +306,140 @@ "@Polecenia:\n" " " -#: g10/g10.c:187 +#: g10/g10.c:191 msgid "|[file]|make a signature" msgstr "|[plik]|z³o¿enie podpisu" -#: g10/g10.c:188 +#: g10/g10.c:192 msgid "|[file]|make a clear text signature" msgstr "|[plik]|z³o¿enie podpisu na czytelnym dokumencie" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "sporz±dzenie podpisu oddzielonego od dokumentu" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "szyfrowanie danych" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "szyfrowanie tylko szyfrem symetrycznym" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" -msgstr "tylko zapis" +msgstr "tylko zapis do pliku" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "odszyfrowywanie danych (domy¶lnie)" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "sprawdzenie podpisu" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "lista kluczy" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "lista kluczy i podpisów" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "sprawdzenie podpisów kluczy" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "lista kluczy i ich odcisków" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "lista kluczy tajnych" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "generacja nowej pary klucza" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" msgstr "usuniêcie klucza ze zbioru kluczy publicznych" -#: g10/g10.c:203 +#: g10/g10.c:209 +#, fuzzy +msgid "remove key from the secret keyring" +msgstr "usuniêcie klucza ze zbioru kluczy publicznych" + +#: g10/g10.c:210 msgid "sign a key" msgstr "z³o¿enie podpisu na kluczu" -#: g10/g10.c:204 +#: g10/g10.c:211 msgid "sign a key locally" msgstr "z³o¿enie lokalnego podpisu na kluczu" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" msgstr "podpisanie lub modyfikacja klucza" -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" -msgstr "generacja certyfikatu uniewa¿nienia klucza" +msgstr "tworzenie certyfikatu uniewa¿nienia klucza" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "eksport kluczy do pliku" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "eksport kluczy do serwera kluczy" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "import kluczy z serwera kluczy" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" -msgstr "import/do³±czenie kluczy" +msgstr "import/do³±czanie kluczy" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "wypisane sekwencji pakietów" -#: g10/g10.c:216 +#: g10/g10.c:223 msgid "export the ownertrust values" msgstr "eksport warto¶ci zaufania" -#: g10/g10.c:218 +#: g10/g10.c:225 msgid "import ownertrust values" msgstr "wczytanie warto¶æi zaufania" -#: g10/g10.c:220 +#: g10/g10.c:227 msgid "update the trust database" msgstr "uaktualnienie bazy zaufania" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "|[NAZWY]|sprawdzenie bazy zaufania" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" -msgstr "naprawa uszkodzonej Bazy Zaufania" +msgstr "naprawa uszkodzonej bazy zaufania" -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "zdjêcie opakowania ASCII pliku lub potoku" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "opakowanie ASCII pliku lub potoku" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "|algo [pliki]|skróty wiadomo¶ci" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" @@ -439,168 +449,168 @@ "Opcje:\n" " " -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" -msgstr "plik wynikowy w opakowaniu ASCII" +msgstr "plik wynikowy bêdzie w opakowaniu ASCII" -#: g10/g10.c:233 +#: g10/g10.c:243 msgid "|NAME|encrypt for NAME" -msgstr "|NAZWA|szyfrowanie dla odbiorcy NAZWA" +msgstr "|NAZWA|szyfrowanie dla adresata NAZWA" -#: g10/g10.c:236 +#: g10/g10.c:246 msgid "|NAME|use NAME as default recipient" msgstr "|NAZWA|u¿ycie NAZWA jako domy¶lnego adresata" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" msgstr "domy¶lny klucz jest domy¶lnym adresatem" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "identyfikator do podpisania lub odszyfrowania" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" msgstr "|N|poziom kompresji N (0 - brak)" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "kanoniczny format tekstowy" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "plik wyj¶ciowy" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "z informacjami dodatkowymi" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "mniej komunikatóww" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" msgstr "bez odwo³añ do terminala" -#: g10/g10.c:250 +#: g10/g10.c:260 msgid "force v3 signatures" msgstr "wymuszenie trzeciej wersji formatu podpisów" -#: g10/g10.c:251 +#: g10/g10.c:261 msgid "always use a MDC for encryption" msgstr "do szyfrowania bêdzie u¿ywany MDC" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "pozostawienie bez zmian" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "tryb wsadowy: ¿adnych pytañ" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "automatyczna odpowied¼ tak na wiêkszo¶æ pytañ" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "automatyczna odpowied¼ nie na wiêkszo¶æ pytañ" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "dodaæ zbiór kluczy do listy u¿ywanych" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "dodaæ zbiór kluczy tajnych do listy" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "|NAZWA|u¿ycie NAZWA jako domy¶lnego klucza tajnego" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HOST|serwer kluczy w którym bêd± poszukiwane" -#: g10/g10.c:261 +#: g10/g10.c:271 msgid "|NAME|set terminal charset to NAME" msgstr "|NAZWA|zestaw znaków terminala NAZWA" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "wczytanie opcji z pliku" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "ustawienie opcji ¶ledzenia wykonania programu" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" -msgstr "umo¿liwienie pe³nego ¶ledzenia programu" +msgstr "w³±czenie pe³nego ¶ledzenia programu" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "|FD|zapisaæ opis stanu do FD" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "nie zapisywaæ pakietów z komentarzem" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "(domy¶lnie 1)" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "(domy¶lnie 3)" -#: g10/g10.c:271 +#: g10/g10.c:281 msgid "|FILE|load extension module FILE" msgstr "|PLIK|³adowanie modu³u rozszerzenia z PLIK" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "emulacja trybu opisanego w RFC1991" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "zgodno¶æ ustawieñ pakietów, szyfrów i skrótów z OpenPGP" -#: g10/g10.c:274 +#: g10/g10.c:284 msgid "|N|use passphrase mode N" msgstr "|N|N-ty tryb wprowadzania wyra¿enia przej¶ciowego" -#: g10/g10.c:276 +#: g10/g10.c:286 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|ALG|algorytm obliczania skrótów wiadomo¶ci ALG" -#: g10/g10.c:278 +#: g10/g10.c:288 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|ALG|algorytmu szyfruj±cy ALG dla has³a" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "|NAZWA|algorytm szyfruj±cy NAZWA" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "|NAZWA|algorytm obliczania skrótów wiadomo¶ci NAZWA" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "|N|algorytm kompresji N" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" msgstr "usuniêcie identyfikatorów kluczy z pakietów" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" msgstr "|NAZWA=TRE¦Æ|adnotacje" -#: g10/g10.c:285 +#: g10/g10.c:295 msgid "" "@\n" "Examples:\n" @@ -621,15 +631,15 @@ " --list-keys [nazwy] pokazuje klucze\n" " --fingerprint [nazwy] pokazuje odciski kluczy\n" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "B³êdy prosimy zg³aszaæ na adres .\n" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Wywo³anie: gpg [opcje] [pliki] (-h podaje pomoc)" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -639,7 +649,7 @@ "podpisywanie, sprawdzanie podpisów, szyfrowanie, deszyfrowanie\n" "domy¶lnie wykonywana operacja zale¿y od danych wej¶ciowych\n" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" @@ -647,182 +657,182 @@ "\n" "Obs³ugiwane algorytmy:\n" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "wywo³anie: gpg [opcje]" -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "sprzeczne polecenia\n" -#: g10/g10.c:644 +#: g10/g10.c:668 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "UWAGA: brak domy¶lnego pliku opcji '%s'\n" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "plik opcji '%s': %s\n" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "odczyt opcji z '%s'\n" -#: g10/g10.c:835 +#: g10/g10.c:861 #, c-format msgid "%s is not a valid character set\n" msgstr "%s nie jest poprawn± nazw± zestawu znaków\n" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" msgstr "UWAGA: %s nie jest do normalnego u¿ytku!\n" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" msgstr "%s jest niedozwolony z %s!\n" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" msgstr "%s nie ma sensu z %s!\n" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "wybrany algorytm szyfruj±cy jest niepoprawny\n" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "wybrany algorytm geenracji skrótów wiadomo¶ci jest niepoprawny\n" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" msgstr "podany URL regulaminu jest niepoprawny\n" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "ustawienie algortytmu kompresji musi pochodziæ z zakresu %d..%d\n" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "warto¶æ completes-needed musi byæ wiêksza od 0\n" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "warto¶æ marginals-needed musi byæ wiêksza od 1\n" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "warto¶æ max-cert-depth musi mie¶ciæ siê w zakresie od 1 do 255\n" -#: g10/g10.c:950 +#: g10/g10.c:975 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "UWAGA: prosty tryb S2K (0) jest stanowczo odradzany\n" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "niepoprawny tryb S2K; musi mieæ warto¶æ 0, 1 lub 3\n" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "inicjowanie Bazy Zaufania nie powiod³o siê: %s\n" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "--store [plik]" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "--symmetric [plik]" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "--encrypt [plik]" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "--sign [plik]" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [plik]" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" -msgstr "--clearsign [plik]\"" +msgstr "--clearsign [plik]" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "--decrypt [plik]" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" msgstr "--sign-key nazwa u¿ytkownika" -#: g10/g10.c:1120 +#: g10/g10.c:1150 msgid "--lsign-key user-id" msgstr "--lsign-key nazwa u¿ytkownika" -#: g10/g10.c:1128 +#: g10/g10.c:1158 msgid "--edit-key user-id [commands]" msgstr "--edit-key nazwa u¿ytkownika [polecenia]" -#: g10/g10.c:1144 +#: g10/g10.c:1174 msgid "--delete-secret-key user-id" msgstr "--delete-secret-key nazwa u¿ytkownika" -#: g10/g10.c:1147 +#: g10/g10.c:1177 msgid "--delete-key user-id" msgstr "--delete-key nazwa u¿ytkownika" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "nie mo¿na otworzyæ %s: %s\n" -#: g10/g10.c:1182 +#: g10/g10.c:1229 msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "-k[v][v][v][c] [identyfikator] [zbiór kluczy]" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "usuniêcie opakowania ASCII nie powiod³o siê: %s\n" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "opakowywanie ASCII nie powiod³o siê: %s\n" -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "niew³a¶ciwy algorytm skrótu '%s'\n" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "[nazwa pliku]" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" msgstr "Wpisz tutaj swoj± wiadomo¶æ ...\n" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" msgstr "nie mo¿na otworzyæ '%s'\n" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" -msgstr "adnotacja musi zaczynaæ siê od podkre¶lenia lub litery\n" +msgstr "adnotacja musi zaczynaæ siê od litery lub podkre¶lenia\n" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" @@ -830,11 +840,11 @@ "nazwa adnotacji mo¿e zawieraæ tylko litery, cyfry, kropki,\n" "podkre¶lenia, i musi koñczyæ siê '='\n" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "kropki w adnotacji musz± znajdowaæ siê pomiêdzy innymi znakami\n" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" msgstr "warto¶æ adnotacji nie mo¿e zawieraæ znaków steruj±cych\n" @@ -843,70 +853,70 @@ msgid "armor: %s\n" msgstr "opakowanie: %s\n" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "niepoprawny nag³ówek opakowania: " -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "nag³ówek opakowania: " -#: g10/armor.c:337 +#: g10/armor.c:343 msgid "invalid clearsig header\n" msgstr "niew³a¶ciwy nag³ówek czytelnego podpisanego dokumentu\n" -#: g10/armor.c:389 +#: g10/armor.c:395 msgid "nested clear text signatures\n" msgstr "zagnie¿d¿one podpisy na czytelnym dokumencie\n" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "niepoprawne oznaczenie linii minusami: " -#: g10/armor.c:512 +#: g10/armor.c:518 msgid "unexpected armor:" msgstr "nieoczekiwane opakowanie:" -#: g10/armor.c:629 +#: g10/armor.c:635 #, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "niew³a¶ciwy znak formatu radix64 %02x zosta³ pominiêty\n" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "przewczesny koniec pliku (brak CRC)\n" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "przedwczesny koniec pliku (w CRC)\n" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "b³±d formatu CRC\n" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "B³±d sumy CRC; %06lx - %06lx\n" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" -msgstr "przedwczesny koniec pliku (w linii koñcz±cej)\n" +msgstr "przedwczesny koniec pliku (w zakoñczeniu)\n" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "b³±d w linii koñcz±cej\n" -#: g10/armor.c:1001 +#: g10/armor.c:1012 msgid "no valid OpenPGP data found.\n" msgstr "nie odnaleziono poprawnych danych w formacie OpenPGP.\n" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "b³±d opakowania: linia d³u¿sza ni¿ %d znaków\n" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -1010,36 +1020,36 @@ "Parametry zaufania nie zosta³y zmienione.\n" "\n" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "klucz %08lX: klucz zosta³ uniewa¿niony!\n" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "U¿yæ tego klucza pomimo to? " -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "klucz %08lX: podklucz zosta³ uniewa¿niony!\n" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: data wa¿no¶ci klucza up³ynê³a\n" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "%08lX: brak informacji aby obliczyæ prawdopodobieñstwo zaufania\n" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: NIE UFAMY temu kluczowi\n" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -1048,16 +1058,16 @@ "%08lX: Nie ma pewno¶æi ¿e ten klucz faktycznie nale¿y do odoby podaj±cej\n" "siê za jego w³a¶ciciela, ale jest akceptowalny.\n" -#: g10/pkclist.c:422 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "" "Ten klucz prawdopodobnie nale¿y do osoby podaj±cej siê za jego w³a¶ciciela.\n" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "Ten klucz nale¿y do nas\n" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -1068,67 +1078,68 @@ "w³a¶ciciela. Je¶li nie masz co do tego ¿adnych w±tpliwo¶ci i *naprawdê*\n" "wiesz co robisz mo¿esz odpowiedzieæ \"tak\" na nastêpne pytanie.\n" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "OSTRZE¯ENIE: u¿ywany jest klucz nie obdarzony zaufaniem!\n" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "OSTRZE¯ENIE: Ten klucz zosta³ uniewa¿niony przez w³a¶ciciela!\n" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" msgstr " To mo¿e oznaczaæ ¿e podpis jest fa³szerstwem.\n" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "OSTRZE¯ENIE: Ten podklucz zosta³ uniewa¿niony przez w³a¶ciciela!\n" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "Uwaga: Data wa¿no¶ci tego klucza up³ynê³a!\n" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "OSTRZE¯ENIE: Ten klucz nie jest po¶wiadczony zaufanym podpisem!\n" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr "" -" Nic nie wskazuje na to ¿e ten podpis z³o¿y³ w³a¶ciciel klucza.\n" +" Nic nie wskazuje na to ¿e ten podpis z³o¿y³ w³a¶ciciel klucza.\n" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "OSTRZE¯ENIE: NIE UFAMY temu kluczowi!\n" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" -msgstr " Ten podpis prawdopodobnie jest FA£SZERSTWEM.\n" +msgstr " Ten podpis prawdopodobnie jest FA£SZERSTWEM.\n" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" "OSTRZE¯ENIE: Ten klucz nie jest po¶wiadczony wystarczaj±co zaufanymi " "podpisami!\n" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" msgstr "" -" Nie ma pewno¶ci ¿e ten podpis zosta³ z³o¿nony przez w³a¶ciciela.\n" +" Nie ma pewno¶ci ¿e ten podpis zosta³ z³o¿nony przez " +"w³a¶ciciela.\n" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: pominiêty: %s\n" -#: g10/pkclist.c:702 g10/pkclist.c:868 +#: g10/pkclist.c:708 g10/pkclist.c:875 #, c-format msgid "%s: skipped: public key already present\n" msgstr "%s: pominiêty: klucz publiczny ju¿ znajduje siê w bazie\n" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1136,96 +1147,96 @@ "Nie poda³e¶ identyfikatora u¿ytkownika (user ID). \n" "Mo¿na to zrobiæ za pomoc± opcji \"-r\".\n" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "Wprowad¼ identyfikator u¿ytkownika (user ID): " -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "Brak takiego identyfikatora u¿ytkownika.\n" -#: g10/pkclist.c:756 +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" msgstr "pominiêty: klucz publiczny ju¿ jest domy¶lnym adresatem\n" -#: g10/pkclist.c:778 +#: g10/pkclist.c:785 msgid "Public key is disabled.\n" msgstr "Klucz publiczny wy³±czony z uzycia.\n" -#: g10/pkclist.c:785 +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" msgstr "pominiêty: klucz publiczny ju¿ wybrany w --encrypt-to\n" -#: g10/pkclist.c:816 +#: g10/pkclist.c:823 #, c-format msgid "unknown default recipient `%s'\n" msgstr "nieznany domy¶lny adresat '%s'\n" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: b³±d podczas sprawdzania klucza: %s\n" -#: g10/pkclist.c:854 +#: g10/pkclist.c:861 #, c-format msgid "%s: skipped: public key is disabled\n" msgstr "%s: pominiêty: klucz publiczny wy³±czony z u¿ycia\n" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "brak poprawnych adresów\n" -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "zapis podpisu klucza nim samym\n" -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "zapis podpisu wi±¿±cego klucz\n" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "Proszê wybraæ rodzaj klucza:\n" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr " (%d) Para kluczy dla algorytmów DSA i ElGamala (domy¶lne)\n" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr " (%d) DSA (tylko do podpisywania)\n" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr " (%d) Klucz dla algorytmu ElGamala (tylko do szyfrowanie)\n" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr " (%d) Klucz dla algorytmu ElGamala (do szyfrowania i podpisywania)\n" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr "" " (%d) Klucz dla algorytmu ElGamala w pakiecie w trzeciej wersji formatu\n" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "Twój wybór? " -#: g10/keygen.c:409 +#: g10/keygen.c:410 msgid "Do you really want to create a sign and encrypt key? " msgstr "Czy na pewno chcesz stworzyæ klucz do szyfrowania i podpisywania? " -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "Niew³a¶ciwy wybór.\n" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1238,15 +1249,15 @@ " domy¶lny rozmiar klucza wynosi 1024 bity\n" " najwiêkszy sugerowany rozmiar klucza wynosi 2048 bitów\n" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "Jakiej d³ugo¶ci klucz wygenerowaæ? (1024) " -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "Klucz dla DSA musi mieæ d³ugo¶æ pomiêdzy 512 i 1024 bitow.\n" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "D³ugo¶æ klucza zbyt ma³a; minimalna dopuszczona wynosi 768 bitów.\n" @@ -1258,12 +1269,12 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "zbyt du¿y rozmiar klucza, ograniczenie wynosi %d.\n" -#: g10/keygen.c:471 +#: g10/keygen.c:472 msgid "" "Keysizes larger than 2048 are not suggested because\n" "computations take REALLY long!\n" @@ -1271,11 +1282,11 @@ "Klucze d³u¿sze ni¿ 2048 bitów s± odradzane, poniewa¿ obliczenia\n" "trwaj± wtedy BARDZO d³ugo!\n" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "Na pewno wygenerowaæ klucz takiej d³ugo¶ci? " -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" @@ -1283,21 +1294,21 @@ "Nale¿y tak¿e pamiêtaæ o tym, ¿e informacje mog± byæ te¿ wykradzione z\n" "komputera przez pods³uch emisji elektromagnetycznej klawiatury i monitora!\n" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "Czy naprawdê potrzebujesz takiego d³ugiego klucza? " -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "¯±dana d³ugo¶æ klucza to %u bity.\n" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "zaokr±glono do %u bitów\n" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1313,29 +1324,35 @@ " m = termin wa¿no¶ci klucza up³ywa za n miesiêcy\n" " y = termin wa¿no¶ci klucza up³ywa za n lat\n" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "Okres wa¿no¶ci klucza ? (0) " -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "niepoprawna warto¶æ\n" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "Klucz nie ma daty wa¿no¶ci (nie traci wa¿no¶ci z up³ywem czasu).\n" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "Data wa¿no¶ci klucza: %s\n" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "Dane poprawne (t/n)? " -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1351,44 +1368,44 @@ " \"Tadeusz ¯eleñski (Boy) \"\n" "\n" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "Imiê i nazwisko: " -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "Niew³a¶ciwy znak w imieniu lub nazwisku\n" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "Imiê lub nazwisko nie mo¿e zaczynaæ siê od cyfry\n" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "Imiê i nazwisko musz± mieæ conajmniej 5 znaków d³ugo¶ci.\n" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "Adres poczty elektronicznej: " -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" -msgstr "To nie jest poprawny adres poczty elektronicznej\n" +msgstr "to nie jest poprawny adres poczty elektronicznej\n" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "Komentarz: " -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "Niew³a¶ciwy znak w komentarzu\n" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "U¿ywasz zestawu znaków %s.\n" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1399,43 +1416,43 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "IiKkEeDdWw" -#: g10/keygen.c:699 +#: g10/keygen.c:703 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "" "Zmieniæ (I)miê/nazwisko, (K)omentarz, adres (E)mail, \n" -"przej¶æ (D)alej czy (W)yj¶æ z programu ? " +"przej¶æ (D)alej czy (W)yj¶æ z programu? " -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" msgstr "" "Musisz podaæ wyra¿enie przej¶ciowe (has³o) aby ochroniæ swój klucz tajny.\n" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "" "Powtórzone wyra¿enie przej¶ciowe nie zgadza siê z podanym w pierwszej " "próbie;\n" "spróbuj jeszcze raz.\n" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" "using this program with the option \"--edit-key\".\n" "\n" msgstr "" -"Nie chcesz podaæ wyra¿enia przej¶ciowego (has³a) - to z³y pomys³!\n" +"Nie chcesz podaæ wyra¿enia przej¶ciowego (has³a) - to *z³y* pomys³!\n" "W ka¿dej chwili mo¿esz ustawiæ wyra¿enie przej¶ciowe u¿ywaj±c tego programu\n" "i opcji \"--edit-key\".\n" "\n" -#: g10/keygen.c:786 +#: g10/keygen.c:790 msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" "some other action (type on the keyboard, move the mouse, utilize the\n" @@ -1446,36 +1463,36 @@ "generowania\n" "liczb pierszych jest wykonanywanie w tym czasie innych dzia³añ (pisanie na\n" "klawiaturzeze, poruszanie myszk±, odwo³anie siê do dysków); dziêki temu\n" -"generator liczb losowych ma mo¿liwo¶æ zebrania odpowiedniej ilo¶ci " -"entropii.\n" +"generator liczb losowych ma mo¿liwo¶æ zebrania odpowiedniej ilo¶ci entropii. " +"\n" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "Generacjê klucza mo¿na wykonywaæ tylko w trybie interaktywnym\n" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "Para kluczy dla DSA bêdzie mia³a 1024 bity d³ugo¶ci.\n" -#: g10/keygen.c:870 +#: g10/keygen.c:874 msgid "Key generation canceled.\n" msgstr "Procedura generacji klucza zosta³a anulowana.\n" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" -msgstr "zapisujê certyfikat publiczny w '%s'\n" +msgstr "zapis certyfikatu publicznego w '%s'\n" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" -msgstr "zapisujê certyfikat prywatny w '%s'\n" +msgstr "zapis certyfikatu prywatnego w '%s'\n" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" -msgstr "Prywatny i publiczny klucz zosta³ stworzony i podpisany.\n" +msgstr "prywatny i publiczny klucz zosta³ stworzony i podpisany.\n" -#: g10/keygen.c:960 +#: g10/keygen.c:964 msgid "" "Note that this key cannot be used for encryption. You may want to use\n" "the command \"--edit-key\" to generate a secondary key for this purpose.\n" @@ -1483,20 +1500,20 @@ "Ten klucz nie mo¿e byæ wykorzystany do szyfrowania. Komend± \"--edit-key\" \n" "mo¿na dodaæ do niego podklucz u¿ywany do szyfrowania.\n" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "Generacja klucza nie powiod³a siê: %s\n" -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" msgstr "" -"klucz zosta³ stworzony %lu sekundê w przysz³o¶ci (zaburzenia\n" +"klucz zosta³ stworzony %lu sekund w przysz³o¶ci (zaburzenia\n" "czasoprzestrzeni, lub ¼le ustawiony zegar systemowy)\n" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" @@ -1504,12 +1521,12 @@ "klucz zosta³ stworzony %lu sekund w przysz³o¶ci (zaburzenia\n" "czasoprzestrzeni, lub ¼le ustawiony zegar systemowy)\n" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 msgid "Really create? " msgstr "Na pewno generowaæ? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: nie mo¿na otworzyæ: %s\n" @@ -1519,17 +1536,17 @@ msgid "error creating passphrase: %s\n" msgstr "b³±d podczs tworzenia wyra¿enia przej¶ciowego (has³a): %s\n" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, c-format msgid "%s: WARNING: empty file\n" msgstr "%s: OSTRZE¯ENIE: plik jest pusty\n" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "odczyt z '%s'\n" -#: g10/encode.c:482 +#: g10/encode.c:483 #, c-format msgid "%s/%s encrypted for: %s\n" msgstr "%s/%s zaszyfrowany dla: %s\n" @@ -1537,7 +1554,7 @@ #: g10/export.c:147 #, c-format msgid "%s: user not found: %s\n" -msgstr "%s: nie znaleziono u¿ytkownika %s\n" +msgstr "%s: nie znaleziono u¿ytkownika: %s\n" #: g10/export.c:156 #, c-format @@ -1561,263 +1578,263 @@ msgid "too many entries in unk cache - disabled\n" msgstr "zbyt wiele wpisów w buforze nieznanych kluczy - wy³±czony\n" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" msgstr "W tej wersji nie mo¿na u¿ywaæ kluczy RSA\n" -#: g10/getkey.c:1291 g10/getkey.c:1330 +#: g10/getkey.c:1296 g10/getkey.c:1335 msgid "No key for user ID\n" msgstr "Brak klucza z takim identyfikatorem u¿ytkownika.\n" -#: g10/getkey.c:1369 g10/getkey.c:1409 +#: g10/getkey.c:1374 g10/getkey.c:1414 msgid "No user ID for key\n" msgstr "Brak identyfikatora u¿ytkownika dla klucza.\n" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "u¿ywany jest podklucz %08lX zamiast klucza g³ównego %08lX\n" -#: g10/import.c:118 +#: g10/import.c:124 #, c-format msgid "can't open `%s': %s\n" msgstr "nie mo¿na otworzyæ %s: %s\n" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "blok typu %d zostaje pominiêty\n" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu kluczy przetworzonych do tej chwili\n" -#: g10/import.c:174 +#: g10/import.c:190 #, c-format msgid "error reading `%s': %s\n" msgstr "b³±d odczytu '%s': %s\n" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr "Ogó³em przetworzonych kluczy: %lu\n" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr " bez identyfikatora: %lu\n" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr " do³±czono do zbioru: %lu" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr " bez zmian: %lu\n" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr " nowych identyfikatorów: %lu\n" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr " nowych podkluczy: %lu\n" -#: g10/import.c:193 +#: g10/import.c:216 #, c-format msgid " new signatures: %lu\n" msgstr " nowych podpisów: %lu\n" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr " nowych uniewa¿nieñ kluczy: %lu\n" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr " tajnych kluczy wczytanych: %lu\n" -#: g10/import.c:199 +#: g10/import.c:222 #, c-format msgid " secret keys imported: %lu\n" msgstr " tajnych kluczy dodanych: %lu\n" -#: g10/import.c:201 +#: g10/import.c:224 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " tajnych kluczy bez zmian: %lu\n" -#: g10/import.c:362 g10/import.c:554 +#: g10/import.c:383 g10/import.c:575 #, c-format msgid "key %08lX: no user ID\n" msgstr "klucz %08lX: brak identyfikatora u¿ytkownika\n" -#: g10/import.c:376 +#: g10/import.c:397 #, c-format msgid "key %08lX: no valid user IDs\n" msgstr "klucz %08lX: brak poprawnych identyfikatorów u¿ytkownika\n" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "to mo¿e byæ spowodowane brakiem podpisu w³a¶ciciela klucza\n" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "klucz %08lX: brak klucza publicznego: %s\n" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "brak domy¶lnego zbioru kluczy publicznych\n" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "zapis do '%s'\n" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "nie mo¿na zablokowaæ zbioru kluczy publicznych '%s': %s\n" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "b³±d zapisu zbioru kluczy '%s': %s\n" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" -msgstr "klucz %08lX: klucz publiczny wczytano do zbioru\n" +msgstr "klucz %08lX: klucz publiczny do³±czony do zbioru\n" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "klucz %08lX: nie zgadza siê z lokalnie posiadan± kopi±\n" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "klucz %08lX: brak oryginalnego bloku klucza; %s\n" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "klucz %08lX: nie mo¿na odczytaæ oryginalnego bloku klucza; %s\n" -#: g10/import.c:469 +#: g10/import.c:490 #, c-format msgid "key %08lX: 1 new user ID\n" msgstr "klucz %08lX: 1 nowy identyfikator u¿ytkownika\n" -#: g10/import.c:472 +#: g10/import.c:493 #, c-format msgid "key %08lX: %d new user IDs\n" msgstr "klucz %08lX: %d nowych identyfikatorów u¿ytkownika\n" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "klucz %08lX: 1 nowy podpis\n" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "klucz %08lX: %d nowych podpisów\n" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "klucz %08lX: 1 nowy podklucz\n" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "klucz %08lX: %d nowych podkluczy\n" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "klucz %08lX: bez zmian\n" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "Klucz %08lX: klucz tajny wczytany do zbioru\n" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "Klucz %08lX: ten klucz ju¿ znajduje siê w zbiorze\n" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "klucz %08lX: brak klucza tajnego: %s\n" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" "klucz %08lX: brak klucza publicznego - wczytany certyfikat \n" "uniwa¿nienia nie mo¿e byæ zastosowany\n" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "" "klucz %08lX: niepoprawny certyfikat uniewa¿nienia:\n" "%s - odrzucony\n" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "klucz %08lX: wczytany certyfikat uniewa¿nienia\n" -#: g10/import.c:711 +#: g10/import.c:741 #, c-format msgid "key %08lX: no user ID for signature\n" msgstr "klucz %08lX: brak identyfikatora u¿ytkownika do podpisu\n" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "" "klucz %08lX: nie obs³ugiwany algorytm szyfrowania z kluczem publicznym\n" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "klucz %08lX: niepoprawny podpis w³a¶ciciela klucza\n" -#: g10/import.c:734 +#: g10/import.c:764 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "klucz %08lX: brak podklucza do dowi±zania\n" -#: g10/import.c:743 +#: g10/import.c:773 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "klucz %08lX: niepoprawne dowi±zanie podklucza\n" -#: g10/import.c:769 +#: g10/import.c:800 #, c-format msgid "key %08lX: accepted non self-signed user ID '" msgstr "klucz %08lX: przyjêto identyfikator nie podpisany nim samym '" -#: g10/import.c:798 +#: g10/import.c:829 #, c-format msgid "key %08lX: skipped user ID '" msgstr "klucz %08lX: pominiêto identyfikator u¿ytkownika '" -#: g10/import.c:821 +#: g10/import.c:852 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "klucz %08lX: podklucz pominiêty\n" @@ -1826,34 +1843,34 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "klucz %08lX: podpis nieeksportowalny (klasa %02x) - pominiêty\n" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "" "klucz %08lX: certyfikat uniewa¿nienia umieszczony w niew³a¶ciwym \n" "miejscu - zosta³ pominiêty\n" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "klucz %08lX: niepoprawny certyfikat uniewa¿nienia: %s - pominiêty\n" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "key %08lX: powtórzony identyfikator u¿ytkownika - do³±czony\n" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "klucz %08lX: dodany certyfikat uniewa¿nienia\n" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "klucz %08lX: dostêpna kopia nie jest podpisana ni± sam±\n" @@ -1940,7 +1957,7 @@ msgid "Really sign? " msgstr "Na pewno podpisaæ? " -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "z³o¿enie podpisu nie powiod³o siê: %s\n" @@ -1980,7 +1997,7 @@ #: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" -msgstr "przenoszê podpis klucza na w³a¶ciwe miejsce\n" +msgstr "przeniesienie podpis klucza na w³a¶ciwe miejsce\n" #: g10/keyedit.c:564 msgid "quit this menu" @@ -2076,7 +2093,7 @@ #: g10/keyedit.c:579 msgid "debug" -msgstr "¶ledzenia" +msgstr "¶ledzenie" #: g10/keyedit.c:580 msgid "adduid" @@ -2286,81 +2303,81 @@ #: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" -msgstr "Niepoprawna komenda (spróbuj \"help\")\n" +msgstr "Niepoprawne polecenie (spróbuj \"help\")\n" -#: g10/keyedit.c:1065 +#: g10/keyedit.c:1068 msgid "This key has been disabled" -msgstr "Ten klucz zosta³ wy³±czony z u¿ytku" +msgstr "Ten klucz zosta³ wy³±czony z u¿ycia" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" msgstr "Usun±æ ten poprawny podpis? (t/N/w)" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" msgstr "Usun±æ ten niepoprawny podpis? (t/N/w)" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 msgid "Delete this unknown signature? (y/N/q)" msgstr "Usun±æ ten nieznany podpis? (t/N/w)" -#: g10/keyedit.c:1350 +#: g10/keyedit.c:1353 msgid "Really delete this self-signature? (y/N)" msgstr "Na pewno usun±æ ten podpis klucza nim samym? (t/N)" -#: g10/keyedit.c:1364 +#: g10/keyedit.c:1367 #, c-format msgid "Deleted %d signature.\n" msgstr "%d podpis usuniêty.\n" -#: g10/keyedit.c:1365 +#: g10/keyedit.c:1368 #, c-format msgid "Deleted %d signatures.\n" msgstr "%d podpisów usuniêtych.\n" -#: g10/keyedit.c:1368 +#: g10/keyedit.c:1371 msgid "Nothing deleted.\n" msgstr "Nic nie zosta³o usuniête.\n" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "Proszê usun±æ znacznik wyboru z kluczy tajnych.\n" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 msgid "Please select at most one secondary key.\n" msgstr "Proszê wybraæ najwy¿ej jeden podklucz.\n" -#: g10/keyedit.c:1447 +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "Zmiana daty wa¿no¶ci podklucza.\n" -#: g10/keyedit.c:1449 +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "Zmiana daty wa¿no¶ci g³ównego klucza.\n" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "Nie mo¿na zmieniæ daty wa¿no¶ci klucza w wersji 3.\n" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "Brak odpowiadaj±cego podpisu w zbiorze kluczy tajnych\n" -#: g10/keyedit.c:1566 +#: g10/keyedit.c:1569 #, c-format msgid "No user ID with index %d\n" msgstr "Brak identyfikatora u¿ytkownika o numerze %d.\n" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "Brak podklucza o indeksie %d\n" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 msgid "user ID: \"" msgstr "Identyfikator u¿ytkownika: " -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, c-format msgid "" "\"\n" @@ -2369,40 +2386,34 @@ "\"\n" "podpisano Twoim kluczem %08lX w %s\n" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 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 +#: g10/keyedit.c:1743 msgid "You have signed these user IDs:\n" -msgstr "Nie mo¿esz usun±æ ostatniego identyfikatora u¿ytkownika!\n" +msgstr "Te identyfikatory s± podpisane przez ciebie:\n" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 -#, fuzzy, c-format +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format msgid " signed by %08lX at %s\n" -msgstr "" -"\"\n" -"podpisano Twoim kluczem %08lX w %s\n" +msgstr " podpisany kluczem %08lX w %s\n" -#: g10/keyedit.c:1759 -#, fuzzy, c-format +#: g10/keyedit.c:1762 +#, c-format msgid " revoked by %08lX at %s\n" -msgstr "" -"\"\n" -"podpisano Twoim kluczem %08lX w %s\n" +msgstr "uniewa¿niony kluczem %08lX w %s\n" -#: g10/keyedit.c:1779 -#, fuzzy +#: g10/keyedit.c:1782 msgid "You are about to revoke these signatures:\n" -msgstr "Czy na pewno chcesz uniewa¿niæ wybrane klucze? " +msgstr "Czy na pewno chcesz uniewa¿niæ te podpisy:\n" -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 msgid "Really create the revocation certificates? (y/N)" msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)" -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 msgid "no secret key\n" msgstr "brak klucza prywatnego\n" @@ -2415,64 +2426,68 @@ msgid "public key encrypted data: good DEK\n" msgstr "dane zaszyfrowane kluczem publicznym: poprawny klucz sesyjny\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:277 #, 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\n" -#: g10/mainproc.c:285 +#: g10/mainproc.c:287 #, c-format msgid "encrypted with %s key, ID %08lX\n" msgstr "zaszyfrowane kluczem %s, o identyfikatorze %08lX\n" -#: g10/mainproc.c:291 +#: g10/mainproc.c:293 msgid "no secret key for decryption available\n" msgstr "odszyfrowuj±cy klucz tajny do jest niedostêpny\n" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "b³±d odszyfrowywania kluczem publicznym: %s\n" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 msgid "decryption okay\n" msgstr "odszyfrowane poprawnie\n" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" -msgstr "OSTRZE¯ENIE: zaszyfrowana wiadomo¶æ by³a manipulowana!\n" +msgstr "OSTRZE¯ENIE: dokonano manipulacji zaszyfrowan± wiadomo¶ci±!\n" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "b³±d odszyfrowywania: %s\n" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "UWAGA: nadawca zaznaczy³ ¿e wiadomo¶æ nie powinna byæ zapisywana\n" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "pierwotna nazwa pliku='%.*s'\n" -#: g10/mainproc.c:587 g10/mainproc.c:596 +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "" + +#: g10/mainproc.c:598 g10/mainproc.c:607 msgid "WARNING: invalid notation data found\n" msgstr "OSTRZE¯ENIE: niepoprawne dane w adnotacji\n" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " msgstr "Adnotacja:" -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " msgstr "Regulamin:" -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "wymuszono pominiêcie sprawdzenia podpisu\n" -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "" @@ -2480,28 +2495,33 @@ "z u¿yciem klucza o identyfikatorze %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "NIEPOPRAWNY podpis z³o¿ony przez \"" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "Poprawny podpis z³o¿ony przez \"" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr " alias \"" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" -msgstr "Nie mogê sprawdziæ podpisu: %s\n" +msgstr "Nie mo¿na sprawdziæ podpisu: %s\n" + +#: g10/mainproc.c:1191 +#, fuzzy, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "nieznana klasa podpisu" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "podpis starego typu (PGP 2.x)\n" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "wykryto niepoprawny pakiet pierwotny w proc_tree()\n" @@ -2532,12 +2552,12 @@ "ten algorytm szyfruj±cy jest odradzany; proszê u¿ywaæ bardziej " "standardowych!\n" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "algorytm klucza publicznego niemo¿liwy do obs³u¿enia: %d\n" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "podpakiet typu %d ma ustawiony krytyczny bit\n" @@ -2560,7 +2580,9 @@ #: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" -msgstr " (g³ówny ID klucza %08lX)" +msgstr "" +" \n" +"(identyfikator g³ównego klucza %08lX)" #: g10/passphrase.c:190 msgid "can't query password in batchmode\n" @@ -2579,13 +2601,18 @@ msgstr "" "dane nie zosta³y zapisane; nale¿y u¿yæ opcji \"--output\" aby je zapisaæ\n" +#: g10/plaintext.c:311 +#, fuzzy +msgid "Detached signature.\n" +msgstr "%d podpis usuniêty.\n" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "Nazwa pliku danych: " #: g10/plaintext.c:336 msgid "reading stdin ...\n" -msgstr "czytam strumieñ standardowego wej¶cia\n" +msgstr "odczyt ze strumienia standardowego wej¶cia...\n" #: g10/plaintext.c:379 #, c-format @@ -2595,7 +2622,7 @@ #: g10/pubkey-enc.c:79 #, c-format msgid "anonymous receiver; trying secret key %08lX ...\n" -msgstr "adresat anonimowy; próbujê klucz tajny %08lX ...\n" +msgstr "adresat anonimowy; próba klucza tajnego %08lX ...\n" #: g10/pubkey-enc.c:85 msgid "okay, we are the anonymous recipient.\n" @@ -2610,6 +2637,45 @@ msgid "NOTE: cipher algorithm %d not found in preferences\n" msgstr "UWAGA: brak algorytmu szyfruj±cego %d w ustawieniach\n" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "niemo¿liwy jest zapis do zbioru kluczy: %s\n" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "'%s\" nie jest w³a¶ciwym identyfikatorem klucza\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "nie mo¿na otworzyæ %s: %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "b³±d odczytu '%s': %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + #: g10/seckey-cert.c:55 #, c-format msgid "protection algorithm %d is not supported\n" @@ -2623,8 +2689,8 @@ #: g10/seckey-cert.c:227 msgid "WARNING: Weak key detected - please change passphrase again.\n" msgstr "" -"Ostrze¿enie: Wykryto klucz s³aby algorytmu - nale¿y ponownie zmieniæ \n" -"wyra¿enie przej¶ciowe (has³o).\n" +"OSTRZE¯ENIE: Wykryto klucz s³aby algorytmu - nale¿y ponownie zmieniæ \n" +" wyra¿enie przej¶ciowe (has³o).\n" #: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" @@ -2666,7 +2732,7 @@ #: g10/sign.c:263 g10/sign.c:575 #, c-format msgid "can't create %s: %s\n" -msgstr "nie mogê stworzyæ %s: %s\n" +msgstr "nie mo¿na stworzyæ %s: %s\n" #: g10/sign.c:361 msgid "signing:" @@ -2680,454 +2746,461 @@ #: g10/textfilter.c:128 #, c-format msgid "can't handle text lines longer than %d characters\n" -msgstr "nie mogê obs³u¿yæ linii tekstu d³u¿szej ni¿ %d znaków\n" +msgstr "nie mo¿na obs³u¿yæ linii tekstu d³u¿szej ni¿ %d znaków\n" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format msgid "input line longer than %d characters\n" msgstr "linia d³u¿sza ni¿ %d znaków\n" -#: g10/tdbio.c:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, 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:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, 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:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "zbyt du¿e zlecenie dla bazy zaufania\n" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: dostêp niemo¿liwy: %s\n" -#: 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:304 g10/tdbio.c:448 -#, c-format -msgid "%s: directory created\n" -msgstr "%s: katalog utworzony\n" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, 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:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, c-format msgid "%s: can't create: %s\n" -msgstr "%s: nie mogê utworzyæ: %s\n" +msgstr "%s: nie mo¿na utworzyæ: %s\n" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, c-format msgid "%s: can't create lock\n" -msgstr "%s: nie mogê utworzyæ blokady\n" +msgstr "%s: nie mo¿na utworzyæ blokady\n" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, c-format msgid "%s: failed to create version record: %s" -msgstr "%s: stworzenie zapisu o wersji nie powiod³o siê: %s" +msgstr "%s: utworzenie zapisu o wersji nie powiod³o siê: %s" -#: g10/tdbio.c:491 +#: g10/tdbio.c:477 #, c-format msgid "%s: invalid trustdb created\n" -msgstr "%s: stworzony niepoprawny plik bazy zaufania\n" +msgstr "%s: utworzono niepoprawny plik bazy zaufania\n" -#: g10/tdbio.c:494 +#: g10/tdbio.c:480 #, c-format msgid "%s: trustdb created\n" msgstr "%s: baza zaufania utworzona\n" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: niepoprawny plik bazy zaufania\n" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, 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:572 +#: g10/tdbio.c:558 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: b³±d przy uaktualnianiu numeru wersji: %s\n" -#: 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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: b³±d odczytu numeru wersji: %s\n" -#: g10/tdbio.c:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: b³±d zapisu numeru wersji: %s\n" -#: g10/tdbio.c:1247 +#: g10/tdbio.c:1235 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "baza zaufania: procedura lseek() zawiod³a: %s\n" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "baza zaufania: procedura read() (n=%d) zawiod³a: %s\n" -#: g10/tdbio.c:1276 +#: g10/tdbio.c:1264 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: to nie jest plik bazy zaufania\n" -#: g10/tdbio.c:1292 +#: g10/tdbio.c:1280 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: wpis wersji z numerem %lu\n" -#: g10/tdbio.c:1297 +#: g10/tdbio.c:1285 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: niew³a¶ciwa wersja pliku %d\n" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, c-format msgid "%s: error reading free record: %s\n" -msgstr "%s: b³±d odczytu pustego wpisu: %s\n" +msgstr "%s: b³±d odczytu wolnego wpisu: %s\n" -#: g10/tdbio.c:1609 +#: g10/tdbio.c:1597 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: b³±d zapisu wpisu katalogowego: %s\n" -#: g10/tdbio.c:1619 +#: g10/tdbio.c:1607 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: zerowanie rekordu nie powiod³o siê: %s\n" -#: g10/tdbio.c:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: dopisanie rekordu nie powiod³o siê: %s\n" -#: g10/tdbio.c:1760 +#: g10/tdbio.c:1748 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "Baza zaufania jest uszkodzona; proszê uruchomiæ \"gpgm --fix-trust-db\".\n" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "wpis zaufania %lu, typ zapytania %d: odczyt nie powiód³ siê: %s\n" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "wpis zaufania %lu, typ zapytania %d: zapis nie powiód³ siê: %s\n" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "wpis zaufania %lu: usuniêcie nie powiod³o siê %s\n" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "baza zaufania: synchronizacja nie powiod³a siê %s\n" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "b³±d odczytu wpisu katalogowego dla LID %lu: %s\n" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "lid %lu: oczekiwany wpis katalogowy, napotkano typ %d\n" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "brak klucza g³ównego dla LID %lu\n" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "b³±d odczytu g³ównego klucza dla LID %lu: %s\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: funkcja search_record zawiod³a: %s\n" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "UWAGA: klucz tajny %08lX NIE jest chroniony.\n" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "klucz %08lX: klucz tajny bez klucza jawnego - pominiêty\n" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "klucz %08lX: klucz tajny nie pasuje do klucza jawnego\n" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "klucz %08lX: wpisanie do bazy zaufania niemo¿liwe\n" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, c-format msgid "key %08lX: query record failed\n" msgstr "klucz %08lX: wyszukanie zapisu nie powiod³o siê\n" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "klucz %08lX: ju¿ znajduje siê w tablicy kluczy zaufanych\n" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "Klucz %08lX: zaakceptowany jako klucz zaufany.\n" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "wyliczenie kluczy tajnych nie powiod³o siê %s\n" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "klucz %08lX.%lu Dobre dowi±zanie podklucza\n" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "klucz %08lX.%lu: Niepoprawne dowi±zanie podklucza %s\n" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "klucz %08lX.%lu: Poprawne uniewa¿nienie klucza\n" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "klucz %08lX.%lu: Niew³a¶ciwe uniewa¿nienie klucza: %s\n" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "klucz %08lX.%lu: Poprawne uniewa¿nienie podklucza\n" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 msgid "Good self-signature" msgstr "Poprawny podpis klucza nim samym" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 msgid "Invalid self-signature" msgstr "Niepoprawny podpis klucza nim samym" -#: g10/trustdb.c:1060 +#: g10/trustdb.c:1105 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" -#: g10/trustdb.c:1066 +#: g10/trustdb.c:1111 msgid "Valid user ID revocation" msgstr "Poprawne uniewa¿nienie identyfikatora u¿ytkownika" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 msgid "Invalid user ID revocation" msgstr "Niepoprawne uniewa¿nienie identyfikatora u¿ytkownika" -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 msgid "Valid certificate revocation" msgstr "Poprawne uniewa¿nienie certyfikatu" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 msgid "Good certificate" msgstr "Poprawny certyfikat" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 msgid "Invalid certificate revocation" msgstr "Niepoprawne uniewa¿nienie certyfikatu" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 msgid "Invalid certificate" msgstr "Niepoprawny certyfikat" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "zapis o podpisach %lu[%d] wskazuje na z³y wpis.\n" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 msgid "duplicated certificate - deleted" msgstr "podwójny certyfikat - usuniêty" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "Procedura tdbio_search_dir nie powiod³a siê: %s\n" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: wpisanie nie powiod³o siê: %s\n" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: wpisanie nie powiod³o siê: %s\n" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: wpisany\n" -#: g10/trustdb.c:1652 +#: g10/trustdb.c:1721 #, c-format msgid "error reading dir record: %s\n" msgstr "b³±d podczas odczytu wpisu katalogowego: %s\n" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "%lu kluczy przetworzonych\n" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu kluczy z b³êdami\n" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu kluczy wpisanych\n" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "wyliczenie bloków kluczy nie powiod³o siê: %s\n" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "lid %lu: wpis katalogowy bez bloku klucza - pominiêty\n" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, fuzzy, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "klucz %08lX: %d nowych podkluczy\n" + +#: g10/trustdb.c:1796 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu kluczy pominiêtych\n" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "\t%lu kluczy uaktualnionych\n" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "Oops, brak kluczy\n" -#: g10/trustdb.c:2061 +#: g10/trustdb.c:2147 msgid "Ooops, no user IDs\n" msgstr "Oops, brak identyfikatorów u¿ytkowników\n" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: poszukiwanie wpisu katalogowego nie powiod³o siê: %s\n" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "klucz %08lX: wprowadzenie wpisu zaufania nie powiod³o siê: %s\n" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "Klucz %08lX.%lu: wprowadzony do bazy zaufania\n" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "Klucz %08lX.%lu: stworzony w przysz³o¶ci (zaburzenia czasoprzestrzeni,\n" "lub ¼le ustawiony zegar systemowy)\n" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "klucz %08lX.%lu: okres wa¿no¶ci up³yn±³ %s\n" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "klucz %08lX.%lu: b³±d przy sprawdzaniu zaufania: %s\n" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, c-format msgid "user '%s' not found: %s\n" msgstr "u¿ytkownik '%s' nie odnaleziony: %s\n" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problem podczas szukania '%s' w bazie zaufania: %s\n" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "brak u¿ytkownika '%s' w bazie zaufania - dodano\n" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "umieszczenie '%s' w Bazie Zaufania nie powiod³o siê: %s\n" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 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:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "" + +#: g10/ringedit.c:303 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: stworzenie zbioru kluczy jest niemo¿liwe: %s\n" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, c-format msgid "%s: keyring created\n" msgstr "%s: zbiór kluczy utworzony\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "OSTRZE¯ENIE: Istniej± dwa pliki z poufnymi informacjami.\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, c-format msgid "%s is the unchanged one\n" msgstr "%s pozosta³ bez zmian\n" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "%s zosta³ utworzony\n" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "Proszê usun±æ to naruszenie zasad bezpieczeñstwa\n" @@ -3152,38 +3225,52 @@ "podpisy sk³adane tym kluczem nie zapewniaj± bezpieczeñstwa!\n" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "Plik '%s' ju¿ istnieje. " -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "Nadpisaæ (t/N)? " -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" msgstr "%s: nieznana koñcówka\n" -#: g10/openfile.c:119 +#: g10/openfile.c:131 msgid "Enter new filename" msgstr "Nazwa pliku" -#: g10/openfile.c:160 +#: g10/openfile.c:172 msgid "writing to stdout\n" msgstr "zapisywanie na wyj¶cie standardowe\n" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, c-format msgid "assuming signed data in `%s'\n" msgstr "przyjêto obecno¶æ podpisanych danych w '%s'\n" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "%s: stworzono nowy plik ustawieñ\n" +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: nie mo¿na utworzyæ katalogu: %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s: katalog utworzony\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" + #: g10/encr-data.c:66 #, c-format msgid "%s encrypted data\n" @@ -3212,27 +3299,24 @@ "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" +msgstr "dla tego klucza publicznego istnieje klucz tajny!\n" #: g10/delkey.c:95 msgid "use option \"--delete-secret-key\" to delete it first.\n" -msgstr "" +msgstr "nale¿y najpierw go usun±æ opcj± \"--delete-secret-key\".\n" #: g10/delkey.c:111 -#, fuzzy msgid "can't do that in batchmode without \"--yes\"\n" -msgstr "nie dzia³a w trybie wsadowym\n" +msgstr "nie dzia³a w trybie wsadowym bez opcji \"--yes\"\n" #: g10/delkey.c:133 -#, fuzzy msgid "Delete this key from the keyring? " -msgstr "usuniêcie klucza ze zbioru kluczy publicznych" +msgstr "Usun±æ ten klucz ze zbioru? " #: g10/delkey.c:141 msgid "This is a secret key! - really delete? " -msgstr "" +msgstr "To jest klucz tajny - czy na pewno go usun±æ? " #: g10/helptext.c:47 msgid "" @@ -3283,22 +3367,22 @@ 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." +"DSA (zwany te¿ DSS) to algorytm podpisu cyfrowego, i tylko do sk³adania\n" +"podpisów mo¿e on byæ u¿ywany. Jest to preferowany algorytm poniewa¿ " +"sk³adane\n" +"nim podpisy sprawdza siê du¿o szybciej ni¿ te sk³adane algorytmem ElGamala.\n" +"\n" +"Algorytm ElGamala mo¿e byæ u¿ywany zarówno do podpisów jak i do " +"szyfrowania.\n" +"Standard OpenPGP rozró¿nia dwa typy tego algorytmu - tylko do szyfrowania,\n" +"oraz do szyfrowania i podpisywania. Faktycznie algorytm pozostaje bez zmian\n" +"ale pewne parametry musz± byæ odpowiednio dobrane aby stworzyæ klucz którym\n" +"mo¿na sk³adaæ bezpieczne podpisy. Ten program obs³uguje oba typy ale inne\n" +"implementacje nie musz± rozumieæ kluczy do podpisów i szyfrowania\n" +"\n" +"G³ówny klucz musi byæ kluczem podpisuj±cym, jest to powodem dla którego w " +"tym\n" +"menu nie ma mo¿no¶ci wyboru klucza ElGamala do szyfrowania." #: g10/helptext.c:85 msgid "" @@ -3306,9 +3390,10 @@ "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." +"Ten typ klucza jest zdefiniowany w RFC2440, jednak¿e jest on odradzany gdy¿\n" +"nie jest obs³ugiwany przez wszystkie programy, a podpisy nim sk³adane s± " +"du¿e\n" +"i ich sprawdzanie trwa d³ugo." #: g10/helptext.c:92 msgid "Enter the size of the key" @@ -3326,10 +3411,10 @@ "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." +"Wprowad¼ ¿±dan± warto¶æ (jak w znaku zachêty). Mo¿na tu podaæ datê w " +"formacie\n" +"ISO (RRRR-MM-DD) ale nie da to w³a¶ciwej obs³ugi b³êdów - system próbuje\n" +"interpretowaæ podan± warto¶æ jako okres." #: g10/helptext.c:118 msgid "Enter the name of the key holder" @@ -3437,7 +3522,8 @@ "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" +#, fuzzy +msgid "Give the name of the file to which the signature applies" msgstr "Nazwa pliku którego dotyczy podpis" #: g10/helptext.c:218 @@ -3685,9 +3771,6 @@ #~ msgid "read error: %s\n" #~ msgstr "b³±d odczytu: %s\n" -#~ msgid "can't write to keyring: %s\n" -#~ msgstr "niemo¿liwy jest zapis do zbioru kluczy: %s\n" - #~ msgid "writing keyblock\n" #~ msgstr "zapisujê blok klucza\n" @@ -3724,9 +3807,6 @@ #~ msgid "chained sigrec %lu has a wrong owner\n" #~ msgstr "powi±zany rekord podpisu %lu ma niew³a¶ciwego w³a¶ciciela\n" - -#~ msgid "'%s' is not a valid long keyID\n" -#~ msgstr "'%s\" nie jest w³a¶ciwym identyfikatorem klucza\n" #~ msgid "key %08lX: no public key for trusted key - skipped\n" #~ msgstr "" diff -urN gnupg-1.0.0/po/pt_BR.po gnupg-1.0.1/po/pt_BR.po --- gnupg-1.0.0/po/pt_BR.po Tue Sep 7 18:48:35 1999 +++ gnupg-1.0.1/po/pt_BR.po Thu Dec 16 10:17:35 1999 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"POT-Creation-Date: 1999-09-05 19:21+0200\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Date: 1998-11-20 23:46:36-0200\n" "From: Thiago Jung Bauermann \n" @@ -21,11 +21,11 @@ msgid "Warning: using insecure memory!\n" msgstr "Aviso: usando memória insegura!\n" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "a operação não é possível sem memória segura inicializada\n" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "(você pode ter usado o programa errado para esta tarefa)\n" @@ -52,7 +52,7 @@ #: util/miscutil.c:311 msgid "qQ" -msgstr "" +msgstr "qQ" #: util/errors.c:54 msgid "general error" @@ -102,7 +102,6 @@ msgid "unknown cipher algorithm" msgstr "algoritmo de criptografia desconhecido" -# keyring == molho ??? #: util/errors.c:66 msgid "can't open the keyring" msgstr "não é possível abrir o chaveiro" @@ -156,7 +155,6 @@ msgid "file create error" msgstr "erro na criação de arquivo" -# frase secreta ??? #: util/errors.c:79 msgid "invalid passphrase" msgstr "frase secreta inválida" @@ -249,6 +247,10 @@ msgid "not encrypted" msgstr "não criptografado" +#: util/errors.c:103 +msgid "not processed" +msgstr "não processado(s)" + #: util/logger.c:218 #, c-format msgid "... this is a bug (%s:%d:%s)\n" @@ -259,11 +261,11 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "você encontrou um bug ... (%s:%d)\n" -#: cipher/random.c:452 +#: cipher/random.c:458 msgid "WARNING: using insecure random number generator!!\n" msgstr "AVISO: usando gerador de números aleatórios inseguro!\n" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -289,7 +291,7 @@ "para que o sistema possa coletar mais entropia!\n" "(São necessários mais %d bytes)\n" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " @@ -297,140 +299,144 @@ "@Comandos:\n" " " -#: g10/g10.c:187 +#: g10/g10.c:191 msgid "|[file]|make a signature" msgstr "|[arquivo]|fazer uma assinatura" -#: g10/g10.c:188 +#: g10/g10.c:192 msgid "|[file]|make a clear text signature" msgstr "|[arquivo]|fazer uma assinatura em texto puro" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "fazer uma assinatura separada" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "criptografar dados" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "" "criptografar apenas com criptografia\n" "simétrica" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" msgstr "apenas armazenar" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "descriptografar dados (padrão)" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "verificar uma assinatura" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "listar as chaves" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "listar as chaves e as assinaturas" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "verificar as assinaturas das chaves" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "listar as chaves e as impressões digitais" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "listar as chaves secretas" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "gerar um novo par de chaves" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" msgstr "remover a chave do chaveiro público" -#: g10/g10.c:203 +#: g10/g10.c:209 +msgid "remove key from the secret keyring" +msgstr "remover a chave do chaveiro secreto" + +#: g10/g10.c:210 msgid "sign a key" msgstr "assinar uma chave" -#: g10/g10.c:204 +#: g10/g10.c:211 msgid "sign a key locally" msgstr "assinar uma chave localmente" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" msgstr "assinar ou editar uma chave" -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" msgstr "gerar um certificado de revogação" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "exportar chaves" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "exportar chaves para um servidor" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "importar chaves de um servidor" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" msgstr "importar/fundir chaves" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "listar apenas as seqüências de pacotes" # ownertrust ??? -#: g10/g10.c:216 +#: g10/g10.c:223 msgid "export the ownertrust values" msgstr "exportar os valores de confiança" -#: g10/g10.c:218 +#: g10/g10.c:225 msgid "import ownertrust values" msgstr "importar os valores de confiança" -#: g10/g10.c:220 +#: g10/g10.c:227 msgid "update the trust database" msgstr "atualizar o banco de dados de confiabilidade" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "|[NOMES]|verificar o banco de dados de confiabilidade" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" msgstr "" "consertar um banco de dados de confiabilidade\n" "danificado" -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "retirar a armadura de um arquivo ou de \"stdin\"" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "criar armadura para um arquivo ou \"stdin\"" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "|algo [arquivos]|imprimir \"digests\" de mensagens" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" @@ -440,185 +446,185 @@ "Opções:\n" " " -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" msgstr "criar saída com armadura ascii" -#: g10/g10.c:233 +#: g10/g10.c:243 msgid "|NAME|encrypt for NAME" msgstr "|NOME|criptografar para NOME" -#: g10/g10.c:236 +#: g10/g10.c:246 msgid "|NAME|use NAME as default recipient" msgstr "|NOME|usar NOME como destinatário padrão" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" msgstr "usar a chave padrão como destinatário padrão" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "" "usar este identificador de usuário para\n" "assinar ou descriptografar" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" msgstr "" "|N|estabelecer nível de compressão N\n" "(0 desabilita)" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "usar modo de texto canônico" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "usar como arquivo de saída" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "detalhado" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "ser mais silencioso" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" msgstr "nunca usar o terminal" -#: g10/g10.c:250 +#: g10/g10.c:260 msgid "force v3 signatures" msgstr "forçar assinaturas v3" -#: g10/g10.c:251 +#: g10/g10.c:261 msgid "always use a MDC for encryption" msgstr "sempre usar um MDC para criptografar" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "não fazer alterações" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "modo não-interativo: nunca perguntar" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "assumir sim para a maioria das perguntas" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "assumir não para a maioria das perguntas" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "adicionar este chaveiro à lista de chaveiros" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "adicionar este chaveiro secreto à lista" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "|NOME|usar NOME como chave secreta padrão" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "|ENDEREÇO|usar este servidor para buscar chaves" -#: g10/g10.c:261 +#: g10/g10.c:271 msgid "|NAME|set terminal charset to NAME" msgstr "" "|NOME|definir mapa de caracteres do terminal como\n" "NOME" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "ler opções do arquivo" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "definir parâmetros de depuração" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" msgstr "habilitar depuração completa" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "" "|DA|escrever informações de estado para o\n" "descritor de arquivo DA" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "não escrever pacotes de comentário" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "(o padrão é 1)" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "(o padrão é 3)" -#: g10/g10.c:271 +#: g10/g10.c:281 msgid "|FILE|load extension module FILE" msgstr "|ARQUIVO|carregar módulo de extensão ARQUIVO" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "emular o modo descrito no RFC1991" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" "configurar todas as opções de pacote,\n" "criptografia e \"digest\" para comportamento\n" "OpenPGP" -#: g10/g10.c:274 +#: g10/g10.c:284 msgid "|N|use passphrase mode N" msgstr "|N|usar frase secreta modo N" -#: g10/g10.c:276 +#: g10/g10.c:286 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "" "|NOME|usar algoritmo de \"digest\" de mensagens NOME\n" "para frases secretas" -#: g10/g10.c:278 +#: g10/g10.c:288 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "" "|NOME|usar algoritmo de criptografia NOME para\n" "frases secretas" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "|NOME|usar algoritmo de criptografia NOME" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "|NOME|usar algoritmo de \"digest\" de mensagens NOME" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "|N|usar algoritmo de compressão N" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" msgstr "" "eliminar o campo keyid dos pacotes\n" "criptografados" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" msgstr "|NOME=VALOR|usar estes dados de notação" -#: g10/g10.c:285 +#: g10/g10.c:295 msgid "" "@\n" "Examples:\n" @@ -638,15 +644,15 @@ " --list-keys [nomes] mostrar chaves\n" " --fingerprint [nomes] mostrar impressões digitais\n" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "Por favor comunique bugs para .\n" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -656,7 +662,7 @@ "assina, verifica, criptografa ou descriptografa\n" "a operação padrão depende dos dados de entrada\n" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" @@ -664,185 +670,185 @@ "\n" "Algoritmos suportados:\n" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "uso: gpg [opções] " -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "comandos conflitantes\n" -#: g10/g10.c:644 +#: g10/g10.c:668 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "NOTA: arquivo de opções padrão `%s' inexistente\n" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "arquivo de opções `%s': %s\n" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "lendo opções de `%s'\n" -#: g10/g10.c:835 +#: g10/g10.c:861 #, c-format msgid "%s is not a valid character set\n" msgstr "%s não é um conjunto de caracteres válido\n" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" msgstr "NOTA: %s não é para uso normal!\n" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" msgstr "%s não é permitido com %s!\n" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" msgstr "%s não faz sentido com %s!\n" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "o algoritmo de criptografia selecionado não é válido\n" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "o algoritmo de \"digest\" selecionado não é válido\n" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" msgstr "a URL de política dada é inválida\n" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "o algoritmo de compressão deve estar na faixa %d..%d\n" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed deve ser maior que 0\n" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed deve ser maior que 1\n" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "max-cert-depth deve estar na entre 1 e 255\n" -#: g10/g10.c:950 +#: g10/g10.c:975 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "NOTA: o modo S2K simples (0) não é recomendável\n" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "modo S2K inválido: deve ser 0, 1 ou 3\n" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "--store [nome_do_arquivo]" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "--symmetric [nome_do_arquivo]" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "--encrypt [nome_do_arquivo]" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "--sign [nome_do_arquivo]" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nome_do_arquivo]" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" msgstr "--clearsign [nome_do_arquivo]" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "--decrypt [nome_do_arquivo]" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" msgstr "--sign-key id-usuário" -#: g10/g10.c:1120 +#: g10/g10.c:1150 msgid "--lsign-key user-id" msgstr "--lsign-key id-usuário" -#: g10/g10.c:1128 +#: g10/g10.c:1158 msgid "--edit-key user-id [commands]" msgstr "--edit-key id-usuário [comandos]" -#: g10/g10.c:1144 +#: g10/g10.c:1174 msgid "--delete-secret-key user-id" msgstr "--delete-secret-key id-usuário" -#: g10/g10.c:1147 +#: g10/g10.c:1177 msgid "--delete-key user-id" msgstr "--delete-key id-usuário" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "impossível abrir %s: %s\n" -#: g10/g10.c:1182 +#: g10/g10.c:1229 msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "-k[v][v][v][c] [id-usuário] [chaveiro]" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "retirada de armadura falhou: %s\n" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "criação de armadura falhou: %s\n" # "hash" poderia ser "espalhamento", mas não fica claro -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algoritmo de hash inválido `%s'\n" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "[nome_do_arquivo]" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" msgstr "Vá em frente e digite sua mensagem ...\n" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" msgstr "impossível abrir `%s'\n" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" "o primeiro caractere de um nome de notação deve ser uma letra ou um " "sublinhado\n" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" @@ -850,12 +856,12 @@ "um nome de notação deve ter apenas letras, dígitos, pontos ou sublinhados e " "terminar com '='\n" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" "pontos em um nome de notação devem estar cercados por outros caracteres\n" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" msgstr "um valor de notação não deve usar caracteres de controle\n" @@ -864,70 +870,70 @@ msgid "armor: %s\n" msgstr "armadura: %s\n" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "cabeçalho de armadura inválido: " -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "cabeçalho de armadura: " -#: g10/armor.c:337 +#: g10/armor.c:343 msgid "invalid clearsig header\n" msgstr "cabeçalho de assinatura em texto puro inválido\n" -#: g10/armor.c:389 +#: g10/armor.c:395 msgid "nested clear text signatures\n" msgstr "assinaturas em texto puro aninhadas\n" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "linha com hífen inválida: " -#: g10/armor.c:512 +#: g10/armor.c:518 msgid "unexpected armor:" msgstr "armadura inesperada:" -#: g10/armor.c:629 +#: g10/armor.c:635 #, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "caractere radix64 inválido %02x ignorado\n" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "fim de arquivo prematuro (sem CRC)\n" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "fim de arquivo prematuro (no CRC)\n" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "CRC malformado\n" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "erro de CRC; %06lx - %06lx\n" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" msgstr "fim de arquivo prematuro (no \"Trailer\")\n" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "erro na linha \"trailer\"\n" -#: g10/armor.c:1001 +#: g10/armor.c:1012 msgid "no valid OpenPGP data found.\n" msgstr "nenhum dado OpenPGP válido encontrado.\n" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "armadura inválida: linha maior que %d caracteres\n" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -944,11 +950,10 @@ msgid "Fingerprint:" msgstr "Impressão digital:" -# ??? #. a string with valid answers #: g10/pkclist.c:197 msgid "sSmMqQ" -msgstr "" +msgstr "sSmMqQ" #: g10/pkclist.c:201 #, c-format @@ -984,7 +989,7 @@ #: g10/pkclist.c:222 msgid " m = back to the main menu\n" -msgstr " m = volta ao menu principal\n" +msgstr " m = voltar ao menu principal\n" #: g10/pkclist.c:224 msgid " q = quit\n" @@ -1030,36 +1035,36 @@ "Nenhum valor de confiança modificado.\n" "\n" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "chave %08lX: a chave foi revogada!\n" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "Usa esta chave de qualquer modo? " -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "chave %08lX: a subchave foi revogada!\n" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: a chave expirou\n" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "%08lX: sem informação para calcular probabilidade de confiança\n" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: Nós NÃO confiamos nesta chave\n" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -1068,15 +1073,15 @@ "%08lX: Não se tem certeza de que esta chave realmente pertence ao dono,\n" "mas é aceita de qualquer modo\n" -#: g10/pkclist.c:422 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "Esta chave provavelmente pertence ao dono\n" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "Esta chave pertence a nós\n" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -1088,65 +1093,65 @@ "sim à próxima pergunta\n" "\n" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "AVISO: Usando chave não confiável!\n" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" -msgstr " Isto pode significar que a assinatura é falsificada.\n" +msgstr " Isto pode significar que a assinatura é falsificada.\n" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "AVISO: Esta subchave foi revogada pelo seu dono!\n" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "Nota: Esta chave expirou!\n" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "AVISO: Esta chave não está certificada com uma assinatura confiável!\n" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" -msgstr " Não há indicação de que a assinatura pertence ao dono.\n" +msgstr " Não há indicação de que a assinatura pertence ao dono.\n" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "AVISO: Nós NÃO confiamos nesta chave!\n" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" -msgstr " A assinatura é provavelmente uma FALSIFICAÇÃO.\n" +msgstr " A assinatura é provavelmente uma FALSIFICAÇÃO.\n" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" "AVISO: Esta chave não está certificada com assinaturas suficientemente\n" " confiáveis!\n" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" -msgstr " Não se tem certeza de que a assinatura pertence ao dono.\n" +msgstr " Não se tem certeza de que a assinatura pertence ao dono.\n" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: ignorado: %s\n" -#: g10/pkclist.c:702 g10/pkclist.c:868 +#: g10/pkclist.c:708 g10/pkclist.c:875 #, c-format msgid "%s: skipped: public key already present\n" msgstr "%s: ignorado: a chave pública já está presente\n" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1154,98 +1159,96 @@ "Você não especificou um identificador de usuário. (pode-se usar \"-r\")\n" "\n" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "Digite o identificador de usuário: " -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "Identificador de usuário inexistente.\n" -#: g10/pkclist.c:756 -#, fuzzy +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" -msgstr "%s: ignorado: a chave pública já está presente\n" +msgstr "ignorado: chave pública já marcada como destinatário padrão\n" -#: g10/pkclist.c:778 +#: g10/pkclist.c:785 msgid "Public key is disabled.\n" msgstr "A chave pública está desativada.\n" -#: g10/pkclist.c:785 -#, fuzzy +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" -msgstr "%s: ignorado: a chave pública já está presente\n" +msgstr "ignorado: chave pública já marcada com --encrypt-to\n" -#: g10/pkclist.c:816 +#: g10/pkclist.c:823 #, c-format msgid "unknown default recipient `%s'\n" msgstr "destinatário padrão desconhecido `%s'\n" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: erro na verificação da chave: %s\n" -#: g10/pkclist.c:854 +#: g10/pkclist.c:861 #, c-format msgid "%s: skipped: public key is disabled\n" msgstr "%s: ignorado: a chave pública está desativada\n" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "nenhum endereço válido\n" -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "escrevendo auto-assinatura\n" # key binding ??? -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "escrevendo assinatura ligada a uma chave\n" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "Por favor selecione o tipo de chave desejado:\n" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr " (%d) DSA e ElGamal (padrão)\n" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr " (%d) DSA (apenas assinatura)\n" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr " (%d) ElGamal (apenas criptografia)\n" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr " (%d) ElGamal (assinatura e criptografia)\n" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr " (%d) ElGamal em um pacote v3\n" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "Sua opção? " -#: g10/keygen.c:409 +#: g10/keygen.c:410 msgid "Do you really want to create a sign and encrypt key? " msgstr "Você realmente quer criar uma chave para assinatura e criptografia? " -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "Opção inválida.\n" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1258,15 +1261,15 @@ " tamanho padrão é 1024 bits\n" " tamanho máximo sugerido é 2048 bits\n" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "Que tamanho de chave você quer? (1024) " -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "DSA permite apenas tamanhos de 512 a 1024\n" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "tamanho muito pequeno; 768 é o valor mínimo permitido.\n" @@ -1278,12 +1281,12 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "tamanho muito grande; %d é o valor máximo permitido.\n" -#: g10/keygen.c:471 +#: g10/keygen.c:472 msgid "" "Keysizes larger than 2048 are not suggested because\n" "computations take REALLY long!\n" @@ -1291,11 +1294,11 @@ "Tamanhos de chave maiores que 2048 não são recomendados\n" "porque o tempo de computação é REALMENTE longo!\n" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "Você tem certeza de que quer este tamanho de chave? " -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" @@ -1303,21 +1306,21 @@ "Tudo bem, mas tenha em mente que a radiação de seu monitor e teclado também " "é vulnerável a ataques!\n" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "Você realmente precisa de uma chave tão grande? " -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "O tamanho de chave pedido é %u bits\n" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "arredondado para %u bits\n" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1333,29 +1336,37 @@ " m = chave expira em n meses\n" " y = chave expira em n anos\n" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "A chave é valida por? (0) " -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "valor inválido\n" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "A chave não expira nunca\n" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "A chave expira em %s\n" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" +"Seu sistema não consegue mostrar datas além de 2038.\n" +"Apesar disso, elas serão corretamente manipuladas até 2106.\n" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "Está correto (s/n)? " -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1371,44 +1382,44 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "Nome completo: " -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "Caractere inválido no nome\n" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "O nome não pode começar com um dígito\n" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "O nome deve ter pelo menos 5 caracteres\n" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "Endereço de correio eletrônico: " -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" msgstr "Endereço eletrônico inválido\n" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "Comentário: " -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "Caractere inválido no comentário\n" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Você está usando o conjunto de caracteres `%s'.\n" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1419,15 +1430,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "NnCcEeOoSs" -#: g10/keygen.c:699 +#: g10/keygen.c:703 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "Muda (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? " -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1435,11 +1446,11 @@ "Você precisa de uma frase secreta para proteger sua chave.\n" "\n" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "A frase secreta não foi repetida corretamente; tente outra vez.\n" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" @@ -1451,7 +1462,7 @@ "qualquer hora, usando este programa com a opção \"--edit-key\".\n" "\n" -#: g10/keygen.c:786 +#: g10/keygen.c:790 msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" "some other action (type on the keyboard, move the mouse, utilize the\n" @@ -1463,33 +1474,33 @@ "geração dos números primos; isso dá ao gerador de números aleatórios\n" "uma chance melhor de conseguir entropia suficiente.\n" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "A geração de chaves só pode ser feita em modo interativo\n" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "O par de chaves DSA terá 1024 bits.\n" -#: g10/keygen.c:870 +#: g10/keygen.c:874 msgid "Key generation canceled.\n" msgstr "Geração de chave cancelada.\n" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" msgstr "escrevendo certificado público para `%s'\n" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "escrevendo certificado privado para `%s'\n" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" msgstr "chaves pública e privada criadas e assinadas.\n" -#: g10/keygen.c:960 +#: g10/keygen.c:964 msgid "" "Note that this key cannot be used for encryption. You may want to use\n" "the command \"--edit-key\" to generate a secondary key for this purpose.\n" @@ -1497,12 +1508,12 @@ "Note que esta chave não pode ser usada para criptografia. Você pode usar\n" "o comando \"--edit-key\" para gerar uma chave secundária para esse fim.\n" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "A geração de chaves falhou: %s\n" -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" @@ -1510,7 +1521,7 @@ "a chave foi criada %lu segundo no futuro\n" "(viagem no tempo ou problema no relógio)\n" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" @@ -1518,12 +1529,12 @@ "a chave foi criada %lu segundos no futuro\n" "(viagem no tempo ou problema no relógio)\n" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 msgid "Really create? " msgstr "Realmente criar? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: impossível abrir: %s\n" @@ -1533,17 +1544,17 @@ msgid "error creating passphrase: %s\n" msgstr "erro na criação da frase secreta: %s\n" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, c-format msgid "%s: WARNING: empty file\n" msgstr "%s: AVISO: arquivo vazio\n" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "lendo de `%s'\n" -#: g10/encode.c:482 +#: g10/encode.c:483 #, c-format msgid "%s/%s encrypted for: %s\n" msgstr "%s/%s criptografado para: %s\n" @@ -1575,260 +1586,260 @@ msgid "too many entries in unk cache - disabled\n" msgstr "entradas demais no cache unk - desativado\n" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" msgstr "chave RSA não pode ser usada nesta versão\n" -#: g10/getkey.c:1291 g10/getkey.c:1330 +#: g10/getkey.c:1296 g10/getkey.c:1335 msgid "No key for user ID\n" msgstr "Nenhuma chave para identificador de usuário\n" -#: g10/getkey.c:1369 g10/getkey.c:1409 +#: g10/getkey.c:1374 g10/getkey.c:1414 msgid "No user ID for key\n" msgstr "Nenhum identificador de usuário para chave\n" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "usando chave secundária %08lX ao invés de chave primária %08lX\n" -#: g10/import.c:118 +#: g10/import.c:124 #, c-format msgid "can't open `%s': %s\n" msgstr "impossível abrir `%s': %s\n" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "ignorando bloco do tipo %d\n" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu chaves processadas até agora\n" -#: g10/import.c:174 +#: g10/import.c:190 #, c-format msgid "error reading `%s': %s\n" msgstr "erro na leitura de `%s': %s\n" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr "Número total processado: %lu\n" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr " sem IDs de usuários: %lu\n" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr " importados: %lu" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr " não modificados: %lu\n" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr " novos IDs de usuários: %lu\n" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr " novas subchaves: %lu\n" -#: g10/import.c:193 +#: g10/import.c:216 #, c-format msgid " new signatures: %lu\n" msgstr " novas assinaturas: %lu\n" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr " novas revogações de chaves: %lu\n" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr " chaves secretas lidas: %lu\n" -#: g10/import.c:199 +#: g10/import.c:222 #, c-format msgid " secret keys imported: %lu\n" msgstr " chaves secretas importadas: %lu\n" -#: g10/import.c:201 +#: g10/import.c:224 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " chaves secretas não modificadas: %lu\n" -#: g10/import.c:362 g10/import.c:554 +#: g10/import.c:383 g10/import.c:575 #, c-format msgid "key %08lX: no user ID\n" msgstr "chave %08lX: sem ID de usuário\n" -#: g10/import.c:376 +#: g10/import.c:397 #, c-format msgid "key %08lX: no valid user IDs\n" msgstr "chave %08lX: sem IDs de usuários válidos\n" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "isto pode ser causado por falta de auto-assinatura\n" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "chave %08lX: chave pública não encontrada: %s\n" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "sem chaveiro público padrão\n" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "escrevendo para `%s'\n" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "impossível bloquear chaveiro `%s': %s\n" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "erro na escrita do chaveiro `%s': %s\n" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" msgstr "chave %08lX: chave pública importada\n" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "chave %08lX: não corresponde à nossa cópia\n" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "chave %08lX: impossível localizar bloco de chaves original: %s\n" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "chave %08lX: impossível ler bloco de chaves original: %s\n" -#: g10/import.c:469 +#: g10/import.c:490 #, c-format msgid "key %08lX: 1 new user ID\n" msgstr "chave %8lX: 1 novo ID de usuário\n" -#: g10/import.c:472 +#: g10/import.c:493 #, c-format msgid "key %08lX: %d new user IDs\n" msgstr "chave %08lX: %d novos IDs de usuários\n" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "chave %08lX: 1 nova assinatura\n" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "chave %08lX: %d novas assinaturas\n" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "chave %08lX: 1 nova subchave\n" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "chave %08lX: %d novas subchaves\n" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "chave %08lX: não modificada\n" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "chave %08lX: chave secreta importada\n" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "chave %08lX: já está no chaveiro secreto\n" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "chave %08lX: chave secreta não encontrada: %s\n" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" "chave %08lX: sem chave pública - impossível aplicar certificado\n" "de revogação\n" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "chave %08lX: certificado de revogação inválido: %s - rejeitado\n" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "chave %08lX: certificado de revogação importado\n" -#: g10/import.c:711 +#: g10/import.c:741 #, c-format msgid "key %08lX: no user ID for signature\n" msgstr "chave %08lX: nenhum ID de usuário para assinatura\n" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "chave %08lX: algoritmo de chave pública não suportado\n" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "chave %08lX: auto-assinatura inválida\n" -#: g10/import.c:734 +#: g10/import.c:764 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "chave %08lX: sem subchave para ligação de chaves\n" -#: g10/import.c:743 +#: g10/import.c:773 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "chave %08lX: ligação de subchave inválida\n" -#: g10/import.c:769 +#: g10/import.c:800 #, c-format msgid "key %08lX: accepted non self-signed user ID '" msgstr "chave %08lX: aceito ID de usuário sem auto-assinatura '" -#: g10/import.c:798 +#: g10/import.c:829 #, c-format msgid "key %08lX: skipped user ID '" msgstr "chave %08lX: ignorado ID de usuário '" -#: g10/import.c:821 +#: g10/import.c:852 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "chave %08lX: subchave ignorada\n" @@ -1837,32 +1848,32 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "chave %08lX: assinatura não exportável (classe %02x) - ignorada\n" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "chave %08lX: certificado de revogação no local errado - ignorada\n" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "chave %08lX: certificado de revogação inválido: %s - ignorada\n" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "chave %08lX: detectado ID de usuário duplicado - unido\n" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "chave %08lX: certificado de revogação adicionado\n" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "chave %08lX: nossa cópia não tem auto-assinatura\n" @@ -1948,7 +1959,7 @@ msgid "Really sign? " msgstr "Realmente assinar? " -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "assinatura falhou: %s\n" @@ -1996,11 +2007,11 @@ #: g10/keyedit.c:565 msgid "q" -msgstr "" +msgstr "q" #: g10/keyedit.c:566 msgid "save" -msgstr "" +msgstr "save" #: g10/keyedit.c:566 msgid "save and quit" @@ -2008,7 +2019,7 @@ #: g10/keyedit.c:567 msgid "help" -msgstr "" +msgstr "help" #: g10/keyedit.c:567 msgid "show this help" @@ -2016,7 +2027,7 @@ #: g10/keyedit.c:569 msgid "fpr" -msgstr "" +msgstr "fpr" #: g10/keyedit.c:569 msgid "show fingerprint" @@ -2024,20 +2035,19 @@ #: g10/keyedit.c:570 msgid "list" -msgstr "" +msgstr "list" #: g10/keyedit.c:570 msgid "list key and user IDs" msgstr "lista chave e identificadores de usuários" -# ??? #: g10/keyedit.c:571 msgid "l" -msgstr "" +msgstr "l" #: g10/keyedit.c:572 msgid "uid" -msgstr "" +msgstr "uid" #: g10/keyedit.c:572 msgid "select user ID N" @@ -2045,7 +2055,7 @@ #: g10/keyedit.c:573 msgid "key" -msgstr "" +msgstr "key" #: g10/keyedit.c:573 msgid "select secondary key N" @@ -2053,33 +2063,31 @@ #: g10/keyedit.c:574 msgid "check" -msgstr "" +msgstr "check" #: g10/keyedit.c:574 msgid "list signatures" msgstr "lista assinaturas" -# ??? #: g10/keyedit.c:575 msgid "c" -msgstr "" +msgstr "c" #: g10/keyedit.c:576 msgid "sign" -msgstr "" +msgstr "sign" #: g10/keyedit.c:576 msgid "sign the key" msgstr "assina a chave" -# ??? #: g10/keyedit.c:577 msgid "s" -msgstr "" +msgstr "s" #: g10/keyedit.c:578 msgid "lsign" -msgstr "" +msgstr "lsign" #: g10/keyedit.c:578 msgid "sign the key locally" @@ -2087,11 +2095,11 @@ #: g10/keyedit.c:579 msgid "debug" -msgstr "" +msgstr "debug" #: g10/keyedit.c:580 msgid "adduid" -msgstr "" +msgstr "adduid" #: g10/keyedit.c:580 msgid "add a user ID" @@ -2099,7 +2107,7 @@ #: g10/keyedit.c:581 msgid "deluid" -msgstr "" +msgstr "deluid" #: g10/keyedit.c:581 msgid "delete user ID" @@ -2107,7 +2115,7 @@ #: g10/keyedit.c:582 msgid "addkey" -msgstr "" +msgstr "addkey" #: g10/keyedit.c:582 msgid "add a secondary key" @@ -2115,7 +2123,7 @@ #: g10/keyedit.c:583 msgid "delkey" -msgstr "" +msgstr "delkey" #: g10/keyedit.c:583 msgid "delete a secondary key" @@ -2123,7 +2131,7 @@ #: g10/keyedit.c:584 msgid "delsig" -msgstr "" +msgstr "delsig" #: g10/keyedit.c:584 msgid "delete signatures" @@ -2131,7 +2139,7 @@ #: g10/keyedit.c:585 msgid "expire" -msgstr "" +msgstr "expire" #: g10/keyedit.c:585 msgid "change the expire date" @@ -2139,7 +2147,7 @@ #: g10/keyedit.c:586 msgid "toggle" -msgstr "" +msgstr "toggle" #: g10/keyedit.c:586 msgid "toggle between secret and public key listing" @@ -2147,11 +2155,11 @@ #: g10/keyedit.c:588 msgid "t" -msgstr "" +msgstr "t" #: g10/keyedit.c:589 msgid "pref" -msgstr "" +msgstr "pref" #: g10/keyedit.c:589 msgid "list preferences" @@ -2159,7 +2167,7 @@ #: g10/keyedit.c:590 msgid "passwd" -msgstr "" +msgstr "passwd" #: g10/keyedit.c:590 msgid "change the passphrase" @@ -2167,7 +2175,7 @@ #: g10/keyedit.c:591 msgid "trust" -msgstr "" +msgstr "trust" #: g10/keyedit.c:591 msgid "change the ownertrust" @@ -2175,7 +2183,7 @@ #: g10/keyedit.c:592 msgid "revsig" -msgstr "" +msgstr "revsig" #: g10/keyedit.c:592 msgid "revoke signatures" @@ -2183,7 +2191,7 @@ #: g10/keyedit.c:593 msgid "revkey" -msgstr "" +msgstr "revkey" #: g10/keyedit.c:593 msgid "revoke a secondary key" @@ -2191,7 +2199,7 @@ #: g10/keyedit.c:594 msgid "disable" -msgstr "" +msgstr "disable" #: g10/keyedit.c:594 msgid "disable a key" @@ -2199,7 +2207,7 @@ #: g10/keyedit.c:595 msgid "enable" -msgstr "" +msgstr "enable" #: g10/keyedit.c:595 msgid "enable a key" @@ -2299,79 +2307,79 @@ msgid "Invalid command (try \"help\")\n" msgstr "Comando inválido (tente \"help\")\n" -#: g10/keyedit.c:1065 +#: g10/keyedit.c:1068 msgid "This key has been disabled" msgstr "Esta chave foi desativada" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" -msgstr "Deletar esat assinatura válida? (s/N/q)" +msgstr "Deletar esta assinatura válida? (s/N/q)" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" msgstr "Deletar esta assinatura inválida? (s/N/q)" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 msgid "Delete this unknown signature? (y/N/q)" msgstr "Deletar esta assinatura desconhecida? (s/N/q)" -#: g10/keyedit.c:1350 +#: g10/keyedit.c:1353 msgid "Really delete this self-signature? (y/N)" msgstr "Realmente remover esta auto-assinatura? (s/N)" -#: g10/keyedit.c:1364 +#: g10/keyedit.c:1367 #, c-format msgid "Deleted %d signature.\n" msgstr "%d assinatura removida.\n" -#: g10/keyedit.c:1365 +#: g10/keyedit.c:1368 #, c-format msgid "Deleted %d signatures.\n" msgstr "%d assinaturas removidas.\n" -#: g10/keyedit.c:1368 +#: g10/keyedit.c:1371 msgid "Nothing deleted.\n" msgstr "Nada removido.\n" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "Por favor remova as seleções das chaves secretas.\n" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 msgid "Please select at most one secondary key.\n" msgstr "Por favor selecione no máximo uma chave secundária.\n" -#: g10/keyedit.c:1447 +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "Modificando a data de validade para uma chave secundária.\n" -#: g10/keyedit.c:1449 +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "Modificando a data de validade para uma chave primária.\n" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "Você não pode modificar a data de validade de uma chave v3\n" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "Nenhuma assinatura correspondente no chaveiro secreto\n" -#: g10/keyedit.c:1566 +#: g10/keyedit.c:1569 #, c-format msgid "No user ID with index %d\n" msgstr "Nenhum ID de usuário com índice %d\n" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "Nenhuma chave secundária com índice %d\n" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 msgid "user ID: \"" msgstr "ID de usuário: \"" -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, c-format msgid "" "\"\n" @@ -2380,40 +2388,34 @@ "\"\n" "assinado com sua chave %08lX em %s\n" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 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 +#: g10/keyedit.c:1743 msgid "You have signed these user IDs:\n" -msgstr "Você não pode remover o último ID de usuário!\n" +msgstr "Você assinou estes IDs de usuário:\n" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 -#, fuzzy, c-format +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format msgid " signed by %08lX at %s\n" -msgstr "" -"\"\n" -"assinado com sua chave %08lX em %s\n" +msgstr " assinado por %08lX em %s\n" -#: g10/keyedit.c:1759 -#, fuzzy, c-format +#: g10/keyedit.c:1762 +#, c-format msgid " revoked by %08lX at %s\n" -msgstr "" -"\"\n" -"assinado com sua chave %08lX em %s\n" +msgstr " revogado por %08lX em %s\n" -#: g10/keyedit.c:1779 -#, fuzzy +#: g10/keyedit.c:1782 msgid "You are about to revoke these signatures:\n" -msgstr "Você realmente quer revogar as chaves selecionadas? " +msgstr "Você está prestes a revogar estas assinaturas:\n" -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 msgid "Really create the revocation certificates? (y/N)" msgstr "Realmente gerar os certificados de revogação? (s/N)" -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 msgid "no secret key\n" msgstr "nenhuma chave secreta\n" @@ -2426,91 +2428,100 @@ msgid "public key encrypted data: good DEK\n" msgstr "dados criptografados com chave pública: DEK válido\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:277 #, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" msgstr "criptografado com chave %u-bit %s, ID %08lX, criada em %s\n" -#: g10/mainproc.c:285 +#: g10/mainproc.c:287 #, c-format msgid "encrypted with %s key, ID %08lX\n" msgstr "criptografado com chave %s, ID %08lX\n" -#: g10/mainproc.c:291 +#: g10/mainproc.c:293 msgid "no secret key for decryption available\n" msgstr "nenhuma chave secreta para descriptografia disponível\n" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "descriptografia de chave pública falhou: %s\n" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 msgid "decryption okay\n" msgstr "descriptografia correta\n" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "CUIDADO: a mensagem criptografada foi manipulada!\n" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "descriptografia falhou: %s\n" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTA: o remetente solicitou \"apenas-para-seus-olhos\"\n" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "nome de arquivo original='%.*s'\n" -#: g10/mainproc.c:587 g10/mainproc.c:596 +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "revogação isolada - use \"gpg --import\" para aplicá-la\n" + +#: g10/mainproc.c:598 g10/mainproc.c:607 msgid "WARNING: invalid notation data found\n" msgstr "AVISO: dados de notação inválidos encontrados\n" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " msgstr "Notação: " -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " msgstr "Política: " -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "verificação de assinatura suprimida\n" -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "Assinatura feita em %.*s usando %s, ID da chave %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "Assinatura INCORRETA de \"" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "Assinatura correta de \"" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr " ou \"" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" msgstr "Impossível verificar assinatura: %s\n" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1191 +#, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "assinatura isolada da classe 0x%02x\n" + +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "formato de assinatura antigo (PGP2.x)\n" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "pacote raiz inválido detectado em proc_tree()\n" @@ -2541,12 +2552,12 @@ "este algoritmo de criptografia é depreciado; por favor use algum\n" "algoritmo padrão!\n" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "impossível manipular algoritmo de chave pública %d\n" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "subpacote do tipo %d tem bit crítico ligado\n" @@ -2587,6 +2598,10 @@ msgid "data not saved; use option \"--output\" to save it\n" msgstr "dados não salvos; use a opção \"--output\" para salvá-los\n" +#: g10/plaintext.c:311 +msgid "Detached signature.\n" +msgstr "Assinatura separada.\n" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "Por favor digite o nome do arquivo de dados: " @@ -2618,6 +2633,45 @@ msgid "NOTE: cipher algorithm %d not found in preferences\n" msgstr "NOTA: algoritmo de criptografia %d não encontrado nas preferências\n" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "impossível escrever para o chaveiro: %s\n" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "%s não é um mapa de caracteres válido\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "impossível abrir `%s': %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "erro na leitura de `%s': %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + #: g10/seckey-cert.c:55 #, c-format msgid "protection algorithm %d is not supported\n" @@ -2685,453 +2739,463 @@ msgid "can't handle text lines longer than %d characters\n" msgstr "impossível manipular linhas de texto maiores que %d caracteres\n" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format msgid "input line longer than %d characters\n" msgstr "linha de entrada maior que %d caracteres\n" -#: g10/tdbio.c:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, 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:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, 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:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "transação de banco de dados de confiabilidade muito grande\n" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, c-format msgid "%s: can't access: %s\n" msgstr "%s: impossível acessar: %s\n" -#: 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:304 g10/tdbio.c:448 -#, c-format -msgid "%s: directory created\n" -msgstr "%s: diretório criado\n" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, 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:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: impossível criar: %s\n" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, c-format msgid "%s: can't create lock\n" msgstr "%s: impossível criar trava\n" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, c-format msgid "%s: failed to create version record: %s" msgstr "%s: falha ao criar registro de versão: %s" -#: g10/tdbio.c:491 +#: g10/tdbio.c:477 #, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: banco de dados de confiabilidade inválido criado\n" -#: g10/tdbio.c:494 +#: g10/tdbio.c:480 #, c-format msgid "%s: trustdb created\n" msgstr "%s: banco de dados de confiabilidade criado\n" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, c-format msgid "%s: invalid trustdb\n" msgstr "%s: banco de dados de confiabilidade inválido\n" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: falha ao criar tabela de \"hash\": %s\n" -#: g10/tdbio.c:572 +#: g10/tdbio.c:558 #, c-format msgid "%s: error updating version record: %s\n" msgstr "%s: erro atualizando registro de versão: %s\n" -#: 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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: erro lendo registro de versão: %s\n" -#: g10/tdbio.c:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, c-format msgid "%s: error writing version record: %s\n" msgstr "%s: erro escrevendo registro de versão: %s\n" -#: g10/tdbio.c:1247 +#: g10/tdbio.c:1235 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "banco de dados de confiabilidade: lseek falhou: %s\n" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, 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:1276 +#: g10/tdbio.c:1264 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: não é um banco de dados de confiabilidade\n" -#: g10/tdbio.c:1292 +#: g10/tdbio.c:1280 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: registro de versão com recnum %lu\n" -#: g10/tdbio.c:1297 +#: g10/tdbio.c:1285 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versão de arquivo inválida %d\n" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: erro lendo registro livre: %s\n" -#: g10/tdbio.c:1609 +#: g10/tdbio.c:1597 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: erro escrevendo registro de diretório: %s\n" -#: g10/tdbio.c:1619 +#: g10/tdbio.c:1607 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: falha ao zerar um registro: %s\n" -#: g10/tdbio.c:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: falha ao anexar um registro: %s\n" -#: g10/tdbio.c:1760 +#: g10/tdbio.c:1748 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "O banco de dados de confiabilidade está danificado; por favor rode\n" "\"gpg --fix-trust-db\".\n" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "registro de confiança %lu, tipo req %d: falha na leitura: %s\n" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "registro de confiança %lu, tipo %d: escrita falhou: %s\n" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "registro de confiança %lu: remoção falhou: %s\n" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "banco de dados de confiabilidade: sincronização falhou: %s\n" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "erro lendo registro de diretório para LID %lu: %s\n" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "lid %lu: registro de diretório esperado, tipo %d recebido\n" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "nenhuma chave primária para LID %lu\n" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "erro lendo chave primária para LID %lu: %s\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record falhou: %s\n" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "NOTA: a chave secreta %08lX NÃO está protegida.\n" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "chave %08lX: chave secreta sem chave pública - ignorada\n" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "chave %08lX: chaves secreta e pública não são correspondentes\n" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "" "chave %08lX: impossível colocá-la no banco de dados de confiabilidade\n" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, c-format msgid "key %08lX: query record failed\n" msgstr "chave %08lX: pedido de registro falhou\n" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "chave %08lX: já está na tabela de chaves confiáveis\n" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "chave %08lX: aceita como chave confiável.\n" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "enumeração de chaves secretas falhou: %s\n" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "chave %08lX.%lu: Ligação de subchave válida\n" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "chave %08lX.%lu: Ligação de subchave inválida: %s\n" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "chave %08lX.%lu: Revogação de chave válida\n" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "chave %08lX.%lu: Revogação de chave inválida: %s\n" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "chave %08lX.%lu: Revogação de subchave válida\n" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 msgid "Good self-signature" msgstr "Auto-assinatura válida" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 msgid "Invalid self-signature" msgstr "Auto-assinatura inválida" -#: g10/trustdb.c:1060 +#: g10/trustdb.c:1105 msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" "Revogação válida de ID de usuário ignorada devido a nova auto-assinatura" -#: g10/trustdb.c:1066 +#: g10/trustdb.c:1111 msgid "Valid user ID revocation" msgstr "Revogação de ID de usuário válida" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 msgid "Invalid user ID revocation" msgstr "Revogação de ID de usuário inválida" -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 msgid "Valid certificate revocation" msgstr "Certificado de revogação válido" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 msgid "Good certificate" msgstr "Certificado correto" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 msgid "Invalid certificate revocation" msgstr "Certificado de revogação inválido" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 msgid "Invalid certificate" msgstr "Certificado inválido" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "registro de assinatura %lu[%d] aponta para registro errado.\n" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 msgid "duplicated certificate - deleted" msgstr "certificado duplicado - removido" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "tdbio_search_dir falhou: %s\n" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: inserção falhou: %s\n" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: inserção falhou: %s\n" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: inserido\n" -#: g10/trustdb.c:1652 +#: g10/trustdb.c:1721 #, c-format msgid "error reading dir record: %s\n" msgstr "erro lendo registro de diretório: %s\n" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "%lu chaves processadas\n" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu chaves com erros\n" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu chaves inseridas\n" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumeração de blocos de chaves falhou: %s\n" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "lid %lu: registro de diretório sem chave - ignorado\n" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "\t%lu devido a novas chaves públicas\n" + +#: g10/trustdb.c:1796 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu chaves ignoradas\n" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "\t%lu chaves atualizadas\n" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "Ooops, nenhuma chave\n" -#: g10/trustdb.c:2061 +#: g10/trustdb.c:2147 msgid "Ooops, no user IDs\n" msgstr "Ooops, nenhum ID de usuário\n" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: busca de registro de diretório falhou: %s\n" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "chave %08lX: inserção de registro de confiança falhou: %s\n" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "chave %08lX.%lu: inserida no banco de dados de confiabilidade\n" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "chave %08lX.%lu: criada no futuro (viagem no tempo ou problema no relogio)\n" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "chave %08lX.%lu: expirou em %s\n" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "chave %08lX.%lu: verificação de confiança falhou: %s\n" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, c-format msgid "user '%s' not found: %s\n" msgstr "usuário `%s' não encontrado: %s\n" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problemas na procura de `%s' no banco de dados de confiabilidade: %s\n" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "" "usuário `%s' não encontrado no banco de dados de confiabilidade - inserindo\n" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "falha ao colocar `%s' no banco de dados de confiabilidade: %s\n" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 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:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" +"a assinatura não pôde ser verificada.\n" +"Por favor lembre-se de que o arquivo com a assinatura (.sig ou .asc)\n" +"deve ser o primeiro arquivo dado na linha de comando.\n" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "linha %u muito longa ou sem LF\n" + +#: g10/ringedit.c:303 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: impossível criar chaveiro: %s\n" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, c-format msgid "%s: keyring created\n" msgstr "%s: chaveiro criado\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "AVISO: existem 2 arquivos com informações confidenciais.\n" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, c-format msgid "%s is the unchanged one\n" msgstr "%s é o não modificado\n" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "%s é o novo\n" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "Por favor conserte este possível furo de segurança\n" @@ -3156,38 +3220,54 @@ "para assinaturas!\n" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "Arquivo `%s' já existe. " -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "Sobrescrever (s/N)? " -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" msgstr "%s: sufixo desconhecido\n" -#: g10/openfile.c:119 +#: g10/openfile.c:131 msgid "Enter new filename" msgstr "Digite novo nome de arquivo" -#: g10/openfile.c:160 +#: g10/openfile.c:172 msgid "writing to stdout\n" msgstr "escrevendo em \"stdout\"\n" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, c-format msgid "assuming signed data in `%s'\n" msgstr "assumindo dados assinados em `%s'\n" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "%s: novo arquivo de opções criado\n" +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: impossível criar diretório: %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s: diretório criado\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" +"você deve reiniciar o GnuPG, para que ele possa ler o novo arquivo\n" +"de opções\n" + #: g10/encr-data.c:66 #, c-format msgid "%s encrypted data\n" @@ -3217,27 +3297,24 @@ "%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" +msgstr "há uma chave secreta para esta chave pública!\n" #: g10/delkey.c:95 msgid "use option \"--delete-secret-key\" to delete it first.\n" -msgstr "" +msgstr "use a opção \"--delete-secret-key\" para deletá-la antes.\n" #: 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" +msgstr "impossível fazer isso em modo não-interativo sem \"--yes\"\n" #: g10/delkey.c:133 -#, fuzzy msgid "Delete this key from the keyring? " -msgstr "remover a chave do chaveiro público" +msgstr "Deletar esta chave do chaveiro? " #: g10/delkey.c:141 msgid "This is a secret key! - really delete? " -msgstr "" +msgstr "Esta é uma chave secreta! - realmente deletar? " #: g10/helptext.c:47 msgid "" @@ -3435,7 +3512,7 @@ "digitou." #: g10/helptext.c:213 -msgid "Give the name fo the file to which the signature applies" +msgid "Give the name of the file to which the signature applies" msgstr "Dê o nome para o arquivo ao qual a assinatura se aplica" #: g10/helptext.c:218 @@ -3561,9 +3638,6 @@ #~ msgid "read error: %s\n" #~ msgstr "erro de leitura: %s\n" -#~ msgid "can't write to keyring: %s\n" -#~ msgstr "impossível escrever para o chaveiro: %s\n" - #~ msgid "writing keyblock\n" #~ msgstr "escrevendo bloco de chaves\n" @@ -3600,10 +3674,6 @@ #, fuzzy #~ msgid "chained sigrec %lu has a wrong owner\n" #~ msgstr "sigrec em cadeia %lu possui dono errado\n" - -#, fuzzy -#~ msgid "'%s' is not a valid long keyID\n" -#~ msgstr "%s não é um mapa de caracteres válido\n" #, fuzzy #~ msgid "key %08lX: no public key for trusted key - skipped\n" diff -urN gnupg-1.0.0/po/pt_PT.po gnupg-1.0.1/po/pt_PT.po --- gnupg-1.0.0/po/pt_PT.po Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/po/pt_PT.po Thu Dec 16 10:17:36 1999 @@ -0,0 +1,3526 @@ +# PT_pt messages for gnupg +# Pedro Morais +# +# Based on PT_br work done by: +# Thiago Jung Bauermann , 1999. +# Rafael Caetano dos Santos . +msgid "" +msgstr "" +"Project-Id-Version: gnupg\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" +"PO-Revision-Date: 1999-09-09 20:28+0000\n" +"Last-Translator: Pedro Morais \n" +"Language-Team: pt\n" +"MIME-Version:\n" +"Content-Type:\n" +"Content-Transfer-Encoding:\n" + +#: util/secmem.c:79 +msgid "Warning: using insecure memory!\n" +msgstr "Aviso: a utilizar memória insegura!\n" + +#: util/secmem.c:281 +msgid "operation is not possible without initialized secure memory\n" +msgstr "a operação não é possível sem memória segura inicializada\n" + +#: util/secmem.c:282 +msgid "(you may have used the wrong program for this task)\n" +msgstr "(você pode ter usado o programa errado para esta tarefa)\n" + +#: util/miscutil.c:277 util/miscutil.c:306 +msgid "yes" +msgstr "sim" + +#: util/miscutil.c:278 util/miscutil.c:309 +msgid "yY" +msgstr "sS" + +#: util/miscutil.c:279 util/miscutil.c:307 +msgid "no" +msgstr "não" + +#: util/miscutil.c:280 util/miscutil.c:310 +msgid "nN" +msgstr "nN" + +# INICIO MENU +#: g10/keyedit.c:564 util/miscutil.c:308 +msgid "quit" +msgstr "sair" + +#: util/miscutil.c:311 +msgid "qQ" +msgstr "qQ" + +#: util/errors.c:54 +msgid "general error" +msgstr "erro geral" + +#: util/errors.c:55 +msgid "unknown packet type" +msgstr "formato de pacote desconhecido" + +#: util/errors.c:56 +msgid "unknown version" +msgstr "versão desconhecida" + +#: util/errors.c:57 +msgid "unknown pubkey algorithm" +msgstr "algoritmo de chave pública desconhecido" + +#: util/errors.c:58 +msgid "unknown digest algorithm" +msgstr "algoritmo de \"digest\" desconhecido" + +#: util/errors.c:59 +msgid "bad public key" +msgstr "chave pública incorrecta" + +#: util/errors.c:60 +msgid "bad secret key" +msgstr "chave secreta incorrecta" + +#: util/errors.c:61 +msgid "bad signature" +msgstr "assinatura incorrecta" + +#: util/errors.c:62 +msgid "checksum error" +msgstr "erro de \"checksum\"" + +#: util/errors.c:63 +msgid "bad passphrase" +msgstr "frase secreta incorrecta" + +#: util/errors.c:64 +msgid "public key not found" +msgstr "chave pública não encontrada" + +#: util/errors.c:65 +msgid "unknown cipher algorithm" +msgstr "algoritmo de criptografia desconhecido" + +#: util/errors.c:66 +msgid "can't open the keyring" +msgstr "não é possível abrir o porta-chaves" + +#: util/errors.c:67 +msgid "invalid packet" +msgstr "pacote inválido" + +#: util/errors.c:68 +msgid "invalid armor" +msgstr "armadura inválida" + +#: util/errors.c:69 +msgid "no such user id" +msgstr "identificador de utilizador inexistente" + +#: util/errors.c:70 +msgid "secret key not available" +msgstr "chave secreta não disponível" + +#: util/errors.c:71 +msgid "wrong secret key used" +msgstr "chave secreta incorrecta" + +#: util/errors.c:72 +msgid "not supported" +msgstr "não suportado" + +#: util/errors.c:73 +msgid "bad key" +msgstr "chave incorrecta" + +#: util/errors.c:74 +msgid "file read error" +msgstr "erro de leitura" + +#: util/errors.c:75 +msgid "file write error" +msgstr "erro de escrita" + +#: util/errors.c:76 +msgid "unknown compress algorithm" +msgstr "algoritmo de compressão desconhecido" + +#: util/errors.c:77 +msgid "file open error" +msgstr "erro na abertura do ficheiro" + +#: util/errors.c:78 +msgid "file create error" +msgstr "erro na criação do ficheiro" + +#: util/errors.c:79 +msgid "invalid passphrase" +msgstr "frase-secreta inválida" + +#: util/errors.c:80 +msgid "unimplemented pubkey algorithm" +msgstr "algoritmo de chave pública não implementado" + +#: util/errors.c:81 +msgid "unimplemented cipher algorithm" +msgstr "algoritmo de criptografia não implementado" + +#: util/errors.c:82 +msgid "unknown signature class" +msgstr "classe de assinatura desconhecida" + +#: util/errors.c:83 +msgid "trust database error" +msgstr "erro na base de dados de confiança" + +#: util/errors.c:84 +msgid "bad MPI" +msgstr "MPI incorreto" + +#: util/errors.c:85 +msgid "resource limit" +msgstr "limite de recursos" + +#: util/errors.c:86 +msgid "invalid keyring" +msgstr "porta-chaves inválido" + +#: util/errors.c:87 +msgid "bad certificate" +msgstr "certificado incorrecto" + +#: util/errors.c:88 +msgid "malformed user id" +msgstr "identificador de utilizador malformado" + +#: util/errors.c:89 +msgid "file close error" +msgstr "erro ao fechar ficheiro" + +#: util/errors.c:90 +msgid "file rename error" +msgstr "erro na renomeação do ficheiro" + +#: util/errors.c:91 +msgid "file delete error" +msgstr "erro na remoção do ficheiro" + +#: util/errors.c:92 +msgid "unexpected data" +msgstr "dados inesperados" + +#: util/errors.c:93 +msgid "timestamp conflict" +msgstr "conflito de \"timestamp\"" + +#: util/errors.c:94 +msgid "unusable pubkey algorithm" +msgstr "algoritmo de chave pública inutilizável" + +#: util/errors.c:95 +msgid "file exists" +msgstr "o ficheiro já existe" + +#: util/errors.c:96 +msgid "weak key" +msgstr "chave fraca" + +#: util/errors.c:97 +msgid "invalid argument" +msgstr "argumento inválido" + +#: util/errors.c:98 +msgid "bad URI" +msgstr "URI incorrecto" + +#: util/errors.c:99 +msgid "unsupported URI" +msgstr "URI não suportado" + +#: util/errors.c:100 +msgid "network error" +msgstr "erro na rede" + +#: util/errors.c:102 +msgid "not encrypted" +msgstr "não encriptado" + +#: util/errors.c:103 +msgid "not processed" +msgstr "não processado" + +#: util/logger.c:218 +#, c-format +msgid "... this is a bug (%s:%d:%s)\n" +msgstr "... isto é um bug (%s:%d:%s)\n" + +#: util/logger.c:224 +#, c-format +msgid "you found a bug ... (%s:%d)\n" +msgstr "você encontrou um bug ... (%s:%d)\n" + +#: cipher/random.c:458 +msgid "WARNING: using insecure random number generator!!\n" +msgstr "AVISO: a utilizar gerador de números aleatórios inseguro!\n" + +#: cipher/random.c:459 +msgid "" +"The random number generator is only a kludge to let\n" +"it run - it is in no way a strong RNG!\n" +"\n" +"DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n" +"\n" +msgstr "" +"O gerador de números aleatórios é apenas um \"remendo\"\n" +"para poder funcionar - não é de modo algum um bom gerador!\n" +"\n" +"NÃO USE NENHUM DADO GERADO POR ESTE PROGRAMA!\n" +"\n" + +#: cipher/rndlinux.c:135 +#, c-format +msgid "" +"\n" +"Not enough random bytes available. Please do some other work to give\n" +"the OS a chance to collect more entropy! (Need %d more bytes)\n" +msgstr "" +"\n" +"Não há bytes aleatórios suficientes. Por favor, faça outro trabalho para\n" +"que o sistema possa recolher mais entropia! (São necessários mais %d bytes)\n" + +#: g10/g10.c:189 +msgid "" +"@Commands:\n" +" " +msgstr "" +"@Comandos:\n" +" " + +#: g10/g10.c:191 +msgid "|[file]|make a signature" +msgstr "|[ficheiro]|fazer uma assinatura" + +#: g10/g10.c:192 +msgid "|[file]|make a clear text signature" +msgstr "|[ficheiro]|fazer uma assinatura em texto puro" + +#: g10/g10.c:193 +msgid "make a detached signature" +msgstr "fazer uma assinatura separada" + +#: g10/g10.c:194 +msgid "encrypt data" +msgstr "encriptar dados" + +#: g10/g10.c:195 +msgid "encryption only with symmetric cipher" +msgstr "encriptar apenas com cifra simétrica" + +#: g10/g10.c:196 +msgid "store only" +msgstr "apenas armazenar" + +#: g10/g10.c:197 +msgid "decrypt data (default)" +msgstr "desencriptar dados (acção por omissão)" + +#: g10/g10.c:198 +msgid "verify a signature" +msgstr "verificar uma assinatura" + +#: g10/g10.c:200 +msgid "list keys" +msgstr "listar as chaves" + +#: g10/g10.c:202 +msgid "list keys and signatures" +msgstr "listar as chaves e as assinaturas" + +#: g10/g10.c:203 +msgid "check key signatures" +msgstr "verificar as assinaturas das chaves" + +#: g10/g10.c:204 +msgid "list keys and fingerprints" +msgstr "listar as chaves e as impressões digitais" + +#: g10/g10.c:205 +msgid "list secret keys" +msgstr "listar as chaves secretas" + +#: g10/g10.c:206 +msgid "generate a new key pair" +msgstr "gerar um novo par de chaves" + +#: g10/g10.c:207 +msgid "remove key from the public keyring" +msgstr "remover a chave do porta-chaves público" + +#: g10/g10.c:209 +msgid "remove key from the secret keyring" +msgstr "remover a chave do porta-chaves secreto" + +#: g10/g10.c:210 +msgid "sign a key" +msgstr "assinar uma chave" + +#: g10/g10.c:211 +msgid "sign a key locally" +msgstr "assinar uma chave localmente" + +#: g10/g10.c:212 +msgid "sign or edit a key" +msgstr "assinar ou editar uma chave" + +#: g10/g10.c:213 +msgid "generate a revocation certificate" +msgstr "gerar um certificado de revogação" + +#: g10/g10.c:214 +msgid "export keys" +msgstr "exportar chaves" + +#: g10/g10.c:215 +msgid "export keys to a key server" +msgstr "exportar chaves para um servidor" + +#: g10/g10.c:216 +msgid "import keys from a key server" +msgstr "importar chaves de um servidor" + +#: g10/g10.c:219 +msgid "import/merge keys" +msgstr "importar/fundir chaves" + +#: g10/g10.c:221 +msgid "list only the sequence of packets" +msgstr "listar apenas as sequências de pacotes" + +# ownertrust ??? +#: g10/g10.c:223 +msgid "export the ownertrust values" +msgstr "exportar os valores de confiança" + +#: g10/g10.c:225 +msgid "import ownertrust values" +msgstr "importar os valores de confiança" + +#: g10/g10.c:227 +msgid "update the trust database" +msgstr "actualizar a base de dados de confiança" + +#: g10/g10.c:229 +msgid "|[NAMES]|check the trust database" +msgstr "|[NOMES]|verificar a base de dados de confiança" + +#: g10/g10.c:230 +msgid "fix a corrupted trust database" +msgstr "consertar uma base de dados de confiança" + +#: g10/g10.c:231 +msgid "De-Armor a file or stdin" +msgstr "retirar armadura de um ficheiro ou do \"stdin\"" + +#: g10/g10.c:233 +msgid "En-Armor a file or stdin" +msgstr "criar armadura para um ficheiro ou \"stdin\"" + +#: g10/g10.c:235 +msgid "|algo [files]|print message digests" +msgstr "|algo [ficheiros]|imprimir \"digests\" de mensagens" + +#: g10/g10.c:239 +msgid "" +"@\n" +"Options:\n" +" " +msgstr "" +"@\n" +"Opções:\n" +" " + +#: g10/g10.c:241 +msgid "create ascii armored output" +msgstr "criar saída com armadura ascii" + +#: g10/g10.c:243 +msgid "|NAME|encrypt for NAME" +msgstr "|NOME|encriptar para NOME" + +#: g10/g10.c:246 +msgid "|NAME|use NAME as default recipient" +msgstr "|NOME|usar NOME como destinatário padrão" + +#: g10/g10.c:248 +msgid "use the default key as default recipient" +msgstr "usar a chave padrão como destinatário padrão" + +#: g10/g10.c:252 +msgid "use this user-id to sign or decrypt" +msgstr "" +"usar este identificador de utilizador para\n" +"assinar ou desencriptar" + +#: g10/g10.c:253 +msgid "|N|set compress level N (0 disables)" +msgstr "" +"|N|estabelecer nível de compressão N\n" +"(0 desactiva)" + +#: g10/g10.c:255 +msgid "use canonical text mode" +msgstr "usar modo de texto canônico" + +#: g10/g10.c:256 +msgid "use as output file" +msgstr "usar como ficheiro de saída" + +#: g10/g10.c:257 +msgid "verbose" +msgstr "detalhado" + +#: g10/g10.c:258 +msgid "be somewhat more quiet" +msgstr "ser mais silencioso" + +#: g10/g10.c:259 +msgid "don't use the terminal at all" +msgstr "nunca usar o terminal" + +#: g10/g10.c:260 +msgid "force v3 signatures" +msgstr "forçar assinaturas v3" + +#: g10/g10.c:261 +msgid "always use a MDC for encryption" +msgstr "sempre usar um MDC para encriptar" + +#: g10/g10.c:262 +msgid "do not make any changes" +msgstr "não fazer alterações" + +#. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, +#: g10/g10.c:264 +msgid "batch mode: never ask" +msgstr "modo não-interactivo: nunca perguntar" + +#: g10/g10.c:265 +msgid "assume yes on most questions" +msgstr "assumir sim para a maioria das perguntas" + +#: g10/g10.c:266 +msgid "assume no on most questions" +msgstr "assumir não para a maioria das perguntas" + +#: g10/g10.c:267 +msgid "add this keyring to the list of keyrings" +msgstr "" +"adicionar este porta-chaves\n" +"à lista de porta-chaves" + +#: g10/g10.c:268 +msgid "add this secret keyring to the list" +msgstr "adicionar este porta-chaves secreto à lista" + +#: g10/g10.c:269 +msgid "|NAME|use NAME as default secret key" +msgstr "|NOME|usar NOME como chave secreta por omissão" + +#: g10/g10.c:270 +msgid "|HOST|use this keyserver to lookup keys" +msgstr "|ENDEREÇO|usar este servidor para buscar chaves" + +#: g10/g10.c:271 +msgid "|NAME|set terminal charset to NAME" +msgstr "" +"|NOME|definir mapa de caracteres do terminal como\n" +"NOME" + +#: g10/g10.c:272 +msgid "read options from file" +msgstr "ler opções do ficheiro" + +#: g10/g10.c:274 +msgid "set debugging flags" +msgstr "definir parâmetros de depuração" + +#: g10/g10.c:275 +msgid "enable full debugging" +msgstr "habilitar depuração completa" + +#: g10/g10.c:276 +msgid "|FD|write status info to this FD" +msgstr "" +"|DF|escrever informações de estado para o\n" +"descritor de ficheiro DF" + +#: g10/g10.c:277 +msgid "do not write comment packets" +msgstr "não escrever pacotes de comentário" + +#: g10/g10.c:278 +msgid "(default is 1)" +msgstr "(por omissão 1)" + +#: g10/g10.c:279 +msgid "(default is 3)" +msgstr "(por omissão 3)" + +#: g10/g10.c:281 +msgid "|FILE|load extension module FILE" +msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO" + +#: g10/g10.c:282 +msgid "emulate the mode described in RFC1991" +msgstr "emular o modo descrito no RFC1991" + +#: g10/g10.c:283 +msgid "set all packet, cipher and digest options to OpenPGP behavior" +msgstr "" +"configurar todas as opções de pacote,\n" +"criptografia e \"digest\" para comportamento\n" +"OpenPGP" + +#: g10/g10.c:284 +msgid "|N|use passphrase mode N" +msgstr "|N|usar mode de frase secreta N" + +#: g10/g10.c:286 +msgid "|NAME|use message digest algorithm NAME for passphrases" +msgstr "" +"|NOME|usar algoritmo de \"digest\" de mensagens NOME\n" +"para frases secretas" + +#: g10/g10.c:288 +msgid "|NAME|use cipher algorithm NAME for passphrases" +msgstr "" +"|NOME|usar algoritmo de criptografia NOME para\n" +"frases secretas" + +#: g10/g10.c:289 +msgid "|NAME|use cipher algorithm NAME" +msgstr "|NOME|usar algoritmo de criptografia NOME" + +#: g10/g10.c:290 +msgid "|NAME|use message digest algorithm NAME" +msgstr "|NOME|usar algoritmo de \"digest\" de mensagens NOME" + +#: g10/g10.c:291 +msgid "|N|use compress algorithm N" +msgstr "|N|usar algoritmo de compressão N" + +#: g10/g10.c:292 +msgid "throw keyid field of encrypted packets" +msgstr "eliminar campo keyid dos pacotes encriptados" + +#: g10/g10.c:293 +msgid "|NAME=VALUE|use this notation data" +msgstr "|NOME=VALOR|usar estes dados de notação" + +#: g10/g10.c:295 +msgid "" +"@\n" +"Examples:\n" +"\n" +" -se -r Bob [file] sign and encrypt for user Bob\n" +" --clearsign [file] make a clear text signature\n" +" --detach-sign [file] make a detached signature\n" +" --list-keys [names] show keys\n" +" --fingerprint [names] show fingerprints\n" +msgstr "" +"@\n" +"Exemplos:\n" +"\n" +" -se -r Bob [ficheiro] assinar e encriptar para o utilizador Bob\n" +" --clearsign [ficheiro] criar uma assinatura em texto puro\n" +" --detach-sign [ficheiro] criar uma assinatura separada\n" +" --list-keys [nomes] mostrar chaves\n" +" --fingerprint [nomes] mostrar impressões digitais\n" + +#: g10/g10.c:383 +msgid "Please report bugs to .\n" +msgstr "Por favor comunique bugs para .\n" + +#: g10/g10.c:387 +msgid "Usage: gpg [options] [files] (-h for help)" +msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)" + +#: g10/g10.c:390 +msgid "" +"Syntax: gpg [options] [files]\n" +"sign, check, encrypt or decrypt\n" +"default operation depends on the input data\n" +msgstr "" +"Sintaxe: gpg [opções] [ficheiros]\n" +"assina, verifica, encripta ou desencripta\n" +"a operação por omissão depende dos dados de entrada\n" + +#: g10/g10.c:397 +msgid "" +"\n" +"Supported algorithms:\n" +msgstr "" +"\n" +"Algoritmos suportados:\n" + +#: g10/g10.c:476 +msgid "usage: gpg [options] " +msgstr "uso: gpg [opções] " + +#: g10/g10.c:529 +msgid "conflicting commands\n" +msgstr "comandos em conflito\n" + +#: g10/g10.c:668 +#, c-format +msgid "NOTE: no default option file `%s'\n" +msgstr "NOTA: ficheiro de opções por omissão `%s' inexistente\n" + +#: g10/g10.c:672 +#, c-format +msgid "option file `%s': %s\n" +msgstr "ficheiro de opções `%s': %s\n" + +#: g10/g10.c:679 +#, c-format +msgid "reading options from `%s'\n" +msgstr "a ler opções de `%s'\n" + +#: g10/g10.c:861 +#, c-format +msgid "%s is not a valid character set\n" +msgstr "%s não é um conjunto de caracteres válido\n" + +#: g10/g10.c:917 g10/g10.c:926 +#, c-format +msgid "NOTE: %s is not for normal use!\n" +msgstr "NOTA: %s não é para uso normal!\n" + +#: g10/g10.c:919 +#, c-format +msgid "%s not allowed with %s!\n" +msgstr "%s não é permitido com %s!\n" + +#: g10/g10.c:922 +#, c-format +msgid "%s makes no sense with %s!\n" +msgstr "%s não faz sentido com %s!\n" + +#: g10/g10.c:941 g10/g10.c:953 +msgid "selected cipher algorithm is invalid\n" +msgstr "o algoritmo de cifragem selecionado não é válido\n" + +#: g10/g10.c:947 g10/g10.c:959 +msgid "selected digest algorithm is invalid\n" +msgstr "o algoritmo de \"digest\" selecionado não é válido\n" + +#: g10/g10.c:963 +msgid "the given policy URL is invalid\n" +msgstr "a URL de política dada é inválida\n" + +#: g10/g10.c:966 +#, c-format +msgid "compress algorithm must be in range %d..%d\n" +msgstr "o algoritmo de compressão deve estar na faixa %d..%d\n" + +#: g10/g10.c:968 +msgid "completes-needed must be greater than 0\n" +msgstr "completes-needed deve ser maior que 0\n" + +#: g10/g10.c:970 +msgid "marginals-needed must be greater than 1\n" +msgstr "marginals-needed deve ser maior que 1\n" + +#: g10/g10.c:972 +msgid "max-cert-depth must be in range 1 to 255\n" +msgstr "max-cert-depth deve estar na entre 1 e 255\n" + +#: g10/g10.c:975 +msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" +msgstr "NOTA: o modo S2K simples (0) não é recomendável\n" + +#: g10/g10.c:979 +msgid "invalid S2K mode; must be 0, 1 or 3\n" +msgstr "modo S2K inválido: deve ser 0, 1 ou 3\n" + +#: g10/g10.c:1056 +#, c-format +msgid "failed to initialize the TrustDB: %s\n" +msgstr "falha ao inicializar a base de dados de confiança: %s\n" + +#: g10/g10.c:1062 +msgid "--store [filename]" +msgstr "--store [nome_do_ficheiro]" + +#: g10/g10.c:1069 +msgid "--symmetric [filename]" +msgstr "--symmetric [nome_do_ficheiro]" + +#: g10/g10.c:1077 +msgid "--encrypt [filename]" +msgstr "--encrypt [nome_do_ficheiro]" + +#: g10/g10.c:1090 +msgid "--sign [filename]" +msgstr "--sign [nome_do_ficheiro]" + +#: g10/g10.c:1103 +msgid "--sign --encrypt [filename]" +msgstr "--sign --encrypt [nome_do_ficheiro]" + +#: g10/g10.c:1117 +msgid "--clearsign [filename]" +msgstr "--clearsign [nome_do_ficheiro]" + +#: g10/g10.c:1134 +msgid "--decrypt [filename]" +msgstr "--decrypt [nome_do_ficheiro]" + +#: g10/g10.c:1142 +msgid "--sign-key user-id" +msgstr "--sign-key id-utilizador" + +#: g10/g10.c:1150 +msgid "--lsign-key user-id" +msgstr "--lsign-key id-utilizador" + +#: g10/g10.c:1158 +msgid "--edit-key user-id [commands]" +msgstr "--edit-key id-utilizador [comandos]" + +#: g10/g10.c:1174 +msgid "--delete-secret-key user-id" +msgstr "--delete-secret-key id-utilizador" + +#: g10/g10.c:1177 +msgid "--delete-key user-id" +msgstr "--delete-key id-utilizador" + +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 +#, c-format +msgid "can't open %s: %s\n" +msgstr "impossível abrir %s: %s\n" + +#: g10/g10.c:1229 +msgid "-k[v][v][v][c] [user-id] [keyring]" +msgstr "-k[v][v][v][c] [id-utilizador] [porta-chaves]" + +#: g10/g10.c:1280 +#, c-format +msgid "dearmoring failed: %s\n" +msgstr "retirada de armadura falhou: %s\n" + +#: g10/g10.c:1288 +#, c-format +msgid "enarmoring failed: %s\n" +msgstr "criação de armadura falhou: %s\n" + +# "hash" poderia ser "espalhamento", mas não fica claro +#: g10/g10.c:1356 +#, c-format +msgid "invalid hash algorithm `%s'\n" +msgstr "algoritmo de hash inválido `%s'\n" + +#: g10/g10.c:1437 +msgid "[filename]" +msgstr "[nome_do_ficheiro]" + +#: g10/g10.c:1441 +msgid "Go ahead and type your message ...\n" +msgstr "Digite a sua mensagem ...\n" + +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 +#, c-format +msgid "can't open `%s'\n" +msgstr "impossível abrir `%s'\n" + +#: g10/g10.c:1613 +msgid "" +"the first character of a notation name must be a letter or an underscore\n" +msgstr "" +"o primeiro caracter de um nome de notação deve ser uma letra ou um " +"sublinhado\n" + +#: g10/g10.c:1619 +msgid "" +"a notation name must have only letters, digits, dots or underscores and end " +"with an '='\n" +msgstr "" +"um nome de notação deve ter apenas letras, dígitos, pontos ou sublinhados e " +"terminar com '='\n" + +#: g10/g10.c:1625 +msgid "dots in a notation name must be surrounded by other characters\n" +msgstr "" +"pontos num nome de notação devem estar cercados por outros caracteres\n" + +#: g10/g10.c:1633 +msgid "a notation value must not use any control characters\n" +msgstr "um valor de notação não deve usar caracteres de controle\n" + +#: g10/armor.c:296 +#, c-format +msgid "armor: %s\n" +msgstr "armadura: %s\n" + +#: g10/armor.c:325 +msgid "invalid armor header: " +msgstr "cabeçalho de armadura inválido: " + +#: g10/armor.c:332 +msgid "armor header: " +msgstr "cabeçalho de armadura: " + +#: g10/armor.c:343 +msgid "invalid clearsig header\n" +msgstr "cabeçalho de assinatura em texto puro inválido\n" + +#: g10/armor.c:395 +msgid "nested clear text signatures\n" +msgstr "assinaturas em texto puro aninhadas\n" + +#: g10/armor.c:506 +msgid "invalid dash escaped line: " +msgstr "linha com hífen inválida: " + +#: g10/armor.c:518 +msgid "unexpected armor:" +msgstr "armadura inesperada:" + +#: g10/armor.c:635 +#, c-format +msgid "invalid radix64 character %02x skipped\n" +msgstr "caracter radix64 inválido %02x ignorado\n" + +#: g10/armor.c:678 +msgid "premature eof (no CRC)\n" +msgstr "fim de ficheiro prematuro (sem CRC)\n" + +#: g10/armor.c:712 +msgid "premature eof (in CRC)\n" +msgstr "fim de ficheiro prematuro (no CRC)\n" + +#: g10/armor.c:716 +msgid "malformed CRC\n" +msgstr "CRC malformado\n" + +#: g10/armor.c:720 +#, c-format +msgid "CRC error; %06lx - %06lx\n" +msgstr "erro de CRC; %06lx - %06lx\n" + +#: g10/armor.c:737 +msgid "premature eof (in Trailer)\n" +msgstr "fim de ficheiro prematuro (no \"Trailer\")\n" + +#: g10/armor.c:741 +msgid "error in trailer line\n" +msgstr "erro na linha \"trailer\"\n" + +#: g10/armor.c:1012 +msgid "no valid OpenPGP data found.\n" +msgstr "nenhum dado OpenPGP válido encontrado.\n" + +#: g10/armor.c:1017 +#, c-format +msgid "invalid armor: line longer than %d characters\n" +msgstr "armadura inválida: linha maior que %d caracteres\n" + +#: g10/armor.c:1021 +msgid "" +"quoted printable character in armor - probably a buggy MTA has been used\n" +msgstr "" +"caracter \"quoted printable\" na armadura - provavelmente um MTA com bugs " +"foi usado\n" + +#. Translators: this shoud fit into 24 bytes to that the fingerprint +#. * data is properly aligned with the user ID +#: g10/pkclist.c:53 +msgid " Fingerprint:" +msgstr " Impressão digital:" + +#: g10/pkclist.c:80 +msgid "Fingerprint:" +msgstr "Impressão digital:" + +#. a string with valid answers +#: g10/pkclist.c:197 +msgid "sSmMqQ" +msgstr "sSmMqQ" + +#: g10/pkclist.c:201 +#, c-format +msgid "" +"No trust value assigned to %lu:\n" +"%4u%c/%08lX %s \"" +msgstr "" +"Nenhum valor de confiança designado para %lu:\n" +"%4u%c/%08lX %s \"" + +#: g10/pkclist.c:213 +msgid "" +"Please decide how far you trust this user to correctly\n" +"verify other users' keys (by looking at passports,\n" +"checking fingerprints from different sources...)?\n" +"\n" +" 1 = Don't know\n" +" 2 = I do NOT trust\n" +" 3 = I trust marginally\n" +" 4 = I trust fully\n" +" s = please show me more information\n" +msgstr "" +"Por favor decida quanto confia neste utilizador para\n" +"verificar correctamente as chaves de outros utilizadores\n" +"(vendo passaportes, verificando impressões digitais...)?\n" +"\n" +" 1 = Não sei\n" +" 2 = Eu NÃO confio\n" +" 3 = Eu confio moderadamente\n" +" 4 = Eu confio completamente\n" +" s = Mostrar mais informações\n" + +#: g10/pkclist.c:222 +msgid " m = back to the main menu\n" +msgstr " m = volta ao menu principal\n" + +#: g10/pkclist.c:224 +msgid " q = quit\n" +msgstr " q = sair\n" + +#: g10/pkclist.c:230 +msgid "Your decision? " +msgstr "Decisão? " + +#: g10/pkclist.c:252 +msgid "Certificates leading to an ultimately trusted key:\n" +msgstr "Certificados que levam a uma chave confiada plenamente:\n" + +#: g10/pkclist.c:323 +msgid "" +"Could not find a valid trust path to the key. Let's see whether we\n" +"can assign some missing owner trust values.\n" +"\n" +msgstr "" +"Não foi possível encontrar uma rota de confiança válida para a chave.\n" +"Vamos ver se é possível designar alguns valores de confiança ausentes.\n" +"\n" + +#: g10/pkclist.c:329 +msgid "" +"No path leading to one of our keys found.\n" +"\n" +msgstr "" +"Nenhuma rota encontrada que leve a uma de nossas chaves.\n" +"\n" + +#: g10/pkclist.c:331 +msgid "" +"No certificates with undefined trust found.\n" +"\n" +msgstr "" +"Nenhum certificado com confiança indefinida encontrado.\n" +"\n" + +#: g10/pkclist.c:333 +msgid "" +"No trust values changed.\n" +"\n" +msgstr "" +"Nenhum valor de confiança modificado.\n" +"\n" + +#: g10/pkclist.c:351 +#, c-format +msgid "key %08lX: key has been revoked!\n" +msgstr "chave %08lX: a chave foi revogada!\n" + +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 +msgid "Use this key anyway? " +msgstr "Usar esta chave de qualquer modo? " + +#: g10/pkclist.c:362 +#, c-format +msgid "key %08lX: subkey has been revoked!\n" +msgstr "chave %08lX: a subchave foi revogada!\n" + +#: g10/pkclist.c:395 +#, c-format +msgid "%08lX: key has expired\n" +msgstr "%08lX: a chave expirou\n" + +#: g10/pkclist.c:401 +#, c-format +msgid "%08lX: no info to calculate a trust probability\n" +msgstr "%08lX: sem informação para calcular probabilidade de confiança\n" + +#: g10/pkclist.c:416 +#, c-format +msgid "%08lX: We do NOT trust this key\n" +msgstr "%08lX: Nós NÃO confiamos nesta chave\n" + +#: g10/pkclist.c:422 +#, c-format +msgid "" +"%08lX: It is not sure that this key really belongs to the owner\n" +"but it is accepted anyway\n" +msgstr "" +"%08lX: Não se tem certeza de que esta chave realmente pertence ao dono,\n" +"mas é aceite de qualquer modo\n" + +#: g10/pkclist.c:428 +msgid "This key probably belongs to the owner\n" +msgstr "Esta chave provavelmente pertence ao dono\n" + +#: g10/pkclist.c:433 +msgid "This key belongs to us\n" +msgstr "Esta chave pertence-nos\n" + +#: g10/pkclist.c:476 +msgid "" +"It is NOT certain that the key belongs to its owner.\n" +"If you *really* know what you are doing, you may answer\n" +"the next question with yes\n" +"\n" +msgstr "" +"Não se tem certeza de que esta chave pertence ao seu dono.\n" +"Se você *realmente* sabe o que está a fazer, pode responder\n" +"sim à próxima pergunta\n" +"\n" + +#: g10/pkclist.c:490 g10/pkclist.c:513 +msgid "WARNING: Using untrusted key!\n" +msgstr "AVISO: Utilizando chave não confiável!\n" + +#: g10/pkclist.c:534 +msgid "WARNING: This key has been revoked by its owner!\n" +msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n" + +#: g10/pkclist.c:535 +msgid " This could mean that the signature is forgery.\n" +msgstr " Isto pode significar que a assinatura é falsificada.\n" + +#: g10/pkclist.c:539 +msgid "WARNING: This subkey has been revoked by its owner!\n" +msgstr "AVISO: Esta subchave foi revogada pelo seu dono!\n" + +#: g10/pkclist.c:560 +msgid "Note: This key has expired!\n" +msgstr "Nota: Esta chave expirou!\n" + +#: g10/pkclist.c:568 +msgid "WARNING: This key is not certified with a trusted signature!\n" +msgstr "AVISO: Esta chave não está certificada com uma assinatura confiável!\n" + +#: g10/pkclist.c:570 +msgid "" +" There is no indication that the signature belongs to the owner.\n" +msgstr " Não há indicação de que a assinatura pertence ao dono.\n" + +#: g10/pkclist.c:587 +msgid "WARNING: We do NOT trust this key!\n" +msgstr "AVISO: Nós NÃO confiamos nesta chave!\n" + +#: g10/pkclist.c:588 +msgid " The signature is probably a FORGERY.\n" +msgstr " A assinatura é provavelmente uma FALSIFICAÇÃO.\n" + +#: g10/pkclist.c:595 +msgid "" +"WARNING: This key is not certified with sufficiently trusted signatures!\n" +msgstr "" +"AVISO: Esta chave não está certificada com assinaturas suficientemente\n" +" confiáveis!\n" + +#: g10/pkclist.c:598 +msgid " It is not certain that the signature belongs to the owner.\n" +msgstr " Não se tem certeza de que a assinatura pertence ao dono.\n" + +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 +#, c-format +msgid "%s: skipped: %s\n" +msgstr "%s: ignorado: %s\n" + +#: g10/pkclist.c:708 g10/pkclist.c:875 +#, c-format +msgid "%s: skipped: public key already present\n" +msgstr "%s: ignorado: a chave pública já está presente\n" + +#: g10/pkclist.c:735 +msgid "" +"You did not specify a user ID. (you may use \"-r\")\n" +"\n" +msgstr "" +"Você não especificou um identificador de utilizador. (pode-se usar \"-r\")\n" +"\n" + +#: g10/pkclist.c:745 +msgid "Enter the user ID: " +msgstr "Digite o identificador de utilizador: " + +#: g10/pkclist.c:757 +msgid "No such user ID.\n" +msgstr "Identificador de utilizador inexistente.\n" + +#: g10/pkclist.c:762 +msgid "skipped: public key already set as default recipient\n" +msgstr "ignorado: chave pública já colocada como destinatário por omissão\n" + +#: g10/pkclist.c:785 +msgid "Public key is disabled.\n" +msgstr "A chave pública está desativada.\n" + +#: g10/pkclist.c:792 +msgid "skipped: public key already set with --encrypt-to\n" +msgstr "ignorado: a chave pública já colocada com --encrypt-to\n" + +#: g10/pkclist.c:823 +#, c-format +msgid "unknown default recipient `%s'\n" +msgstr "destinatário padrão desconhecido `%s'\n" + +#: g10/pkclist.c:856 +#, c-format +msgid "%s: error checking key: %s\n" +msgstr "%s: erro na verificação da chave: %s\n" + +#: g10/pkclist.c:861 +#, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s: ignorado: a chave pública está desactivada\n" + +#: g10/pkclist.c:899 +msgid "no valid addressees\n" +msgstr "nenhum endereço válido\n" + +#: g10/keygen.c:123 +msgid "writing self signature\n" +msgstr "escrevendo auto-assinatura\n" + +# key binding ??? +#: g10/keygen.c:161 +msgid "writing key binding signature\n" +msgstr "escrevendo assinatura ligada a uma chave\n" + +#: g10/keygen.c:387 +msgid "Please select what kind of key you want:\n" +msgstr "Por favor selecione o tipo de chave desejado:\n" + +#: g10/keygen.c:389 +#, c-format +msgid " (%d) DSA and ElGamal (default)\n" +msgstr " (%d) DSA e ElGamal (por omissão)\n" + +#: g10/keygen.c:390 +#, c-format +msgid " (%d) DSA (sign only)\n" +msgstr " (%d) DSA (apenas assinatura)\n" + +#: g10/keygen.c:392 +#, c-format +msgid " (%d) ElGamal (encrypt only)\n" +msgstr " (%d) ElGamal (apenas encripção)\n" + +#: g10/keygen.c:393 +#, c-format +msgid " (%d) ElGamal (sign and encrypt)\n" +msgstr " (%d) ElGamal (assinatura e encriptação)\n" + +#: g10/keygen.c:395 +#, c-format +msgid " (%d) ElGamal in a v3 packet\n" +msgstr " (%d) ElGamal num pacote v3\n" + +#: g10/keygen.c:400 +msgid "Your selection? " +msgstr "Opção? " + +#: g10/keygen.c:410 +msgid "Do you really want to create a sign and encrypt key? " +msgstr "Você quer realmente criar uma chave para assinatura e criptografia? " + +#: g10/keygen.c:431 +msgid "Invalid selection.\n" +msgstr "Opção inválida.\n" + +#: g10/keygen.c:443 +#, c-format +msgid "" +"About to generate a new %s keypair.\n" +" minimum keysize is 768 bits\n" +" default keysize is 1024 bits\n" +" highest suggested keysize is 2048 bits\n" +msgstr "" +"Prestes a gerar um novo par de chaves %s.\n" +" tamanho mínimo é 768 bits\n" +" tamanho por omissão é 1024 bits\n" +" tamanho máximo sugerido é 2048 bits\n" + +#: g10/keygen.c:450 +msgid "What keysize do you want? (1024) " +msgstr "Qual o tamanho de chave desejado? (1024) " + +#: g10/keygen.c:455 +msgid "DSA only allows keysizes from 512 to 1024\n" +msgstr "DSA permite apenas tamanhos de 512 a 1024\n" + +#: g10/keygen.c:457 +msgid "keysize too small; 768 is smallest value allowed.\n" +msgstr "tamanho muito pequeno; 768 é o valor mínimo permitido.\n" + +#. It is ridiculous and an annoyance to use larger key sizes! +#. * GnuPG can handle much larger sizes; but it takes an eternity +#. * to create such a key (but less than the time the Sirius +#. * Computer Corporation needs to process one of the usual +#. * complaints) and {de,en}cryption although needs some time. +#. * So, before you complain about this limitation, I suggest that +#. * you start a discussion with Marvin about this theme and then +#. * do whatever you want. +#: g10/keygen.c:467 +#, c-format +msgid "keysize too large; %d is largest value allowed.\n" +msgstr "tamanho muito grande; %d é o valor máximo permitido.\n" + +#: g10/keygen.c:472 +msgid "" +"Keysizes larger than 2048 are not suggested because\n" +"computations take REALLY long!\n" +msgstr "" +"Tamanhos de chave maiores que 2048 não são recomendados\n" +"porque o tempo de computação é REALMENTE longo!\n" + +#: g10/keygen.c:475 +msgid "Are you sure that you want this keysize? " +msgstr "Você tem certeza de que quer este tamanho de chave? " + +#: g10/keygen.c:476 +msgid "" +"Okay, but keep in mind that your monitor and keyboard radiation is also very " +"vulnerable to attacks!\n" +msgstr "" +"Tudo bem, mas não se esqueça que a radiação do seu monitor e teclado também " +"é extremamente vulnerável a ataques!\n" + +#: g10/keygen.c:484 +msgid "Do you really need such a large keysize? " +msgstr "Você precisa realmente de uma chave tão grande? " + +#: g10/keygen.c:490 +#, c-format +msgid "Requested keysize is %u bits\n" +msgstr "O tamanho de chave pedido é %u bits\n" + +#: g10/keygen.c:493 g10/keygen.c:497 +#, c-format +msgid "rounded up to %u bits\n" +msgstr "arredondado para %u bits\n" + +#: g10/keygen.c:510 +msgid "" +"Please specify how long the key should be valid.\n" +" 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\n" +msgstr "" +"Por favor especifique por quanto tempo a chave deve ser válida.\n" +" 0 = chave não expira\n" +" = chave expira em n dias\n" +" w = chave expira em n semanas\n" +" m = chave expira em n meses\n" +" y = chave expira em n anos\n" + +#: g10/keygen.c:527 +msgid "Key is valid for? (0) " +msgstr "A chave é valida por? (0) " + +#: g10/keygen.c:548 +msgid "invalid value\n" +msgstr "valor inválido\n" + +#: g10/keygen.c:553 +msgid "Key does not expire at all\n" +msgstr "A chave não expira nunca\n" + +#. print the date when the key expires +#: g10/keygen.c:559 +#, c-format +msgid "Key expires at %s\n" +msgstr "A chave expira em %s\n" + +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" +"O seu sistema não consegue mostrar datas para além de 2038.\n" +"No entanto, estas vão ser tratadas correctamente até 2106.\n" + +#: g10/keygen.c:567 +msgid "Is this correct (y/n)? " +msgstr "Está correto (s/n)? " + +#: g10/keygen.c:610 +msgid "" +"\n" +"You need a User-ID to identify your key; the software constructs the user " +"id\n" +"from Real Name, Comment and Email Address in this form:\n" +" \"Heinrich Heine (Der Dichter) \"\n" +"\n" +msgstr "" +"\n" +"Você precisa de um identificador de utilizador 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" + +#: g10/keygen.c:621 +msgid "Real name: " +msgstr "Nome completo: " + +#: g10/keygen.c:625 +msgid "Invalid character in name\n" +msgstr "Caracter inválido no nome\n" + +#: g10/keygen.c:627 +msgid "Name may not start with a digit\n" +msgstr "O nome não pode começar com um dígito\n" + +#: g10/keygen.c:629 +msgid "Name must be at least 5 characters long\n" +msgstr "O nome deve ter pelo menos 5 caracteres\n" + +#: g10/keygen.c:637 +msgid "Email address: " +msgstr "Endereço de correio eletrónico: " + +#: g10/keygen.c:648 +msgid "Not a valid email address\n" +msgstr "Endereço eletrónico inválido\n" + +#: g10/keygen.c:656 +msgid "Comment: " +msgstr "Comentário: " + +#: g10/keygen.c:662 +msgid "Invalid character in comment\n" +msgstr "Caracter inválido no comentário\n" + +#: g10/keygen.c:684 +#, c-format +msgid "You are using the `%s' character set.\n" +msgstr "Você está usando o conjunto de caracteres `%s'.\n" + +#: g10/keygen.c:690 +#, c-format +msgid "" +"You selected this USER-ID:\n" +" \"%s\"\n" +"\n" +msgstr "" +"Você selecionou este identificador de utilizador:\n" +" \"%s\"\n" +"\n" + +#: g10/keygen.c:693 +msgid "NnCcEeOoQq" +msgstr "NnCcEeOoSs" + +#: g10/keygen.c:703 +msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " +msgstr "Mudar (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? " + +#: g10/keygen.c:755 +msgid "" +"You need a Passphrase to protect your secret key.\n" +"\n" +msgstr "" +"Você precisa de uma frase secreta para proteger a sua chave.\n" +"\n" + +#: g10/keyedit.c:456 g10/keygen.c:763 +msgid "passphrase not correctly repeated; try again.\n" +msgstr "a frase secreta não foi repetida corretamente; tente outra vez.\n" + +#: g10/keygen.c:769 +msgid "" +"You don't want a passphrase - this is probably a *bad* idea!\n" +"I will do it anyway. You can change your passphrase at any time,\n" +"using this program with the option \"--edit-key\".\n" +"\n" +msgstr "" +"Você não quer uma frase secreta - provavelmente isto é uma *má* idéia!\n" +"Vou continuar assim mesmo. Você pode mudar sua frase secreta a\n" +"qualquer hora, usando este programa com a opção \"--edit-key\".\n" +"\n" + +#: g10/keygen.c:790 +msgid "" +"We need to generate a lot of random bytes. It is a good idea to perform\n" +"some other action (type on the keyboard, move the mouse, utilize the\n" +"disks) during the prime generation; this gives the random number\n" +"generator a better chance to gain enough entropy.\n" +msgstr "" +"Precisamos gerar muitos bytes aleatórios. É uma boa ideia realizar outra\n" +"actividade (escrever no teclado, mover o rato, usar os discos) durante a\n" +"geração dos números primos; isso dá ao gerador de números aleatórios\n" +"uma hipótese maior de ganhar entropia suficiente.\n" + +#: g10/keygen.c:860 +msgid "Key generation can only be used in interactive mode\n" +msgstr "A geração de chaves só pode ser feita em modo interactivo\n" + +#: g10/keygen.c:868 +msgid "DSA keypair will have 1024 bits.\n" +msgstr "O par de chaves DSA terá 1024 bits.\n" + +#: g10/keygen.c:874 +msgid "Key generation canceled.\n" +msgstr "Geração de chave cancelada.\n" + +#: g10/keygen.c:884 +#, c-format +msgid "writing public certificate to `%s'\n" +msgstr "escrevendo certificado público para `%s'\n" + +#: g10/keygen.c:885 +#, c-format +msgid "writing secret certificate to `%s'\n" +msgstr "escrevendo certificado privado para `%s'\n" + +#: g10/keygen.c:962 +msgid "public and secret key created and signed.\n" +msgstr "chaves pública e privada criadas e assinadas.\n" + +#: g10/keygen.c:964 +msgid "" +"Note that this key cannot be used for encryption. You may want to use\n" +"the command \"--edit-key\" to generate a secondary key for this purpose.\n" +msgstr "" +"Note que esta chave não pode ser usada para encriptação. Você pode usar\n" +"o comando \"--edit-key\" para gerar uma chave secundária para esse fim.\n" + +#: g10/keygen.c:978 g10/keygen.c:1077 +#, c-format +msgid "Key generation failed: %s\n" +msgstr "A geração de chaves falhou: %s\n" + +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 +#, c-format +msgid "" +"key has been created %lu second in future (time warp or clock problem)\n" +msgstr "" +"a chave foi criada %lu segundo no futuro\n" +"(viagem no tempo ou problema no relógio)\n" + +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 +#, c-format +msgid "" +"key has been created %lu seconds in future (time warp or clock problem)\n" +msgstr "" +"a chave foi criada %lu segundos no futuro\n" +"(viagem no tempo ou problema no relógio)\n" + +#: g10/keygen.c:1055 +msgid "Really create? " +msgstr "Realmente criar? " + +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 +#, c-format +msgid "%s: can't open: %s\n" +msgstr "%s: impossível abrir: %s\n" + +#: g10/encode.c:113 +#, c-format +msgid "error creating passphrase: %s\n" +msgstr "erro na criação da frase secreta: %s\n" + +#: g10/encode.c:171 g10/encode.c:319 +#, c-format +msgid "%s: WARNING: empty file\n" +msgstr "%s: AVISO: ficheiro vazio\n" + +#: g10/encode.c:266 +#, c-format +msgid "reading from `%s'\n" +msgstr "lendo de `%s'\n" + +#: g10/encode.c:483 +#, c-format +msgid "%s/%s encrypted for: %s\n" +msgstr "%s/%s encriptado para: %s\n" + +#: g10/export.c:147 +#, c-format +msgid "%s: user not found: %s\n" +msgstr "%s: utilizador não encontrado: %s\n" + +#: g10/export.c:156 +#, c-format +msgid "certificate read problem: %s\n" +msgstr "erro de leitura do certificado: %s\n" + +#: g10/export.c:165 +#, c-format +msgid "key %08lX: not a rfc2440 key - skipped\n" +msgstr "chave %08lX: não é uma chave rfc2440 - ignorada\n" + +#: g10/export.c:203 +msgid "WARNING: nothing exported\n" +msgstr "AVISO: nada exportado\n" + +#: g10/getkey.c:206 +msgid "too many entries in pk cache - disabled\n" +msgstr "entradas demais no cache pk - desactivado\n" + +#: g10/getkey.c:345 +msgid "too many entries in unk cache - disabled\n" +msgstr "entradas demais no cache unk - desactivado\n" + +#: g10/getkey.c:1294 g10/getkey.c:1333 +msgid "RSA key cannot be used in this version\n" +msgstr "chave RSA não pode ser usada nesta versão\n" + +#: g10/getkey.c:1296 g10/getkey.c:1335 +msgid "No key for user ID\n" +msgstr "Nenhuma chave para identificador de utilizador\n" + +#: g10/getkey.c:1374 g10/getkey.c:1414 +msgid "No user ID for key\n" +msgstr "Nenhum identificador de utilizador para chave\n" + +#: g10/getkey.c:1570 g10/getkey.c:1626 +#, c-format +msgid "using secondary key %08lX instead of primary key %08lX\n" +msgstr "usando chave secundária %08lX ao invés de chave primária %08lX\n" + +#: g10/import.c:124 +#, c-format +msgid "can't open `%s': %s\n" +msgstr "impossível abrir `%s': %s\n" + +#: g10/import.c:178 +#, c-format +msgid "skipping block of type %d\n" +msgstr "ignorando bloco do tipo %d\n" + +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 +#, c-format +msgid "%lu keys so far processed\n" +msgstr "%lu chaves processadas até agora\n" + +#: g10/import.c:190 +#, c-format +msgid "error reading `%s': %s\n" +msgstr "erro na leitura de `%s': %s\n" + +#: g10/import.c:200 +#, c-format +msgid "Total number processed: %lu\n" +msgstr "Número total processado: %lu\n" + +#: g10/import.c:202 +#, c-format +msgid " w/o user IDs: %lu\n" +msgstr " sem IDs de utilizadores: %lu\n" + +#: g10/import.c:204 +#, c-format +msgid " imported: %lu" +msgstr " importados: %lu" + +#: g10/import.c:210 +#, c-format +msgid " unchanged: %lu\n" +msgstr " não modificados: %lu\n" + +#: g10/import.c:212 +#, c-format +msgid " new user IDs: %lu\n" +msgstr " novos IDs de utilizadores: %lu\n" + +#: g10/import.c:214 +#, c-format +msgid " new subkeys: %lu\n" +msgstr " novas subchaves: %lu\n" + +#: g10/import.c:216 +#, c-format +msgid " new signatures: %lu\n" +msgstr " novas assinaturas: %lu\n" + +#: g10/import.c:218 +#, c-format +msgid " new key revocations: %lu\n" +msgstr " novas revogações de chaves: %lu\n" + +#: g10/import.c:220 +#, c-format +msgid " secret keys read: %lu\n" +msgstr " chaves secretas lidas: %lu\n" + +#: g10/import.c:222 +#, c-format +msgid " secret keys imported: %lu\n" +msgstr " chaves secretas importadas: %lu\n" + +#: g10/import.c:224 +#, c-format +msgid " secret keys unchanged: %lu\n" +msgstr " chaves secretas não modificadas: %lu\n" + +#: g10/import.c:383 g10/import.c:575 +#, c-format +msgid "key %08lX: no user ID\n" +msgstr "chave %08lX: sem ID de utilizador\n" + +#: g10/import.c:397 +#, c-format +msgid "key %08lX: no valid user IDs\n" +msgstr "chave %08lX: sem IDs de utilizadores válidos\n" + +#: g10/import.c:399 +msgid "this may be caused by a missing self-signature\n" +msgstr "isto pode ser causado por falta de auto-assinatura\n" + +#: g10/import.c:410 g10/import.c:642 +#, c-format +msgid "key %08lX: public key not found: %s\n" +msgstr "chave %08lX: chave pública não encontrada: %s\n" + +#: g10/import.c:416 +msgid "no default public keyring\n" +msgstr "sem porta-chaves público padrão\n" + +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 +#, c-format +msgid "writing to `%s'\n" +msgstr "a escrever para `%s'\n" + +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 +#, c-format +msgid "can't lock keyring `%s': %s\n" +msgstr "impossível trancar porta-chaves `%s': %s\n" + +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 +#, c-format +msgid "error writing keyring `%s': %s\n" +msgstr "erro na escrita do porta-chaves `%s': %s\n" + +#: g10/import.c:431 +#, c-format +msgid "key %08lX: public key imported\n" +msgstr "chave %08lX: chave pública importada\n" + +#: g10/import.c:448 +#, c-format +msgid "key %08lX: doesn't match our copy\n" +msgstr "chave %08lX: não corresponde à nossa cópia\n" + +#: g10/import.c:457 g10/import.c:650 +#, c-format +msgid "key %08lX: can't locate original keyblock: %s\n" +msgstr "chave %08lX: impossível localizar bloco de chaves original: %s\n" + +#: g10/import.c:463 g10/import.c:656 +#, c-format +msgid "key %08lX: can't read original keyblock: %s\n" +msgstr "chave %08lX: impossível ler bloco de chaves original: %s\n" + +#: g10/import.c:490 +#, c-format +msgid "key %08lX: 1 new user ID\n" +msgstr "chave %8lX: 1 novo ID de utilizador\n" + +#: g10/import.c:493 +#, c-format +msgid "key %08lX: %d new user IDs\n" +msgstr "chave %08lX: %d novos IDs de utilizadores\n" + +#: g10/import.c:496 +#, c-format +msgid "key %08lX: 1 new signature\n" +msgstr "chave %08lX: 1 nova assinatura\n" + +#: g10/import.c:499 +#, c-format +msgid "key %08lX: %d new signatures\n" +msgstr "chave %08lX: %d novas assinaturas\n" + +#: g10/import.c:502 +#, c-format +msgid "key %08lX: 1 new subkey\n" +msgstr "chave %08lX: 1 nova subchave\n" + +#: g10/import.c:505 +#, c-format +msgid "key %08lX: %d new subkeys\n" +msgstr "chave %08lX: %d novas subchaves\n" + +#: g10/import.c:515 +#, c-format +msgid "key %08lX: not changed\n" +msgstr "chave %08lX: não modificada\n" + +#: g10/import.c:598 +#, c-format +msgid "key %08lX: secret key imported\n" +msgstr "chave %08lX: chave secreta importada\n" + +#. we can't merge secret keys +#: g10/import.c:602 +#, c-format +msgid "key %08lX: already in secret keyring\n" +msgstr "chave %08lX: já está no porta-chaves secreto\n" + +#: g10/import.c:607 +#, c-format +msgid "key %08lX: secret key not found: %s\n" +msgstr "chave %08lX: chave secreta não encontrada: %s\n" + +#: g10/import.c:636 +#, c-format +msgid "key %08lX: no public key - can't apply revocation certificate\n" +msgstr "" +"chave %08lX: sem chave pública - impossível aplicar certificado\n" +"de revogação\n" + +#: g10/import.c:667 +#, c-format +msgid "key %08lX: invalid revocation certificate: %s - rejected\n" +msgstr "chave %08lX: certificado de revogação inválido: %s - rejeitado\n" + +#: g10/import.c:699 +#, c-format +msgid "key %08lX: revocation certificate imported\n" +msgstr "chave %08lX: certificado de revogação importado\n" + +#: g10/import.c:741 +#, c-format +msgid "key %08lX: no user ID for signature\n" +msgstr "chave %08lX: nenhum ID de utilizador para assinatura\n" + +#: g10/import.c:748 g10/import.c:772 +#, c-format +msgid "key %08lX: unsupported public key algorithm\n" +msgstr "chave %08lX: algoritmo de chave pública não suportado\n" + +#: g10/import.c:749 +#, c-format +msgid "key %08lX: invalid self-signature\n" +msgstr "chave %08lX: auto-assinatura inválida\n" + +#: g10/import.c:764 +#, c-format +msgid "key %08lX: no subkey for key binding\n" +msgstr "chave %08lX: sem subchave para ligação de chaves\n" + +#: g10/import.c:773 +#, c-format +msgid "key %08lX: invalid subkey binding\n" +msgstr "chave %08lX: ligação de subchave inválida\n" + +#: g10/import.c:800 +#, c-format +msgid "key %08lX: accepted non self-signed user ID '" +msgstr "chave %08lX: aceite ID de utilizador sem auto-assinatura '" + +#: g10/import.c:829 +#, c-format +msgid "key %08lX: skipped user ID '" +msgstr "chave %08lX: ignorado ID de utilizador '" + +#: g10/import.c:852 +#, c-format +msgid "key %08lX: skipped subkey\n" +msgstr "chave %08lX: subchave ignorada\n" + +#. here we violate the rfc a bit by still allowing +#. * to import non-exportable signature when we have the +#. * the secret key used to create this signature - it +#. * seems that this makes sense +#: g10/import.c:877 +#, c-format +msgid "key %08lX: non exportable signature (class %02x) - skipped\n" +msgstr "chave %08lX: assinatura não exportável (classe %02x) - ignorada\n" + +#: g10/import.c:886 +#, c-format +msgid "key %08lX: revocation certificate at wrong place - skipped\n" +msgstr "chave %08lX: certificado de revogação no local errado - ignorado\n" + +#: g10/import.c:894 +#, c-format +msgid "key %08lX: invalid revocation certificate: %s - skipped\n" +msgstr "chave %08lX: certificado de revogação inválido: %s - ignorado\n" + +#: g10/import.c:994 +#, c-format +msgid "key %08lX: duplicated user ID detected - merged\n" +msgstr "chave %08lX: detectado ID de utilizador duplicado - fundido\n" + +#: g10/import.c:1045 +#, c-format +msgid "key %08lX: revocation certificate added\n" +msgstr "chave %08lX: certificado de revogação adicionado\n" + +#: g10/import.c:1159 g10/import.c:1212 +#, c-format +msgid "key %08lX: our copy has no self-signature\n" +msgstr "chave %08lX: a nossa cópia não tem auto-assinatura\n" + +#: g10/delkey.c:64 g10/keyedit.c:93 +#, c-format +msgid "%s: user not found\n" +msgstr "%s: utilizador não encontrado\n" + +#: g10/keyedit.c:154 +msgid "[revocation]" +msgstr "[revogação]" + +#: g10/keyedit.c:155 +msgid "[self-signature]" +msgstr "[auto-assinatura]" + +#: g10/keyedit.c:219 +msgid "1 bad signature\n" +msgstr "1 assinatura incorrecta\n" + +#: g10/keyedit.c:221 +#, c-format +msgid "%d bad signatures\n" +msgstr "%d assinaturas incorrectas\n" + +#: g10/keyedit.c:223 +msgid "1 signature not checked due to a missing key\n" +msgstr "1 assinatura não verificada por falta de chave\n" + +#: g10/keyedit.c:225 +#, c-format +msgid "%d signatures not checked due to missing keys\n" +msgstr "%d assinaturas não verificadas por falta de chaves\n" + +#: g10/keyedit.c:227 +msgid "1 signature not checked due to an error\n" +msgstr "1 assinatura não verificada devido a um erro\n" + +#: g10/keyedit.c:229 +#, c-format +msgid "%d signatures not checked due to errors\n" +msgstr "%d assinaturas não verificadas devido a erros\n" + +#: g10/keyedit.c:231 +msgid "1 user ID without valid self-signature detected\n" +msgstr "1 ID de utilizador sem auto-assinatura válida detectado\n" + +#: g10/keyedit.c:233 +#, c-format +msgid "%d user IDs without valid self-signatures detected\n" +msgstr "%d IDs de utilizadores sem auto-assinaturas válidas detectados\n" + +#. Fixme: see whether there is a revocation in which +#. * case we should allow to sign it again. +#: g10/keyedit.c:313 +#, c-format +msgid "Already signed by key %08lX\n" +msgstr "Já assinado pela chave %08lX\n" + +#: g10/keyedit.c:321 +#, c-format +msgid "Nothing to sign with key %08lX\n" +msgstr "Nada para assinar com a chave %08lX\n" + +#: g10/keyedit.c:330 +msgid "" +"Are you really sure that you want to sign this key\n" +"with your key: \"" +msgstr "" +"Você tem certeza de que quer assinar esta chave com\n" +"a sua chave: \"" + +#: g10/keyedit.c:339 +msgid "" +"The signature will be marked as non-exportable.\n" +"\n" +msgstr "" +"A assinatura será marcada como não-exportável.\n" +"\n" + +#: g10/keyedit.c:344 +msgid "Really sign? " +msgstr "Realmente assinar? " + +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 +#, c-format +msgid "signing failed: %s\n" +msgstr "assinatura falhou: %s\n" + +#: g10/keyedit.c:423 +msgid "This key is not protected.\n" +msgstr "Esta chave não é protegida.\n" + +#: g10/keyedit.c:426 +msgid "Key is protected.\n" +msgstr "A chave é protegida.\n" + +#: g10/keyedit.c:443 +#, c-format +msgid "Can't edit this key: %s\n" +msgstr "Impossível editar esta chave: %s\n" + +#: g10/keyedit.c:448 +msgid "" +"Enter the new passphrase for this secret key.\n" +"\n" +msgstr "" +"Digite a nova frase para esta chave secreta.\n" +"\n" + +#: g10/keyedit.c:460 +msgid "" +"You don't want a passphrase - this is probably a *bad* idea!\n" +"\n" +msgstr "" +"Você não quer uma frase secreta - provavelmente isto é uma *má* idéia!\n" +"\n" + +#: g10/keyedit.c:463 +msgid "Do you really want to do this? " +msgstr "Você quer realmente fazer isso? " + +#: g10/keyedit.c:524 +msgid "moving a key signature to the correct place\n" +msgstr "a mover a assinatura da chave para o local correcto\n" + +#: g10/keyedit.c:564 +msgid "quit this menu" +msgstr "sair deste menu" + +#: g10/keyedit.c:565 +msgid "q" +msgstr "q" + +#: g10/keyedit.c:566 +msgid "save" +msgstr "save" + +#: g10/keyedit.c:566 +msgid "save and quit" +msgstr "gravar e sair" + +#: g10/keyedit.c:567 +msgid "help" +msgstr "help" + +#: g10/keyedit.c:567 +msgid "show this help" +msgstr "mostra esta ajuda" + +#: g10/keyedit.c:569 +msgid "fpr" +msgstr "fpr" + +#: g10/keyedit.c:569 +msgid "show fingerprint" +msgstr "mostra impressão digital" + +#: g10/keyedit.c:570 +msgid "list" +msgstr "list" + +#: g10/keyedit.c:570 +msgid "list key and user IDs" +msgstr "lista chave e identificadores de utilizadores" + +#: g10/keyedit.c:571 +msgid "l" +msgstr "l" + +#: g10/keyedit.c:572 +msgid "uid" +msgstr "uid" + +#: g10/keyedit.c:572 +msgid "select user ID N" +msgstr "seleciona ID de utilizador N" + +#: g10/keyedit.c:573 +msgid "key" +msgstr "key" + +#: g10/keyedit.c:573 +msgid "select secondary key N" +msgstr "seleciona chave secundária N" + +#: g10/keyedit.c:574 +msgid "check" +msgstr "check" + +#: g10/keyedit.c:574 +msgid "list signatures" +msgstr "lista assinaturas" + +#: g10/keyedit.c:575 +msgid "c" +msgstr "c" + +#: g10/keyedit.c:576 +msgid "sign" +msgstr "sign" + +#: g10/keyedit.c:576 +msgid "sign the key" +msgstr "assina a chave" + +#: g10/keyedit.c:577 +msgid "s" +msgstr "s" + +#: g10/keyedit.c:578 +msgid "lsign" +msgstr "lsign" + +#: g10/keyedit.c:578 +msgid "sign the key locally" +msgstr "assina a chave localmente" + +#: g10/keyedit.c:579 +msgid "debug" +msgstr "debug" + +#: g10/keyedit.c:580 +msgid "adduid" +msgstr "adduid" + +#: g10/keyedit.c:580 +msgid "add a user ID" +msgstr "adiciona um novo ID de utilizador" + +#: g10/keyedit.c:581 +msgid "deluid" +msgstr "deluid" + +#: g10/keyedit.c:581 +msgid "delete user ID" +msgstr "remove ID de utilizador" + +#: g10/keyedit.c:582 +msgid "addkey" +msgstr "addkey" + +#: g10/keyedit.c:582 +msgid "add a secondary key" +msgstr "adiciona nova chave secundária" + +#: g10/keyedit.c:583 +msgid "delkey" +msgstr "delkey" + +#: g10/keyedit.c:583 +msgid "delete a secondary key" +msgstr "remove uma chave secundária" + +#: g10/keyedit.c:584 +msgid "delsig" +msgstr "delsig" + +#: g10/keyedit.c:584 +msgid "delete signatures" +msgstr "remove assinaturas" + +#: g10/keyedit.c:585 +msgid "expire" +msgstr "expire" + +#: g10/keyedit.c:585 +msgid "change the expire date" +msgstr "muda a data de validade" + +#: g10/keyedit.c:586 +msgid "toggle" +msgstr "toggle" + +#: 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 +msgid "t" +msgstr "t" + +#: g10/keyedit.c:589 +msgid "pref" +msgstr "pref" + +#: g10/keyedit.c:589 +msgid "list preferences" +msgstr "lista preferências" + +#: g10/keyedit.c:590 +msgid "passwd" +msgstr "passwd" + +#: g10/keyedit.c:590 +msgid "change the passphrase" +msgstr "muda a frase secreta" + +#: g10/keyedit.c:591 +msgid "trust" +msgstr "trust" + +#: g10/keyedit.c:591 +msgid "change the ownertrust" +msgstr "muda os valores de confiança" + +#: g10/keyedit.c:592 +msgid "revsig" +msgstr "revsig" + +#: g10/keyedit.c:592 +msgid "revoke signatures" +msgstr "revoga assinaturas" + +#: g10/keyedit.c:593 +msgid "revkey" +msgstr "revkey" + +#: g10/keyedit.c:593 +msgid "revoke a secondary key" +msgstr "revoga uma chave secundária" + +#: g10/keyedit.c:594 +msgid "disable" +msgstr "disable" + +#: g10/keyedit.c:594 +msgid "disable a key" +msgstr "desactiva uma chave" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "enable" + +#: g10/keyedit.c:595 +msgid "enable a key" +msgstr "activa uma chave" + +#: 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" + +#. check that they match +#. fixme: check that they both match +#: g10/keyedit.c:652 +msgid "Secret key is available.\n" +msgstr "Chave secreta disponível.\n" + +#: g10/keyedit.c:681 +msgid "Command> " +msgstr "Comando> " + +#: g10/keyedit.c:711 +msgid "Need the secret key to do this.\n" +msgstr "A chave secreta é necessária para fazer isto.\n" + +#: g10/keyedit.c:758 +msgid "Really sign all user IDs? " +msgstr "Realmente assinar todos os IDs de utilizador? " + +#: g10/keyedit.c:759 +msgid "Hint: Select the user IDs to sign\n" +msgstr "Sugestão: Selecione os IDs de utilizador para assinar\n" + +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "actualização da base de dados de confiança falhou: %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 +msgid "You must select at least one user ID.\n" +msgstr "Você precisa selecionar pelo menos um ID de utilizador.\n" + +#: g10/keyedit.c:799 +msgid "You can't delete the last user ID!\n" +msgstr "Você não pode remover o último ID de utilizador!\n" + +#: g10/keyedit.c:802 +msgid "Really remove all selected user IDs? " +msgstr "Realmente remover todos os IDs de utilizador seleccionados? " + +#: g10/keyedit.c:803 +msgid "Really remove this user ID? " +msgstr "Realmente remover este ID de utilizador? " + +#: g10/keyedit.c:839 g10/keyedit.c:861 +msgid "You must select at least one key.\n" +msgstr "Você deve selecionar pelo menos uma chave.\n" + +#: g10/keyedit.c:843 +msgid "Do you really want to delete the selected keys? " +msgstr "Você quer realmente remover as chaves selecionadas? " + +#: g10/keyedit.c:844 +msgid "Do you really want to delete this key? " +msgstr "Você quer realmente remover esta chave? " + +#: g10/keyedit.c:865 +msgid "Do you really want to revoke the selected keys? " +msgstr "Você quer realmente revogar as chaves selecionadas? " + +#: g10/keyedit.c:866 +msgid "Do you really want to revoke this key? " +msgstr "Você quer realmente revogar esta chave? " + +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "Gravar alterações? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "Sair sem gravar? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "actualização falhou: %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "actualização da chave secreta falhou: %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "Chave não alterada, nenhuma actualização é necessária.\n" + +# help ou ajuda ??? +#: g10/keyedit.c:975 +msgid "Invalid command (try \"help\")\n" +msgstr "Comando inválido (tente \"help\")\n" + +#: g10/keyedit.c:1068 +msgid "This key has been disabled" +msgstr "Esta chave foi desactivada" + +#: g10/keyedit.c:1339 +msgid "Delete this good signature? (y/N/q)" +msgstr "Apagar esta assinatura válida? (s/N/q)" + +#: g10/keyedit.c:1343 +msgid "Delete this invalid signature? (y/N/q)" +msgstr "Apagar esta assinatura inválida? (s/N/q)" + +#: g10/keyedit.c:1347 +msgid "Delete this unknown signature? (y/N/q)" +msgstr "Apagar esta assinatura desconhecida? (s/N/q)" + +#: g10/keyedit.c:1353 +msgid "Really delete this self-signature? (y/N)" +msgstr "Realmente remover esta auto-assinatura? (s/N)" + +#: g10/keyedit.c:1367 +#, c-format +msgid "Deleted %d signature.\n" +msgstr "%d assinatura removida.\n" + +#: g10/keyedit.c:1368 +#, c-format +msgid "Deleted %d signatures.\n" +msgstr "%d assinaturas removidas.\n" + +#: g10/keyedit.c:1371 +msgid "Nothing deleted.\n" +msgstr "Nada removido.\n" + +#: g10/keyedit.c:1440 +msgid "Please remove selections from the secret keys.\n" +msgstr "Por favor remova as selecções das chaves secretas.\n" + +#: g10/keyedit.c:1446 +msgid "Please select at most one secondary key.\n" +msgstr "Por favor seleccione no máximo uma chave secundária.\n" + +#: g10/keyedit.c:1450 +msgid "Changing expiration time for a secondary key.\n" +msgstr "A modificar a data de validade para uma chave secundária.\n" + +#: g10/keyedit.c:1452 +msgid "Changing expiration time for the primary key.\n" +msgstr "Modificar a data de validade para uma chave primária.\n" + +#: g10/keyedit.c:1493 +msgid "You can't change the expiration date of a v3 key\n" +msgstr "Você não pode modificar a data de validade de uma chave v3\n" + +#: g10/keyedit.c:1509 +msgid "No corresponding signature in secret ring\n" +msgstr "Nenhuma assinatura correspondente no porta-chaves secreto\n" + +#: g10/keyedit.c:1569 +#, c-format +msgid "No user ID with index %d\n" +msgstr "Nenhum ID de utilizador com índice %d\n" + +#: g10/keyedit.c:1615 +#, c-format +msgid "No secondary key with index %d\n" +msgstr "Nenhuma chave secundária com índice %d\n" + +#: g10/keyedit.c:1713 +msgid "user ID: \"" +msgstr "ID de utilizador: \"" + +#: g10/keyedit.c:1716 +#, c-format +msgid "" +"\"\n" +"signed with your key %08lX at %s\n" +msgstr "" +"\"\n" +"assinado com sua chave %08lX em %s\n" + +#: g10/keyedit.c:1720 +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:1743 +msgid "You have signed these user IDs:\n" +msgstr "Assinou estes identificadores de utilizadores:\n" + +#: g10/keyedit.c:1757 g10/keyedit.c:1792 +#, c-format +msgid " signed by %08lX at %s\n" +msgstr " assinado por %08lX em %s\n" + +#: g10/keyedit.c:1762 +#, c-format +msgid " revoked by %08lX at %s\n" +msgstr " revogado por %08lX em %s\n" + +#: g10/keyedit.c:1782 +msgid "You are about to revoke these signatures:\n" +msgstr "Está prestes a revogar estas assinaturas:\n" + +#: g10/keyedit.c:1800 +msgid "Really create the revocation certificates? (y/N)" +msgstr "Realmente gerar os certificados de revogação? (s/N)" + +#: g10/keyedit.c:1823 +msgid "no secret key\n" +msgstr "nenhuma chave secreta\n" + +#: g10/mainproc.c:213 +#, c-format +msgid "public key is %08lX\n" +msgstr "a chave pública é %08lX\n" + +#: g10/mainproc.c:244 +msgid "public key encrypted data: good DEK\n" +msgstr "dados encriptados com chave pública: DEK válido\n" + +#: g10/mainproc.c:277 +#, c-format +msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" +msgstr "encriptado com chave %u-bit %s, ID %08lX, criada em %s\n" + +#: g10/mainproc.c:287 +#, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "encriptado com chave %s, ID %08lX\n" + +#: g10/mainproc.c:293 +msgid "no secret key for decryption available\n" +msgstr "nenhuma chave secreta para desencriptação disponível\n" + +#: g10/mainproc.c:302 +#, c-format +msgid "public key decryption failed: %s\n" +msgstr "desencriptação de chave pública falhou: %s\n" + +#: g10/mainproc.c:334 +msgid "decryption okay\n" +msgstr "desencriptação correcta\n" + +#: g10/mainproc.c:339 +msgid "WARNING: encrypted message has been manipulated!\n" +msgstr "CUIDADO: a mensagem encriptada foi manipulada!\n" + +#: g10/mainproc.c:344 +#, c-format +msgid "decryption failed: %s\n" +msgstr "desencriptação falhou: %s\n" + +#: g10/mainproc.c:362 +msgid "NOTE: sender requested \"for-your-eyes-only\"\n" +msgstr "NOTA: o remetente solicitou \"apenas-para-seus-olhos\"\n" + +#: g10/mainproc.c:364 +#, c-format +msgid "original file name='%.*s'\n" +msgstr "nome do ficheiro original='%.*s'\n" + +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "revocação solitária - utilize \"gpg --import\" para aplicar\n" + +#: g10/mainproc.c:598 g10/mainproc.c:607 +msgid "WARNING: invalid notation data found\n" +msgstr "AVISO: dados de notação inválidos encontrados\n" + +#: g10/mainproc.c:610 +msgid "Notation: " +msgstr "Notação: " + +#: g10/mainproc.c:617 +msgid "Policy: " +msgstr "Política: " + +#: g10/mainproc.c:1039 +msgid "signature verification suppressed\n" +msgstr "verificação de assinatura suprimida\n" + +#: g10/mainproc.c:1045 +#, c-format +msgid "Signature made %.*s using %s key ID %08lX\n" +msgstr "Assinatura feita em %.*s usando %s, ID da chave %08lX\n" + +#. just in case that we have no userid +#: g10/mainproc.c:1071 g10/mainproc.c:1082 +msgid "BAD signature from \"" +msgstr "Assinatura INCORRECTA de \"" + +#: g10/mainproc.c:1072 g10/mainproc.c:1083 +msgid "Good signature from \"" +msgstr "Assinatura correta de \"" + +#: g10/mainproc.c:1074 +msgid " aka \"" +msgstr " ou \"" + +#: g10/mainproc.c:1130 +#, c-format +msgid "Can't check signature: %s\n" +msgstr "Impossível verificar assinatura: %s\n" + +#: g10/mainproc.c:1191 +#, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "assinatura de classe 0x%02x\n" + +#: g10/mainproc.c:1230 +msgid "old style (PGP 2.x) signature\n" +msgstr "formato de assinatura antigo (PGP2.x)\n" + +#: g10/mainproc.c:1235 +msgid "invalid root packet detected in proc_tree()\n" +msgstr "pacote raiz inválido detectado em proc_tree()\n" + +#: g10/misc.c:94 +#, c-format +msgid "can't disable core dumps: %s\n" +msgstr "impossível desactivar core dumps: %s\n" + +#: g10/misc.c:97 +msgid "WARNING: program may create a core file!\n" +msgstr "AVISO: O programa pode criar um ficheiro core!\n" + +#: g10/misc.c:205 +msgid "Experimental algorithms should not be used!\n" +msgstr "Algoritmos experimentais não devem ser usados!\n" + +#: g10/misc.c:219 +msgid "" +"RSA keys are deprecated; please consider creating a new key and use this key " +"in the future\n" +msgstr "" +"Chaves RSA não são recomendáveis; por favor considere criar uma nova chave e " +"usá-la no futuro\n" + +#: g10/misc.c:241 +msgid "this cipher algorithm is depreciated; please use a more standard one!\n" +msgstr "" +"este algoritmo de criptografia não é recomendado;\n" +"por favor use um algoritmo mais standard!\n" + +#: g10/parse-packet.c:115 +#, c-format +msgid "can't handle public key algorithm %d\n" +msgstr "impossível manipular algoritmo de chave pública %d\n" + +#: g10/parse-packet.c:945 +#, c-format +msgid "subpacket of type %d has critical bit set\n" +msgstr "subpacote do tipo %d tem bit crítico ligado\n" + +#: g10/passphrase.c:159 +msgid "" +"\n" +"You need a passphrase to unlock the secret key for\n" +"user: \"" +msgstr "" +"\n" +"Você precisa de uma frase secreta para desbloquear a chave secreta do\n" +"utilizador: \"" + +#: g10/passphrase.c:168 +#, c-format +msgid "%u-bit %s key, ID %08lX, created %s" +msgstr "chave de %u-bit/%s, ID %08lX, criada em %s" + +#: g10/passphrase.c:173 +#, c-format +msgid " (main key ID %08lX)" +msgstr " (ID principal da chave %08lX)" + +#: g10/passphrase.c:190 +msgid "can't query password in batchmode\n" +msgstr "impossível pedir senha em modo não-interactivo\n" + +#: g10/passphrase.c:194 +msgid "Enter passphrase: " +msgstr "Digite a frase secreta: " + +#: g10/passphrase.c:198 +msgid "Repeat passphrase: " +msgstr "Repita a frase secreta: " + +#: g10/plaintext.c:63 +msgid "data not saved; use option \"--output\" to save it\n" +msgstr "dados não gravados; use a opção \"--output\" para gravá-los\n" + +#: g10/plaintext.c:311 +msgid "Detached signature.\n" +msgstr "Assinatura desacoplada.\n" + +#: g10/plaintext.c:315 +msgid "Please enter name of data file: " +msgstr "Por favor digite o nome do ficheiro de dados: " + +#: g10/plaintext.c:336 +msgid "reading stdin ...\n" +msgstr "lendo do \"stdin\" ...\n" + +#: g10/plaintext.c:379 +#, c-format +msgid "can't open signed data `%s'\n" +msgstr "impossível abrir dados assinados `%s'\n" + +#: g10/pubkey-enc.c:79 +#, c-format +msgid "anonymous receiver; trying secret key %08lX ...\n" +msgstr "destinatário anónimo; a tentar chave secreta %08lX ...\n" + +#: g10/pubkey-enc.c:85 +msgid "okay, we are the anonymous recipient.\n" +msgstr "certo, nós somos o destinatário anónimo.\n" + +#: g10/pubkey-enc.c:137 +msgid "old encoding of the DEK is not supported\n" +msgstr "codificação antiga do DEK não suportada\n" + +#: g10/pubkey-enc.c:191 +#, c-format +msgid "NOTE: cipher algorithm %d not found in preferences\n" +msgstr "NOTA: algoritmo de cifragem %d não encontrado nas preferências\n" + +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "importar chaves de um servidor" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "%s não é um conjunto de caracteres válido\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "impossível abrir `%s': %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "erro na leitura de `%s': %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + +#: g10/seckey-cert.c:55 +#, c-format +msgid "protection algorithm %d is not supported\n" +msgstr "algoritmo de protecção %d não é suportado\n" + +#: g10/seckey-cert.c:171 +msgid "Invalid passphrase; please try again ...\n" +msgstr "Frase secreta inválida; por favor tente novamente ...\n" + +#: g10/seckey-cert.c:227 +msgid "WARNING: Weak key detected - please change passphrase again.\n" +msgstr "" +"AVISO: Chave fraca detectada - por favor mude a frase secreta novamente.\n" + +#: g10/sig-check.c:199 +msgid "assuming bad MDC due to an unknown critical bit\n" +msgstr "assumindo MDC incorrecto devido a um bit crítico desconhecido\n" + +#: g10/sig-check.c:295 +msgid "" +"this is a PGP generated ElGamal key which is NOT secure for signatures!\n" +msgstr "" +"esta é uma chave ElGamal gerada pelo PGP que NÃO é segura para assinaturas!\n" + +#: g10/sig-check.c:303 +#, c-format +msgid "public key is %lu second newer than the signature\n" +msgstr "a chave pública é %lu segundo mais nova que a assinatura\n" + +#: g10/sig-check.c:304 +#, c-format +msgid "public key is %lu seconds newer than the signature\n" +msgstr "a chave pública é %lu segundos mais nova que a assinatura\n" + +#: g10/sig-check.c:320 +#, c-format +msgid "NOTE: signature key expired %s\n" +msgstr "NOTA: chave de assinatura expirou %s\n" + +#: g10/sig-check.c:377 +msgid "assuming bad signature due to an unknown critical bit\n" +msgstr "assumindo assinatura incorrecta devido a um bit crítico desconhecido\n" + +#: g10/sign.c:132 +#, c-format +msgid "%s signature from: %s\n" +msgstr "assinatura %s de: %s\n" + +#: g10/sign.c:263 g10/sign.c:575 +#, c-format +msgid "can't create %s: %s\n" +msgstr "impossível criar %s: %s\n" + +#: g10/sign.c:361 +msgid "signing:" +msgstr "a assinar:" + +#: g10/sign.c:404 +#, c-format +msgid "WARNING: `%s' is an empty file\n" +msgstr "AVISO: `%s' é um ficheiro vazio\n" + +#: g10/textfilter.c:128 +#, c-format +msgid "can't handle text lines longer than %d characters\n" +msgstr "impossível manipular linhas de texto maiores que %d caracteres\n" + +#: g10/textfilter.c:218 +#, c-format +msgid "input line longer than %d characters\n" +msgstr "linha de entrada maior que %d caracteres\n" + +#: g10/tdbio.c:116 g10/tdbio.c:1623 +#, c-format +msgid "trustdb rec %lu: lseek failed: %s\n" +msgstr "base de dados de confiança rec %lu: lseek falhou: %s\n" + +#: g10/tdbio.c:122 g10/tdbio.c:1630 +#, c-format +msgid "trustdb rec %lu: write failed (n=%d): %s\n" +msgstr "base de dados de confiança rec %lu: escrita falhou (n=%d): %s\n" + +#: g10/tdbio.c:232 +msgid "trustdb transaction too large\n" +msgstr "transação de base de dados de confiança muito grande\n" + +#: g10/tdbio.c:424 +#, c-format +msgid "%s: can't access: %s\n" +msgstr "%s: impossível aceder: %s\n" + +#: g10/tdbio.c:438 +#, c-format +msgid "%s: directory does not exist!\n" +msgstr "%s: diretoria inexistente!\n" + +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 +#, c-format +msgid "%s: can't create: %s\n" +msgstr "%s: impossível criar: %s\n" + +#: g10/tdbio.c:459 g10/tdbio.c:508 +#, c-format +msgid "%s: can't create lock\n" +msgstr "%s: impossível criar tranca\n" + +#: g10/tdbio.c:473 +#, c-format +msgid "%s: failed to create version record: %s" +msgstr "%s: falha ao criar registo de versão: %s" + +#: g10/tdbio.c:477 +#, c-format +msgid "%s: invalid trustdb created\n" +msgstr "%s: base de dados de confiança inválida criada\n" + +#: g10/tdbio.c:480 +#, c-format +msgid "%s: trustdb created\n" +msgstr "%s: base de dados de confiança criada\n" + +#: g10/tdbio.c:517 +#, c-format +msgid "%s: invalid trustdb\n" +msgstr "%s: base de dados de confiança inválida\n" + +#: g10/tdbio.c:550 +#, c-format +msgid "%s: failed to create hashtable: %s\n" +msgstr "%s: falha ao criar tabela de \"hash\": %s\n" + +#: g10/tdbio.c:558 +#, c-format +msgid "%s: error updating version record: %s\n" +msgstr "%s: erro a actualizar registo de versão: %s\n" + +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 +#, c-format +msgid "%s: error reading version record: %s\n" +msgstr "%s: erro ao ler registo de versão: %s\n" + +#: g10/tdbio.c:587 g10/tdbio.c:646 +#, c-format +msgid "%s: error writing version record: %s\n" +msgstr "%s: erro ao escrever registo de versão: %s\n" + +#: g10/tdbio.c:1235 +#, c-format +msgid "trustdb: lseek failed: %s\n" +msgstr "base de dados de confiança: lseek falhou: %s\n" + +#: g10/tdbio.c:1243 +#, c-format +msgid "trustdb: read failed (n=%d): %s\n" +msgstr "base de dados de confiança: leitura falhou (n=%d): %s\n" + +#: g10/tdbio.c:1264 +#, c-format +msgid "%s: not a trustdb file\n" +msgstr "%s: não é um base de dados de confiança\n" + +#: g10/tdbio.c:1280 +#, c-format +msgid "%s: version record with recnum %lu\n" +msgstr "%s: registo de versão com recnum %lu\n" + +#: g10/tdbio.c:1285 +#, c-format +msgid "%s: invalid file version %d\n" +msgstr "%s: versão de ficheiro inválida %d\n" + +#: g10/tdbio.c:1589 +#, c-format +msgid "%s: error reading free record: %s\n" +msgstr "%s: erro ao ler registo livre: %s\n" + +#: g10/tdbio.c:1597 +#, c-format +msgid "%s: error writing dir record: %s\n" +msgstr "%s: erro ao escrever registo de diretório: %s\n" + +#: g10/tdbio.c:1607 +#, c-format +msgid "%s: failed to zero a record: %s\n" +msgstr "%s: falha ao zerar um registo: %s\n" + +#: g10/tdbio.c:1637 +#, c-format +msgid "%s: failed to append a record: %s\n" +msgstr "%s: falha ao anexar um registo: %s\n" + +#: g10/tdbio.c:1748 +msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" +msgstr "" +"A base de dados de confiança está danificada; por favor execute\n" +"\"gpg --fix-trustdb\".\n" + +#: g10/trustdb.c:169 +#, c-format +msgid "trust record %lu, req type %d: read failed: %s\n" +msgstr "registo de confiança %lu, tipo req %d: falha na leitura: %s\n" + +#: g10/trustdb.c:184 +#, c-format +msgid "trust record %lu, type %d: write failed: %s\n" +msgstr "registo de confiança %lu, tipo %d: escrita falhou: %s\n" + +#: g10/trustdb.c:198 +#, c-format +msgid "trust record %lu: delete failed: %s\n" +msgstr "registo de confiança %lu: remoção falhou: %s\n" + +#: g10/trustdb.c:212 +#, c-format +msgid "trustdb: sync failed: %s\n" +msgstr "base de dados de confiança: sincronização falhou: %s\n" + +#: g10/trustdb.c:377 +#, c-format +msgid "error reading dir record for LID %lu: %s\n" +msgstr "erro lendo registo de directório para LID %lu: %s\n" + +#: g10/trustdb.c:384 +#, c-format +msgid "lid %lu: expected dir record, got type %d\n" +msgstr "lid %lu: registo de directório esperado, tipo %d recebido\n" + +#: g10/trustdb.c:389 +#, c-format +msgid "no primary key for LID %lu\n" +msgstr "nenhuma chave primária para LID %lu\n" + +#: g10/trustdb.c:394 +#, c-format +msgid "error reading primary key for LID %lu: %s\n" +msgstr "erro ao ler chave primária para LID %lu: %s\n" + +#: g10/trustdb.c:433 +#, c-format +msgid "get_dir_record: search_record failed: %s\n" +msgstr "get_dir_record: search_record falhou: %s\n" + +#: g10/trustdb.c:488 +#, c-format +msgid "NOTE: secret key %08lX is NOT protected.\n" +msgstr "NOTA: a chave secreta %08lX NÃO está protegida.\n" + +#: g10/trustdb.c:496 +#, c-format +msgid "key %08lX: secret key without public key - skipped\n" +msgstr "chave %08lX: chave secreta sem chave pública - ignorada\n" + +#: g10/trustdb.c:503 +#, c-format +msgid "key %08lX: secret and public key don't match\n" +msgstr "chave %08lX: chaves secreta e pública não são correspondentes\n" + +#: g10/trustdb.c:515 +#, c-format +msgid "key %08lX: can't put it into the trustdb\n" +msgstr "chave %08lX: impossível colocá-la na base de dados de confiança\n" + +#: g10/trustdb.c:521 +#, c-format +msgid "key %08lX: query record failed\n" +msgstr "chave %08lX: pedido de registo falhou\n" + +#: g10/trustdb.c:530 +#, c-format +msgid "key %08lX: already in trusted key table\n" +msgstr "chave %08lX: já está na tabela de chaves confiáveis\n" + +#: g10/trustdb.c:533 +#, c-format +msgid "key %08lX: accepted as trusted key.\n" +msgstr "chave %08lX: aceite como chave confiável.\n" + +#: g10/trustdb.c:541 +#, c-format +msgid "enumerate secret keys failed: %s\n" +msgstr "enumeração de chaves secretas falhou: %s\n" + +#: g10/trustdb.c:922 +#, c-format +msgid "key %08lX.%lu: Good subkey binding\n" +msgstr "chave %08lX.%lu: Ligação de subchave válida\n" + +#: g10/trustdb.c:928 g10/trustdb.c:963 +#, c-format +msgid "key %08lX.%lu: Invalid subkey binding: %s\n" +msgstr "chave %08lX.%lu: Ligação de subchave inválida: %s\n" + +#: g10/trustdb.c:940 +#, c-format +msgid "key %08lX.%lu: Valid key revocation\n" +msgstr "chave %08lX.%lu: Revogação de chave válida\n" + +#: g10/trustdb.c:946 +#, c-format +msgid "key %08lX.%lu: Invalid key revocation: %s\n" +msgstr "chave %08lX.%lu: Revogação de chave inválida: %s\n" + +#: g10/trustdb.c:957 +#, c-format +msgid "key %08lX.%lu: Valid subkey revocation\n" +msgstr "chave %08lX.%lu: Revogação de subchave válida\n" + +#: g10/trustdb.c:1068 +msgid "Good self-signature" +msgstr "Auto-assinatura válida" + +#: g10/trustdb.c:1078 +msgid "Invalid self-signature" +msgstr "Auto-assinatura inválida" + +#: g10/trustdb.c:1105 +msgid "Valid user ID revocation skipped due to a newer self signature" +msgstr "" +"Revogação válida de ID de utilizador ignorada devido a nova auto-assinatura" + +#: g10/trustdb.c:1111 +msgid "Valid user ID revocation" +msgstr "Revogação de ID de utilizador válida" + +#: g10/trustdb.c:1116 +msgid "Invalid user ID revocation" +msgstr "Revogação de ID de utilizador inválida" + +#: g10/trustdb.c:1157 +msgid "Valid certificate revocation" +msgstr "Certificado de revogação válido" + +#: g10/trustdb.c:1158 +msgid "Good certificate" +msgstr "Certificado correcto" + +#: g10/trustdb.c:1179 +msgid "Invalid certificate revocation" +msgstr "Certificado de revogação inválido" + +#: g10/trustdb.c:1180 +msgid "Invalid certificate" +msgstr "Certificado inválido" + +#: g10/trustdb.c:1197 g10/trustdb.c:1201 +#, c-format +msgid "sig record %lu[%d] points to wrong record.\n" +msgstr "registo de assinatura %lu[%d] aponta para registo errado.\n" + +#: g10/trustdb.c:1254 +msgid "duplicated certificate - deleted" +msgstr "certificado duplicado - removido" + +#: g10/trustdb.c:1571 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "tdbio_search_dir falhou: %s\n" + +#: g10/trustdb.c:1705 +#, c-format +msgid "lid ?: insert failed: %s\n" +msgstr "lid ?: inserção falhou: %s\n" + +#: g10/trustdb.c:1710 +#, c-format +msgid "lid %lu: insert failed: %s\n" +msgstr "lid %lu: inserção falhou: %s\n" + +#: g10/trustdb.c:1716 +#, c-format +msgid "lid %lu: inserted\n" +msgstr "lid %lu: inserido\n" + +#: g10/trustdb.c:1721 +#, c-format +msgid "error reading dir record: %s\n" +msgstr "erro ao ler registo de directório: %s\n" + +#: g10/trustdb.c:1729 g10/trustdb.c:1792 +#, c-format +msgid "%lu keys processed\n" +msgstr "%lu chaves processadas\n" + +#: g10/trustdb.c:1731 g10/trustdb.c:1798 +#, c-format +msgid "\t%lu keys with errors\n" +msgstr "\t%lu chaves com erros\n" + +#: g10/trustdb.c:1733 +#, c-format +msgid "\t%lu keys inserted\n" +msgstr "\t%lu chaves inseridas\n" + +#: g10/trustdb.c:1736 +#, c-format +msgid "enumerate keyblocks failed: %s\n" +msgstr "enumeração de blocos de chaves falhou: %s\n" + +#: g10/trustdb.c:1784 +#, c-format +msgid "lid %lu: dir record w/o key - skipped\n" +msgstr "lid %lu: registo de directório sem chave - ignorado\n" + +#: g10/trustdb.c:1794 +#, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "\t%lu devido a novas chaves públicas\n" + +#: g10/trustdb.c:1796 +#, c-format +msgid "\t%lu keys skipped\n" +msgstr "\t%lu chaves ignoradas\n" + +#: g10/trustdb.c:1800 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "\t%lu chaves actualizadas\n" + +#: g10/trustdb.c:2143 +msgid "Ooops, no keys\n" +msgstr "Ooops, nenhuma chave\n" + +#: g10/trustdb.c:2147 +msgid "Ooops, no user IDs\n" +msgstr "Ooops, nenhum ID de utilizador\n" + +#: g10/trustdb.c:2305 +#, c-format +msgid "check_trust: search dir record failed: %s\n" +msgstr "check_trust: busca de registo de directório falhou: %s\n" + +#: g10/trustdb.c:2314 +#, c-format +msgid "key %08lX: insert trust record failed: %s\n" +msgstr "chave %08lX: inserção de registo de confiança falhou: %s\n" + +#: g10/trustdb.c:2318 +#, c-format +msgid "key %08lX.%lu: inserted into trustdb\n" +msgstr "chave %08lX.%lu: inserida na base de dados de confiança\n" + +#: g10/trustdb.c:2326 +#, c-format +msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" +msgstr "" +"chave %08lX.%lu: criada no futuro (viagem no tempo ou problema no relogio)\n" + +#: g10/trustdb.c:2340 +#, c-format +msgid "key %08lX.%lu: expired at %s\n" +msgstr "chave %08lX.%lu: expirou em %s\n" + +#: g10/trustdb.c:2348 +#, c-format +msgid "key %08lX.%lu: trust check failed: %s\n" +msgstr "chave %08lX.%lu: verificação de confiança falhou: %s\n" + +#: g10/trustdb.c:2499 +#, c-format +msgid "user '%s' not found: %s\n" +msgstr "utilizador `%s' não encontrado: %s\n" + +#: g10/trustdb.c:2501 +#, c-format +msgid "problem finding '%s' in trustdb: %s\n" +msgstr "problemas na procura de `%s' na base de dados de confiança: %s\n" + +#: g10/trustdb.c:2504 +#, c-format +msgid "user '%s' not in trustdb - inserting\n" +msgstr "" +"utilizador `%s' não encontrado na base de dados de confiança - a inserir\n" + +#: g10/trustdb.c:2507 +#, c-format +msgid "failed to put '%s' into trustdb: %s\n" +msgstr "falha ao colocar `%s' na base de dados de confiança: %s\n" + +#: g10/trustdb.c:2693 g10/trustdb.c:2723 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "AVISO: ainda é impossível manipular registos de preferências longos\n" + +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" +"a assinatura não pode ser verificada.\n" +"Não se esqueça que o ficheiro com a assinatura (.sig ou .asc)\n" +"deve ser o primeiro a ser dado na linha de comando.\n" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "linha de entrada %u demasiado longa ou falta o LF\n" + +#: g10/ringedit.c:303 +#, c-format +msgid "%s: can't create keyring: %s\n" +msgstr "%s: impossível criar porta-chaves: %s\n" + +#: g10/ringedit.c:320 g10/ringedit.c:1340 +#, c-format +msgid "%s: keyring created\n" +msgstr "%s: porta-chaves criado\n" + +#: g10/ringedit.c:1517 +msgid "WARNING: 2 files with confidential information exists.\n" +msgstr "AVISO: existem 2 ficheiros com informações confidenciais.\n" + +#: g10/ringedit.c:1518 +#, c-format +msgid "%s is the unchanged one\n" +msgstr "%s é o não modificado\n" + +#: g10/ringedit.c:1519 +#, c-format +msgid "%s is the new one\n" +msgstr "%s é o novo\n" + +#: g10/ringedit.c:1520 +msgid "Please fix this possible security flaw\n" +msgstr "Por favor conserte esta possível falha de segurança\n" + +#: g10/skclist.c:88 g10/skclist.c:125 +msgid "key is not flagged as insecure - can't use it with the faked RNG!\n" +msgstr "" +"a chave não está marcada insegura - impossível usá-la com o RNG falso!\n" + +#: g10/skclist.c:113 +#, c-format +msgid "skipped `%s': %s\n" +msgstr "ignorado `%s': %s\n" + +#: g10/skclist.c:119 +#, c-format +msgid "" +"skipped `%s': this is a PGP generated ElGamal key which is not secure for " +"signatures!\n" +msgstr "" +"ignorado `%s': esta é uma chave ElGamal gerada pelo PGP que não é segura " +"para assinaturas!\n" + +#. do not overwrite +#: g10/openfile.c:79 +#, c-format +msgid "File `%s' exists. " +msgstr "Arquivo `%s' já existe. " + +#: g10/openfile.c:81 +msgid "Overwrite (y/N)? " +msgstr "Escrever por cima (s/N)? " + +#: g10/openfile.c:109 +#, c-format +msgid "%s: unknown suffix\n" +msgstr "%s: sufixo desconhecido\n" + +#: g10/openfile.c:131 +msgid "Enter new filename" +msgstr "Digite novo nome de ficheiro" + +#: g10/openfile.c:172 +msgid "writing to stdout\n" +msgstr "a escrever em \"stdout\"\n" + +#: g10/openfile.c:250 +#, c-format +msgid "assuming signed data in `%s'\n" +msgstr "a assumir dados assinados em `%s'\n" + +#: g10/openfile.c:300 +#, c-format +msgid "%s: new options file created\n" +msgstr "%s: novo ficheiro de opções criado\n" + +#: g10/openfile.c:313 +#, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: impossível criar directoria: %s\n" + +#: g10/openfile.c:316 +#, c-format +msgid "%s: directory created\n" +msgstr "%s: directoria criada\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "vai ter de reiniciar o GnuPG, para poder ler as novas opções\n" + +#: g10/encr-data.c:66 +#, c-format +msgid "%s encrypted data\n" +msgstr "dados encriptados com %s\n" + +#: g10/encr-data.c:68 +#, c-format +msgid "encrypted with unknown algorithm %d\n" +msgstr "encriptado com algoritmo desconhecido %d\n" + +#: g10/encr-data.c:85 +msgid "" +"WARNING: message was encrypted with a weak key in the symmetric cipher.\n" +msgstr "" +"AVISO: A mensagem foi encriptada com uma chave fraca na criptografia\n" +"simétrica.\n" + +#: g10/seskey.c:52 +msgid "weak key created - retrying\n" +msgstr "chave fraca criada - tentando novamente\n" + +#: g10/seskey.c:57 +#, c-format +msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n" +msgstr "" +"impossível evitar chave fraca para criptografia simétrica;\n" +"tentei %d vezes!\n" + +#: g10/delkey.c:93 +msgid "there is a secret key for this public key!\n" +msgstr "há uma chave secreta para esta chave pública!\n" + +#: g10/delkey.c:95 +msgid "use option \"--delete-secret-key\" to delete it first.\n" +msgstr "utilize a opção \"--delete-secret-key\" para a apagar primeiro.\n" + +#: g10/delkey.c:111 +msgid "can't do that in batchmode without \"--yes\"\n" +msgstr "impossível fazer isso em modo não-interactivo sem utilizar \"--yes\"\n" + +#: g10/delkey.c:133 +msgid "Delete this key from the keyring? " +msgstr "Remover esta chave do porta-chaves?" + +#: g10/delkey.c:141 +msgid "This is a secret key! - really delete? " +msgstr "Esta chave é secreta! - apagar de qualquer modo? " + +#: 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 "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 utilizador do destinatário para quem quer enviar a\n" +"mensagem." + +#: g10/helptext.c:65 +msgid "" +"Select the algorithm to use.\n" +"\n" +"DSA (aka DSS) is the digital signature algorithm which can only be used\n" +"for signatures. This is the suggested algorithm because verification of\n" +"DSA signatures are much faster than those of ElGamal.\n" +"\n" +"ElGamal is an algorithm which can be used for signatures and encryption.\n" +"OpenPGP distinguishs between two flavors of this algorithms: an encrypt " +"only\n" +"and a sign+encrypt; actually it is the same, but some parameters must be\n" +"selected in a special way to create a safe key for signatures: this program\n" +"does this but other OpenPGP implementations are not required to understand\n" +"the signature+encryption flavor.\n" +"\n" +"The first (primary) key must always be a key which is capable of signing;\n" +"this is the reason why the encryption only ElGamal key is not available in\n" +"this menu." +msgstr "" +"Seleccione 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 encriptação.\n" +"O OpenPGP distingue dois tipos deste algoritmo: um apenas para encriptação\n" +"e outro para assinatura+encriptação; na verdade são iguais, mas alguns\n" +"parâmetros precisam ser escolhidos de modo especial para criar uma chave\n" +"segura para assinatura: este programa faz isso, mas algumas outras\n" +"implementações do OpenPGP não vão necessariamente entender o tipo\n" +"assinatura+encriptação.\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 encriptação não está\n" +"disponível neste menu." + +#: g10/helptext.c:85 +msgid "" +"Although these keys are defined in RFC2440 they are not suggested\n" +"because they are not supported by all programs and signatures created\n" +"with them are quite large and very slow to verify." +msgstr "" +"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 +msgid "Enter the size of the key" +msgstr "Insira 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 "Responda \"sim\" ou \"não\"" + +#: g10/helptext.c:106 +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" +"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" +"reacçã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 "Digite o nome do possuidor da chave" + +#: g10/helptext.c:123 +msgid "please enter an optional but highly suggested email address" +msgstr "por favor digite um endereço de email (opcional mas recomendado)" + +#: g10/helptext.c:127 +msgid "Please enter an optional comment" +msgstr "Por favor digite um comentário (opcional)" + +#: g10/helptext.c:132 +msgid "" +"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." +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 "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 "Responda \"sim\" se quiser assinar TODOS os IDs de utilizador" + +#: 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 utilizador.\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 "Responda \"sim\" se quiser remover a subchave" + +#: g10/helptext.c:178 +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" +"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 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 "A assinatura não é válida. Faz sentido removê-la do seu porta-chaves." + +#: g10/helptext.c:193 +msgid "" +"This is a signature which binds the user ID to the key. It is\n" +"usually not a good idea to remove such a signature. Actually\n" +"GnuPG might not be able to use this key anymore. So do this\n" +"only if this self-signature is for some reason not valid and\n" +"a second one is available." +msgstr "" +"Esta é uma assinatura que liga o ID de utilizador à 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 "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 frase secreta, para ter certeza do que digitou." + +#: g10/helptext.c:213 +msgid "Give the name of the file to which the signature applies" +msgstr "Dê o nome para o ficheiro ao qual a assinatura se aplica" + +#: g10/helptext.c:218 +msgid "Answer \"yes\" if it is okay to overwrite the file" +msgstr "Responda \"sim\" se quiser escrever por cima do ficheiro" + +#: 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 ficheiro. Se você apenas carregar em " +"RETURN\n" +"o ficheiro por omissão (que é mostrado entre parênteses) será utilizado." + +#: g10/helptext.c:237 +msgid "No help available" +msgstr "Nenhuma ajuda disponível" + +#: g10/helptext.c:245 +#, c-format +msgid "No help available for `%s'" +msgstr "Nenhuma ajuda disponível para `%s'" diff -urN gnupg-1.0.0/po/ru.po gnupg-1.0.1/po/ru.po --- gnupg-1.0.0/po/ru.po Tue Sep 7 18:48:36 1999 +++ gnupg-1.0.1/po/ru.po Thu Dec 16 10:17:38 1999 @@ -9,7 +9,7 @@ # QingLong (couldn't send an email to let you know) msgid "" msgstr "" -"POT-Creation-Date: 1999-09-05 19:21+0200\n" +"POT-Creation-Date: 1999-12-16 09:44+0100\n" "Content-Type: text/plain; charset=\n" "Date: 1998-01-26 22:08:36+0100\n" "From: Gregory Steuck \n" @@ -28,11 +28,11 @@ "üÔÕ ÐÒÏÂÌÅÍÕ ÍÏÖÎÏ ÒÅÛÉÔØ, ÕÓÔÁÎÏ×É× ÐÒÏÇÒÁÍÍÕ suid(root).\n" "ïÂÒÁÔÉÔÅÓØ ÄÌÑ ÜÔÏÇÏ Ë ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ ÷ÁÛÅÊ ÓÉÓÔÅÍÙ.\n" -#: util/secmem.c:275 +#: util/secmem.c:281 msgid "operation is not possible without initialized secure memory\n" msgstr "" -#: util/secmem.c:276 +#: util/secmem.c:282 msgid "(you may have used the wrong program for this task)\n" msgstr "" @@ -298,6 +298,11 @@ msgid "not encrypted" msgstr "ÚÁÛÉÆÒÏ×ÁÔØ ÄÁÎÎÙÅ" +#: util/errors.c:103 +#, fuzzy +msgid "not processed" +msgstr "îÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" + #: util/logger.c:218 #, fuzzy, c-format msgid "... this is a bug (%s:%d:%s)\n" @@ -308,12 +313,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "÷Ù ÎÁÛÌÉ ÏÛÉÂËÕ × ÐÒÏÇÒÁÍÍÅ ... (%s:%d)\n" -#: cipher/random.c:452 +#: cipher/random.c:458 #, fuzzy msgid "WARNING: using insecure random number generator!!\n" msgstr "÷ÎÉÍÁÎÉÅ: ÉÓÐÏÌØÚÕÅÔÓÑ ÎÅÎÁÄÅÖÎÙÊ ÇÅÎÅÒÁÔÏÒ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ!\n" -#: cipher/random.c:453 +#: cipher/random.c:459 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -338,7 +343,7 @@ "îÅÄÏÓÔÁÔÏÞÎÏ ÓÌÕÞÁÊÎÙÈ ÄÁÎÎÙÈ. ðÏÖÁÌÕÊÓÔÁ, ÐÏÄÅÌÁÊÔÅ ÞÔÏ-ÎÉÂÕÄØ, ÞÔÏÂÙ\n" "ïó ÍÏÇÌÁ ÎÁÂÒÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÓÌÕÞÁÊÎÙÅ ÞÉÓÌÁ! (ÎÕÖÎÏ ÅÝÅ %d ÂÁÊÔ)\n" -#: g10/g10.c:185 +#: g10/g10.c:189 msgid "" "@Commands:\n" " " @@ -346,142 +351,147 @@ "@ëÏÍÁÎÄÙ:\n" " " -#: g10/g10.c:187 +#: g10/g10.c:191 #, fuzzy msgid "|[file]|make a signature" msgstr "|[ÆÁÊÌ]|ÓÏÚÄÁÔØ ÐÏÄÐÉÓØ" -#: g10/g10.c:188 +#: g10/g10.c:192 #, fuzzy msgid "|[file]|make a clear text signature" msgstr "|[ÆÁÊÌ]|ÓÏÚÄÁÔØ ÔÅËÓÔÏ×ÕÀ ÐÏÄÐÉÓØ" -#: g10/g10.c:189 +#: g10/g10.c:193 msgid "make a detached signature" msgstr "ÓÏÚÄÁÔØ ÏÔÄÅÌØÎÕÀ ÐÏÄÐÉÓØ" -#: g10/g10.c:190 +#: g10/g10.c:194 msgid "encrypt data" msgstr "ÚÁÛÉÆÒÏ×ÁÔØ ÄÁÎÎÙÅ" -#: g10/g10.c:191 +#: g10/g10.c:195 msgid "encryption only with symmetric cipher" msgstr "ÚÁÛÉÆÒÏ×ÁÔØ ÓÉÍÍÅÔÒÉÞÎÙÍ ÁÌÇÏÒÉÔÍÏÍ" -#: g10/g10.c:192 +#: g10/g10.c:196 msgid "store only" msgstr "ÔÏÌØËÏ ÓÏÈÒÁÎÉÔØ" -#: g10/g10.c:193 +#: g10/g10.c:197 msgid "decrypt data (default)" msgstr "ÒÁÓÛÉÆÒÏ×ÁÔØ ÄÁÎÎÙÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ)" -#: g10/g10.c:194 +#: g10/g10.c:198 msgid "verify a signature" msgstr "ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ" -#: g10/g10.c:195 +#: g10/g10.c:200 msgid "list keys" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ" -#: g10/g10.c:197 +#: g10/g10.c:202 msgid "list keys and signatures" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÐÏÄÐÉÓÅÊ" -#: g10/g10.c:198 +#: g10/g10.c:203 msgid "check key signatures" msgstr "ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ ÎÁ ËÌÀÞÅ" -#: g10/g10.c:199 +#: g10/g10.c:204 msgid "list keys and fingerprints" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ Ó ÉÈ \"ÏÔÐÅÞÁÔËÁÍÉ ÐÁÌØÃÅ×\"" -#: g10/g10.c:200 +#: g10/g10.c:205 msgid "list secret keys" msgstr "ÓÐÉÓÏË ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ" -#: g10/g10.c:201 +#: g10/g10.c:206 msgid "generate a new key pair" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÎÏ×ÕÀ ÐÁÒÕ ËÌÀÞÅÊ (ÏÔËÒÙÔÙÊ É ÓÅËÒÅÔÎÙÊ)" -#: g10/g10.c:202 +#: g10/g10.c:207 msgid "remove key from the public keyring" msgstr "ÕÄÁÌÉÔØ ËÌÀÞ ÓÏ Ó×ÑÚËÉ" -#: g10/g10.c:203 +#: g10/g10.c:209 +#, fuzzy +msgid "remove key from the secret keyring" +msgstr "ÕÄÁÌÉÔØ ËÌÀÞ ÓÏ Ó×ÑÚËÉ" + +#: g10/g10.c:210 #, fuzzy msgid "sign a key" msgstr "ÐÏÄÐÉÓÁÔØ ËÌÀÞ" -#: g10/g10.c:204 +#: g10/g10.c:211 #, fuzzy msgid "sign a key locally" msgstr "ÐÏÄÐÉÓÁÔØ ËÌÀÞ" -#: g10/g10.c:205 +#: g10/g10.c:212 msgid "sign or edit a key" msgstr "ÐÏÄÐÉÓÁÔØ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÔØ ËÌÀÞ" -#: g10/g10.c:206 +#: g10/g10.c:213 msgid "generate a revocation certificate" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/g10.c:207 +#: g10/g10.c:214 msgid "export keys" msgstr "ÜËÓÐÏÒÔÉÒÏ×ÁÔØ ËÌÀÞÉ" -#: g10/g10.c:208 +#: g10/g10.c:215 msgid "export keys to a key server" msgstr "" -#: g10/g10.c:209 +#: g10/g10.c:216 msgid "import keys from a key server" msgstr "" -#: g10/g10.c:212 +#: g10/g10.c:219 msgid "import/merge keys" msgstr "ÉÍÐÏÒÔÉÒÏ×ÁÔØ/ÄÏÂÁ×ÉÔØ ËÌÀÞÉ" -#: g10/g10.c:214 +#: g10/g10.c:221 msgid "list only the sequence of packets" msgstr "ÎÁÐÅÞÁÔÁÔØ ÔÏÌØËÏ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÐÁËÅÔÏ×" -#: g10/g10.c:216 +#: g10/g10.c:223 #, fuzzy msgid "export the ownertrust values" msgstr "ÜËÓÐÏÒÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÄÏ×ÅÒÉÑ\n" -#: g10/g10.c:218 +#: g10/g10.c:225 #, fuzzy msgid "import ownertrust values" msgstr "ÉÍÐÏÒÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÄÏ×ÅÒÉÑ\n" -#: g10/g10.c:220 +#: g10/g10.c:227 #, fuzzy msgid "update the trust database" msgstr "|[éíåîá]|ÐÒÏ×ÅÒÉÔØ ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ" -#: g10/g10.c:222 +#: g10/g10.c:229 msgid "|[NAMES]|check the trust database" msgstr "|[éíåîá]|ÐÒÏ×ÅÒÉÔØ ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ" -#: g10/g10.c:223 +#: g10/g10.c:230 msgid "fix a corrupted trust database" msgstr "ÉÓÐÒÁ×ÉÔØ ÒÁÚÒÕÛÅÎÎÕÀ ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ" -#: g10/g10.c:224 +#: g10/g10.c:231 msgid "De-Armor a file or stdin" msgstr "äÅËÏÄÉÒÏ×ÁÔØ stdin ÉÌÉ ÆÁÊÌ ÉÚ ASCII-ÐÒÅÄÓÔÁ×ÌÅÎÉÑ" -#: g10/g10.c:225 +#: g10/g10.c:233 msgid "En-Armor a file or stdin" msgstr "úÁËÏÄÉÒÏ×ÁÔØ stdin ÉÌÉ ÆÁÊÌ × ASCII-ÐÒÅÄÓÔÁ×ÌÅÎÉÅ" -#: g10/g10.c:226 +#: g10/g10.c:235 msgid "|algo [files]|print message digests" msgstr "|algo [files]|ÎÁÐÅÞÁÔÁÔØ ÄÁÊÄÖÅÓÔ ÓÏÏÂÝÅÎÉÑ" -#: g10/g10.c:230 +#: g10/g10.c:239 msgid "" "@\n" "Options:\n" @@ -491,178 +501,178 @@ "ðÁÒÁÍÅÔÒÙ:\n" " " -#: g10/g10.c:232 +#: g10/g10.c:241 msgid "create ascii armored output" msgstr "×Ù×ÏÄ × ASCII-ÐÒÅÄÓÔÁ×ÌÅÎÉÉ" -#: g10/g10.c:233 +#: g10/g10.c:243 #, fuzzy msgid "|NAME|encrypt for NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ" -#: g10/g10.c:236 +#: g10/g10.c:246 #, fuzzy msgid "|NAME|use NAME as default recipient" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ éíñ × ËÁÞÅÓÔ×Å ÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: g10/g10.c:238 +#: g10/g10.c:248 msgid "use the default key as default recipient" msgstr "" -#: g10/g10.c:242 +#: g10/g10.c:252 msgid "use this user-id to sign or decrypt" msgstr "" "ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ ÉÌÉ ÒÁÓÛÉÆÒÏ×ËÉ" -#: g10/g10.c:243 +#: g10/g10.c:253 msgid "|N|set compress level N (0 disables)" msgstr "|N|ÕÓÔÁÎÏ×ÉÔØ ÕÒÏ×ÅÎØ ÓÖÁÔÉÑ (0 - ÎÅ ÓÖÉÍÁÔØ)" -#: g10/g10.c:245 +#: g10/g10.c:255 msgid "use canonical text mode" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ËÁÎÏÎÉÞÅÓËÉÊ ÔÅËÓÔÏ×ÙÊ ÒÅÖÉÍ" -#: g10/g10.c:246 +#: g10/g10.c:256 msgid "use as output file" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ × ËÁÞÅÓÔ×Å ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ" -#: g10/g10.c:247 +#: g10/g10.c:257 msgid "verbose" msgstr "ÍÎÏÇÏÓÌÏ×ÎÙÊ" -#: g10/g10.c:248 +#: g10/g10.c:258 msgid "be somewhat more quiet" msgstr "" -#: g10/g10.c:249 +#: g10/g10.c:259 msgid "don't use the terminal at all" msgstr "" -#: g10/g10.c:250 +#: g10/g10.c:260 #, fuzzy msgid "force v3 signatures" msgstr "ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ ÎÁ ËÌÀÞÅ" -#: g10/g10.c:251 +#: g10/g10.c:261 #, fuzzy msgid "always use a MDC for encryption" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÛÉÆÒÏ×ÁÎÉÑ" -#: g10/g10.c:252 +#: g10/g10.c:262 msgid "do not make any changes" msgstr "Keine wirklichen Änderungen durchführen" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:254 +#: g10/g10.c:264 msgid "batch mode: never ask" msgstr "ÐÁËÅÔÎÙÊ ÒÅÖÉÍ: ÎÉÞÅÇÏ ÎÅ ÓÐÒÁÛÉ×ÁÔØ" -#: g10/g10.c:255 +#: g10/g10.c:265 msgid "assume yes on most questions" msgstr "ÏÔ×ÅÞÁÔØ \"ÄÁ\" ÎÁ ÂÏÌØÛÉÎÓÔ×Ï ×ÏÐÒÏÓÏ×" -#: g10/g10.c:256 +#: g10/g10.c:266 msgid "assume no on most questions" msgstr "ÏÔ×ÅÞÁÔØ \"ÎÅÔ\" ÎÁ ÂÏÌØÛÉÎÓÔ×Ï ×ÏÐÒÏÓÏ×" -#: g10/g10.c:257 +#: g10/g10.c:267 msgid "add this keyring to the list of keyrings" msgstr "ÄÏÂÁ×ÉÔØ ÜÔÕ Ó×ÑÚËÕ Ë ÓÐÉÓËÕ Ó×ÑÚÏË ËÌÀÞÅÊ" -#: g10/g10.c:258 +#: g10/g10.c:268 msgid "add this secret keyring to the list" msgstr "ÄÏÂÁ×ÉÔØ ÜÔÕ ÓÅËÒÅÔÎÕÀ Ó×ÑÚËÕ Ë ÓÐÉÓËÕ Ó×ÑÚÏË ËÌÀÞÅÊ" -#: g10/g10.c:259 +#: g10/g10.c:269 msgid "|NAME|use NAME as default secret key" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ éíñ × ËÁÞÅÓÔ×Å ÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: g10/g10.c:260 +#: g10/g10.c:270 msgid "|HOST|use this keyserver to lookup keys" msgstr "" -#: g10/g10.c:261 +#: g10/g10.c:271 #, fuzzy msgid "|NAME|set terminal charset to NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ" -#: g10/g10.c:262 +#: g10/g10.c:272 msgid "read options from file" msgstr "ÞÉÔÁÔØ ÐÁÒÁÍÅÔÒÙ ÉÚ ÆÁÊÌÁ" -#: g10/g10.c:264 +#: g10/g10.c:274 msgid "set debugging flags" msgstr "ÕÓÔÁÎÏ×ÉÔØ ÏÔÌÁÄÏÞÎÙÅ ÆÌÁÇÉ" -#: g10/g10.c:265 +#: g10/g10.c:275 msgid "enable full debugging" msgstr "ÒÁÚÒÅÛÉÔØ ×ÓÀ ÏÔÌÁÄËÕ" -#: g10/g10.c:266 +#: g10/g10.c:276 msgid "|FD|write status info to this FD" msgstr "|FD| ÚÁÐÉÓÙ×ÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ × ÄÅÓËÒÉÐÔÏÒ (FD)" -#: g10/g10.c:267 +#: g10/g10.c:277 msgid "do not write comment packets" msgstr "ÎÅ ÐÉÓÁÔØ ÐÁËÅÔÙ Ó ËÏÍÍÅÎÔÁÒÉÑÍÉ" -#: g10/g10.c:268 +#: g10/g10.c:278 msgid "(default is 1)" msgstr "(ÐÏ ÕÍÏÌÞÁÎÉÀ 1)" -#: g10/g10.c:269 +#: g10/g10.c:279 msgid "(default is 3)" msgstr "(ÐÏ ÕÍÏÌÞÁÎÉÀ 3)" -#: g10/g10.c:271 +#: g10/g10.c:281 #, fuzzy msgid "|FILE|load extension module FILE" msgstr "|æáêì|ÚÁÇÒÕÚÉÔØ æáêì Ó ÒÁÓÛÉÒÑÀÝÉÍÉ ÍÏÄÕÌÑÍÉ" -#: g10/g10.c:272 +#: g10/g10.c:282 msgid "emulate the mode described in RFC1991" msgstr "ÜÍÕÌÉÒÏ×ÁÔØ ÒÅÖÉÍ ÏÐÉÓÁÎÎÙÊ × RFC1991" -#: g10/g10.c:273 +#: g10/g10.c:283 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" -#: g10/g10.c:274 +#: g10/g10.c:284 #, fuzzy msgid "|N|use passphrase mode N" msgstr "|N|ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ ÒÅÖÉÍÁ N\n" -#: g10/g10.c:276 +#: g10/g10.c:286 #, fuzzy msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÈÜÛ-ÁÌÇÏÒÉÔÍ éíñ ÄÌÑ ËÌÀÞÅ×ÙÈ ÆÒÁÚ" -#: g10/g10.c:278 +#: g10/g10.c:288 #, fuzzy msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ ÄÌÑ ËÌÀÞÅ×ÙÈ ÆÒÁÚ" -#: g10/g10.c:279 +#: g10/g10.c:289 msgid "|NAME|use cipher algorithm NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ" -#: g10/g10.c:280 +#: g10/g10.c:290 msgid "|NAME|use message digest algorithm NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÈÜÛ-ÁÌÇÏÒÉÔÍ éíñ" -#: g10/g10.c:281 +#: g10/g10.c:291 msgid "|N|use compress algorithm N" msgstr "|N|ÉÓÐÏÌØÚÏ×ÁÔØ ÁÌÇÏÒÉÔÍ ÓÖÁÔÉÑ N" -#: g10/g10.c:282 +#: g10/g10.c:292 msgid "throw keyid field of encrypted packets" msgstr "×ÙÂÒÁÓÙ×ÁÔØ ÐÏÌÅ keyid Õ ÚÁÛÉÆÒÏ×ÁÎÎÙÈ ÐÁËÅÔÏ×" -#: g10/g10.c:283 +#: g10/g10.c:293 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:285 +#: g10/g10.c:295 #, fuzzy msgid "" "@\n" @@ -683,17 +693,17 @@ " --list-keys [names] ÐÏËÁÚÁÔØ ÓÐÉÓÏË ËÌÀÞÅÊ\n" " --fingerprint [names] ÐÏËÁÚÁÔØ \"ÏÔÐÅÞÁÔËÉ ÐÁÌØÃÅ×\" ËÌÀÞÅÊ\n" -#: g10/g10.c:370 +#: g10/g10.c:383 msgid "Please report bugs to .\n" msgstr "" "ðÏÖÁÌÕÊÓÔÁ, ÏÔÐÒÁ×ÌÑÊÔÅ ÓÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ ÐÏ ÁÄÒÅÓÕ " ".\n" -#: g10/g10.c:374 +#: g10/g10.c:387 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: gpg [ÐÁÒÁÍÅÔÒÙ] [ÆÁÊÌÙ] (-h ÄÌÑ ÐÏÍÏÝÉ)" -#: g10/g10.c:377 +#: g10/g10.c:390 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -703,7 +713,7 @@ "ÐÏÄÐÉÓÙ×ÁÅÔ, ÐÒÏ×ÅÒÑÅÔ ÐÏÄÐÉÓÉ, ÛÉÆÒÕÅÔ ÉÌÉ ÒÁÓÛÉÆÒÏ×Ù×ÁÅÔ\n" "ÒÅÖÉÍ ÒÁÂÏÔÙ ÚÁ×ÉÓÉÔ ÏÔ ×ÈÏÄÎÙÈ ÄÁÎÎÙÈ\n" -#: g10/g10.c:382 +#: g10/g10.c:397 msgid "" "\n" "Supported algorithms:\n" @@ -711,198 +721,198 @@ "\n" "ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÁÌÇÏÒÉÔÍÙ:\n" -#: g10/g10.c:456 +#: g10/g10.c:476 msgid "usage: gpg [options] " msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: gpg [ÐÁÒÁÍÅÔÒÙ] " -#: g10/g10.c:509 +#: g10/g10.c:529 msgid "conflicting commands\n" msgstr "Widersprüchliche Kommandos\n" -#: g10/g10.c:644 +#: g10/g10.c:668 #, fuzzy, c-format msgid "NOTE: no default option file `%s'\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ `%s' ÏÔÓÕÔÓÔ×ÕÅÔ\n" -#: g10/g10.c:648 +#: g10/g10.c:672 #, c-format msgid "option file `%s': %s\n" msgstr "ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ× `%s': %s\n" -#: g10/g10.c:655 +#: g10/g10.c:679 #, c-format msgid "reading options from `%s'\n" msgstr "ÞÉÔÁÀÔÓÑ ÐÁÒÁÍÅÔÒÙ ÉÚ `%s'\n" -#: g10/g10.c:835 +#: g10/g10.c:861 #, fuzzy, c-format msgid "%s is not a valid character set\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ËÏÍÍÅÎÔÁÒÉÉ.\n" -#: g10/g10.c:892 g10/g10.c:901 +#: g10/g10.c:917 g10/g10.c:926 #, c-format msgid "NOTE: %s is not for normal use!\n" msgstr "" -#: g10/g10.c:894 +#: g10/g10.c:919 #, c-format msgid "%s not allowed with %s!\n" msgstr "" -#: g10/g10.c:897 +#: g10/g10.c:922 #, c-format msgid "%s makes no sense with %s!\n" msgstr "" -#: g10/g10.c:916 g10/g10.c:928 +#: g10/g10.c:941 g10/g10.c:953 msgid "selected cipher algorithm is invalid\n" msgstr "×ÙÂÒÁÎ ÎÅÄÏÐÕÓÔÉÍÙÊ ÁÌÇÏÒÉÔÍ ÛÉÆÒÏ×ÁÎÉÑ\n" -#: g10/g10.c:922 g10/g10.c:934 +#: g10/g10.c:947 g10/g10.c:959 msgid "selected digest algorithm is invalid\n" msgstr "×ÙÂÒÁÎ ÎÅÄÏÐÕÓÔÉÍÙÊ ÄÁÊÄÖÅÓÔ-ÁÌÇÏÒÉÔÍ\n" -#: g10/g10.c:938 +#: g10/g10.c:963 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:941 +#: g10/g10.c:966 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "ÁÌÇÏÒÉÔÍ ÕÐÁËÏ×ËÉ ÍÏÖÅÔ ÉÍÅÔØ ÚÎÁÞÅÎÉÑ ÏÔ %d ÄÏ %d\n" -#: g10/g10.c:943 +#: g10/g10.c:968 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ 0\n" -#: g10/g10.c:945 +#: g10/g10.c:970 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ 1\n" -#: g10/g10.c:947 +#: g10/g10.c:972 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "" -#: g10/g10.c:950 +#: g10/g10.c:975 #, fuzzy msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÐÒÏÓÔÏÊ S2K ÒÅÖÉÍ (0) ÏÞÅÎØ ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ\n" -#: g10/g10.c:954 +#: g10/g10.c:979 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÒÅÖÉÍ S2K: ÄÏÌÖÅÎ ÂÙÔØ 0, 1 ÉÌÉ 3\n" -#: g10/g10.c:1031 +#: g10/g10.c:1056 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "ïÛÉÂËÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ: %s\n" -#: g10/g10.c:1037 +#: g10/g10.c:1062 msgid "--store [filename]" msgstr "--store [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1044 +#: g10/g10.c:1069 msgid "--symmetric [filename]" msgstr "--symmetric [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1052 +#: g10/g10.c:1077 msgid "--encrypt [filename]" msgstr "--encrypt [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1065 +#: g10/g10.c:1090 msgid "--sign [filename]" msgstr "--sign [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1078 +#: g10/g10.c:1103 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1092 +#: g10/g10.c:1117 msgid "--clearsign [filename]" msgstr "--clearsign [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1104 +#: g10/g10.c:1134 msgid "--decrypt [filename]" msgstr "--decrypt [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1112 +#: g10/g10.c:1142 msgid "--sign-key user-id" msgstr "" -#: g10/g10.c:1120 +#: g10/g10.c:1150 #, fuzzy msgid "--lsign-key user-id" msgstr "--delete-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/g10.c:1128 +#: g10/g10.c:1158 #, fuzzy msgid "--edit-key user-id [commands]" msgstr "--edit-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/g10.c:1144 +#: g10/g10.c:1174 #, fuzzy msgid "--delete-secret-key user-id" msgstr "--delete-secret-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/g10.c:1147 +#: g10/g10.c:1177 #, fuzzy msgid "--delete-key user-id" msgstr "--delete-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/encode.c:259 g10/g10.c:1171 g10/sign.c:366 +#: g10/encode.c:260 g10/g10.c:1214 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ `%s': %s\n" -#: g10/g10.c:1182 +#: g10/g10.c:1229 #, fuzzy msgid "-k[v][v][v][c] [user-id] [keyring]" msgstr "-k[v][v][v][c] [ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ] [Ó×ÑÚËÁ ËÌÀÞÅÊ]" -#: g10/g10.c:1243 +#: g10/g10.c:1280 #, c-format msgid "dearmoring failed: %s\n" msgstr "ÏÛÉÂËÁ ÄÅËÏÄÉÒÏ×ÁÎÉÑ: %s\n" -#: g10/g10.c:1251 +#: g10/g10.c:1288 #, c-format msgid "enarmoring failed: %s\n" msgstr "ÏÛÉÂËÁ ËÏÄÉÒÏ×ÁÎÉÑ: %s\n" -#: g10/g10.c:1319 +#: g10/g10.c:1356 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÈÜÛ-ÁÌÇÏÒÉÔÍ `%s'\n" -#: g10/g10.c:1400 +#: g10/g10.c:1437 msgid "[filename]" msgstr "[ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1404 +#: g10/g10.c:1441 msgid "Go ahead and type your message ...\n" msgstr "" -#: g10/decrypt.c:59 g10/g10.c:1407 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1444 g10/verify.c:68 g10/verify.c:113 #, c-format msgid "can't open `%s'\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ `%s'\n" -#: g10/g10.c:1576 +#: g10/g10.c:1613 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1582 +#: g10/g10.c:1619 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1588 +#: g10/g10.c:1625 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1596 +#: g10/g10.c:1633 msgid "a notation value must not use any control characters\n" msgstr "" @@ -911,74 +921,74 @@ msgid "armor: %s\n" msgstr "ëÏÄÉÒÏ×ËÁ: %s\n" -#: g10/armor.c:319 +#: g10/armor.c:325 msgid "invalid armor header: " msgstr "" -#: g10/armor.c:326 +#: g10/armor.c:332 msgid "armor header: " msgstr "" -#: g10/armor.c:337 +#: g10/armor.c:343 #, fuzzy msgid "invalid clearsig header\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÎÁÞÁÌÏ ÔÅËÓÔÏ×ÏÊ ÐÏÄÐÉÓÉ\n" -#: g10/armor.c:389 +#: g10/armor.c:395 #, fuzzy msgid "nested clear text signatures\n" msgstr "|[ÆÁÊÌ]|ÓÏÚÄÁÔØ ÔÅËÓÔÏ×ÕÀ ÐÏÄÐÉÓØ" -#: g10/armor.c:500 +#: g10/armor.c:506 msgid "invalid dash escaped line: " msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ÓÔÒÏËÁ ÎÁÞÉÎÁÀÝÁÑÓÑ Ó ÍÉÎÕÓÏ×: " -#: g10/armor.c:512 +#: g10/armor.c:518 #, fuzzy msgid "unexpected armor:" msgstr "îÅÏÖÉÄÁÎÎÙÅ ÄÁÎÎÙÅ" -#: g10/armor.c:629 +#: g10/armor.c:635 #, fuzzy, c-format msgid "invalid radix64 character %02x skipped\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÄÌÑ ËÏÄÉÒÏ×ËÉ radix64 ÓÉÍ×ÏÌ %02x ÐÒÏÐÕÝÅÎ\n" -#: g10/armor.c:672 +#: g10/armor.c:678 msgid "premature eof (no CRC)\n" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ (ÎÅÔ CRC)\n" -#: g10/armor.c:706 +#: g10/armor.c:712 msgid "premature eof (in CRC)\n" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ (× CRC)\n" -#: g10/armor.c:710 +#: g10/armor.c:716 msgid "malformed CRC\n" msgstr "ÎÅÐÒÁ×ÉÌØÎÁÑ ÆÏÒÍÁ CRC\n" -#: g10/armor.c:714 +#: g10/armor.c:720 #, c-format msgid "CRC error; %06lx - %06lx\n" msgstr "ÏÛÉÂËÁ CRC; %06lx - %06lx\n" -#: g10/armor.c:731 +#: g10/armor.c:737 msgid "premature eof (in Trailer)\n" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ (× È×ÏÓÔÅ)\n" -#: g10/armor.c:735 +#: g10/armor.c:741 msgid "error in trailer line\n" msgstr "ÏÛÉÂËÁ × ÚÁ×ÅÒÛÁÀÝÅÊ ÓÔÒÏËÅ\n" -#: g10/armor.c:1001 +#: g10/armor.c:1012 #, fuzzy msgid "no valid OpenPGP data found.\n" msgstr "ÎÅ ÎÁÊÄÅÎÏ ÄÏÐÕÓÔÉÍÙÈ RFC1991 ÉÌÉ OpenPGP ÄÁÎÎÙÈ.\n" -#: g10/armor.c:1005 +#: g10/armor.c:1017 #, c-format msgid "invalid armor: line longer than %d characters\n" msgstr "" -#: g10/armor.c:1009 +#: g10/armor.c:1021 msgid "" "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" @@ -1081,51 +1091,51 @@ "\n" msgstr "úÎÁÞÅÎÉÑ ÐÁÒÁÍÅÔÒÏ× ÄÏ×ÅÒÉÑ ÎÅ ÉÚÍÅÎÅÎÙ.\n" -#: g10/pkclist.c:350 +#: g10/pkclist.c:351 #, fuzzy, c-format msgid "key %08lX: key has been revoked!\n" msgstr "build_sigrecs: ËÌÀÞ ist widerrufen\n" -#: g10/pkclist.c:356 g10/pkclist.c:366 g10/pkclist.c:475 +#: g10/pkclist.c:357 g10/pkclist.c:368 g10/pkclist.c:481 msgid "Use this key anyway? " msgstr "÷ÓÅ ÒÁ×ÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÏÔ ËÌÀÞ?" -#: g10/pkclist.c:360 +#: g10/pkclist.c:362 #, fuzzy, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "build_sigrecs: ËÌÀÞ ist widerrufen\n" -#: g10/pkclist.c:390 +#: g10/pkclist.c:395 #, fuzzy, c-format msgid "%08lX: key has expired\n" msgstr "úÁÍÅÞÁÎÉÅ: óÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ ÕÖÅ ÉÓÔÅË!\n" -#: g10/pkclist.c:396 +#: g10/pkclist.c:401 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "" -#: g10/pkclist.c:410 +#: g10/pkclist.c:416 #, fuzzy, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "÷îéíáîéå: íÙ îå ÄÏ×ÅÒÑÅÍ ÜÔÏÍÕ ËÌÀÞÕ!\n" -#: g10/pkclist.c:416 +#: g10/pkclist.c:422 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" "but it is accepted anyway\n" msgstr "" -#: g10/pkclist.c:422 +#: g10/pkclist.c:428 msgid "This key probably belongs to the owner\n" msgstr "" -#: g10/pkclist.c:427 +#: g10/pkclist.c:433 msgid "This key belongs to us\n" msgstr "" -#: g10/pkclist.c:470 +#: g10/pkclist.c:476 msgid "" "It is NOT certain that the key belongs to its owner.\n" "If you *really* know what you are doing, you may answer\n" @@ -1136,65 +1146,65 @@ "ËÔÏ ÕËÁÚÁÎ ÅÇÏ ×ÌÁÄÅÌØÃÅÍ. ïÔ×ÅÞÁÊÔÅ \"ÄÁ\" ÎÁ ÓÌÅÄÕÀÝÉÊ ×ÏÐÒÏÓ,\n" "ÔÏÌØËÏ ÅÓÌÉ ×Ù *ÄÅÊÓÔ×ÉÔÅÌØÎÏ* ÐÏÎÉÍÁÅÔÅ ÞÔÏ ÄÅÌÁÅÔÅ.\n" -#: g10/pkclist.c:484 g10/pkclist.c:507 +#: g10/pkclist.c:490 g10/pkclist.c:513 msgid "WARNING: Using untrusted key!\n" msgstr "÷îéíáîéå: éÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ Ë ËÏÔÏÒÏÍÕ ÎÅÔ ÄÏ×ÅÒÉÑ!\n" -#: g10/pkclist.c:528 +#: g10/pkclist.c:534 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "÷îéíáîéå: ÷ÌÁÄÅÌÅà ËÌÀÞÁ ÕÖÅ ÏÔÏÚ×ÁÌ ÅÇÏ!\n" -#: g10/pkclist.c:529 +#: g10/pkclist.c:535 msgid " This could mean that the signature is forgery.\n" msgstr " üÔÏ ÍÏÖÅÔ ÏÚÎÁÞÁÔØ, ÞÔÏ ÐÏÄÐÉÓØ ÐÏÄÄÅÌØÎÁÑ.\n" -#: g10/pkclist.c:533 +#: g10/pkclist.c:539 #, fuzzy msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "÷îéíáîéå: ÷ÌÁÄÅÌÅà ËÌÀÞÁ ÕÖÅ ÏÔÏÚ×ÁÌ ÅÇÏ!\n" -#: g10/pkclist.c:554 +#: g10/pkclist.c:560 msgid "Note: This key has expired!\n" msgstr "úÁÍÅÞÁÎÉÅ: óÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ ÕÖÅ ÉÓÔÅË!\n" -#: g10/pkclist.c:562 +#: g10/pkclist.c:568 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "÷îéíáîéå: üÔÏÔ ËÌÀÞ ÎÅ ÚÁ×ÅÒÅÎ ÄÏ×ÅÒÅÎÎÏÊ ÐÏÄÐÉÓØÀ!\n" -#: g10/pkclist.c:564 +#: g10/pkclist.c:570 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr "" " îÅÔ ÎÉËÁËÉÈ ÕËÁÚÁÎÉÑ ÎÁ ÔÏ, ÞÔÏ ËÌÀÞ ÐÒÉÎÁÄÌÅÖÉÔ ÅÇÏ ×ÌÁÄÅÌØÃÕ.\n" -#: g10/pkclist.c:581 +#: g10/pkclist.c:587 msgid "WARNING: We do NOT trust this key!\n" msgstr "÷îéíáîéå: íÙ îå ÄÏ×ÅÒÑÅÍ ÜÔÏÍÕ ËÌÀÞÕ!\n" -#: g10/pkclist.c:582 +#: g10/pkclist.c:588 msgid " The signature is probably a FORGERY.\n" msgstr " ðÏÄÐÉÓØ ×ÅÒÏÑÔÎÏ -- ðïääåìëá.\n" -#: g10/pkclist.c:589 +#: g10/pkclist.c:595 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "÷îéíáîéå: üÔÏÔ ËÌÀÞ ÎÅ ÚÁ×ÅÒÅÎ ÄÏÓÔÁÔÏÞÎÏ ÄÏ×ÅÒÅÎÎÙÍÉ ÐÏÄÐÉÓÑÍÉ!\n" -#: g10/pkclist.c:592 +#: g10/pkclist.c:598 msgid " It is not certain that the signature belongs to the owner.\n" msgstr " îÅÔ Õ×ÅÒÅÎÎÏÓÔÉ, ÞÔÏ ÐÏÄÐÉÓØ ÐÒÉÎÁÄÌÅÖÉÔ ×ÌÁÄÅÌØÃÕ.\n" -#: g10/pkclist.c:694 g10/pkclist.c:716 g10/pkclist.c:841 g10/pkclist.c:886 +#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: ÐÒÏÐÕÝÅÎ: %s\n" -#: g10/pkclist.c:702 g10/pkclist.c:868 +#: g10/pkclist.c:708 g10/pkclist.c:875 #, c-format msgid "%s: skipped: public key already present\n" msgstr "" -#: g10/pkclist.c:729 +#: g10/pkclist.c:735 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1203,97 +1213,97 @@ "\"-r\").\n" "\n" -#: g10/pkclist.c:739 +#: g10/pkclist.c:745 msgid "Enter the user ID: " msgstr "÷×ÅÄÉÔÅ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ: " -#: g10/pkclist.c:751 +#: g10/pkclist.c:757 msgid "No such user ID.\n" msgstr "îÅÔ ÔÁËÏÇÏ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ.\n" -#: g10/pkclist.c:756 +#: g10/pkclist.c:762 msgid "skipped: public key already set as default recipient\n" msgstr "" -#: g10/pkclist.c:778 +#: g10/pkclist.c:785 #, fuzzy msgid "Public key is disabled.\n" msgstr "ïÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ" -#: g10/pkclist.c:785 +#: g10/pkclist.c:792 msgid "skipped: public key already set with --encrypt-to\n" msgstr "" -#: g10/pkclist.c:816 +#: g10/pkclist.c:823 #, fuzzy, c-format msgid "unknown default recipient `%s'\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ `%s' ÏÔÓÕÔÓÔ×ÕÅÔ\n" -#: g10/pkclist.c:849 +#: g10/pkclist.c:856 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ËÌÀÞÁ: %s\n" -#: g10/pkclist.c:854 +#: g10/pkclist.c:861 #, c-format msgid "%s: skipped: public key is disabled\n" msgstr "" -#: g10/pkclist.c:892 +#: g10/pkclist.c:899 msgid "no valid addressees\n" msgstr "ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÁÄÒÅÓÏ×\n" -#: g10/keygen.c:122 +#: g10/keygen.c:123 msgid "writing self signature\n" msgstr "ÐÉÛÅÔÓÑ ÓÁÍÏ-ÐÏÄÐÉÓØ\n" -#: g10/keygen.c:160 +#: g10/keygen.c:161 msgid "writing key binding signature\n" msgstr "ÐÉÛÅÔÓÑ \"key-binding\" ÐÏÄÐÉÓØ\n" -#: g10/keygen.c:386 +#: g10/keygen.c:387 msgid "Please select what kind of key you want:\n" msgstr "÷ÙÂÅÒÉÔÅ ÖÅÌÁÅÍÙÊ ÔÉÐ ËÌÀÞÁ:\n" -#: g10/keygen.c:388 +#: g10/keygen.c:389 #, c-format msgid " (%d) DSA and ElGamal (default)\n" msgstr " (%d) DSA É ElGamal (ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" -#: g10/keygen.c:389 +#: g10/keygen.c:390 #, c-format msgid " (%d) DSA (sign only)\n" msgstr " (%d) DSA (ÔÏÌØËÏ ÐÏÄÐÉÓØ)\n" -#: g10/keygen.c:391 +#: g10/keygen.c:392 #, c-format msgid " (%d) ElGamal (encrypt only)\n" msgstr " (%d) ElGamal (ÔÏÌØËÏ ÛÉÆÒÏ×ÁÎÉÅ)\n" -#: g10/keygen.c:392 +#: g10/keygen.c:393 #, c-format msgid " (%d) ElGamal (sign and encrypt)\n" msgstr " (%d) ElGamal (ÐÏÄÐÉÓØ É ÛÉÆÒÏ×ÁÎÉÅ)\n" -#: g10/keygen.c:394 +#: g10/keygen.c:395 #, c-format msgid " (%d) ElGamal in a v3 packet\n" msgstr " (%d) ElGamal × v3-ÐÁËÅÔÅ\n" -#: g10/keygen.c:399 +#: g10/keygen.c:400 msgid "Your selection? " msgstr "÷ÁÛ ×ÙÂÏÒ? " -#: g10/keygen.c:409 +#: g10/keygen.c:410 #, fuzzy msgid "Do you really want to create a sign and encrypt key? " msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ×ÙÂÒÁÎÎÙÅ ËÌÀÞÉ? " -#: g10/keygen.c:430 +#: g10/keygen.c:431 msgid "Invalid selection.\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ×ÙÂÏÒ.\n" -#: g10/keygen.c:442 +#: g10/keygen.c:443 #, c-format msgid "" "About to generate a new %s keypair.\n" @@ -1306,15 +1316,15 @@ " ÄÌÉÎÁ ËÌÀÞÁ ÐÏ ÕÍÏÌÞÁÎÉÀ: 1024 ÂÉÔÁ\n" " ÍÁËÓÉÍÁÌØÎÁÑ ÒÅËÏÍÅÎÄÕÅÍÁÑ ÄÌÉÎÁ ËÌÀÞÁ: 2048 ÂÉÔ\n" -#: g10/keygen.c:449 +#: g10/keygen.c:450 msgid "What keysize do you want? (1024) " msgstr "ëÁËÏÇÏ ÒÁÚÍÅÒÁ ËÌÀÞ ×Ù ÖÅÌÁÅÔÅ? (1024)" -#: g10/keygen.c:454 +#: g10/keygen.c:455 msgid "DSA only allows keysizes from 512 to 1024\n" msgstr "äÏÐÕÓÔÉÍÙÊ ÒÁÚÍÅÒ DSA ËÌÀÞÅÊ - ÏÔ 512 ÄÏ 1024 ÂÉÔ\n" -#: g10/keygen.c:456 +#: g10/keygen.c:457 msgid "keysize too small; 768 is smallest value allowed.\n" msgstr "ÓÌÉÛËÏÍ ÍÁÌÅÎØËÁÑ ÄÌÉÎÁ ËÌÀÞÁ, ÎÁÉÍÅÎØÛÅÅ ÚÎÁÞÅÎÉÅ - 768.\n" @@ -1326,12 +1336,12 @@ #. * So, before you complain about this limitation, I suggest that #. * you start a discussion with Marvin about this theme and then #. * do whatever you want. -#: g10/keygen.c:466 +#: g10/keygen.c:467 #, fuzzy, c-format msgid "keysize too large; %d is largest value allowed.\n" msgstr "ÓÌÉÛËÏÍ ÍÁÌÅÎØËÁÑ ÄÌÉÎÁ ËÌÀÞÁ, ÎÁÉÍÅÎØÛÅÅ ÚÎÁÞÅÎÉÅ - 768.\n" -#: g10/keygen.c:471 +#: g10/keygen.c:472 #, fuzzy msgid "" "Keysizes larger than 2048 are not suggested because\n" @@ -1340,11 +1350,11 @@ "ëÌÀÞÉ ÄÌÉÎÏÊ ÂÏÌØÛÅ 2048 ÎÅ ÒÅËÏÍÅÎÄÕÀÔÓÑ, ÐÏÔÏÍÕ ÞÔÏ ×ÙÞÉÓÌÅÎÉÑÚÁÎÉÍÁÀÔ " "ïþåîø ÍÎÏÇÏ ×ÒÅÍÅÎÉ!\n" -#: g10/keygen.c:474 +#: g10/keygen.c:475 msgid "Are you sure that you want this keysize? " msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ËÌÀÞ ÔÁËÏÊ ÄÌÉÎÙ? " -#: g10/keygen.c:475 +#: g10/keygen.c:476 msgid "" "Okay, but keep in mind that your monitor and keyboard radiation is also very " "vulnerable to attacks!\n" @@ -1352,21 +1362,21 @@ "ïË, ÔÏÌØËÏ ÎÅ ÚÁÂÙ×ÁÊÔÅ, ÞÔÏ ÉÚÌÕÞÅÎÉÅ ×ÁÛÉÈ ËÌÁ×ÉÁÔÕÒÙ É ÍÏÎÉÔÏÒÁ ÔÏÖÅ\n" "ÄÅÌÁÀÔ ×ÁÓ ÕÑÚ×ÉÍÙÍ ÄÌÑ ÁÔÁË.\n" -#: g10/keygen.c:483 +#: g10/keygen.c:484 msgid "Do you really need such a large keysize? " msgstr "÷ÁÍ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÕÖÅÎ ÔÁËÏÊ ÄÌÉÎÎÙÊ ËÌÀÞ? " -#: g10/keygen.c:489 +#: g10/keygen.c:490 #, c-format msgid "Requested keysize is %u bits\n" msgstr "úÁÐÒÏÛÅÎÎÙÊ ËÌÀÞ ÉÍÅÅÔ ÄÌÉÎÕ %u ÂÉÔ\n" -#: g10/keygen.c:492 g10/keygen.c:496 +#: g10/keygen.c:493 g10/keygen.c:497 #, c-format msgid "rounded up to %u bits\n" msgstr "ÏËÒÕÇÌÅÎÏ ÄÏ %u ÂÉÔ\n" -#: g10/keygen.c:509 +#: g10/keygen.c:510 msgid "" "Please specify how long the key should be valid.\n" " 0 = key does not expire\n" @@ -1382,29 +1392,35 @@ " m = ÓÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ n ÍÅÓÑÃÅ×\n" " y = ÓÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ n ÌÅÔ\n" -#: g10/keygen.c:526 +#: g10/keygen.c:527 msgid "Key is valid for? (0) " msgstr "ëÌÀÞ ÄÅÊÓÔ×ÉÔÅÌÅÎ × ÔÅÞÅÎÉÅ? (0) " -#: g10/keygen.c:547 +#: g10/keygen.c:548 msgid "invalid value\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÚÎÁÞÅÎÉÅ.\n" -#: g10/keygen.c:552 +#: g10/keygen.c:553 msgid "Key does not expire at all\n" msgstr "âÅÓÓÒÏÞÎÙÊ ËÌÀÞ.\n" #. print the date when the key expires -#: g10/keygen.c:558 +#: g10/keygen.c:559 #, c-format msgid "Key expires at %s\n" msgstr "ëÌÀÞ ÄÅÊÓÔ×ÕÅÔ ÄÏ %s\n" -#: g10/keygen.c:563 +#: g10/keygen.c:562 +msgid "" +"Your system can't display dates beyond 2038.\n" +"However, it will be correctly handled up to 2106.\n" +msgstr "" + +#: g10/keygen.c:567 msgid "Is this correct (y/n)? " msgstr "üÔÏ ×ÅÒÎÏ? (y/n) " -#: g10/keygen.c:606 +#: g10/keygen.c:610 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1420,44 +1436,44 @@ " \"Vasya Pupkin (KRUTOI) \"\n" "\n" -#: g10/keygen.c:617 +#: g10/keygen.c:621 msgid "Real name: " msgstr "÷ÁÛÅ ÉÍÑ (\"éÍÑ æÁÍÉÌÉÑ\"): " -#: g10/keygen.c:621 +#: g10/keygen.c:625 msgid "Invalid character in name\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ÉÍÅÎÉ\n" -#: g10/keygen.c:623 +#: g10/keygen.c:627 msgid "Name may not start with a digit\n" msgstr "ðÏÌÎÏÅ ÉÍÑ ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ Ó ÃÉÆÒÙ.\n" -#: g10/keygen.c:625 +#: g10/keygen.c:629 msgid "Name must be at least 5 characters long\n" msgstr "ðÏÌÎÏÅ ÉÍÑ ÄÏÌÖÎÏ ÓÏÓÔÏÑÔØ ÎÅ ÍÅÎÅÅ ÞÅÍ ÉÚ 5ÔÉ ÓÉÍ×ÏÌÏ×.\n" -#: g10/keygen.c:633 +#: g10/keygen.c:637 msgid "Email address: " msgstr "E-Mail: " -#: g10/keygen.c:644 +#: g10/keygen.c:648 msgid "Not a valid email address\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ E-Mail\n" -#: g10/keygen.c:652 +#: g10/keygen.c:656 msgid "Comment: " msgstr "ëÏÍÍÅÎÔÁÒÉÊ: " -#: g10/keygen.c:658 +#: g10/keygen.c:662 msgid "Invalid character in comment\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ËÏÍÍÅÎÔÁÒÉÉ.\n" -#: g10/keygen.c:680 +#: g10/keygen.c:684 #, c-format msgid "You are using the `%s' character set.\n" msgstr "" -#: g10/keygen.c:686 +#: g10/keygen.c:690 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1468,16 +1484,16 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:689 +#: g10/keygen.c:693 msgid "NnCcEeOoQq" msgstr "" -#: g10/keygen.c:699 +#: g10/keygen.c:703 #, fuzzy msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "éÚÍÅÎÉÔØ: N=éÍÑ, C=ëÏÍÍÅÎÔÁÒÉÊ, E=E-Mail, O=Okay/Q=÷ÙÈÏÄ? " -#: g10/keygen.c:751 +#: g10/keygen.c:755 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1485,11 +1501,11 @@ "äÌÑ ÚÁÝÉÔÙ ×ÁÛÅÇÏ ËÌÀÞÁ ÎÕÖÎÁ ËÌÀÞÅ×ÁÑ ÆÒÁÚÁ.\n" "\n" -#: g10/keyedit.c:456 g10/keygen.c:759 +#: g10/keyedit.c:456 g10/keygen.c:763 msgid "passphrase not correctly repeated; try again.\n" msgstr "ËÌÀÞÅ×ÁÑ ÆÒÁÚÁ ÎÅ ÂÙÌÁ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÁ, ÐÏÐÒÏÂÕÊÔÅ ÓÎÏ×Á.\n" -#: g10/keygen.c:765 +#: g10/keygen.c:769 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "I will do it anyway. You can change your passphrase at any time,\n" @@ -1501,7 +1517,7 @@ "×ÒÅÍÑ, ÚÁÐÕÓÔÉ× ÜÔÕ ÐÒÏÇÒÁÍÍÕ Ó ÐÁÒÁÍÅÔÒÏÍ \"--edit-key\".\n" "\n" -#: g10/keygen.c:786 +#: g10/keygen.c:790 #, fuzzy msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" @@ -1514,34 +1530,34 @@ "ÎÁÇÒÕÚÉÔØ ÓÅÔÅ×ÕÀ ÉÌÉ ÄÉÓËÏ×ÕÀ ÐÏÄÓÉÓÔÅÍÕ). üÔÏ ÄÁÓÔ ÇÅÎÅÒÁÔÏÒÕ ÓÌÕÞÁÊÎÙÈ\n" "ÞÉÓÅÌ ×ÏÚÍÏÖÎÏÓÔØ ÎÁÂÒÁÔØ ÄÏÓÔÁÔÏÞÎÏ ÜÎÔÒÏÐÉÉ.\n" -#: g10/keygen.c:856 +#: g10/keygen.c:860 msgid "Key generation can only be used in interactive mode\n" msgstr "çÅÎÅÒÁÃÉÑ ËÌÀÞÁ ÍÏÖÅÔ ÂÙÔØ ×ÙÐÏÌÎÅÎÁ ÔÏÌØËÏ × ÉÎÔÅÒÁËÔÉ×ÎÏÍ ÒÅÖÉÍÅ.\n" -#: g10/keygen.c:864 +#: g10/keygen.c:868 msgid "DSA keypair will have 1024 bits.\n" msgstr "ëÌÀÞÅ×ÁÑ ÐÁÒÁ DSA ÂÕÄÅÔ ÉÍÅÔØ ÄÌÉÎÕ 1024 ÂÉÔÁ.\n" -#: g10/keygen.c:870 +#: g10/keygen.c:874 #, fuzzy msgid "Key generation canceled.\n" msgstr "çÅÎÅÒÁÃÉÑ ËÌÀÞÁ ÏÔÍÅÎÅÎÁ: %s\n" -#: g10/keygen.c:880 +#: g10/keygen.c:884 #, c-format msgid "writing public certificate to `%s'\n" msgstr "ÏÔËÒÙÔÙÊ ÓÅÒÔÉÆÉËÁÔ ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/keygen.c:881 +#: g10/keygen.c:885 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "ÓÅËÒÅÔÎÙÊ ÓÅÒÔÉÆÉËÁÔ ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/keygen.c:958 +#: g10/keygen.c:962 msgid "public and secret key created and signed.\n" msgstr "ÏÔËÒÙÔÙÊ É ÓÅËÒÅÔÎÙÊ ËÌÀÞÉ ÓÏÚÄÁÎÙ É ÐÏÄÐÉÓÁÎÙ.\n" -#: g10/keygen.c:960 +#: g10/keygen.c:964 #, fuzzy msgid "" "Note that this key cannot be used for encryption. You may want to use\n" @@ -1552,12 +1568,12 @@ "ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ\n" "ËÌÀÞÁ ÄÌÑ ÛÉÆÒÏ×ÁÎÉÑ.\n" -#: g10/keygen.c:974 g10/keygen.c:1073 +#: g10/keygen.c:978 g10/keygen.c:1077 #, c-format msgid "Key generation failed: %s\n" msgstr "çÅÎÅÒÁÃÉÑ ËÌÀÞÁ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/keygen.c:1018 g10/sig-check.c:312 g10/sign.c:105 +#: g10/keygen.c:1022 g10/sig-check.c:312 g10/sign.c:105 #, fuzzy, c-format msgid "" "key has been created %lu second in future (time warp or clock problem)\n" @@ -1565,7 +1581,7 @@ "ÏÔËÒÙÔÙÊ ËÌÀÞ ÓÇÅÎÅÒÉÒÏ×ÁÎ × ÂÕÄÕÝÅÍ (ÉÓËÒÉ×ÌÅÎÉÅ ×ÒÅÍÅÎÉ ÉÌÉ ÎÅÐÒÁ×ÉÌØÎÏ " "ÕÓÔÁÎÏ×ÌÅÎÙ ÞÁÓÙ)\n" -#: g10/keygen.c:1020 g10/sig-check.c:314 g10/sign.c:107 +#: g10/keygen.c:1024 g10/sig-check.c:314 g10/sign.c:107 #, fuzzy, c-format msgid "" "key has been created %lu seconds in future (time warp or clock problem)\n" @@ -1573,13 +1589,13 @@ "ÏÔËÒÙÔÙÊ ËÌÀÞ ÓÇÅÎÅÒÉÒÏ×ÁÎ × ÂÕÄÕÝÅÍ (ÉÓËÒÉ×ÌÅÎÉÅ ×ÒÅÍÅÎÉ ÉÌÉ ÎÅÐÒÁ×ÉÌØÎÏ " "ÕÓÔÁÎÏ×ÌÅÎÙ ÞÁÓÙ)\n" -#: g10/keygen.c:1051 +#: g10/keygen.c:1055 #, fuzzy msgid "Really create? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÓÏÚÄÁÔØ? " -#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:468 -#: g10/tdbio.c:529 +#: g10/encode.c:91 g10/openfile.c:168 g10/openfile.c:277 g10/tdbio.c:454 +#: g10/tdbio.c:515 #, c-format msgid "%s: can't open: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" @@ -1589,17 +1605,17 @@ msgid "error creating passphrase: %s\n" msgstr "ÏÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ËÌÀÞÅ×ÏÊ ÆÒÁÚÙ: %s\n" -#: g10/encode.c:171 g10/encode.c:318 +#: g10/encode.c:171 g10/encode.c:319 #, fuzzy, c-format msgid "%s: WARNING: empty file\n" msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÕÓÔÏÊ ÆÁÊÌ.\n" -#: g10/encode.c:265 +#: g10/encode.c:266 #, c-format msgid "reading from `%s'\n" msgstr "þÉÔÁÅÔÓÑ ÉÚ `%s'\n" -#: g10/encode.c:482 +#: g10/encode.c:483 #, fuzzy, c-format msgid "%s/%s encrypted for: %s\n" msgstr "%s ÚÁÛÉÆÒÏ×ÁÎÏ ÄÌÑ: %s\n" @@ -1632,262 +1648,262 @@ msgid "too many entries in unk cache - disabled\n" msgstr "" -#: g10/getkey.c:1289 g10/getkey.c:1328 +#: g10/getkey.c:1294 g10/getkey.c:1333 msgid "RSA key cannot be used in this version\n" msgstr "" -#: g10/getkey.c:1291 g10/getkey.c:1330 +#: g10/getkey.c:1296 g10/getkey.c:1335 #, fuzzy msgid "No key for user ID\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/getkey.c:1369 g10/getkey.c:1409 +#: g10/getkey.c:1374 g10/getkey.c:1414 #, fuzzy msgid "No user ID for key\n" msgstr "ðÌÏÈÏÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" -#: g10/getkey.c:1565 g10/getkey.c:1621 +#: g10/getkey.c:1570 g10/getkey.c:1626 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "ÉÓÐÏÌØÚÕÅÔÓÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ËÌÀÞ %09lX ×ÍÅÓÔÏ ÏÓÎÏ×ÎÏÇÏ %08lX%\n" -#: g10/import.c:118 +#: g10/import.c:124 #, fuzzy, c-format msgid "can't open `%s': %s\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ `%s': %s\n" -#: g10/import.c:162 +#: g10/import.c:178 #, c-format msgid "skipping block of type %d\n" msgstr "ÐÒÏÐÕÓËÁÅÍ ÂÌÏË ÔÉÐÁ %d\n" -#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 +#: g10/import.c:185 g10/trustdb.c:1727 g10/trustdb.c:1768 #, c-format msgid "%lu keys so far processed\n" msgstr "" -#: g10/import.c:174 +#: g10/import.c:190 #, fuzzy, c-format msgid "error reading `%s': %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/import.c:177 +#: g10/import.c:200 #, c-format msgid "Total number processed: %lu\n" msgstr "" -#: g10/import.c:179 +#: g10/import.c:202 #, c-format msgid " w/o user IDs: %lu\n" msgstr "" -#: g10/import.c:181 +#: g10/import.c:204 #, c-format msgid " imported: %lu" msgstr "" -#: g10/import.c:187 +#: g10/import.c:210 #, c-format msgid " unchanged: %lu\n" msgstr "" -#: g10/import.c:189 +#: g10/import.c:212 #, c-format msgid " new user IDs: %lu\n" msgstr "" -#: g10/import.c:191 +#: g10/import.c:214 #, c-format msgid " new subkeys: %lu\n" msgstr "" -#: g10/import.c:193 +#: g10/import.c:216 #, fuzzy, c-format msgid " new signatures: %lu\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/import.c:195 +#: g10/import.c:218 #, c-format msgid " new key revocations: %lu\n" msgstr "" -#: g10/import.c:197 +#: g10/import.c:220 #, c-format msgid " secret keys read: %lu\n" msgstr "" -#: g10/import.c:199 +#: g10/import.c:222 #, fuzzy, c-format msgid " secret keys imported: %lu\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" -#: g10/import.c:201 +#: g10/import.c:224 #, fuzzy, c-format msgid " secret keys unchanged: %lu\n" msgstr "éÓÐÏÌØÚÏ×ÁÎ ÎÅÐÒÁ×ÉÌØÎÙÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" -#: g10/import.c:362 g10/import.c:554 +#: g10/import.c:383 g10/import.c:575 #, fuzzy, c-format msgid "key %08lX: no user ID\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/import.c:376 +#: g10/import.c:397 #, fuzzy, c-format msgid "key %08lX: no valid user IDs\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/import.c:378 +#: g10/import.c:399 msgid "this may be caused by a missing self-signature\n" msgstr "ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÏ ÏÔÓÕÔÓÔ×ÉÅÍ ÓÁÍÏ-ÐÏÄÐÉÓÉ\n" -#: g10/import.c:389 g10/import.c:621 +#: g10/import.c:410 g10/import.c:642 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" -#: g10/import.c:395 +#: g10/import.c:416 msgid "no default public keyring\n" msgstr "ÎÅÔ Ó×ÑÚËÉ ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ ÐÏ ÕÍÏÌÞÁÎÉÀ\n" -#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:580 +#: g10/import.c:420 g10/openfile.c:220 g10/sign.c:268 g10/sign.c:580 #, c-format msgid "writing to `%s'\n" msgstr "ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#: g10/import.c:423 g10/import.c:481 g10/import.c:590 g10/import.c:691 #, fuzzy, c-format msgid "can't lock keyring `%s': %s\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ Ó×ÑÚËÕ ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ: %s\n" -#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#: g10/import.c:426 g10/import.c:484 g10/import.c:593 g10/import.c:694 #, fuzzy, c-format msgid "error writing keyring `%s': %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/import.c:410 +#: g10/import.c:431 #, c-format msgid "key %08lX: public key imported\n" msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" -#: g10/import.c:427 +#: g10/import.c:448 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "ËÌÀÞ %08lX: ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÎÁÛÅÊ ËÏÐÉÅÊ\n" -#: g10/import.c:436 g10/import.c:629 +#: g10/import.c:457 g10/import.c:650 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "ËÌÀÞ %08lX: ÎÅ×ÏÚÍÏÖÎÏ ÏÂÎÁÒÕÖÉÔØ original keyblock: %s\n" -#: g10/import.c:442 g10/import.c:635 +#: g10/import.c:463 g10/import.c:656 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "ËÌÀÞ %08lX: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ original keyblock: %s\n" -#: g10/import.c:469 +#: g10/import.c:490 #, fuzzy, c-format msgid "key %08lX: 1 new user ID\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/import.c:472 +#: g10/import.c:493 #, fuzzy, c-format msgid "key %08lX: %d new user IDs\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/import.c:475 +#: g10/import.c:496 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÁÑ ÐÏÄÐÉÓØ\n" -#: g10/import.c:478 +#: g10/import.c:499 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/import.c:481 +#: g10/import.c:502 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÙÊ ÐÏÄ-ËÌÀÞ\n" -#: g10/import.c:484 +#: g10/import.c:505 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÐÏÄ-ËÌÀÞÅÊ\n" -#: g10/import.c:494 +#: g10/import.c:515 #, c-format msgid "key %08lX: not changed\n" msgstr "ËÌÀÞ %08lX: ÎÅ ÉÚÍÅÎÅÎ\n" -#: g10/import.c:577 +#: g10/import.c:598 #, c-format msgid "key %08lX: secret key imported\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" #. we can't merge secret keys -#: g10/import.c:581 +#: g10/import.c:602 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "ËÌÀÞ %08lX: ÕÖÅ ÎÁ Ó×ÑÚËÅ ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ\n" -#: g10/import.c:586 +#: g10/import.c:607 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" -#: g10/import.c:615 +#: g10/import.c:636 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" "ËÌÀÞ %08lX: ÎÅÔ ÏÔËÒÙÔÏÇÏ ËÌÀÞÁ - ÎÅ×ÏÚÍÏÖÎÏ ÐÒÉÍÅÎÉÔØ ÏÔÚÙ×ÁÀÝÉÊ " "ÓÅÒÔÉÆÉËÁÔ\n" -#: g10/import.c:646 +#: g10/import.c:667 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÙÊ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ: %s - ÏÔ×ÅÒÇÎÕÔ\n" -#: g10/import.c:678 +#: g10/import.c:699 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" -#: g10/import.c:711 +#: g10/import.c:741 #, fuzzy, c-format msgid "key %08lX: no user ID for signature\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ\n" -#: g10/import.c:718 g10/import.c:742 +#: g10/import.c:748 g10/import.c:772 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "ËÌÀÞ %08lX: ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÁÌÇÏÒÉÔÍ ÏÔËÒÙÔÏÇÏ ËÌÀÞÁ\n" -#: g10/import.c:719 +#: g10/import.c:749 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÁÑ ÓÁÍÏ-ÐÏÄÐÉÓØ\n" -#: g10/import.c:734 +#: g10/import.c:764 #, fuzzy, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/import.c:743 +#: g10/import.c:773 #, fuzzy, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/import.c:769 +#: g10/import.c:800 #, fuzzy, c-format msgid "key %08lX: accepted non self-signed user ID '" msgstr "ËÌÀÞ %08lX: ÐÒÏÐÕÝÅÎ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ '" -#: g10/import.c:798 +#: g10/import.c:829 #, fuzzy, c-format msgid "key %08lX: skipped user ID '" msgstr "ËÌÀÞ %08lX: ÐÒÏÐÕÝÅÎ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ '" -#: g10/import.c:821 +#: g10/import.c:852 #, fuzzy, c-format msgid "key %08lX: skipped subkey\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÙÊ ÐÏÄ-ËÌÀÞ\n" @@ -1896,32 +1912,32 @@ #. * to import non-exportable signature when we have the #. * the secret key used to create this signature - it #. * seems that this makes sense -#: g10/import.c:846 +#: g10/import.c:877 #, fuzzy, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ × ÎÅÐÒÁ×ÉÌØÎÏÍ ÍÅÓÔÅ - ÐÒÏÐÕÝÅÎ\n" -#: g10/import.c:855 +#: g10/import.c:886 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ × ÎÅÐÒÁ×ÉÌØÎÏÍ ÍÅÓÔÅ - ÐÒÏÐÕÝÅÎ\n" -#: g10/import.c:863 +#: g10/import.c:894 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÙÊ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ: %s - ÐÒÏÐÕÝÅÎ\n" -#: g10/import.c:963 +#: g10/import.c:994 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "" -#: g10/import.c:1014 +#: g10/import.c:1045 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ ÄÏÂÁ×ÌÅÎ\n" -#: g10/import.c:1128 g10/import.c:1183 +#: g10/import.c:1159 g10/import.c:1212 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "ËÌÀÞ %08lX: ÎÁÛÁ ËÏÐÉÑ ÎÅ ÉÍÅÅÔ ÓÁÍÏ-ÐÏÄÐÉÓÉ\n" @@ -2010,7 +2026,7 @@ msgid "Really sign? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÐÏÄÐÉÓÁÔØ? " -#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1835 g10/keyedit.c:1884 g10/sign.c:128 #, fuzzy, c-format msgid "signing failed: %s\n" msgstr "ÏÛÉÂËÁ ÐÏÄÐÉÓÙ×ÁÎÉÑ: %s\n" @@ -2392,123 +2408,123 @@ msgid "Invalid command (try \"help\")\n" msgstr "îÅÄÏÐÕÓÔÉÍÁÑ ËÏÍÁÎÄÁ (ÐÏÐÒÏÂÕÊÔÅ \"help\")\n" -#: g10/keyedit.c:1065 +#: g10/keyedit.c:1068 #, fuzzy msgid "This key has been disabled" msgstr "úÁÍÅÞÁÎÉÅ: óÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ ÕÖÅ ÉÓÔÅË!\n" -#: g10/keyedit.c:1336 +#: g10/keyedit.c:1339 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1340 +#: g10/keyedit.c:1343 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1344 +#: g10/keyedit.c:1347 #, fuzzy msgid "Delete this unknown signature? (y/N/q)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/keyedit.c:1350 +#: g10/keyedit.c:1353 #, fuzzy msgid "Really delete this self-signature? (y/N)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/keyedit.c:1364 +#: g10/keyedit.c:1367 #, fuzzy, c-format msgid "Deleted %d signature.\n" msgstr "%d ÐÌÏÈÉÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/keyedit.c:1365 +#: g10/keyedit.c:1368 #, fuzzy, c-format msgid "Deleted %d signatures.\n" msgstr "%d ÐÌÏÈÉÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/keyedit.c:1368 +#: g10/keyedit.c:1371 #, fuzzy msgid "Nothing deleted.\n" msgstr "÷îéíáîéå: éÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ Ë ËÏÔÏÒÏÍÕ ÎÅÔ ÄÏ×ÅÒÉÑ!\n" -#: g10/keyedit.c:1437 +#: g10/keyedit.c:1440 msgid "Please remove selections from the secret keys.\n" msgstr "" -#: g10/keyedit.c:1443 +#: g10/keyedit.c:1446 #, fuzzy msgid "Please select at most one secondary key.\n" msgstr "÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ ÈÏÔÑ ÂÙ ÏÄÉÎ ËÌÀÞ.\n" -#: g10/keyedit.c:1447 +#: g10/keyedit.c:1450 msgid "Changing expiration time for a secondary key.\n" msgstr "" -#: g10/keyedit.c:1449 +#: g10/keyedit.c:1452 msgid "Changing expiration time for the primary key.\n" msgstr "" -#: g10/keyedit.c:1490 +#: g10/keyedit.c:1493 msgid "You can't change the expiration date of a v3 key\n" msgstr "" -#: g10/keyedit.c:1506 +#: g10/keyedit.c:1509 msgid "No corresponding signature in secret ring\n" msgstr "" -#: g10/keyedit.c:1566 +#: g10/keyedit.c:1569 #, fuzzy, c-format msgid "No user ID with index %d\n" msgstr "îÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ Ó ÉÎÄÅËÓÏÍ %d\n" -#: g10/keyedit.c:1612 +#: g10/keyedit.c:1615 #, c-format msgid "No secondary key with index %d\n" msgstr "îÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ ËÌÀÞÁ Ó ÉÎÄÅËÓÏÍ %d\n" -#: g10/keyedit.c:1710 +#: g10/keyedit.c:1713 #, fuzzy msgid "user ID: \"" msgstr "÷×ÅÄÉÔÅ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ: " -#: g10/keyedit.c:1713 +#: g10/keyedit.c:1716 #, fuzzy, c-format msgid "" "\"\n" "signed with your key %08lX at %s\n" msgstr "îÅÞÅÇÏ ÐÏÄÐÉÓÙ×ÁÔØ ËÌÀÞÁÍ %08lX\n" -#: g10/keyedit.c:1717 +#: g10/keyedit.c:1720 #, fuzzy msgid "Create a revocation certificate for this signature? (y/N)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" #. FIXME: detect duplicates here -#: g10/keyedit.c:1740 +#: g10/keyedit.c:1743 #, fuzzy msgid "You have signed these user IDs:\n" msgstr "÷Ù ÎÅ ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÐÏÓÌÅÄÎÉÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ!\n" -#: g10/keyedit.c:1754 g10/keyedit.c:1789 +#: g10/keyedit.c:1757 g10/keyedit.c:1792 #, fuzzy, c-format msgid " signed by %08lX at %s\n" msgstr "îÅÞÅÇÏ ÐÏÄÐÉÓÙ×ÁÔØ ËÌÀÞÁÍ %08lX\n" -#: g10/keyedit.c:1759 +#: g10/keyedit.c:1762 #, fuzzy, c-format msgid " revoked by %08lX at %s\n" msgstr "îÅÞÅÇÏ ÐÏÄÐÉÓÙ×ÁÔØ ËÌÀÞÁÍ %08lX\n" -#: g10/keyedit.c:1779 +#: g10/keyedit.c:1782 #, fuzzy msgid "You are about to revoke these signatures:\n" msgstr "Möchten Sie einige der ungültigen Signaturen entfernen? " -#: g10/keyedit.c:1797 +#: g10/keyedit.c:1800 #, fuzzy msgid "Really create the revocation certificates? (y/N)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/keyedit.c:1820 +#: g10/keyedit.c:1823 #, fuzzy msgid "no secret key\n" msgstr "ðÌÏÈÏÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" @@ -2523,95 +2539,104 @@ msgid "public key encrypted data: good DEK\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÏÔËÒÙÔÙÍ ËÌÀÞÏÍ ÎÅ ÕÄÁÌÁÓØ %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:277 #, fuzzy, c-format msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" msgstr "(%u-ÂÉÔ %s ËÌÀÞ, ID %08lX, ÓÏÚÄÁÎ %s)\n" -#: g10/mainproc.c:285 +#: g10/mainproc.c:287 #, fuzzy, c-format msgid "encrypted with %s key, ID %08lX\n" msgstr "ðÏÄÐÉÓØ ÓÄÅÌÁÎÁ %.*s, ÉÓÐÏÌØÚÕÑ %s ËÌÀÞ %08lX\n" -#: g10/mainproc.c:291 +#: g10/mainproc.c:293 #, fuzzy msgid "no secret key for decryption available\n" msgstr "óÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: g10/mainproc.c:300 +#: g10/mainproc.c:302 #, c-format msgid "public key decryption failed: %s\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÏÔËÒÙÔÙÍ ËÌÀÞÏÍ ÎÅ ÕÄÁÌÁÓØ %s\n" -#: g10/mainproc.c:330 +#: g10/mainproc.c:334 #, fuzzy msgid "decryption okay\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/mainproc.c:335 +#: g10/mainproc.c:339 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "" -#: g10/mainproc.c:340 +#: g10/mainproc.c:344 #, c-format msgid "decryption failed: %s\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/mainproc.c:358 +#: g10/mainproc.c:362 #, fuzzy msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÏÔÐÒÁ×ÉÔÅÌØ ÚÁÐÒÏÓÉÌ \"ÔÏÌØËÏ-ÄÌÑ-÷ÁÛÉÈ-ÇÌÁÚ\"\n" -#: g10/mainproc.c:360 +#: g10/mainproc.c:364 #, c-format msgid "original file name='%.*s'\n" msgstr "" -#: g10/mainproc.c:587 g10/mainproc.c:596 +#: g10/mainproc.c:515 +msgid "standalone revocation - use \"gpg --import\" to apply\n" +msgstr "" + +#: g10/mainproc.c:598 g10/mainproc.c:607 #, fuzzy msgid "WARNING: invalid notation data found\n" msgstr "ÎÅ ÎÁÊÄÅÎÏ ÄÏÐÕÓÔÉÍÙÈ RFC1991 ÉÌÉ OpenPGP ÄÁÎÎÙÈ.\n" -#: g10/mainproc.c:599 +#: g10/mainproc.c:610 msgid "Notation: " msgstr "" -#: g10/mainproc.c:606 +#: g10/mainproc.c:617 msgid "Policy: " msgstr "" -#: g10/mainproc.c:1025 +#: g10/mainproc.c:1039 msgid "signature verification suppressed\n" msgstr "" -#: g10/mainproc.c:1031 +#: g10/mainproc.c:1045 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "ðÏÄÐÉÓØ ÓÄÅÌÁÎÁ %.*s, ÉÓÐÏÌØÚÕÑ %s ËÌÀÞ %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:1057 g10/mainproc.c:1068 +#: g10/mainproc.c:1071 g10/mainproc.c:1082 msgid "BAD signature from \"" msgstr "ðìïèáñ ÐÏÄÐÉÓØ ÏÔ \"" -#: g10/mainproc.c:1058 g10/mainproc.c:1069 +#: g10/mainproc.c:1072 g10/mainproc.c:1083 msgid "Good signature from \"" msgstr "èÏÒÏÛÁÑ ÐÏÄÐÉÓØ ÏÔ \"" -#: g10/mainproc.c:1060 +#: g10/mainproc.c:1074 msgid " aka \"" msgstr "" -#: g10/mainproc.c:1115 +#: g10/mainproc.c:1130 #, c-format msgid "Can't check signature: %s\n" msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ: %s\n" -#: g10/mainproc.c:1212 +#: g10/mainproc.c:1191 +#, fuzzy, c-format +msgid "standalone signature of class 0x%02x\n" +msgstr "ðÏÄÐÉÓØ ÎÅÉÚ×ÅÓÔÎÏÇÏ ÔÉÐÁ" + +#: g10/mainproc.c:1230 msgid "old style (PGP 2.x) signature\n" msgstr "" -#: g10/mainproc.c:1217 +#: g10/mainproc.c:1235 msgid "invalid root packet detected in proc_tree()\n" msgstr "" @@ -2640,12 +2665,12 @@ msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "" -#: g10/parse-packet.c:113 +#: g10/parse-packet.c:115 #, fuzzy, c-format msgid "can't handle public key algorithm %d\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ Ó×ÑÚËÕ ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ: %s\n" -#: g10/parse-packet.c:939 +#: g10/parse-packet.c:945 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "" @@ -2689,6 +2714,11 @@ msgid "data not saved; use option \"--output\" to save it\n" msgstr "ÄÁÎÎÙÅ ÎÅ ÂÙÌÉ ÓÏÈÒÁÎÅÎÙ; ×ÏÓÐÏÌØÚÕÊÔÅÓØ --\"output\" ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ\n" +#: g10/plaintext.c:311 +#, fuzzy +msgid "Detached signature.\n" +msgstr "%d ÐÌÏÈÉÈ ÐÏÄÐÉÓÅÊ\n" + #: g10/plaintext.c:315 msgid "Please enter name of data file: " msgstr "ðÏÖÁÌÕÊÓÔÁ, ××ÅÄÉÔÅ ÉÍÑ ÆÁÊÌÁ ÄÁÎÎÙÈ: " @@ -2722,6 +2752,45 @@ msgid "NOTE: cipher algorithm %d not found in preferences\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍ %d ÎÅ ÎÁÊÄÅÎ × ÐÒÅÄÐÏÞÔÅÎÉÑÈ\n" +#: g10/hkp.c:62 +#, c-format +msgid "requesting key %08lX from %s ...\n" +msgstr "" + +#: g10/hkp.c:71 +#, fuzzy, c-format +msgid "can't get key from keyserver: %s\n" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ × Ó×ÑÚËÕ ËÌÀÞÅÊ: %s\n" + +#: g10/hkp.c:94 g10/hkp.c:127 +msgid "no keyserver known (use option --keyserver)\n" +msgstr "" + +#: g10/hkp.c:102 +#, fuzzy, c-format +msgid "%s: not a valid key ID\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ËÏÍÍÅÎÔÁÒÉÉ.\n" + +#: g10/hkp.c:149 +#, fuzzy, c-format +msgid "can't connect to `%s': %s\n" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ `%s': %s\n" + +#: g10/hkp.c:173 +#, fuzzy, c-format +msgid "error sending to `%s': %s\n" +msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" + +#: g10/hkp.c:185 +#, c-format +msgid "success sending to `%s' (status=%u)\n" +msgstr "" + +#: g10/hkp.c:188 +#, c-format +msgid "failed sending to `%s': status=%u\n" +msgstr "" + #: g10/seckey-cert.c:55 #, fuzzy, c-format msgid "protection algorithm %d is not supported\n" @@ -2789,459 +2858,466 @@ msgid "can't handle text lines longer than %d characters\n" msgstr "" -#: g10/textfilter.c:197 +#: g10/textfilter.c:218 #, c-format msgid "input line longer than %d characters\n" msgstr "" -#: g10/tdbio.c:121 g10/tdbio.c:1635 +#: g10/tdbio.c:116 g10/tdbio.c:1623 #, fuzzy, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:127 g10/tdbio.c:1642 +#: g10/tdbio.c:122 g10/tdbio.c:1630 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" -#: g10/tdbio.c:237 +#: g10/tdbio.c:232 msgid "trustdb transaction too large\n" msgstr "" -#: g10/tdbio.c:429 +#: g10/tdbio.c:424 #, fuzzy, c-format msgid "%s: can't access: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: 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:304 g10/tdbio.c:448 -#, fuzzy, c-format -msgid "%s: directory created\n" -msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" - -#: g10/tdbio.c:452 +#: g10/tdbio.c:438 #, c-format msgid "%s: directory does not exist!\n" msgstr "" -#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1348 g10/tdbio.c:458 +#: g10/openfile.c:216 g10/openfile.c:284 g10/ringedit.c:1335 g10/tdbio.c:444 #, fuzzy, c-format msgid "%s: can't create: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:473 g10/tdbio.c:522 +#: g10/tdbio.c:459 g10/tdbio.c:508 #, fuzzy, c-format msgid "%s: can't create lock\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:487 +#: g10/tdbio.c:473 #, c-format msgid "%s: failed to create version record: %s" msgstr "" -#: g10/tdbio.c:491 +#: g10/tdbio.c:477 #, fuzzy, c-format msgid "%s: invalid trustdb created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:494 +#: g10/tdbio.c:480 #, fuzzy, c-format msgid "%s: trustdb created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:531 +#: g10/tdbio.c:517 #, fuzzy, c-format msgid "%s: invalid trustdb\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:564 +#: g10/tdbio.c:550 #, fuzzy, c-format msgid "%s: failed to create hashtable: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/tdbio.c:572 +#: g10/tdbio.c:558 #, fuzzy, c-format msgid "%s: error updating version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: 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 +#: g10/tdbio.c:574 g10/tdbio.c:613 g10/tdbio.c:635 g10/tdbio.c:665 +#: g10/tdbio.c:690 g10/tdbio.c:1556 g10/tdbio.c:1583 #, fuzzy, c-format msgid "%s: error reading version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:601 g10/tdbio.c:660 +#: g10/tdbio.c:587 g10/tdbio.c:646 #, fuzzy, c-format msgid "%s: error writing version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1247 +#: g10/tdbio.c:1235 #, fuzzy, c-format msgid "trustdb: lseek failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1255 +#: g10/tdbio.c:1243 #, fuzzy, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1276 +#: g10/tdbio.c:1264 #, fuzzy, c-format msgid "%s: not a trustdb file\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1292 +#: g10/tdbio.c:1280 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "" -#: g10/tdbio.c:1297 +#: g10/tdbio.c:1285 #, fuzzy, c-format msgid "%s: invalid file version %d\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÎÁÞÁÌÏ ÔÅËÓÔÏ×ÏÊ ÐÏÄÐÉÓÉ\n" -#: g10/tdbio.c:1601 +#: g10/tdbio.c:1589 #, fuzzy, c-format msgid "%s: error reading free record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1609 +#: g10/tdbio.c:1597 #, fuzzy, c-format msgid "%s: error writing dir record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1619 +#: g10/tdbio.c:1607 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "" -#: g10/tdbio.c:1649 +#: g10/tdbio.c:1637 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "" -#: g10/tdbio.c:1760 +#: g10/tdbio.c:1748 #, fuzzy msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "âÁÚÁ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÒÁÚÒÕÛÅÎÁ: ÚÁÐÕÓÔÉÔÅ \"gpgm --fix-trust-db\".\n" -#: g10/trustdb.c:160 +#: g10/trustdb.c:169 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "" -#: g10/trustdb.c:175 +#: g10/trustdb.c:184 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "" -#: g10/trustdb.c:189 +#: g10/trustdb.c:198 #, fuzzy, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:203 +#: g10/trustdb.c:212 #, fuzzy, c-format msgid "trustdb: sync failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:347 +#: g10/trustdb.c:377 #, fuzzy, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/trustdb.c:354 +#: g10/trustdb.c:384 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "" -#: g10/trustdb.c:359 +#: g10/trustdb.c:389 #, c-format msgid "no primary key for LID %lu\n" msgstr "" -#: g10/trustdb.c:364 +#: g10/trustdb.c:394 #, fuzzy, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:433 #, fuzzy, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:458 +#: g10/trustdb.c:488 #, fuzzy, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "üÔÏÔ ËÌÀÞ ÎÅ ÚÁÝÉÝÅÎ.\n" -#: g10/trustdb.c:466 +#: g10/trustdb.c:496 #, fuzzy, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "ÓÅËÒÅÔÎÙÊ ËÌÀÞ %08lX: ÎÅ ÉÍÅÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÏÔËÒÙÔÏÇÏ ËÌÀÞÁ.\n" -#: g10/trustdb.c:473 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ É ÏÔËÒÙÔÏÇÏ ËÌÀÞÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ.\n" -#: g10/trustdb.c:485 +#: g10/trustdb.c:515 #, fuzzy, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "ËÌÀÞ %08lX.%lu: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÏÖÉÔØ × ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ\n" -#: g10/trustdb.c:491 +#: g10/trustdb.c:521 #, fuzzy, c-format msgid "key %08lX: query record failed\n" msgstr "ËÌÀÞ %08lX: ÚÁÐÒÏÓ ÚÁÐÉÓÉ ÎÅ ÕÄÁÌÓÑ\n" -#: g10/trustdb.c:500 +#: g10/trustdb.c:530 #, fuzzy, c-format msgid "key %08lX: already in trusted key table\n" msgstr "ËÌÀÞ %08lX: ÕÖÅ ÎÁ Ó×ÑÚËÅ ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ\n" -#: g10/trustdb.c:503 +#: g10/trustdb.c:533 #, fuzzy, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "ËÌÀÞ %08lX: ÕÖÅ ÎÁ Ó×ÑÚËÅ ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ\n" -#: g10/trustdb.c:511 +#: g10/trustdb.c:541 #, fuzzy, c-format msgid "enumerate secret keys failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:877 +#: g10/trustdb.c:922 #, fuzzy, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/trustdb.c:883 g10/trustdb.c:918 +#: g10/trustdb.c:928 g10/trustdb.c:963 #, fuzzy, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/trustdb.c:895 +#: g10/trustdb.c:940 #, fuzzy, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "ËÌÀÞ %08lX.%lu: ÓÒÏË ÄÅÊÓÔ×ÉÑ ÉÓÔÅË %s\n" -#: g10/trustdb.c:901 +#: g10/trustdb.c:946 #, fuzzy, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" -#: g10/trustdb.c:912 +#: g10/trustdb.c:957 #, fuzzy, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/trustdb.c:1023 +#: g10/trustdb.c:1068 #, fuzzy msgid "Good self-signature" msgstr "[ÓÁÍÏ-ÐÏÄÐÉÓØ]\n" -#: g10/trustdb.c:1033 +#: g10/trustdb.c:1078 #, fuzzy msgid "Invalid self-signature" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÁÑ ÓÁÍÏ-ÐÏÄÐÉÓØ\n" -#: g10/trustdb.c:1060 +#: g10/trustdb.c:1105 msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" -#: g10/trustdb.c:1066 +#: g10/trustdb.c:1111 #, fuzzy msgid "Valid user ID revocation" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ×ÙÂÏÒ.\n" -#: g10/trustdb.c:1071 +#: g10/trustdb.c:1116 #, fuzzy msgid "Invalid user ID revocation" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ×ÙÂÏÒ.\n" -#: g10/trustdb.c:1112 +#: g10/trustdb.c:1157 #, fuzzy msgid "Valid certificate revocation" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1113 +#: g10/trustdb.c:1158 #, fuzzy msgid "Good certificate" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1134 +#: g10/trustdb.c:1179 #, fuzzy msgid "Invalid certificate revocation" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1135 +#: g10/trustdb.c:1180 #, fuzzy msgid "Invalid certificate" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1152 g10/trustdb.c:1156 +#: g10/trustdb.c:1197 g10/trustdb.c:1201 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "" -#: g10/trustdb.c:1208 +#: g10/trustdb.c:1254 #, fuzzy msgid "duplicated certificate - deleted" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1514 +#: g10/trustdb.c:1571 #, fuzzy, c-format msgid "tdbio_search_dir failed: %s\n" msgstr "ÏÛÉÂËÁ ÄÅËÏÄÉÒÏ×ÁÎÉÑ: %s\n" -#: g10/trustdb.c:1636 +#: g10/trustdb.c:1705 #, fuzzy, c-format msgid "lid ?: insert failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:1641 +#: g10/trustdb.c:1710 #, fuzzy, c-format msgid "lid %lu: insert failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:1647 +#: g10/trustdb.c:1716 #, c-format msgid "lid %lu: inserted\n" msgstr "" -#: g10/trustdb.c:1652 +#: g10/trustdb.c:1721 #, fuzzy, c-format msgid "error reading dir record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/trustdb.c:1660 g10/trustdb.c:1714 +#: g10/trustdb.c:1729 g10/trustdb.c:1792 #, c-format msgid "%lu keys processed\n" msgstr "" -#: g10/trustdb.c:1662 g10/trustdb.c:1718 +#: g10/trustdb.c:1731 g10/trustdb.c:1798 #, fuzzy, c-format msgid "\t%lu keys with errors\n" msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ" -#: g10/trustdb.c:1664 +#: g10/trustdb.c:1733 #, c-format msgid "\t%lu keys inserted\n" msgstr "" -#: g10/trustdb.c:1667 +#: g10/trustdb.c:1736 #, fuzzy, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:1705 +#: g10/trustdb.c:1784 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "" -#: g10/trustdb.c:1716 +#: g10/trustdb.c:1794 +#, fuzzy, c-format +msgid "\t%lu due to new pubkeys\n" +msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÐÏÄ-ËÌÀÞÅÊ\n" + +#: g10/trustdb.c:1796 #, fuzzy, c-format msgid "\t%lu keys skipped\n" msgstr "%s: ÐÒÏÐÕÝÅÎ: %s\n" -#: g10/trustdb.c:1720 +#: g10/trustdb.c:1800 #, c-format msgid "\t%lu keys updated\n" msgstr "" -#: g10/trustdb.c:2057 +#: g10/trustdb.c:2143 msgid "Ooops, no keys\n" msgstr "" -#: g10/trustdb.c:2061 +#: g10/trustdb.c:2147 #, fuzzy msgid "Ooops, no user IDs\n" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ" -#: g10/trustdb.c:2218 +#: g10/trustdb.c:2305 #, fuzzy, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "ËÌÀÞ %08lX.%lu: ×ÓÔÁ×ËÁ ÄÏ×ÅÒÉÔÅÌØÎÏÊ ÚÁÐÉÓÉ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/trustdb.c:2227 +#: g10/trustdb.c:2314 #, fuzzy, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "ËÌÀÞ %08lX.%lu: ×ÓÔÁ×ËÁ ÄÏ×ÅÒÉÔÅÌØÎÏÊ ÚÁÐÉÓÉ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/trustdb.c:2231 +#: g10/trustdb.c:2318 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "ËÌÀÞ %08lX.%lu: ×ÓÔÁ×ÌÅÎ × ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ\n" -#: g10/trustdb.c:2239 +#: g10/trustdb.c:2326 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "ËÌÀÞ %08lX.%lu: ÓÇÅÎÅÒÉÒÏ×ÁÎ × ÂÕÄÕÝÅÍ (ÎÅÐÒÁ×ÉÌØÎÏ ÕÓÔÁÎÏ×ÌÅÎÙ ÞÁÓÙ)\n" -#: g10/trustdb.c:2248 +#: g10/trustdb.c:2340 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "ËÌÀÞ %08lX.%lu: ÓÒÏË ÄÅÊÓÔ×ÉÑ ÉÓÔÅË %s\n" -#: g10/trustdb.c:2256 +#: g10/trustdb.c:2348 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "ËÌÀÞ %08lX.%lu: ÐÒÏ×ÅÒËÁ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/trustdb.c:2362 +#: g10/trustdb.c:2499 #, fuzzy, c-format msgid "user '%s' not found: %s\n" msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÎÁÊÄÅÎ\n" -#: g10/trustdb.c:2364 +#: g10/trustdb.c:2501 #, fuzzy, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "ïÛÉÂËÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ: %s\n" -#: g10/trustdb.c:2367 +#: g10/trustdb.c:2504 #, fuzzy, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:2370 +#: g10/trustdb.c:2507 #, fuzzy, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "ïÛÉÂËÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ: %s\n" -#: g10/trustdb.c:2556 g10/trustdb.c:2586 +#: g10/trustdb.c:2693 g10/trustdb.c:2723 msgid "WARNING: can't yet handle long pref records\n" msgstr "" -#: g10/ringedit.c:318 +#: g10/verify.c:82 +msgid "" +"the signature could not be verified.\n" +"Please remember that the signature file (.sig or .asc)\n" +"should be the first file given on the command line.\n" +msgstr "" + +#: g10/verify.c:147 +#, c-format +msgid "input line %u too long or missing LF\n" +msgstr "" + +#: g10/ringedit.c:303 #, fuzzy, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:335 g10/ringedit.c:1353 +#: g10/ringedit.c:320 g10/ringedit.c:1340 #, fuzzy, c-format msgid "%s: keyring created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:1530 +#: g10/ringedit.c:1517 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" -#: g10/ringedit.c:1531 +#: g10/ringedit.c:1518 #, fuzzy, c-format msgid "%s is the unchanged one\n" msgstr "éÓÐÏÌØÚÏ×ÁÎ ÎÅÐÒÁ×ÉÌØÎÙÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" -#: g10/ringedit.c:1532 +#: g10/ringedit.c:1519 #, c-format msgid "%s is the new one\n" msgstr "" -#: g10/ringedit.c:1533 +#: g10/ringedit.c:1520 msgid "Please fix this possible security flaw\n" msgstr "" @@ -3262,40 +3338,54 @@ msgstr "ÜÔÏÔ ElGamal ËÌÀÞ, ÓÏÚÄÁÎÎÙÊ PGP, ÎÅ ÎÁÄÅÖÅÎ ÄÌÑ ÓÏÚÄÁÎÉÑ ÐÏÄÐÉÓÅÊ!\n" #. do not overwrite -#: g10/openfile.c:65 +#: g10/openfile.c:79 #, c-format msgid "File `%s' exists. " msgstr "æÁÊÌ `%s' ÓÕÝÅÓÔ×ÕÅÔ. " -#: g10/openfile.c:67 +#: g10/openfile.c:81 msgid "Overwrite (y/N)? " msgstr "ðÅÒÅÐÉÓÁÔØ (y/N)? " -#: g10/openfile.c:97 +#: g10/openfile.c:109 #, c-format msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:119 +#: g10/openfile.c:131 #, fuzzy msgid "Enter new filename" msgstr "--store [ÉÍÑ ÆÁÊÌÁ]" -#: g10/openfile.c:160 +#: g10/openfile.c:172 #, fuzzy msgid "writing to stdout\n" msgstr "ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/openfile.c:219 +#: g10/openfile.c:250 #, fuzzy, c-format msgid "assuming signed data in `%s'\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÐÏÄÐÉÓÁÎÎÙÅ ÄÁÎÎÙÅ `%s' .\n" -#: g10/openfile.c:269 +#: g10/openfile.c:300 #, c-format msgid "%s: new options file created\n" msgstr "" +#: g10/openfile.c:313 +#, fuzzy, c-format +msgid "%s: can't create directory: %s\n" +msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" + +#: g10/openfile.c:316 +#, fuzzy, c-format +msgid "%s: directory created\n" +msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" + +#: g10/openfile.c:318 +msgid "you have to start GnuPG again, so it can read the new options file\n" +msgstr "" + #: g10/encr-data.c:66 #, fuzzy, c-format msgid "%s encrypted data\n" @@ -3500,7 +3590,7 @@ msgstr "" #: g10/helptext.c:213 -msgid "Give the name fo the file to which the signature applies" +msgid "Give the name of the file to which the signature applies" msgstr "" #: g10/helptext.c:218 @@ -3609,9 +3699,6 @@ #~ msgid "read error: %s\n" #~ msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ: %s\n" -#~ msgid "can't write to keyring: %s\n" -#~ msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ × Ó×ÑÚËÕ ËÌÀÞÅÊ: %s\n" - #~ msgid "writing keyblock\n" #~ msgstr "ÚÁÐÉÓÙ×ÁÅÔÓÑ ÂÌÏË ËÌÀÞÁ\n" @@ -3646,10 +3733,6 @@ #~ msgid "usage: gpgm [options] " #~ msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: gpgm [ÐÁÒÁÍÅÔÒÙ] " - -#, fuzzy -#~ msgid "'%s' is not a valid long keyID\n" -#~ msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ËÏÍÍÅÎÔÁÒÉÉ.\n" #, fuzzy #~ msgid "key %08lX: no public key for trusted key - skipped\n" diff -urN gnupg-1.0.0/scripts/ChangeLog gnupg-1.0.1/scripts/ChangeLog --- gnupg-1.0.0/scripts/ChangeLog Thu Sep 2 16:40:58 1999 +++ gnupg-1.0.1/scripts/ChangeLog Thu Sep 23 09:50:46 1999 @@ -1,22 +1,27 @@ -Thu Sep 2 16:40:55 CEST 1999 Werner Koch +Thu Sep 23 09:49:25 1999 Werner Koch (wk@gnupg.org) + + * commit: Remove leading and trailing empty lines when copying + Changes to Changelog + +Wed Sep 15 16:22:17 CEST 1999 Werner Koch + + * gnupg.spec: Add Portuguese description +Thu Sep 2 16:40:55 CEST 1999 Werner Koch * mkdiff: changed format of diff file name and made script more general. Wed Aug 4 10:34:18 CEST 1999 Werner Koch - * config.guess: Updated from gnu/common and applied my emx patch again. * config.sub: Updated from gnu/common. Wed Jul 14 19:42:08 CEST 1999 Werner Koch - * ltmain.sh, ltconfig.sh : Updated to libtool 1.3.3 Mon Jul 12 14:55:34 CEST 1999 Werner Koch - * autogen.sh: Run libtoolize diff -urN gnupg-1.0.0/scripts/autogen.sh gnupg-1.0.1/scripts/autogen.sh --- gnupg-1.0.0/scripts/autogen.sh Mon Jul 12 13:54:24 1999 +++ gnupg-1.0.1/scripts/autogen.sh Sat Oct 9 15:05:15 1999 @@ -7,7 +7,6 @@ autoconf_vers=2.13 automake_vers=1.4 aclocal_vers=1.4 -libtool_vers=1.3 if (autoconf --version) < /dev/null > /dev/null 2>&1 ; then if (autoconf --version | awk 'NR==1 { if( $3 >= '$autoconf_vers') \ @@ -65,31 +64,12 @@ fi -if (libtool --version) < /dev/null > /dev/null 2>&1 ; then - if (libtool --version | awk 'NR==1 { if( $4 >= '$libtool_vers') \ - exit 1; exit 0; }'); - then - echo "**Error**: "\`libtool\'" is too old." - echo ' (version ' $libtool_vers ' or newer is required)' - DIE="yes" - fi -else - echo - echo "**Error**: You must have "\`libtool\'" installed to compile $PGM." - echo ' (version ' $libtool_vers ' or newer is required)' - DIE="yes" -fi - - if test "$DIE" = "yes"; then exit 1 fi echo "Running gettextize... Ignore non-fatal messages." echo "no" | gettextize --force -echo "Running libtoolize... Ignore non-fatal messages." -echo "no" | libtoolize - echo "Running aclocal..." aclocal diff -urN gnupg-1.0.0/scripts/distfiles gnupg-1.0.1/scripts/distfiles --- gnupg-1.0.0/scripts/distfiles Wed Jul 7 11:11:59 1999 +++ gnupg-1.0.1/scripts/distfiles Sat Oct 9 15:10:32 1999 @@ -7,6 +7,4 @@ gnupg.spec.in autogen.sh ChangeLog -ltconfig -ltmain.sh diff -urN gnupg-1.0.0/scripts/gnupg.spec gnupg-1.0.1/scripts/gnupg.spec --- gnupg-1.0.0/scripts/gnupg.spec Tue Sep 7 18:49:01 1999 +++ gnupg-1.0.1/scripts/gnupg.spec Thu Dec 16 10:18:04 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 1.0.0 +%define version 1.0.1 %define name gnupg Summary: GPL public key crypto Name: %{name} diff -urN gnupg-1.0.0/scripts/ltconfig gnupg-1.0.1/scripts/ltconfig --- gnupg-1.0.0/scripts/ltconfig Wed Jul 14 11:23:06 1999 +++ gnupg-1.0.1/scripts/ltconfig Thu Jan 1 01:00:00 1970 @@ -1,3017 +0,0 @@ -#! /bin/sh - -# ltconfig - Create a system-specific libtool. -# Copyright (C) 1996-1999 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A lot of this script is taken from autoconf-2.10. - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} -echo=echo -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec "$SHELL" "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null`} - case X$UNAME in - *-DOS) PATH_SEPARATOR=';' ;; - *) PATH_SEPARATOR=':' ;; - esac -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi - -if test "X${echo_test_string+set}" != "Xset"; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || - test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for dir in $PATH /usr/ucb; do - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running ltconfig again with it. - ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}" - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf "%s\n"' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - # Cool, printf works - : - elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && - test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL" - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && - test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# The name of this program. -progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` - -# Constants: -PROGRAM=ltconfig -PACKAGE=libtool -VERSION=1.3.3 -TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)" -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' -rm="rm -f" - -help="Try \`$progname --help' for more information." - -# Global variables: -default_ofile=libtool -can_build_shared=yes -enable_shared=yes -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -enable_static=yes -enable_fast_install=yes -enable_dlopen=unknown -enable_win32_dll=no -ltmain= -silent= -srcdir= -ac_config_guess= -ac_config_sub= -host= -nonopt= -ofile="$default_ofile" -verify_host=yes -with_gcc=no -with_gnu_ld=no -need_locks=yes -ac_ext=c -objext=o -libext=a -exeext= -cache_file= - -old_AR="$AR" -old_CC="$CC" -old_CFLAGS="$CFLAGS" -old_CPPFLAGS="$CPPFLAGS" -old_LDFLAGS="$LDFLAGS" -old_LD="$LD" -old_LN_S="$LN_S" -old_LIBS="$LIBS" -old_NM="$NM" -old_RANLIB="$RANLIB" -old_DLLTOOL="$DLLTOOL" -old_OBJDUMP="$OBJDUMP" -old_AS="$AS" - -# Parse the command line options. -args= -prev= -for option -do - case "$option" in - -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - eval "$prev=\$option" - prev= - continue - fi - - case "$option" in - --help) cat <&2 - echo "$help" 1>&2 - exit 1 - ;; - - *) - if test -z "$ltmain"; then - ltmain="$option" - elif test -z "$host"; then -# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 -# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then -# echo "$progname: warning \`$option' is not a valid host type" 1>&2 -# fi - host="$option" - else - echo "$progname: too many arguments" 1>&2 - echo "$help" 1>&2 - exit 1 - fi ;; - esac -done - -if test -z "$ltmain"; then - echo "$progname: you must specify a LTMAIN file" 1>&2 - echo "$help" 1>&2 - exit 1 -fi - -if test ! -f "$ltmain"; then - echo "$progname: \`$ltmain' does not exist" 1>&2 - echo "$help" 1>&2 - exit 1 -fi - -# Quote any args containing shell metacharacters. -ltconfig_args= -for arg -do - case "$arg" in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ltconfig_args="$ltconfig_args '$arg'" ;; - *) ltconfig_args="$ltconfig_args $arg" ;; - esac -done - -# A relevant subset of AC_INIT. - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 5 compiler messages saved in config.log -# 6 checking for... messages and results -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>>./config.log - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi - -if test -n "$cache_file" && test -r "$cache_file"; then - echo "loading cache $cache_file within ltconfig" - . $cache_file -fi - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - -if test -z "$srcdir"; then - # Assume the source directory is the same one as the path to LTMAIN. - srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'` - test "$srcdir" = "$ltmain" && srcdir=. -fi - -trap "$rm conftest*; exit 1" 1 2 15 -if test "$verify_host" = yes; then - # Check for config.guess and config.sub. - ac_aux_dir= - for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/config.guess; then - ac_aux_dir=$ac_dir - break - fi - done - if test -z "$ac_aux_dir"; then - echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2 - echo "$help" 1>&2 - exit 1 - fi - ac_config_guess=$ac_aux_dir/config.guess - ac_config_sub=$ac_aux_dir/config.sub - - # Make sure we can run config.sub. - if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then : - else - echo "$progname: cannot run $ac_config_sub" 1>&2 - echo "$help" 1>&2 - exit 1 - fi - - echo $ac_n "checking host system type""... $ac_c" 1>&6 - - host_alias=$host - case "$host_alias" in - "") - if host_alias=`$SHELL $ac_config_guess`; then : - else - echo "$progname: cannot guess host type; you must specify one" 1>&2 - echo "$help" 1>&2 - exit 1 - fi ;; - esac - host=`$SHELL $ac_config_sub $host_alias` - echo "$ac_t$host" 1>&6 - - # Make sure the host verified. - test -z "$host" && exit 1 - -elif test -z "$host"; then - echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2 - echo "$help" 1>&2 - exit 1 -else - host_alias=$host -fi - -# Transform linux* to *-*-linux-gnu*, to support old configure scripts. -case "$host_os" in -linux-gnu*) ;; -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -case "$host_os" in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "${COLLECT_NAMES+set}" != set; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR cru $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -# Set a sane default for `AR'. -test -z "$AR" && AR=ar - -# Set a sane default for `OBJDUMP'. -test -z "$OBJDUMP" && OBJDUMP=objdump - -# If RANLIB is not set, then run the test. -if test "${RANLIB+set}" != "set"; then - result=no - - echo $ac_n "checking for ranlib... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then - RANLIB="ranlib" - result="ranlib" - break - fi - done - IFS="$save_ifs" - - echo "$ac_t$result" 1>&6 -fi - -if test -n "$RANLIB"; then - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" -fi - -# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin. -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$AS" && AS=as - -# Check to see if we are using GCC. -if test "$with_gcc" != yes || test -z "$CC"; then - # If CC is not set, then try to find GCC or a usable CC. - if test -z "$CC"; then - echo $ac_n "checking for gcc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then - CC="gcc" - break - fi - done - IFS="$save_ifs" - - if test -n "$CC"; then - echo "$ac_t$CC" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - fi - - # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". - if test -z "$CC"; then - echo $ac_n "checking for cc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - cc_rejected=no - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/cc || test -f $dir/cc$ac_exeext; then - if test "$dir/cc" = "/usr/ucb/cc"; then - cc_rejected=yes - continue - fi - CC="cc" - break - fi - done - IFS="$save_ifs" - if test $cc_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same name, so the bogon will be chosen - # first if we set CC to just the name; use the full file name. - shift - set dummy "$dir/cc" "$@" - shift - CC="$@" - fi - fi - - if test -n "$CC"; then - echo "$ac_t$CC" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - - if test -z "$CC"; then - echo "$progname: error: no acceptable cc found in \$PATH" 1>&2 - exit 1 - fi - fi - - # Now see if the compiler is really GCC. - with_gcc=no - echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 - echo "$progname:581: checking whether we are using GNU C" >&5 - - $rm conftest.c - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - with_gcc=yes - fi - $rm conftest.c - echo "$ac_t$with_gcc" 1>&6 -fi - -# Allow CC to be a program name with arguments. -set dummy $CC -compiler="$2" - -echo $ac_n "checking for object suffix... $ac_c" 1>&6 -$rm conftest* -echo 'int i = 1;' > conftest.c -echo "$progname:603: checking for object suffix" >& 5 -if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then - # Append any warnings to the config.log. - cat conftest.err 1>&5 - - for ac_file in conftest.*; do - case $ac_file in - *.c) ;; - *) objext=`echo $ac_file | sed -e s/conftest.//` ;; - esac - done -else - cat conftest.err 1>&5 - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 -fi -$rm conftest* -echo "$ac_t$objext" 1>&6 - -echo $ac_n "checking for executable suffix... $ac_c" 1>&6 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_exeext="no" - $rm conftest* - echo 'main () { return 0; }' > conftest.c - echo "$progname:629: checking for executable suffix" >& 5 - if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then - # Append any warnings to the config.log. - cat conftest.err 1>&5 - - for ac_file in conftest.*; do - case $ac_file in - *.c | *.err | *.$objext ) ;; - *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;; - esac - done - else - cat conftest.err 1>&5 - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - $rm conftest* -fi -if test "X$ac_cv_exeext" = Xno; then - exeext="" -else - exeext="$ac_cv_exeext" -fi -echo "$ac_t$ac_cv_exeext" 1>&6 - -echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 -pic_flag= -special_shlib_compile_flags= -wl= -link_static_flag= -no_builtin_flag= - -if test "$with_gcc" = yes; then - wl='-Wl,' - link_static_flag='-static' - - case "$host_os" in - beos* | irix5* | irix6* | osf3* | osf4*) - # PIC is the default for these OSes. - ;; - aix*) - # Below there is a dirty hack to force normal static linking with -ldl - # The problem is because libdl dynamically linked with both libc and - # libC (AIX C++ library), which obviously doesn't included in libraries - # list by gcc. This cause undefined symbols with -static flags. - # This hack allows C programs to be linked with "-static -ldl", but - # we not sure about C++ programs. - link_static_flag="$link_static_flag ${wl}-lC" - ;; - cygwin* | mingw* | os2*) - # We can build DLLs from non-PIC. - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - pic_flag='-m68020 -resident32 -malways-restore-a4' - ;; - sysv4*MP*) - if test -d /usr/nec; then - pic_flag=-Kconform_pic - fi - ;; - *) - pic_flag='-fPIC' - ;; - esac -else - # PORTME Check for PIC flags for the system compiler. - case "$host_os" in - aix3* | aix4*) - # All AIX code is PIC. - link_static_flag='-bnso -bI:/lib/syscalls.exp' - ;; - - hpux9* | hpux10* | hpux11*) - # Is there a better link_static_flag that works with the bundled CC? - wl='-Wl,' - link_static_flag="${wl}-a ${wl}archive" - pic_flag='+Z' - ;; - - irix5* | irix6*) - wl='-Wl,' - link_static_flag='-non_shared' - # PIC (with -KPIC) is the default. - ;; - - cygwin* | mingw* | os2*) - # We can build DLLs from non-PIC. - ;; - - osf3* | osf4*) - # All OSF/1 code is PIC. - wl='-Wl,' - link_static_flag='-non_shared' - ;; - - sco3.2v5*) - pic_flag='-Kpic' - link_static_flag='-dn' - special_shlib_compile_flags='-belf' - ;; - - solaris*) - pic_flag='-KPIC' - link_static_flag='-Bstatic' - wl='-Wl,' - ;; - - sunos4*) - pic_flag='-PIC' - link_static_flag='-Bstatic' - wl='-Qoption ld ' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - pic_flag='-KPIC' - link_static_flag='-Bstatic' - wl='-Wl,' - ;; - - uts4*) - pic_flag='-pic' - link_static_flag='-Bstatic' - ;; - sysv4*MP*) - if test -d /usr/nec ;then - pic_flag='-Kconform_pic' - link_static_flag='-Bstatic' - fi - ;; - *) - can_build_shared=no - ;; - esac -fi - -if test -n "$pic_flag"; then - echo "$ac_t$pic_flag" 1>&6 - - # Check to make sure the pic_flag actually works. - echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6 - $rm conftest* - echo "int some_variable = 0;" > conftest.c - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $pic_flag -DPIC" - echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5 - if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then - # Append any warnings to the config.log. - cat conftest.err 1>&5 - - case "$host_os" in - hpux9* | hpux10* | hpux11*) - # On HP-UX, both CC and GCC only warn that PIC is supported... then they - # create non-PIC objects. So, if there were any warnings, we assume that - # PIC is not supported. - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - can_build_shared=no - pic_flag= - else - echo "$ac_t"yes 1>&6 - pic_flag=" $pic_flag" - fi - ;; - *) - echo "$ac_t"yes 1>&6 - pic_flag=" $pic_flag" - ;; - esac - else - # Append any errors to the config.log. - cat conftest.err 1>&5 - can_build_shared=no - pic_flag= - echo "$ac_t"no 1>&6 - fi - CFLAGS="$save_CFLAGS" - $rm conftest* -else - echo "$ac_t"none 1>&6 -fi - -# Check to see if options -o and -c are simultaneously supported by compiler -echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6 -$rm -r conftest 2>/dev/null -mkdir conftest -cd conftest -$rm conftest* -echo "int some_variable = 0;" > conftest.c -mkdir out -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers -# that will create temporary files in the current directory regardless of -# the output directory. Thus, making CWD read-only will cause this test -# to fail, enabling locking or at least warning the user not to do parallel -# builds. -chmod -w . -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -o out/conftest2.o" -echo "$progname:829: checking if $compiler supports -c -o file.o" >&5 -if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then - - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s out/conftest.err; then - echo "$ac_t"no 1>&6 - compiler_c_o=no - else - echo "$ac_t"yes 1>&6 - compiler_c_o=yes - fi -else - # Append any errors to the config.log. - cat out/conftest.err 1>&5 - compiler_c_o=no - echo "$ac_t"no 1>&6 -fi -CFLAGS="$save_CFLAGS" -chmod u+w . -$rm conftest* out/* -rmdir out -cd .. -rmdir conftest -$rm -r conftest 2>/dev/null - -if test x"$compiler_c_o" = x"yes"; then - # Check to see if we can write to a .lo - echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6 - $rm conftest* - echo "int some_variable = 0;" > conftest.c - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -c -o conftest.lo" - echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5 -if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then - - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - compiler_o_lo=no - else - echo "$ac_t"yes 1>&6 - compiler_o_lo=yes - fi - else - # Append any errors to the config.log. - cat conftest.err 1>&5 - compiler_o_lo=no - echo "$ac_t"no 1>&6 - fi - CFLAGS="$save_CFLAGS" - $rm conftest* -else - compiler_o_lo=no -fi - -# Check to see if we can do hard links to lock some files if needed -hard_links="nottested" -if test "$compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$ac_t$hard_links" 1>&6 - $rm conftest* - if test "$hard_links" = no; then - echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2 - need_locks=warn - fi -else - need_locks=no -fi - -if test "$with_gcc" = yes; then - # Check to see if options -fno-rtti -fno-exceptions are supported by compiler - echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6 - $rm conftest* - echo "int some_variable = 0;" > conftest.c - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c" - echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 - if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then - - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - compiler_rtti_exceptions=no - else - echo "$ac_t"yes 1>&6 - compiler_rtti_exceptions=yes - fi - else - # Append any errors to the config.log. - cat conftest.err 1>&5 - compiler_rtti_exceptions=no - echo "$ac_t"no 1>&6 - fi - CFLAGS="$save_CFLAGS" - $rm conftest* - - if test "$compiler_rtti_exceptions" = "yes"; then - no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' - else - no_builtin_flag=' -fno-builtin' - fi - -fi - -# Check for any special shared library compilation flags. -if test -n "$special_shlib_compile_flags"; then - echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2 - if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then : - else - echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2 - can_build_shared=no - fi -fi - -echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6 -$rm conftest* -echo 'main(){return(0);}' > conftest.c -save_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS $link_static_flag" -echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5 -if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - echo "$ac_t$link_static_flag" 1>&6 -else - echo "$ac_t"none 1>&6 - link_static_flag= -fi -LDFLAGS="$save_LDFLAGS" -$rm conftest* - -if test -z "$LN_S"; then - # Check to see if we can use ln -s, or we need hard links. - echo $ac_n "checking whether ln -s works... $ac_c" 1>&6 - $rm conftest.dat - if ln -s X conftest.dat 2>/dev/null; then - $rm conftest.dat - LN_S="ln -s" - else - LN_S=ln - fi - if test "$LN_S" = "ln -s"; then - echo "$ac_t"yes 1>&6 - else - echo "$ac_t"no 1>&6 - fi -fi - -# Make sure LD is an absolute path. -if test -z "$LD"; then - ac_prog=ld - if test "$with_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 "$progname:991: checking for ld used by GCC" >&5 - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we are not using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac - elif test "$with_gnu_ld" = yes; then - echo $ac_n "checking for GNU ld... $ac_c" 1>&6 - echo "$progname:1015: checking for GNU ld" >&5 - else - echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 - echo "$progname:1018: checking for non-GNU ld" >&5 - fi - - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" - fi - - if test -n "$LD"; then - echo "$ac_t$LD" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - - if test -z "$LD"; then - echo "$progname: error: no acceptable ld found in \$PATH" 1>&2 - exit 1 - fi -fi - -# Check to see if it really is or is not GNU ld. -echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6 -# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - with_gnu_ld=yes -else - with_gnu_ld=no -fi -echo "$ac_t$with_gnu_ld" 1>&6 - -# See if the linker supports building shared libraries. -echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 - -allow_undefined_flag= -no_undefined_flag= -need_lib_prefix=unknown -need_version=unknown -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -archive_cmds= -archive_expsym_cmds= -old_archive_from_new_cmds= -export_dynamic_flag_spec= -whole_archive_flag_spec= -thread_safe_flag_spec= -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no -hardcode_shlibpath_var=unsupported -runpath_var= -always_export_symbols=no -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' -# include_expsyms should be a list of space-separated symbols to be *always* -# included in the symbol list -include_expsyms= -# exclude_expsyms can be an egrep regular expression of symbols to exclude -# it will be wrapped by ` (' and `)$', so one must not match beginning or -# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', -# as well as any symbol that contains `d'. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out -# platforms (ab)use it in PIC code, but their linkers get confused if -# the symbol is explicitly referenced. Since portable code cannot -# rely on this symbol name, it's probably fine to never include it in -# preloaded symbol tables. - -case "$host_os" in -cygwin* | mingw*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$with_gcc" != yes; then - with_gnu_ld=no - fi - ;; - -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case "$host_os" in - aix3* | aix4*) - # On AIX, the GNU linker is very broken - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - ;; - - amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=yes - - # Extract the symbol export list from an `--export-all' def file, - # then regenerate the def file from the symbol export list, so that - # the compiled dll only exports the symbol export list. - export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ - test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ - $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~ - sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols' - - archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~ - _lt_hint=1; - for symbol in `cat $export_symbols`; do - echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def; - _lt_hint=`expr 1 + \$_lt_hint`; - done~ - test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ - test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ - $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ - $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ - $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' - - old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' - ;; - - netbsd*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib' - # can we support soname and/or expsyms with a.out? -oliva - fi - ;; - - solaris*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - case $host_os in - cygwin* | mingw*) - # dlltool doesn't understand --whole-archive et. al. - whole_archive_flag_spec= - ;; - *) - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - ;; - esac - fi -else - # PORTME fill in a description of your system's linker (not GNU ld) - case "$host_os" in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$with_gcc" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4*) - hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib' - hardcode_libdir_separator=':' - if test "$with_gcc" = yes; then - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - shared_flag='-shared' - else - shared_flag='${wl}-bM:SRE' - hardcode_direct=yes - fi - allow_undefined_flag=' ${wl}-berok' - archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}' - archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}' - case "$host_os" in aix4.[01]|aix4.[01].*) - # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on - always_export_symbols=yes ;; - esac - ;; - - amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - cygwin* | mingw*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs' - fix_srcfile_path='`cygpath -w $srcfile`' - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9* | hpux10* | hpux11*) - case "$host_os" in - hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;; - *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;; - esac - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_minus_L=yes # Not in the search PATH, but as the default - # location of the library. - export_dynamic_flag_spec='${wl}-E' - ;; - - irix5* | irix6*) - if test "$with_gcc" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF - fi - hardcode_libdir_flag_spec='${wl}-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - openbsd*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' - ;; - - osf3* | osf4*) - if test "$with_gcc" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - - solaris*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case "$host_os" in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' - archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - *) - ld_shlibs=no - ;; - esac -fi -echo "$ac_t$ld_shlibs" 1>&6 -test "$ld_shlibs" = no && can_build_shared=no - -if test -z "$NM"; then - echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 - case "$NM" in - [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path. - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -B" - break - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -p" - break - else - NM=${NM="$ac_dir/nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$NM" && NM=nm - ;; - esac - echo "$ac_t$NM" 1>&6 -fi - -# 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 - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" - -# Define system-specific variables. -case "$host_os" in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'" - ;; -irix*) - symcode='[BCDEGRST]' - ;; -solaris*) - symcode='[BDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[ABCDGISTW]' -fi - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. - global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - $rm conftest* - cat > conftest.c <&5 - if { (eval echo $progname:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then - # Now try to grab the symbols. - nlist=conftest.nm - if { echo "$progname:1596: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then - - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.c -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c' - - cat <> conftest.c -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c - cat <<\EOF >> conftest.c - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$objext conftstm.$objext - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="conftstm.$objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - pipe_works=yes - else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - LIBS="$save_LIBS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - $rm conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - global_symbol_pipe= - fi -done -if test "$pipe_works" = yes; then - echo "${ac_t}ok" 1>&6 -else - echo "${ac_t}failed" 1>&6 -fi - -if test -z "$global_symbol_pipe"; then - global_symbol_to_cdecl= -fi - -# Check hardcoding attributes. -echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$hardcode_shlibpath_var" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -echo "$ac_t$hardcode_action" 1>&6 - - -reload_flag= -reload_cmds='$LD$reload_flag -o $output$reload_objs' -echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6 -# PORTME Some linkers may need a different reload flag. -reload_flag='-r' -echo "$ac_t$reload_flag" 1>&6 -test -n "$reload_flag" && reload_flag=" $reload_flag" - -# PORTME Fill in your ld.so characteristics -library_names_spec= -libname_spec='lib$name' -soname_spec= -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -file_magic_cmd= -file_magic_test_file= -deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [regex]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given egrep regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. -echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 -case "$host_os" in -aix3*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so$major' - ;; - -aix4*) - version_type=linux - # AIX has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - # We preserve .a as extension for shared libraries though AIX4.2 - # and later linker supports .so - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a' - shlibpath_var=LIBPATH - deplibs_check_method=pass_all - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}.so' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - deplibs_check_method=pass_all - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - -bsdi4*) - version_type=linux - library_names_spec='${libname}.so$major ${libname}.so' - soname_spec='${libname}.so' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - file_magic_cmd=/usr/bin/file - file_magic_test_file=/shlib/libc.so - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw*) - version_type=windows - need_version=no - need_lib_prefix=no - if test "$with_gcc" = yes; then - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a' - else - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' - fi - dynamic_linker='Win32 ld.exe' - deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - file_magic_cmd='${OBJDUMP} -f' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case "$version_type" in - freebsd-elf*) - deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /usr/lib/libc.so*` - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - deplibs_check_method=unknown - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; - esac - finish_cmds='PATH="\$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - case "$host_os" in - freebsd2* | freebsd3.[01]*) - shlibpath_overrides_runpath=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - dynamic_linker="$host_os dld.sl" - version_type=sunos - need_lib_prefix=no - need_version=no - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' - soname_spec='${libname}${release}.sl$major' - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6*) - version_type=irix - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}.so.$major' - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so' - case "$host_os" in - irix5*) - libsuff= shlibsuff= - # this will be overridden with pass_all, but let us keep it just in case - deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" - ;; - *) - case "$LD" in # libtool.m4 will add one of these switches to LD - *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - # this will be overridden with pass_all, but let us keep it just in case - deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /lib${libsuff}/libc.so*` - deplibs_check_method='pass_all' - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux-gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - - if test -f /lib/ld.so.1; then - dynamic_linker='GNU ld.so' - else - # Only the GNU ld.so supports shared libraries on MkLinux. - case "$host_cpu" in - powerpc*) dynamic_linker=no ;; - *) dynamic_linker='Linux ld.so' ;; - esac - fi - ;; - -netbsd*) - version_type=sunos - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' - soname_spec='${libname}${release}.so$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - ;; - -openbsd*) - version_type=sunos - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - need_version=no - fi - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -os2*) - libname_spec='$name' - need_lib_prefix=no - library_names_spec='$libname.dll $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4*) - version_type=osf - need_version=no - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - shlibpath_var=LD_LIBRARY_PATH - # this will be overridden with pass_all, but let us keep it just in case - deplibs_check_method='file_magic COFF format alpha shared library' - file_magic_cmd=/usr/bin/file - file_magic_test_file=/shlib/libc.so - deplibs_check_method='pass_all' - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib" - file_magic_cmd=/usr/bin/file - file_magic_test_file=/lib/libc.so - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - case "$host_vendor" in - ncr) - deplibs_check_method='pass_all' - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - esac - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.so.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$ac_t$dynamic_linker" 1>&6 -test "$dynamic_linker" = no && can_build_shared=no - -# Report the final consequences. -echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 - -# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in -# configure.in, otherwise build static only libraries. -case "$host_os" in -cygwin* | mingw* | os2*) - if test x$can_build_shared = xyes; then - test x$enable_win32_dll = xno && can_build_shared=no - echo "checking if package supports dlls... $can_build_shared" 1>&6 - fi -;; -esac - -if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then - case "$deplibs_check_method" in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac -fi - -echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4*) - test "$enable_shared" = yes && enable_static=no - ;; -esac - -echo "$ac_t$enable_shared" 1>&6 - -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes - -echo "checking whether to build static libraries... $enable_static" 1>&6 - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -echo $ac_n "checking for objdir... $ac_c" 1>&6 -rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - objdir=_libs -fi -rmdir .libs 2>/dev/null -echo "$ac_t$objdir" 1>&6 - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else -if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then - lt_cv_dlopen=no lt_cv_dlopen_libs= -echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "$progname:2170: 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 -else - ac_save_LIBS="$LIBS" -LIBS="-ldl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for dlopen""... $ac_c" 1>&6 -echo "$progname:2207: checking for dlopen" >&5 -if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -dlopen(); -#endif - -; return 0; } -EOF -if { (eval echo $progname:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_dlopen=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_dlopen=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="dlopen" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 -echo "$progname:2251: checking for dld_link in -ldld" >&5 -ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ldld $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for shl_load""... $ac_c" 1>&6 -echo "$progname:2288: checking for shl_load" >&5 -if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -shl_load(); -#endif - -; return 0; } -EOF -if { (eval echo $progname:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_shl_load=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_shl_load=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="shl_load" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "$progname:2333: 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 -else - ac_save_LIBS="$LIBS" -LIBS="-ldld $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - echo "$ac_t""no" 1>&6 -fi - - -fi - - -fi - - -fi - - -fi - -fi - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - fi - - case "$lt_cv_dlopen" in - dlopen) -for ac_hdr in dlfcn.h; do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "$progname:2395: 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 < -int fnord = 0; -EOF -ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo $progname:2405: \"$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* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi -done - - if test "x$ac_cv_header_dlfcn_h" = xyes; then - CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - fi - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - LIBS="$lt_cv_dlopen_libs $LIBS" - - echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 -echo "$progname:2433: checking whether a program can dlopen itself" >&5 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - lt_cv_dlopen_self=cross - else - cat > conftest.c < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LTDL_GLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LTDL_GLOBAL DL_GLOBAL -# else -# define LTDL_GLOBAL 0 -# endif -#endif - -/* We may have to define LTDL_LAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LTDL_LAZY_OR_NOW -# ifdef RTLD_LAZY -# define LTDL_LAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LTDL_LAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LTDL_LAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LTDL_LAZY_OR_NOW DL_NOW -# else -# define LTDL_LAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -fnord() { int i=42;} -main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); - if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); - if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } - -EOF -if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null -then - lt_cv_dlopen_self=yes -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - lt_cv_dlopen_self=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$lt_cv_dlopen_self" 1>&6 - - if test "$lt_cv_dlopen_self" = yes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 -echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - lt_cv_dlopen_self_static=cross - else - cat > conftest.c < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LTDL_GLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LTDL_GLOBAL DL_GLOBAL -# else -# define LTDL_GLOBAL 0 -# endif -#endif - -/* We may have to define LTDL_LAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LTDL_LAZY_OR_NOW -# ifdef RTLD_LAZY -# define LTDL_LAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LTDL_LAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LTDL_LAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LTDL_LAZY_OR_NOW DL_NOW -# else -# define LTDL_LAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -fnord() { int i=42;} -main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); - if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); - if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } - -EOF -if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null -then - lt_cv_dlopen_self_static=yes -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - lt_cv_dlopen_self_static=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6 -fi - ;; - esac - - case "$lt_cv_dlopen_self" in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case "$lt_cv_dlopen_self_static" in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - -# Copy echo and quote the copy, instead of the original, because it is -# used later. -ltecho="$echo" -if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ltecho="$CONFIG_SHELL \$0 --fallback-echo" -fi -LTSHELL="$SHELL" - -LTCONFIG_VERSION="$VERSION" - -# Only quote variables if we're using ltmain.sh. -case "$ltmain" in -*.sh) - # Now quote all the things that may contain metacharacters. - for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \ - old_LD old_LDFLAGS old_LIBS \ - old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \ - AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \ - reload_flag reload_cmds wl \ - pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ - thread_safe_flag_spec whole_archive_flag_spec libname_spec \ - library_names_spec soname_spec \ - RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \ - file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ - hardcode_libdir_flag_spec hardcode_libdir_separator \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do - - case "$var" in - reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case "$ltecho" in - *'\$0 --fallback-echo"') - ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - - trap "$rm \"$ofile\"; exit 1" 1 2 15 - echo "creating $ofile" - $rm "$ofile" - cat < "$ofile" -#! $SHELL - -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. -# -# Copyright (C) 1996-1999 Free Software Foundation, Inc. -# Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="sed -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi - -### BEGIN LIBTOOL CONFIG -EOF - cfgfile="$ofile" - ;; - -*) - # Double-quote the variables that need it (for aesthetics). - for var in old_CC old_CFLAGS old_CPPFLAGS \ - old_LD old_LDFLAGS old_LIBS \ - old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do - eval "$var=\\\"\$var\\\"" - done - - # Just create a config file. - cfgfile="$ofile.cfg" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - echo "creating $cfgfile" - $rm "$cfgfile" - cat < "$cfgfile" -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -EOF - ;; -esac - -cat <> "$cfgfile" -# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\ -# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\ -# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\ -# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\ -# $0$ltconfig_args -# -# Compiler and other test output produced by $progname, useful for -# debugging $progname, is in ./config.log if it exists. - -# The version of $progname that generated this script. -LTCONFIG_VERSION=$LTCONFIG_VERSION - -# Shell to use when invoking shell scripts. -SHELL=$LTSHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$ltecho - -# The archiver. -AR=$AR - -# The default C compiler. -CC=$CC - -# The linker used to build libraries. -LD=$LD - -# Whether we need hard or soft links. -LN_S=$LN_S - -# A BSD-compatible nm program. -NM=$NM - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$reload_flag -reload_cmds=$reload_cmds - -# How to pass a linker flag through the compiler. -wl=$wl - -# Object file suffix (normally "o"). -objext="$objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$pic_flag - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$compiler_c_o - -# Can we write directly to a .lo ? -compiler_o_lo=$compiler_o_lo - -# Must we lock files when doing compilation ? -need_locks=$need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$link_static_flag - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$RANLIB -old_archive_cmds=$old_archive_cmds -old_postinstall_cmds=$old_postinstall_cmds -old_postuninstall_cmds=$old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$old_archive_from_new_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$archive_cmds -archive_expsym_cmds=$archive_expsym_cmds -postinstall_cmds=$postinstall_cmds -postuninstall_cmds=$postuninstall_cmds - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$global_symbol_to_cdecl - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$hardcode_libdir_separator - -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$include_expsyms - -EOF - -case "$ltmain" in -*.sh) - echo '### END LIBTOOL CONFIG' >> "$ofile" - echo >> "$ofile" - case "$host_os" in - aix3*) - cat <<\EOF >> "$ofile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "${COLLECT_NAMES+set}" != set; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # Append the ltmain.sh script. - sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) - - chmod +x "$ofile" - ;; - -*) - # Compile the libtool program. - echo "FIXME: would compile $ltmain" - ;; -esac - -test -n "$cache_file" || exit 0 - -# AC_CACHE_SAVE -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -exit 0 - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff -urN gnupg-1.0.0/scripts/ltmain.sh gnupg-1.0.1/scripts/ltmain.sh --- gnupg-1.0.0/scripts/ltmain.sh Wed Jul 14 11:23:07 1999 +++ gnupg-1.0.1/scripts/ltmain.sh Thu Jan 1 01:00:00 1970 @@ -1,3975 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun ltconfig. -# -# Copyright (C) 1996-1999 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 -fi - -if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - echo "$modename: not configured to build any kind of library" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" - -# Parse our command line options once, thoroughly. -while test $# -gt 0 -do - arg="$1" - shift - - case "$arg" in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case "$prev" in - execute_dlfiles) - eval "$prev=\"\$$prev \$arg\"" - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case "$arg" in - --help) - show_help=yes - ;; - - --version) - echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - exit 0 - ;; - - --config) - sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0 - exit 0 - ;; - - --debug) - echo "$progname: enabling shell trace mode" - set -x - ;; - - --dry-run | -n) - run=: - ;; - - --features) - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - exit 0 - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --quiet | --silent) - show=: - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 -fi - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - case "$nonopt" in - *cc | *++ | gcc* | *-gcc*) - mode=link - for arg - do - case "$arg" in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case "$mode" in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - lastarg= - srcfile="$nonopt" - suppress_output= - - user_target=no - for arg - do - # Accept any command-line options. - case "$arg" in - -o) - if test "$user_target" != "no"; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit 1 - fi - user_target=next - ;; - - -static) - build_old_libs=yes - continue - ;; - esac - - case "$user_target" in - next) - # The next one is the -o target name - user_target=yes - continue - ;; - yes) - # We got the output file - user_target=set - libobj="$arg" - continue - ;; - esac - - # Accept the current argument as the source file. - lastarg="$srcfile" - srcfile="$arg" - - # Aesthetically quote the previous argument. - - # Backslashify any backslashes, double quotes, and dollar signs. - # These are the only characters that are still specially - # interpreted inside of double-quoted scrings. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly in scan - # sets, so we specify it separately. - case "$lastarg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - lastarg="\"$lastarg\"" - ;; - esac - - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - done - - case "$user_target" in - set) - ;; - no) - # Get the name of the library object. - libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - *) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit 1 - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSfmso]' - case "$libobj" in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; - *.for) xform=for ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case "$libobj" in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit 1 - ;; - esac - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $libobj" - else - removelist="$libobj" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit 1" 1 2 15 - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit 1" 1 2 15 - else - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until ln "$0" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - echo $srcfile > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - # All platforms use -DPIC, to notify preprocessed assembler code. - command="$base_compile $pic_flag -DPIC $srcfile" - if test "$build_old_libs" = yes; then - lo_libobj="$libobj" - dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$libobj"; then - dir="$objdir" - else - dir="$dir/$objdir" - fi - libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` - - if test -d "$dir"; then - $show "$rm $libobj" - $run $rm $libobj - else - $show "$mkdir $dir" - $run $mkdir $dir - status=$? - if test $status -ne 0 && test ! -d $dir; then - exit $status - fi - fi - fi - if test "$compiler_o_lo" = yes; then - output_obj="$libobj" - command="$command -o $output_obj" - elif test "$compiler_c_o" = yes; then - output_obj="$obj" - command="$command -o $output_obj" - fi - - $run $rm "$output_obj" - $show "$command" - if $run eval "$command"; then : - else - test -n "$output_obj" && $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then - echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed, then go on to compile the next one - if test x"$output_obj" != x"$libobj"; then - $show "$mv $output_obj $libobj" - if $run $mv $output_obj $libobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # If we have no pic_flag, then copy the object into place and finish. - if test -z "$pic_flag" && test "$build_old_libs" = yes; then - # Rename the .lo from within objdir to obj - if test -f $obj; then - $show $rm $obj - $run $rm $obj - fi - - $show "$mv $libobj $obj" - if $run $mv $libobj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - - # Now arrange that obj and lo_libobj become the same file - $show "$LN_S $obj $lo_libobj" - if $run $LN_S $obj $lo_libobj; then - exit 0 - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Allow error messages only from the first compilation. - suppress_output=' >/dev/null 2>&1' - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - command="$base_compile $srcfile" - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - output_obj="$obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - $run $rm "$output_obj" - $show "$command" - if $run eval "$command"; then : - else - $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then - echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed - if test x"$output_obj" != x"$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Create an invalid libtool object if no PIC, so that we do not - # accidentally link it into a program. - if test "$build_libtool_libs" != yes; then - $show "echo timestamp > $libobj" - $run eval "echo timestamp > \$libobj" || exit $? - else - # Move the .lo from within objdir - $show "$mv $libobj $lo_libobj" - if $run $mv $libobj $lo_libobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - fi - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - $rm "$lockfile" - fi - - exit 0 - ;; - - # libtool link mode - link) - modename="$modename: link" - C_compiler="$CC" # save it, to compile generated C sources - CC="$nonopt" - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invokation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - - # This is a source program that is used to create dlls on Windows - # Don't remove nor modify the starting and closing comments -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ - # This is a source program that is used to create import libraries - # on Windows for dlls which lack them. Don't remove nor modify the - # starting and closing comments -# /* impgen.c starts here */ -# /* Copyright (C) 1999 Free Software Foundation, Inc. -# -# This file is part of GNU libtool. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# */ -# -# #include /* for printf() */ -# #include /* for open(), lseek(), read() */ -# #include /* for O_RDONLY, O_BINARY */ -# #include /* for strdup() */ -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[2]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# return b[0] + (b[1]<<8); -# } -# -# static unsigned int -# pe_get32 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[4]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# int -# main (argc, argv) -# int argc; -# char *argv[]; -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# filename = argv[1]; -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (!dll) -# return 1; -# -# dll_name = filename; -# -# for (i=0; filename[i]; i++) -# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# char sname[8]; -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - fi - build_libtool_libs=no - build_old_libs=yes - prefer_static_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test $# -gt 0; do - arg="$1" - shift - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case "$prev" in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case "$prev" in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case "$arg" in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit 1 - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case "$arg" in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi - - prevarg="$arg" - - case "$arg" in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: not more than one -exported-symbols argument allowed" - exit 1 - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case "$dir" in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - absdir="$dir" - fi - dir="$absdir" - ;; - esac - case " $deplibs " in - *" $arg "*) ;; - *) deplibs="$deplibs $arg";; - esac - case " $lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir";; - esac - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2*) - dllsearchdir=`cd "$dir" && pwd || echo "$dir"` - case ":$dllsearchpath:" in - ::) dllsearchpath="$dllsearchdir";; - *":$dllsearchdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dllsearchdir";; - esac - ;; - esac - ;; - - -l*) - if test "$arg" = "-lc"; then - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) - # These systems don't actually have c library (as such) - continue - ;; - esac - elif test "$arg" = "-lm"; then - case "$host" in - *-*-cygwin* | *-*-beos*) - # These systems don't actually have math library (as such) - continue - ;; - esac - fi - deplibs="$deplibs $arg" - ;; - - -module) - module=yes - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -o) prev=output ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case "$dir" in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static) - # If we have no pic_flag, then this is the same as -all-static. - if test -z "$pic_flag" && test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - ;; - - *.o | *.obj | *.a | *.lib) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A library object. - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` - prev= - fi - libobjs="$libobjs $arg" - ;; - - *.la) - # A libtool-controlled library. - - dlname= - libdir= - library_names= - old_library= - - # Check to see that this really is a libtool archive. - if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 - exit 1 - fi - - # If the library was installed with an old release of libtool, - # it will not redefine variable installed. - installed=yes - - # Read the .la file - # If there is no directory component, then add one. - case "$arg" in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 - exit 1 - fi - - # Find the relevant object directory and library name. - name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` - - if test "X$installed" = Xyes; then - dir="$libdir" - else - dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$arg"; then - dir="$objdir" - else - dir="$dir/$objdir" - fi - fi - - if test -n "$dependency_libs"; then - # Extract -R and -L from dependency_libs - temp_deplibs= - for deplib in $dependency_libs; do - case "$deplib" in - -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - case " $rpath $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - -L*) case "$compile_command $temp_deplibs " in - *" $deplib "*) ;; - *) temp_deplibs="$temp_deplibs $deplib";; - esac - temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'` - case " $lib_search_path " in - *" $temp_dir "*) ;; - *) lib_search_path="$lib_search_path $temp_dir";; - esac - ;; - *) temp_deplibs="$temp_deplibs $deplib";; - esac - done - dependency_libs="$temp_deplibs" - fi - - if test -z "$libdir"; then - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $dir/$old_library" - old_convenience="$old_convenience $dir/$old_library" - deplibs="$deplibs$dependency_libs" - compile_command="$compile_command $dir/$old_library$dependency_libs" - finalize_command="$finalize_command $dir/$old_library$dependency_libs" - continue - fi - - # This library was specified with -dlopen. - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking statically, - # we need to preload. - prev=dlprefiles - else - # We should not create a dependency on this library, but we - # may need any libraries it requires. - compile_command="$compile_command$dependency_libs" - finalize_command="$finalize_command$dependency_libs" - prev= - continue - fi - fi - - # The library was specified with -dlpreopen. - if test "$prev" = dlprefiles; then - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - dlprefiles="$dlprefiles $dir/$old_library" - else - dlprefiles="$dlprefiles $dir/$linklib" - fi - prev= - fi - - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - link_against_libtool_libs="$link_against_libtool_libs $arg" - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi - - # We need an absolute path. - case "$dir" in - [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - absdir="$dir" - fi - ;; - esac - - # This is the magic to use -rpath. - # Skip directories that are in the system default run-time - # search path, unless they have been requested with -R. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - - lib_linked=yes - case "$hardcode_action" in - immediate | unsupported) - if test "$hardcode_direct" = no; then - compile_command="$compile_command $dir/$linklib" - deplibs="$deplibs $dir/$linklib" - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2*) - dllsearchdir=`cd "$dir" && pwd || echo "$dir"` - if test -n "$dllsearchpath"; then - dllsearchpath="$dllsearchpath:$dllsearchdir" - else - dllsearchpath="$dllsearchdir" - fi - ;; - esac - elif test "$hardcode_minus_L" = no; then - case "$host" in - *-*-sunos*) - compile_shlibpath="$compile_shlibpath$dir:" - ;; - esac - case "$compile_command " in - *" -L$dir "*) ;; - *) compile_command="$compile_command -L$dir";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -L$dir -l$name" - elif test "$hardcode_shlibpath_var" = no; then - case ":$compile_shlibpath:" in - *":$dir:"*) ;; - *) compile_shlibpath="$compile_shlibpath$dir:";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -l$name" - else - lib_linked=no - fi - ;; - - relink) - if test "$hardcode_direct" = yes; then - compile_command="$compile_command $absdir/$linklib" - deplibs="$deplibs $absdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - case "$compile_command " in - *" -L$absdir "*) ;; - *) compile_command="$compile_command -L$absdir";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -L$absdir -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case ":$compile_shlibpath:" in - *":$absdir:"*) ;; - *) compile_shlibpath="$compile_shlibpath$absdir:";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -l$name" - else - lib_linked=no - fi - ;; - - *) - lib_linked=no - ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit 1 - fi - - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - finalize_command="$finalize_command $libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - case "$finalize_command " in - *" -L$libdir "*) ;; - *) finalize_command="$finalize_command -L$libdir";; - esac - finalize_command="$finalize_command -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case ":$finalize_shlibpath:" in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:";; - esac - finalize_command="$finalize_command -l$name" - else - # We cannot seem to hardcode it, guess we'll fake it. - case "$finalize_command " in - *" -L$dir "*) ;; - *) finalize_command="$finalize_command -L$libdir";; - esac - finalize_command="$finalize_command -l$name" - fi - else - # Transform directly to old archives if we don't build new libraries. - if test -n "$pic_flag" && test -z "$old_library"; then - $echo "$modename: cannot find static library for \`$arg'" 1>&2 - exit 1 - fi - - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_command="$compile_command $dir/$linklib" - finalize_command="$finalize_command $dir/$linklib" - else - case "$compile_command " in - *" -L$dir "*) ;; - *) compile_command="$compile_command -L$dir";; - esac - compile_command="$compile_command -l$name" - case "$finalize_command " in - *" -L$dir "*) ;; - *) finalize_command="$finalize_command -L$dir";; - esac - finalize_command="$finalize_command -l$name" - fi - fi - - # Add in any libraries that this one depends upon. - compile_command="$compile_command$dependency_libs" - finalize_command="$finalize_command$dependency_libs" - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - ;; - esac - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - case "$output" in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - - *.a | *.lib) - if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 - exit 1 - fi - - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - ;; - - *.la) - # Make sure we only generate libraries of the form `libNAME.la'. - case "$outputname" in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - - if test -n "$objs"; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 - exit 1 - fi - - # How the heck are we supposed to write a wrapper for a shared library? - if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 - exit 1 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test $# -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - libext=al - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - dependency_libs="$deplibs" - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - current="$2" - revision="$3" - age="$4" - - # Check that each of the things are valid numbers. - case "$current" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case "$revision" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case "$age" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - if test $age -gt $current; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case "$version_type" in - none) ;; - - irix) - major=`expr $current - $age + 1` - versuffix="$major.$revision" - verstring="sgi$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test $loop != 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="sgi$major.$iface:$verstring" - done - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test $loop != 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - windows) - # Like Linux, but with '-' rather than '.', since we only - # want one extension on Windows 95. - major=`expr $current - $age` - versuffix="-$major-$age-$revision" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - verstring="0.0" - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - dependency_libs="$deplibs" - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *) - # Add libc to deplibs on all other systems. - deplibs="$deplibs -lc" - ;; - esac - fi - - # Create the output directory, or remove our outputs if we need to. - if test -d $output_objdir; then - $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" - $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* - else - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test $status -ne 0 && test ! -d $output_objdir; then - exit $status - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - if test "$build_libtool_libs" = yes; then - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case "$deplibs_check_method" in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behaviour. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | sed 's/.* -> //'` - case "$potliblink" in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | sed 10q \ - | egrep "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | - grep . >/dev/null; then - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - echo "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - # Get the real and link names of the library. - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - lib="$output_objdir/$realname" - for link - do - linknames="$linknames $link" - done - - # Ensure that we have .o objects for linkers which dislike .lo - # (e.g. aix) incase we are running --disable-static - for obj in $libobjs; do - oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"` - if test ! -f $oldobj; then - $show "${LN_S} $obj $oldobj" - $run ${LN_S} $obj $oldobj || exit $? - fi - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - eval cmds=\"$export_symbols_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? - if test $status -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - for xlib in $convenience; do - # Extract the objects. - case "$xlib" in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - - libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` - done - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linkopts="$linkopts $flag" - fi - - # Do each of the archive commands. - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval cmds=\"$archive_expsym_cmds\" - else - eval cmds=\"$archive_cmds\" - fi - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - *.lo | *.o | *.obj) - if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 - exit 1 - fi - - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case "$output" in - *.lo) - if test -n "$objs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit 1 - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${obj}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? - if test $status -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - for xlib in $convenience; do - # Extract the objects. - case "$xlib" in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - - reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` - done - fi - fi - - # Create the old-style object. - reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" - - output="$obj" - eval cmds=\"$reload_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit 0 - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - $show "echo timestamp > $libobj" - $run eval "echo timestamp > $libobj" || exit $? - exit 0 - fi - - if test -n "$pic_flag"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - eval cmds=\"$reload_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - else - # Just create a symlink. - $show $rm $libobj - $run $rm $libobj - $show "$LN_S $obj $libobj" - $run $LN_S $obj $libobj || exit $? - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit 0 - ;; - - # Anything else should be a program. - *) - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$compile_rpath " in - *" $libdir "*) ;; - *) compile_rpath="$compile_rpath $libdir" ;; - esac - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - - # Create the binary in the object directory, then wrap it. - if test ! -d $output_objdir; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test $status -ne 0 && test ! -d $output_objdir; then - exit $status - fi - fi - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case "$dlsyms" in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$output.exp" - $run $rm $export_symbols - $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - else - $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' - $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`echo "$arg" | sed -e 's%^.*/%%'` - $run eval 'echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{\ -" - - sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \ - -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \ - < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr_t) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case "$host" in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit 1 - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case "$dir" in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $0 --fallback-echo"; then - case "$0" in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; - *) qecho="$SHELL `pwd`/$0 --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`echo $output|sed 's,.exe$,,'` ;; - esac - $rm $output - trap "$rm $output; exit 1" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - link_against_libtool_libs='$link_against_libtool_libs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - echo >> $output "\ - program=lt-'$outputname' - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if (cd \"\$thisdir\" && eval \$relink_command); then : - else - $rm \"\$progdir/\$file\" - exit 1 - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - echo >> $output "\ - program='$outputname$exeext' - progdir=\"\$thisdir/$objdir\" -" - fi - - echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - *-*-cygwin* | *-*-mingw | *-*-os2*) - # win32 systems need to use the prog path for dll - # lookup to work - $echo >> $output "\ - exec \$progdir\\\\\$program \${1+\"\$@\"} -" - ;; - *) - $echo >> $output "\ - # Export the path to the program. - PATH=\"\$progdir:\$PATH\" - export PATH - - exec \$program \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" - exit 1 - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" - chmod +x $output - fi - exit 0 - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? - if test $status -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - # Add in members from convenience archives. - for xlib in $addlibs; do - # Extract the objects. - case "$xlib" in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - - oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` - done - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - eval cmds=\"$old_archive_from_new_cmds\" - else - # Ensure that we have .o objects in place incase we decided - # not to build a shared library, and have fallen back to building - # static libs even though --disable-static was passed! - for oldobj in $oldobjs; do - if test ! -f $oldobj; then - obj=`$echo "X$oldobj" | $Xsed -e "$o2lo"` - $show "${LN_S} $obj $oldobj" - $run ${LN_S} $obj $oldobj || exit $? - fi - done - - eval cmds=\"$old_archive_cmds\" - fi - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case "$output" in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - if test -n "$xrpath"; then - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - done - dependency_libs="$temp_xrpath $dependency_libs" - fi - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - fi - $rm $output - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$dlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Directory that this library needs to be installed in: -libdir='$install_libdir'\ -" - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $? - ;; - esac - exit 0 - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg="$nonopt" - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest="$arg" - continue - fi - - case "$arg" in - -d) isdir=yes ;; - -f) prev="-f" ;; - -g) prev="-g" ;; - -m) prev="-m" ;; - -o) prev="-o" ;; - -s) - stripme=" -s" - continue - ;; - -*) ;; - - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest="$arg" - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit 1 - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test $# -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - fi - case "$destdir" in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case "$file" in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case "$file" in - *.a | *.lib) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - library_names= - old_library= - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$realname $destdir/$realname" - $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? - - if test $# -gt 0; then - # Delete the old symlinks, and create new ones. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - eval cmds=\"$postinstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case "$destfile" in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.o | *.obj) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit 0 - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - link_against_libtool_libs= - relink_command= - - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Check the variables that should have been set. - if test -z "$link_against_libtool_libs"; then - $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 - exit 1 - fi - - finalize=yes - for lib in $link_against_libtool_libs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case "$lib" in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir="/tmp" - test -n "$TMPDIR" && tmpdir="$TMPDIR" - tmpdir="$tmpdir/libtool-$$" - if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : - else - $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 - continue - fi - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - # Do each command in the postinstall commands. - eval cmds=\"$old_postinstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec $SHELL $0 --finish$current_libdirs - exit 1 - fi - - exit 0 - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - eval cmds=\"$finish_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit 0 - - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - echo " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - echo "See any operating system documentation about shared libraries for" - echo "more information, such as the ld(1) and ld.so(8) manual pages." - echo "----------------------------------------------------------------------" - exit 0 - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit 1 - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - dir= - case "$file" in - *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit 1 - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case "$file" in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - - # Restore saved enviroment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi - - # Now actually exec the command. - eval "exec \$cmd$args" - - $echo "$modename: cannot exec \$cmd$args" - exit 1 - else - # Display what would be done. - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - $echo "$cmd$args" - exit 0 - fi - ;; - - # libtool uninstall mode - uninstall) - modename="$modename: uninstall" - rm="$nonopt" - files= - - for arg - do - case "$arg" in - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - rmfiles="$file" - - case "$name" in - *.la) - # Possibly a libtool archive, so verify it. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $dir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" - - $show "$rm $rmfiles" - $run $rm $rmfiles - - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - eval cmds=\"$postuninstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - eval cmds=\"$old_postuninstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - done - IFS="$save_ifs" - fi - - # FIXME: should reinstall the best remaining shared library. - fi - ;; - - *.lo) - if test "$build_old_libs" = yes; then - oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` - rmfiles="$rmfiles $dir/$oldobj" - fi - $show "$rm $rmfiles" - $run $rm $rmfiles - ;; - - *) - $show "$rm $rmfiles" - $run $rm $rmfiles - ;; - esac - done - exit 0 - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 - ;; - esac - - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 -fi # test -z "$show_help" - -# We need to display help for each of the modes. -case "$mode" in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --version print version information - -MODE must be one of the following: - - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE." - exit 0 - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; -esac - -echo -$echo "Try \`$modename --help' for more information about other modes." - -exit 0 - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff -urN gnupg-1.0.0/tools/Makefile.am gnupg-1.0.1/tools/Makefile.am --- gnupg-1.0.0/tools/Makefile.am Thu Jul 8 16:15:01 1999 +++ gnupg-1.0.1/tools/Makefile.am Sat Oct 9 19:23:30 1999 @@ -2,8 +2,8 @@ EXTRA_DIST = lspgpot INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -needed_libs = ../cipher/libcipher.la \ - ../mpi/libmpi.la ../util/libutil.la @INTLLIBS@ +needed_libs = ../cipher/libcipher.a \ + ../mpi/libmpi.a ../util/libutil.a @INTLLIBS@ noinst_PROGRAMS = mpicalc bftest clean-sat mk-tdata shmtest diff -urN gnupg-1.0.0/tools/Makefile.in gnupg-1.0.1/tools/Makefile.in --- gnupg-1.0.0/tools/Makefile.in Tue Sep 7 18:48:22 1999 +++ gnupg-1.0.1/tools/Makefile.in Thu Dec 16 10:17:08 1999 @@ -85,9 +85,6 @@ 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@ @@ -95,7 +92,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -110,7 +106,7 @@ EXTRA_DIST = lspgpot INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -needed_libs = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la @INTLLIBS@ +needed_libs = ../cipher/libcipher.a ../mpi/libmpi.a ../util/libutil.a @INTLLIBS@ noinst_PROGRAMS = mpicalc bftest clean-sat mk-tdata shmtest @@ -138,12 +134,12 @@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ mpicalc_OBJECTS = mpicalc.o -mpicalc_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ -../util/libutil.la +mpicalc_DEPENDENCIES = ../cipher/libcipher.a ../mpi/libmpi.a \ +../util/libutil.a mpicalc_LDFLAGS = bftest_OBJECTS = bftest.o -bftest_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ -../util/libutil.la +bftest_DEPENDENCIES = ../cipher/libcipher.a ../mpi/libmpi.a \ +../util/libutil.a bftest_LDFLAGS = clean_sat_OBJECTS = clean-sat.o clean_sat_LDADD = $(LDADD) @@ -154,14 +150,13 @@ mk_tdata_DEPENDENCIES = mk_tdata_LDFLAGS = shmtest_OBJECTS = shmtest.o -shmtest_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ -../util/libutil.la +shmtest_DEPENDENCIES = ../cipher/libcipher.a ../mpi/libmpi.a \ +../util/libutil.a shmtest_LDFLAGS = CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -174,7 +169,7 @@ all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .s +.SUFFIXES: .S .c .o .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps tools/Makefile @@ -211,25 +206,6 @@ maintainer-clean-compile: -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - mpicalc: $(mpicalc_OBJECTS) $(mpicalc_DEPENDENCIES) @rm -f mpicalc $(LINK) $(mpicalc_LDFLAGS) $(mpicalc_OBJECTS) $(mpicalc_LDADD) $(LIBS) @@ -344,27 +320,23 @@ maintainer-clean-generic: mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic + mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean-am +clean-am: clean-noinstPROGRAMS clean-compile clean-tags clean-generic \ + mostlyclean-am clean: clean-am -distclean-am: distclean-noinstPROGRAMS distclean-compile \ - distclean-libtool distclean-tags distclean-generic \ - clean-am - -rm -f libtool +distclean-am: distclean-noinstPROGRAMS distclean-compile distclean-tags \ + distclean-generic clean-am distclean: distclean-am maintainer-clean-am: maintainer-clean-noinstPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am + maintainer-clean-compile 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." @@ -373,14 +345,13 @@ .PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags 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 \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +maintainer-clean-compile tags 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 mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean mpicalc bftest shmtest: $(needed_libs) diff -urN gnupg-1.0.0/util/ChangeLog gnupg-1.0.1/util/ChangeLog --- gnupg-1.0.0/util/ChangeLog Wed Sep 1 15:30:48 1999 +++ gnupg-1.0.1/util/ChangeLog Sat Dec 4 12:30:30 1999 @@ -1,3 +1,42 @@ +Sat Dec 4 12:30:28 CET 1999 Werner Koch + + * iobuf.c (iobuf_cancel): Broadcast the new Cancel mesaage to all + filters. + +Mon Nov 22 11:14:53 CET 1999 Werner Koch + + * strgutil.c (strcasecmp): New. + + * secmem.c (pool_is_mmapped): Made volatile. + +Sat Oct 9 20:34:41 CEST 1999 Werner Koch + + * Makefile.am: Removed libtool. + +Fri Oct 8 20:32:01 CEST 1999 Werner Koch + + * w32reg.c: New. + * simple-gettext.c: Use the Registry to locate the mo file. + + * http.c (send_request): Add support for proxys; suggested by + Walter Hofmann. + (http_open_document): Pass flags to http_open. + +Fri Sep 17 12:56:42 CEST 1999 Werner Koch + + + * secmem.c (lock_pool): Check for ENOSYS return my mlock() on + old SCOs. + + * ttyio.c (do_get): Replaced #if __MINGW32__ by #ifdef becuase + gcc 2.95.1 assigns a floating point value (0.2) to this macro, + which in turn can't be used in an expression. + +Wed Sep 15 16:22:17 CEST 1999 Werner Koch + + + * simple-gettext.c: New. + Wed Sep 1 15:30:44 CEST 1999 Werner Koch diff -urN gnupg-1.0.0/util/Makefile.am gnupg-1.0.1/util/Makefile.am --- gnupg-1.0.0/util/Makefile.am Tue Jul 6 17:01:58 1999 +++ gnupg-1.0.1/util/Makefile.am Sat Oct 9 15:18:27 1999 @@ -2,13 +2,13 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LTLIBRARIES = libutil.la +noinst_LIBRARIES = libutil.a -libutil_la_LDFLAGS = -libutil_la_SOURCES = g10u.c logger.c fileutil.c miscutil.c strgutil.c \ +#libutil_a_LDFLAGS = +libutil_a_SOURCES = g10u.c logger.c fileutil.c miscutil.c strgutil.c \ ttyio.c argparse.c memory.c secmem.c errors.c iobuf.c \ - dotlock.c http.c + dotlock.c http.c simple-gettext.c w32reg.c http-test: http.c diff -urN gnupg-1.0.0/util/Makefile.in gnupg-1.0.1/util/Makefile.in --- gnupg-1.0.0/util/Makefile.in Tue Sep 7 18:48:07 1999 +++ gnupg-1.0.1/util/Makefile.in Thu Dec 16 10:16:31 1999 @@ -85,9 +85,6 @@ 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@ @@ -95,7 +92,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -110,30 +106,30 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LTLIBRARIES = libutil.la +noinst_LIBRARIES = libutil.a -libutil_la_LDFLAGS = -libutil_la_SOURCES = g10u.c logger.c fileutil.c miscutil.c strgutil.c ttyio.c argparse.c memory.c secmem.c errors.c iobuf.c dotlock.c http.c +#libutil_a_LDFLAGS = +libutil_a_SOURCES = g10u.c logger.c fileutil.c miscutil.c strgutil.c ttyio.c argparse.c memory.c secmem.c errors.c iobuf.c dotlock.c http.c simple-gettext.c w32reg.c mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) +LIBRARIES = $(noinst_LIBRARIES) DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -libutil_la_LIBADD = -libutil_la_OBJECTS = g10u.lo logger.lo fileutil.lo miscutil.lo \ -strgutil.lo ttyio.lo argparse.lo memory.lo secmem.lo errors.lo iobuf.lo \ -dotlock.lo http.lo +libutil_a_LIBADD = +libutil_a_OBJECTS = g10u.o logger.o fileutil.o miscutil.o strgutil.o \ +ttyio.o argparse.o memory.o secmem.o errors.o iobuf.o dotlock.o http.o \ +simple-gettext.o w32reg.o +AR = ar CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -141,12 +137,12 @@ TAR = tar GZIP_ENV = --best -SOURCES = $(libutil_la_SOURCES) -OBJECTS = $(libutil_la_OBJECTS) +SOURCES = $(libutil_a_SOURCES) +OBJECTS = $(libutil_a_OBJECTS) all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .s +.SUFFIXES: .S .c .o .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps util/Makefile @@ -155,14 +151,14 @@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -mostlyclean-noinstLTLIBRARIES: +mostlyclean-noinstLIBRARIES: -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -distclean-noinstLTLIBRARIES: +distclean-noinstLIBRARIES: -maintainer-clean-noinstLTLIBRARIES: +maintainer-clean-noinstLIBRARIES: .c.o: $(COMPILE) -c $< @@ -183,27 +179,10 @@ maintainer-clean-compile: -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -libutil.la: $(libutil_la_OBJECTS) $(libutil_la_DEPENDENCIES) - $(LINK) $(libutil_la_LDFLAGS) $(libutil_la_OBJECTS) $(libutil_la_LIBADD) $(LIBS) +libutil.a: $(libutil_a_OBJECTS) $(libutil_a_DEPENDENCIES) + -rm -f libutil.a + $(AR) cru libutil.a $(libutil_a_OBJECTS) $(libutil_a_LIBADD) + $(RANLIB) libutil.a tags: TAGS @@ -249,49 +228,47 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -argparse.lo argparse.o : argparse.c ../config.h ../g10defs.h \ - ../include/util.h ../include/types.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ +argparse.o: argparse.c ../config.h ../g10defs.h ../include/util.h \ + ../include/types.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h ../include/i18n.h +dotlock.o: dotlock.c ../config.h ../g10defs.h ../include/types.h \ + ../include/util.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h +errors.o: errors.c ../config.h ../g10defs.h ../include/errors.h \ ../include/i18n.h -dotlock.lo dotlock.o : dotlock.c ../config.h ../g10defs.h \ - ../include/types.h ../include/util.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h -errors.lo errors.o : errors.c ../config.h ../g10defs.h \ - ../include/errors.h ../include/i18n.h -fileutil.lo fileutil.o : fileutil.c ../config.h ../g10defs.h \ - ../include/util.h ../include/types.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ - ../include/ttyio.h -g10u.lo g10u.o : g10u.c ../config.h ../g10defs.h ../include/mpi.h \ +fileutil.o: fileutil.c ../config.h ../g10defs.h ../include/util.h \ + ../include/types.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h ../include/ttyio.h +g10u.o: g10u.c ../config.h ../g10defs.h ../include/mpi.h \ ../include/iobuf.h ../include/types.h ../include/memory.h \ ../include/util.h ../include/errors.h -http.lo http.o : http.c ../config.h ../g10defs.h ../include/util.h \ +http.o: http.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/i18n.h \ ../include/http.h -iobuf.lo iobuf.o : iobuf.c ../config.h ../g10defs.h ../include/memory.h \ +iobuf.o: iobuf.c ../config.h ../g10defs.h ../include/memory.h \ ../include/util.h ../include/types.h ../include/errors.h \ ../include/mpi.h ../include/iobuf.h -logger.lo logger.o : logger.c ../config.h ../g10defs.h ../include/util.h \ +logger.o: logger.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/i18n.h -memory.lo memory.o : memory.c ../config.h ../g10defs.h \ - ../include/types.h ../include/memory.h ../include/util.h \ - ../include/errors.h ../include/mpi.h ../include/iobuf.h -miscutil.lo miscutil.o : miscutil.c ../config.h ../g10defs.h \ - ../include/types.h ../include/util.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h \ - ../include/i18n.h -secmem.lo secmem.o : secmem.c ../config.h ../g10defs.h \ - ../include/types.h ../include/memory.h ../include/util.h \ - ../include/errors.h ../include/mpi.h ../include/iobuf.h \ - ../include/i18n.h -strgutil.lo strgutil.o : strgutil.c ../config.h ../g10defs.h \ - ../include/types.h ../include/util.h ../include/errors.h \ - ../include/mpi.h ../include/iobuf.h ../include/memory.h -ttyio.lo ttyio.o : ttyio.c ../config.h ../g10defs.h ../include/util.h \ +memory.o: memory.c ../config.h ../g10defs.h ../include/types.h \ + ../include/memory.h ../include/util.h ../include/errors.h \ + ../include/mpi.h ../include/iobuf.h +miscutil.o: miscutil.c ../config.h ../g10defs.h ../include/types.h \ + ../include/util.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h ../include/i18n.h +secmem.o: secmem.c ../config.h ../g10defs.h ../include/types.h \ + ../include/memory.h ../include/util.h ../include/errors.h \ + ../include/mpi.h ../include/iobuf.h ../include/i18n.h +simple-gettext.o: simple-gettext.c ../config.h ../g10defs.h +strgutil.o: strgutil.c ../config.h ../g10defs.h ../include/types.h \ + ../include/util.h ../include/errors.h ../include/mpi.h \ + ../include/iobuf.h ../include/memory.h +ttyio.o: ttyio.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/ttyio.h +w32reg.o: w32reg.c ../config.h ../g10defs.h info-am: info: info-am @@ -312,7 +289,7 @@ install: install-am uninstall-am: uninstall: uninstall-am -all-am: Makefile $(LTLIBRARIES) +all-am: Makefile $(LIBRARIES) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install @@ -328,44 +305,39 @@ -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic +mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ + mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \ - clean-tags clean-generic mostlyclean-am +clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \ + mostlyclean-am clean: clean-am -distclean-am: distclean-noinstLTLIBRARIES distclean-compile \ - distclean-libtool distclean-tags distclean-generic \ - clean-am - -rm -f libtool +distclean-am: distclean-noinstLIBRARIES distclean-compile \ + distclean-tags distclean-generic clean-am distclean: distclean-am -maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am +maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ + maintainer-clean-compile 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 -.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \ -clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \ +.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ +clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags 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 \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +maintainer-clean-compile tags 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 mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean http-test: http.c diff -urN gnupg-1.0.0/util/argparse.c gnupg-1.0.1/util/argparse.c --- gnupg-1.0.0/util/argparse.c Wed Sep 1 07:19:44 1999 +++ gnupg-1.0.1/util/argparse.c Wed Sep 15 16:26:38 1999 @@ -844,7 +844,7 @@ /* additional program info */ for(i=30; i < 40; i++ ) if( (s=strusage(i)) ) - fputs(s, stdout); + fputs( (const byte*)s, stdout); fflush(stdout); } diff -urN gnupg-1.0.0/util/errors.c gnupg-1.0.1/util/errors.c --- gnupg-1.0.0/util/errors.c Fri Apr 23 10:52:01 1999 +++ gnupg-1.0.1/util/errors.c Mon Oct 4 15:42:40 1999 @@ -100,6 +100,7 @@ X(NETWORK ,N_("network error")) X(SELFTEST_FAILED,"selftest failed") X(NOT_ENCRYPTED ,N_("not encrypted")) + X(NOT_PROCESSED ,N_("not processed")) default: p = buf; sprintf(buf, "g10err=%d", err); break; } #undef X diff -urN gnupg-1.0.0/util/http.c gnupg-1.0.1/util/http.c --- gnupg-1.0.0/util/http.c Sun May 23 13:30:06 1999 +++ gnupg-1.0.1/util/http.c Fri Oct 8 19:43:07 1999 @@ -74,7 +74,7 @@ { int rc; - if( flags || !(reqtype == HTTP_REQ_GET || reqtype == HTTP_REQ_POST) ) + if( !(reqtype == HTTP_REQ_GET || reqtype == HTTP_REQ_POST) ) return G10ERR_INV_ARG; /* initialize the handle */ @@ -82,6 +82,7 @@ hd->sock = -1; hd->initialized = 1; hd->req_type = reqtype; + hd->flags = flags; rc = parse_uri( &hd->uri, url ); if( !rc ) { @@ -148,10 +149,7 @@ { int rc; - if( flags ) - return G10ERR_INV_ARG; - - rc = http_open( hd, HTTP_REQ_GET, document, 0 ); + rc = http_open( hd, HTTP_REQ_GET, document, flags ); if( rc ) return rc; @@ -427,21 +425,47 @@ byte *request, *p; ushort port; int rc; + const char *http_proxy = NULL; server = *hd->uri->host? hd->uri->host : "localhost"; port = hd->uri->port? hd->uri->port : 80; - hd->sock = connect_server( server, port ); + if( (hd->flags & HTTP_FLAG_TRY_PROXY) + && (http_proxy = getenv( "http_proxy" )) ) { + PARSED_URI uri; + + rc = parse_uri( &uri, http_proxy ); + if (rc) { + log_error("invalid $http_proxy: %s\n", g10_errstr(rc)); + release_parsed_uri( uri ); + return G10ERR_NETWORK; + } + hd->sock = connect_server( *uri->host? uri->host : "localhost", + uri->port? uri->port : 80 ); + release_parsed_uri( uri ); + } + else + hd->sock = connect_server( server, port ); + if( hd->sock == -1 ) return G10ERR_NETWORK; p = build_rel_path( hd->uri ); - request = m_alloc( strlen(p) + 20 ); - sprintf( request, "%s %s%s HTTP/1.0\r\n", + request = m_alloc( strlen(server) + strlen(p) + 50 ); + if( http_proxy ) { + sprintf( request, "%s http://%s:%hu%s%s HTTP/1.0\r\n", + hd->req_type == HTTP_REQ_GET ? "GET" : + hd->req_type == HTTP_REQ_HEAD? "HEAD": + hd->req_type == HTTP_REQ_POST? "POST": "OOPS", + server, port, *p == '/'? "":"/", p ); + } + else { + sprintf( request, "%s %s%s HTTP/1.0\r\n", hd->req_type == HTTP_REQ_GET ? "GET" : hd->req_type == HTTP_REQ_HEAD? "HEAD": hd->req_type == HTTP_REQ_POST? "POST": "OOPS", *p == '/'? "":"/", p ); + } m_free(p); rc = write_server( hd->sock, request, strlen(request) ); diff -urN gnupg-1.0.0/util/iobuf.c gnupg-1.0.1/util/iobuf.c --- gnupg-1.0.0/util/iobuf.c Fri Sep 3 08:47:52 1999 +++ gnupg-1.0.1/util/iobuf.c Sat Dec 4 12:03:40 1999 @@ -80,6 +80,8 @@ * IOBUFCTRL_FLUSH: called by iobuf_flush() to write out the collected stuff. * *RET_LAN is the number of bytes in BUF. * + * IOBUFCTRL_CANCEL: send to all filters on behalf of iobuf_cancel. The + * filter may take appropriate action on this message. */ static int file_filter(void *opaque, int control, IOBUF chain, byte *buf, size_t *ret_len) @@ -497,12 +499,22 @@ iobuf_cancel( IOBUF a ) { const char *s; + IOBUF a2; if( a && a->use == 2 ) { s = iobuf_get_real_fname(a); if( s && *s ) remove(s); /* remove the file. Fixme: this will fail for MSDOZE*/ } /* because the file is still open */ + + /* send a cancel message to all filters */ + for( a2 = a; a2 ; a2 = a2->chain ) { + size_t dummy; + if( a2->filter ) + a2->filter( a2->filter_ov, IOBUFCTRL_CANCEL, a2->chain, + NULL, &dummy ); + } + return iobuf_close(a); } diff -urN gnupg-1.0.0/util/secmem.c gnupg-1.0.1/util/secmem.c --- gnupg-1.0.0/util/secmem.c Mon Aug 30 17:04:04 1999 +++ gnupg-1.0.1/util/secmem.c Sun Nov 14 19:55:27 1999 @@ -58,7 +58,7 @@ static void *pool; static volatile int pool_okay; /* may be checked in an atexit function */ -static int pool_is_mmapped; +static volatile int pool_is_mmapped; static size_t poolsize; /* allocated length */ static size_t poollen; /* used length */ static MEMBLOCK *unused_blocks; @@ -97,8 +97,11 @@ #ifdef EAGAIN /* OpenBSD returns this */ && errno != EAGAIN #endif + #ifdef ENOSYS /* Some SCOs return this (function not implemented) */ + && errno != ENOSYS + #endif ) - log_error("can´t lock memory: %s\n", strerror(err)); + log_error("can't lock memory: %s\n", strerror(err)); show_warning = 1; } @@ -134,8 +137,11 @@ #ifdef EAGAIN /* OpenBSD returns this */ && errno != EAGAIN #endif + #ifdef ENOSYS /* Some SCOs return this (function not implemented) */ + && errno != ENOSYS + #endif ) - log_error("can´t lock memory: %s\n", strerror(err)); + log_error("can't lock memory: %s\n", strerror(err)); show_warning = 1; } @@ -370,6 +376,16 @@ return p >= pool && p < (void*)((char*)pool+poolsize); } + + +/**************** + * Warning: This code might be called by an interrupt handler + * and frankly, there should really be such a handler, + * to make sure that the memory is wiped out. + * We hope that the OS wipes out mlocked memory after + * receiving a SIGKILL - it really should do so, otherwise + * there is no chance to get the secure memory cleaned. + */ void secmem_term() { diff -urN gnupg-1.0.0/util/simple-gettext.c gnupg-1.0.1/util/simple-gettext.c --- gnupg-1.0.0/util/simple-gettext.c Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/util/simple-gettext.c Fri Oct 8 15:41:21 1999 @@ -0,0 +1,485 @@ +/* simple-gettext.c - a simplified version of gettext. + * Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +/* This is a simplified version of gettext written by Ulrich Drepper. + * It is used for the Win32 version of GnuPG becuase all the overhead + * of gettext is not needed and we have to do some special Win32 stuff. + * I decided that this is far easier than to tweak gettext for the special + * cases (I tried it but it is a lot of code). wk 15.09.99 + */ + +#include +#ifdef USE_SIMPLE_GETTEXT +#ifndef __MINGW32__ + #error This file can only be used with MinGW32 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include "types.h" +#include "util.h" + + +/* The magic number of the GNU message catalog format. */ +#define MAGIC 0x950412de +#define MAGIC_SWAPPED 0xde120495 + +/* Revision number of the currently used .mo (binary) file format. */ +#define MO_REVISION_NUMBER 0 + + +/* Header for binary .mo file format. */ +struct mo_file_header +{ + /* The magic number. */ + u32 magic; + /* The revision number of the file format. */ + u32 revision; + /* The number of strings pairs. */ + u32 nstrings; + /* Offset of table with start offsets of original strings. */ + u32 orig_tab_offset; + /* Offset of table with start offsets of translation strings. */ + u32 trans_tab_offset; + /* Size of hashing table. */ + u32 hash_tab_size; + /* Offset of first hashing entry. */ + u32 hash_tab_offset; +}; + +struct string_desc +{ + /* Length of addressed string. */ + u32 length; + /* Offset of string in file. */ + u32 offset; +}; + + + +struct loaded_domain +{ + char *data; + int must_swap; + u32 nstrings; + char *mapped; + struct string_desc *orig_tab; + struct string_desc *trans_tab; + u32 hash_size; + u32 *hash_tab; +}; + + +static struct loaded_domain *the_domain; + +static __inline__ u32 +do_swap_u32( u32 i ) +{ + return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); +} + +#define SWAPIT(flag, data) ((flag) ? do_swap_u32(data) : (data) ) + + +/* We assume to have `unsigned long int' value with at least 32 bits. */ +#define HASHWORDBITS 32 + +/* The so called `hashpjw' function by P.J. Weinberger + [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, + 1986, 1987 Bell Telephone Laboratories, Inc.] */ + +static __inline__ ulong +hash_string( const char *str_param ) +{ + unsigned long int hval, g; + const char *str = str_param; + + hval = 0; + while (*str != '\0') + { + hval <<= 4; + hval += (unsigned long int) *str++; + g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); + if (g != 0) + { + hval ^= g >> (HASHWORDBITS - 8); + hval ^= g; + } + } + return hval; +} + + +static struct loaded_domain * +load_domain( const char *filename ) +{ + FILE *fp; + size_t size; + struct stat st; + struct mo_file_header *data = NULL; + struct loaded_domain *domain = NULL; + size_t to_read; + char *read_ptr; + + fp = fopen( filename, "rb" ); + if( !fp ) + return NULL; /* can't open the file */ + /* we must know about the size of the file */ + if( fstat( fileno(fp ), &st ) + || (size = (size_t)st.st_size) != st.st_size + || size < sizeof (struct mo_file_header) ) { + fclose( fp ); + return NULL; + } + + data = malloc( size ); + if( !data ) { + fclose( fp ); + return NULL; /* out of memory */ + } + + to_read = size; + read_ptr = (char *) data; + do { + long int nb = fread( read_ptr, 1, to_read, fp ); + if( nb < to_read ) { + fclose (fp); + free(data); + return NULL; /* read error */ + } + read_ptr += nb; + to_read -= nb; + } while( to_read > 0 ); + fclose (fp); + + /* Using the magic number we can test whether it really is a message + * catalog file. */ + if( data->magic != MAGIC && data->magic != MAGIC_SWAPPED ) { + /* The magic number is wrong: not a message catalog file. */ + free( data ); + return NULL; + } + + domain = calloc( 1, sizeof *domain ); + if( !domain ) { + free( data ); + return NULL; + } + domain->data = (char *) data; + domain->must_swap = data->magic != MAGIC; + + /* Fill in the information about the available tables. */ + switch( SWAPIT(domain->must_swap, data->revision) ) { + case 0: + domain->nstrings = SWAPIT(domain->must_swap, data->nstrings); + domain->orig_tab = (struct string_desc *) + ((char *) data + SWAPIT(domain->must_swap, data->orig_tab_offset)); + domain->trans_tab = (struct string_desc *) + ((char *) data + SWAPIT(domain->must_swap, data->trans_tab_offset)); + domain->hash_size = SWAPIT(domain->must_swap, data->hash_tab_size); + domain->hash_tab = (u32 *) + ((char *) data + SWAPIT(domain->must_swap, data->hash_tab_offset)); + break; + + default: /* This is an invalid revision. */ + free( data ); + free( domain ); + return NULL; + } + + /* allocate an array to keep track of code page mappings */ + domain->mapped = calloc( 1, domain->nstrings ); + if( !domain->mapped ) { + free( data ); + free( domain ); + return NULL; + } + + return domain; +} + + +/**************** + * Set the file used for translations. Pass a NULL to disable + * translation. A new filename may be set at anytime. + * WARNING: After changing the filename you shoudl not access any data + * retrieved by gettext(). + */ +int +set_gettext_file( const char *filename ) +{ + struct loaded_domain *domain = NULL; + + if( filename && *filename ) { + if( filename[0] == '/' + #ifdef HAVE_DRIVE_LETTERS + || ( isalpha(filename[0]) + && filename[1] == ':' + && (filename[2] == '/' || filename[2] == '\\') ) + #endif + ) { + /* absolute path - use it as is */ + domain = load_domain( filename ); + } + else { /* relative path - append ".mo" and get dir from the environment */ + char *buf = NULL; + char *dir; + + dir = read_w32_registry_string( NULL, + "Control Panel\\Mingw32\\NLS", + "MODir" ); + if( dir && (buf=malloc(strlen(dir)+strlen(filename)+1+3+1)) ) { + strcpy(stpcpy(stpcpy(stpcpy( buf, dir),"/"), filename),".mo"); + domain = load_domain( buf ); + free(buf); + } + free(dir); + } + if( !domain ) + return -1; + } + + if( the_domain ) { + free( the_domain->data ); + free( the_domain->mapped ); + free( the_domain ); + the_domain = NULL; + } + the_domain = domain; + return NULL; +} + + +static const char* +get_string( struct loaded_domain *domain, u32 idx ) +{ + char *p = domain->data + SWAPIT(domain->must_swap, + domain->trans_tab[idx].offset); + if( !domain->mapped[idx] ) { + byte *pp; + + domain->mapped[idx] = 1; + /* we assume Latin1 -> CP 850 for now */ + for( pp=p; *pp; pp++ ) { + if( (*pp & 0x80) ) { + switch( *pp ) { + /* ISO-8859-1 to IBM-CP-850 */ + case 0xa0: *pp = '\xff' ; break; /* nobreakspace */ + case 0xa1: *pp = '\xad' ; break; /* exclamdown */ + case 0xa2: *pp = '\xbd' ; break; /* cent */ + case 0xa3: *pp = '\x9c' ; break; /* sterling */ + case 0xa4: *pp = '\xcf' ; break; /* currency */ + case 0xa5: *pp = '\xbe' ; break; /* yen */ + case 0xa6: *pp = '\xdd' ; break; /* brokenbar */ + case 0xa7: *pp = '\xf5' ; break; /* section */ + case 0xa8: *pp = '\xf9' ; break; /* diaeresis */ + case 0xa9: *pp = '\xb8' ; break; /* copyright */ + case 0xaa: *pp = '\xa6' ; break; /* ordfeminine */ + case 0xab: *pp = '\xae' ; break; /* guillemotleft */ + case 0xac: *pp = '\xaa' ; break; /* notsign */ + case 0xad: *pp = '\xf0' ; break; /* hyphen */ + case 0xae: *pp = '\xa9' ; break; /* registered */ + case 0xaf: *pp = '\xee' ; break; /* macron */ + case 0xb0: *pp = '\xf8' ; break; /* degree */ + case 0xb1: *pp = '\xf1' ; break; /* plusminus */ + case 0xb2: *pp = '\xfd' ; break; /* twosuperior */ + case 0xb3: *pp = '\xfc' ; break; /* threesuperior */ + case 0xb4: *pp = '\xef' ; break; /* acute */ + case 0xb5: *pp = '\xe6' ; break; /* mu */ + case 0xb6: *pp = '\xf4' ; break; /* paragraph */ + case 0xb7: *pp = '\xfa' ; break; /* periodcentered */ + case 0xb8: *pp = '\xf7' ; break; /* cedilla */ + case 0xb9: *pp = '\xfb' ; break; /* onesuperior */ + case 0xba: *pp = '\xa7' ; break; /* masculine */ + case 0xbb: *pp = '\xaf' ; break; /* guillemotright */ + case 0xbc: *pp = '\xac' ; break; /* onequarter */ + case 0xbd: *pp = '\xab' ; break; /* onehalf */ + case 0xbe: *pp = '\xf3' ; break; /* threequarters */ + case 0xbf: *pp = '\xa8' ; break; /* questiondown */ + case 0xc0: *pp = '\xb7' ; break; /* Agrave */ + case 0xc1: *pp = '\xb5' ; break; /* Aacute */ + case 0xc2: *pp = '\xb6' ; break; /* Acircumflex */ + case 0xc3: *pp = '\xc7' ; break; /* Atilde */ + case 0xc4: *pp = '\x8e' ; break; /* Adiaeresis */ + case 0xc5: *pp = '\x8f' ; break; /* Aring */ + case 0xc6: *pp = '\x92' ; break; /* AE */ + case 0xc7: *pp = '\x80' ; break; /* Ccedilla */ + case 0xc8: *pp = '\xd4' ; break; /* Egrave */ + case 0xc9: *pp = '\x90' ; break; /* Eacute */ + case 0xca: *pp = '\xd2' ; break; /* Ecircumflex */ + case 0xcb: *pp = '\xd3' ; break; /* Ediaeresis */ + case 0xcc: *pp = '\xde' ; break; /* Igrave */ + case 0xcd: *pp = '\xd6' ; break; /* Iacute */ + case 0xce: *pp = '\xd7' ; break; /* Icircumflex */ + case 0xcf: *pp = '\xd8' ; break; /* Idiaeresis */ + case 0xd0: *pp = '\xd1' ; break; /* Eth */ + case 0xd1: *pp = '\xa5' ; break; /* Ntilde */ + case 0xd2: *pp = '\xe3' ; break; /* Ograve */ + case 0xd3: *pp = '\xe0' ; break; /* Oacute */ + case 0xd4: *pp = '\xe2' ; break; /* Ocircumflex */ + case 0xd5: *pp = '\xe5' ; break; /* Otilde */ + case 0xd6: *pp = '\x99' ; break; /* Odiaeresis */ + case 0xd7: *pp = '\x9e' ; break; /* multiply */ + case 0xd8: *pp = '\x9d' ; break; /* Ooblique */ + case 0xd9: *pp = '\xeb' ; break; /* Ugrave */ + case 0xda: *pp = '\xe9' ; break; /* Uacute */ + case 0xdb: *pp = '\xea' ; break; /* Ucircumflex */ + case 0xdc: *pp = '\x9a' ; break; /* Udiaeresis */ + case 0xdd: *pp = '\xed' ; break; /* Yacute */ + case 0xde: *pp = '\xe8' ; break; /* Thorn */ + case 0xdf: *pp = '\xe1' ; break; /* ssharp */ + case 0xe0: *pp = '\x85' ; break; /* agrave */ + case 0xe1: *pp = '\xa0' ; break; /* aacute */ + case 0xe2: *pp = '\x83' ; break; /* acircumflex */ + case 0xe3: *pp = '\xc6' ; break; /* atilde */ + case 0xe4: *pp = '\x84' ; break; /* adiaeresis */ + case 0xe5: *pp = '\x86' ; break; /* aring */ + case 0xe6: *pp = '\x91' ; break; /* ae */ + case 0xe7: *pp = '\x87' ; break; /* ccedilla */ + case 0xe8: *pp = '\x8a' ; break; /* egrave */ + case 0xe9: *pp = '\x82' ; break; /* eacute */ + case 0xea: *pp = '\x88' ; break; /* ecircumflex */ + case 0xeb: *pp = '\x89' ; break; /* ediaeresis */ + case 0xec: *pp = '\x8d' ; break; /* igrave */ + case 0xed: *pp = '\xa1' ; break; /* iacute */ + case 0xee: *pp = '\x8c' ; break; /* icircumflex */ + case 0xef: *pp = '\x8b' ; break; /* idiaeresis */ + case 0xf0: *pp = '\xd0' ; break; /* eth */ + case 0xf1: *pp = '\xa4' ; break; /* ntilde */ + case 0xf2: *pp = '\x95' ; break; /* ograve */ + case 0xf3: *pp = '\xa2' ; break; /* oacute */ + case 0xf4: *pp = '\x93' ; break; /* ocircumflex */ + case 0xf5: *pp = '\xe4' ; break; /* otilde */ + case 0xf6: *pp = '\x94' ; break; /* odiaeresis */ + case 0xf7: *pp = '\xf6' ; break; /* division */ + case 0xf8: *pp = '\x9b' ; break; /* oslash */ + case 0xf9: *pp = '\x97' ; break; /* ugrave */ + case 0xfa: *pp = '\xa3' ; break; /* uacute */ + case 0xfb: *pp = '\x96' ; break; /* ucircumflex */ + case 0xfc: *pp = '\x81' ; break; /* udiaeresis */ + case 0xfd: *pp = '\xec' ; break; /* yacute */ + case 0xfe: *pp = '\xe7' ; break; /* thorn */ + case 0xff: *pp = '\x98' ; break; /* ydiaeresis */ + default : break; + } + } + } + + } + return (const char*)p; +} + + + +const char * +gettext( const char *msgid ) +{ + struct loaded_domain *domain; + size_t act = 0; + size_t top, bottom; + + if( !(domain = the_domain) ) + goto not_found; + + /* Locate the MSGID and its translation. */ + if( domain->hash_size > 2 && domain->hash_tab ) { + /* Use the hashing table. */ + u32 len = strlen (msgid); + u32 hash_val = hash_string (msgid); + u32 idx = hash_val % domain->hash_size; + u32 incr = 1 + (hash_val % (domain->hash_size - 2)); + u32 nstr = SWAPIT (domain->must_swap, domain->hash_tab[idx]); + + if ( !nstr ) /* Hash table entry is empty. */ + goto not_found; + + if( SWAPIT(domain->must_swap, + domain->orig_tab[nstr - 1].length) == len + && !strcmp( msgid, + domain->data + SWAPIT(domain->must_swap, + domain->orig_tab[nstr - 1].offset)) ) + return get_string( domain, nstr - 1 ); + + for(;;) { + if (idx >= domain->hash_size - incr) + idx -= domain->hash_size - incr; + else + idx += incr; + + nstr = SWAPIT(domain->must_swap, domain->hash_tab[idx]); + if( !nstr ) + goto not_found; /* Hash table entry is empty. */ + + if ( SWAPIT(domain->must_swap, + domain->orig_tab[nstr - 1].length) == len + && !strcmp (msgid, + domain->data + SWAPIT(domain->must_swap, + domain->orig_tab[nstr - 1].offset))) + return get_string( domain, nstr-1 ); + } + /* NOTREACHED */ + } + + /* Now we try the default method: binary search in the sorted + array of messages. */ + bottom = 0; + top = domain->nstrings; + while( bottom < top ) { + int cmp_val; + + act = (bottom + top) / 2; + cmp_val = strcmp(msgid, domain->data + + SWAPIT(domain->must_swap, + domain->orig_tab[act].offset)); + if (cmp_val < 0) + top = act; + else if (cmp_val > 0) + bottom = act + 1; + else + return get_string( domain, act ); + } + + not_found: + return msgid; +} + +#if 0 + unsigned int cp1, cp2; + + cp1 = GetConsoleCP(); + cp2 = GetConsoleOutputCP(); + + log_info("InputCP=%u OutputCP=%u\n", cp1, cp2 ); + + if( !SetConsoleOutputCP( 1252 ) ) + log_info("SetConsoleOutputCP failed: %d\n", (int)GetLastError() ); + + cp1 = GetConsoleCP(); + cp2 = GetConsoleOutputCP(); + log_info("InputCP=%u OutputCP=%u after switch1\n", cp1, cp2 ); +#endif + +#endif /* USE_SIMPLE_GETTEXT */ diff -urN gnupg-1.0.0/util/strgutil.c gnupg-1.0.1/util/strgutil.c --- gnupg-1.0.0/util/strgutil.c Tue Aug 31 16:39:43 1999 +++ gnupg-1.0.1/util/strgutil.c Mon Nov 22 10:51:27 1999 @@ -559,6 +559,18 @@ } #endif +#ifndef HAVE_STRCASECMP +int +strcasecmp( const char *a, const char *b ) +{ + for( ; *a && *b; a++, b++ ) { + if( *a != *b && toupper(*a) != toupper(*b) ) + break; + } + return *(const byte*)a - *(const byte*)b; +} +#endif + /**************** * mingw32/cpd has a memicmp() */ diff -urN gnupg-1.0.0/util/ttyio.c gnupg-1.0.1/util/ttyio.c --- gnupg-1.0.0/util/ttyio.c Tue Aug 31 16:48:25 1999 +++ gnupg-1.0.1/util/ttyio.c Fri Sep 17 12:58:20 1999 @@ -287,7 +287,7 @@ buf = m_alloc(n=50); i = 0; - #if __MINGW32__ /* windoze version */ + #ifdef __MINGW32__ /* windoze version */ if( hidden ) SetConsoleMode(con.in, HID_INPMODE ); @@ -402,7 +402,7 @@ last_prompt_len = 0; if( !last_prompt_len ) return; - #if __MINGW32__ + #ifdef __MINGW32__ tty_printf("\r%*s\r", last_prompt_len, ""); #else { diff -urN gnupg-1.0.0/util/w32reg.c gnupg-1.0.1/util/w32reg.c --- gnupg-1.0.0/util/w32reg.c Thu Jan 1 01:00:00 1970 +++ gnupg-1.0.1/util/w32reg.c Sat Oct 9 11:32:27 1999 @@ -0,0 +1,88 @@ +/* w32reg.c - MS-Windows Registry access + * Copyright (C) 1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include +#ifdef __MINGW32__ /* This module is only used in this environment */ + +#include +#include +#include +#include +#include +#include "util.h" +#include "memory.h" + + +/**************** + * Return a string from the Win32 Registry or NULL in case of + * error. Caller must release the return value. A NUKK for root + * is an alias fro HKEY_CURRENT_USER + * NOTE: The value is allocated with a plain malloc() - use free() and not + * the usual m_free()!!! + */ +char * +read_w32_registry_string( const char *root, const char *dir, const char *name ) +{ + HKEY root_key, key_handle; + DWORD n1, nbytes; + char *result = NULL; + + if( !root ) + root_key = HKEY_CURRENT_USER; + else if( !strcmp( root, "HKEY_CLASSES_ROOT" ) ) + root_key = HKEY_CLASSES_ROOT; + else if( !strcmp( root, "HKEY_CURRENT_USER" ) ) + root_key = HKEY_CURRENT_USER; + else if( !strcmp( root, "HKEY_LOCAL_MACHINE" ) ) + root_key = HKEY_LOCAL_MACHINE; + else if( !strcmp( root, "HKEY_USERS" ) ) + root_key = HKEY_USERS; + else if( !strcmp( root, "HKEY_PERFORMANCE_DATA" ) ) + root_key = HKEY_PERFORMANCE_DATA; + else if( !strcmp( root, "HKEY_CURRENT_CONFIG" ) ) + root_key = HKEY_CURRENT_CONFIG; + else + return NULL; + + if( RegOpenKeyEx( root_key, dir, 0, KEY_READ, &key_handle ) ) + return NULL; /* no need for a RegClose, so return direct */ + + nbytes = 1; + if( RegQueryValueEx( key_handle, name, 0, NULL, NULL, &nbytes ) ) + goto leave; + result = malloc( (n1=nbytes+1) ); + if( !result ) + goto leave; + if( RegQueryValueEx( key_handle, name, 0, NULL, result, &n1 ) ) { + free(result); result = NULL; + goto leave; + } + result[nbytes] = 0; /* make sure it is really a string */ + + leave: + RegCloseKey( key_handle ); + return result; +} + + + + + +#endif /* __MINGW32__ */ diff -urN gnupg-1.0.0/zlib/Makefile.in gnupg-1.0.1/zlib/Makefile.in --- gnupg-1.0.0/zlib/Makefile.in Tue Sep 7 18:48:03 1999 +++ gnupg-1.0.1/zlib/Makefile.in Thu Dec 16 10:16:20 1999 @@ -90,9 +90,6 @@ 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@ @@ -100,7 +97,6 @@ MPI_SFLAGS = @MPI_SFLAGS@ MSGFMT = @MSGFMT@ NM = @NM@ -OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -141,9 +137,8 @@ AR = ar CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in @@ -156,7 +151,7 @@ all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .s +.SUFFIXES: .S .c .o .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps zlib/Makefile @@ -193,25 +188,6 @@ maintainer-clean-compile: -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - libzlib.a: $(libzlib_a_OBJECTS) $(libzlib_a_DEPENDENCIES) -rm -f libzlib.a $(AR) cru libzlib.a $(libzlib_a_OBJECTS) $(libzlib_a_LIBADD) @@ -261,6 +237,23 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done +adler32.o: adler32.c zlib.h zconf.h +compress.o: compress.c zlib.h zconf.h +crc32.o: crc32.c zlib.h zconf.h +deflate.o: deflate.c deflate.h zutil.h zlib.h zconf.h +infblock.o: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h \ + infcodes.h infutil.h +infcodes.o: infcodes.c zutil.h zlib.h zconf.h inftrees.h infblock.h \ + infcodes.h infutil.h inffast.h +inffast.o: inffast.c zutil.h zlib.h zconf.h inftrees.h infblock.h \ + infcodes.h infutil.h inffast.h +inflate.o: inflate.c zutil.h zlib.h zconf.h infblock.h +inftrees.o: inftrees.c zutil.h zlib.h zconf.h inftrees.h inffixed.h +infutil.o: infutil.c zutil.h zlib.h zconf.h infblock.h inftrees.h \ + infcodes.h infutil.h +trees.o: trees.c deflate.h zutil.h zlib.h zconf.h trees.h +uncompr.o: uncompr.c zlib.h zconf.h +zutil.o: zutil.c zutil.h zlib.h zconf.h info-am: info: info-am @@ -299,27 +292,23 @@ maintainer-clean-generic: mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic + mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean-am +clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \ + mostlyclean-am clean: clean-am distclean-am: distclean-noinstLIBRARIES distclean-compile \ - distclean-libtool distclean-tags distclean-generic \ - clean-am - -rm -f libtool + distclean-tags distclean-generic clean-am distclean: distclean-am maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am + maintainer-clean-compile 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." @@ -328,14 +317,13 @@ .PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags 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 \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +maintainer-clean-compile tags 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 mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.1 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE4WLMpaLeriVdUjc0RAvCiAJ0UgzADY48+bYODXlwhRw6cEpJBowCaApzQ rsS9csxP6y2BhAYuM2ZAAbs= =SFvx -----END PGP SIGNATURE-----