-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message This is a patch file against 0.9.8. Please check the signature of this patch file: zcat somepath/gnupg-0.9.9.diff.gz | gpg --verify Change to directory gnupg-0.9.8 (or however you renamed it) and give this command: zcat somepath/gnupg-0.9.9.diff.gz | patch -p1 It is a good idea to rename your current directory to gnupg-0.9.9 now. Prereq: 0.9.8 diff -urN gnupg-0.9.8/VERSION gnupg-0.9.9/VERSION --- gnupg-0.9.8/VERSION Sat Jun 26 12:02:53 1999 +++ gnupg-0.9.9/VERSION Fri Jul 23 11:37:29 1999 @@ -1 +1 @@ -0.9.8 +0.9.9 diff -urN gnupg-0.9.8/AUTHORS gnupg-0.9.9/AUTHORS --- gnupg-0.9.8/AUTHORS Fri Jun 11 09:12:30 1999 +++ gnupg-0.9.9/AUTHORS Fri Jul 23 11:08:45 1999 @@ -48,7 +48,7 @@ TRANSLATIONS Walter Koch 1998-09-08 Disclaimer. [de] -walterk@dip.de +koch@hsp.de TRANSLATIONS Gregory Steuck 1998-10-20 diff -urN gnupg-0.9.8/BUGS gnupg-0.9.9/BUGS --- gnupg-0.9.8/BUGS Sat Jun 26 12:02:43 1999 +++ gnupg-0.9.9/BUGS Fri Jul 23 11:35:49 1999 @@ -29,26 +29,19 @@ The for loop the exp.date is set before v3 detection? [is this bug still alive? - can someone please check it] -[ *] #5 - /home/jam/.gnupg/pubring.gpg: can't open gdbm file: Can't be writer - keyblock resource `/home/jam/.gnupg/pubring.gpg': file open error - OOPS in close enum_keyblocks - ignored - [gdbm is experimental and will be replaced by the new keybox code] - -[***] #6 1999-02-22 0.9.3 +[ **] #6 1999-02-22 0.9.3 Buserror on IRIX 6.4: Crash while doing a keygen. I think while creating the prime. Other buserrors are reported when doing a "gpg README" on sparc-solaris2.6. --> Solaris fixed. - --> IRIX bug still there + --> IRIX bug still there but someone should test this again! [ *] #18 1999-05-27 0.9.7 - rndunix hangs on hp/ux. The problme is related to my_plcose which is + 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.) -[ **] #19 1999-06-11 - "trustdb transaction too large" with about 500 signatures on a key - FAEBD5FC. - +[ *] #22 1999-07-22 + Solaris make has problems with the generated POTFILES - seems to be a + gettext bug. Use GNU gmake as a workaround. -Next #22 +Next #23 diff -urN gnupg-0.9.8/ChangeLog gnupg-0.9.9/ChangeLog --- gnupg-0.9.8/ChangeLog Sat Jun 26 12:16:00 1999 +++ gnupg-0.9.9/ChangeLog Fri Jul 23 13:53:08 1999 @@ -1,5 +1,29 @@ -Sat Jun 26 12:15:59 CEST 1999 Werner Koch +Fri Jul 23 13:53:03 CEST 1999 Werner Koch + + + * VERSION: Set to 0.9.9. + + * configure.in: Print a notice when rndunix is used. + +Thu Jul 15 10:15:35 CEST 1999 Werner Koch + + * acinclude.m4 (GNUPG_SYS_SYMBOL_UNDERSCORE): Fixed last modification. + +Wed Jul 7 13:08:40 CEST 1999 Werner Koch + * Makefile.am: Support for libtool. + * configure.in: Ditto. + +Tue Jun 29 21:44:25 CEST 1999 Werner Koch + + * configure.in (use_local_zlib): The lost dollar is back. + + * acinclude.m4 (GNUPG_SYS_SYMBOL_UNDERSCORE): Add EMX case. + * configure.in: Another variant of the MX vendor string + + * configure.in (--with-capabilities): Some test code (Remi). + +Sat Jun 26 12:15:59 CEST 1999 Werner Koch * acinclude.m4 (GNUPG_CHECK_RDYNAMIC): Support for HPUX and IRIX. * configure.in (HAVE_DL_SHL_LOAD): New for HPUX (Dave Dykstra). diff -urN gnupg-0.9.8/Makefile.am gnupg-0.9.9/Makefile.am --- gnupg-0.9.8/Makefile.am Sat Jun 26 13:01:50 1999 +++ gnupg-0.9.9/Makefile.am Mon Jul 12 17:06:24 1999 @@ -1,10 +1,10 @@ ## Process this file with automake to produce Makefile.in -#if COMPILE_LIBGCRYPT -#gcrypt = gcrypt -#else +if COMPILE_LIBGCRYPT +gcrypt = gcrypt +else gcrypt = -#endif +endif SUBDIRS = intl zlib util mpi cipher tools g10 po doc checks ${gcrypt} EXTRA_DIST = VERSION PROJECTS BUGS @@ -23,9 +23,11 @@ sed -e 's/@pkg_version@/$(VERSION)/g' \ $(top_srcdir)/scripts/gnupg.spec.in \ > $(distdir)/scripts/gnupg.spec + -rm $(distdir)/gcrypt/*.[ch] -# maintainer only +if MAINTAINER_MODE +# This is only useful within my local environment (wk) cvs-get: rsync -Cavuzb --exclude scratch --exclude .deps \ wkoch@sigtrap.guug.de:work/gnupg . @@ -36,6 +38,7 @@ cvs-sync: cvs-get cvs-put +endif .PHONY: cvs-get cvs-put cvs-sync diff -urN gnupg-0.9.8/Makefile.in gnupg-0.9.9/Makefile.in --- gnupg-0.9.8/Makefile.in Sat Jun 26 13:06:55 1999 +++ gnupg-0.9.9/Makefile.in Fri Jul 23 14:25:16 1999 @@ -10,10 +10,6 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -#if COMPILE_LIBGCRYPT -#gcrypt = gcrypt -#else - SHELL = @SHELL@ @@ -68,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -88,12 +85,17 @@ 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@ @@ -105,9 +107,8 @@ VERSION = @VERSION@ ZLIBS = @ZLIBS@ l = @l@ - -gcrypt = -#endif +@COMPILE_LIBGCRYPT_TRUE@gcrypt = gcrypt +@COMPILE_LIBGCRYPT_FALSE@gcrypt = SUBDIRS = intl zlib util mpi cipher tools g10 po doc checks ${gcrypt} EXTRA_DIST = VERSION PROJECTS BUGS @@ -124,21 +125,22 @@ TAR = tar GZIP_ENV = --best +DIST_SUBDIRS = intl zlib util mpi cipher tools g10 po doc checks gcrypt all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status -$(ACLOCAL_M4): configure.in acinclude.m4 +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4 cd $(srcdir) && $(ACLOCAL) config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) config.h: stamp-h @@ -151,7 +153,7 @@ && CONFIG_FILES= CONFIG_HEADERS=config.h \ $(SHELL) ./config.status @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.h.in: $(srcdir)/stamp-h.in +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in @if test ! -f $@; then \ rm -f $(srcdir)/stamp-h.in; \ $(MAKE) $(srcdir)/stamp-h.in; \ @@ -306,7 +308,7 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done - for subdir in $(SUBDIRS); do \ + for subdir in $(DIST_SUBDIRS); do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -365,6 +367,7 @@ clean: clean-recursive distclean-am: distclean-hdr distclean-tags distclean-generic clean-am + -rm -f libtool distclean: distclean-recursive -rm -f config.status @@ -404,17 +407,18 @@ sed -e 's/@pkg_version@/$(VERSION)/g' \ $(top_srcdir)/scripts/gnupg.spec.in \ > $(distdir)/scripts/gnupg.spec + -rm $(distdir)/gcrypt/*.[ch] -# maintainer only -cvs-get: - rsync -Cavuzb --exclude scratch --exclude .deps \ - wkoch@sigtrap.guug.de:work/gnupg . - -cvs-put: - rsync -Cavuzb --exclude .deps --exclude scratch \ - . wkoch@sigtrap.guug.de:work/gnupg +# This is only useful within my local environment (wk) +@MAINTAINER_MODE_TRUE@cvs-get: +@MAINTAINER_MODE_TRUE@ rsync -Cavuzb --exclude scratch --exclude .deps \ +@MAINTAINER_MODE_TRUE@ wkoch@sigtrap.guug.de:work/gnupg . + +@MAINTAINER_MODE_TRUE@cvs-put: +@MAINTAINER_MODE_TRUE@ rsync -Cavuzb --exclude .deps --exclude scratch \ +@MAINTAINER_MODE_TRUE@ . wkoch@sigtrap.guug.de:work/gnupg -cvs-sync: cvs-get cvs-put +@MAINTAINER_MODE_TRUE@cvs-sync: cvs-get cvs-put .PHONY: cvs-get cvs-put cvs-sync diff -urN gnupg-0.9.8/NEWS gnupg-0.9.9/NEWS --- gnupg-0.9.8/NEWS Sat Jun 26 12:54:38 1999 +++ gnupg-0.9.9/NEWS Fri Jul 23 11:40:52 1999 @@ -1,3 +1,30 @@ +Noteworthy changes in version 0.9.9 +----------------------------------- + + * New options --[no-]utf8-strings. + + * New edit-menu commands "enable" and "disable" for entire keys. + + * You will be asked for a filename if gpg cannot deduce one. + + * Changes to support libtool which is needed for the development + of libgcrypt. + + * New script tools/lspgpot to help transferring assigned + trustvalues from PGP to GnuPG. + + * New commands --lsign-key and made --sign-key a shortcut for --edit + and sign. + + * New options (#122--126 ;-) --[no-]default-recipient[-self], + --disable-{cipher,pubkey}-algo. See the man page. + + * Enhanced info output in case of multiple recipients and fixed exit code. + + * New option --allow-non-selfsigned-uid to work around a problem with + the German IN way of separating signing and encryption keys. + + Noteworthy changes in version 0.9.8 ----------------------------------- diff -urN gnupg-0.9.8/README gnupg-0.9.9/README --- gnupg-0.9.8/README Sat Jun 26 12:14:31 1999 +++ gnupg-0.9.9/README Fri Jul 23 11:38:55 1999 @@ -2,7 +2,7 @@ GnuPG - The GNU Privacy Guard ------------------------------- - Version 0.9.8 + Version 0.9.9 GnuPG is now in Beta test and you should report all bugs to the mailing list (see below). The 0.9.x versions are released mainly @@ -68,7 +68,7 @@ 3) "make install" - 4) You end up with a "gpg" binray in /usr/local/bin. + 4) You end up with a "gpg" binary in /usr/local/bin. Note: Because some programs rely on the existence of a binary named "gpgm"; you should install a symbolic link from gpgm to gpg: @@ -448,11 +448,11 @@ Have fun and remember: Echelon is looking at you kid. -----BEGIN PGP SIGNATURE----- -Version: GnuPG v0.9.7 (GNU/Linux) +Version: GnuPG v0.9.8a (GNU/Linux) Comment: For info see http://www.gnupg.org -iQB1AwUBN3SoBh0Z9MEMmFelAQE+9wL/bOTFEPvkO0drlWAu8k2P7udEzwfGlKhE -Iyr6g75FSX4NnDkHB7RjyHYvQUkc8gicxYV8pBWe5c1bMYwrpe1cMvAu+BtUfDQc -oHUbx9ln7CZ2BkEgzT5bjypugwtc6o7g -=uTFn +iQB1AwUBN5g4Lx0Z9MEMmFelAQE+RwL/Ws+kNklTHJnABT8YU8BqN8x310DyUm+e +ViS23npv3S/kRnHbCOOQo4cEjUYZFFrJXzQgodBvKbLVzMgdj4XQvkulTSBYK6pm +B7GeQptWRCNJ7m+Hw0Z4gwJ7giQTdfF8 +=pJ7c -----END PGP SIGNATURE----- diff -urN gnupg-0.9.8/THANKS gnupg-0.9.9/THANKS --- gnupg-0.9.8/THANKS Tue Jun 15 10:02:06 1999 +++ gnupg-0.9.9/THANKS Fri Jul 23 11:08:56 1999 @@ -20,6 +20,7 @@ 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 @@ -91,13 +92,13 @@ Thomas Mikkelsen tbm@image.dk Ulf Möller 3umoelle@informatik.uni-hamburg.de Urko Lusa ulusa@lacueva.ddns.org -Walter Koch walterk@dip.de +Walter Koch koch@hsp.de Werner Koch werner.koch@guug.de 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 +Martin Hamilton for hosting the mailing list and HSP for hosting gnupg.org. Many thanks to my wife Gerlinde for having so much patience with diff -urN gnupg-0.9.8/TODO gnupg-0.9.9/TODO --- gnupg-0.9.8/TODO Mon Jun 21 07:32:16 1999 +++ gnupg-0.9.9/TODO Fri Jul 23 10:58:17 1999 @@ -1,40 +1,22 @@ - * add keylength and type to status output. - * add some status output put for signing and encryption. - replace the putc in primegen with some kind of status-fd outputs. +Scheduled for 1.1 +----------------- + * With option -i prompt before adding a key to the keyring and show some + info what we are about to add. - * Speed up calculation of key validity. + * Speed up calculation of key validation. - * See why we always get this "Hmmm, public key not anymore available" - Rewrite that stuff. + * Allow a replacement for the progress functions in ./cipher - * print a warning when a revoked/expired _secret_ key is used. - - * remove more "Fixmes" - - * Use capabilities if available. glibc2 does not support it yet? - What about 2.2 or should we use the system calls directly? - - * when decryptiong multiple key: print a warning only if no usable pubkey - encrypt package was found. Extension: display a list of all recipients. - - * Add NO_PUBKEY and NO_SECKEY status lines. + * add an option to use an OpenPGP packet as input (and don't build a literal + data packet) - * Solaris make has problems with the generated POTFILES - seems to be a - gettext bug. - - * find a way to allow the import of non-self-signed keys. This is needed - for the IN ENCR/SIGN hack. - - * convert the given user ID to UTF-8 and add an option to suppress this. - - * A way to disable keys. + * print a warning when a revoked/expired _secret_ key is used. Nice to have ------------ - * Let take --help an option to select some topics. * Offcial test vectors for 3DES-EDE3 * use DEL and ^H for erasing the previous character (util/ttyio.c). or better readline. @@ -43,7 +25,6 @@ utility and SOCKSify this utility. * Do a real fix for bug #7 or document that it is a PGP 5 error. * preferences of hash algorithms are not yet used. - * new menu to delete signatures and list signature in menu * Replace the SIGUSR1 stuff by semaphores to avoid loss of a signal. or use POSIX.4 realtime signals. Overhaul the interface and the test program. Use it with the test suite? @@ -52,12 +33,19 @@ * Burn the buffers used by fopen(), or use read(2). Does this really make sense? And while we are at it: implement a secure deletion stuff? - * Stats about used random numbers. * the pubkey encrypt functions should do some sanity checks. * dynload: implement the hint stuff. - * "gpg filename.tar.gz.asc" sollte wie mit --verify funktionieren (-sab). + * "gpg filename.tar.gz.asc" should work like --verify (-sab). * for messages created with "-t", it might make sense to append the verification status of the message to the output (i.e. write something to the --output file and not only to stderr. + * configure option where to find zlib + * Check the beginning of file to detect already compresssed files (gzip, + bzip2, xdelta and some picture formats) + * Display more validity information about the user IDs at certain places. + We need a more general function to extract such kind of info from the + trustdb. + * Evaluate whether it make sense to replace the namehashs either by + using the user ID directly or by using pointers into the trustdb. diff -urN gnupg-0.9.8/acconfig.h gnupg-0.9.9/acconfig.h --- gnupg-0.9.8/acconfig.h Sat Jun 26 10:21:35 1999 +++ gnupg-0.9.9/acconfig.h Tue Jun 29 20:40:13 1999 @@ -92,6 +92,7 @@ * with special properties like no file modes */ #undef HAVE_DOSISH_SYSTEM +#undef USE_CAPABILITIES @BOTTOM@ diff -urN gnupg-0.9.8/acinclude.m4 gnupg-0.9.9/acinclude.m4 --- gnupg-0.9.8/acinclude.m4 Sat Jun 26 10:14:52 1999 +++ gnupg-0.9.9/acinclude.m4 Thu Jul 15 08:54:09 1999 @@ -560,11 +560,22 @@ # GNUPG_SYS_SYMBOL_UNDERSCORE - does the compiler prefix global symbols # with an underscore? AC_DEFUN(GNUPG_SYS_SYMBOL_UNDERSCORE, -[if test "$cross_compiling" = yes; then - AC_MSG_CHECKING([for _ prefix in compiled symbols]) - ac_cv_sys_symbol_underscore=yes - AC_MSG_RESULT(assume yes) -else +[tmp_do_check="no" +case "${target}" in + i386-emx-os2 | i[3456]86-pc-os2*emx ) + ac_cv_sys_symbol_underscore=yes + ;; + *) + if test "$cross_compiling" = yes; then + ac_cv_sys_symbol_underscore=yes + else + tmp_do_check="yes" + fi + ;; +esac + +if test "$tmp_do_check" = "yes"; then +ac_cv_sys_symbol_underscore="" AC_REQUIRE([GNUPG_PROG_NM])dnl AC_REQUIRE([GNUPG_SYS_NM_PARSE])dnl AC_MSG_CHECKING([for _ prefix in compiled symbols]) @@ -597,8 +608,10 @@ fi rm -rf conftest* ]) -AC_MSG_RESULT($ac_cv_sys_symbol_underscore) +else +AC_MSG_CHECKING([for _ prefix in compiled symbols]) fi +AC_MSG_RESULT($ac_cv_sys_symbol_underscore) if test x$ac_cv_sys_symbol_underscore = xyes; then AC_DEFINE(WITH_SYMBOL_UNDERSCORE,1, [define if compiled symbols have a leading underscore]) diff -urN gnupg-0.9.8/aclocal.m4 gnupg-0.9.9/aclocal.m4 --- gnupg-0.9.8/aclocal.m4 Sat Jun 26 13:02:16 1999 +++ gnupg-0.9.9/aclocal.m4 Fri Jul 23 11:43:31 1999 @@ -563,11 +563,22 @@ # GNUPG_SYS_SYMBOL_UNDERSCORE - does the compiler prefix global symbols # with an underscore? AC_DEFUN(GNUPG_SYS_SYMBOL_UNDERSCORE, -[if test "$cross_compiling" = yes; then - AC_MSG_CHECKING([for _ prefix in compiled symbols]) - ac_cv_sys_symbol_underscore=yes - AC_MSG_RESULT(assume yes) -else +[tmp_do_check="no" +case "${target}" in + i386-emx-os2 | i[3456]86-pc-os2*emx ) + ac_cv_sys_symbol_underscore=yes + ;; + *) + if test "$cross_compiling" = yes; then + ac_cv_sys_symbol_underscore=yes + else + tmp_do_check="yes" + fi + ;; +esac + +if test "$tmp_do_check" = "yes"; then +ac_cv_sys_symbol_underscore="" AC_REQUIRE([GNUPG_PROG_NM])dnl AC_REQUIRE([GNUPG_SYS_NM_PARSE])dnl AC_MSG_CHECKING([for _ prefix in compiled symbols]) @@ -600,8 +611,10 @@ fi rm -rf conftest* ]) -AC_MSG_RESULT($ac_cv_sys_symbol_underscore) +else +AC_MSG_CHECKING([for _ prefix in compiled symbols]) fi +AC_MSG_RESULT($ac_cv_sys_symbol_underscore) if test x$ac_cv_sys_symbol_underscore = xyes; then AC_DEFINE(WITH_SYMBOL_UNDERSCORE,1, [define if compiled symbols have a leading underscore]) @@ -634,6 +647,39 @@ 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 + +# serial 1 + +AC_DEFUN(AM_MAINTAINER_MODE, +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT($USE_MAINTAINER_MODE) + AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + # # Check to make sure that the build environment is sane. # @@ -693,18 +739,411 @@ fi AC_SUBST($1)]) -# Define a conditional. -AC_DEFUN(AM_CONDITIONAL, -[AC_SUBST($1_TRUE) -AC_SUBST($1_FALSE) -if $2; then - $1_TRUE= - $1_FALSE='#' +# 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 - $1_TRUE='#' - $1_FALSE= + 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-0.9.8/checks/Makefile.in gnupg-0.9.9/checks/Makefile.in --- gnupg-0.9.8/checks/Makefile.in Sat Jun 26 13:07:41 1999 +++ gnupg-0.9.9/checks/Makefile.in Fri Jul 23 14:26:23 1999 @@ -64,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -84,12 +85,17 @@ 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@ @@ -126,7 +132,7 @@ GZIP_ENV = --best all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps checks/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -223,6 +229,7 @@ clean: clean-am distclean-am: distclean-generic clean-am distclean-local + -rm -f libtool distclean: distclean-am diff -urN gnupg-0.9.8/cipher/ChangeLog gnupg-0.9.9/cipher/ChangeLog --- gnupg-0.9.8/cipher/ChangeLog Sat Jun 26 12:15:59 1999 +++ gnupg-0.9.9/cipher/ChangeLog Thu Jul 22 19:58:10 1999 @@ -1,5 +1,32 @@ -Sat Jun 26 12:15:59 CEST 1999 Werner Koch +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. + * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto. + + * pubkey.c (disable_pubkey_algo): New. + (check_pubkey_algo2): Look at disabled algo table. + * cipher.c (disable_cipher_algo): New. + (check_cipher_algo): Look at disabled algo table. + +Wed Jul 7 13:08:40 CEST 1999 Werner Koch + + * Makefile.am: Support for libtool. + +Fri Jul 2 11:45:54 CEST 1999 Werner Koch + * dsa.c (gen_k): Changed algorithm to consume less random bytes + * elgamal.c (gen_k): Ditto. + + * random.c (random_dump_stats): New. + +Thu Jul 1 12:47:31 CEST 1999 Werner Koch + + * primegen.c, elgamal.c, dsa.c (progess): New and replaced all + fputc with a call to this function. + +Sat Jun 26 12:15:59 CEST 1999 Werner Koch * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs. @@ -120,7 +147,6 @@ * random.c (random_is_faked): New. * tiger.c: Only compile if we have the u64 type - Sat Jan 9 16:02:23 CET 1999 Werner Koch diff -urN gnupg-0.9.8/cipher/Makefile.am gnupg-0.9.9/cipher/Makefile.am --- gnupg-0.9.8/cipher/Makefile.am Sat Jun 26 12:48:00 1999 +++ gnupg-0.9.9/cipher/Makefile.am Mon Jul 12 17:08:57 1999 @@ -3,7 +3,7 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LIBRARIES = libcipher.a +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 @@ -33,7 +33,8 @@ DYNLINK_MOD_CFLAGS = -DIS_MODULE @DYNLINK_MOD_CFLAGS@ -libcipher_a_SOURCES = cipher.c \ +libcipher_la_LDFLAGS = +libcipher_la_SOURCES = cipher.c \ pubkey.c \ md.c \ dynload.c \ @@ -62,8 +63,8 @@ BUILT_SOURCES = construct.c -libcipher_a_DEPENDENCIES = @STATIC_CIPHER_OBJS@ -libcipher_a_LIBADD = @STATIC_CIPHER_OBJS@ +libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@ +libcipher_la_LIBADD = @STATIC_CIPHER_OBJS@ # If I remember it correct, automake 1.4 has a feature to set diff -urN gnupg-0.9.8/cipher/Makefile.in gnupg-0.9.9/cipher/Makefile.in --- gnupg-0.9.8/cipher/Makefile.in Sat Jun 26 13:07:13 1999 +++ gnupg-0.9.9/cipher/Makefile.in Fri Jul 23 14:25:38 1999 @@ -64,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -83,12 +84,17 @@ 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@ @@ -103,7 +109,7 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LIBRARIES = libcipher.a +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 @@ -127,28 +133,28 @@ DYNLINK_MOD_CFLAGS = -DIS_MODULE @DYNLINK_MOD_CFLAGS@ -libcipher_a_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_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 # configure creates the constructor file BUILT_SOURCES = construct.c -libcipher_a_DEPENDENCIES = @STATIC_CIPHER_OBJS@ -libcipher_a_LIBADD = @STATIC_CIPHER_OBJS@ +libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@ +libcipher_la_LIBADD = @STATIC_CIPHER_OBJS@ mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) +LTLIBRARIES = $(noinst_LTLIBRARIES) DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -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 +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 PROGRAMS = $(pkglib_PROGRAMS) rndunix_SOURCES = rndunix.c @@ -188,8 +194,9 @@ 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 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -197,13 +204,13 @@ TAR = tar GZIP_ENV = --best -SOURCES = $(libcipher_a_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_a_OBJECTS) rndunix.o rndlinux.o rndegd.o sha1.o rmd160.o md5.o tiger.o +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 all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +.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 cipher/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -211,14 +218,14 @@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -mostlyclean-noinstLIBRARIES: +mostlyclean-noinstLTLIBRARIES: -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -distclean-noinstLIBRARIES: +distclean-noinstLTLIBRARIES: -maintainer-clean-noinstLIBRARIES: +maintainer-clean-noinstLTLIBRARIES: .c.o: $(COMPILE) -c $< @@ -239,10 +246,27 @@ maintainer-clean-compile: -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 +.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) mostlyclean-pkglibPROGRAMS: @@ -258,8 +282,8 @@ $(mkinstalldirs) $(DESTDIR)$(pkglibdir) @list='$(pkglib_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - 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)/'`; \ + 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)/'`; \ else :; fi; \ done @@ -325,70 +349,71 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -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 \ +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 \ ../include/errors.h cast5.h -cipher.o: cipher.c ../config.h ../g10defs.h ../include/util.h \ +cipher.lo 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.o: construct.c -des.o: des.c ../config.h ../g10defs.h ../include/types.h \ +construct.lo construct.o : construct.c +des.lo des.o : des.c ../config.h ../g10defs.h ../include/types.h \ ../include/errors.h des.h -dsa.o: dsa.c ../config.h ../g10defs.h ../include/util.h \ +dsa.lo 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.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 \ +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.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 \ +md.lo 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.o: md5.c ../config.h ../g10defs.h ../include/util.h \ +md5.lo 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.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 \ +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/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.o: random.c ../config.h ../g10defs.h ../include/util.h \ +random.lo 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.o: rmd160.c ../config.h ../g10defs.h ../include/util.h \ +rmd160.lo 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.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 -smallprime.o: smallprime.c ../config.h ../g10defs.h ../include/util.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/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 @@ -409,7 +434,7 @@ install: install-am uninstall-am: uninstall-pkglibPROGRAMS uninstall: uninstall-am -all-am: Makefile $(LIBRARIES) $(PROGRAMS) +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install @@ -427,25 +452,27 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ - mostlyclean-pkglibPROGRAMS mostlyclean-tags \ - mostlyclean-generic +mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \ + mostlyclean-libtool mostlyclean-pkglibPROGRAMS \ + mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLIBRARIES clean-compile clean-pkglibPROGRAMS \ - clean-tags clean-generic mostlyclean-am +clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \ + clean-pkglibPROGRAMS clean-tags clean-generic \ + mostlyclean-am clean: clean-am -distclean-am: distclean-noinstLIBRARIES distclean-compile \ - distclean-pkglibPROGRAMS distclean-tags \ - distclean-generic clean-am +distclean-am: distclean-noinstLTLIBRARIES distclean-compile \ + distclean-libtool distclean-pkglibPROGRAMS \ + distclean-tags distclean-generic clean-am + -rm -f libtool distclean: distclean-am -maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile \ +maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \ + maintainer-clean-compile maintainer-clean-libtool \ maintainer-clean-pkglibPROGRAMS maintainer-clean-tags \ maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @@ -453,10 +480,11 @@ maintainer-clean: maintainer-clean-am -.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ -clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ +.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \ +clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-pkglibPROGRAMS \ +maintainer-clean-compile mostlyclean-libtool distclean-libtool \ +clean-libtool maintainer-clean-libtool mostlyclean-pkglibPROGRAMS \ distclean-pkglibPROGRAMS clean-pkglibPROGRAMS \ maintainer-clean-pkglibPROGRAMS uninstall-pkglibPROGRAMS \ install-pkglibPROGRAMS tags mostlyclean-tags distclean-tags clean-tags \ diff -urN gnupg-0.9.8/cipher/cipher.c gnupg-0.9.9/cipher/cipher.c --- gnupg-0.9.8/cipher/cipher.c Fri Jun 18 12:52:49 1999 +++ gnupg-0.9.9/cipher/cipher.c Thu Jul 22 22:26:33 1999 @@ -48,6 +48,7 @@ }; static struct cipher_table_s cipher_table[TABLE_SIZE]; +static int disabled_algos[TABLE_SIZE]; struct cipher_handle_s { @@ -246,6 +247,22 @@ return NULL; } + +void +disable_cipher_algo( int algo ) +{ + int i; + + for(i=0; i < DIM(disabled_algos); i++ ) { + if( !disabled_algos[i] || disabled_algos[i] == algo ) { + disabled_algos[i] = algo; + return; + } + } + /* fixme: we should use a linked list */ + log_fatal("can't disable cipher algo %d: table full\n", algo ); +} + /**************** * Return 0 if the cipher algo is available */ @@ -256,8 +273,13 @@ do { for(i=0; cipher_table[i].name; i++ ) - if( cipher_table[i].algo == algo ) - return 0; /* okay */ + if( cipher_table[i].algo == algo ) { + for(i=0; i < DIM(disabled_algos); i++ ) { + if( disabled_algos[i] == algo ) + return G10ERR_CIPHER_ALGO; + } + return 0; /* okay */ + } } while( load_cipher_modules() ); return G10ERR_CIPHER_ALGO; } @@ -374,7 +396,7 @@ if( iv ) { if( ivlen != c->blocksize ) log_info("WARNING: cipher_setiv: ivlen=%u blklen=%u\n", - ivlen, c->blocksize ); + ivlen, (unsigned)c->blocksize ); if( ivlen > c->blocksize ) ivlen = c->blocksize; memcpy( c->iv, iv, ivlen ); diff -urN gnupg-0.9.8/cipher/dsa.c gnupg-0.9.9/cipher/dsa.c --- gnupg-0.9.8/cipher/dsa.c Tue Jun 8 11:53:39 1999 +++ gnupg-0.9.9/cipher/dsa.c Thu Jul 15 09:18:33 1999 @@ -52,6 +52,13 @@ static void sign(MPI r, MPI s, MPI input, DSA_secret_key *skey); static int verify(MPI r, MPI s, MPI input, DSA_public_key *pkey); +static void +progress( int c ) +{ + fputc( c, stderr ); +} + + /**************** * Generate a random secret exponent k less than q */ @@ -59,32 +66,51 @@ gen_k( MPI q ) { MPI k = mpi_alloc_secure( mpi_get_nlimbs(q) ); - unsigned nbits = mpi_get_nbits(q); + unsigned int nbits = mpi_get_nbits(q); + unsigned int nbytes = (nbits+7)/8; + char *rndbuf = NULL; if( DBG_CIPHER ) log_debug("choosing a random k "); for(;;) { if( DBG_CIPHER ) - fputc('.', stderr); - { char *p = get_random_bits( nbits, 1, 1 ); - mpi_set_buffer( k, p, (nbits+7)/8, 0 ); - m_free(p); - /* make sure that the number is of the exact lenght */ - if( mpi_test_bit( k, nbits-1 ) ) - mpi_set_highbit( k, nbits-1 ); - else { - mpi_set_highbit( k, nbits-1 ); - mpi_clear_bit( k, nbits-1 ); - } + progress('.'); + + if( !rndbuf || nbits < 32 ) { + m_free(rndbuf); + rndbuf = get_random_bits( nbits, 1, 1 ); + } + else { /* change only some of the higher bits */ + /* we could imporove this by directly requesting more memory + * at the first call to get_random_bits() and use this the here + * maybe it is easier to do this directly in random.c */ + char *pp = get_random_bits( 32, 1, 1 ); + memcpy( rndbuf,pp, 4 ); + m_free(pp); } - if( !(mpi_cmp( k, q ) < 0) ) /* check: k < q */ + mpi_set_buffer( k, rndbuf, nbytes, 0 ); + if( mpi_test_bit( k, nbits-1 ) ) + mpi_set_highbit( k, nbits-1 ); + else { + mpi_set_highbit( k, nbits-1 ); + mpi_clear_bit( k, nbits-1 ); + } + + if( !(mpi_cmp( k, q ) < 0) ) { /* check: k < q */ + if( DBG_CIPHER ) + progress('+'); continue; /* no */ - if( !(mpi_cmp_ui( k, 0 ) > 0) ) /* check: k > 0 */ + } + if( !(mpi_cmp_ui( k, 0 ) > 0) ) { /* check: k > 0 */ + if( DBG_CIPHER ) + progress('-'); continue; /* no */ + } break; /* okay */ } + m_free(rndbuf); if( DBG_CIPHER ) - fputc('\n', stderr); + progress('\n'); return k; } @@ -170,7 +196,7 @@ rndbuf = NULL; do { if( DBG_CIPHER ) - fputc('.', stderr); + progress('.'); if( !rndbuf ) rndbuf = get_random_bits( qbits, 2, 1 ); else { /* change only some of the higher bits (= 2 bytes)*/ @@ -190,7 +216,7 @@ mpi_powm( y, g, x, p ); if( DBG_CIPHER ) { - fputc('\n', stderr); + progress('\n'); log_mpidump("dsa p= ", p ); log_mpidump("dsa q= ", q ); log_mpidump("dsa g= ", g ); @@ -274,6 +300,7 @@ MPI base[3]; MPI exp[3]; + if( !(mpi_cmp_ui( r, 0 ) > 0 && mpi_cmp( r, pkey->q ) < 0) ) return 0; /* assertion 0 < r < q failed */ if( !(mpi_cmp_ui( s, 0 ) > 0 && mpi_cmp( s, pkey->q ) < 0) ) @@ -339,6 +366,8 @@ if( algo != PUBKEY_ALGO_DSA ) return G10ERR_PUBKEY_ALGO; + if( !skey[0] || !skey[1] || !skey[2] || !skey[3] || !skey[4] ) + return G10ERR_BAD_MPI; sk.p = skey[0]; sk.q = skey[1]; @@ -360,6 +389,8 @@ if( algo != PUBKEY_ALGO_DSA ) return G10ERR_PUBKEY_ALGO; + if( !data || !skey[0] || !skey[1] || !skey[2] || !skey[3] || !skey[4] ) + return G10ERR_BAD_MPI; sk.p = skey[0]; sk.q = skey[1]; @@ -380,6 +411,9 @@ if( algo != PUBKEY_ALGO_DSA ) return G10ERR_PUBKEY_ALGO; + if( !data[0] || !data[1] || !hash + || !pkey[0] || !pkey[1] || !pkey[2] || !pkey[3] ) + return G10ERR_BAD_MPI; pk.p = pkey[0]; pk.q = pkey[1]; diff -urN gnupg-0.9.8/cipher/elgamal.c gnupg-0.9.9/cipher/elgamal.c --- gnupg-0.9.8/cipher/elgamal.c Mon May 17 20:18:19 1999 +++ gnupg-0.9.9/cipher/elgamal.c Thu Jul 15 09:17:36 1999 @@ -57,6 +57,13 @@ static void +progress( int c ) +{ + fputc( c, stderr ); +} + + +static void test_keys( ELG_secret_key *sk, unsigned nbits ) { ELG_public_key pk; @@ -101,17 +108,31 @@ MPI k = mpi_alloc_secure( 0 ); MPI temp = mpi_alloc( mpi_get_nlimbs(p) ); MPI p_1 = mpi_copy(p); - unsigned nbits = mpi_get_nbits(p); + unsigned int nbits = mpi_get_nbits(p); + unsigned int nbytes = (nbits+7)/8; + char *rndbuf = NULL; if( DBG_CIPHER ) log_debug("choosing a random k "); mpi_sub_ui( p_1, p, 1); for(;;) { if( DBG_CIPHER ) - fputc('.', stderr); - { char *pp = get_random_bits( nbits, 1, 1 ); - mpi_set_buffer( k, pp, (nbits+7)/8, 0 ); + progress('.'); + if( !rndbuf || nbits < 32 ) { + m_free(rndbuf); + rndbuf = get_random_bits( nbits, 1, 1 ); + } + else { /* change only some of the higher bits */ + /* we could imporove this by directly requesting more memory + * at the first call to get_random_bits() and use this the here + * maybe it is easier to do this directly in random.c */ + char *pp = get_random_bits( 32, 1, 1 ); + memcpy( rndbuf,pp, 4 ); m_free(pp); + } + mpi_set_buffer( k, rndbuf, nbytes, 0 ); + + for(;;) { /* make sure that the number is of the exact lenght */ if( mpi_test_bit( k, nbits-1 ) ) mpi_set_highbit( k, nbits-1 ); @@ -119,16 +140,25 @@ mpi_set_highbit( k, nbits-1 ); mpi_clear_bit( k, nbits-1 ); } + if( !(mpi_cmp( k, p_1 ) < 0) ) { /* check: k < (p-1) */ + if( DBG_CIPHER ) + progress('+'); + break; /* no */ + } + if( !(mpi_cmp_ui( k, 0 ) > 0) ) { /* check: k > 0 */ + if( DBG_CIPHER ) + progress('-'); + break; /* no */ + } + if( mpi_gcd( temp, k, p_1 ) ) + goto found; /* okay, k is relatively prime to (p-1) */ + mpi_add_ui( k, k, 1 ); } - if( !(mpi_cmp( k, p_1 ) < 0) ) /* check: k < (p-1) */ - continue; /* no */ - if( !(mpi_cmp_ui( k, 0 ) > 0) ) /* check: k > 0 */ - continue; /* no */ - if( mpi_gcd( temp, k, p_1 ) ) - break; /* okay, k is relatively prime to (p-1) */ } + found: + m_free(rndbuf); if( DBG_CIPHER ) - fputc('\n', stderr); + progress('\n'); mpi_free(p_1); mpi_free(temp); @@ -179,7 +209,7 @@ rndbuf = NULL; do { if( DBG_CIPHER ) - fputc('.', stderr); + progress('.'); if( rndbuf ) { /* change only some of the higher bits */ if( nbits < 16 ) {/* should never happen ... */ m_free(rndbuf); @@ -202,7 +232,7 @@ mpi_powm( y, g, x, p ); if( DBG_CIPHER ) { - fputc('\n', stderr); + progress('\n'); log_mpidump("elg p= ", p ); log_mpidump("elg g= ", g ); log_mpidump("elg y= ", y ); @@ -429,6 +459,8 @@ if( !is_ELGAMAL(algo) ) return G10ERR_PUBKEY_ALGO; + if( !skey[0] || !skey[1] || !skey[2] || !skey[3] ) + return G10ERR_BAD_MPI; sk.p = skey[0]; sk.g = skey[1]; @@ -449,6 +481,8 @@ if( !is_ELGAMAL(algo) ) return G10ERR_PUBKEY_ALGO; + if( !data || !pkey[0] || !pkey[1] || !pkey[2] ) + return G10ERR_BAD_MPI; pk.p = pkey[0]; pk.g = pkey[1]; @@ -466,6 +500,9 @@ if( !is_ELGAMAL(algo) ) return G10ERR_PUBKEY_ALGO; + if( !data[0] || !data[1] + || !skey[0] || !skey[1] || !skey[2] || !skey[3] ) + return G10ERR_BAD_MPI; sk.p = skey[0]; sk.g = skey[1]; @@ -483,6 +520,8 @@ if( !is_ELGAMAL(algo) ) return G10ERR_PUBKEY_ALGO; + if( !data || !skey[0] || !skey[1] || !skey[2] || !skey[3] ) + return G10ERR_BAD_MPI; sk.p = skey[0]; sk.g = skey[1]; @@ -502,6 +541,9 @@ if( !is_ELGAMAL(algo) ) return G10ERR_PUBKEY_ALGO; + if( !data[0] || !data[1] || !hash + || !pkey[0] || !pkey[1] || !pkey[2] ) + return G10ERR_BAD_MPI; pk.p = pkey[0]; pk.g = pkey[1]; diff -urN gnupg-0.9.8/cipher/primegen.c gnupg-0.9.9/cipher/primegen.c --- gnupg-0.9.8/cipher/primegen.c Mon May 17 20:18:19 1999 +++ gnupg-0.9.9/cipher/primegen.c Wed Jun 30 10:35:54 1999 @@ -39,6 +39,13 @@ static void m_out_of_n( char *array, int m, int n ); +static void +progress( int c ) +{ + fputc( c, stderr ); +} + + /**************** * Generate a prime number (stored in secure memory) */ @@ -48,7 +55,7 @@ MPI prime; prime = gen_prime( nbits, 1, 2 ); - fputc('\n', stderr); + progress('\n'); return prime; } @@ -58,7 +65,7 @@ MPI prime; prime = gen_prime( nbits, 0, 2 ); - fputc('\n', stderr); + progress('\n'); return prime; } @@ -152,7 +159,7 @@ } if( i == n ) { m_free(perms); perms = NULL; - fputc('!', stderr); + progress('!'); goto next_try; /* allocate new primes */ } } @@ -169,7 +176,7 @@ if( ++count1 > 20 ) { count1 = 0; qbits++; - fputc('>', stderr); + progress('>'); q = gen_prime( qbits, 0, 1 ); goto next_try; } @@ -180,7 +187,7 @@ if( ++count2 > 20 ) { count2 = 0; qbits--; - fputc('<', stderr); + progress('<'); q = gen_prime( qbits, 0, 1 ); goto next_try; } @@ -190,7 +197,7 @@ } while( !(nprime == pbits && check_prime( prime, val_2 )) ); if( DBG_CIPHER ) { - putc('\n', stderr); + progress('\n'); log_mpidump( "prime : ", prime ); log_mpidump( "factor q: ", q ); if( mode == 1 ) @@ -202,7 +209,7 @@ fprintf(stderr, ", q0=%u", mpi_get_nbits(q_factor) ); for(i=0; i < n; i++ ) fprintf(stderr, ", p%d=%u", i, mpi_get_nbits(factors[i]) ); - putc('\n', stderr); + progress('\n'); } if( ret_factors ) { /* caller wants the factors */ @@ -237,7 +244,7 @@ mpi_print( stderr, g, 1 ); } else - fputc('^', stderr); + progress('^'); for(i=0; i < n+2; i++ ) { /*fputc('~', stderr);*/ mpi_fdiv_q(tmp, pmin1, factors[i] ); @@ -247,7 +254,7 @@ break; } if( DBG_CIPHER ) - fputc('\n', stderr); + progress('\n'); } while( i < n+2 ); mpi_free(factors[n+1]); mpi_free(tmp); @@ -255,7 +262,7 @@ mpi_free(pmin1); } if( !DBG_CIPHER ) - putc('\n', stderr); + progress('\n'); m_free( factors ); /* (factors are shallow copies) */ for(i=0; i < m; i++ ) @@ -335,7 +342,7 @@ /* perform stronger tests */ if( is_prime(ptest, 5, &count2 ) ) { if( !mpi_test_bit( ptest, nbits-1 ) ) { - fputc('\n', stderr); + progress('\n'); log_debug("overflow in prime generation\n"); break; /* step loop, continue with a new prime */ } @@ -350,11 +357,11 @@ } } if( ++dotcount == 10 ) { - fputc('.', stderr); + progress('.'); dotcount = 0; } } - fputc(':', stderr); /* restart with a new random value */ + progress(':'); /* restart with a new random value */ } } @@ -383,7 +390,7 @@ mpi_free( pminus1 ); if( mpi_cmp_ui( result, 1 ) ) { /* if composite */ mpi_free( result ); - fputc('.', stderr); + progress('.'); return 0; } mpi_free( result ); @@ -392,7 +399,7 @@ /* perform stronger tests */ if( is_prime(prime, 5, &count ) ) return 1; /* is probably a prime */ - fputc('.', stderr); + progress('.'); return 0; } @@ -452,7 +459,7 @@ if( mpi_cmp( y, nminus1 ) ) goto leave; /* not a prime */ } - fputc('+', stderr); + progress('+'); } rc = 1; /* may be a prime */ diff -urN gnupg-0.9.8/cipher/pubkey.c gnupg-0.9.9/cipher/pubkey.c --- gnupg-0.9.8/cipher/pubkey.c Mon Jun 14 08:33:26 1999 +++ gnupg-0.9.9/cipher/pubkey.c Fri Jul 23 13:32:50 1999 @@ -54,7 +54,7 @@ }; static struct pubkey_table_s pubkey_table[TABLE_SIZE]; - +static int disabled_algos[TABLE_SIZE]; static int @@ -267,6 +267,20 @@ } +void +disable_pubkey_algo( int algo ) +{ + int i; + + for(i=0; i < DIM(disabled_algos); i++ ) { + if( !disabled_algos[i] || disabled_algos[i] == algo ) { + disabled_algos[i] = algo; + return; + } + } + log_fatal("can't disable pubkey algo %d: table full\n", algo ); +} + int check_pubkey_algo( int algo ) @@ -291,6 +305,11 @@ if( (use & PUBKEY_USAGE_ENC) && !(pubkey_table[i].use & PUBKEY_USAGE_ENC) ) return G10ERR_WR_PUBKEY_ALGO; + + for(i=0; i < DIM(disabled_algos); i++ ) { + if( disabled_algos[i] == algo ) + return G10ERR_PUBKEY_ALGO; + } return 0; /* okay */ } } while( load_pubkey_modules() ); diff -urN gnupg-0.9.8/cipher/random.c gnupg-0.9.9/cipher/random.c --- gnupg-0.9.8/cipher/random.c Sun May 23 13:19:05 1999 +++ gnupg-0.9.9/cipher/random.c Fri Jul 2 11:08:58 1999 @@ -104,6 +104,18 @@ static int gather_faked( void (*add)(const void*, size_t, int), int requester, size_t length, int level ); +static struct { + ulong mixrnd; + ulong mixkey; + ulong slowpolls; + ulong fastpolls; + ulong getbytes1; + ulong ngetbytes1; + ulong getbytes2; + ulong ngetbytes2; + ulong addbytes; + ulong naddbytes; +} rndstats; static void initialize(void) @@ -119,6 +131,19 @@ cipher_modules_constructor(); } + +void +random_dump_stats() +{ + fprintf(stderr, + "random usage: poolsize=%d mixed=%lu polls=%lu/%lu added=%lu/%lu\n" + " outmix=%lu getlvl1=%lu/%lu getlvl2=%lu/%lu\n", + POOLSIZE, rndstats.mixrnd, rndstats.slowpolls, rndstats.fastpolls, + rndstats.naddbytes, rndstats.addbytes, + rndstats.mixkey, rndstats.ngetbytes1, rndstats.getbytes1, + rndstats.ngetbytes2, rndstats.getbytes2 ); +} + void secure_random_alloc() { @@ -175,6 +200,15 @@ if( quick_test && level > 1 ) level = 1; MASK_LEVEL(level); + if( level == 1 ) { + rndstats.getbytes1 += nbytes; + rndstats.ngetbytes1++; + } + else if( level >= 2 ) { + rndstats.getbytes2 += nbytes; + rndstats.ngetbytes2++; + } + buf = secure && secure_alloc ? m_alloc_secure( nbytes ) : m_alloc( nbytes ); for( p = buf; nbytes > 0; ) { size_t n = nbytes > POOLSIZE? POOLSIZE : nbytes; @@ -265,21 +299,23 @@ i < POOLWORDS; i++, dp++, sp++ ) *dp = *sp + ADD_VALUE; /* must mix both pools */ - mix_pool(rndpool); - mix_pool(keypool); + mix_pool(rndpool); rndstats.mixrnd++; + mix_pool(keypool); rndstats.mixkey++; memcpy( buffer, keypool, length ); } else { /* mix the pool (if add_randomness() didn't it) */ - if( !just_mixed ) + if( !just_mixed ) { mix_pool(rndpool); + rndstats.mixrnd++; + } /* create a new pool */ for(i=0,dp=(ulong*)keypool, sp=(ulong*)rndpool; i < POOLWORDS; i++, dp++, sp++ ) *dp = *sp + ADD_VALUE; /* and mix both pools */ - mix_pool(rndpool); - mix_pool(keypool); + mix_pool(rndpool); rndstats.mixrnd++; + mix_pool(keypool); rndstats.mixkey++; /* read the required data * we use a readpoiter to read from a different postion each * time */ @@ -308,13 +344,15 @@ if( !is_initialized ) initialize(); + rndstats.addbytes += length; + rndstats.naddbytes++; while( length-- ) { rndpool[pool_writepos++] = *p++; if( pool_writepos >= POOLSIZE ) { if( source > 1 ) pool_filled = 1; pool_writepos = 0; - mix_pool(rndpool); + mix_pool(rndpool); rndstats.mixrnd++; just_mixed = !length; } } @@ -325,6 +363,7 @@ static void random_poll() { + rndstats.slowpolls++; read_random_source( 2, POOLSIZE/5, 1 ); } @@ -335,6 +374,7 @@ static void (*fnc)( void (*)(const void*, size_t, int), int) = NULL; static int initialized = 0; + rndstats.fastpolls++; if( !initialized ) { if( !is_initialized ) initialize(); diff -urN gnupg-0.9.8/cipher/random.h gnupg-0.9.9/cipher/random.h --- gnupg-0.9.8/cipher/random.h Mon Jan 11 08:15:38 1999 +++ gnupg-0.9.9/cipher/random.h Fri Jul 2 10:51:38 1999 @@ -23,6 +23,7 @@ #include "types.h" /*-- random.c --*/ +void random_dump_stats(void); void secure_random_alloc(void); int quick_random_gen( int onoff ); int random_is_faked(void); diff -urN gnupg-0.9.8/config.h.in gnupg-0.9.9/config.h.in --- gnupg-0.9.8/config.h.in Sat Jun 26 12:58:33 1999 +++ gnupg-0.9.9/config.h.in Tue Jul 6 16:26:18 1999 @@ -140,6 +140,8 @@ * with special properties like no file modes */ #undef HAVE_DOSISH_SYSTEM +#undef USE_CAPABILITIES + /* The number of bytes in a unsigned int. */ #undef SIZEOF_UNSIGNED_INT @@ -233,6 +235,9 @@ /* Define if you have the strftime function. */ #undef HAVE_STRFTIME +/* Define if you have the stricmp function. */ +#undef HAVE_STRICMP + /* Define if you have the strlwr function. */ #undef HAVE_STRLWR @@ -268,6 +273,9 @@ /* Define if you have the header file. */ #undef HAVE_STRING_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_CAPABILITY_H /* Define if you have the header file. */ #undef HAVE_SYS_IPC_H diff -urN gnupg-0.9.8/configure gnupg-0.9.9/configure --- gnupg-0.9.8/configure Sat Jun 26 13:02:34 1999 +++ gnupg-0.9.9/configure Fri Jul 23 11:57:31 1999 @@ -1,6 +1,6 @@ #! /bin/sh -# From configure.in Revision: 1.94 +# From configure.in Revision: 1.97 CDPATH= @@ -68,6 +68,17 @@ +# Define a conditional. + + + +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# serial 1 + + + # # Check to make sure that the build environment is sane. # @@ -76,7 +87,77 @@ -# Define a conditional. + +# 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 + + +# 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_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. + @@ -144,6 +225,23 @@ 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" @@ -703,7 +801,7 @@ echo $ac_n "checking which static random module to use""... $ac_c" 1>&6 -echo "configure:707: checking which static random module to use" >&5 +echo "configure:805: 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" @@ -728,8 +826,10 @@ esac + + echo $ac_n "checking whether use of /dev/random is requested""... $ac_c" 1>&6 -echo "configure:733: checking whether use of /dev/random is requested" >&5 +echo "configure:833: 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" @@ -743,7 +843,7 @@ echo $ac_n "checking whether use of extensions is requested""... $ac_c" 1>&6 -echo "configure:747: checking whether use of extensions is requested" >&5 +echo "configure:847: 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" @@ -755,7 +855,7 @@ echo "$ac_t""$try_dynload" 1>&6 echo $ac_n "checking whether assembler modules are requested""... $ac_c" 1>&6 -echo "configure:759: checking whether assembler modules are requested" >&5 +echo "configure:859: 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" @@ -767,7 +867,7 @@ echo "$ac_t""$try_asm_modules" 1>&6 echo $ac_n "checking whether memory debugging is requested""... $ac_c" 1>&6 -echo "configure:771: checking whether memory debugging is requested" >&5 +echo "configure:871: 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" @@ -785,7 +885,7 @@ use_m_guard=yes else echo $ac_n "checking whether memory guard is requested""... $ac_c" 1>&6 -echo "configure:789: checking whether memory guard is requested" >&5 +echo "configure:889: 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" @@ -805,7 +905,7 @@ echo $ac_n "checking whether included zlib is requested""... $ac_c" 1>&6 -echo "configure:809: checking whether included zlib is requested" >&5 +echo "configure:909: 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" @@ -816,6 +916,76 @@ echo "$ac_t""$g10_force_zlib" 1>&6 +echo $ac_n "checking whether compilation of libgcrypt is requested""... $ac_c" 1>&6 +echo "configure:921: checking whether compilation of libgcrypt is requested" >&5 +# 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:956: 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" + use_capabilities="$withval" +else + use_capabilities=no +fi + +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:969: 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" + USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6 + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + MAINT=$MAINTAINER_MODE_TRUE + @@ -847,7 +1017,7 @@ fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:851: checking host system type" >&5 +echo "configure:1021: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -868,7 +1038,7 @@ echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:872: checking target system type" >&5 +echo "configure:1042: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -886,7 +1056,7 @@ echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:890: checking build system type" >&5 +echo "configure:1060: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -928,7 +1098,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:932: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1102: 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 @@ -955,7 +1125,7 @@ fi echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:959: checking whether build environment is sane" >&5 +echo "configure:1129: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -994,7 +1164,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:998: checking for working aclocal" >&5 +echo "configure:1168: 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. @@ -1007,7 +1177,7 @@ fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:1011: checking for working autoconf" >&5 +echo "configure:1181: 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. @@ -1020,7 +1190,7 @@ fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:1024: checking for working automake" >&5 +echo "configure:1194: 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. @@ -1033,7 +1203,7 @@ fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:1037: checking for working autoheader" >&5 +echo "configure:1207: 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. @@ -1048,7 +1218,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:1052: checking for $ac_word" >&5 +echo "configure:1222: 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 @@ -1078,7 +1248,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:1082: checking for $ac_word" >&5 +echo "configure:1252: 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 @@ -1129,7 +1299,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:1133: checking for $ac_word" >&5 +echo "configure:1303: 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 @@ -1161,7 +1331,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1165: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1335: 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. @@ -1172,12 +1342,12 @@ cat > conftest.$ac_ext << EOF -#line 1176 "configure" +#line 1346 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1351: \"$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 @@ -1203,12 +1373,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:1207: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1377: 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:1212: checking whether we are using GNU C" >&5 +echo "configure:1382: 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 @@ -1217,7 +1387,7 @@ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1221: \"$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:1391: \"$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 @@ -1236,7 +1406,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1240: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1410: 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 @@ -1268,7 +1438,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1272: checking how to run the C preprocessor" >&5 +echo "configure:1442: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1283,13 +1453,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:1293: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1463: \"$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 : @@ -1300,13 +1470,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:1310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1480: \"$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 : @@ -1317,13 +1487,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:1327: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1497: \"$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 : @@ -1348,7 +1518,7 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1352: checking for POSIXized ISC" >&5 +echo "configure:1522: 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 @@ -1380,7 +1550,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:1384: checking for a BSD compatible install" >&5 +echo "configure:1554: 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 @@ -1432,40 +1602,44 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 +for ac_prog in mawk gawk nawk awk +do +# 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:1439: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then +echo "configure:1611: 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 - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # 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" + ac_cv_prog_AWK="$ac_prog" 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 +AWK="$ac_cv_prog_AWK" +if test -n "$AWK"; then + echo "$ac_t""$AWK" 1>&6 else echo "$ac_t""no" 1>&6 fi +test -n "$AWK" && break +done + # 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:1469: checking for $ac_word" >&5 +echo "configure:1643: 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 @@ -1503,6 +1677,412 @@ 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:1754: 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:1793: 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:1817: checking for GNU ld" >&5 +else + echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 +echo "configure:1820: checking for non-GNU ld" >&5 +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:1856: 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:1872: 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:1909: 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 1953 "configure"' > conftest.$ac_ext + if { (eval echo configure:1954: \"$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:1975: 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 @@ -1537,7 +2117,7 @@ try_gettext="no" try_gdbm="no" ;; - i386-emx-os2 | i345686-pc-os2emx ) + i386-emx-os2 | i345686-pc-os2*emx ) # OS/2 with the EMX environment ac_cv_have_dev_random=no cat >> confdefs.h <<\EOF @@ -1551,6 +2131,7 @@ try_gettext="no" try_gdbm="no" ;; + *-*-hpux*) if test -z "$GCC" ; then CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE" @@ -1571,7 +2152,7 @@ echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1575: checking for BSD-compatible nm" >&5 +echo "configure:2156: 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 @@ -1607,7 +2188,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:1611: checking command to parse $NM output" >&5 +echo "configure:2192: 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 @@ -1670,10 +2251,10 @@ #endif int main(){nm_test_var='a';nm_test_func;return 0;} EOF -if { (eval echo configure:1674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then # Now try to grab the symbols. ac_nlist=conftest.nm - if { (eval echo configure:1677: \"$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:2258: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then # Try sorting and uniquifying the output. if sort "$ac_nlist" | uniq > "$ac_nlist"T; then @@ -1731,7 +2312,7 @@ ac_save_CFLAGS="$CFLAGS" LIBS="conftestm.$ac_objext" CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo configure:1735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + if { (eval echo configure:2316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_pipe_works=yes else echo "configure: failed program was:" >&5 @@ -1766,14 +2347,24 @@ fi echo "$ac_t""$ac_result" 1>&6 -if test "$cross_compiling" = yes; then - echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6 -echo "configure:1772: checking for _ prefix in compiled symbols" >&5 - ac_cv_sys_symbol_underscore=yes - echo "$ac_t""assume yes" 1>&6 -else +tmp_do_check="no" +case "${target}" in + i386-emx-os2 | i345686-pc-os2*emx ) + ac_cv_sys_symbol_underscore=yes + ;; + *) + if test "$cross_compiling" = yes; then + ac_cv_sys_symbol_underscore=yes + else + tmp_do_check="yes" + fi + ;; +esac + +if test "$tmp_do_check" = "yes"; then +ac_cv_sys_symbol_underscore="" echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6 -echo "configure:1777: checking for _ prefix in compiled symbols" >&5 +echo "configure:2368: 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 @@ -1782,10 +2373,10 @@ void nm_test_func(){} int main(){nm_test_func;return 0;} EOF -if { (eval echo configure:1786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then # Now try to grab the symbols. ac_nlist=conftest.nm - if { (eval echo configure:1789: \"$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:2380: \"$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 @@ -1807,8 +2398,11 @@ fi -echo "$ac_t""$ac_cv_sys_symbol_underscore" 1>&6 +else +echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6 +echo "configure:2404: 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 cat >> confdefs.h <<\EOF #define WITH_SYMBOL_UNDERSCORE 1 @@ -1817,7 +2411,7 @@ fi echo $ac_n "checking for option to create PIC""... $ac_c" 1>&6 -echo "configure:1821: checking for option to create PIC" >&5 +echo "configure:2415: checking for option to create PIC" >&5 CFLAGS_PIC= NO_PIC=no if test "$cross_compiling" = yes; then @@ -1882,7 +2476,7 @@ fi echo $ac_n "checking how to specify -rdynamic""... $ac_c" 1>&6 -echo "configure:1886: checking how to specify -rdynamic" >&5 +echo "configure:2480: checking how to specify -rdynamic" >&5 CFLAGS_RDYNAMIC= if test "$cross_compiling" = yes; then echo "$ac_t""assume none" 1>&6 @@ -1916,7 +2510,7 @@ i386--mingw32) PRINTABLE_OS_NAME="MingW32" ;; - i386-emx-os2 | i345686-pc-os2emx) + i386-emx-os2 | i345686-pc-os2*emx ) PRINTABLE_OS_NAME="OS/2" ;; *-linux*) @@ -1957,12 +2551,12 @@ if test "$try_gettext" = yes; then echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1961: checking for ANSI C header files" >&5 +echo "configure:2555: 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 @@ -1970,7 +2564,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1974: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2568: \"$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* @@ -1987,7 +2581,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 @@ -2005,7 +2599,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 @@ -2026,7 +2620,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2037,7 +2631,7 @@ exit (0); } EOF -if { (eval echo configure:2041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2061,12 +2655,12 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2065: checking for working const" >&5 +echo "configure:2659: 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:2713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2136,21 +2730,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2140: checking for inline" >&5 +echo "configure:2734: 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:2748: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2176,12 +2770,12 @@ esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2180: checking for off_t" >&5 +echo "configure:2774: 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 @@ -2209,12 +2803,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2213: checking for size_t" >&5 +echo "configure:2807: 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 @@ -2244,19 +2838,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:2248: checking for working alloca.h" >&5 +echo "configure:2842: 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:2260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2854: \"$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 @@ -2277,12 +2871,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2281: checking for alloca" >&5 +echo "configure:2875: 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:2908: \"$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 @@ -2342,12 +2936,12 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2346: checking whether alloca needs Cray hooks" >&5 +echo "configure:2940: 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:2376: checking for $ac_func" >&5 +echo "configure:2970: 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:2998: \"$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 @@ -2427,7 +3021,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2431: checking stack direction for C alloca" >&5 +echo "configure:3025: 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 @@ -2435,7 +3029,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:3052: \"$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 @@ -2479,17 +3073,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2483: checking for $ac_hdr" >&5 +echo "configure:3077: 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:2493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3087: \"$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* @@ -2518,12 +3112,12 @@ for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2522: checking for $ac_func" >&5 +echo "configure:3116: 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:3144: \"$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 @@ -2571,7 +3165,7 @@ done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:2575: checking for working mmap" >&5 +echo "configure:3169: 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 @@ -2579,7 +3173,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:3317: \"$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 @@ -2747,17 +3341,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2751: checking for $ac_hdr" >&5 +echo "configure:3345: 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:2761: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3355: \"$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* @@ -2787,12 +3381,12 @@ strdup __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2791: checking for $ac_func" >&5 +echo "configure:3385: 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:3413: \"$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 @@ -2844,12 +3438,12 @@ for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2848: checking for $ac_func" >&5 +echo "configure:3442: 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:3470: \"$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 @@ -2906,19 +3500,19 @@ if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:2910: checking for LC_MESSAGES" >&5 +echo "configure:3504: 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:2922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3516: \"$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 @@ -2939,7 +3533,7 @@ fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:2943: checking whether NLS is requested" >&5 +echo "configure:3537: 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" @@ -2959,7 +3553,7 @@ EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:2963: checking whether included gettext is requested" >&5 +echo "configure:3557: 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" @@ -2978,17 +3572,17 @@ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:2982: checking for libintl.h" >&5 +echo "configure:3576: 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:2992: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3586: \"$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* @@ -3005,19 +3599,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:3009: checking for gettext in libc" >&5 +echo "configure:3603: 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:3021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3615: \"$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 @@ -3033,7 +3627,7 @@ if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3037: checking for bindtextdomain in -lintl" >&5 +echo "configure:3631: 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 @@ -3041,7 +3635,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:3650: \"$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 @@ -3068,12 +3662,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:3072: checking for gettext in libintl" >&5 +echo "configure:3666: 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:3077: checking for gettext in -lintl" >&5 +echo "configure:3671: 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 @@ -3081,7 +3675,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:3690: \"$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 @@ -3131,7 +3725,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:3135: checking for $ac_word" >&5 +echo "configure:3729: 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 @@ -3165,12 +3759,12 @@ for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3169: checking for $ac_func" >&5 +echo "configure:3763: 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:3791: \"$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 @@ -3220,7 +3814,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:3224: checking for $ac_word" >&5 +echo "configure:3818: 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 @@ -3256,7 +3850,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:3260: checking for $ac_word" >&5 +echo "configure:3854: 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 @@ -3288,7 +3882,7 @@ fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3319,7 +3913,7 @@ if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3323: checking whether catgets can be used" >&5 +echo "configure:3917: 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" @@ -3332,7 +3926,7 @@ if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3336: checking for main in -li" >&5 +echo "configure:3930: 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 @@ -3340,14 +3934,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:3945: \"$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 @@ -3375,12 +3969,12 @@ fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3379: checking for catgets" >&5 +echo "configure:3973: 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:4001: \"$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 @@ -3425,7 +4019,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:3429: checking for $ac_word" >&5 +echo "configure:4023: 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 @@ -3461,7 +4055,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:3465: checking for $ac_word" >&5 +echo "configure:4059: 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 @@ -3498,7 +4092,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:3502: checking for $ac_word" >&5 +echo "configure:4096: 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 @@ -3533,7 +4127,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:3537: checking for $ac_word" >&5 +echo "configure:4131: 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 @@ -3591,7 +4185,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:3595: checking for $ac_word" >&5 +echo "configure:4189: 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 @@ -3625,7 +4219,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:3629: checking for $ac_word" >&5 +echo "configure:4223: 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 @@ -3661,7 +4255,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:3665: checking for $ac_word" >&5 +echo "configure:4259: 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 @@ -3754,7 +4348,7 @@ LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:3758: checking for catalogs to be installed" >&5 +echo "configure:4352: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -3782,17 +4376,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:3786: checking for linux/version.h" >&5 +echo "configure:4380: 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:3796: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4390: \"$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* @@ -3868,17 +4462,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3872: checking for $ac_hdr" >&5 +echo "configure:4466: 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:3882: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4476: \"$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* @@ -3906,7 +4500,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:3910: checking for gdbm_firstkey in -lgdbm" >&5 +echo "configure:4504: 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 @@ -3914,7 +4508,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:4523: \"$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 @@ -3957,7 +4551,7 @@ echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3961: checking for gethostbyname in -lnsl" >&5 +echo "configure:4555: 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 @@ -3965,7 +4559,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:4574: \"$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 @@ -4004,7 +4598,7 @@ fi echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:4008: checking for socket in -lsocket" >&5 +echo "configure:4602: 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 @@ -4012,7 +4606,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:4621: \"$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 @@ -4049,7 +4643,7 @@ fi if test x$ac_try_nsl = x1; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4053: checking for gethostbyname in -lnsl" >&5 +echo "configure:4647: 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 @@ -4057,7 +4651,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:4666: \"$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 @@ -4097,7 +4691,7 @@ if test "$try_dynload" = yes ; then echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:4101: checking for dlopen in -ldl" >&5 +echo "configure:4695: 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 @@ -4105,7 +4699,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:4714: \"$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 @@ -4156,7 +4750,7 @@ use_gnupg_extensions=yes else echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:4160: checking for dlopen in -lc" >&5 +echo "configure:4754: checking for dlopen in -lc" >&5 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4164,7 +4758,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4773: \"$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 @@ -4215,7 +4809,7 @@ use_gnupg_extensions=yes else echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:4219: checking for shl_load in -ldld" >&5 +echo "configure:4813: 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 @@ -4223,7 +4817,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:4832: \"$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 @@ -4277,7 +4871,7 @@ fi else echo $ac_n "checking for dynamic loading""... $ac_c" 1>&6 -echo "configure:4281: checking for dynamic loading" >&5 +echo "configure:4875: checking for dynamic loading" >&5 DYNLINK_LDFLAGS= DYNLINK_MOD_CFLAGS= use_gnupg_extensions=no @@ -4298,12 +4892,12 @@ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:4302: checking for ANSI C header files" >&5 +echo "configure:4896: 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 @@ -4311,7 +4905,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4909: \"$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* @@ -4328,7 +4922,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 @@ -4346,7 +4940,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 @@ -4367,7 +4961,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -4378,7 +4972,7 @@ exit (0); } EOF -if { (eval echo configure:4382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -4405,17 +4999,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4409: checking for $ac_hdr" >&5 +echo "configure:5003: 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:4419: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5013: \"$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* @@ -4444,12 +5038,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:4448: checking for working const" >&5 +echo "configure:5042: 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:5096: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4519,21 +5113,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:4523: checking for inline" >&5 +echo "configure:5117: 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:5131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -4559,12 +5153,12 @@ esac echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:4563: checking for size_t" >&5 +echo "configure:5157: 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 @@ -4592,12 +5186,12 @@ fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:4596: checking return type of signal handlers" >&5 +echo "configure:5190: 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 @@ -4614,7 +5208,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:4618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5212: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -4633,12 +5227,12 @@ echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:4637: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:5231: 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 @@ -4650,7 +5244,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:4654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -4675,14 +5269,14 @@ echo "configure: warning: cross compiling; assuming little endianess" 1>&2 fi echo $ac_n "checking endianess""... $ac_c" 1>&6 -echo "configure:4679: checking endianess" >&5 +echo "configure:5273: 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 @@ -4693,11 +5287,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:4697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5291: \"$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 @@ -4708,7 +5302,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:4712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5306: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_c_endian=big else @@ -4729,7 +5323,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:5340: \"$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 @@ -4774,12 +5368,12 @@ echo $ac_n "checking for byte typedef""... $ac_c" 1>&6 -echo "configure:4778: checking for byte typedef" >&5 +echo "configure:5372: 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 @@ -4790,7 +5384,7 @@ ; return 0; } EOF -if { (eval echo configure:4794: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_byte=yes else @@ -4811,12 +5405,12 @@ fi echo $ac_n "checking for ushort typedef""... $ac_c" 1>&6 -echo "configure:4815: checking for ushort typedef" >&5 +echo "configure:5409: 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 @@ -4827,7 +5421,7 @@ ; return 0; } EOF -if { (eval echo configure:4831: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_ushort=yes else @@ -4848,12 +5442,12 @@ fi echo $ac_n "checking for ulong typedef""... $ac_c" 1>&6 -echo "configure:4852: checking for ulong typedef" >&5 +echo "configure:5446: 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 @@ -4864,7 +5458,7 @@ ; return 0; } EOF -if { (eval echo configure:4868: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5462: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_ulong=yes else @@ -4885,12 +5479,12 @@ fi echo $ac_n "checking for u16 typedef""... $ac_c" 1>&6 -echo "configure:4889: checking for u16 typedef" >&5 +echo "configure:5483: 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 @@ -4901,7 +5495,7 @@ ; return 0; } EOF -if { (eval echo configure:4905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5499: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_u16=yes else @@ -4922,12 +5516,12 @@ fi echo $ac_n "checking for u32 typedef""... $ac_c" 1>&6 -echo "configure:4926: checking for u32 typedef" >&5 +echo "configure:5520: 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 @@ -4938,7 +5532,7 @@ ; return 0; } EOF -if { (eval echo configure:4942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_typedef_u32=yes else @@ -4960,7 +5554,7 @@ echo $ac_n "checking size of unsigned short""... $ac_c" 1>&6 -echo "configure:4964: checking size of unsigned short" >&5 +echo "configure:5558: 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 @@ -4968,7 +5562,7 @@ ac_cv_sizeof_unsigned_short=2 else cat > conftest.$ac_ext < main() @@ -4979,7 +5573,7 @@ exit(0); } EOF -if { (eval echo configure:4983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5577: \"$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 @@ -4999,7 +5593,7 @@ echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6 -echo "configure:5003: checking size of unsigned int" >&5 +echo "configure:5597: 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 @@ -5007,7 +5601,7 @@ ac_cv_sizeof_unsigned_int=4 else cat > conftest.$ac_ext < main() @@ -5018,7 +5612,7 @@ exit(0); } EOF -if { (eval echo configure:5022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5616: \"$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 @@ -5038,7 +5632,7 @@ echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6 -echo "configure:5042: checking size of unsigned long" >&5 +echo "configure:5636: 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 @@ -5046,7 +5640,7 @@ ac_cv_sizeof_unsigned_long=4 else cat > conftest.$ac_ext < main() @@ -5057,7 +5651,7 @@ exit(0); } EOF -if { (eval echo configure:5061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5655: \"$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 @@ -5086,12 +5680,12 @@ echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:5090: checking for vprintf" >&5 +echo "configure:5684: 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:5712: \"$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 @@ -5138,12 +5732,12 @@ if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:5142: checking for _doprnt" >&5 +echo "configure:5736: 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:5764: \"$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 @@ -5190,15 +5784,15 @@ fi -for ac_func in strerror stpcpy strlwr tcgetattr rand strtoul mmap +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:5197: checking for $ac_func" >&5 +echo "configure:5791: 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:5819: \"$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 @@ -5248,12 +5842,12 @@ for ac_func in memmove gettimeofday getrusage gethrtime setrlimit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5252: checking for $ac_func" >&5 +echo "configure:5846: 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:5874: \"$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 @@ -5303,12 +5897,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:5307: checking for $ac_func" >&5 +echo "configure:5901: 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:5929: \"$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 @@ -5359,12 +5953,12 @@ for ac_func in mlock do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5363: checking for $ac_func" >&5 +echo "configure:5957: 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:5985: \"$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 @@ -5413,7 +6007,7 @@ if test "$ac_cv_func_mlock" = "yes"; then echo $ac_n "checking whether mlock is broken""... $ac_c" 1>&6 -echo "configure:5417: checking whether mlock is broken" >&5 +echo "configure:6011: 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 @@ -5422,7 +6016,7 @@ else cat > conftest.$ac_ext < @@ -5452,7 +6046,7 @@ EOF -if { (eval echo configure:5456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6050: \"$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 @@ -5483,21 +6077,127 @@ fi +if test "$use_capabilities" = "yes" ; then +use_capabilities=no +for ac_hdr in sys/capability.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:6087: 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:6097: \"$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 "configure: 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 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done + +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:6125: 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 +else + ac_save_LIBS="$LIBS" +LIBS="-lcap $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 "configure: 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 + ac_need_libcap=1 +else + echo "$ac_t""no" 1>&6 +fi + + if test "$ac_cv_lib_cap_cap_init" = "yes"; then + cat >> confdefs.h <<\EOF +#define USE_CAPABILITIES 1 +EOF + + use_capabilities=yes + fi +fi +if test "$use_capabilities" = "no" ; then + echo "configure: warning: +*** +*** The use of capabilities on this system is not possible. +*** You need a recent Linux kernel and some patches: +*** fcaps-2.2.9-990610.patch (kernel patch for 2.2.9) +*** fcap-module-990613.tar.gz (kernel module) +*** libcap-1.92.tar.gz (user mode library and utilities) +*** And you have to configure the kernel with CONFIG_VFS_CAP_PLUGIN +*** set (filesystems menu). Be warned: This code is *really* ALPHA. +***" 1>&2 +fi +fi + + for ac_hdr in sys/ipc.h sys/shm.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5491: checking for $ac_hdr" >&5 +echo "configure:6191: 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:5501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6201: \"$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* @@ -5525,7 +6225,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:5529: checking whether IPC_RMID allowes subsequent attaches" >&5 +echo "configure:6229: 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 @@ -5533,7 +6233,7 @@ gnupg_cv_ipc_rmid_deferred_release="assume-no" else cat > conftest.$ac_ext < @@ -5559,7 +6259,7 @@ } EOF -if { (eval echo configure:5563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6263: \"$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 @@ -5589,12 +6289,12 @@ fi echo $ac_n "checking whether SHM_LOCK is available""... $ac_c" 1>&6 -echo "configure:5593: checking whether SHM_LOCK is available" >&5 +echo "configure:6293: 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 @@ -5605,7 +6305,7 @@ ; return 0; } EOF -if { (eval echo configure:5609: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gnupg_cv_ipc_have_shm_lock="yes" else @@ -5639,7 +6339,7 @@ if test "$try_dev_random" = yes ; then echo $ac_n "checking for random device""... $ac_c" 1>&6 -echo "configure:5643: checking for random device" >&5 +echo "configure:6343: 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 @@ -5656,7 +6356,7 @@ fi else echo $ac_n "checking for random device""... $ac_c" 1>&6 -echo "configure:5660: checking for random device" >&5 +echo "configure:6360: checking for random device" >&5 ac_cv_have_dev_random=no echo "$ac_t""has been disabled" 1>&6 fi @@ -5666,17 +6366,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5670: checking for $ac_hdr" >&5 +echo "configure:6370: 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:5680: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6380: \"$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* @@ -5703,7 +6403,7 @@ done echo $ac_n "checking for random device ioctl""... $ac_c" 1>&6 -echo "configure:5707: checking for random device ioctl" >&5 +echo "configure:6407: 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 @@ -5725,6 +6425,7 @@ fi +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 @@ -5734,7 +6435,7 @@ i386--mingw32) static_modules="$static_modules rndw32" ;; - i386-emx-os2|i345686-pc-os2emx) + i386-emx-os2|i345686-pc-os2*emx) static_modules="$static_modules rndos2" ;; m68k-atari-mint) @@ -5742,6 +6443,7 @@ ;; *) static_modules="$static_modules rndunix" + print_egd_notice=yes ;; esac fi @@ -5750,9 +6452,34 @@ : else static_modules="$static_modules rnd$use_static_rnd" + if test "$use_static_rnd" = "unix"; then + print_egd_notice=yes + fi fi fi + +if test "$print_egd_notice" = "yes"; then + echo "configure: warning: +*** +*** The performance of the UNIX random gatherer module is not very good +*** and it does not keep the entropy pool over multiple invocations of +*** GnuPG. The suggested way to overcome this problem is to use the +*** +*** Entropy Gathering Daemon (EGD) +*** +*** which provides a entropy source for the whole system. It is written +*** in Perl and available at the GnuPG FTP servers. For more information +*** consult the GnuPG webpages: +*** +*** http://www.gnupg.org/donwload.html#egd +*** +*** You may want to run ./configure with --enable-static-rnd=none to be +*** able to load the EGD client code dynamically; this way you can choose +*** between RNDUNIX and RNDEGD without recompilation. +***" 1>&2 +fi + STATIC_CIPHER_NAMES="" STATIC_CIPHER_OBJS="" DYNAMIC_CIPHER_MODS="" @@ -5767,7 +6494,7 @@ done; if test $x = yes; then STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name" - STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o" + STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo" else DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name" echo $ac_n "$name"" $ac_c" 1>&6 @@ -5817,7 +6544,7 @@ echo $ac_n "checking for mpi assembler functions""... $ac_c" 1>&6 -echo "configure:5821: checking for mpi assembler functions" >&5 +echo "configure:6548: 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 @@ -5843,7 +6570,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.o" + MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo" done echo "$ac_t""" 1>&6 fi @@ -5859,17 +6586,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5863: checking for $ac_hdr" >&5 +echo "configure:6590: 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:5873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6600: \"$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* @@ -5897,7 +6624,7 @@ if test "$ac_cv_header_zlib_h" = yes ; then echo $ac_n "checking for deflateInit2_ in -lz""... $ac_c" 1>&6 -echo "configure:5901: checking for deflateInit2_ in -lz" >&5 +echo "configure:6628: 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 @@ -5905,7 +6632,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:6647: \"$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 @@ -5940,7 +6667,7 @@ fi fi -if test "use_local_zlib" = yes ; then +if test "$use_local_zlib" = yes ; then if true; then @@ -6146,6 +6873,11 @@ s%@mandir@%$mandir%g s%@VERSION@%$VERSION%g s%@PACKAGE@%$PACKAGE%g +s%@COMPILE_LIBGCRYPT_TRUE@%$COMPILE_LIBGCRYPT_TRUE%g +s%@COMPILE_LIBGCRYPT_FALSE@%$COMPILE_LIBGCRYPT_FALSE%g +s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g +s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g +s%@MAINT@%$MAINT%g s%@host@%$host%g s%@host_alias@%$host_alias%g s%@host_cpu@%$host_cpu%g @@ -6171,12 +6903,16 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@RANLIB@%$RANLIB%g +s%@AWK@%$AWK%g s%@DOCBOOK_TO_MAN@%$DOCBOOK_TO_MAN%g s%@HAVE_DOCBOOK_TO_MAN_TRUE@%$HAVE_DOCBOOK_TO_MAN_TRUE%g s%@HAVE_DOCBOOK_TO_MAN_FALSE@%$HAVE_DOCBOOK_TO_MAN_FALSE%g -s%@MPI_OPT_FLAGS@%$MPI_OPT_FLAGS%g +s%@RANLIB@%$RANLIB%g +s%@LD@%$LD%g s%@NM@%$NM%g +s%@LN_S@%$LN_S%g +s%@LIBTOOL@%$LIBTOOL%g +s%@MPI_OPT_FLAGS@%$MPI_OPT_FLAGS%g s%@ALLOCA@%$ALLOCA%g s%@USE_NLS@%$USE_NLS%g s%@MSGFMT@%$MSGFMT%g diff -urN gnupg-0.9.8/configure.in gnupg-0.9.9/configure.in --- gnupg-0.9.8/configure.in Sat Jun 26 13:01:06 1999 +++ gnupg-0.9.9/configure.in Fri Jul 23 14:02:48 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.94 $)dnl +AC_REVISION($Revision: 1.98 $)dnl dnl Must reset CDPATH so that bash's cd does not print to stdout CDPATH= @@ -50,6 +50,8 @@ ;; esac + + dnl dnl See whether the user wants to disable checking for /dev/random @@ -102,18 +104,42 @@ [g10_force_zlib=yes], [g10_force_zlib=no] ) AC_MSG_RESULT($g10_force_zlib) -dnl This does not work because automakes install tareget still needs libtool -dnl dnl -dnl dnl Check wether we want to compile libgcrypt -dnl dnl -dnl AC_MSG_CHECKING([whether compilation of libgcrypt is requested]) -dnl AC_ARG_ENABLE(libgcrypt, -dnl [ --enable-libgcrypt compile the libgcrypt [default=no]], -dnl [compile_libgcrypt="$enableval"],[compile_libgcrypt=no]) -dnl AM_CONDITIONAL(COMPILE_LIBGCRYPT, test x$compile_libgcrypt = xyes) -dnl AC_MSG_RESULT($compile_libgcrypt) +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 +dnl +AC_MSG_CHECKING([whether use of capabilities is requested]) +AC_ARG_WITH(capabilities, + [ --with-capabilities use linux capabilities [default=no]], +[use_capabilities="$withval"],[use_capabilities=no]) +AC_MSG_RESULT($use_capabilities) +AM_MAINTAINER_MODE + dnl Checks for programs. AC_CANONICAL_SYSTEM @@ -130,17 +156,18 @@ AC_PROG_CPP AC_ISC_POSIX AC_PROG_INSTALL -AC_PROG_RANLIB +AC_PROG_AWK AC_CHECK_PROG(DOCBOOK_TO_MAN, docbook-to-man, yes, no) AM_CONDITIONAL(HAVE_DOCBOOK_TO_MAN, test "$ac_cv_prog_DOCBOOK_TO_MAN" = yes) - -dnl if test x$compile_libgcrypt = xyes; then -dnl dnl Don't default to build shared libs -dnl AM_DISABLE_SHARED -dnl AM_PROG_LIBTOOL -dnl fi +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="" @@ -165,7 +192,7 @@ try_gettext="no" try_gdbm="no" ;; - i386-emx-os2 | i[3456]86-pc-os2emx ) + i386-emx-os2 | i[3456]86-pc-os2*emx ) # OS/2 with the EMX environment ac_cv_have_dev_random=no AC_DEFINE(HAVE_DRIVE_LETTERS) @@ -173,6 +200,7 @@ try_gettext="no" try_gdbm="no" ;; + *-*-hpux*) if test -z "$GCC" ; then CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE" @@ -204,7 +232,7 @@ i386--mingw32) PRINTABLE_OS_NAME="MingW32" ;; - i386-emx-os2 | i[3456]86-pc-os2emx) + i386-emx-os2 | i[3456]86-pc-os2*emx ) PRINTABLE_OS_NAME="OS/2" ;; *-linux*) @@ -356,12 +384,40 @@ dnl Checks for library functions. AC_FUNC_VPRINTF -AC_CHECK_FUNCS(strerror stpcpy strlwr tcgetattr rand strtoul mmap) +AC_CHECK_FUNCS(strerror stpcpy strlwr stricmp tcgetattr rand strtoul mmap) AC_CHECK_FUNCS(memmove gettimeofday getrusage gethrtime setrlimit) AC_CHECK_FUNCS(memicmp atexit raise getpagesize strftime nl_langinfo) GNUPG_CHECK_MLOCK +dnl +dnl Check whether we can use Linux capabilities as requested +dnl +if test "$use_capabilities" = "yes" ; then +use_capabilities=no +AC_CHECK_HEADERS(sys/capability.h) +if test "$ac_cv_header_sys_capability_h" = "yes" ; then + AC_CHECK_LIB(cap, cap_init, ac_need_libcap=1) + if test "$ac_cv_lib_cap_cap_init" = "yes"; then + AC_DEFINE(USE_CAPABILITIES) + use_capabilities=yes + fi +fi +if test "$use_capabilities" = "no" ; then + AC_MSG_WARN([[ +*** +*** The use of capabilities on this system is not possible. +*** You need a recent Linux kernel and some patches: +*** fcaps-2.2.9-990610.patch (kernel patch for 2.2.9) +*** fcap-module-990613.tar.gz (kernel module) +*** libcap-1.92.tar.gz (user mode library and utilities) +*** And you have to configure the kernel with CONFIG_VFS_CAP_PLUGIN +*** set (filesystems menu). Be warned: This code is *really* ALPHA. +***]]) +fi +fi + + GNUPG_CHECK_IPC if test "$ac_cv_header_sys_shm_h" = "yes"; then AC_DEFINE(USE_SHM_COPROCESSING) @@ -406,6 +462,7 @@ dnl Figure out the default linkage mode for cipher 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 @@ -415,7 +472,7 @@ i386--mingw32) static_modules="$static_modules rndw32" ;; - i386-emx-os2|i[3456]86-pc-os2emx) + i386-emx-os2|i[3456]86-pc-os2*emx) static_modules="$static_modules rndos2" ;; m68k-atari-mint) @@ -423,6 +480,7 @@ ;; *) static_modules="$static_modules rndunix" + print_egd_notice=yes ;; esac fi @@ -431,9 +489,34 @@ : else static_modules="$static_modules rnd$use_static_rnd" + if test "$use_static_rnd" = "unix"; then + print_egd_notice=yes + fi fi fi + +if test "$print_egd_notice" = "yes"; then + AC_MSG_WARN([[ +*** +*** The performance of the UNIX random gatherer module is not very good +*** and it does not keep the entropy pool over multiple invocations of +*** GnuPG. The suggested way to overcome this problem is to use the +*** +*** Entropy Gathering Daemon (EGD) +*** +*** which provides a entropy source for the whole system. It is written +*** in Perl and available at the GnuPG FTP servers. For more information +*** consult the GnuPG webpages: +*** +*** http://www.gnupg.org/donwload.html#egd +*** +*** You may want to run ./configure with --enable-static-rnd=none to be +*** able to load the EGD client code dynamically; this way you can choose +*** between RNDUNIX and RNDEGD without recompilation. +***]]) +fi + dnl dnl Parse the modules list and build the list dnl of static and dymically linked modules @@ -451,7 +534,7 @@ done; if test $x = yes; then STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name" - STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o" + STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo" else DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name" GNUPG_MSG_PRINT([$name]) @@ -521,7 +604,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.o" + MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo" done AC_MSG_RESULT() fi @@ -541,7 +624,7 @@ fi fi -if test "use_local_zlib" = yes ; then +if test "$use_local_zlib" = yes ; then AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true) GNUPG_LINK_FILES(zlib/zlib.h, zlib.h ) GNUPG_LINK_FILES(zlib/zconf.h, zconf.h ) diff -urN gnupg-0.9.8/debian/changelog gnupg-0.9.9/debian/changelog --- gnupg-0.9.8/debian/changelog Tue Apr 6 21:18:17 1999 +++ gnupg-0.9.9/debian/changelog Mon Jun 28 13:58:00 1999 @@ -1,3 +1,29 @@ +gnupg (0.9.8-1) unstable; urgency=low + + * New upstream version. + * debian/rules (binary-arch): don't create a gpgm manpage as the binary + no longer exists. Noticed by Wichert Akkerman + . [#38864] + + -- James Troup Sun, 27 Jun 1999 01:07:58 +0100 + +gnupg (0.9.7-1) unstable; urgency=low + + * New upstream version. + + -- James Troup Tue, 25 May 1999 13:23:24 +0100 + +gnupg (0.9.6-1) unstable; urgency=low + + * New upstream version. + * debian/copyright: update version number, noticed by Lazarus Long + . + * debian/control (Depends): depend on makedev (>= 2.3.1-13) to ensure + that /dev/urandom exists; reported by Steffen Markert + . [#32076] + + -- James Troup Tue, 11 May 1999 21:06:27 +0100 + gnupg (0.9.5-1) unstable; urgency=low * New upstream version. diff -urN gnupg-0.9.8/debian/control gnupg-0.9.9/debian/control --- gnupg-0.9.8/debian/control Tue Apr 6 21:18:17 1999 +++ gnupg-0.9.9/debian/control Mon Jun 28 13:58:00 1999 @@ -6,7 +6,7 @@ Package: gnupg Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, makedev (>= 2.3.1-13) Description: GNU privacy guard - a free PGP replacement. GnuPG is the GNU encryption and signing tool. As you can see from the version number, the program may have some bugs and some features may not diff -urN gnupg-0.9.8/debian/copyright gnupg-0.9.9/debian/copyright --- gnupg-0.9.8/debian/copyright Wed Jan 20 21:18:55 1999 +++ gnupg-0.9.9/debian/copyright Mon Jun 28 13:58:00 1999 @@ -4,14 +4,14 @@ This package was put together by me, James Troup , from the sources, which I obtained from -ftp://ftp.gnupg.org/pub/gcrypt/gnupg-0.9.2.tar.gz. The changes were +ftp://ftp.gnupg.org/pub/gcrypt/gnupg-0.9.8.tar.gz. The changes were minimal, namely: - adding support for the Debian package maintenance scheme, by adding various debian/* files. Program Copyright (C) 1998, 1999 Free Software Foundation, Inc. -Modifications for Debian Copyright (C) 1998 James Troup. +Modifications for Debian Copyright (C) 1998,1999 James Troup. GNUPG is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN gnupg-0.9.8/debian/rules gnupg-0.9.9/debian/rules --- gnupg-0.9.8/debian/rules Mon Mar 8 19:55:21 1999 +++ gnupg-0.9.9/debian/rules Mon Jun 28 13:58:00 1999 @@ -1,5 +1,5 @@ #!/usr/bin/make -f -# debian/rules file - for GNUPG (0.9.4) +# debian/rules file - for GNUPG (0.9.8) # Based on sample debian/rules file - for GNU Hello (1.3). # Copyright 1994,1995 by Ian Jackson. # Copyright 1998 James Troup @@ -34,9 +34,7 @@ install -d debian/tmp/DEBIAN/ install -m 755 debian/preinst debian/tmp/DEBIAN/preinst $(MAKE) prefix=`pwd`/debian/tmp/usr install - rm debian/tmp/usr/man/man1/gpgm.1 gzip -9v debian/tmp/usr/man/man1/* - ln -s gpg.1.gz debian/tmp/usr/man/man1/gpgm.1.gz strip debian/tmp/usr/bin/* strip --strip-unneeded debian/tmp/usr/lib/gnupg/* install -d debian/tmp/usr/doc/gnupg/ diff -urN gnupg-0.9.8/doc/ChangeLog gnupg-0.9.9/doc/ChangeLog --- gnupg-0.9.8/doc/ChangeLog Wed Jun 16 20:16:24 1999 +++ gnupg-0.9.9/doc/ChangeLog Thu Jul 22 20:03:07 1999 @@ -1,3 +1,13 @@ +Thu Jul 22 20:03:03 CEST 1999 Werner Koch + + + * gpg.sgml (--always-trust): Added. + +Wed Jul 14 19:42:08 CEST 1999 Werner Koch + + + * Makefile.am: Create a dummy man page if docbook-to-man is missing. + Wed Jun 16 20:16:21 CEST 1999 Werner Koch diff -urN gnupg-0.9.8/doc/DETAILS gnupg-0.9.9/doc/DETAILS --- gnupg-0.9.8/doc/DETAILS Tue Jun 8 12:06:23 1999 +++ gnupg-0.9.9/doc/DETAILS Wed Jul 14 10:12:29 1999 @@ -14,24 +14,33 @@ fpr = fingerprint: (fingerprint is in field 10) pkd = public key data (special field format, see below) - 2. Field: A letter describing the calculated trust, see doc/FAQ - This is a single letter, but be prepared that additional - information may follow in some future versions. - (not used for secret keys) + 2. Field: A letter describing the calculated trust. This is a single + letter, but be prepared that additional information may follow + in some future versions. (not used for secret keys) + o = Unknown (this key is new to the system) + d = The key has been disabled + r = The key has been revoked + e = The key has expired + q = Undefined (no value assigned) + n = Don't trust this key at all + m = There is marginal trust in this key + f = The key is full trusted. + u = The key is ultimately trusted; this is only used for + keys for which the secret key is also available. 3. Field: length of key in bits. 4. Field: Algorithm: 1 = RSA 16 = ElGamal (encrypt only) 17 = DSA (sometimes called DH, sign only) 20 = ElGamal (sign and encrypt) + (for other id's see include/cipher.h) 5. Field: KeyID 6. Field: Creation Date (in UTC) 7. Field: Key expiration date or empty if none. - 8. Field: Local ID: record number of the dir record in the trustdb - this value is only valid as long as the trustdb is not - deleted. May be later used to lookup the key: You will be - able to use "# as the user id. This is needed - because keyids may not be unique - a program may use this - number to access keys later. + 8. Field: Local ID: record number of the dir record in the trustdb. + This value is only valid as long as the trustdb is not + deleted. You can use "# as the user id when + specifying a key. This is needed because keyids may not be + unique - a program may use this number to access keys later. 9. Field: Ownertrust (primary public keys only) This is a single letter, but be prepared that additional information may follow in some future versions. @@ -85,8 +94,11 @@ unique ids - others may yield duplicated ones when they have been created in the same second. - ENC_TO + ENC_TO The message is encrypted to this keyid. + keytype is the numerical value of the public key algorithm, + kenlength is the length of the key or 0 if it is not known + (which is currently always the case). NODATA No data has been found. Codes for what are: @@ -122,8 +134,11 @@ SHM_GET_BOOL SHM_GET_HIDDEN - NEED_PASSPHRASE + NEED_PASSPHRASE Issued whenever a passphrase is needed. + keytype is the numerical value of the public key algorithm + or 0 if this is not applicable, keylength is the length + of the key or 0 if it is not known (this is currently always the case). NEED_PASSPHRASE_SYM Issued whenever a passphrase for symmetric encryption is needed. @@ -152,6 +167,14 @@ NO_SECKEY The key is not available + IMPORTED + The keyid and name of the signature just imported + + IMPORTED_RES + + Final statistics on import process (this is one long line) + + Key generation ============== @@ -190,7 +213,7 @@ The TrustDB is built from fixed length records, where the first byte describes the record type. All numeric values are stored in network byte order. The length of each record is 40 bytes. The first record of -the DB is always of type 2 and this is the only record of this type. +the DB is always of type 1 and this is the only record of this type. Record type 0: -------------- @@ -238,8 +261,9 @@ 1 byte ownertrust 1 byte dirflag 1 byte maximum validity of all the user ids - 4 byte time of last validity check. - 15 byte reserved + 1 u32 time of last validity check. + 1 u32 Must check when this time has been reached. + (0 = no check required) Record type 3: (key record) @@ -534,30 +558,28 @@ -Ich werde jetzt doch das HKP Protokoll implementieren: +Documentation on HKP (the http keyserver protocol): -Naja, die Doku ist so gut wie nichtexistent, da gebe ich Dir recht. -In kurzen Worten: +A minimalistic HTTP server on port 11371 recognizes a GET for /pks/lookup. +The standard http URL encoded query parameters are this (always key=value): -(Minimal-)HTTP-Server auf Port 11371, versteht ein GET auf /pks/lookup, -wobei die Query-Parameter (Key-Value-Paare mit = zwischen Key und -Value; die Paare sind hinter ? und durch & getrennt). Gültige -Operationen sind: - -- - op (Operation) mit den Möglichkeiten index (gleich wie -kv bei - PGP), vindex (-kvv) und get (-kxa) -- - search: Liste der Worte, die im Key vorkommen müssen. Worte sind - mit Worttrennzeichen wie Space, Punkt, @, ... getrennt, Worttrennzeichen - werden nicht betrachtet, die Reihenfolge der Worte ist egal. -- - exact: (on=aktiv, alles andere inaktiv) Nur die Schlüssel - zurückgeben, die auch den "search"-String beinhalten (d.h. - Wortreihenfolge und Sonderzeichen sind wichtig) -- - fingerprint (Bei [v]index auch den Fingerprint ausgeben), "on" - für aktiv, alles andere inaktiv +- op=index (like pgp -kv), op=vindex (like pgp -kvv) and op=get (like + pgp -kxa) -Neu (wird von GNUPG benutzt): - /pks/lookup/?op= +- search=. This is a list of words that must occur in the key. + The words are delimited with space, points, @ and so on. The delimiters + are not searched for and the order of the words doesn't matter (but see + next option). + +- exact=on. This switch tells the hkp server to only report exact mathing + keys back. In this case the order and the "delimiters" are important. + +- fingerprint=on. Also reports the fingerprints when used with 'index' or + 'vindex' -Zusätzlich versteht der Keyserver auch ein POST auf /pks/add, womit -man Keys hochladen kann. +New (already used by GnuPG): + + /pks/lookup/?op= +The keyserver also recognizes http-POSTs to /pks/add. Use this to upload +keys. diff -urN gnupg-0.9.8/doc/FAQ gnupg-0.9.9/doc/FAQ --- gnupg-0.9.8/doc/FAQ Thu May 20 11:11:08 1999 +++ gnupg-0.9.9/doc/FAQ Wed Jul 14 09:29:31 1999 @@ -161,7 +161,7 @@ on a local computer (a disconnected laptop is probably the best choice) and if you need it on your connected box (I know: We all do this) be sure to have a strong password for your account and for your secret key - and trust your Root. + and that you can trust your system administrator. When I check GnuPG on a remote system via ssh (I have no Alpha here ;-) I have the same problem. It takes a *very* long time to create the @@ -178,7 +178,7 @@ You can see the validity (calculated trust value) using this command. - gpgm --list-keys --with-colons + gpg --list-keys --with-colons If the first field is "pub" or "uid", the second field shows you the trust: @@ -191,13 +191,15 @@ u = The key is ultimately trusted; this is only used for keys for which the secret key is also available. + r = The key has been revoked + d = The key has been disabled The value in the "pub" record is the best one of all "uid" records. You can get a list of the assigned trust values (how much you trust the owner to correctly sign another person's key) - gpgm --list-ownertrust + gpg --list-ownertrust The first field is the fingerprint of the primary key, the second field is the assigned value: @@ -333,4 +335,10 @@ change the charset with the option "--charset". It is important that you active characterset matches the one displayed - if not, restrict yourself to plain 7 bit ASCII and no mapping has to be done. + + Q: How do I transfer owner trust values from PGP to GnuPG? + 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 + diff -urN gnupg-0.9.8/doc/HACKING gnupg-0.9.9/doc/HACKING --- gnupg-0.9.8/doc/HACKING Mon Apr 26 20:13:48 1999 +++ gnupg-0.9.9/doc/HACKING Wed Jul 14 09:43:23 1999 @@ -30,7 +30,10 @@ gnupg-commit-watchers-request@gnupg.org -Please run scripts/autogen.sh to create some required files. +You must run scripts/autogen.sh before doing the ./configure, +as this creates some needed while which are not in the CVS. +autogen.sh should checks that you have all required tools +installed. RSYNC access @@ -39,6 +42,17 @@ of the CVS head revision is also available. See rsync(1) and try "rsync ftp.gnupg.org::" to see available resources. + + +Special Tools +============= +Documention is based on the docbook DTD. Actually we have only the +man page for now. To build a man page you need the docbook-to-man +tool and all the other thinks needed for SGML processing. Debian +comes with the docbook tools and you only need this docbook-to-man +script which is comes with gtk-doc or download it from +ftp.openit.de:/pub/devel/sgml. If you don't have it everything +should still work fine but you will have only a dummy man page. RFCs diff -urN gnupg-0.9.8/doc/Makefile.am gnupg-0.9.9/doc/Makefile.am --- gnupg-0.9.8/doc/Makefile.am Wed Jun 16 20:11:12 1999 +++ gnupg-0.9.9/doc/Makefile.am Tue Jul 13 18:40:17 1999 @@ -7,17 +7,19 @@ %.1 : %.sgml if HAVE_DOCBOOK_TO_MAN - docbook-to-man $< >$@ + docbook-to-man $< >$@ else - : Warning: missing docbook-to-man, cannot make $@ + : Warning: missing docbook-to-man, cannot make $@ + echo ".TH $< 1" >$@ + echo "No man page due to missing docbook-to-man" >>$@ endif %.txt : %.sgml - sgml2txt -c latin $* + sgml2txt -c latin $* %.html : %.sgml - sgml2html -c latin $* + sgml2html -c latin $* %.dvi : %.sgml -rm $*.sgml.tmp diff -urN gnupg-0.9.8/doc/Makefile.in gnupg-0.9.9/doc/Makefile.in --- gnupg-0.9.8/doc/Makefile.in Sat Jun 26 13:07:38 1999 +++ gnupg-0.9.9/doc/Makefile.in Fri Jul 23 14:26:19 1999 @@ -64,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -84,12 +85,17 @@ 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@ @@ -121,7 +127,7 @@ GZIP_ENV = --best all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -231,6 +237,7 @@ clean: clean-am distclean-am: distclean-generic clean-am + -rm -f libtool distclean: distclean-am @@ -249,14 +256,16 @@ %.1 : %.sgml -@HAVE_DOCBOOK_TO_MAN_TRUE@ docbook-to-man $< >$@ -@HAVE_DOCBOOK_TO_MAN_FALSE@ : Warning: missing docbook-to-man, cannot make $@ +@HAVE_DOCBOOK_TO_MAN_TRUE@ docbook-to-man $< >$@ +@HAVE_DOCBOOK_TO_MAN_FALSE@ : Warning: missing docbook-to-man, cannot make $@ +@HAVE_DOCBOOK_TO_MAN_FALSE@ echo ".TH $< 1" >$@ +@HAVE_DOCBOOK_TO_MAN_FALSE@ echo "No man page due to missing docbook-to-man" >>$@ %.txt : %.sgml - sgml2txt -c latin $* + sgml2txt -c latin $* %.html : %.sgml - sgml2html -c latin $* + sgml2html -c latin $* %.dvi : %.sgml -rm $*.sgml.tmp diff -urN gnupg-0.9.8/doc/gpg.1 gnupg-0.9.9/doc/gpg.1 --- gnupg-0.9.8/doc/gpg.1 Thu Jun 17 16:45:06 1999 +++ gnupg-0.9.9/doc/gpg.1 Thu Jul 22 21:53:14 1999 @@ -150,6 +150,10 @@ .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 @@ -208,6 +212,16 @@ .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 +.IP "sign" 10 + 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 +.IP "lsign" 10 + from --edit\&. .IP "--delete-key \fBname\fR" 10 Remove key from the public keyring .IP "--delete-secret-key \fBname\fR" 10 @@ -250,6 +264,17 @@ 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 og 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 sequenece of random bytes will be emitted\&. +PLEASE, don\&'t use this command unless you know waht 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\&. @@ -282,14 +307,24 @@ .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\&. +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\&. +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 @@ -321,6 +356,9 @@ 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 @@ -366,6 +404,13 @@ .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 @@ -464,6 +509,16 @@ 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\&. + +.RS .IP "--throw-keyid" 10 Do not put the keyid into encrypted packets\&. This option hides the receiver of the message and is a countermeasure @@ -505,6 +560,13 @@ Force the use of encryption with appended manipulation code\&. This is always used with the newer cipher (those with a blocksize greater than 64 bit)\&. +.IP "--allow-non-self-signed-uid" 10 +Allow the import of keys with user IDs which are not self-signed\&. +This is only allows the import - key validation will fail und you +have to check the validity of the key my other means\&. This hack is +needed for some German keys generated with pgp 2\&.6\&.3in\&. You should really +avoid using it, because OpenPGP has better mechanics to do separate signing +and encryption keys\&. .IP "--lock-once" 10 Lock the databases the first time a lock is requested and do not release the lock until the process @@ -531,6 +593,10 @@ Print key listings delimited by colons\&. .IP "--with-key-data" 10 Print key listings delimited by colons and print the public key data\&. +.IP "--with-fingerprint" 10 +Same as the command --fingerprint but changes only the format of the output +and may be used together with another command\&. +.RE .SH "RETURN VALUE" .PP The program returns 0 if everything was fine, 1 if at least @@ -589,4 +655,4 @@ warning message about insecure memory your operating system supports locking without being root\&. The program drops root privileges as soon as locked memory is allocated\&. -...\" created by instant / docbook-to-man, Thu 17 Jun 1999, 16:44 +...\" created by instant / docbook-to-man, Thu 22 Jul 1999, 21:53 diff -urN gnupg-0.9.8/doc/gpg.sgml gnupg-0.9.9/doc/gpg.sgml --- gnupg-0.9.8/doc/gpg.sgml Thu Jun 17 15:43:34 1999 +++ gnupg-0.9.9/doc/gpg.sgml Thu Jul 22 19:25:39 1999 @@ -269,6 +269,12 @@ Change the owner trust value. This updates the trust-db immediately and no save is required. + disable + enable + +Disable or enable an entire key. A disabled key can normally not be used +for encryption. + adduid Create an alternate user id. @@ -349,6 +355,19 @@ + +--sign-key &ParmName; + +Sign a public key with you secret key. This is a shortcut version +of the subcommand sign from --edit. + + + +--lsign-key &ParmName; + +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. + --delete-key &ParmName; @@ -446,6 +465,34 @@ +--print-md algo &OptParmFiles; + +Print message digest og algorithm ALGO for all given files of stdin. +If "*" is used for the algorithm, digests for all available algorithms +are printed. + + + + +--gen-random 0|1|2 + count + +Emit COUNT random bytes of the given quality level. If count is not given +or zero, an endless sequenece of random bytes will be emitted. +PLEASE, don't use this command unless you know waht you are doing, it may +remove precious entropy from the system! + + + +--gen-prime mode + bits + qbits + +Use the source, Luke :-). The output format is still subject to change. + + + + --version Print version information along with a list @@ -525,11 +572,32 @@ Encrypt for user id &ParmName;. If this option is not -specified, GnuPG asks for the user id. +specified, GnuPG asks for the user-id unless --default-recipient is given + + + +--default-recipient &ParmName; + +Use &ParmName; as default recipient if option --recipient is not used and +don't ask if this is a valid one. &ParmName; must be a non empty. + + + +--default-recipient-self + +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. +--no-default-recipient + +Reset --default-recipient and --default-recipient-self. + + + --encrypt-to &ParmName; Same as --recipient but this one is intended for @@ -537,7 +605,8 @@ 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. +No trust checking is performed for these user ids and +even disabled keys can be used. @@ -627,6 +696,13 @@ Assume "no" on most questions. + +--always-trust + +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. + + --keyserver &ParmName; @@ -699,6 +775,18 @@ +--utf8-strings +--no-utf8-strings + +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. + + + + --options &ParmFile; Read options from &ParmFile; and do not try to read @@ -859,6 +947,7 @@ + --digest-algo &ParmName; @@ -917,6 +1006,21 @@ +--disable-cipher-algo &ParmName; + +Never allow the use of &ParmName; as cipher algorithm. +The given name will not be checked so that a later loaded algorithm +will still get disabled. + + + +--disable-pubkey-algo &ParmName; + +Never allow the use of &ParmName; as public key algorithm. +The given name will not be checked so that a later loaded algorithm +will still get disabled. + + --throw-keyid Do not put the keyid into encrypted packets. This option @@ -997,6 +1101,17 @@ with a blocksize greater than 64 bit). + +--allow-non-self-signed-uid + +Allow the import of keys with user IDs which are not self-signed. +This is only allows the import - key validation will fail und you +have to check the validity of the key my other means. This hack is +needed for some German keys generated with pgp 2.6.3in. You should really +avoid using it, because OpenPGP has better mechanics to do separate signing +and encryption keys. + + --lock-once @@ -1067,6 +1182,14 @@ Print key listings delimited by colons and print the public key data. + + +--with-fingerprint + +Same as the command --fingerprint but changes only the format of the output +and may be used together with another command. + + diff -urN gnupg-0.9.8/g10/ChangeLog gnupg-0.9.9/g10/ChangeLog --- gnupg-0.9.8/g10/ChangeLog Sat Jun 26 12:16:00 1999 +++ gnupg-0.9.9/g10/ChangeLog Fri Jul 23 13:53:07 1999 @@ -1,3 +1,161 @@ +Fri Jul 23 13:53:03 CEST 1999 Werner Koch + + + * ringedit.c (enum_keyblocks): Removed annoying error message in cases + when we have no keyring at all to enum. + + * getkey.c (classify_user_id): Rewrote to relax the recognition of + keyIDs and fingerprints (Michael). + + * mainproc.c (check_sig_and_print): Print status NO_PUBKEY. + (print_failed_pkenc): Print status NO_SECKEY. + + * import.c (mark_non_selfsigned_uids_valid): New. + * g10.c: New option --allow-non-selfsigned-uid. + + * pkclist.c (print_fpr): New. + (do_we_trust_pre): Print the fpr before asking whether to use the key + anyway. + (do_edit_ownertrust): Likewise. + +Thu Jul 22 20:03:03 CEST 1999 Werner Koch + + + * ringedit.c (enum_keyblocks): Removed annoying error message in cases + when we have no keyring at all to enum. + + * getkey.c (classify_user_id): Rewrote to relax the recognition of + keyIDs and fingerprints (Michael). + + * mainproc.c (check_sig_and_print): Print status NO_PUBKEY. + (print_failed_pkenc): Print status NO_SECKEY. + + * import.c (mark_non_selfsigned_uids_valid): New. + * g10.c: New option --allow-non-selfsigned-uid. + +Thu Jul 15 10:15:35 CEST 1999 Werner Koch + + * g10.c: New options --disable-{cipher,pubkey}-algo. + +Wed Jul 14 19:42:08 CEST 1999 Werner Koch + + * status.h (STATUS_IMPORTED): New. + * import.c (import): Print some status information (Holger Schurig). + + * g10.c (main): Make --no-greeting work again. Add a warning when + --force-mds is used. + +Tue Jul 13 17:39:25 CEST 1999 Werner Koch + + * pkclist.c (do_edit_ownertrust): Changed the way help works. + (build_pk_list): Implemented default recipient stuff. + * g10.c: New options --default-recipient[-self] + (main): Suppress greeting in most cases, entering a passphrase or + a missing value is not considered to be interactive use. + Merged --print-md and --print-mds; the latter is now obsolete. + Changed the way --gen-random works and documented it. + Changed the way --gen-prime works and add a man entry. + * g10.c (MAINTAINER_OPTIONS): Removed. + +Mon Jul 12 18:45:57 CEST 1999 Werner Koch + + * keyedit.c (keyedit_menu): Add arg sign_mode and changed callers + * g10.c (main): New command --lsign-key. + +Mon Jul 12 14:55:34 CEST 1999 Werner Koch + + * mainproc.c (kidlist_item): New. + (release_list): Release failed pk-enc-list. + (print_failed_pkenc): New + (proc_encrypted): Print info about failed PK enc. + + * openfile.c (make_outfile_name): s/error/info/ + + * passphrase.c (passphrase_to_dek): Return an empty passphrase when + in batch mode and don't make the warbing message fatal + * seckey-cert.c (check_secret_key): Try only once when in batch mode. + + * g10.c (make_username): New. + +Thu Jul 8 16:21:27 CEST 1999 Werner Koch + + + * packet.h (PKT_ring_trust): New + * parse-packet.c (parse_trust): Store trust value + * build-packet (build_packet): Ignore ring trust packets. + * mainproc.c (add_ring_trust): New. + (list_node): Print "rtv" records. + * g10.c: New option --with-fingerprint. + + * trustdb.c (verify_own_keys): Don't insert if we are dry running + (check_trust): Ditto. + +Wed Jul 7 13:08:40 CEST 1999 Werner Koch + + * Makefile.am: Support for libtool. + + * keygen.c (ask_expire_interval): Hack to allow for an expire date. + + * trustdb.c (do_update_trust_record,update_trust_record): Splitted. + (check_trust_record): New. + (check_trust,build_cert_tree): Check the dir record as needed. + (upd_pref_record): Removed. + (make_pref_record): New. + (propagate_validity): Stop as soon as we have enough validity. + + * tbdio.c (MAX_CACHE_ENTRIES_HARD): Increased the limit. + + +Fri Jul 2 11:45:54 CEST 1999 Werner Koch + + * g10.c (g10_exit): Dump random stats. + + * sig-check.c (check_key_signature,check_key_signature2): Enhanced + version and wrapper for old function. + (do_signature_check,signature_check): Ditto. + +Thu Jul 1 12:47:31 CEST 1999 Werner Koch + + + * keyedit.c (show_key_with_all_names): Print a notice for disabled keys. + (enable_disable_keys): Add functionality + * pkclist.c (edit_ownertrust): preserve disabled state. + (build_pk_list): Skip disabled keys. + * trustdb.c (upd_one_ownertrust): Ditto. + (build_cert_tree): Mask the ownertrust. + (trust_letter): Mask the value. + (do_check): Take disabled flag into account. + + * passphrase.c (passphrase_to_dek): Add a pubkey_alfo arg and changed + all callers. + + * g10.c (utf8_strings): 2 new options. + + * trustdb.c (insert_trust_record_by_pk): New, replaces the next one. + (insert_trust_record): Now takes a keyblock as arg. Changed all + callers to use the appropritae function. + + * openfile.c (ask_outfile_name): New. + * plaintext.c (handle_plaintext): Ask for filename if there is + no valid syntax. Don't use fname varbatim but filter it. + +Tue Jun 29 21:44:25 CEST 1999 Werner Koch + + + * trustdb.h (TRUST_FLAG_DISABLED): New. + + * status.c (USE_CAPABILITIES): Capabilities support (Remi). + + * tdbio.c : Added new fields to the DIR record. + (tdbio_write_record): Fixed the update of the hash tables. + (tdbio_delete_record): Drop the record from the hash tables. + (drop_from_hashtbl): New. + + * status.c (cpr_get): Special online help mode. + * helptext.c ("keyedit.cmd"): Removed. + * keyedit.c (keyedit_menu): Use only help system. + (enable_disable_key): New bit doies not yet work. + Sat Jun 26 12:15:59 CEST 1999 Werner Koch diff -urN gnupg-0.9.8/g10/Makefile.am gnupg-0.9.9/g10/Makefile.am --- gnupg-0.9.8/g10/Makefile.am Fri Jun 25 17:51:12 1999 +++ gnupg-0.9.9/g10/Makefile.am Tue Jul 6 18:47:53 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.a ../mpi/libmpi.a ../util/libutil.a +needed_libs = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la #noinst_PROGRAMS = gpgd bin_PROGRAMS = gpg diff -urN gnupg-0.9.8/g10/Makefile.in gnupg-0.9.9/g10/Makefile.in --- gnupg-0.9.8/g10/Makefile.in Sat Jun 26 13:07:22 1999 +++ gnupg-0.9.9/g10/Makefile.in Fri Jul 23 14:25:52 1999 @@ -64,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -84,12 +85,17 @@ 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@ @@ -106,7 +112,7 @@ EXTRA_DIST = OPTIONS pubring.asc options.skel OMIT_DEPENDENCIES = zlib.h zconf.h LDFLAGS = @LDFLAGS@ @DYNLINK_LDFLAGS@ -needed_libs = ../cipher/libcipher.a ../mpi/libmpi.a ../util/libutil.a +needed_libs = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la #noinst_PROGRAMS = gpgd bin_PROGRAMS = gpg @@ -142,13 +148,14 @@ 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.a ../mpi/libmpi.a \ -../util/libutil.a +gpg_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ +../util/libutil.la 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 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -161,8 +168,8 @@ all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +.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 g10/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -184,8 +191,8 @@ $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - 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)/'`; \ + 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)/'`; \ else :; fi; \ done @@ -214,6 +221,25 @@ 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) @@ -346,7 +372,8 @@ 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 trustdb.h main.h ../include/i18n.h + keydb.h ../include/util.h trustdb.h main.h ../include/i18n.h \ + status.h kbnode.o: kbnode.c ../config.h ../g10defs.h ../include/util.h \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h packet.h \ @@ -537,23 +564,26 @@ maintainer-clean-generic: mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-tags mostlyclean-generic + mostlyclean-libtool mostlyclean-tags \ + mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-binPROGRAMS clean-compile clean-tags clean-generic \ - mostlyclean-am +clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ + clean-generic mostlyclean-am clean: clean-am -distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ - distclean-generic clean-am +distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ + distclean-tags distclean-generic clean-am + -rm -f libtool distclean: distclean-am maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am + maintainer-clean-compile maintainer-clean-libtool \ + 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." @@ -562,11 +592,12 @@ .PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ -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 \ +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 \ mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean diff -urN gnupg-0.9.8/g10/OPTIONS gnupg-0.9.9/g10/OPTIONS --- gnupg-0.9.8/g10/OPTIONS Sun Oct 18 11:59:07 1998 +++ gnupg-0.9.9/g10/OPTIONS Tue Jul 13 10:38:01 1999 @@ -19,13 +19,6 @@ #----------------------------------------------- # With some exceptions, these cannot be combined -print-md algo -# print the message digest of algorithm ALGO for stdin or all -# given filenames - -print-mds -# print all message digests of all give filenames - store # simply packs the input data into a rfc1991 packet format diff -urN gnupg-0.9.8/g10/build-packet.c gnupg-0.9.9/g10/build-packet.c --- gnupg-0.9.8/g10/build-packet.c Mon May 31 19:36:07 1999 +++ gnupg-0.9.9/g10/build-packet.c Thu Jul 8 14:35:16 1999 @@ -125,6 +125,7 @@ rc = do_onepass_sig( out, ctb, pkt->pkt.onepass_sig ); break; case PKT_RING_TRUST: + break; /* ignore it */ default: log_bug("invalid packet type in build_packet()\n"); break; diff -urN gnupg-0.9.8/g10/encode.c gnupg-0.9.9/g10/encode.c --- gnupg-0.9.8/g10/encode.c Mon Jun 14 08:34:14 1999 +++ gnupg-0.9.9/g10/encode.c Wed Jun 30 09:42:14 1999 @@ -102,7 +102,7 @@ s2k->mode = opt.rfc1991? 0:opt.s2k_mode; s2k->hash_algo = opt.def_digest_algo ? opt.def_digest_algo : opt.s2k_digest_algo; - cfx.dek = passphrase_to_dek( NULL, + cfx.dek = passphrase_to_dek( NULL, 0, opt.def_cipher_algo ? opt.def_cipher_algo : opt.s2k_cipher_algo , s2k, 2 ); if( !cfx.dek || !cfx.dek->keylen ) { diff -urN gnupg-0.9.8/g10/g10.c gnupg-0.9.9/g10/g10.c --- gnupg-0.9.8/g10/g10.c Tue Jun 15 11:47:39 1999 +++ gnupg-0.9.9/g10/g10.c Thu Jul 22 19:19:34 1999 @@ -26,7 +26,6 @@ #include #include -#define MAINTAINER_OPTIONS #include "packet.h" #include "iobuf.h" @@ -70,6 +69,7 @@ aKeygen, aSignEncr, aSignKey, + aLSignKey, aListPackets, aEditKey, aDeleteKey, @@ -105,11 +105,15 @@ oTextmode, oFingerprint, + oWithFingerprint, oAnswerYes, oAnswerNo, oKeyring, oSecretKeyring, oDefaultKey, + oDefRecipient, + oDefRecipientSelf, + oNoDefRecipient, oOptions, oDebug, oDebugAll, @@ -166,6 +170,11 @@ oEncryptTo, oNoEncryptTo, oLoggerFD, + oUtf8Strings, + oNoUtf8Strings, + oDisableCipherAlgo, + oDisablePubkeyAlgo, + oAllowNonSelfsignedUID, aTest }; @@ -187,9 +196,11 @@ { aCheckKeys, "check-sigs",256, N_("check key signatures")}, { oFingerprint, "fingerprint", 256, N_("list keys and fingerprints")}, { aListSecretKeys, "list-secret-keys", 256, N_("list secret keys")}, - { aKeygen, "gen-key", 256, N_("generate a new key pair")}, + { aKeygen, "gen-key", 256, N_("generate a new key pair")}, { aDeleteKey, "delete-key",256, N_("remove key from the public keyring")}, - { aEditKey, "edit-key" ,256, N_("sign or edit a key")}, + { 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")}, { aGenRevoke, "gen-revoke",256, N_("generate a revocation certificate")}, { aExport, "export" , 256, N_("export keys") }, { aSendKeys, "send-keys" , 256, N_("export keys to a key server") }, @@ -204,24 +215,26 @@ { aImportOwnerTrust, "import-ownertrust", 256 , N_("import ownertrust values")}, { aUpdateTrustDB, - "update-trustdb",0 , N_("|[NAMES]|update the trust database")}, + "update-trustdb",0 , N_("update the trust database")}, { aCheckTrustDB, "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") }, { aEnArmor, "enarmor", 256, N_("En-Armor a file or stdin") }, { aPrintMD, "print-md" , 256, N_("|algo [files]|print message digests")}, - { aPrintMDs, "print-mds" , 256, N_("print all message digests")}, - #ifdef MAINTAINER_OPTIONS { aPrimegen, "gen-prime" , 256, "@" }, { aGenRandom, "gen-random" , 256, "@" }, - #endif { 301, NULL, 0, N_("@\nOptions:\n ") }, { oArmor, "armor", 0, N_("create ascii armored output")}, { oRecipient, "recipient", 2, N_("|NAME|encrypt for NAME")}, { oRecipient, "remote-user", 2, "@"}, /* old option name */ + { oDefRecipient, "default-recipient" ,2, + N_("|NAME|use NAME as default recipient")}, + { oDefRecipientSelf, "default-recipient-self" ,0, + N_("use the default key as default recipient")}, + { oNoDefRecipient, "no-default-recipient", 0, "@" }, { oEncryptTo, "encrypt-to", 2, "@" }, { oNoEncryptTo, "no-encrypt-to", 0, "@" }, { oUser, "local-user",2, N_("use this user-id to sign or decrypt")}, @@ -276,11 +289,11 @@ /* hidden options */ { aExportOwnerTrust, "list-ownertrust",0 , "@"}, /* alias */ + { aPrintMDs, "print-mds" , 256, "@"}, /* old */ { aListTrustDB, "list-trustdb",0 , "@"}, { aListTrustPath, "list-trust-path",0, "@"}, { oKOption, NULL, 0, "@"}, { oPasswdFD, "passphrase-fd",1, "@" }, - { aSignKey, "sign-key" ,256, "@" }, /* alias for edit-key */ { aDeleteSecretKey, "delete-secret-key",0, "@" }, { oQuickRandom, "quick-random", 0, "@"}, { oNoVerbose, "no-verbose", 0, "@"}, @@ -315,13 +328,19 @@ { oLockMultiple, "lock-multiple", 0, "@" }, { oLoggerFD, "logger-fd",1, "@" }, { oUseEmbeddedFilename, "use-embedded-filename", 0, "@" }, + { oUtf8Strings, "utf8-strings", 0, "@" }, + { oNoUtf8Strings, "no-utf8-strings", 0, "@" }, + { oWithFingerprint, "with-fingerprint", 0, "@" }, + { oDisableCipherAlgo, "disable-cipher-algo", 2, "@" }, + { oDisablePubkeyAlgo, "disable-pubkey-algo", 2, "@" }, + { oAllowNonSelfsignedUID, "allow-non-selfsigned-uid", 0, "@" }, {0} }; int g10_errors_seen = 0; - +static int utf8_strings = 0; static int maybe_setuid = 1; static char *build_list( const char *text, @@ -436,6 +455,19 @@ g10_exit(2); } + +static char * +make_username( const char *string ) +{ + char *p; + if( utf8_strings ) + p = native_to_utf8( string ); + else + p = m_strdup(string); + return p; +} + + static void set_debug(void) { @@ -488,6 +520,7 @@ int orig_argc; char **orig_argv; const char *fname; + char *username; STRLIST sl, remusr= NULL, locusr=NULL; STRLIST nrings=NULL, sec_nrings=NULL; armor_filter_context_t afx; @@ -498,7 +531,8 @@ int parse_debug = 0; int default_config =1; int default_keyring = 1; - int greeting = 1; + int greeting = 0; + int nogreeting = 0; enum cmd_and_opt_values cmd = 0; const char *trustdb_name = NULL; char *def_cipher_string = NULL; @@ -506,6 +540,7 @@ char *s2k_cipher_string = NULL; char *s2k_digest_string = NULL; int pwfd = -1; + int with_fpr = 0; /* make an option out of --fingerprint */ #ifdef USE_SHM_COPROCESSING ulong requested_shm_size=0; #endif @@ -631,25 +666,25 @@ case aListKeys: set_cmd( &cmd, aListKeys); break; case aListSigs: set_cmd( &cmd, aListSigs); break; case aExportSecret: set_cmd( &cmd, aExportSecret); break; - case aDeleteSecretKey: set_cmd( &cmd, aDeleteSecretKey); break; - case aDeleteKey: set_cmd( &cmd, aDeleteKey); break; + case aDeleteSecretKey: set_cmd( &cmd, aDeleteSecretKey); + greeting=1; break; + case aDeleteKey: set_cmd( &cmd, aDeleteKey); greeting=1; break; case aDetachedSign: detached_sig = 1; set_cmd( &cmd, aSign ); break; case aSym: set_cmd( &cmd, aSym); break; case aDecrypt: set_cmd( &cmd, aDecrypt); break; case aEncr: set_cmd( &cmd, aEncr); break; case aSign: set_cmd( &cmd, aSign ); break; - case aKeygen: set_cmd( &cmd, aKeygen); break; + case aKeygen: set_cmd( &cmd, aKeygen); greeting=1; break; case aSignKey: set_cmd( &cmd, aSignKey); break; + case aLSignKey: set_cmd( &cmd, aLSignKey); break; case aStore: set_cmd( &cmd, aStore); break; - case aEditKey: set_cmd( &cmd, aEditKey); break; + case aEditKey: set_cmd( &cmd, aEditKey); greeting=1; break; case aClearsign: set_cmd( &cmd, aClearsign); break; case aGenRevoke: set_cmd( &cmd, aGenRevoke); break; case aVerify: set_cmd( &cmd, aVerify); break; - #ifdef MAINTAINER_OPTIONS case aPrimegen: set_cmd( &cmd, aPrimegen); break; case aGenRandom: set_cmd( &cmd, aGenRandom); break; - #endif case aPrintMD: set_cmd( &cmd, aPrintMD); break; case aPrintMDs: set_cmd( &cmd, aPrintMDs); break; case aListTrustDB: set_cmd( &cmd, aListTrustDB); break; @@ -657,8 +692,8 @@ case aUpdateTrustDB: set_cmd( &cmd, aUpdateTrustDB); break; case aFixTrustDB: set_cmd( &cmd, aFixTrustDB); break; case aListTrustPath: set_cmd( &cmd, aListTrustPath); break; - case aDeArmor: set_cmd( &cmd, aDeArmor); greeting = 0; break; - case aEnArmor: set_cmd( &cmd, aEnArmor); greeting = 0; break; + case aDeArmor: set_cmd( &cmd, aDeArmor); break; + case aEnArmor: set_cmd( &cmd, aEnArmor); break; case aExportOwnerTrust: set_cmd( &cmd, aExportOwnerTrust); break; case aImportOwnerTrust: set_cmd( &cmd, aImportOwnerTrust); break; @@ -680,6 +715,8 @@ case oDebugAll: opt.debug = ~0; break; case oStatusFD: set_status_fd( pargs.r.ret_int ); break; case oLoggerFD: log_set_logfile( NULL, pargs.r.ret_int ); break; + case oWithFingerprint: + with_fpr=1; /*fall thru*/ case oFingerprint: opt.fingerprint++; break; case oSecretKeyring: append_to_strlist( &sec_nrings, pargs.r.ret_str); break; case oOptions: @@ -692,7 +729,7 @@ break; case oNoArmor: opt.no_armor=1; opt.armor=0; break; case oNoDefKeyring: default_keyring = 0; break; - case oNoGreeting: greeting = 0; break; + case oNoGreeting: nogreeting = 1; break; case oNoVerbose: g10_opt_verbose = 0; opt.verbose = 0; opt.list_sigs=0; break; case oQuickRandom: quick_random_gen(1); break; @@ -704,6 +741,18 @@ case oMaxCertDepth: opt.max_cert_depth = pargs.r.ret_int; break; case oTrustDBName: trustdb_name = pargs.r.ret_str; break; case oDefaultKey: opt.def_secret_key = pargs.r.ret_str; break; + case oDefRecipient: + if( *pargs.r.ret_str ) + opt.def_recipient = make_username(pargs.r.ret_str); + break; + case oDefRecipientSelf: + m_free(opt.def_recipient); opt.def_recipient = NULL; + opt.def_recipient_self = 1; + break; + case oNoDefRecipient: + m_free(opt.def_recipient); opt.def_recipient = NULL; + opt.def_recipient_self = 0; + break; case oNoOptions: break; /* no-options */ case oHomedir: opt.homedir = pargs.r.ret_str; break; case oNoBatch: opt.batch = 0; break; @@ -761,16 +810,16 @@ case oNoEncryptTo: opt.no_encrypt_to = 1; break; case oEncryptTo: /* store the recipient in the second list */ - sl = add_to_strlist( &remusr, pargs.r.ret_str ); + sl = add_to_strlist2( &remusr, pargs.r.ret_str, utf8_strings ); sl->flags = 1; break; case oRecipient: /* store the recipient */ - add_to_strlist( &remusr, pargs.r.ret_str ); + add_to_strlist2( &remusr, pargs.r.ret_str, utf8_strings ); break; case oTextmodeShort: opt.textmode = 2; break; case oTextmode: opt.textmode=1; break; case oUser: /* store the local users */ - add_to_strlist( &locusr, pargs.r.ret_str ); + add_to_strlist2( &locusr, pargs.r.ret_str, utf8_strings ); break; case oCompress: opt.compress = pargs.r.ret_int; break; case oPasswdFD: pwfd = pargs.r.ret_int; break; @@ -788,6 +837,17 @@ case oLockMultiple: opt.lock_once = 0; break; case oKeyServer: opt.keyserver_name = pargs.r.ret_str; break; case oNotation: add_notation_data( pargs.r.ret_str ); break; + case oUtf8Strings: utf8_strings = 1; break; + case oNoUtf8Strings: utf8_strings = 0; break; + case oDisableCipherAlgo: + disable_cipher_algo( string_to_cipher_algo(pargs.r.ret_str) ); + break; + case oDisablePubkeyAlgo: + disable_pubkey_algo( string_to_pubkey_algo(pargs.r.ret_str) ); + break; + case oAllowNonSelfsignedUID: + opt.allow_non_selfsigned_uid = 1; + break; default : pargs.err = configfp? 1:2; break; } @@ -801,14 +861,22 @@ m_free( configname ); configname = NULL; if( log_get_errorcount(0) ) g10_exit(2); + if( nogreeting ) + greeting = 0; if( greeting ) { fprintf(stderr, "%s %s; %s\n", strusage(11), strusage(13), strusage(14) ); fprintf(stderr, "%s\n", strusage(15) ); - #ifdef IS_DEVELOPMENT_VERSION + } + #ifdef IS_DEVELOPMENT_VERSION + if( !opt.batch ) log_info("NOTE: this is a development version!\n"); - #endif + #endif + if( opt.force_mdc ) { + log_info("--force-mdc ignored because" + " the OpenPGP WG has not yet aggreed on MDCs\n"); + opt.force_mdc = 0; } if( opt.batch ) tty_batchmode( 1 ); @@ -869,7 +937,7 @@ if( log_get_errorcount(0) ) g10_exit(2); - if( !cmd && opt.fingerprint ) + if( !cmd && opt.fingerprint && !with_fpr ) set_cmd( &cmd, aListKeys); if( cmd == aKMode || cmd == aKModeC ) { /* kludge to be compatible to pgp */ @@ -1019,29 +1087,47 @@ case aSignKey: /* sign the key given as argument */ + if( argc != 1 ) + wrong_args(_("--sign-key user-id")); + username = make_username( fname ); + keyedit_menu(fname, locusr, NULL, 1 ); + m_free(username); + break; + + case aLSignKey: + if( argc != 1 ) + wrong_args(_("--lsign-key user-id")); + username = make_username( fname ); + keyedit_menu(fname, locusr, NULL, 2 ); + m_free(username); + break; + case aEditKey: /* Edit a key signature */ if( !argc ) - wrong_args(_("--edit-key username [commands]")); + wrong_args(_("--edit-key user-id [commands]")); + username = make_username( fname ); if( argc > 1 ) { sl = NULL; for( argc--, argv++ ; argc; argc--, argv++ ) append_to_strlist( &sl, *argv ); - keyedit_menu( fname, locusr, sl ); + keyedit_menu( username, locusr, sl, 0 ); free_strlist(sl); } else - keyedit_menu(fname, locusr, NULL ); + keyedit_menu(username, locusr, NULL, 0 ); + m_free(username); break; case aDeleteSecretKey: if( argc != 1 ) - wrong_args(_("--delete-secret-key username")); + wrong_args(_("--delete-secret-key user-id")); case aDeleteKey: if( argc != 1 ) - wrong_args(_("--delete-key username")); - /* note: fname is the user id! */ - if( (rc = delete_key(fname, cmd==aDeleteSecretKey)) ) - log_error("%s: delete key failed: %s\n", print_fname_stdin(fname), g10_errstr(rc) ); + wrong_args(_("--delete-key user-id")); + username = make_username( fname ); + if( (rc = delete_key(username, cmd==aDeleteSecretKey)) ) + log_error("%s: delete key failed: %s\n", username, g10_errstr(rc) ); + m_free(username); break; @@ -1056,7 +1142,7 @@ secret_key_list( argc, argv ); break; - case aKMode: /* list keyring */ + case aKMode: /* list keyring -- NOTE: This will be removed soon */ if( argc < 2 ) /* -kv [userid] */ public_key_list( (argc && **argv)? 1:0, argv ); else if( argc == 2 ) { /* -kv userid keyring */ @@ -1102,7 +1188,7 @@ case aRecvKeys: sl = NULL; for( ; argc; argc--, argv++ ) - add_to_strlist( &sl, *argv ); + add_to_strlist2( &sl, *argv, utf8_strings ); if( cmd == aSendKeys ) hkp_export( sl ); else if( cmd == aRecvKeys ) @@ -1115,7 +1201,7 @@ case aExportSecret: sl = NULL; for( ; argc; argc--, argv++ ) - add_to_strlist( &sl, *argv ); + add_to_strlist2( &sl, *argv, utf8_strings ); export_seckeys( sl ); free_strlist(sl); break; @@ -1123,7 +1209,9 @@ case aGenRevoke: if( argc != 1 ) wrong_args("--gen-revoke user-id"); - gen_revoke( *argv ); + username = make_username(*argv); + gen_revoke( username ); + m_free( username ); break; case aDeArmor: @@ -1143,68 +1231,70 @@ break; - #ifdef MAINTAINER_OPTIONS case aPrimegen: - if( argc == 1 ) { - mpi_print( stdout, generate_public_prime( atoi(argv[0]) ), 1); - putchar('\n'); - } - else if( argc == 2 ) { - mpi_print( stdout, generate_elg_prime( 0, atoi(argv[0]), - atoi(argv[1]), NULL,NULL ), 1); - putchar('\n'); - } - else if( argc == 3 ) { - MPI g = mpi_alloc(1); - mpi_print( stdout, generate_elg_prime( 0, atoi(argv[0]), - atoi(argv[1]), g, NULL ), 1); - printf("\nGenerator: "); - mpi_print( stdout, g, 1 ); - putchar('\n'); - mpi_free(g); - } - else if( argc == 4 ) { - mpi_print( stdout, generate_elg_prime( 1, atoi(argv[0]), - atoi(argv[1]), NULL,NULL ), 1); + { int mode = argc < 2 ? 0 : atoi(*argv); + + if( mode == 1 && argc == 2 ) { + mpi_print( stdout, generate_public_prime( atoi(argv[1]) ), 1); + } + else if( mode == 2 && argc == 3 ) { + mpi_print( stdout, generate_elg_prime( + 0, atoi(argv[1]), + atoi(argv[2]), NULL,NULL ), 1); + } + else if( mode == 3 && argc == 3 ) { + MPI *factors; + mpi_print( stdout, generate_elg_prime( + 1, atoi(argv[1]), + atoi(argv[2]), NULL,&factors ), 1); + putchar('\n'); + mpi_print( stdout, factors[0], 1 ); /* print q */ + } + else if( mode == 4 && argc == 3 ) { + MPI g = mpi_alloc(1); + mpi_print( stdout, generate_elg_prime( + 0, atoi(argv[1]), + atoi(argv[2]), g, NULL ), 1); + putchar('\n'); + mpi_print( stdout, g, 1 ); + mpi_free(g); + } + else + wrong_args("--gen-prime mode bits [qbits] "); putchar('\n'); } - else - usage(1); break; - #endif /* MAINTAINER OPTIONS */ - #ifdef MAINTAINER_OPTIONS case aGenRandom: - if( argc < 1 || argc > 2 ) - wrong_args("--gen-random level [hex]"); { - int c; - int level = atoi(*argv); - for(;;) { + int level = argc ? atoi(*argv):0; + int count = argc > 1 ? atoi(argv[1]): 0; + int endless = !count; + + if( argc < 1 || argc > 2 || level < 0 || level > 2 || count < 0 ) + wrong_args("--gen-random 0|1|2 [count]"); + + while( endless || count ) { byte *p; - if( argc == 2 ) { - p = get_random_bits( 8, level, 0); - printf("%02x", *p ); - fflush(stdout); - } - else { - p = get_random_bits( 800, level, 0); - for(c=0; c < 100; c++ ) - putchar( p[c] ); - } + size_t n = !endless && count < 100? count : 100; + + p = get_random_bits( n*8, level, 0); + fwrite( p, n, 1, stdout ); m_free(p); + if( !endless ) + count -= n; } } break; - #endif /* MAINTAINER OPTIONS */ case aPrintMD: if( argc < 1) - wrong_args("--print-md algo [file]"); - else { - int algo = string_to_digest_algo(*argv); + wrong_args("--print-md algo [files]"); + { + int all_algos = (**argv=='*' && !(*argv)[1]); + int algo = all_algos? 0 : string_to_digest_algo(*argv); - if( !algo ) + if( !algo && !all_algos ) log_error(_("invalid hash algorithm `%s'\n"), *argv ); else { argc--; argv++; @@ -1218,7 +1308,7 @@ } break; - case aPrintMDs: + case aPrintMDs: /* old option */ if( !argc ) print_mds(NULL,0); else { @@ -1246,8 +1336,11 @@ if( !argc ) check_trustdb(NULL); else { - for( ; argc; argc--, argv++ ) - check_trustdb( *argv ); + for( ; argc; argc--, argv++ ) { + username = make_username( *argv ); + check_trustdb( username ); + m_free(username); + } } break; @@ -1259,9 +1352,12 @@ case aListTrustPath: if( !argc ) - wrong_args("--list-trust-path "); - for( ; argc; argc--, argv++ ) - list_trust_path( *argv ); + wrong_args("--list-trust-path "); + for( ; argc; argc--, argv++ ) { + username = make_username( *argv ); + list_trust_path( username ); + m_free(username); + } break; case aExportOwnerTrust: @@ -1319,8 +1415,10 @@ void g10_exit( int rc ) { - if( opt.debug & DBG_MEMSTAT_VALUE ) + if( opt.debug & DBG_MEMSTAT_VALUE ) { m_print_stats("on exit"); + random_dump_stats(); + } if( opt.debug ) secmem_dump_stats(); secmem_term(); @@ -1482,11 +1580,8 @@ highbit = 1; } - if( highbit ) { /* must use UTF8 encoding */ - char *p = native_to_utf8( string ); - sl = add_to_strlist( &opt.notation_data, p ); - m_free( p ); - } + if( highbit ) /* must use UTF8 encoding */ + sl = add_to_strlist2( &opt.notation_data, string, utf8_strings ); else sl = add_to_strlist( &opt.notation_data, string ); diff -urN gnupg-0.9.8/g10/getkey.c gnupg-0.9.9/g10/getkey.c --- gnupg-0.9.8/g10/getkey.c Thu May 6 12:51:07 1999 +++ gnupg-0.9.9/g10/getkey.c Thu Jul 22 18:32:41 1999 @@ -539,104 +539,134 @@ classify_user_id( const char *name, u32 *keyid, byte *fprint, const char **retstr, size_t *retlen ) { - const char *s; - int mode = 0; + const char * s; + int mode = 0; + int hexprefix = 0; + int hexlength; - /* check what kind of name it is */ + /* skip leading spaces. FIXME: what is with leading spaces? */ for(s = name; *s && isspace(*s); s++ ) ; - if( isdigit( *s ) ) { /* a keyid or a fingerprint */ - int i, j; - char buf[9]; - - if( *s == '0' && s[1] == 'x' && isxdigit(s[2]) ) - s += 2; /*kludge to allow 0x034343434 */ - for(i=0; isxdigit(s[i]); i++ ) - ; - if( s[i] && !isspace(s[i]) ) /* not terminated by EOS or blank*/ + + switch (*s) { + case 0: /* empty string is an error */ return 0; - else if( i == 8 || (i == 9 && *s == '0') ) { /* short keyid */ - if( i==9 ) - s++; - if( keyid ) { - keyid[0] = 0; - keyid[1] = strtoul( s, NULL, 16 ); - } - mode = 10; - } - else if( i == 16 || (i == 17 && *s == '0') ) { /* complete keyid */ - if( i==17 ) - s++; - mem2str(buf, s, 9 ); - keyid[0] = strtoul( buf, NULL, 16 ); - keyid[1] = strtoul( s+8, NULL, 16 ); - mode = 11; - } - else if( i == 32 || ( i == 33 && *s == '0' ) ) { /* md5 fingerprint */ - if( i==33 ) - s++; - if( fprint ) { - memset(fprint+16, 4, 0); - for(j=0; j < 16; j++, s+=2 ) { - int c = hextobyte( s ); - if( c == -1 ) - return 0; - fprint[j] = c; + + case '.': /* an email address, compare from end */ + mode = 5; + s++; + break; + + case '<': /* an email address */ + mode = 3; + break; + + case '@': /* part of an email address */ + mode = 4; + s++; + break; + + case '=': /* exact compare */ + mode = 1; + s++; + break; + + case '*': /* case insensitive substring search */ + mode = 2; + s++; + break; + + case '+': /* compare individual words */ + mode = 6; + s++; + break; + + case '#': /* local user id */ + mode = 12; + s++; + if (keyid) { + if (keyid_from_lid(strtoul(s, NULL, 10), keyid)) + keyid[0] = keyid[1] = 0; + } + break; + + default: + if (s[0] == '0' && s[1] == 'x') { + hexprefix = 1; + s += 2; + } + + hexlength = strspn(s, "0123456789abcdefABCDEF"); + + /* check if a hexadecimal number is terminated by EOS or blank */ + if (hexlength && s[hexlength] && !isspace(s[hexlength])) { + if (hexprefix) /* a "0x" prefix without correct */ + return 0; /* termination is an error */ + else /* The first chars looked like */ + hexlength = 0; /* a hex number, but really were not. */ + } + + if (hexlength == 8 || (!hexprefix && hexlength == 9 && *s == '0')){ + /* short keyid */ + if (hexlength == 9) + s++; + if (keyid) { + keyid[0] = 0; + keyid[1] = strtoul( s, NULL, 16 ); } + mode = 10; + } + else if (hexlength == 16 || (!hexprefix && hexlength == 17 + && *s == '0')) { + /* complete keyid */ + char buf[9]; + if (hexlength == 17) + s++; + mem2str(buf, s, 9 ); + keyid[0] = strtoul( buf, NULL, 16 ); + keyid[1] = strtoul( s+8, NULL, 16 ); + mode = 11; } - mode = 16; - } - else if( i == 40 || ( i == 41 && *s == '0' ) ) { /* sha1/rmd160 fprint*/ - if( i==33 ) - s++; - if( fprint ) { - for(j=0; j < 20; j++, s+=2 ) { - int c = hextobyte( s ); - if( c == -1 ) - return 0; - fprint[j] = c; + else if (hexlength == 32 || (!hexprefix && hexlength == 33 + && *s == '0')) { + /* md5 fingerprint */ + int i; + if (hexlength == 33) + s++; + if (fprint) { + memset(fprint+16, 4, 0); + for (i=0; i < 16; i++, s+=2) { + int c = hextobyte(s); + if (c == -1) + return 0; + fprint[i] = c; + } } + mode = 16; + } + else if (hexlength == 40 || (!hexprefix && hexlength == 41 + && *s == '0')) { + /* sha1/rmd160 fingerprint */ + int i; + if (hexlength == 41) + s++; + if (fprint) { + for (i=0; i < 20; i++, s+=2) { + int c = hextobyte(s); + if (c == -1) + return 0; + fprint[i] = c; + } + } + mode = 20; + } + else { + if (hexprefix) /* This was a hex number with a prefix */ + return 0; /* and a wrong length */ + + mode = 2; /* Default is case insensitive substring search */ } - mode = 20; - } - else - return 0; - } - else if( *s == '=' ) { /* exact search */ - mode = 1; - s++; - } - else if( *s == '*' ) { /* substring search */ - mode = 2; - s++; - } - else if( *s == '<' ) { /* an email address */ - mode = 3; - } - else if( *s == '@' ) { /* a part of an email address */ - mode = 4; - s++; - } - else if( *s == '.' ) { /* an email address, compare from end */ - mode = 5; - s++; - } - else if( *s == '+' ) { /* word match mode */ - mode = 6; - s++; - } - else if( *s == '#' ) { /* use local id */ - mode = 12; - s++; - if( keyid ) { - if( keyid_from_lid( strtoul( s, NULL, 10), keyid ) ) - keyid[0] = keyid[1] = 0; - } } - else if( !*s ) /* empty string */ - return 0; - else - mode = 2; if( retstr ) *retstr = s; diff -urN gnupg-0.9.8/g10/helptext.c gnupg-0.9.9/g10/helptext.c --- gnupg-0.9.8/g10/helptext.c Thu Jun 10 12:57:11 1999 +++ gnupg-0.9.9/g10/helptext.c Tue Jul 6 11:34:22 1999 @@ -101,7 +101,10 @@ { N_("keygen.valid"), - "Enter the required value" + "Enter the required value as shown in the pronpt.\n" + "It is possible to enter a ISO date (YYYY-MM-DD) but you won't\n" + "get a good error response - instead the system tries to interpret\n" + "the given value as an interval." }, { N_("keygen.valid.okay"), @@ -146,10 +149,6 @@ }, -{ N_("keyedit.cmd"), - "Please enter \"help\" to see the list of commands." -}, - { N_("keyedit.save.okay"), "Answer \"yes\" or \"no\"" }, @@ -212,8 +211,15 @@ "Give the name fo the file to which the signature applies" }, +/* openfile.c (overwrite_filep) */ { N_("openfile.overwrite.okay"), "Answer \"yes\" if it is okay to overwrite the file" +}, + +/* openfile.c (ask_outfile_name) */ +{ N_("openfile.askoutname"), + "Please enter a new filename. If you just hit RETURN the default\n" + "file (which is shown in brackets) will be used." }, /* end of list */ diff -urN gnupg-0.9.8/g10/import.c gnupg-0.9.9/g10/import.c --- gnupg-0.9.8/g10/import.c Wed May 26 08:16:55 1999 +++ gnupg-0.9.9/g10/import.c Thu Jul 22 19:19:45 1999 @@ -34,6 +34,7 @@ #include "trustdb.h" #include "main.h" #include "i18n.h" +#include "status.h" static struct { @@ -58,6 +59,7 @@ static int import_revoke_cert( const char *fname, KBNODE node ); static int chk_self_sigs( const char *fname, KBNODE keyblock, PKT_public_key *pk, u32 *keyid ); +static void mark_non_selfsigned_uids_valid( KBNODE keyblock, u32 *kid ); static int delete_inv_parts( const char *fname, KBNODE keyblock, u32 *keyid ); static int merge_blocks( const char *fname, KBNODE keyblock_orig, KBNODE keyblock, u32 *keyid, @@ -199,6 +201,24 @@ log_info(_(" secret keys unchanged: %lu\n"), stats.secret_dups ); } + if( is_status_enabled() ) { + char buf[12*16]; + sprintf(buf, "%lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu", + count, + stats.no_user_id, + stats.imported, + stats.imported_rsa, + stats.unchanged, + stats.n_uids, + stats.n_subk, + stats.n_sigs, + stats.n_revoc, + stats.secret_read, + stats.secret_imported, + stats.secret_dups); + write_status_text( STATUS_IMPORT_RES, buf ); + } + return rc; } @@ -348,6 +368,9 @@ if( rc ) return rc== -1? 0:rc; + if( opt.allow_non_selfsigned_uid ) + mark_non_selfsigned_uids_valid( keyblock, keyid ); + if( !delete_inv_parts( fname, keyblock, keyid ) ) { if( !opt.quiet ) { log_info( _("key %08lX: no valid user ids\n"), @@ -376,15 +399,20 @@ log_info( _("writing to `%s'\n"), keyblock_resource_name(&kbpos) ); if( (rc=lock_keyblock( &kbpos )) ) - log_error(_("can't lock keyring `%s': %s\n"), + log_error(_("can't lock keyring `%s': %s\n"), keyblock_resource_name(&kbpos), g10_errstr(rc) ); else if( (rc=insert_keyblock( &kbpos, keyblock )) ) - log_error( _("error writing keyring `%s': %s\n"), + log_error( _("error writing keyring `%s': %s\n"), keyblock_resource_name(&kbpos), g10_errstr(rc) ); unlock_keyblock( &kbpos ); /* we are ready */ if( !opt.quiet ) log_info( _("key %08lX: public key imported\n"), (ulong)keyid[1]); + if( is_status_enabled() ) { + char *us = get_long_user_id_string( keyid ); + write_status_text( STATUS_IMPORTED, us ); + m_free(us); + } stats.imported++; if( is_RSA( pk->pubkey_algo ) ) stats.imported_rsa++; @@ -402,9 +430,6 @@ goto leave; } - /* See whether we have only non-self-signature on one user id; if not - * ask the user what to do. <--- fixme */ - /* now read the original keyblock */ rc = find_keyblock_bypk( &kbpos, pk_orig ); if( rc ) { @@ -432,7 +457,7 @@ mod_key = 1; /* keyblock_orig has been updated; write */ if( (rc=lock_keyblock( &kbpos )) ) - log_error( _("can't lock keyring `%s': %s\n"), + log_error( _("can't lock keyring `%s': %s\n"), keyblock_resource_name(&kbpos), g10_errstr(rc) ); else if( (rc=update_keyblock( &kbpos, keyblock_orig )) ) log_error( _("error writing keyring `%s': %s\n"), @@ -475,7 +500,7 @@ if( rc && rc != -1 ) log_error("trustdb error: %s\n", g10_errstr(rc) ); else if( rc == -1 ) { /* not found trustdb */ - rc = insert_trust_record( new_key? pk : pk_orig ); + rc = insert_trust_record( new_key? keyblock : keyblock_orig ); if( rc ) log_error("key %08lX: trustdb insert failed: %s\n", (ulong)keyid[1], g10_errstr(rc) ); @@ -665,7 +690,7 @@ * loop over the keyblock and check all self signatures. * Mark all user-ids with a self-signature by setting flag bit 0. * Mark all user-ids with an invalid self-signature by setting bit 1. - * This works allso for subkeys, here the subkey is marked. + * This works also for subkeys, here the subkey is marked. */ static int chk_self_sigs( const char *fname, KBNODE keyblock, @@ -705,7 +730,7 @@ knode = find_prev_kbnode( keyblock, n, PKT_SECRET_SUBKEY ); - if( !knode ) { + if( !knode ) { log_error( _("key %08lX: no subkey for key binding\n"), (ulong)keyid[1]); n->flag |= 4; /* delete this */ @@ -726,6 +751,29 @@ } } return 0; +} + + + +/**************** + * If a user ID has at least one signature, mark it as valid + */ +static void +mark_non_selfsigned_uids_valid( KBNODE keyblock, u32 *kid ) +{ + 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 ) { + node->flag |= 1; + log_info( _("key %08lX: accepted non self-signed userid '"), + (ulong)kid[1]); + print_string( log_stream(), node->pkt->pkt.user_id->name, + node->pkt->pkt.user_id->len, 0 ); + fputs("'\n", log_stream() ); + } + } + } } /**************** diff -urN gnupg-0.9.8/g10/keydb.h gnupg-0.9.9/g10/keydb.h --- gnupg-0.9.8/g10/keydb.h Fri May 21 18:59:56 1999 +++ gnupg-0.9.9/g10/keydb.h Wed Jun 30 10:37:22 1999 @@ -125,7 +125,8 @@ /*-- passphrase.h --*/ int have_static_passphrase(void); void read_passphrase_from_fd( int fd ); -DEK *passphrase_to_dek( u32 *keyid, int cipher_algo, STRING2KEY *s2k, int mode); +DEK *passphrase_to_dek( u32 *keyid, int pubkey_algo, + int cipher_algo, STRING2KEY *s2k, int mode); void set_next_passphrase( const char *s ); char *get_last_passphrase(void); diff -urN gnupg-0.9.8/g10/keyedit.c gnupg-0.9.9/g10/keyedit.c --- gnupg-0.9.8/g10/keyedit.c Thu Jun 17 11:13:18 1999 +++ gnupg-0.9.9/g10/keyedit.c Fri Jul 23 13:32:08 1999 @@ -59,6 +59,7 @@ static int count_selected_keys( KBNODE keyblock ); static int menu_revsig( KBNODE keyblock ); static int menu_revkey( KBNODE pub_keyblock, KBNODE sec_keyblock ); +static int enable_disable_key( KBNODE keyblock, int disable ); #define CONTROL_D ('D' - 'A' + 1) @@ -450,7 +451,7 @@ for(;;) { s2k->mode = opt.s2k_mode; s2k->hash_algo = opt.s2k_digest_algo; - dek = passphrase_to_dek( NULL, opt.s2k_cipher_algo, s2k, 2 ); + dek = passphrase_to_dek( NULL, 0, opt.s2k_cipher_algo, s2k, 2 ); if( !dek ) { tty_printf(_("passphrase not correctly repeated; try again.\n")); } @@ -537,58 +538,64 @@ } /**************** - * Menu driven key editor + * Menu driven key editor. If sign_mode is true semi-automatical signing + * will be performed. commands are ignore in this case * * Note: to keep track of some selection we use node->mark MARKBIT_xxxx. */ void -keyedit_menu( const char *username, STRLIST locusr, STRLIST commands ) +keyedit_menu( const char *username, STRLIST locusr, STRLIST commands, + int sign_mode ) { enum cmdids { cmdNONE = 0, cmdQUIT, cmdHELP, cmdFPR, cmdLIST, cmdSELUID, cmdCHECK, cmdSIGN, cmdLSIGN, cmdREVSIG, cmdREVKEY, cmdDELSIG, cmdDEBUG, cmdSAVE, cmdADDUID, cmdDELUID, cmdADDKEY, cmdDELKEY, cmdTOGGLE, cmdSELKEY, cmdPASSWD, cmdTRUST, cmdPREF, cmdEXPIRE, - cmdNOP }; + cmdENABLEKEY, cmdDISABLEKEY, + cmdINVCMD, cmdNOP }; static struct { const char *name; enum cmdids id; int need_sk; + int signmode; const char *desc; } cmds[] = { - { N_("quit") , cmdQUIT , 0, N_("quit this menu") }, - { N_("q") , cmdQUIT , 0, NULL }, - { N_("save") , cmdSAVE , 0, N_("save and quit") }, - { N_("help") , cmdHELP , 0, N_("show this help") }, - { "?" , cmdHELP , 0, NULL }, - { N_("fpr") , cmdFPR , 0, N_("show fingerprint") }, - { N_("list") , cmdLIST , 0, N_("list key and user ids") }, - { N_("l") , cmdLIST , 0, NULL }, - { N_("uid") , cmdSELUID , 0, N_("select user id N") }, - { N_("key") , cmdSELKEY , 0, N_("select secondary key N") }, - { N_("check") , cmdCHECK , 0, N_("list signatures") }, - { N_("c") , cmdCHECK , 0, NULL }, - { N_("sign") , cmdSIGN , 0, N_("sign the key") }, - { N_("s") , cmdSIGN , 0, NULL }, - { N_("lsign") , cmdLSIGN , 0, N_("sign the key locally") }, - { N_("debug") , cmdDEBUG , 0, NULL }, - { N_("adduid") , cmdADDUID , 1, N_("add a user id") }, - { N_("deluid") , cmdDELUID , 0, N_("delete user id") }, - { N_("addkey") , cmdADDKEY , 1, N_("add a secondary key") }, - { N_("delkey") , cmdDELKEY , 0, N_("delete a secondary key") }, - { N_("delsig") , cmdDELSIG , 0, N_("delete signatures") }, - { N_("expire") , cmdEXPIRE , 1, N_("change the expire date") }, - { N_("toggle") , cmdTOGGLE , 1, N_("toggle between secret " - "and public key listing") }, - { N_("t" ) , cmdTOGGLE , 1, NULL }, - { N_("pref") , cmdPREF , 0, N_("list preferences") }, - { N_("passwd") , cmdPASSWD , 1, N_("change the passphrase") }, - { N_("trust") , cmdTRUST , 0, N_("change the ownertrust") }, - { N_("revsig") , cmdREVSIG , 0, N_("revoke signatures") }, - { N_("revkey") , cmdREVKEY , 1, N_("revoke a secondary key") }, + { N_("quit") , cmdQUIT , 0,1, N_("quit this menu") }, + { N_("q") , cmdQUIT , 0,1, NULL }, + { N_("save") , cmdSAVE , 0,1, N_("save and quit") }, + { N_("help") , cmdHELP , 0,1, N_("show this help") }, + { "?" , cmdHELP , 0,1, NULL }, + { N_("fpr") , cmdFPR , 0,1, N_("show fingerprint") }, + { N_("list") , cmdLIST , 0,1, N_("list key and user ids") }, + { N_("l") , cmdLIST , 0,1, NULL }, + { N_("uid") , cmdSELUID , 0,1, N_("select user id N") }, + { N_("key") , cmdSELKEY , 0,0, N_("select secondary key N") }, + { N_("check") , cmdCHECK , 0,1, N_("list signatures") }, + { N_("c") , cmdCHECK , 0,1, NULL }, + { N_("sign") , cmdSIGN , 0,1, N_("sign the key") }, + { N_("s") , cmdSIGN , 0,1, NULL }, + { N_("lsign") , cmdLSIGN , 0,1, N_("sign the key locally") }, + { N_("debug") , cmdDEBUG , 0,0, NULL }, + { N_("adduid") , cmdADDUID , 1,0, N_("add a user id") }, + { N_("deluid") , cmdDELUID , 0,0, N_("delete user id") }, + { N_("addkey") , cmdADDKEY , 1,0, N_("add a secondary key") }, + { N_("delkey") , cmdDELKEY , 0,0, N_("delete a secondary key") }, + { N_("delsig") , cmdDELSIG , 0,0, N_("delete signatures") }, + { N_("expire") , cmdEXPIRE , 1,0, N_("change the expire date") }, + { N_("toggle") , cmdTOGGLE , 1,0, N_("toggle between secret " + "and public key listing") }, + { N_("t" ) , cmdTOGGLE , 1,0, NULL }, + { N_("pref") , cmdPREF , 0,0, N_("list preferences") }, + { N_("passwd") , cmdPASSWD , 1,0, N_("change the passphrase") }, + { N_("trust") , cmdTRUST , 0,0, N_("change the ownertrust") }, + { N_("revsig") , cmdREVSIG , 0,0, N_("revoke signatures") }, + { N_("revkey") , cmdREVKEY , 1,0, N_("revoke a secondary key") }, + { N_("disable") , cmdDISABLEKEY, 0,0, N_("disable a key") }, + { N_("enable") , cmdENABLEKEY , 0,0, N_("enable a key") }, { NULL, cmdNONE } }; - enum cmdids cmd; + enum cmdids cmd = 0; int rc = 0; KBNODE keyblock = NULL; KBPOS keyblockpos; @@ -608,18 +615,27 @@ goto leave; } - /* first try to locate it as secret key */ - rc = find_secret_keyblock_byname( &sec_keyblockpos, username ); - if( !rc ) { - rc = read_keyblock( &sec_keyblockpos, &sec_keyblock ); - if( rc ) { - log_error("%s: secret keyblock read problem: %s\n", - username, g10_errstr(rc)); - goto leave; + if( sign_mode ) { + commands = NULL; + append_to_strlist( &commands, sign_mode == 1? "sign":"lsign" ); + have_commands = 1; + } + + + if( !sign_mode ) { + /* first try to locate it as secret key */ + rc = find_secret_keyblock_byname( &sec_keyblockpos, username ); + if( !rc ) { + rc = read_keyblock( &sec_keyblockpos, &sec_keyblock ); + if( rc ) { + log_error("%s: secret keyblock read problem: %s\n", + username, g10_errstr(rc)); + goto leave; + } + merge_keys_and_selfsig( sec_keyblock ); + if( fix_keyblock( sec_keyblock ) ) + sec_modified++; } - merge_keys_and_selfsig( sec_keyblock ); - if( fix_keyblock( sec_keyblock ) ) - sec_modified++; } /* and now get the public key */ @@ -632,7 +648,7 @@ modified++; if( sec_keyblock ) { /* check that they match */ - /* FIXME: check that they both match */ + /* fixme: check that they both match */ tty_printf(_("Secret key is available.\n")); } @@ -662,7 +678,7 @@ have_commands = 0; } if( !have_commands ) { - answer = cpr_get("keyedit.cmd", _("Command> ")); + answer = cpr_get("", _("Command> ")); cpr_kill_prompt(); } trim_spaces(answer); @@ -685,10 +701,13 @@ arg_number = atoi(p); } - for(i=0; cmds[i].name; i++ ) + for(i=0; cmds[i].name; i++ ) { if( !stricmp( answer, cmds[i].name ) ) break; - if( cmds[i].need_sk && !sec_keyblock ) { + } + if( sign_mode && !cmds[i].signmode ) + cmd = cmdINVCMD; + else if( cmds[i].need_sk && !sec_keyblock ) { tty_printf(_("Need the secret key to do this.\n")); cmd = cmdNOP; } @@ -698,53 +717,15 @@ switch( cmd ) { case cmdHELP: for(i=0; cmds[i].name; i++ ) { - if( cmds[i].need_sk && !sec_keyblock ) + if( sign_mode && !cmds[i].signmode ) + ; + else if( cmds[i].need_sk && !sec_keyblock ) ; /* skip if we do not have the secret key */ else if( cmds[i].desc ) tty_printf("%-10s %s\n", cmds[i].name, _(cmds[i].desc) ); } break; - case cmdQUIT: - if( have_commands ) - goto leave; - if( !modified && !sec_modified ) - goto leave; - if( !cpr_get_answer_is_yes("keyedit.save.okay", - _("Save changes? ")) ) { - if( cpr_enabled() - || cpr_get_answer_is_yes("keyedit.cancel.okay", - _("Quit without saving? ")) ) - goto leave; - break; - } - /* fall thru */ - case cmdSAVE: - if( modified || sec_modified ) { - if( modified ) { - rc = update_keyblock( &keyblockpos, keyblock ); - if( rc ) { - log_error(_("update failed: %s\n"), g10_errstr(rc) ); - break; - } - } - if( sec_modified ) { - rc = update_keyblock( &sec_keyblockpos, sec_keyblock ); - if( rc ) { - log_error(_("update secret failed: %s\n"), - g10_errstr(rc) ); - break; - } - } - } - else - tty_printf(_("Key not changed so no update needed.\n")); - rc = update_trust_record( keyblock, 0, NULL ); - if( rc ) - log_error(_("update of trustdb failed: %s\n"), - g10_errstr(rc) ); - goto leave; - case cmdLIST: redisplay = 1; break; @@ -779,7 +760,9 @@ break; } } - sign_uids( keyblock, locusr, &modified, cmd == cmdLSIGN ); + if( !sign_uids( keyblock, locusr, &modified, cmd == cmdLSIGN ) + && sign_mode ) + goto do_cmd_save; break; case cmdDEBUG: @@ -842,12 +825,10 @@ break; case cmdADDKEY: - secmem_dump_stats(); if( generate_subkeypair( keyblock, sec_keyblock ) ) { redisplay = 1; sec_modified = modified = 1; } - secmem_dump_stats(); break; @@ -934,6 +915,61 @@ } break; + case cmdENABLEKEY: + case cmdDISABLEKEY: + if( enable_disable_key( keyblock, cmd == cmdDISABLEKEY ) ) { + redisplay = 1; + modified = 1; + } + break; + + case cmdQUIT: + if( have_commands ) + goto leave; + if( !modified && !sec_modified ) + goto leave; + if( !cpr_get_answer_is_yes("keyedit.save.okay", + _("Save changes? ")) ) { + if( cpr_enabled() + || cpr_get_answer_is_yes("keyedit.cancel.okay", + _("Quit without saving? ")) ) + goto leave; + break; + } + /* fall thru */ + case cmdSAVE: + do_cmd_save: + if( modified || sec_modified ) { + if( modified ) { + rc = update_keyblock( &keyblockpos, keyblock ); + if( rc ) { + log_error(_("update failed: %s\n"), g10_errstr(rc) ); + break; + } + } + if( sec_modified ) { + rc = update_keyblock( &sec_keyblockpos, sec_keyblock ); + if( rc ) { + log_error(_("update secret failed: %s\n"), + g10_errstr(rc) ); + break; + } + } + } + else + tty_printf(_("Key not changed so no update needed.\n")); + /* TODO: we should keep track whether we have changed + * something relevant to the trustdb */ + if( !modified && sign_mode ) + rc = 0; /* we can skip at least in this case */ + else + rc = update_trust_record( keyblock, 0, NULL ); + if( rc ) + log_error(_("update of trustdb failed: %s\n"), + g10_errstr(rc) ); + goto leave; + + case cmdINVCMD: default: tty_printf("\n"); tty_printf(_("Invalid command (try \"help\")\n")); @@ -1023,6 +1059,12 @@ expirestr_from_pk(pk) ); if( node->pkt->pkttype == PKT_PUBLIC_KEY ) { tty_printf(" trust: %c/%c", otrust, trust ); + if( node->pkt->pkttype == PKT_PUBLIC_KEY + && (get_ownertrust( pk->local_id )&TRUST_FLAG_DISABLED)) { + tty_printf("\n*** "); + tty_printf(_("This key has been disabled")); + } + if( with_fpr ) { tty_printf("\n"); show_fingerprint( pk ); @@ -1858,4 +1900,24 @@ return changed; } + +static int +enable_disable_key( KBNODE keyblock, int disable ) +{ + ulong lid = find_kbnode( keyblock, PKT_PUBLIC_KEY ) + ->pkt->pkt.public_key->local_id; + unsigned int trust, newtrust; + + /* Note: Because the keys have beed displayed, we have + * ensured that local_id has been set */ + trust = newtrust = get_ownertrust( lid ); + newtrust &= ~TRUST_FLAG_DISABLED; + if( disable ) + newtrust |= TRUST_FLAG_DISABLED; + if( trust == newtrust ) + return 0; /* already in that state */ + if( !update_ownertrust( lid, newtrust ) ) + return 1; + return 0; +} diff -urN gnupg-0.9.8/g10/keygen.c gnupg-0.9.9/g10/keygen.c --- gnupg-0.9.8/g10/keygen.c Wed Jun 16 19:51:32 1999 +++ gnupg-0.9.9/g10/keygen.c Tue Jul 6 14:17:13 1999 @@ -519,13 +519,25 @@ answer = NULL; for(;;) { int mult; + u32 abs_date=0; + u32 curtime=0;; m_free(answer); answer = cpr_get("keygen.valid",_("Key is valid for? (0) ")); cpr_kill_prompt(); trim_spaces(answer); + curtime = make_timestamp(); if( !*answer ) valid_days = 0; + else if( (abs_date = scan_isodatestr(answer)) && abs_date > curtime ) { + /* This calculation is not perfectly okay because we + * are later going to simply multiply by 86400 and don't + * correct for leapseconds. A solution would be to change + * the whole implemenation to work with dates and not intervals + * which are required for v3 keys. + */ + valid_days = abs_date/86400-curtime/86400+1; + } else if( (mult=check_valid_days(answer)) ) { valid_days = atoi(answer) * mult; if( valid_days < 0 || valid_days > 32767 ) @@ -544,7 +556,7 @@ interval = valid_days * 86400L; /* print the date when the key expires */ tty_printf(_("Key expires at %s\n"), - asctimestamp(make_timestamp() + interval ) ); + asctimestamp(curtime + interval ) ); } if( !cpr_enabled() @@ -743,7 +755,7 @@ for(;;) { s2k->mode = opt.s2k_mode; s2k->hash_algo = opt.s2k_digest_algo; - dek = passphrase_to_dek( NULL, opt.s2k_cipher_algo, s2k, 2 ); + dek = passphrase_to_dek( NULL, 0, opt.s2k_cipher_algo, s2k, 2 ); if( !dek ) { tty_printf(_("passphrase not correctly repeated; try again.\n")); } @@ -1045,7 +1057,7 @@ s2k->mode = opt.s2k_mode; s2k->hash_algo = opt.s2k_digest_algo; set_next_passphrase( passphrase ); - dek = passphrase_to_dek( NULL, opt.s2k_cipher_algo, s2k, 2 ); + dek = passphrase_to_dek( NULL, 0, opt.s2k_cipher_algo, s2k, 2 ); } rc = do_create( algo, nbits, pub_keyblock, sec_keyblock, diff -urN gnupg-0.9.8/g10/main.h gnupg-0.9.9/g10/main.h --- gnupg-0.9.8/g10/main.h Tue Jun 1 14:54:18 1999 +++ gnupg-0.9.9/g10/main.h Thu Jul 8 14:34:23 1999 @@ -80,12 +80,15 @@ /*-- sig-check.c --*/ int check_key_signature( KBNODE root, KBNODE node, int *is_selfsig ); +int check_key_signature2( KBNODE root, KBNODE node, + int *is_selfsig, u32 *r_expire ); /*-- delkey.c --*/ int delete_key( const char *username, int secure ); /*-- keyedit.c --*/ -void keyedit_menu( const char *username, STRLIST locusr, STRLIST cmds ); +void keyedit_menu( const char *username, STRLIST locusr, STRLIST cmds, + int sign_mode ); /*-- keygen.c --*/ u32 ask_expiredate(void); @@ -97,6 +100,7 @@ /*-- openfile.c --*/ int overwrite_filep( const char *fname ); char *make_outfile_name( const char *iname ); +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 ); diff -urN gnupg-0.9.8/g10/mainproc.c gnupg-0.9.9/g10/mainproc.c --- gnupg-0.9.8/g10/mainproc.c Wed Jun 2 13:37:08 1999 +++ gnupg-0.9.9/g10/mainproc.c Thu Jul 22 19:25:52 1999 @@ -39,6 +39,16 @@ #include "trustdb.h" #include "hkp.h" + +struct kidlist_item { + struct kidlist_item *next; + u32 kid[2]; + int pubkey_algo; + int reason; +}; + + + /**************** * Structure to hold the context */ @@ -60,6 +70,8 @@ IOBUF iobuf; /* used to get the filename etc. */ int trustletter; /* temp usage in list_node */ ulong local_id; /* ditto */ + struct kidlist_item *failed_pkenc; /* list of packets for which + we do not have a secret key */ }; @@ -76,6 +88,12 @@ return; proc_tree(c, c->list ); release_kbnode( c->list ); + while( c->failed_pkenc ) { + struct kidlist_item *tmp = c->failed_pkenc->next; + m_free( c->failed_pkenc ); + c->failed_pkenc = tmp; + } + c->failed_pkenc = NULL; c->list = NULL; } @@ -124,6 +142,17 @@ return 1; } +static int +add_ring_trust( CTX c, PACKET *pkt ) +{ + if( !c->list ) { + log_error("ring trust w/o key\n" ); + return 0; + } + add_kbnode( c->list, new_kbnode( pkt ) ); + return 1; +} + static int add_signature( CTX c, PACKET *pkt ) @@ -163,7 +192,7 @@ log_error( "symkey_enc packet with session keys are not supported!\n"); else { c->last_was_session_key = 2; - c->dek = passphrase_to_dek( NULL, enc->cipher_algo, &enc->s2k, 0 ); + c->dek = passphrase_to_dek( NULL, 0, enc->cipher_algo, &enc->s2k, 0 ); } free_packet(pkt); } @@ -185,7 +214,8 @@ if( is_status_enabled() ) { char buf[50]; - sprintf(buf, "%08lX%08lX", (ulong)enc->keyid[0], (ulong)enc->keyid[1]); + sprintf(buf, "%08lX%08lX %d 0", + (ulong)enc->keyid[0], (ulong)enc->keyid[1], enc->pubkey_algo ); write_status_text( STATUS_ENC_TO, buf ); } @@ -201,6 +231,8 @@ m_free(c->dek); c->dek = NULL; } } + else + result = G10ERR_NO_SECKEY; } else result = G10ERR_PUBKEY_ALGO; @@ -211,26 +243,77 @@ if( opt.verbose > 1 ) log_info( _("public key encrypted data: good DEK\n") ); } - else { - /* fixme: defer this message until we have parsed all packets of - * this type - do this by building a list of keys with their stati - * and store it with the context. do_proc_packets can then use - * this list to display some information */ - log_error(_("public key decryption failed: %s\n"), g10_errstr(result)); + else { /* store it for later display */ + struct kidlist_item *x = m_alloc( sizeof *x ); + x->kid[0] = enc->keyid[0]; + x->kid[1] = enc->keyid[1]; + x->pubkey_algo = enc->pubkey_algo; + x->reason = result; + x->next = c->failed_pkenc; + c->failed_pkenc = x; } free_packet(pkt); } + +/**************** + * Print the list of public key encrypted packets which we could + * not decrypt. + */ +static void +print_failed_pkenc( struct kidlist_item *list ) +{ + for( ; list; list = list->next ) { + PKT_public_key *pk = m_alloc_clear( sizeof *pk ); + const char *algstr = pubkey_algo_to_string( list->pubkey_algo ); + + pk->pubkey_algo = list->pubkey_algo; + if( !get_pubkey( pk, list->kid ) ) { + size_t n; + char *p; + log_info( _("encrypted with %u-bit %s key, ID %08lX, created %s\n"), + nbits_from_pk( pk ), algstr, (ulong)list->kid[1], + strtimestamp(pk->timestamp) ); + fputs(" \"", log_stream() ); + p = get_user_id( list->kid, &n ); + print_string( log_stream(), p, n, '"' ); + m_free(p); + fputs("\"\n", log_stream() ); + } + else { + log_info(_("encrypted with %s key, ID %08lX\n"), + algstr, (ulong) list->kid[1] ); + } + free_public_key( pk ); + + if( list->reason == G10ERR_NO_SECKEY ) { + log_info(_("no secret key for decryption available\n")); + if( is_status_enabled() ) { + char buf[20]; + sprintf(buf,"%08lX%08lX", (ulong)list->kid[0], + (ulong)list->kid[1] ); + write_status_text( STATUS_NO_SECKEY, buf ); + } + } + else + log_error(_("public key decryption failed: %s\n"), + g10_errstr(list->reason)); + } +} + + static void proc_encrypted( CTX c, PACKET *pkt ) { int result = 0; + print_failed_pkenc( c->failed_pkenc ); + /*log_debug("dat: %sencrypted data\n", c->dek?"":"conventional ");*/ if( !c->dek && !c->last_was_session_key ) { /* assume this is old conventional encrypted data */ - c->dek = passphrase_to_dek( NULL, + c->dek = passphrase_to_dek( NULL, 0, opt.def_cipher_algo ? opt.def_cipher_algo : DEFAULT_CIPHER_ALGO, NULL, 0 ); } @@ -255,8 +338,8 @@ else { write_status( STATUS_DECRYPTION_FAILED ); log_error(_("decryption failed: %s\n"), g10_errstr(result)); - /* FIXME: if this is secret key not available, try with - * other keys */ + /* Hmmm: does this work when we have encrypted using a multiple + * ways to specify the session key (symmmetric and PK)*/ } free_packet(pkt); c->last_was_session_key = 0; @@ -440,7 +523,6 @@ } - static void print_userid( PACKET *pkt ) { @@ -532,6 +614,7 @@ /* TODO */ } + /**************** * List the certificate in a user friendly way */ @@ -569,6 +652,13 @@ if( c->local_id ) putchar( get_ownertrust_info( c->local_id ) ); putchar(':'); + if( node->next && node->next->pkt->pkttype == PKT_RING_TRUST) { + putchar('\n'); any=1; + if( opt.fingerprint ) + print_fingerprint( pk, NULL ); + printf("rtv:1:%u:\n", + node->next->pkt->pkt.ring_trust->trustval ); + } } else printf("%s %4u%c/%08lX %s ", @@ -603,6 +693,11 @@ putchar('\n'); if( opt.fingerprint && !any ) print_fingerprint( pk, NULL ); + if( node->next + && node->next->pkt->pkttype == PKT_RING_TRUST ) { + printf("rtv:2:%u:\n", + node->next->pkt->pkt.ring_trust->trustval ); + } any=1; } else if( node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) { @@ -885,6 +980,7 @@ case PKT_PLAINTEXT: proc_plaintext( c, pkt ); break; case PKT_COMPRESSED: proc_compressed( c, pkt ); break; case PKT_ONEPASS_SIG: newpkt = add_onepass_sig( c, pkt ); break; + case PKT_RING_TRUST: newpkt = add_ring_trust( c, pkt ); break; default: newpkt = 0; break; } } @@ -1012,6 +1108,10 @@ sig->pubkey_algo, sig->digest_algo, sig->sig_class, (ulong)sig->timestamp, rc ); write_status_text( STATUS_ERRSIG, buf ); + if( rc == G10ERR_NO_PUBKEY ) { + buf[16] = 0; + write_status_text( STATUS_NO_PUBKEY, buf ); + } log_error(_("Can't check signature: %s\n"), g10_errstr(rc) ); } return rc; diff -urN gnupg-0.9.8/g10/openfile.c gnupg-0.9.9/g10/openfile.c --- gnupg-0.9.8/g10/openfile.c Tue Jun 1 15:17:45 1999 +++ gnupg-0.9.9/g10/openfile.c Mon Jul 12 13:37:52 1999 @@ -94,8 +94,46 @@ return buf; } - log_error(_("%s: unknown suffix\n"), iname ); + log_info(_("%s: unknown suffix\n"), iname ); return NULL; +} + + +/**************** + * Ask for a outputfilename and use the given one as default. + * Return NULL if no file has been given or it is not possible to + * ask the user. + */ +char * +ask_outfile_name( const char *name, size_t namelen ) +{ + size_t n; + const char *s; + char *prompt; + char *fname; + char *defname; + + if( opt.batch ) + return NULL; + + s = _("Enter new filename"); + + n = strlen(s) + namelen + 10; + defname = name && namelen? make_printable_string( name, namelen, 0): NULL; + prompt = m_alloc(n); + if( defname ) + sprintf(prompt, "%s [%s]: ", s, defname ); + else + sprintf(prompt, "%s: ", s ); + fname = cpr_get("openfile.askoutname", prompt ); + cpr_kill_prompt(); + m_free(prompt); + if( !*fname ) { + m_free( fname ); fname = NULL; + fname = defname; defname = NULL; + } + m_free(defname); + return fname; } diff -urN gnupg-0.9.8/g10/options.h gnupg-0.9.9/g10/options.h --- gnupg-0.9.8/g10/options.h Tue Jun 8 11:50:54 1999 +++ gnupg-0.9.9/g10/options.h Thu Jul 22 19:20:37 1999 @@ -50,6 +50,8 @@ int def_digest_algo; int def_compress_algo; const char *def_secret_key; + char *def_recipient; + int def_recipient_self; int no_comment; int no_version; int marginals_needed; @@ -78,6 +80,7 @@ STRLIST notation_data; const char *set_policy_url; int use_embedded_filename; + int allow_non_selfsigned_uid; } opt; diff -urN gnupg-0.9.8/g10/options.skel gnupg-0.9.9/g10/options.skel --- gnupg-0.9.8/g10/options.skel Thu Mar 11 16:42:05 1999 +++ gnupg-0.9.9/g10/options.skel Thu Jul 22 20:11:54 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.10 1999/03/11 15:42:05 koch Exp $ +$Id: options.skel,v 1.12 1999/07/22 18:11:54 wkoch Exp $ # Options for GnuPG # # Unless you you specify which option file to use (with the @@ -20,7 +20,16 @@ # If you have more than 1 secret key in your keyring, you may want # to uncomment the following option and set your preffered keyid -# default-key 621CC013 +#default-key 621CC013 + +# If you do not pass a recipient to gpg, it will ask for one. +# Using this option you can encrypt to a default key. key validation +# will not be done in this case. +# The second form uses the default key as default recipient. + +#default-recipient some-user-id +#default-recipient-self + # The next option is enabled because this one is needed for interoperation # with PGP 5 users. To enable full OpenPGP compliance you have to remove @@ -52,8 +61,11 @@ # every time it is needed - normally this is not needed. lock-once -# If you have configured GnuPG without a random gatherer, -# you have to uncomment one of the following lines. +# If you have configured GnuPG without a random gatherer +# (./configure --enable-static-rnd=none), you have to +# uncomment _one_ of the following lines. These +# extensions won't get used if you have a random gatherer +# compiled in (which is the default for GNU and xxxBSD systems) #load-extension rndlinux #load-extension rndunix #load-extension rndegd diff -urN gnupg-0.9.8/g10/packet.h gnupg-0.9.9/g10/packet.h --- gnupg-0.9.8/g10/packet.h Wed May 26 10:04:11 1999 +++ gnupg-0.9.9/g10/packet.h Thu Jul 8 14:34:23 1999 @@ -173,6 +173,10 @@ } PKT_encrypted; typedef struct { + unsigned int trustval; +} PKT_ring_trust; + +typedef struct { u32 len; /* length of encrypted data */ IOBUF buf; /* IOBUF reference */ byte new_ctb; @@ -198,6 +202,7 @@ PKT_user_id *user_id; /* PKT_USER_ID */ PKT_compressed *compressed; /* PKT_COMPRESSED */ PKT_encrypted *encrypted; /* PKT_ENCRYPTED[_MDC] */ + PKT_ring_trust *ring_trust; /* PKT_RING_TRUST */ PKT_plaintext *plaintext; /* PKT_PLAINTEXT */ } pkt; }; diff -urN gnupg-0.9.8/g10/parse-packet.c gnupg-0.9.9/g10/parse-packet.c --- gnupg-0.9.8/g10/parse-packet.c Fri Jun 25 17:26:36 1999 +++ gnupg-0.9.9/g10/parse-packet.c Thu Jul 8 15:28:49 1999 @@ -63,7 +63,8 @@ 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 ); +static void parse_trust( IOBUF inp, int pkttype, unsigned long pktlen, + PACKET *packet ); static int parse_plaintext( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet, int new_ctb); static int parse_compressed( IOBUF inp, int pkttype, unsigned long pktlen, @@ -421,8 +422,8 @@ rc = parse_comment(inp, pkttype, pktlen, pkt); break; case PKT_RING_TRUST: - parse_trust(inp, pkttype, pktlen); - rc = G10ERR_UNKNOWN_PACKET; + parse_trust(inp, pkttype, pktlen, pkt); + rc = 0; break; case PKT_PLAINTEXT: rc = parse_plaintext(inp, pkttype, pktlen, pkt, new_ctb ); @@ -1517,11 +1518,13 @@ static void -parse_trust( IOBUF inp, int pkttype, unsigned long pktlen ) +parse_trust( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *pkt ) { int c; c = iobuf_get_noeof(inp); + pkt->pkt.ring_trust = m_alloc( sizeof *pkt->pkt.ring_trust ); + pkt->pkt.ring_trust->trustval = c; if( list_mode ) printf(":trust packet: flag=%02x\n", c ); } diff -urN gnupg-0.9.8/g10/passphrase.c gnupg-0.9.9/g10/passphrase.c --- gnupg-0.9.8/g10/passphrase.c Tue Jun 15 10:40:19 1999 +++ gnupg-0.9.9/g10/passphrase.c Mon Jul 12 13:45:13 1999 @@ -114,9 +114,11 @@ * (only for mode 2) * a dek->keylen of 0 means: no passphrase entered. * (only for mode 2) + * pubkey_algo is only informational. */ DEK * -passphrase_to_dek( u32 *keyid, int cipher_algo, STRING2KEY *s2k, int mode ) +passphrase_to_dek( u32 *keyid, int pubkey_algo, + int cipher_algo, STRING2KEY *s2k, int mode ) { char *pw = NULL; DEK *dek; @@ -139,8 +141,8 @@ sprintf( buf, "%08lX%08lX", (ulong)keyid[0], (ulong)keyid[1] ); if( keyid[2] && keyid[3] && keyid[0] != keyid[2] && keyid[1] != keyid[3] ) - sprintf( buf+strlen(buf), " %08lX%08lX", - (ulong)keyid[2], (ulong)keyid[3] ); + sprintf( buf+strlen(buf), " %08lX%08lX %d 0", + (ulong)keyid[2], (ulong)keyid[3], pubkey_algo ); write_status_text( STATUS_NEED_PASSPHRASE, buf ); } else { @@ -185,8 +187,8 @@ strcpy( pw, fd_passwd ); } else if( opt.batch ) { - write_status( STATUS_MISSING_PASSPHRASE ); - log_fatal("Can't query password in batchmode\n"); + log_error(_("can't query password in batchmode\n")); + pw = m_strdup( "" ); /* return an empty passphrase */ } else { pw = cpr_get_hidden("passphrase.enter", _("Enter passphrase: ") ); diff -urN gnupg-0.9.8/g10/pkclist.c gnupg-0.9.9/g10/pkclist.c --- gnupg-0.9.8/g10/pkclist.c Fri Jun 4 09:37:31 1999 +++ gnupg-0.9.9/g10/pkclist.c Fri Jul 23 11:07:37 1999 @@ -39,6 +39,36 @@ #define CONTROL_D ('D' - 'A' + 1) +/* fixme: we have nearly the same code in keyedit.c */ +static void +print_fpr( PKT_public_key *pk ) +{ + byte array[MAX_FINGERPRINT_LEN], *p; + size_t i, n; + + fingerprint_from_pk( pk, array, &n ); + p = array; + /* Translators: this shoud fit into 24 bytes to that the fingerprint + * data is properly aligned with the user ID */ + tty_printf(_(" Fingerprint:")); + if( n == 20 ) { + for(i=0; i < n ; i++, i++, p += 2 ) { + if( i == 10 ) + tty_printf(" "); + tty_printf(" %02X%02X", *p, p[1] ); + } + } + else { + for(i=0; i < n ; i++, p++ ) { + if( i && !(i%8) ) + tty_printf(" "); + tty_printf(" %02X", *p ); + } + } + tty_printf("\n"); +} + + static void show_paths( ulong lid, int only_first ) @@ -108,7 +138,7 @@ * Returns true if an ownertrust has changed. */ static int -do_edit_ownertrust( ulong lid, int mode, unsigned *new_trust ) +do_edit_ownertrust( ulong lid, int mode, unsigned *new_trust, int defer_help ) { char *p; int rc; @@ -118,6 +148,7 @@ int changed=0; int quit=0; int show=0; + int did_help=defer_help; rc = keyid_from_lid( lid, keyid ); if( rc ) { @@ -133,17 +164,25 @@ return 0; } - if( !mode ) { - tty_printf(_("No trust value assigned to %lu:\n" - "%4u%c/%08lX %s \""), lid, - 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 ), - m_free(p); - tty_printf("\"\n\n"); - } - tty_printf(_( + + for(;;) { + /* a string with valid answers */ + char *ans = _("sSmMqQ"); + + if( !did_help ) { + if( !mode ) { + tty_printf(_("No trust value assigned to %lu:\n" + "%4u%c/%08lX %s \""), lid, + 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 ), + m_free(p); + tty_printf("\"\n"); + print_fpr( pk ); + tty_printf("\n"); + } + tty_printf(_( "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" @@ -152,22 +191,21 @@ " 3 = I trust marginally\n" " 4 = I trust fully\n" " s = please show me more information\n") ); - if( mode ) - tty_printf(_(" m = back to the main menu\n")); - else - tty_printf(_(" q = quit\n")); - tty_printf("\n"); - - for(;;) { - /* a string with valid answers */ - char *ans = _("sSmMqQ"); - + if( mode ) + tty_printf(_(" m = back to the main menu\n")); + else + tty_printf(_(" q = quit\n")); + tty_printf("\n"); + did_help = 1; + } if( strlen(ans) != 6 ) BUG(); p = cpr_get("edit_ownertrust.value",_("Your decision? ")); trim_spaces(p); cpr_kill_prompt(); - if( *p && p[1] ) + if( !*p ) + did_help = 0; + else if( *p && p[1] ) ; else if( !p[1] && (*p >= '1' && *p <= '4') ) { unsigned trust; @@ -206,16 +244,20 @@ int edit_ownertrust( ulong lid, int mode ) { - unsigned trust; + unsigned int trust; + int no_help = 0; for(;;) { - switch( do_edit_ownertrust( lid, mode, &trust ) ) { + switch( do_edit_ownertrust( lid, mode, &trust, no_help ) ) { case -1: return 0; case -2: show_paths( lid, 1 ); + no_help = 1; break; case 1: + trust &= ~TRUST_FLAG_DISABLED; + trust |= get_ownertrust( lid ) & TRUST_FLAG_DISABLED; if( !update_ownertrust( lid, trust ) ) return 1; return 0; @@ -229,7 +271,7 @@ add_ownertrust_cb( ulong lid ) { unsigned trust; - int rc = do_edit_ownertrust( lid, 0, &trust ); + int rc = do_edit_ownertrust( lid, 0, &trust, 0 ); if( rc == 1 ) return trust & TRUST_MASK; @@ -301,7 +343,7 @@ switch( (trustlevel & TRUST_MASK) ) { case TRUST_UNKNOWN: /* No pubkey in trustDB: Insert and check again */ - rc = insert_trust_record( pk ); + rc = insert_trust_record_by_pk( pk ); if( rc ) { log_error("failed to insert it into the trustdb: %s\n", g10_errstr(rc) ); @@ -365,6 +407,7 @@ } + /**************** * wrapper around do_we_trust, so we can ask whether to use the * key anyway. @@ -392,7 +435,9 @@ p = get_user_id( keyid, &n ); tty_print_string( p, n ), m_free(p); - tty_printf("\"\n\n"); + tty_printf("\"\n"); + print_fpr( pk ); + tty_printf("\n"); tty_printf(_( "It is NOT certain that the key belongs to its owner.\n" @@ -462,7 +507,7 @@ switch( (trustlevel & TRUST_MASK) ) { case TRUST_UNKNOWN: /* No pubkey in trustDB: Insert and check again */ - rc = insert_trust_record( pk ); + rc = insert_trust_record_by_pk( pk ); if( rc ) { log_error("failed to insert it into the trustdb: %s\n", g10_errstr(rc) ); @@ -558,6 +603,42 @@ return -1; } + +/**************** + * Return a malloced string with a default reciepient if there is any + */ +static char * +default_recipient(void) +{ + PKT_secret_key *sk; + byte fpr[MAX_FINGERPRINT_LEN+1]; + size_t n; + char *p; + int i; + + if( opt.def_recipient ) + return m_strdup( opt.def_recipient ); + if( !opt.def_recipient_self ) + return NULL; + sk = m_alloc_clear( sizeof *sk ); + i = get_seckey_byname( sk, NULL, 0 ); + if( i ) { + free_secret_key( sk ); + return NULL; + } + n = MAX_FINGERPRINT_LEN; + fingerprint_from_sk( sk, fpr, &n ); + free_secret_key( sk ); + p = m_alloc( 2*n+3 ); + *p++ = '0'; + *p++ = 'x'; + for(i=0; i < n; i++ ) + sprintf( p+2*i, "%02X", fpr[i] ); + p -= 2; + return p; +} + + int build_pk_list( STRLIST remusr, PK_LIST *ret_pk_list, unsigned use ) { @@ -566,6 +647,7 @@ int rc=0; int any_recipients=0; STRLIST rov; + char *def_rec = NULL; /* check whether there are any recipients in the list and build the * list of the encrypt-to ones (we always trust them) */ @@ -606,16 +688,26 @@ if( !any_recipients && !opt.batch ) { /* ask */ char *answer=NULL; + int have_def_rec; - tty_printf(_( + def_rec = default_recipient(); + have_def_rec = !!def_rec; + if( !have_def_rec ) + tty_printf(_( "You did not specify a user ID. (you may use \"-r\")\n\n")); for(;;) { rc = 0; m_free(answer); - answer = cpr_get_utf8("pklist.user_id.enter", - _("Enter the user ID: ")); - trim_spaces(answer); - cpr_kill_prompt(); + if( have_def_rec ) { + answer = def_rec; + def_rec = NULL; + } + else { + answer = cpr_get_utf8("pklist.user_id.enter", + _("Enter the user ID: ")); + trim_spaces(answer); + cpr_kill_prompt(); + } if( !*answer ) break; if( pk ) @@ -626,17 +718,8 @@ if( rc ) tty_printf(_("No such user ID.\n")); else if( !(rc=check_pubkey_algo2(pk->pubkey_algo, use)) ) { - int trustlevel; - - rc = check_trust( pk, &trustlevel, NULL, NULL, NULL ); - if( rc ) { - log_error("error checking pk of `%s': %s\n", - answer, g10_errstr(rc) ); - } - else if( do_we_trust_pre( pk, trustlevel ) ) { - PK_LIST r; - - r = m_alloc( sizeof *r ); + if( have_def_rec ) { + PK_LIST r = m_alloc( sizeof *r ); r->pk = pk; pk = NULL; r->next = pk_list; r->mark = 0; @@ -644,7 +727,32 @@ any_recipients = 1; break; } + else { + int trustlevel; + + rc = check_trust( pk, &trustlevel, NULL, NULL, NULL ); + if( rc ) { + log_error("error checking pk of `%s': %s\n", + answer, g10_errstr(rc) ); + } + else if( (trustlevel & TRUST_FLAG_DISABLED) ) { + tty_printf(_("Public key is disabled.\n") ); + } + else if( do_we_trust_pre( pk, trustlevel ) ) { + PK_LIST r; + + r = m_alloc( sizeof *r ); + r->pk = pk; pk = NULL; + r->next = pk_list; + r->mark = 0; + pk_list = r; + any_recipients = 1; + break; + } + } } + m_free(def_rec); def_rec = NULL; + have_def_rec = 0; } m_free(answer); if( pk ) { @@ -652,6 +760,26 @@ pk = NULL; } } + else if( !any_recipients && (def_rec = default_recipient()) ) { + pk = m_alloc_clear( sizeof *pk ); + pk->pubkey_usage = use; + rc = get_pubkey_byname( NULL, pk, def_rec, NULL ); + if( rc ) + log_error(_("unknown default recipient `s'\n"), def_rec ); + else if( !(rc=check_pubkey_algo2(pk->pubkey_algo, use)) ) { + PK_LIST r = m_alloc( sizeof *r ); + r->pk = pk; pk = NULL; + r->next = pk_list; + r->mark = 0; + pk_list = r; + any_recipients = 1; + } + if( pk ) { + free_public_key( pk ); + pk = NULL; + } + m_free(def_rec); def_rec = NULL; + } else { any_recipients = 0; for(; remusr; remusr = remusr->next ) { @@ -672,6 +800,11 @@ free_public_key( pk ); pk = NULL; log_error(_("%s: error checking key: %s\n"), remusr->d, g10_errstr(rc) ); + } + else if( (trustlevel & TRUST_FLAG_DISABLED) ) { + free_public_key(pk); pk = NULL; + log_info(_("%s: skipped: public key is disabled\n"), + remusr->d); } else if( do_we_trust_pre( pk, trustlevel ) ) { /* note: do_we_trust may have changed the trustlevel */ diff -urN gnupg-0.9.8/g10/plaintext.c gnupg-0.9.9/g10/plaintext.c --- gnupg-0.9.8/g10/plaintext.c Tue Jun 1 15:12:43 1999 +++ gnupg-0.9.9/g10/plaintext.c Thu Jul 1 12:05:46 1999 @@ -65,15 +65,15 @@ } else if( !opt.use_embedded_filename ) { fname = make_outfile_name( iobuf_get_real_fname(pt->buf) ); + if( !fname ) + fname = ask_outfile_name( pt->name, pt->namelen ); if( !fname ) { rc = G10ERR_CREATE_FILE; goto leave; } } else { - fname = m_alloc( pt->namelen +1 ); - memcpy( fname, pt->name, pt->namelen ); - fname[pt->namelen] = 0; + fname = make_printable_string( pt->name, pt->namelen, 0 ); } if( nooutput ) diff -urN gnupg-0.9.8/g10/ringedit.c gnupg-0.9.9/g10/ringedit.c --- gnupg-0.9.8/g10/ringedit.c Fri Apr 16 08:24:23 1999 +++ gnupg-0.9.9/g10/ringedit.c Thu Jul 22 18:06:47 1999 @@ -816,10 +816,12 @@ break; case rt_GDBM: break; - default: - log_error("OOPS in close enum_keyblocks - ignored\n"); + case rt_UNKNOWN: + /* this happens when we have no keyring at all */ return rc; - break; + + default: + BUG(); } /* release pending packet */ free_packet( kbpos->pkt ); diff -urN gnupg-0.9.8/g10/seckey-cert.c gnupg-0.9.9/g10/seckey-cert.c --- gnupg-0.9.8/g10/seckey-cert.c Sun Apr 11 11:25:14 1999 +++ gnupg-0.9.9/g10/seckey-cert.c Mon Jul 12 13:47:21 1999 @@ -64,7 +64,7 @@ keyid_from_sk( sk2, keyid+2 ); free_secret_key( sk2 ); } - dek = passphrase_to_dek( keyid, sk->protect.algo, + dek = passphrase_to_dek( keyid, sk->pubkey_algo, sk->protect.algo, &sk->protect.s2k, 0 ); cipher_hd = cipher_open( sk->protect.algo, CIPHER_MODE_AUTO_CFB, 1); @@ -164,7 +164,7 @@ int i; if( n < 1 ) - n = 3; /* use the default value */ + n = opt.batch? 1 : 3; /* use the default value */ for(i=0; i < n && rc == G10ERR_BAD_PASS; i++ ) { if( i ) diff -urN gnupg-0.9.8/g10/sig-check.c gnupg-0.9.9/g10/sig-check.c --- gnupg-0.9.8/g10/sig-check.c Sun Jun 6 21:24:03 1999 +++ gnupg-0.9.9/g10/sig-check.c Mon Jul 12 18:25:31 1999 @@ -39,6 +39,8 @@ }; +static int do_signature_check( PKT_signature *sig, MD_HANDLE digest, + u32 *r_expire ); static int do_check( PKT_public_key *pk, PKT_signature *sig, MD_HANDLE digest ); @@ -51,16 +53,26 @@ int signature_check( PKT_signature *sig, MD_HANDLE digest ) { + u32 dummy; + return do_signature_check( sig, digest, &dummy ); +} + +static int +do_signature_check( PKT_signature *sig, MD_HANDLE digest, u32 *r_expire ) +{ PKT_public_key *pk = m_alloc_clear( sizeof *pk ); int rc=0; if( is_RSA(sig->pubkey_algo) ) write_status(STATUS_RSA_OR_IDEA); + *r_expire = 0; if( get_pubkey( pk, sig->keyid ) ) rc = G10ERR_NO_PUBKEY; - else + else { + *r_expire = pk->expiredate; rc = do_check( pk, sig, digest ); + } free_public_key( pk ); @@ -398,6 +410,13 @@ int check_key_signature( KBNODE root, KBNODE node, int *is_selfsig ) { + u32 dummy; + return check_key_signature2(root, node, is_selfsig, &dummy ); +} + +int +check_key_signature2( KBNODE root, KBNODE node, int *is_selfsig, u32 *r_expire) +{ MD_HANDLE md; PKT_public_key *pk; PKT_signature *sig; @@ -406,12 +425,20 @@ if( is_selfsig ) *is_selfsig = 0; + *r_expire = 0; assert( node->pkt->pkttype == PKT_SIGNATURE ); assert( root->pkt->pkttype == PKT_PUBLIC_KEY ); pk = root->pkt->pkt.public_key; sig = node->pkt->pkt.signature; algo = sig->digest_algo; + + #if 0 /* I am not sure whether this is a good thing to do */ + if( sig->flags.checked ) + log_debug("check_key_signature: already checked: %s\n", + sig->flags.valid? "good":"bad" ); + #endif + if( (rc=check_digest_algo(algo)) ) return rc; @@ -474,7 +501,7 @@ rc = do_check( pk, sig, md ); } else - rc = signature_check( sig, md ); + rc = do_signature_check( sig, md, r_expire ); md_close(md); } else { diff -urN gnupg-0.9.8/g10/status.c gnupg-0.9.9/g10/status.c --- gnupg-0.9.8/g10/status.c Thu May 27 08:38:59 1999 +++ gnupg-0.9.9/g10/status.c Wed Jul 14 10:12:29 1999 @@ -25,6 +25,9 @@ #include #include #ifdef USE_SHM_COPROCESSING + #ifdef USE_CAPABILITIES + #include + #endif #ifdef HAVE_SYS_IPC_H #include #endif @@ -112,6 +115,8 @@ case STATUS_GOODMDC : s = "GOODMDC\n"; break; case STATUS_BADMDC : s = "BADMDC\n"; break; case STATUS_ERRMDC : s = "ERRMDC\n"; break; + case STATUS_IMPORTED : s = "IMPORTED\n"; break; + case STATUS_IMPORT_RES : s = "IMPORT_RES\n"; break; default: s = "?\n"; break; } @@ -165,6 +170,9 @@ log_debug("mapped %uk shared memory at %p, id=%d\n", (unsigned)shm_size/1024, shm_area, shm_id ); if( lock_mem ) { + #ifdef USE_CAPABILITIES + cap_set_proc( cap_from_text("cap_ipc_lock+ep") ); + #endif #ifdef IPC_HAVE_SHM_LOCK if ( shmctl (shm_id, SHM_LOCK, 0) ) log_info("locking shared memory %d failed: %s\n", @@ -181,6 +189,9 @@ #else log_info("Locking shared memory %d failed: No way to do it\n", shm_id ); #endif + #ifdef USE_CAPABILITIES + cap_set_proc( cap_from_text("cap_ipc_lock+p") ); + #endif } @@ -279,7 +290,7 @@ #endif for(;;) { p = tty_get( prompt ); - if( *p == '?' && !p[1] ) { + if( *p=='?' && !p[1] && !(keyword && !*keyword)) { m_free(p); display_online_help( keyword ); } diff -urN gnupg-0.9.8/g10/status.h gnupg-0.9.9/g10/status.h --- gnupg-0.9.8/g10/status.h Thu May 27 09:01:06 1999 +++ gnupg-0.9.9/g10/status.h Wed Jul 14 10:14:41 1999 @@ -63,6 +63,9 @@ #define STATUS_GOODMDC 33 #define STATUS_BADMDC 34 #define STATUS_ERRMDC 35 +#define STATUS_IMPORTED 36 +#define STATUS_IMPORT_RES 37 + /*-- status.c --*/ void set_status_fd ( int fd ); diff -urN gnupg-0.9.8/g10/tdbdump.c gnupg-0.9.9/g10/tdbdump.c --- gnupg-0.9.8/g10/tdbdump.c Fri Jun 25 17:17:35 1999 +++ gnupg-0.9.9/g10/tdbdump.c Thu Jul 1 11:23:20 1999 @@ -503,7 +503,7 @@ if( rc != -1 ) log_error_f(fname, _("Oops: key is now in trustdb???\n")); else { - rc = insert_trust_record( pk ); + rc = insert_trust_record_by_pk( pk ); if( !rc ) goto repeat; /* update the ownertrust */ log_error_f(fname, _("insert trust record failed: %s\n"), diff -urN gnupg-0.9.8/g10/tdbio.c gnupg-0.9.9/g10/tdbio.c --- gnupg-0.9.8/g10/tdbio.c Fri Jun 25 17:18:07 1999 +++ gnupg-0.9.9/g10/tdbio.c Fri Jul 2 16:19:05 1999 @@ -56,8 +56,8 @@ char data[TRUST_RECORD_LEN]; }; -#define MAX_CACHE_ENTRIES_SOFT 200 /* may be increased while in a */ -#define MAX_CACHE_ENTRIES_HARD 1000 /* transaction to this one */ +#define MAX_CACHE_ENTRIES_SOFT 200 /* may be increased while in a */ +#define MAX_CACHE_ENTRIES_HARD 10000 /* transaction to this one */ static CACHE_CTRL cache_list; static int cache_entries; static int cache_is_dirty; @@ -69,8 +69,8 @@ int fprlen; }; -/* a type used to pass infomation to cmp_sdir */ -struct cmp_sdir_struct { +/* a type used to pass infomation to cmp_[s]dir */ +struct cmp_xdir_struct { int pubkey_algo; u32 keyid[2]; }; @@ -852,8 +852,9 @@ return rc; /* ready */ } else { - log_error( "hashtbl %lu points to an invalid record\n", - item); + log_error( "hashtbl %lu: %lu/%d points to an invalid record %lu\n", + table, hashrec, (msb % ITEMS_PER_HTBL_RECORD), item); + list_trustdb(NULL); return G10ERR_TRUSTDB; } } @@ -862,6 +863,92 @@ } +/**************** + * Drop an entry from a hashtable + * table gives the start of the table, key and keylen is the key, + */ +static int +drop_from_hashtable( ulong table, byte *key, int keylen, ulong recnum ) +{ + TRUSTREC rec; + ulong hashrec, item; + int msb; + int level=0; + int rc, i; + + hashrec = table; + next_level: + msb = key[level]; + hashrec += msb / ITEMS_PER_HTBL_RECORD; + rc = tdbio_read_record( hashrec, &rec, RECTYPE_HTBL ); + if( rc ) { + log_error( db_name, "drop_from_hashtable: read failed: %s\n", + g10_errstr(rc) ); + return rc; + } + + item = rec.r.htbl.item[msb % ITEMS_PER_HTBL_RECORD]; + if( !item ) /* not found - forget about it */ + return 0; + + if( item == recnum ) { /* tables points direct to the record */ + rec.r.htbl.item[msb % ITEMS_PER_HTBL_RECORD] = 0; + rc = tdbio_write_record( &rec ); + if( rc ) + log_error( db_name, "drop_from_hashtable: write htbl failed: %s\n", + g10_errstr(rc) ); + return rc; + } + + rc = tdbio_read_record( item, &rec, 0 ); + if( rc ) { + log_error( "drop_from_hashtable: read item failed: %s\n", + g10_errstr(rc) ); + return rc; + } + + if( rec.rectype == RECTYPE_HTBL ) { + hashrec = item; + level++; + if( level >= keylen ) { + log_error( "hashtable has invalid indirections.\n"); + return G10ERR_TRUSTDB; + } + goto next_level; + } + + if( rec.rectype == RECTYPE_HLST ) { + for(;;) { + for(i=0; i < ITEMS_PER_HLST_RECORD; i++ ) { + if( rec.r.hlst.rnum[i] == recnum ) { + rec.r.hlst.rnum[i] = 0; /* drop */ + rc = tdbio_write_record( &rec ); + if( rc ) + log_error( db_name, "drop_from_hashtable: write htbl failed: %s\n", + g10_errstr(rc) ); + return rc; + } + } + if( rec.r.hlst.next ) { + rc = tdbio_read_record( rec.r.hlst.next, + &rec, RECTYPE_HLST); + if( rc ) { + log_error( "scan keyhashtbl read hlst failed: %s\n", + g10_errstr(rc) ); + return rc; + } + } + else + return 0; /* key not in table */ + } + } + + log_error( "hashtbl %lu: %lu/%d points to wrong record %lu\n", + table, hashrec, (msb % ITEMS_PER_HTBL_RECORD), item); + return G10ERR_TRUSTDB; +} + + /**************** * Lookup a record via the hashtable tablewith key/keylen and return the @@ -973,6 +1060,30 @@ return upd_hashtable( get_sdirhashrec(), key, 8, sr->recnum ); } +/**************** + * Drop the records from the key-hashtbl + */ +static int +drop_from_keyhashtbl( TRUSTREC *kr ) +{ + return drop_from_hashtable( get_keyhashrec(), + kr->r.key.fingerprint, + kr->r.key.fingerprint_len, kr->recnum ); +} + +/**************** + * Drop record drom the shadow dir hashtbl + */ +static int +drop_from_sdirhashtbl( TRUSTREC *sr ) +{ + byte key[8]; + + u32tobuf( key , sr->r.sdir.keyid[0] ); + u32tobuf( key+4 , sr->r.sdir.keyid[1] ); + return drop_from_hashtable( get_sdirhashrec(), key, 8, sr->recnum ); +} + @@ -1009,6 +1120,8 @@ if( rec->r.dir.valcheck ) fprintf( fp, ", v=%02x/%s", rec->r.dir.validity, strtimestamp(rec->r.dir.valcheck) ); + if( rec->r.dir.checkat ) + fprintf( fp, ", a=%s", strtimestamp(rec->r.dir.checkat) ); if( rec->r.dir.dirflags & DIRF_CHECKED ) { if( rec->r.dir.dirflags & DIRF_VALID ) fputs(", valid", fp ); @@ -1071,7 +1184,8 @@ fprintf(fp, " %lu:", rec->r.sig.sig[i].lid ); if( rec->r.sig.sig[i].flag & SIGF_CHECKED ) { fprintf(fp,"%c%c%c", - (rec->r.sig.sig[i].flag & SIGF_VALID) ? 'V':'-', + (rec->r.sig.sig[i].flag & SIGF_VALID) ? 'V': + (rec->r.sig.sig[i].flag & SIGF_IGNORED) ? 'I':'-', (rec->r.sig.sig[i].flag & SIGF_EXPIRED) ? 'E':'-', (rec->r.sig.sig[i].flag & SIGF_REVOKED) ? 'R':'-'); } @@ -1196,6 +1310,7 @@ rec->r.dir.dirflags = *p++; rec->r.dir.validity = *p++; rec->r.dir.valcheck = buftoulong(p); p += 4; + rec->r.dir.checkat = buftoulong(p); p += 4; switch( rec->r.dir.validity ) { case 0: case TRUST_UNDEFINED: @@ -1346,6 +1461,7 @@ *p++ = rec->r.dir.dirflags; *p++ = rec->r.dir.validity; ulongtobuf(p, rec->r.dir.valcheck); p += 4; + ulongtobuf(p, rec->r.dir.checkat); p += 4; assert( rec->r.dir.lid == recnum ); break; @@ -1419,7 +1535,7 @@ rc = put_record_into_cache( recnum, buf ); if( rc ) ; - if( rec->rectype == RECTYPE_KEY ) + else if( rec->rectype == RECTYPE_KEY ) rc = update_keyhashtbl( rec ); else if( rec->rectype == RECTYPE_SDIR ) rc = update_sdirhashtbl( rec ); @@ -1433,6 +1549,19 @@ TRUSTREC vr, rec; int rc; + /* Must read the record fist, so we can drop it from the hash tables */ + rc = tdbio_read_record( recnum, &rec, 0 ); + if( rc ) + ; + else if( rec.rectype == RECTYPE_KEY ) + rc = drop_from_keyhashtbl( &rec ); + else if( rec.rectype == RECTYPE_SDIR ) + rc = drop_from_sdirhashtbl( &rec ); + + if( rc ) + return rc; + + /* now we can chnage it to a free record */ rc = tdbio_read_record( 0, &vr, RECTYPE_VER ); if( rc ) log_fatal( _("%s: error reading version record: %s\n"), @@ -1595,7 +1724,7 @@ static int cmp_sdir( void *dataptr, const TRUSTREC *rec ) { - const struct cmp_sdir_struct *d = dataptr; + const struct cmp_xdir_struct *d = dataptr; return rec->rectype == RECTYPE_SDIR && ( !d->pubkey_algo || rec->r.sdir.pubkey_algo == d->pubkey_algo ) @@ -1607,7 +1736,7 @@ int tdbio_search_sdir( u32 *keyid, int pubkey_algo, TRUSTREC *rec ) { - struct cmp_sdir_struct cmpdata; + struct cmp_xdir_struct cmpdata; int rc; byte key[8]; diff -urN gnupg-0.9.8/g10/tdbio.h gnupg-0.9.9/g10/tdbio.h --- gnupg-0.9.8/g10/tdbio.h Sat Mar 20 12:40:44 1999 +++ gnupg-0.9.9/g10/tdbio.h Tue Jun 29 18:32:34 1999 @@ -66,6 +66,7 @@ #define SIGF_VALID 2 /* the signature is valid */ #define SIGF_EXPIRED 4 /* the key of this signature has expired */ #define SIGF_REVOKED 8 /* this signature has been revoked */ +#define SIGF_IGNORED 64 /* this signature is ignored by the system */ #define SIGF_NOPUBKEY 128 /* there is no pubkey for this sig */ struct trust_record { @@ -97,8 +98,9 @@ ulong cacherec; /* the cache record */ byte ownertrust; byte dirflags; - byte validity; /* calculated trustlevel over all uids */ - ulong valcheck; /* timestamp of last validation check */ + byte validity; /* calculated trustlevel over all uids */ + ulong valcheck; /* timestamp of last validation check */ + ulong checkat; /* Check key when this time has been reached*/ } dir; struct { /* primary public key record */ ulong lid; @@ -187,6 +189,7 @@ int tdbio_search_dir_bypk( PKT_public_key *pk, TRUSTREC *rec ); int tdbio_search_dir_byfpr( const byte *fingerprint, size_t fingerlen, int pubkey_algo, TRUSTREC *rec ); +int tdbio_search_dir( u32 *keyid, int pubkey_algo, TRUSTREC *rec ); int tdbio_search_sdir( u32 *keyid, int pubkey_algo, TRUSTREC *rec ); void tdbio_invalid(void); diff -urN gnupg-0.9.8/g10/trustdb.c gnupg-0.9.9/g10/trustdb.c --- gnupg-0.9.8/g10/trustdb.c Thu May 6 10:48:20 1999 +++ gnupg-0.9.9/g10/trustdb.c Tue Jul 13 10:24:42 1999 @@ -124,12 +124,9 @@ const char *nhash, int (*add_fnc)(ulong), unsigned *retflgs); static int get_dir_record( PKT_public_key *pk, TRUSTREC *rec ); - -static void upd_pref_record( TRUSTREC *urec, u32 *keyid, PKT_signature *sig ); -static void upd_cert_record( KBNODE keyblock, KBNODE signode, u32 *keyid, - TRUSTREC *drec, RECNO_LIST *recno_list, int recheck, - TRUSTREC *urec, const byte *uidhash, int revoked, - int *mod_up, int *mod_down ); +static int do_update_trust_record( KBNODE keyblock, TRUSTREC *drec, + int recheck, int *modified ); +static int check_trust_record( TRUSTREC *drec ); /* a table used to keep track of ultimately trusted keys * which are the ones from our secrings and the trusted keys */ @@ -213,42 +210,6 @@ ***************** helpers ****************** **********************************************/ -/**************** - * Insert a new item into a recno list - */ -static void -ins_recno_list( RECNO_LIST *head, ulong recno, int type ) -{ - RECNO_LIST item = m_alloc( sizeof *item ); - - item->recno = recno; - item->type = type; - item->next = *head; - *head = item; -} - -static RECNO_LIST -qry_recno_list( RECNO_LIST list, ulong recno, int type ) -{ - for( ; list; list = list->next ) { - if( list->recno == recno && (!type || list->type == type) ) - return list; - } - return NULL; -} - - -static void -rel_recno_list( RECNO_LIST *head ) -{ - RECNO_LIST r, r2; - - for(r = *head; r; r = r2 ) { - r2 = r->next; - m_free(r); - } - *head = NULL; -} static LOCAL_ID_TABLE new_lid_table(void) @@ -445,13 +406,8 @@ return rc; } -/**************** - * Get the LID of a public key. - * Returns: The LID of the key (note, that this may be a shadow dir) - * or 0 if not available. - */ static ulong -lid_from_keyid( u32 *keyid ) +lid_from_keyid_no_sdir( u32 *keyid ) { PKT_public_key *pk = m_alloc_clear( sizeof *pk ); TRUSTREC rec; @@ -466,14 +422,6 @@ rc = tdbio_search_dir_bypk( pk, &rec ); if( !rc ) lid = rec.recnum; - else if( rc == -1 ) { /* see whether there is a sdir instead */ - u32 akid[2]; - - keyid_from_pk( pk, akid ); - rc = tdbio_search_sdir( akid, pk->pubkey_algo, &rec ); - if( !rc ) - lid = rec.recnum; - } } } free_public_key( pk ); @@ -529,8 +477,10 @@ /* make sure that the pubkey is in the trustdb */ rc = query_trust_record( pk ); + if( rc == -1 && opt.dry_run ) + goto skip; if( rc == -1 ) { /* put it into the trustdb */ - rc = insert_trust_record( pk ); + rc = insert_trust_record_by_pk( pk ); if( rc ) { log_error(_("key %08lX: can't put it into the trustdb\n"), (ulong)keyid[1] ); @@ -650,10 +600,14 @@ +/**************** + * This function returns a letter for a trustvalue Trust flags + * are ignore. + */ int trust_letter( unsigned value ) { - switch( value ) { + switch( (value & TRUST_MASK) ) { case TRUST_UNKNOWN: return '-'; case TRUST_EXPIRED: return 'e'; case TRUST_UNDEFINED: return 'q'; @@ -833,226 +787,19 @@ ************* trustdb maintenance *********** ***********************************************/ - -static void -check_hint_sig( ulong lid, KBNODE keyblock, u32 *keyid, byte *uidrec_hash, - TRUSTREC *sigrec, int sigidx, ulong hint_owner ) -{ - KBNODE node; - int rc, state; - byte uhash[20]; - int is_selfsig; - PKT_signature *sigpkt = NULL; - TRUSTREC tmp; - u32 sigkid[2]; - int revoked = 0; - - if( sigrec->r.sig.sig[sigidx].flag & SIGF_CHECKED ) - log_info(_("NOTE: sig rec %lu[%d] in hintlist " - "of %lu but marked as checked\n"), - sigrec->recnum, sigidx, hint_owner ); - if( !(sigrec->r.sig.sig[sigidx].flag & SIGF_NOPUBKEY) ) - log_info(_("NOTE: sig rec %lu[%d] in hintlist " - "of %lu but not marked\n"), - sigrec->recnum, sigidx, hint_owner ); - - read_record( sigrec->r.sig.sig[sigidx].lid, &tmp, 0 ); - if( tmp.rectype != RECTYPE_DIR ) { - /* we need the dir record */ - log_error(_("sig rec %lu[%d] in hintlist " - "of %lu does not point to a dir record\n"), - sigrec->recnum, sigidx, hint_owner ); - return; - } - if( !tmp.r.dir.keylist ) { - log_error(_("lid %lu: no primary key\n"), tmp.r.dir.lid ); - return; - } - read_record(tmp.r.dir.keylist, &tmp, RECTYPE_KEY ); - keyid_from_fingerprint( tmp.r.key.fingerprint, - tmp.r.key.fingerprint_len, sigkid ); - - - /* find the correct signature packet */ - state = 0; - for( node=keyblock; node; node = node->next ) { - if( node->pkt->pkttype == PKT_USER_ID ) { - PKT_user_id *uidpkt = node->pkt->pkt.user_id; - - if( state ) - break; - rmd160_hash_buffer( uhash, uidpkt->name, uidpkt->len ); - if( !memcmp( uhash, uidrec_hash, 20 ) ) - state = 1; - } - else if( state && node->pkt->pkttype == PKT_SIGNATURE ) { - sigpkt = node->pkt->pkt.signature; - if( sigpkt->keyid[0] == sigkid[0] - && sigpkt->keyid[1] == sigkid[1] - && ( (sigpkt->sig_class&~3) == 0x10 - || ( revoked = (sigpkt->sig_class == 0x30)) ) ) { - state = 2; - break; /* found */ - } - } - } - - if( !node ) { - log_info(_("lid %lu: user id not found in keyblock\n"), lid ); - return ; - } - if( state != 2 ) { - log_info(_("lid %lu: user id without signature\n"), lid ); - return ; - } - - /* and check the sig */ - rc = check_key_signature( keyblock, node, &is_selfsig ); - if( is_selfsig ) { - log_error(_("lid %lu: self-signature in hintlist\n"), lid ); - return; - } - - /* FiXME: handling fo SIGF_REVOKED is not correct! */ - - if( !rc ) { /* valid signature */ - if( opt.verbose ) - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uhash[18], uhash[19], - (ulong)sigpkt->keyid[1], - revoked? _("Valid certificate revocation") - : _("Good certificate") ); - sigrec->r.sig.sig[sigidx].flag = SIGF_CHECKED | SIGF_VALID; - if( revoked ) - sigrec->r.sig.sig[sigidx].flag |= SIGF_REVOKED; - } - else if( rc == G10ERR_NO_PUBKEY ) { - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uhash[18], uhash[19], - (ulong)sigpkt->keyid[1], - _("very strange: no public key\n") ); - sigrec->r.sig.sig[sigidx].flag = SIGF_NOPUBKEY; - } - else { - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uhash[18], uhash[19], - (ulong)sigpkt->keyid[1], g10_errstr(rc) ); - sigrec->r.sig.sig[sigidx].flag = SIGF_CHECKED; - } - sigrec->dirty = 1; -} - - -/**************** - * Process a hintlist. - * Fixme: this list is not anymore anchored to another - * record, so it should be put elsewehere in case of an error - * FIXME: add mod_up/down handling - */ -static void -process_hintlist( ulong hintlist, ulong hint_owner ) -{ - ulong hlst_rn; - int rc; - - for( hlst_rn = hintlist; hlst_rn; ) { - TRUSTREC hlstrec; - int hlst_idx; - - read_record( hlst_rn, &hlstrec, RECTYPE_HLST ); - - for( hlst_idx=0; hlst_idx < ITEMS_PER_HLST_RECORD; hlst_idx++ ) { - TRUSTREC dirrec; - TRUSTREC uidrec; - TRUSTREC tmprec; - KBNODE keyblock = NULL; - u32 keyid[2]; - ulong lid; - ulong r1, r2; - - lid = hlstrec.r.hlst.rnum[hlst_idx]; - if( !lid ) - continue; - - read_record( lid, &dirrec, 0 ); - /* make sure it points to a dir record: - * this should be true because it only makes sense to - * call this function if the dir record is available */ - if( dirrec.rectype != RECTYPE_DIR ) { - log_error(_("hintlist %lu[%d] of %lu " - "does not point to a dir record\n"), - hlst_rn, hlst_idx, hint_owner ); - continue; - } - if( !dirrec.r.dir.keylist ) { - log_error(_("lid %lu does not have a key\n"), lid ); - continue; - } - - /* get the keyblock */ - read_record( dirrec.r.dir.keylist, &tmprec, RECTYPE_KEY ); - rc = get_keyblock_byfprint( &keyblock, - tmprec.r.key.fingerprint, - tmprec.r.key.fingerprint_len ); - if( rc ) { - log_error(_("lid %lu: can't get keyblock: %s\n"), - lid, g10_errstr(rc) ); - continue; - } - keyid_from_fingerprint( tmprec.r.key.fingerprint, - tmprec.r.key.fingerprint_len, keyid ); - - /* Walk over all user ids and their signatures and check all - * the signature which are created by hint_owner */ - for( r1 = dirrec.r.dir.uidlist; r1; r1 = uidrec.r.uid.next ) { - TRUSTREC sigrec; - - read_record( r1, &uidrec, RECTYPE_UID ); - for( r2 = uidrec.r.uid.siglist; r2; r2 = sigrec.r.sig.next ) { - int i; - - read_record( r2, &sigrec, RECTYPE_SIG ); - sigrec.dirty = 0; - for(i=0; i < SIGS_PER_RECORD; i++ ) { - if( !sigrec.r.sig.sig[i].lid ) - continue; /* skip deleted sigs */ - if( sigrec.r.sig.sig[i].lid != hint_owner ) - continue; /* not for us */ - /* some diagnostic messages */ - /* and do the signature check */ - check_hint_sig( lid, keyblock, keyid, - uidrec.r.uid.namehash, - &sigrec, i, hint_owner ); - } - if( sigrec.dirty ) - write_record( &sigrec ); - } - } - release_kbnode( keyblock ); - } /* loop over hlst entries */ - - /* delete this hlst record */ - hlst_rn = hlstrec.r.hlst.next; - delete_record( hlstrec.recnum ); - } /* loop over hintlist */ -} - - /**************** * Create or update shadow dir record and return the LID of the record */ static ulong -create_shadow_dir( PKT_signature *sig, ulong lid ) +create_shadow_dir( PKT_signature *sig ) { - TRUSTREC sdir, hlst, tmphlst; - ulong recno, newlid; - int tmpidx=0; /* avoids gcc warnign - this is controlled by tmphlst */ + TRUSTREC sdir; int rc; /* first see whether we already have such a record */ rc = tdbio_search_sdir( sig->keyid, sig->pubkey_algo, &sdir ); if( rc && rc != -1 ) { - log_error(_("tdbio_search_dir failed: %s\n"), g10_errstr(rc)); + log_error(_("tdbio_search_sdir failed: %s\n"), g10_errstr(rc)); tdbio_invalid(); } if( rc == -1 ) { /* not found: create */ @@ -1063,175 +810,91 @@ sdir.r.sdir.keyid[0] = sig->keyid[0]; sdir.r.sdir.keyid[1] = sig->keyid[1]; sdir.r.sdir.pubkey_algo = sig->pubkey_algo; - sdir.r.sdir.hintlist = 0; - write_record( &sdir ); - } - newlid = sdir.recnum; - /* Put the record number into the hintlist. - * (It is easier to use the lid and not the record number of the - * key to save some space (assuming that a signator has - * signed more than one user id - and it is easier to implement.) - */ - tmphlst.recnum = 0; - for( recno=sdir.r.sdir.hintlist; recno; recno = hlst.r.hlst.next) { - int i; - read_record( recno, &hlst, RECTYPE_HLST ); - for( i=0; i < ITEMS_PER_HLST_RECORD; i++ ) { - if( !hlst.r.hlst.rnum[i] ) { - if( !tmphlst.recnum ) { - tmphlst = hlst; - tmpidx = i; - } - } - else if( hlst.r.hlst.rnum[i] == lid ) - return newlid; /* the signature is already in the hintlist */ - } - } - /* not yet in the hint list, write it */ - if( tmphlst.recnum ) { /* we have an empty slot */ - tmphlst.r.hlst.rnum[tmpidx] = lid; - write_record( &tmphlst ); - } - else { /* must append a new hlst record */ - memset( &hlst, 0, sizeof hlst ); - hlst.recnum = tdbio_new_recnum(); - hlst.rectype = RECTYPE_HLST; - hlst.r.hlst.next = sdir.r.sdir.hintlist; - hlst.r.hlst.rnum[0] = lid; - write_record( &hlst ); - sdir.r.sdir.hintlist = hlst.recnum; write_record( &sdir ); } + return sdir.recnum; +} + + +static ulong +find_or_create_lid( PKT_signature *sig ) +{ + ulong lid; - return newlid; + lid = lid_from_keyid_no_sdir( sig->keyid ); + if( !lid ) + lid = create_shadow_dir( sig ); + return lid; } + /**************** - * This function checks the given public key and inserts or updates - * the keyrecord from the trustdb. Revocation certificates - * are handled here and the keybinding of subkeys is checked. - * Hmmm: Should we check here, that the key has at least one valid - * user ID or do we allow keys w/o user ID? - * - * keyblock points to the first node in the keyblock, - * keynode is the node with the public key to check - * (either primary or secondary), keyid is the keyid of - * the primary key, drec is the directory record and recno_list - * is a list used to keep track of visited records. - * Existing keyflags are recalculated if recheck is true. - */ -static void -upd_key_record( KBNODE keyblock, KBNODE keynode, u32 *keyid, - TRUSTREC *drec, RECNO_LIST *recno_list, int recheck ) + * Check the validity of a key and calculate the keyflags + * keynode points to + * a node with a [sub]key. mainkid has the key ID of the primary key + * keyblock is the complete keyblock which is needed for signature + * checking. LID and PK is only used in verbose mode. + */ +static unsigned int +check_keybinding( KBNODE keyblock, KBNODE keynode, u32 *mainkid, + ulong lid, PKT_public_key *pk ) { - TRUSTREC krec; - KBNODE node; - PKT_public_key *pk = keynode->pkt->pkt.public_key; - ulong lid = drec->recnum; - byte fpr[MAX_FINGERPRINT_LEN]; - size_t fprlen; - ulong recno, newrecno; + KBNODE node; int keybind_seen = 0; int revoke_seen = 0; + unsigned int keyflags=0; + int is_main = (keynode->pkt->pkttype == PKT_PUBLIC_KEY); int rc; - fingerprint_from_pk( pk, fpr, &fprlen ); - /* do we already have this key? */ - for( recno=drec->r.dir.keylist; recno; recno = krec.r.key.next ) { - read_record( recno, &krec, RECTYPE_KEY ); - if( krec.r.key.fingerprint_len == fprlen - && !memcmp( krec.r.key.fingerprint, fpr, fprlen ) ) - break; - } - if( recno ) { /* yes */ - ins_recno_list( recno_list, recno, RECTYPE_KEY ); - } - else { /* no: insert this new key */ - recheck = 1; /* same as recheck */ - memset( &krec, 0, sizeof(krec) ); - krec.rectype = RECTYPE_KEY; - krec.r.key.lid = lid; - krec.r.key.pubkey_algo = pk->pubkey_algo; - krec.r.key.fingerprint_len = fprlen; - memcpy(krec.r.key.fingerprint, fpr, fprlen ); - krec.recnum = newrecno = tdbio_new_recnum(); - write_record( &krec ); - ins_recno_list( recno_list, newrecno, RECTYPE_KEY ); - /* and put this new record at the end of the keylist */ - if( !(recno=drec->r.dir.keylist) ) { - /* this is the first key */ - drec->r.dir.keylist = newrecno; - drec->dirty = 1; - } - else { /* we already have a key, append the new one */ - TRUSTREC save = krec; - for( ; recno; recno = krec.r.key.next ) - read_record( recno, &krec, RECTYPE_KEY ); - krec.r.key.next = newrecno; - write_record( &krec ); - krec = save; - } - } - - if( !recheck && (krec.r.key.keyflags & KEYF_CHECKED) ) - return; + if( DBG_TRUST ) + log_debug("check_keybinding: %08lX.%lu\n", + (ulong)mainkid[1], lid ); - /* check keybindings and revocations */ - krec.r.key.keyflags = 0; - if( keynode->pkt->pkttype == PKT_PUBLIC_KEY ) { - /* we assume that a primary key is always valid - * and check later whether we have a revocation */ - krec.r.key.keyflags |= KEYF_CHECKED | KEYF_VALID; + if( is_main ) { + /* a primary key is always valid (user IDs are handled elsewhere)*/ + keyflags = KEYF_CHECKED | KEYF_VALID; } for( node=keynode->next; node; node = node->next ) { PKT_signature *sig; if( node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) - break; /* ready (we check only one key at a time) */ - else if( node->pkt->pkttype != PKT_SIGNATURE ) - continue; + break; /* ready */ + if( node->pkt->pkttype != PKT_SIGNATURE ) + continue; /* don't care about other packets */ sig = node->pkt->pkt.signature; - if( keyid[0] != sig->keyid[0] || keyid[1] != sig->keyid[1] ) - continue; /* here we only care about a self-signatures */ - - if( sig->sig_class == 0x18 && !keybind_seen ) { /* a keybinding */ - if( keynode->pkt->pkttype == PKT_PUBLIC_KEY ) - continue; /* oops, ignore subkey binding on main key */ + if( mainkid[0] != sig->keyid[0] || mainkid[1] != sig->keyid[1] ) + continue; /* we only care about self-signatures */ - /* we check until we find a valid keybinding */ + if( sig->sig_class == 0x18 && !keybind_seen && !is_main ) { + /* check until we find a valid keybinding */ rc = check_key_signature( keyblock, node, NULL ); if( !rc ) { if( opt.verbose ) - log_info(_( - "key %08lX.%lu: Good subkey binding\n"), - (ulong)keyid_from_pk(pk,NULL), lid ); - krec.r.key.keyflags |= KEYF_CHECKED | KEYF_VALID; + log_info(_("key %08lX.%lu: Good subkey binding\n"), + (ulong)keyid_from_pk(pk,NULL), lid ); + keyflags |= KEYF_CHECKED | KEYF_VALID; } else { log_info(_( "key %08lX.%lu: Invalid subkey binding: %s\n"), (ulong)keyid_from_pk(pk,NULL), lid, g10_errstr(rc) ); - krec.r.key.keyflags |= KEYF_CHECKED; - krec.r.key.keyflags &= ~KEYF_VALID; + keyflags |= KEYF_CHECKED; + keyflags &= ~KEYF_VALID; } keybind_seen = 1; } else if( sig->sig_class == 0x20 && !revoke_seen ) { - if( keynode->pkt->pkttype == PKT_PUBLIC_SUBKEY ) - continue; /* a subkey is not expected here */ - - /* This is a key revocation certificate: check it */ + /* this is a key revocation certificate: check it */ rc = check_key_signature( keyblock, node, NULL ); if( !rc ) { if( opt.verbose ) - log_info(_( - "key %08lX.%lu: Valid key revocation\n"), - (ulong)keyid_from_pk(pk,NULL), lid ); - krec.r.key.keyflags |= KEYF_REVOKED; + log_info(_("key %08lX.%lu: Valid key revocation\n"), + (ulong)keyid_from_pk(pk, NULL), lid ); + keyflags |= KEYF_REVOKED; } else { log_info(_( @@ -1240,19 +903,15 @@ } revoke_seen = 1; } - else if( sig->sig_class == 0x28 && !revoke_seen ) { - if( keynode->pkt->pkttype == PKT_PUBLIC_KEY ) - continue; /* a mainkey is not expected here */ - /* This is a subkey revocation certificate: check it */ - /* fixme: we should also check the revocation - * is newer than the key (OpenPGP) */ + else if( sig->sig_class == 0x28 && !revoke_seen && !is_main ) { + /* this is a subkey revocation certificate: check it */ rc = check_key_signature( keyblock, node, NULL ); if( !rc ) { if( opt.verbose ) log_info(_( "key %08lX.%lu: Valid subkey revocation\n"), (ulong)keyid_from_pk(pk,NULL), lid ); - krec.r.key.keyflags |= KEYF_REVOKED; + keyflags |= KEYF_REVOKED; } else { log_info(_( @@ -1261,219 +920,344 @@ } revoke_seen = 1; } + /* Hmmm: should we handle direct key signatures here? */ } - write_record( &krec ); + return keyflags; +} + + +static ulong +make_key_records( KBNODE keyblock, ulong lid, u32 *keyid, int *mainrev ) +{ + TRUSTREC *krecs, **kend, *k, *k2; + KBNODE node; + PKT_public_key *pk; + byte fpr[MAX_FINGERPRINT_LEN]; + size_t fprlen; + ulong keyrecno; + + *mainrev = 0; + krecs = NULL; kend = &krecs; + for( node=keyblock; node; node = node->next ) { + if( node->pkt->pkttype != PKT_PUBLIC_KEY + && node->pkt->pkttype != PKT_PUBLIC_SUBKEY ) + continue; + pk = node->pkt->pkt.public_key; + fingerprint_from_pk( pk, fpr, &fprlen ); + + /* create the key record */ + k = m_alloc_clear( sizeof *k ); + k->rectype = RECTYPE_KEY; + k->r.key.lid = lid; + k->r.key.pubkey_algo = pk->pubkey_algo; + k->r.key.fingerprint_len = fprlen; + memcpy(k->r.key.fingerprint, fpr, fprlen ); + k->recnum = tdbio_new_recnum(); + *kend = k; + kend = &k->next; + + k->r.key.keyflags = check_keybinding( keyblock, node, keyid, lid, pk ); + if( (k->r.key.keyflags & KEYF_REVOKED) + && node->pkt->pkttype == PKT_PUBLIC_KEY ) + *mainrev = 1; + } + + keyrecno = krecs? krecs->recnum : 0; + /* write the keylist and release the memory */ + for( k = krecs; k ; k = k2 ) { + if( k->next ) + k->r.key.next = k->next->recnum; + write_record( k ); + k2 = k->next; + m_free( k ); + } + return keyrecno; } /**************** - * This function checks the given user ID and inserts or updates - * the uid record of the trustdb. Revocation certificates - * are handled here. - * - * keyblock points to the first node in the keyblock, - * uidnode is the node with the user id to check - * keyid is the keyid of - * the primary key, drec is the directory record and recno_list - * is a list used to keep track of visited records. - * Existing uidflags are recalculated if recheck is true. - */ -static void -upd_uid_record( KBNODE keyblock, KBNODE uidnode, u32 *keyid, - TRUSTREC *drec, RECNO_LIST *recno_list, - int recheck, int *mod_up, int *mod_down ) + * Check the validity of a user ID and calculate the uidflags + * keynode points to a node with a user ID. + * mainkid has the key ID of the primary key, keyblock is the complete + * keyblock which is needed for signature checking. + * Returns: The uid flags and the self-signature which is considered to + * be the most current. + */ +static unsigned int +check_uidsigs( KBNODE keyblock, KBNODE keynode, u32 *mainkid, ulong lid, + PKT_signature **bestsig ) { - ulong lid = drec->recnum; - PKT_user_id *uid = uidnode->pkt->pkt.user_id; - TRUSTREC urec; - PKT_signature *selfsig = NULL; - byte uidhash[20]; KBNODE node; - ulong recno, newrecno; + unsigned int uidflags = 0; + PKT_signature *sig; + PKT_signature *selfsig = NULL; /* the latest valid self signature */ int rc; - if( DBG_TRUST ) - log_debug("upd_uid_record for %08lX/%02X%02X\n", - (ulong)keyid[1], uidhash[18], uidhash[19]); - - /* see whether we already have an uid record */ - rmd160_hash_buffer( uidhash, uid->name, uid->len ); - for( recno=drec->r.dir.uidlist; recno; recno = urec.r.uid.next ) { - read_record( recno, &urec, RECTYPE_UID ); - if( !memcmp( uidhash, urec.r.uid.namehash, 20 ) ) - break; - } - if( recno ) { /* we already have this record */ - ins_recno_list( recno_list, recno, RECTYPE_UID ); + if( DBG_TRUST ) { + PKT_user_id *uid; + log_debug("check_uidsigs: %08lX.%lu \"", + (ulong)mainkid[1], lid ); + assert(keynode->pkt->pkttype == PKT_USER_ID ); + uid = keynode->pkt->pkt.user_id; + print_string( log_stream(), uid->name, uid->len, '\"' ); + fputs("\"\n", log_stream()); } - else { /* new user id */ - recheck = 1; /* insert is the same as a recheck */ - memset( &urec, 0 , sizeof(urec) ); - urec.rectype = RECTYPE_UID; - urec.r.uid.lid = drec->recnum; - memcpy(urec.r.uid.namehash, uidhash, 20 ); - urec.recnum = newrecno = tdbio_new_recnum(); - write_record( &urec ); - ins_recno_list( recno_list, newrecno, RECTYPE_UID ); - /* and put this new record at the end of the uidlist */ - if( !(recno=drec->r.dir.uidlist) ) { /* this is the first uid */ - drec->r.dir.uidlist = newrecno; - drec->dirty = 1; - } - else { /* we already have an uid, append it to the list */ - TRUSTREC save = urec; - for( ; recno; recno = urec.r.key.next ) - read_record( recno, &urec, RECTYPE_UID ); - urec.r.uid.next = newrecno; - write_record( &urec ); - urec = save; + + /* first we check only the selfsignatures */ + for( node=keynode->next; node; node = node->next ) { + if( node->pkt->pkttype == PKT_USER_ID + || node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) + break; /* ready */ + if( node->pkt->pkttype != PKT_SIGNATURE ) + continue; /* don't care about other packets */ + sig = node->pkt->pkt.signature; + if( mainkid[0] != sig->keyid[0] || mainkid[1] != sig->keyid[1] ) + continue; /* we only care about self-signatures for now */ + + if( (sig->sig_class&~3) == 0x10 ) { /* regular self signature */ + rc = check_key_signature( keyblock, node, NULL ); + if( !rc ) { + if( opt.verbose ) + log_info( "uid %08lX.%lu: %s\n", + (ulong)mainkid[1], lid, _("Good self-signature") ); + uidflags |= UIDF_CHECKED | UIDF_VALID; + if( !selfsig ) + selfsig = sig; /* use the first valid sig */ + else if( sig->timestamp > selfsig->timestamp + && sig->sig_class >= selfsig->sig_class ) + selfsig = sig; /* but this one is newer */ + } + else { + log_info( "uid %08lX: %s: %s\n", + (ulong)mainkid[1], _("Invalid self-signature"), + g10_errstr(rc) ); + uidflags |= UIDF_CHECKED; + } } } - if( recheck || !(urec.r.uid.uidflags & UIDF_CHECKED) ) { - unsigned orig_uidflags = urec.r.uid.uidflags; + /* and now check for revocations - we must do this after the + * self signature check because a self-signature which is newer + * than a revocation makes the revocation invalid. + * RFC2440 is quiet about tis but I feel this is reasonable for + * non-primary-key revocations. */ + for( node=keynode->next; node; node = node->next ) { + if( node->pkt->pkttype == PKT_USER_ID + || node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) + break; /* ready */ + if( node->pkt->pkttype != PKT_SIGNATURE ) + continue; /* don't care about other packets */ + sig = node->pkt->pkt.signature; + if( mainkid[0] != sig->keyid[0] || mainkid[1] != sig->keyid[1] ) + continue; /* we only care about self-signatures for now */ - urec.r.uid.uidflags = 0; - /* first check regular self signatures */ - for( node=uidnode->next; node; node = node->next ) { - PKT_signature *sig; + if( sig->sig_class == 0x30 ) { /* cert revocation */ + rc = check_key_signature( keyblock, node, NULL ); + if( !rc && selfsig && selfsig->timestamp > sig->timestamp ) { + log_info( "uid %08lX.%lu: %s\n", + (ulong)mainkid[1], lid, + _("Valid user ID revocation skipped " + "due to a newer self signature") ); + } + else if( !rc ) { + if( opt.verbose ) + log_info( "uid %08lX.%lu: %s\n", + (ulong)mainkid[1], lid, _("Valid user ID revocation") ); + uidflags |= UIDF_CHECKED | UIDF_VALID | UIDF_REVOKED; + } + else { + log_info("uid %08lX: %s: %s\n", + (ulong)mainkid[1], _("Invalid user ID revocation"), + g10_errstr(rc) ); + } + } + } - if( node->pkt->pkttype == PKT_USER_ID ) - break; /* ready */ - if( node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) - break; /* ready */ - if( node->pkt->pkttype != PKT_SIGNATURE ) - continue; + *bestsig = selfsig; + return uidflags; +} - sig = node->pkt->pkt.signature; - if( keyid[0] != sig->keyid[0] || keyid[1] != sig->keyid[1] ) - continue; /* not a self signature */ +static unsigned int +check_sig_record( KBNODE keyblock, KBNODE signode, + ulong siglid, int sigidx, u32 *keyid, ulong lid, + u32 *r_expire ) +{ + PKT_signature *sig = signode->pkt->pkt.signature; + unsigned int sigflag = 0; + TRUSTREC tmp; + int revocation=0, rc; - if( (sig->sig_class&~3) == 0x10 ) { /* regular self signature */ - rc = check_key_signature( keyblock, node, NULL ); - if( !rc ) { - if( opt.verbose ) - log_info( "uid %08lX.%lu/%02X%02X: %s\n", - (ulong)keyid[1], lid, uidhash[18], uidhash[19], - _("Good self-signature") ); - urec.r.uid.uidflags |= UIDF_CHECKED | UIDF_VALID; - if( !selfsig ) - selfsig = sig; /* use the first valid sig */ - else if( sig->timestamp > selfsig->timestamp - && sig->sig_class >= selfsig->sig_class ) - selfsig = sig; /* but this one is newer */ - } - else { - log_info( "uid %08lX/%02X%02X: %s: %s\n", - (ulong)keyid[1], uidhash[18], uidhash[19], - _("Invalid self-signature"), - g10_errstr(rc) ); - urec.r.uid.uidflags |= UIDF_CHECKED; - } - } - } + if( DBG_TRUST ) + log_debug("check_sig_record: %08lX.%lu %lu[%d]\n", + (ulong)keyid[1], lid, siglid, sigidx ); + *r_expire = 0; + if( (sig->sig_class&~3) == 0x10 ) /* regular certification */ + ; + else if( sig->sig_class == 0x30 ) /* cert revocation */ + revocation = 1; + else + return SIGF_CHECKED | SIGF_IGNORED; - /* and now check for revocations- we must do this after the - * self signature check because a selfsignature which is newer - * than a revocation makes the revocation invalid. - * Fixme: Is this correct - check with rfc2440 - */ - for( node=uidnode->next; node; node = node->next ) { - PKT_signature *sig; - - if( node->pkt->pkttype == PKT_USER_ID ) - break; /* ready */ - if( node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) - break; /* ready */ - if( node->pkt->pkttype != PKT_SIGNATURE ) - continue; - - sig = node->pkt->pkt.signature; - - if( keyid[0] != sig->keyid[0] || keyid[1] != sig->keyid[1] ) - continue; /* not a self signature */ - - if( sig->sig_class == 0x30 ) { /* cert revocation */ - rc = check_key_signature( keyblock, node, NULL ); - if( !rc && selfsig && selfsig->timestamp > sig->timestamp ) { - log_info( "uid %08lX.%lu/%02X%02X: %s\n", - (ulong)keyid[1], lid, uidhash[18], uidhash[19], - _("Valid user ID revocation skipped " - "due to a newer self signature\n") ); - } - else if( !rc ) { - if( opt.verbose ) - log_info( "uid %08lX.%lu/%02X%02X: %s\n", - (ulong)keyid[1], lid, uidhash[18], uidhash[19], - _("Valid user ID revocation\n") ); - urec.r.uid.uidflags |= UIDF_CHECKED | UIDF_VALID; - urec.r.uid.uidflags |= UIDF_REVOKED; - } - else { - log_info("uid %08lX/%02X%02X: %s: %s\n", - (ulong)keyid[1], uidhash[18], uidhash[19], - _("Invalid user ID revocation"), - g10_errstr(rc) ); - } + read_record( siglid, &tmp, 0 ); + if( tmp.rectype == RECTYPE_DIR ) { + /* the public key is in the trustdb: check sig */ + rc = check_key_signature2( keyblock, signode, NULL, r_expire ); + if( !rc ) { /* valid signature */ + if( opt.verbose ) + log_info("sig %08lX.%lu/%lu[%d]/%08lX: %s\n", + (ulong)keyid[1], lid, siglid, sigidx, + (ulong)sig->keyid[1], + revocation? _("Valid certificate revocation") + : _("Good certificate") ); + sigflag |= SIGF_CHECKED | SIGF_VALID; + if( revocation ) { + sigflag |= SIGF_REVOKED; + /**mod_down = 1;*/ } - - } - - 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)*/ - /* Hmmm, did we catch changed expiration dates? */ + /**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;*/ + if( revocation ) + sigflag |= SIGF_REVOKED; + } + else { + log_info("sig %08lX.%lu/%lu[%d]/%08lX: %s: %s\n", + (ulong)keyid[1], lid, siglid, sigidx, + (ulong)sig->keyid[1], + revocation? _("Invalid certificate revocation") + : _("Invalid certificate"), + g10_errstr(rc)); + sigflag |= SIGF_CHECKED; + if( revocation ) { + sigflag |= SIGF_REVOKED; + /**mod_down = 1;*/ + } + } + } + else if( tmp.rectype == RECTYPE_SDIR ) { + /* better check that it is the right one */ + if( tmp.r.sdir.keyid[0] == sig->keyid[0] + && tmp.r.sdir.keyid[1] == sig->keyid[1] + && (!tmp.r.sdir.pubkey_algo + || tmp.r.sdir.pubkey_algo == sig->pubkey_algo )) + sigflag |= SIGF_NOPUBKEY; + else + log_error(_("sig record %lu[%d] points to wrong record.\n"), + siglid, sigidx ); + } + else { + log_error(_("sig record %lu[%d] points to wrong record.\n"), + siglid, sigidx ); + tdbio_invalid(); + } - } /* end check self-signatures */ - - - if( (urec.r.uid.uidflags & (UIDF_CHECKED|UIDF_VALID)) - != (UIDF_CHECKED|UIDF_VALID) ) - return; /* user ID is not valid, so no need to check more things */ + return sigflag; +} - /* check the preferences */ - if( selfsig ) - upd_pref_record( &urec, keyid, selfsig ); +/**************** + * Make the sig records for the given uid record + * We don't set flags here or even check the signatures; this will + * happen latter. + */ +static ulong +make_sig_records( KBNODE keyblock, KBNODE uidnode, + ulong lid, u32 *mainkid, u32 *min_expire ) +{ + TRUSTREC *srecs, **s_end, *s=NULL, *s2; + KBNODE node; + PKT_signature *sig; + ulong sigrecno, siglid; + int i, sigidx = 0; + u32 expire; - /* Now we va check the certication signatures */ + srecs = NULL; s_end = &srecs; for( node=uidnode->next; node; node = node->next ) { - PKT_signature *sig; - - if( node->pkt->pkttype == PKT_USER_ID ) - break; /* ready */ - if( node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) + if( node->pkt->pkttype == PKT_USER_ID + || node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) break; /* ready */ if( node->pkt->pkttype != PKT_SIGNATURE ) - continue; - + continue; /* don't care about other packets */ sig = node->pkt->pkt.signature; + if( mainkid[0] == sig->keyid[0] && mainkid[1] == sig->keyid[1] ) + continue; /* we don't care about self-signatures here */ - if( keyid[0] == sig->keyid[0] || keyid[1] == sig->keyid[1] ) - continue; /* here we skip the self-signatures */ + siglid = find_or_create_lid( sig ); + /* smash dups */ + for( s2 = s; s2 ; s2 = s2->next ) { + for(i=0; i < sigidx; i++ ) { + if( s2->r.sig.sig[i].lid == siglid ) + goto leaveduptest; + } + } + for( s2 = srecs; s2 ; s2 = s2->next ) { + for(i=0; i < SIGS_PER_RECORD; i++ ) { + if( s2->r.sig.sig[i].lid == siglid ) + goto leaveduptest; + } + } + leaveduptest: + if( s2 ) { + log_info( "sig %08lX.%lu: %s\n", (ulong)mainkid[1], lid, + _("duplicated certificate - deleted") ); + continue; + } - if( (sig->sig_class&~3) == 0x10 ) { /* regular certification */ - upd_cert_record( keyblock, node, keyid, drec, recno_list, - recheck, &urec, uidhash, 0, mod_up, mod_down ); + /* create the sig record */ + if( !sigidx ) { + s = m_alloc_clear( sizeof *s ); + s->rectype = RECTYPE_SIG; + s->r.sig.lid = lid; } - else if( sig->sig_class == 0x30 ) { /* cert revocation */ - upd_cert_record( keyblock, node, keyid, drec, recno_list, - recheck, &urec, uidhash, 1, mod_up, mod_down ); + s->r.sig.sig[sigidx].lid = siglid; + s->r.sig.sig[sigidx].flag= check_sig_record( keyblock, node, + siglid, sigidx, + mainkid, lid, &expire ); + + sigidx++; + if( sigidx == SIGS_PER_RECORD ) { + s->recnum = tdbio_new_recnum(); + *s_end = s; + s_end = &s->next; + sigidx = 0; } - } /* end check certificates */ + /* keep track of signers pk expire time */ + if( expire && (!*min_expire || *min_expire > expire ) ) + *min_expire = expire; + } + if( sigidx ) { + s->recnum = tdbio_new_recnum(); + *s_end = s; + s_end = &s->next; + } - write_record( &urec ); + sigrecno = srecs? srecs->recnum : 0; + /* write the keylist and release the memory */ + for( s = srecs; s ; s = s2 ) { + if( s->next ) + s->r.sig.next = s->next->recnum; + write_record( s ); + s2 = s->next; + m_free( s ); + } + return sigrecno; } -static void -upd_pref_record( TRUSTREC *urec, u32 *keyid, PKT_signature *sig ) + +/**************** + * Make a preference record (or a list of them) according to the supplied + * signature. + * Returns: The record number of the first pref record. + */ +static ulong +make_pref_record( PKT_signature *sig, ulong lid ) { static struct { sigsubpkttype_t subpkttype; @@ -1484,499 +1268,229 @@ { SIGSUBPKT_PREF_COMPR, PREFTYPE_COMPR }, { 0, 0 } }; - TRUSTREC prec; - ulong lid = urec->r.uid.lid ; - const byte *uidhash = urec->r.uid.namehash; + TRUSTREC *precs, **p_end, *p=NULL, *p2; + ulong precno; + int k, idx=0; const byte *s; size_t n; - int k, i; - ulong recno; - byte prefs_sig[200]; - int n_prefs_sig = 0; - byte prefs_rec[200]; - int n_prefs_rec = 0; - - if( DBG_TRUST ) - log_debug("upd_pref_record for %08lX.%lu/%02X%02X\n", - (ulong)keyid[1], lid, uidhash[18], uidhash[19] ); + #if (ITEMS_PER_PREF_RECORD % 2) != 0 + #error ITEMS_PER_PREF_RECORD must have an even value + #endif - /* check for changed preferences */ + precs = NULL; p_end = &precs; for(k=0; ptable[k].subpkttype; k++ ) { s = parse_sig_subpkt2( sig, ptable[k].subpkttype, &n ); - if( s ) { - for( ; n; n--, s++ ) { - if( n_prefs_sig >= DIM(prefs_sig)-1 ) { - log_info("uid %08lX.%lu/%02X%02X: %s\n", - (ulong)keyid[1], lid, uidhash[18], uidhash[19], - _("Too many preferences") ); - break; - } - prefs_sig[n_prefs_sig++] = ptable[k].preftype; - prefs_sig[n_prefs_sig++] = *s; - } - } - } - for( recno=urec->r.uid.prefrec; recno; recno = prec.r.pref.next ) { - read_record( recno, &prec, RECTYPE_PREF ); - for(i = 0; i < ITEMS_PER_PREF_RECORD; i +=2 ) { - if( n_prefs_rec >= DIM(prefs_rec)-1 ) { - log_info("uid %08lX.%lu/%02X%02X: %s\n", - (ulong)keyid[1], lid, uidhash[18], uidhash[19], - _("Too many preference items") ); - break; - } - if( prec.r.pref.data[i] ) { - prefs_rec[n_prefs_rec++] = prec.r.pref.data[i]; - prefs_rec[n_prefs_rec++] = prec.r.pref.data[i+1]; + if( !s ) + continue; + for( ; n; n--, s++ ) { + if( !idx ) { + p = m_alloc_clear( sizeof *p ); + p->rectype = RECTYPE_PREF; + p->r.pref.lid = lid; + } + p->r.pref.data[idx++] = ptable[k].preftype; + p->r.pref.data[idx++] = *s; + if( idx >= ITEMS_PER_PREF_RECORD ) { + p->recnum = tdbio_new_recnum(); + *p_end = p; + p_end = &p->next; + idx = 0; } } } - if( n_prefs_sig == n_prefs_rec - && !memcmp( prefs_sig, prefs_rec, n_prefs_sig ) ) - return; /* not changed */ - - /* Preferences have changed: Delete all pref records - * This is much simpler than checking whether we have to - * do update the record at all - the record cache may care about it - */ - for( recno=urec->r.uid.prefrec; recno; recno = prec.r.pref.next ) { - read_record( recno, &prec, RECTYPE_PREF ); - delete_record( recno ); + if( idx ) { + p->recnum = tdbio_new_recnum(); + *p_end = p; + p_end = &p->next; + } + + precno = precs? precs->recnum : 0; + /* write the precs and release the memory */ + for( p = precs; p ; p = p2 ) { + if( p->next ) + p->r.pref.next = p->next->recnum; + write_record( p ); + p2 = p->next; + m_free( p ); } - - if( n_prefs_sig > ITEMS_PER_PREF_RECORD ) - log_info(_("WARNING: can't yet handle long pref records\n")); - - memset( &prec, 0, sizeof prec ); - prec.recnum = tdbio_new_recnum(); - prec.rectype = RECTYPE_PREF; - prec.r.pref.lid = lid; - if( n_prefs_sig <= ITEMS_PER_PREF_RECORD ) - memcpy( prec.r.pref.data, prefs_sig, n_prefs_sig ); - else { /* need more than one pref record */ - TRUSTREC tmp; - ulong nextrn; - byte *pp = prefs_sig; - - n = n_prefs_sig; - memcpy( prec.r.pref.data, pp, ITEMS_PER_PREF_RECORD ); - n -= ITEMS_PER_PREF_RECORD; - pp += ITEMS_PER_PREF_RECORD; - nextrn = prec.r.pref.next = tdbio_new_recnum(); - do { - memset( &tmp, 0, sizeof tmp ); - tmp.recnum = nextrn; - tmp.rectype = RECTYPE_PREF; - tmp.r.pref.lid = lid; - if( n <= ITEMS_PER_PREF_RECORD ) { - memcpy( tmp.r.pref.data, pp, n ); - n = 0; - } - else { - memcpy( tmp.r.pref.data, pp, ITEMS_PER_PREF_RECORD ); - n -= ITEMS_PER_PREF_RECORD; - pp += ITEMS_PER_PREF_RECORD; - nextrn = tmp.r.pref.next = tdbio_new_recnum(); - } - write_record( &tmp ); - } while( n ); - } - write_record( &prec ); - urec->r.uid.prefrec = prec.recnum; - urec->dirty = 1; + return precno; } -static void -upd_cert_record( KBNODE keyblock, KBNODE signode, u32 *keyid, - TRUSTREC *drec, RECNO_LIST *recno_list, int recheck, - TRUSTREC *urec, const byte *uidhash, int revoked, - int *mod_up, int *mod_down ) -{ - /* We simply insert the signature into the sig records but - * avoid duplicate ones. We do not check them here because - * there is a big chance, that we import required public keys - * later. The problem with this is that we must somewhere store - * the information about this signature (we need a record id). - * We do this by using the record type shadow dir, which will - * be converted to a dir record as when the missing public key - * gets inserted into the trustdb. - */ - ulong lid = drec->recnum; - PKT_signature *sig = signode->pkt->pkt.signature; - TRUSTREC rec; - ulong recno; - TRUSTREC delrec; - int delrecidx=0; - int newflag = 0; - ulong newlid = 0; - ulong pk_lid = 0; - int found_sig = 0; - int found_delrec = 0; - int rc; +static ulong +make_uid_records( KBNODE keyblock, ulong lid, u32 *keyid, u32 *min_expire ) +{ + TRUSTREC *urecs, **uend, *u, *u2; + KBNODE node; + PKT_user_id *uid; + byte uidhash[20]; + ulong uidrecno; + urecs = NULL; uend = &urecs; + for( node=keyblock; node; node = node->next ) { + PKT_signature *bestsig; - if( DBG_TRUST ) - log_debug("upd_cert_record for %08lX.?/%02X%02X/%08lX\n", - (ulong)keyid[1], uidhash[18], - uidhash[19], (ulong)sig->keyid[1] ); - - delrec.recnum = 0; - - /* get the LID of the pubkey of the signature under verification */ - pk_lid = lid_from_keyid( sig->keyid ); - - /* Loop over all signatures just in case one is not correctly - * marked. If we see the correct signature, set a flag. - * delete duplicate signatures (should not happen but...) */ - for( recno = urec->r.uid.siglist; recno; recno = rec.r.sig.next ) { - int i; - - read_record( recno, &rec, RECTYPE_SIG ); - for(i=0; i < SIGS_PER_RECORD; i++ ) { - TRUSTREC tmp; - if( !rec.r.sig.sig[i].lid ) { - /* (remember this unused slot) */ - if( !found_delrec && !delrec.recnum ) { - delrec = rec; - delrecidx = i; - found_delrec=1; - } - continue; /* skip unused slots */ - } - - if( rec.r.sig.sig[i].lid == pk_lid ) { - if( found_sig ) { - log_info( "sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uidhash[18], - uidhash[19], (ulong)sig->keyid[1], - _("duplicated certificate - deleted") ); - rec.r.sig.sig[i].lid = 0; - rec.dirty = 1; - continue; - } - found_sig = 1; - } - if( !recheck && !revoked && (rec.r.sig.sig[i].flag & SIGF_CHECKED)) - continue; /* we already checked this signature */ - if( !recheck && (rec.r.sig.sig[i].flag & SIGF_NOPUBKEY) ) - continue; /* we do not have the public key */ - - read_record( rec.r.sig.sig[i].lid, &tmp, 0 ); - if( tmp.rectype == RECTYPE_DIR ) { - /* the public key is in the trustdb: check sig */ - rc = check_key_signature( keyblock, signode, NULL ); - if( !rc ) { /* valid signature */ - if( opt.verbose ) - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uidhash[18], - uidhash[19], (ulong)sig->keyid[1], - revoked? _("Valid certificate revocation") - : _("Good certificate") ); - rec.r.sig.sig[i].flag = SIGF_CHECKED | SIGF_VALID; - if( revoked ) { /* we are investigating revocations */ - rec.r.sig.sig[i].flag |= SIGF_REVOKED; - *mod_down = 1; - } - else - *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 */ - if( (rec.r.sig.sig[i].flag & SIGF_CHECKED) ) - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uidhash[18], - uidhash[19], (ulong)sig->keyid[1], - _("public key not anymore available") ); - rec.r.sig.sig[i].flag = SIGF_NOPUBKEY; - *mod_down = 1; - if( revoked ) - rec.r.sig.sig[i].flag |= SIGF_REVOKED; - } - else { - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s: %s\n", - (ulong)keyid[1], lid, uidhash[18], - uidhash[19], (ulong)sig->keyid[1], - revoked? _("Invalid certificate revocation") - : _("Invalid certificate"), - g10_errstr(rc)); - rec.r.sig.sig[i].flag = SIGF_CHECKED; - if( revoked ) { - rec.r.sig.sig[i].flag |= SIGF_REVOKED; - *mod_down = 1; - } - } - rec.dirty = 1; - } - else if( tmp.rectype == RECTYPE_SDIR ) { - /* must check that it is the right one */ - if( tmp.r.sdir.keyid[0] == sig->keyid[0] - && tmp.r.sdir.keyid[1] == sig->keyid[1] - && (!tmp.r.sdir.pubkey_algo - || tmp.r.sdir.pubkey_algo == sig->pubkey_algo )) { - if( !(rec.r.sig.sig[i].flag & SIGF_NOPUBKEY) ) - log_info(_("uid %08lX.%lu/%02X%02X: " - "has shadow dir %lu but is not yet marked.\n"), - (ulong)keyid[1], lid, - uidhash[18], uidhash[19], tmp.recnum ); - rec.r.sig.sig[i].flag = SIGF_NOPUBKEY; - if( revoked ) - rec.r.sig.sig[i].flag |= SIGF_REVOKED; - rec.dirty = 1; - /* fixme: should we verify that the record is - * in the hintlist? - This case here should anyway - * never occur */ - } - } - else { - log_error(_("sig record %lu[%d] points to wrong record.\n"), - rec.r.sig.sig[i].lid, i ); - tdbio_invalid(); - } - } - if( found_delrec && delrec.recnum ) { - delrec = rec; - found_delrec = 0; /* we only want the first one */ - } - if( rec.dirty ) { - write_record( &rec ); - rec.dirty = 0; - } - } - - if( found_sig ) - return; - - /* at this point, we have verified, that the signature is not in - * our list of signatures. Add a new record with that signature - * and if the public key is there, check the signature. */ - - if( !pk_lid ) /* we have already seen that there is no pubkey */ - rc = G10ERR_NO_PUBKEY; - else - rc = check_key_signature( keyblock, signode, NULL ); + if( node->pkt->pkttype != PKT_USER_ID ) + continue; + uid = node->pkt->pkt.user_id; + rmd160_hash_buffer( uidhash, uid->name, uid->len ); - if( !rc ) { /* valid signature */ - if( opt.verbose ) - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uidhash[18], - uidhash[19], (ulong)sig->keyid[1], - revoked? _("Valid certificate revocation") - : _("Good certificate") ); - newlid = pk_lid; /* this is the pk of the signature */ - newflag = SIGF_CHECKED | SIGF_VALID; - if( revoked ) { - newflag |= SIGF_REVOKED; - *mod_down = 1; - } - else - *mod_up = 1; - } - else if( rc == G10ERR_NO_PUBKEY ) { - if( opt.verbose > 1 || DBG_TRUST ) - log_info("sig %08lX.%lu/%02X%02X/%08lX: %s\n", - (ulong)keyid[1], lid, uidhash[18], - uidhash[19], (ulong)sig->keyid[1], g10_errstr(rc) ); - newlid = create_shadow_dir( sig, lid ); - newflag = SIGF_NOPUBKEY; - if( revoked ) - newflag |= SIGF_REVOKED; - } - else { - log_info( "sig %08lX.%lu/%02X%02X/%08lX: %s: %s\n", - (ulong)keyid[1], lid, uidhash[18], uidhash[19], - (ulong)sig->keyid[1], - revoked? _("Invalid certificate revocation") - : _("Invalid certificate"), - g10_errstr(rc)); - newlid = create_shadow_dir( sig, lid ); - newflag = SIGF_CHECKED; - if( revoked ) - newflag |= SIGF_REVOKED; - *mod_down = 1; - } - - if( delrec.recnum ) { /* we can reuse an unused slot */ - delrec.r.sig.sig[delrecidx].lid = newlid; - delrec.r.sig.sig[delrecidx].flag= newflag; - write_record( &delrec ); - } - else { /* we must insert a new sig record */ - TRUSTREC tmp; - - memset( &tmp, 0, sizeof tmp ); - tmp.recnum = tdbio_new_recnum(); - tmp.rectype = RECTYPE_SIG; - tmp.r.sig.lid = lid; - tmp.r.sig.next = urec->r.uid.siglist; - tmp.r.sig.sig[0].lid = newlid; - tmp.r.sig.sig[0].flag= newflag; - write_record( &tmp ); - urec->r.uid.siglist = tmp.recnum; - urec->dirty = 1; + /* create the uid record */ + u = m_alloc_clear( sizeof *u ); + u->rectype = RECTYPE_UID; + u->r.uid.lid = lid; + memcpy(u->r.uid.namehash, uidhash, 20 ); + u->recnum = tdbio_new_recnum(); + *uend = u; + uend = &u->next; + + u->r.uid.uidflags = check_uidsigs( keyblock, node, keyid, + lid, &bestsig ); + if( (u->r.uid.uidflags & UIDF_CHECKED) + && (u->r.uid.uidflags & UIDF_VALID) ) { + u->r.uid.prefrec = bestsig? make_pref_record( bestsig, lid ) : 0; + } + /* create the list of signatures */ + u->r.uid.siglist = make_sig_records( keyblock, node, + lid, keyid, min_expire ); + } + + uidrecno = urecs? urecs->recnum : 0; + /* write the uidlist and release the memory */ + for( u = urecs; u ; u = u2 ) { + if( u->next ) + u->r.uid.next = u->next->recnum; + write_record( u ); + u2 = u->next; + m_free( u ); } + return uidrecno; } + /**************** * Update all the info from the public keyblock. * The key must already exist in the keydb. - * This function is responsible for checking the signatures in cases - * where the public key is already available. If we do not have the public - * key, the check is done by some special code in insert_trust_record(). */ int update_trust_record( KBNODE keyblock, int recheck, int *modified ) { - PKT_public_key *primary_pk; - KBNODE node; TRUSTREC drec; - TRUSTREC krec; - TRUSTREC urec; - TRUSTREC prec; - TRUSTREC helprec; - int rc = 0; - u32 keyid[2]; /* keyid of primary key */ - ulong recno, lastrecno; - int mod_up = 0; - int mod_down = 0; - RECNO_LIST recno_list = NULL; /* list of verified records */ - /* fixme: replace recno_list by a lookup on node->recno */ + int rc; if( opt.dry_run ) return 0; - - init_trustdb(); if( modified ) *modified = 0; - - node = find_kbnode( keyblock, PKT_PUBLIC_KEY ); - primary_pk = node->pkt->pkt.public_key; - rc = get_dir_record( primary_pk, &drec ); + init_trustdb(); + rc = get_dir_record( find_kbnode( keyblock, PKT_PUBLIC_KEY ) + ->pkt->pkt.public_key, &drec ); if( rc ) return rc; + + rc = do_update_trust_record( keyblock, &drec, recheck, modified ); + return rc; +} + +/**************** + * Same as update_trust_record, but tghis functions expects the dir record. + * On exit the dirrecord will reflect any changes made. + */ +static int +do_update_trust_record( KBNODE keyblock, TRUSTREC *drec, + int recheck, 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; */ + ulong recno, r2; + u32 expire; + + primary_pk = find_kbnode( keyblock, PKT_PUBLIC_KEY )->pkt->pkt.public_key; if( !primary_pk->local_id ) - primary_pk->local_id = drec.recnum; + primary_pk->local_id = drec->recnum; keyid_from_pk( primary_pk, keyid ); - - /* fixme: check that the keyblock has a valid structure */ + if( DBG_TRUST ) + log_debug("do_update_trust_record: %08lX.%lu\n", + (ulong)keyid[1], drec->recnum ); rc = tdbio_begin_transaction(); if( rc ) return rc; - /* update the keys */ - for( node=keyblock; node; node = node->next ) { - if( node->pkt->pkttype == PKT_PUBLIC_KEY - || node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) - upd_key_record( keyblock, node, keyid, - &drec, &recno_list, recheck ); - } - /* update the user IDs */ - for( node=keyblock; node; node = node->next ) { - if( node->pkt->pkttype == PKT_USER_ID ) - upd_uid_record( keyblock, node, keyid, - &drec, &recno_list, recheck, &mod_up, &mod_down ); - } - - /* delete keyrecords from the trustdb which are not anymore used */ - /* should we really do this, or is it better to keep them and */ - /* mark as unused? */ - /* And set the revocation flag into the dir record */ - drec.r.dir.dirflags &= ~DIRF_REVOKED; - lastrecno = 0; - for( recno=drec.r.dir.keylist; recno; recno = krec.r.key.next ) { + /* delete the old stuff */ + for( recno=drec->r.dir.keylist; recno; recno = krec.r.key.next ) { read_record( recno, &krec, RECTYPE_KEY ); - if( recno == drec.r.dir.keylist ) { /* this is the primary key */ - if( (krec.r.key.keyflags & KEYF_REVOKED) ) { - drec.r.dir.dirflags |= DIRF_REVOKED; - drec.dirty = 1; - } - } - - if( !qry_recno_list( recno_list, recno, RECTYPE_KEY ) ) { - /* delete this one */ - if( !lastrecno ) { - drec.r.dir.keylist = krec.r.key.next; - drec.dirty = 1; - } - else { - read_record( lastrecno, &helprec, RECTYPE_KEY ); - helprec.r.key.next = krec.r.key.next; - write_record( &helprec ); - } - delete_record( recno ); - } - else - lastrecno = recno; + delete_record( recno ); } - /* delete uid records and sig and their pref records from the - * trustdb which are not anymore used */ - lastrecno = 0; - for( recno=drec.r.dir.uidlist; recno; recno = urec.r.uid.next ) { + drec->r.dir.keylist = 0; + for( recno=drec->r.dir.uidlist; recno; recno = urec.r.uid.next ) { read_record( recno, &urec, RECTYPE_UID ); - if( !qry_recno_list( recno_list, recno, RECTYPE_UID ) ) { - ulong r2; - /* delete this one */ - if( !lastrecno ) { - drec.r.dir.uidlist = urec.r.uid.next; - drec.dirty = 1; - } - else { - read_record( lastrecno, &helprec, RECTYPE_UID ); - helprec.r.uid.next = urec.r.uid.next; - write_record( &helprec ); - } - for(r2=urec.r.uid.prefrec ; r2; r2 = prec.r.pref.next ) { - read_record( r2, &prec, RECTYPE_PREF ); - delete_record( r2 ); - } - for(r2=urec.r.uid.siglist ; r2; r2 = helprec.r.sig.next ) { - read_record( r2, &helprec, RECTYPE_SIG ); - delete_record( r2 ); - } - delete_record( recno ); + for(r2=urec.r.uid.prefrec ; r2; r2 = prec.r.pref.next ) { + read_record( r2, &prec, RECTYPE_PREF ); + delete_record( r2 ); + } + for(r2=urec.r.uid.siglist ; r2; r2 = helprec.r.sig.next ) { + read_record( r2, &helprec, RECTYPE_SIG ); + delete_record( r2 ); } - else - lastrecno = recno; + delete_record( recno ); } + drec->r.dir.uidlist = 0; + /* insert new stuff */ + drec->r.dir.dirflags &= ~DIRF_REVOKED; + 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; + 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 if( rc ) rc = tdbio_cancel_transaction(); else { if( modified && tdbio_is_dirty() ) *modified = 1; - drec.r.dir.dirflags |= DIRF_CHECKED; - drec.r.dir.valcheck = 0; - write_record( &drec ); - tdbio_write_modify_stamp( mod_up, mod_down ); + drec->r.dir.dirflags |= DIRF_CHECKED; + drec->r.dir.valcheck = 0; + drec->r.dir.checkat = expire; + write_record( drec ); + /*tdbio_write_modify_stamp( mod_up, mod_down );*/ rc = tdbio_end_transaction(); } - rel_recno_list( &recno_list ); return rc; } + /**************** * Insert a trust record into the TrustDB * This function assumes that the record does not yet exist. */ int -insert_trust_record( PKT_public_key *orig_pk ) +insert_trust_record( KBNODE keyblock ) { TRUSTREC dirrec; TRUSTREC shadow; - KBNODE keyblock = NULL; KBNODE node; - byte fingerprint[MAX_FINGERPRINT_LEN]; - size_t fingerlen; int rc = 0; - ulong hintlist = 0; PKT_public_key *pk; @@ -1985,46 +1499,16 @@ init_trustdb(); - fingerprint_from_pk( orig_pk, fingerprint, &fingerlen ); - - /* fixme: assert that we do not have this record. - * we can do this by searching for the primary keyid - * - * fixme: If there is no such key we should look whether one - * of the subkeys has been used to sign another key and in this case - * we got the key anyway - this is because a secondary key can't be used - * without a primary key (it is needed to bind the secondary one - * to the primary one which has the user ids etc.) - */ - - if( orig_pk->local_id ) - log_debug("insert_trust_record with pk->local_id=%lu (1)\n", - orig_pk->local_id ); - - /* get the keyblock which has the key */ - rc = get_keyblock_byfprint( &keyblock, fingerprint, fingerlen ); - if( rc ) { /* that should never happen */ - log_error( _("insert_trust_record: keyblock not found: %s\n"), - g10_errstr(rc) ); - goto leave; - } - - /* make sure that we use the primary key */ pk = find_kbnode( keyblock, PKT_PUBLIC_KEY )->pkt->pkt.public_key; - if( pk->local_id ) { - orig_pk->local_id = pk->local_id; log_debug("insert_trust_record with pk->local_id=%lu (2)\n", pk->local_id ); rc = update_trust_record( keyblock, 1, NULL ); - release_kbnode( keyblock ); return rc; } /* We have to look for a shadow dir record which must be reused - * as the dir record. And: check all signatures which are listed - * in the hintlist of the shadow dir record. - */ + * as the dir record. */ rc = tdbio_search_sdir( pk->keyid, pk->pubkey_algo, &shadow ); if( rc && rc != -1 ) { log_error(_("tdbio_search_dir failed: %s\n"), g10_errstr(rc)); @@ -2032,21 +1516,15 @@ } memset( &dirrec, 0, sizeof dirrec ); dirrec.rectype = RECTYPE_DIR; - if( !rc ) { - /* hey, great: this key has already signed other keys - * convert this to a real directory entry */ - hintlist = shadow.r.sdir.hintlist; + if( !rc ) /* we have a shadow dir record - convert to dir record */ dirrec.recnum = shadow.recnum; - } - else { + else dirrec.recnum = tdbio_new_recnum(); - } dirrec.r.dir.lid = dirrec.recnum; write_record( &dirrec ); - /* out the LID into the keyblock */ + /* put the LID into the keyblock */ pk->local_id = dirrec.r.dir.lid; - orig_pk->local_id = dirrec.r.dir.lid; for( node=keyblock; node; node = node->next ) { if( node->pkt->pkttype == PKT_PUBLIC_KEY || node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) { @@ -2063,18 +1541,184 @@ tdbio_write_modify_stamp( 1, 0 ); /* and put all the other stuff into the keydb */ - rc = update_trust_record( keyblock, 1, NULL ); - if( !rc ) - process_hintlist( hintlist, dirrec.r.dir.lid ); + rc = do_update_trust_record( keyblock, &dirrec, 1, NULL ); - leave: - if( rc && hintlist ) - ; /* fixme: the hintlist is not anymore anchored */ - release_kbnode( keyblock ); do_sync(); return rc; } +/**************** + * Insert a trust record indentified by a PK into the TrustDB + */ +int +insert_trust_record_by_pk( PKT_public_key *pk ) +{ + KBNODE keyblock = NULL; + byte fingerprint[MAX_FINGERPRINT_LEN]; + size_t fingerlen; + int rc; + + /* get the keyblock */ + fingerprint_from_pk( pk, fingerprint, &fingerlen ); + rc = get_keyblock_byfprint( &keyblock, fingerprint, fingerlen ); + if( rc ) { /* that should never happen */ + log_debug( "insert_trust_record_by_pk: keyblock not found: %s\n", + g10_errstr(rc) ); + } + else { + rc = insert_trust_record( keyblock ); + if( !rc ) /* copy the LID into the PK */ + pk->local_id = find_kbnode( keyblock, PKT_PUBLIC_KEY ) + ->pkt->pkt.public_key->local_id; + } + + release_kbnode( keyblock ); + return rc; +} + + +/**************** + * Check one trust record. This function is called for every + * directory record which is to be checked. The supplied + * dir record is modified according to the performed actions. + * Currently we only do an update_trust_record. + */ +static int +check_trust_record( TRUSTREC *drec ) +{ + KBNODE keyblock; + int modified, rc; + + rc = get_keyblock_bylid( &keyblock, drec->recnum ); + if( rc ) { + log_debug( "check_trust_record %lu: keyblock not found: %s\n", + drec->recnum, g10_errstr(rc) ); + return rc; + } + + rc = do_update_trust_record( keyblock, drec, 0, &modified ); + release_kbnode( keyblock ); + + return rc; +} + + +/**************** + * Walk over the keyrings and create trustdb records for all keys + * which are not currently in the trustdb. + * It is intended to be used after a fast-import operation. + */ +void +update_trustdb() +{ + KBNODE keyblock = NULL; + KBPOS kbpos; + int rc; + + if( opt.dry_run ) + return; + + init_trustdb(); + rc = enum_keyblocks( 0, &kbpos, &keyblock ); + if( !rc ) { + ulong count=0, err_count=0, new_count=0; + + while( !(rc = enum_keyblocks( 1, &kbpos, &keyblock )) ) { + /*int modified;*/ + TRUSTREC drec; + PKT_public_key *pk = find_kbnode( keyblock, PKT_PUBLIC_KEY ) + ->pkt->pkt.public_key; + + rc = get_dir_record( pk, &drec ); + if( rc == -1 ) { /* not in trustdb: insert */ + rc = insert_trust_record( keyblock ); + if( rc && !pk->local_id ) { + log_error(_("lid ?: insert failed: %s\n"), + g10_errstr(rc) ); + err_count++; + } + else if( rc ) { + log_error(_("lid %lu: insert failed: %s\n"), + pk->local_id, g10_errstr(rc) ); + err_count++; + } + else { + if( opt.verbose ) + log_info(_("lid %lu: inserted\n"), pk->local_id ); + new_count++; + } + } + else if( rc ) { + log_error(_("error reading dir record: %s\n"), g10_errstr(rc)); + err_count++; + } + + release_kbnode( keyblock ); keyblock = NULL; + if( !(++count % 100) ) + log_info(_("%lu keys so far processed\n"), count); + } + log_info(_("%lu keys processed\n"), count); + if( err_count ) + log_info(_("\t%lu keys with errors\n"), err_count); + if( new_count ) + log_info(_("\t%lu keys inserted\n"), new_count); + } + if( rc && rc != -1 ) + log_error(_("enumerate keyblocks failed: %s\n"), g10_errstr(rc)); + + enum_keyblocks( 2, &kbpos, &keyblock ); /* close */ + release_kbnode( keyblock ); +} + + + +/**************** + * Do all required check in the trustdb. This function walks over all + * records in the trustdb and does scheduled processing. + */ +void +check_trustdb( const char *username ) +{ + TRUSTREC rec; + ulong recnum; + ulong count=0, upd_count=0, err_count=0, skip_count=0; + ulong current_time = make_timestamp(); + + if( username ) + log_info("given user IDs ignored in check_trustdb\n"); + + init_trustdb(); + + for(recnum=0; !tdbio_read_record( recnum, &rec, 0); recnum++ ) { + 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 */ + } + + if( !rec.r.dir.keylist ) { + log_info(_("lid %lu: dir record w/o key - skipped\n"), recnum); + skip_count++; + continue; + } + + check_trust_record( &rec ); + + } + + log_info(_("%lu keys processed\n"), count); + if( skip_count ) + log_info(_("\t%lu keys skipped\n"), skip_count); + if( err_count ) + log_info(_("\t%lu keys with errors\n"), err_count); + if( upd_count ) + log_info(_("\t%lu keys updated\n"), upd_count); +} @@ -2092,7 +1736,7 @@ * certchain_set must be a valid set or point to NULL; this function * may modifiy it. * - * Fixme: add a fastscan mode which stops ad valid validity nodes. + * Hmmm: add a fastscan mode which stops at valid validity nodes. */ static TN build_cert_tree( ulong lid, int depth, int max_depth, TN helproot ) @@ -2126,7 +1770,11 @@ m_free(keynode); return NULL; } - keynode->n.k.ownertrust = dirrec.r.dir.ownertrust; + + if( dirrec.r.dir.checkat && dirrec.r.dir.checkat <= make_timestamp() ) + check_trust_record( &dirrec ); + + keynode->n.k.ownertrust = dirrec.r.dir.ownertrust & TRUST_MASK; /* loop over all user ids */ for( uidrno = dirrec.r.dir.uidlist; uidrno; uidrno = uidrec.r.uid.next ) { @@ -2185,14 +1833,12 @@ tn->back = uidnode; tn->next = uidnode->list; uidnode->list = tn; - #if 0 /* optimazation - fixme: reenable this later */ if( tn->n.k.buckstop ) { /* ultimately trusted key found: * no need to check more signatures of this uid */ sigrec.r.sig.next = 0; break; } - #endif } } /* end loop over sig recs */ } /* end loop over user ids */ @@ -2216,12 +1862,17 @@ log_debug("upd_one_ownertrust of %lu from %u to %u\n", lid, (unsigned)rec.r.dir.ownertrust, new_trust ); if( retflgs ) { - if( new_trust > rec.r.dir.ownertrust ) + if( (new_trust & TRUST_MASK) > (rec.r.dir.ownertrust & TRUST_MASK) ) *retflgs |= 16; /* modified up */ else *retflgs |= 32; /* modified down */ } - rec.r.dir.ownertrust = new_trust; + + /* we preserve the disabled state here */ + if( (rec.r.dir.ownertrust & TRUST_FLAG_DISABLED) ) + rec.r.dir.ownertrust = new_trust | TRUST_FLAG_DISABLED; + else + rec.r.dir.ownertrust = new_trust & ~TRUST_FLAG_DISABLED; write_record( &rec ); } @@ -2272,10 +1923,10 @@ } /* loop over all user ids */ - for( ur=node->list; ur; ur = ur->next ) { + for( ur=node->list; ur && max_validity < TRUST_FULLY; ur = ur->next ) { assert( ur->is_uid ); /* loop over all signators */ - for(kr=ur->list; kr; kr = kr->next ) { + for(kr=ur->list; kr && max_validity < TRUST_FULLY; kr = kr->next ) { if( propagate_validity( root, kr, add_fnc, retflgs ) ) return -1; /* quit */ if( kr->n.k.validity == TRUST_ULTIMATE ) { @@ -2314,18 +1965,16 @@ else if( kr->n.k.ownertrust == TRUST_MARGINAL ) ur->n.u.marginal_count++; } - } - /* fixme: We can move this test into the loop to stop as soon as - * we have a level of FULLY and return from this function - * We dont do this now to get better debug output */ - if( ur->n.u.fully_count >= opt.completes_needed - || ur->n.u.marginal_count >= opt.marginals_needed ) - ur->n.u.validity = TRUST_FULLY; - else if( ur->n.u.fully_count || ur->n.u.marginal_count ) - ur->n.u.validity = TRUST_MARGINAL; - if( ur->n.u.validity >= max_validity ) - max_validity = ur->n.u.validity; + if( ur->n.u.fully_count >= opt.completes_needed + || ur->n.u.marginal_count >= opt.marginals_needed ) + ur->n.u.validity = TRUST_FULLY; + else if( ur->n.u.fully_count || ur->n.u.marginal_count ) + ur->n.u.validity = TRUST_MARGINAL; + + if( ur->n.u.validity >= max_validity ) + max_validity = ur->n.u.validity; + } } node->n.k.validity = max_validity; @@ -2416,9 +2065,10 @@ if( retflgs ) *retflgs &= ~(16|32); /* reset the 2 special flags */ - - if( namehash ) { - /* Fixme: use the cache */ + if( (dr->r.dir.ownertrust & TRUST_FLAG_DISABLED) ) + *validity = 0; /* no need to check further */ + else if( namehash ) { + /* Fixme: use a cache */ *validity = verify_key( opt.max_cert_depth, dr, namehash, add_fnc, retflgs ); } @@ -2435,6 +2085,9 @@ if( !(*validity & TRUST_MASK) ) *validity = TRUST_UNDEFINED; + if( (dr->r.dir.ownertrust & TRUST_FLAG_DISABLED) ) + *validity |= TRUST_FLAG_DISABLED; + if( dr->r.dir.dirflags & DIRF_REVOKED ) *validity |= TRUST_FLAG_REVOKED; @@ -2499,184 +2152,6 @@ } -/**************** - * Put new entries from the pubrings into the trustdb. - * This function honors the sig flags to speed up the check. - */ -void -update_trustdb( ) -{ - KBNODE keyblock = NULL; - KBPOS kbpos; - int rc; - - if( opt.dry_run ) - return; - - init_trustdb(); - rc = enum_keyblocks( 0, &kbpos, &keyblock ); - if( !rc ) { - ulong count=0, upd_count=0, err_count=0, new_count=0; - - while( !(rc = enum_keyblocks( 1, &kbpos, &keyblock )) ) { - int modified; - - rc = update_trust_record( keyblock, 1, &modified ); - if( rc == -1 ) { /* not yet in trustdb: insert */ - PKT_public_key *pk = keyblock->pkt->pkt.public_key; - rc = insert_trust_record( pk ); - if( rc && !pk->local_id ) { - log_error(_("lid ?: insert failed: %s\n"), - g10_errstr(rc) ); - err_count++; - } - else if( rc ) { - log_error(_("lid %lu: insert failed: %s\n"), - pk->local_id, g10_errstr(rc) ); - err_count++; - } - else { - if( opt.verbose ) - log_info(_("lid %lu: inserted\n"), pk->local_id ); - new_count++; - } - } - else if( rc ) { - log_error(_("lid %lu: update failed: %s\n"), - lid_from_keyblock(keyblock), g10_errstr(rc) ); - err_count++; - } - else if( modified ) { - if( opt.verbose ) - log_info(_("lid %lu: updated\n"), - lid_from_keyblock(keyblock)); - upd_count++; - } - else if( opt.verbose > 1 ) - log_info(_("lid %lu: okay\n"), lid_from_keyblock(keyblock) ); - - release_kbnode( keyblock ); keyblock = NULL; - if( !(++count % 100) ) - log_info(_("%lu keys so far processed\n"), count); - } - log_info(_("%lu keys processed\n"), count); - if( err_count ) - log_info(_("\t%lu keys with errors\n"), err_count); - if( upd_count ) - log_info(_("\t%lu keys updated\n"), upd_count); - if( new_count ) - log_info(_("\t%lu keys inserted\n"), new_count); - } - if( rc && rc != -1 ) - log_error(_("enumerate keyblocks failed: %s\n"), g10_errstr(rc)); - - enum_keyblocks( 2, &kbpos, &keyblock ); /* close */ - release_kbnode( keyblock ); -} - -/**************** - * Check the complete trustdb or only the entries for the given username. - * We check the complete database. If a username is given or the special - * username "*" is used, a complete recheck is done. With no user ID - * only the records which are not yet checkd are now checked. - */ -void -check_trustdb( const char *username ) -{ - TRUSTREC rec; - KBNODE keyblock = NULL; - KBPOS kbpos; - int rc; - int recheck = username && *username == '*' && !username[1]; - - init_trustdb(); - if( username && !recheck ) { - rc = find_keyblock_byname( &kbpos, username ); - if( !rc ) - rc = read_keyblock( &kbpos, &keyblock ); - if( rc ) { - log_error(_("%s: keyblock read problem: %s\n"), - username, g10_errstr(rc)); - } - else { - int modified; - - rc = update_trust_record( keyblock, 1, &modified ); - if( rc == -1 ) { /* not yet in trustdb: insert */ - rc = insert_trust_record( - find_kbnode( keyblock, PKT_PUBLIC_KEY - ) ->pkt->pkt.public_key ); - - } - if( rc ) - log_error(_("%s: update failed: %s\n"), - username, g10_errstr(rc) ); - else if( modified ) - log_info(_("%s: updated\n"), username ); - else - log_info(_("%s: okay\n"), username ); - - } - release_kbnode( keyblock ); keyblock = NULL; - } - else { - ulong recnum; - ulong count=0, upd_count=0, err_count=0, skip_count=0; - - for(recnum=0; !tdbio_read_record( recnum, &rec, 0); recnum++ ) { - if( rec.rectype == RECTYPE_DIR ) { - TRUSTREC tmp; - int modified; - - if( !rec.r.dir.keylist ) { - log_info(_("lid %lu: dir record w/o key - skipped\n"), - recnum); - count++; - skip_count++; - continue; - } - - read_record( rec.r.dir.keylist, &tmp, RECTYPE_KEY ); - - rc = get_keyblock_byfprint( &keyblock, - tmp.r.key.fingerprint, - tmp.r.key.fingerprint_len ); - if( rc ) { - log_error(_("lid %lu: keyblock not found: %s\n"), - recnum, g10_errstr(rc) ); - count++; - skip_count++; - continue; - } - - rc = update_trust_record( keyblock, recheck, &modified ); - if( rc ) { - log_error(_("lid %lu: update failed: %s\n"), - recnum, g10_errstr(rc) ); - err_count++; - } - else if( modified ) { - if( opt.verbose ) - log_info(_("lid %lu: updated\n"), recnum ); - upd_count++; - } - else if( opt.verbose > 1 ) - log_info(_("lid %lu: okay\n"), recnum ); - - release_kbnode( keyblock ); keyblock = NULL; - if( !(++count % 100) ) - log_info(_("%lu keys so far processed\n"), count); - } - } - log_info(_("%lu keys processed\n"), count); - if( skip_count ) - log_info(_("\t%lu keys skipped\n"), skip_count); - if( err_count ) - log_info(_("\t%lu keys with errors\n"), err_count); - if( upd_count ) - log_info(_("\t%lu keys updated\n"), upd_count); - } -} @@ -2744,8 +2219,10 @@ g10_errstr(rc)); return rc; } + else if( rc == -1 && opt.dry_run ) + return G10ERR_GENERAL; else if( rc == -1 ) { /* not found - insert */ - rc = insert_trust_record( pk ); + rc = insert_trust_record_by_pk( pk ); if( rc ) { log_error(_("key %08lX: insert trust record failed: %s\n"), (ulong)keyid[1], g10_errstr(rc)); @@ -2764,12 +2241,14 @@ (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( pk->expiredate && pk->expiredate <= cur_time ) { log_info(_("key %08lX.%lu: expired at %s\n"), (ulong)keyid[1], pk->local_id, asctimestamp( pk->expiredate) ); - trustlevel = TRUST_EXPIRED; + trustlevel = TRUST_EXPIRED; } else { rc = do_check( &rec, &trustlevel, namehash, add_fnc, retflgs ); @@ -2828,6 +2307,8 @@ init_trustdb(); if( check_trust( pk, &trustlevel, namehash, NULL, NULL ) ) return '?'; + if( trustlevel & TRUST_FLAG_DISABLED ) + return 'd'; if( trustlevel & TRUST_FLAG_REVOKED ) return 'r'; c = trust_letter( (trustlevel & TRUST_MASK) ); @@ -2884,7 +2365,7 @@ username, g10_errstr(rc)); else if( rc == -1 ) { log_info(_("user '%s' not in trustdb - inserting\n"), username); - rc = insert_trust_record( pk ); + rc = insert_trust_record_by_pk( pk ); if( rc ) log_error(_("failed to put '%s' into trustdb: %s\n"), username, g10_errstr(rc)); diff -urN gnupg-0.9.8/g10/trustdb.h gnupg-0.9.9/g10/trustdb.h --- gnupg-0.9.8/g10/trustdb.h Thu May 6 10:37:54 1999 +++ gnupg-0.9.9/g10/trustdb.h Thu Jul 1 11:22:21 1999 @@ -34,6 +34,7 @@ /* trust values not covered by the mask */ #define TRUST_FLAG_REVOKED 32 /* r: revoked */ #define TRUST_FLAG_SUB_REVOKED 64 +#define TRUST_FLAG_DISABLED 128 /* d: key/uid disabled */ #define PREFTYPE_SYM 1 @@ -63,8 +64,9 @@ ulong lid_from_keyblock( KBNODE keyblock ); int query_trust_record( PKT_public_key *pk ); int clear_trust_checked_flag( PKT_public_key *pk ); -int insert_trust_record( PKT_public_key *pk ); int update_trust_record( KBNODE keyblock, int fast, int *modified ); +int insert_trust_record( KBNODE keyblock ); +int insert_trust_record_by_pk( PKT_public_key *pk ); int update_ownertrust( ulong lid, unsigned new_trust ); int trust_letter( unsigned value ); diff -urN gnupg-0.9.8/gcrypt/ChangeLog gnupg-0.9.9/gcrypt/ChangeLog --- gnupg-0.9.8/gcrypt/ChangeLog Thu Jan 1 01:00:00 1970 +++ gnupg-0.9.9/gcrypt/ChangeLog Wed Jul 7 13:08:45 1999 @@ -0,0 +1,10 @@ +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-0.9.8/gcrypt/Makefile.am gnupg-0.9.9/gcrypt/Makefile.am --- gnupg-0.9.8/gcrypt/Makefile.am Thu Jan 1 01:00:00 1970 +++ gnupg-0.9.9/gcrypt/Makefile.am Wed Jul 14 11:57:28 1999 @@ -0,0 +1,35 @@ +## 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-0.9.8/gcrypt/Makefile.in gnupg-0.9.9/gcrypt/Makefile.in --- gnupg-0.9.8/gcrypt/Makefile.in Thu Jan 1 01:00:00 1970 +++ gnupg-0.9.9/gcrypt/Makefile.in Fri Jul 23 14:26:28 1999 @@ -0,0 +1,402 @@ +# 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-0.9.8/gcrypt/README gnupg-0.9.9/gcrypt/README --- gnupg-0.9.8/gcrypt/README Thu Jan 1 01:00:00 1970 +++ gnupg-0.9.9/gcrypt/README Wed Jul 7 11:37:40 1999 @@ -0,0 +1,3 @@ +This directory will contain sources for libgcrypt. +Because it is still under development, no source +is provided and compilation is disabled. diff -urN gnupg-0.9.8/include/ChangeLog gnupg-0.9.9/include/ChangeLog --- gnupg-0.9.8/include/ChangeLog Sat Jun 26 12:15:59 1999 +++ gnupg-0.9.9/include/ChangeLog Tue Jun 29 21:44:29 1999 @@ -1,3 +1,8 @@ +Tue Jun 29 21:44:25 CEST 1999 Werner Koch + + + * util.h (stricmp): Use strcasecmp as replacement. + Sat Jun 26 12:15:59 CEST 1999 Werner Koch diff -urN gnupg-0.9.8/include/cipher.h gnupg-0.9.9/include/cipher.h --- gnupg-0.9.8/include/cipher.h Fri Jun 18 10:14:07 1999 +++ gnupg-0.9.9/include/cipher.h Thu Jul 15 09:59:28 1999 @@ -128,6 +128,7 @@ /*-- cipher.c --*/ int string_to_cipher_algo( const char *string ); const char * cipher_algo_to_string( int algo ); +void disable_cipher_algo( int algo ); int check_cipher_algo( int algo ); unsigned cipher_get_keylen( int algo ); unsigned cipher_get_blocksize( int algo ); @@ -147,6 +148,7 @@ int string_to_pubkey_algo( const char *string ); const char * pubkey_algo_to_string( int algo ); +void disable_pubkey_algo( int algo ); int check_pubkey_algo( int algo ); int check_pubkey_algo2( int algo, unsigned use ); int pubkey_get_npkey( int algo ); diff -urN gnupg-0.9.8/include/mpi.h gnupg-0.9.9/include/mpi.h --- gnupg-0.9.8/include/mpi.h Tue May 4 14:45:16 1999 +++ gnupg-0.9.9/include/mpi.h Tue Jul 6 17:23:38 1999 @@ -110,10 +110,13 @@ MPI mpi_read_from_buffer(byte *buffer, unsigned *ret_nread, int secure); int mpi_fromstr(MPI val, const char *str); int mpi_print( FILE *fp, MPI a, int mode ); +void g10_log_mpidump( const char *text, MPI a ); u32 mpi_get_keyid( MPI a, u32 *keyid ); byte *mpi_get_buffer( MPI a, unsigned *nbytes, int *sign ); byte *mpi_get_secure_buffer( MPI a, unsigned *nbytes, int *sign ); void mpi_set_buffer( MPI a, const byte *buffer, unsigned nbytes, int sign ); + +#define log_mpidump g10_log_mpidump /*-- mpi-add.c --*/ void mpi_add_ui(MPI w, MPI u, ulong v ); diff -urN gnupg-0.9.8/include/util.h gnupg-0.9.9/include/util.h --- gnupg-0.9.8/include/util.h Thu May 27 08:37:47 1999 +++ gnupg-0.9.9/include/util.h Tue Jul 6 17:24:05 1999 @@ -60,12 +60,12 @@ /*-- logger.c --*/ void log_set_logfile( const char *name, int fd ); FILE *log_stream(void); +void g10_log_print_prefix(const char *text); void log_set_name( const char *name ); const char *log_get_name(void); void log_set_pid( int pid ); int log_get_errorcount( int clear ); void g10_log_hexdump( const char *text, const char *buf, size_t len ); -void g10_log_mpidump( const char *text, MPI a ); #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5 ) void g10_log_bug( const char *fmt, ... ) @@ -100,7 +100,6 @@ #endif #define log_hexdump g10_log_hexdump -#define log_mpidump g10_log_mpidump #define log_bug g10_log_bug #define log_bug0 g10_log_bug0 #define log_fatal g10_log_fatal @@ -148,11 +147,13 @@ /*-- miscutil.c --*/ u32 make_timestamp(void); +u32 scan_isodatestr( const char *string ); u32 add_days_to_timestamp( u32 stamp, u16 days ); const char *strtimevalue( u32 stamp ); const char *strtimestamp( u32 stamp ); /* GMT */ const char *asctimestamp( u32 stamp ); /* localized */ void print_string( FILE *fp, const byte *p, size_t n, int delim ); +char *make_printable_string( const byte *p, size_t n, int delim ); int answer_is_yes( const char *s ); int answer_is_yes_no_quit( const char *s ); @@ -160,7 +161,9 @@ void free_strlist( STRLIST sl ); #define FREE_STRLIST(a) do { free_strlist((a)); (a) = NULL ; } while(0) STRLIST add_to_strlist( STRLIST *list, const char *string ); +STRLIST add_to_strlist2( STRLIST *list, const char *string, int is_utf8 ); STRLIST append_to_strlist( STRLIST *list, const char *string ); +STRLIST append_to_strlist2( STRLIST *list, const char *string, int is_utf8 ); STRLIST strlist_prev( STRLIST head, STRLIST node ); STRLIST strlist_last( STRLIST node ); const char *memistr( const char *buf, size_t buflen, const char *sub ); @@ -175,8 +178,6 @@ char *utf8_to_native( const char *string ); int check_utf8_string( const char *string ); -#define stricmp(a,b) strcasecmp((a),(b)) - #ifndef HAVE_MEMICMP int memicmp( const char *a, const char *b, size_t n ); #endif @@ -192,7 +193,9 @@ #ifndef HAVE_MEMMOVE #define memmove(d, s, n) bcopy((s), (d), (n)) #endif - +#ifndef HAVE_STRICMP + #define stricmp(a,b) strcasecmp( (a), (b) ) +#endif /**** other missing stuff ****/ #ifndef HAVE_ATEXIT /* For SunOS */ diff -urN gnupg-0.9.8/mpi/ChangeLog gnupg-0.9.9/mpi/ChangeLog --- gnupg-0.9.8/mpi/ChangeLog Tue Jun 1 16:01:50 1999 +++ gnupg-0.9.9/mpi/ChangeLog Wed Jul 14 19:42:14 1999 @@ -1,3 +1,21 @@ +Wed Jul 14 19:42:08 CEST 1999 Werner Koch + + + * Makefile.am: Use .s files as temporaries, disabled other .S rules. + +Wed Jul 7 13:08:40 CEST 1999 Werner Koch + + + * mpicoder.c (g10_log_mpidump): New. + + * Makefile.am: Support for libtool. + +Fri Jul 2 11:45:54 CEST 1999 Werner Koch + + + * mpi-bit.c (mpi_lshift_limbs,mpi_rshift_limbs): New. + * mpi-mpow.c (barrett_mulm): New but diabled. + Tue Jun 1 16:01:46 CEST 1999 Werner Koch * config.links (i[56]86*-*-freebsdelf*): New. diff -urN gnupg-0.9.8/mpi/Makefile.am gnupg-0.9.9/mpi/Makefile.am --- gnupg-0.9.8/mpi/Makefile.am Thu Apr 22 18:33:40 1999 +++ gnupg-0.9.9/mpi/Makefile.am Wed Jul 14 12:08:26 1999 @@ -1,5 +1,6 @@ ## Process this file with automake to produce Makefile.in + INCLUDES = -I$(top_srcdir)/include CFLAGS = @CFLAGS@ @MPI_OPT_FLAGS@ SFLAGS = @MPI_SFLAGS@ @@ -7,14 +8,13 @@ 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 -CLEANFILES = tmp-*.s - +# Note: we only use .S files so we should delete all left over .s +CLEANFILES = *.s -noinst_LIBRARIES = libmpi.a -# noinst_HEADERS = +noinst_LTLIBRARIES = libmpi.la - -libmpi_a_SOURCES = longlong.h \ +libmpi_la_LDFLAGS = +libmpi_la_SOURCES = longlong.h \ mpi-add.c \ mpi-bit.c \ mpi-cmp.c \ @@ -37,22 +37,24 @@ # Note this objects are actually links, the sourcefiles are # distributed by special code in dist-hook -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_a_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ -libmpi_a_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ +common_asm_objects = mpih-mul1.lo \ + mpih-mul2.lo \ + mpih-mul3.lo \ + mpih-add1.lo \ + mpih-sub1.lo \ + mpih-lshift.lo \ + mpih-rshift.lo -SUFFIXES = .S +libmpi_la_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ +libmpi_la_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 .S.o: - $(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >tmp-$*.s - $(CC) $(CFLAGS) $(SFLAGS) -c tmp-$*.s - mv tmp-$*.o $@ - rm -f tmp-$*.s + +.S.lo: + +.S.s: + $(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >$*.s + diff -urN gnupg-0.9.8/mpi/Makefile.in gnupg-0.9.9/mpi/Makefile.in --- gnupg-0.9.8/mpi/Makefile.in Sat Jun 26 13:07:08 1999 +++ gnupg-0.9.9/mpi/Makefile.in Fri Jul 23 14:25:32 1999 @@ -64,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -84,12 +85,17 @@ 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@ @@ -109,40 +115,40 @@ 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 -CLEANFILES = tmp-*.s +# Note: we only use .S files so we should delete all left over .s +CLEANFILES = *.s -noinst_LIBRARIES = libmpi.a -# noinst_HEADERS = +noinst_LTLIBRARIES = libmpi.la -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 +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 # Note this objects are actually links, the sourcefiles are # distributed by special code in dist-hook -common_asm_objects = mpih-mul1.o mpih-mul2.o mpih-mul3.o mpih-add1.o mpih-sub1.o mpih-lshift.o mpih-rshift.o +common_asm_objects = mpih-mul1.lo mpih-mul2.lo mpih-mul3.lo mpih-add1.lo mpih-sub1.lo mpih-lshift.lo mpih-rshift.lo -libmpi_a_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ -libmpi_a_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ - -SUFFIXES = .S +libmpi_la_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ +libmpi_la_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@ mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) +LTLIBRARIES = $(noinst_LTLIBRARIES) DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -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 +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 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 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -150,13 +156,13 @@ TAR = tar GZIP_ENV = --best -SOURCES = $(libmpi_a_SOURCES) -OBJECTS = $(libmpi_a_OBJECTS) +SOURCES = $(libmpi_la_SOURCES) +OBJECTS = $(libmpi_la_OBJECTS) all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +.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 mpi/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -164,14 +170,14 @@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -mostlyclean-noinstLIBRARIES: +mostlyclean-noinstLTLIBRARIES: -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -distclean-noinstLIBRARIES: +distclean-noinstLTLIBRARIES: -maintainer-clean-noinstLIBRARIES: +maintainer-clean-noinstLTLIBRARIES: .c.o: $(COMPILE) -c $< @@ -189,10 +195,24 @@ maintainer-clean-compile: -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 +.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) tags: TAGS @@ -238,59 +258,59 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -g10m.o: g10m.c ../config.h ../g10defs.h ../include/mpi.h \ +g10m.lo 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.o: mpi-add.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-add.lo 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.o: mpi-bit.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-bit.lo 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.o: mpi-cmp.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-cmp.lo 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.o: mpi-div.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-div.lo 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.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.o: mpi-inline.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-gcd.lo 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-inv.o: mpi-inv.c ../config.h ../g10defs.h mpi-internal.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 \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.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-mul.o: mpi-mul.c ../config.h ../g10defs.h mpi-internal.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 \ ../include/mpi.h ../include/iobuf.h ../include/types.h \ ../include/memory.h mpi-inline.h -mpi-pow.o: mpi-pow.c ../config.h ../g10defs.h mpi-internal.h \ +mpi-pow.lo 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-inline.h longlong.h -mpi-scan.o: mpi-scan.c ../config.h ../g10defs.h mpi-internal.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 \ ../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/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/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 + ../include/memory.h mpi-internal.h mpi-inline.h \ + ../include/util.h ../include/errors.h info-am: info: info-am @@ -311,7 +331,7 @@ install: install-am uninstall-am: uninstall: uninstall-am -all-am: Makefile $(LIBRARIES) +all-am: Makefile $(LTLIBRARIES) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install @@ -329,46 +349,54 @@ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: -mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ - mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \ + mostlyclean-libtool mostlyclean-tags \ + mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \ - mostlyclean-am +clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \ + clean-tags clean-generic mostlyclean-am clean: clean-am -distclean-am: distclean-noinstLIBRARIES distclean-compile \ - distclean-tags distclean-generic clean-am +distclean-am: distclean-noinstLTLIBRARIES distclean-compile \ + distclean-libtool distclean-tags distclean-generic \ + clean-am + -rm -f libtool distclean: distclean-am -maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am +maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \ + maintainer-clean-compile maintainer-clean-libtool \ + 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-noinstLIBRARIES distclean-noinstLIBRARIES \ -clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ +.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \ +clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -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 +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 +# cancel the default rules used by libtool which do not really +# work and add one to cpp .S files .S.o: - $(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >tmp-$*.s - $(CC) $(CFLAGS) $(SFLAGS) -c tmp-$*.s - mv tmp-$*.o $@ - rm -f tmp-$*.s + +.S.lo: + +.S.s: + $(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >$*.s # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -urN gnupg-0.9.8/mpi/mpi-bit.c gnupg-0.9.9/mpi/mpi-bit.c --- gnupg-0.9.8/mpi/mpi-bit.c Sat Jan 9 14:49:59 1999 +++ gnupg-0.9.9/mpi/mpi-bit.c Thu Jul 1 16:21:11 1999 @@ -212,3 +212,51 @@ x->nlimbs = xsize; } + +/**************** + * Shift A by COUNT limbs to the left + * This is used only within the MPI library + */ +void +mpi_lshift_limbs( MPI a, unsigned int count ) +{ + mpi_ptr_t ap = a->d; + int n = a->nlimbs; + int i; + + if( !count || !n ) + return; + + RESIZE_IF_NEEDED( a, n+count ); + + for( i = n-1; i >= 0; i-- ) + ap[i+count] = ap[i]; + for(i=0; i < count; i++ ) + ap[i] = 0; + a->nlimbs += count; +} + + +/**************** + * Shift A by COUNT limbs to the right + * This is used only within the MPI library + */ +void +mpi_rshift_limbs( MPI a, unsigned int count ) +{ + mpi_ptr_t ap = a->d; + mpi_size_t n = a->nlimbs; + unsigned int i; + + if( count >= n ) { + a->nlimbs = 0; + return; + } + + for( i = 0; i < n - count; i++ ) + ap[i] = ap[i+count]; + ap[i] = 0; + a->nlimbs -= count; +} + + diff -urN gnupg-0.9.8/mpi/mpi-internal.h gnupg-0.9.9/mpi/mpi-internal.h --- gnupg-0.9.8/mpi/mpi-internal.h Fri Dec 18 07:25:42 1998 +++ gnupg-0.9.9/mpi/mpi-internal.h Thu Jul 1 16:16:24 1999 @@ -161,6 +161,11 @@ #endif void mpi_assign_limb_space( MPI a, mpi_ptr_t ap, unsigned nlimbs ); +/*-- mpi-bit.c --*/ +void mpi_rshift_limbs( MPI a, unsigned int count ); +void mpi_lshift_limbs( MPI a, unsigned int count ); + + /*-- mpihelp-add.c --*/ mpi_limb_t mpihelp_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_limb_t s2_limb ); diff -urN gnupg-0.9.8/mpi/mpi-mpow.c gnupg-0.9.9/mpi/mpi-mpow.c --- gnupg-0.9.8/mpi/mpi-mpow.c Fri Dec 18 07:25:42 1998 +++ gnupg-0.9.9/mpi/mpi-mpow.c Thu Jul 1 21:10:46 1999 @@ -1,5 +1,5 @@ /* mpi-mpow.c - MPI functions - * Copyright (C) 1998 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -25,6 +25,22 @@ #include "longlong.h" #include +/* Barrett is slower than the classical way. It can be tweaked by + * using partial multiplications + */ +/*#define USE_BARRETT*/ + + + +#ifdef USE_BARRETT +static void barrett_mulm( MPI w, MPI u, MPI v, MPI m, MPI y, int k, MPI r1, MPI r2 ); +static MPI init_barrett( MPI m, int *k, MPI *r1, MPI *r2 ); +static int calc_barrett( MPI r, MPI x, MPI m, MPI y, int k, MPI r1, MPI r2 ); +#else +#define barrett_mulm( w, u, v, m, y, k, r1, r2 ) mpi_mulm( (w), (u), (v), (m) ) +#endif + + static int build_index( MPI *exparray, int k, int i, int t ) { @@ -52,6 +68,10 @@ int i, j, idx; MPI *G; /* table with precomputed values of size 2^k */ MPI tmp; + #ifdef USE_BARRETT + MPI barrett_y, barrett_r1, barrett_r2; + int barrett_k; + #endif for(k=0; basearray[k]; k++ ) ; @@ -68,27 +88,15 @@ assert( k < 10 ); G = m_alloc_clear( (1<= 0 && idx < (1< 3 ? k-3:0; + + mpi_normalize( x ); + if( mpi_get_nlimbs(x) > 2*k ) + return 1; /* can't do it */ + + /* 1. q1 = floor( x / b^k-1) + * q2 = q1 * y + * q3 = floor( q2 / b^k+1 ) + * Actually, we don't need qx, we can work direct on r2 + */ + mpi_set( r2, x ); + mpi_rshift_limbs( r2, k-1 ); + mpi_mul( r2, r2, y ); + mpi_rshift_limbs( r2, k+1 ); + + /* 2. r1 = x mod b^k+1 + * r2 = q3 * m mod b^k+1 + * r = r1 - r2 + * 3. if r < 0 then r = r + b^k+1 + */ + mpi_set( r1, x ); + if( r1->nlimbs > k+1 ) /* quick modulo operation */ + r1->nlimbs = k+1; + mpi_mul( r2, r2, m ); + if( r2->nlimbs > k+1 ) /* quick modulo operation */ + r2->nlimbs = k+1; + mpi_sub( r, r1, r2 ); + + if( mpi_is_neg( r ) ) { + MPI tmp; + + tmp = mpi_alloc( k + 2 ); + mpi_set_ui( tmp, 1 ); + mpi_lshift_limbs( tmp, k+1 ); + mpi_add( r, r, tmp ); + mpi_free(tmp); + } + + /* 4. while r >= m do r = r - m */ + while( mpi_cmp( r, m ) >= 0 ) + mpi_sub( r, r, m ); + + return 0; +} +#endif /* USE_BARRETT */ diff -urN gnupg-0.9.8/mpi/mpicoder.c gnupg-0.9.9/mpi/mpicoder.c --- gnupg-0.9.8/mpi/mpicoder.c Fri Dec 18 07:25:42 1998 +++ gnupg-0.9.9/mpi/mpicoder.c Tue Jul 6 17:21:54 1999 @@ -286,6 +286,16 @@ } +void +g10_log_mpidump( const char *text, MPI a ) +{ + FILE *fp = log_stream(); + + g10_log_print_prefix(text); + mpi_print(fp, a, 1 ); + fputc('\n', fp); +} + /**************** * Special function to get the low 8 bytes from an mpi. * This can be used as a keyid; KEYID is an 2 element array. diff -urN gnupg-0.9.8/po/ChangeLog gnupg-0.9.9/po/ChangeLog --- gnupg-0.9.8/po/ChangeLog Sat Jun 26 12:16:00 1999 +++ gnupg-0.9.9/po/ChangeLog Tue Jul 13 17:39:29 1999 @@ -1,5 +1,13 @@ -Sat Jun 26 12:15:59 CEST 1999 Werner Koch +Tue Jul 13 17:39:25 CEST 1999 Werner Koch + + + * de.po: Updated (Walter) +Tue Jun 29 21:44:25 CEST 1999 Werner Koch + + * it.po: Updated (Marco). + +Sat Jun 26 12:15:59 CEST 1999 Werner Koch * pt_BR.po: Updated (Thiago). diff -urN gnupg-0.9.8/po/cat-id-tbl.c gnupg-0.9.9/po/cat-id-tbl.c --- gnupg-0.9.8/po/cat-id-tbl.c Sat Jun 26 10:51:54 1999 +++ gnupg-0.9.9/po/cat-id-tbl.c Fri Jul 23 12:13:51 1999 @@ -94,64 +94,67 @@ {"list secret keys", 75}, {"generate a new key pair", 76}, {"remove key from the public keyring", 77}, - {"sign or edit a key", 78}, - {"generate a revocation certificate", 79}, - {"export keys", 80}, - {"export keys to a key server", 81}, - {"import keys from a key server", 82}, - {"import/merge keys", 83}, - {"list only the sequence of packets", 84}, - {"export the ownertrust values", 85}, - {"import ownertrust values", 86}, - {"|[NAMES]|update the trust database", 87}, - {"|[NAMES]|check the trust database", 88}, - {"fix a corrupted trust database", 89}, - {"De-Armor a file or stdin", 90}, - {"En-Armor a file or stdin", 91}, - {"|algo [files]|print message digests", 92}, - {"print all message digests", 93}, + {"sign a key", 78}, + {"sign a key locally", 79}, + {"sign or edit a key", 80}, + {"generate a revocation certificate", 81}, + {"export keys", 82}, + {"export keys to a key server", 83}, + {"import keys from a key server", 84}, + {"import/merge keys", 85}, + {"list only the sequence of packets", 86}, + {"export the ownertrust values", 87}, + {"import ownertrust values", 88}, + {"update the trust database", 89}, + {"|[NAMES]|check the trust database", 90}, + {"fix a corrupted trust database", 91}, + {"De-Armor a file or stdin", 92}, + {"En-Armor a file or stdin", 93}, + {"|algo [files]|print message digests", 94}, {"\ @\n\ Options:\n\ - ", 94}, - {"create ascii armored output", 95}, - {"|NAME|encrypt for NAME", 96}, - {"use this user-id to sign or decrypt", 97}, - {"|N|set compress level N (0 disables)", 98}, - {"use canonical text mode", 99}, - {"use as output file", 100}, - {"verbose", 101}, - {"be somewhat more quiet", 102}, - {"don't use the terminal at all", 103}, - {"force v3 signatures", 104}, - {"always use a MDC for encryption", 105}, - {"do not make any changes", 106}, - {"batch mode: never ask", 107}, - {"assume yes on most questions", 108}, - {"assume no on most questions", 109}, - {"add this keyring to the list of keyrings", 110}, - {"add this secret keyring to the list", 111}, - {"|NAME|use NAME as default secret key", 112}, - {"|HOST|use this keyserver to lookup keys", 113}, - {"|NAME|set terminal charset to NAME", 114}, - {"read options from file", 115}, - {"set debugging flags", 116}, - {"enable full debugging", 117}, - {"|FD|write status info to this FD", 118}, - {"do not write comment packets", 119}, - {"(default is 1)", 120}, - {"(default is 3)", 121}, - {"|FILE|load extension module FILE", 122}, - {"emulate the mode described in RFC1991", 123}, - {"set all packet, cipher and digest options to OpenPGP behavior", 124}, - {"|N|use passphrase mode N", 125}, - {"|NAME|use message digest algorithm NAME for passphrases", 126}, - {"|NAME|use cipher algorithm NAME for passphrases", 127}, - {"|NAME|use cipher algorithm NAME", 128}, - {"|NAME|use message digest algorithm NAME", 129}, - {"|N|use compress algorithm N", 130}, - {"throw keyid field of encrypted packets", 131}, - {"|NAME=VALUE|use this notation data", 132}, + ", 95}, + {"create ascii armored output", 96}, + {"|NAME|encrypt for NAME", 97}, + {"|NAME|use NAME as default recipient", 98}, + {"use the default key as default recipient", 99}, + {"use this user-id to sign or decrypt", 100}, + {"|N|set compress level N (0 disables)", 101}, + {"use canonical text mode", 102}, + {"use as output file", 103}, + {"verbose", 104}, + {"be somewhat more quiet", 105}, + {"don't use the terminal at all", 106}, + {"force v3 signatures", 107}, + {"always use a MDC for encryption", 108}, + {"do not make any changes", 109}, + {"batch mode: never ask", 110}, + {"assume yes on most questions", 111}, + {"assume no on most questions", 112}, + {"add this keyring to the list of keyrings", 113}, + {"add this secret keyring to the list", 114}, + {"|NAME|use NAME as default secret key", 115}, + {"|HOST|use this keyserver to lookup keys", 116}, + {"|NAME|set terminal charset to NAME", 117}, + {"read options from file", 118}, + {"set debugging flags", 119}, + {"enable full debugging", 120}, + {"|FD|write status info to this FD", 121}, + {"do not write comment packets", 122}, + {"(default is 1)", 123}, + {"(default is 3)", 124}, + {"|FILE|load extension module FILE", 125}, + {"emulate the mode described in RFC1991", 126}, + {"set all packet, cipher and digest options to OpenPGP behavior", 127}, + {"|N|use passphrase mode N", 128}, + {"|NAME|use message digest algorithm NAME for passphrases", 129}, + {"|NAME|use cipher algorithm NAME for passphrases", 130}, + {"|NAME|use cipher algorithm NAME", 131}, + {"|NAME|use message digest algorithm NAME", 132}, + {"|N|use compress algorithm N", 133}, + {"throw keyid field of encrypted packets", 134}, + {"|NAME=VALUE|use this notation data", 135}, {"\ @\n\ Examples:\n\ @@ -160,78 +163,82 @@ --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", 133}, - {"Please report bugs to .\n", 134}, - {"Usage: gpg [options] [files] (-h for help)", 135}, + --fingerprint [names] show fingerprints\n", 136}, + {"Please report bugs to .\n", 137}, + {"Usage: gpg [options] [files] (-h for help)", 138}, {"\ Syntax: gpg [options] [files]\n\ sign, check, encrypt or decrypt\n\ -default operation depends on the input data\n", 136}, +default operation depends on the input data\n", 139}, {"\ \n\ -Supported algorithms:\n", 137}, - {"usage: gpg [options] ", 138}, - {"conflicting commands\n", 139}, - {"NOTE: no default option file `%s'\n", 140}, - {"option file `%s': %s\n", 141}, - {"reading options from `%s'\n", 142}, - {"%s is not a valid character set\n", 143}, - {"selected cipher algorithm is invalid\n", 144}, - {"selected digest algorithm is invalid\n", 145}, - {"the given policy URL is invalid\n", 146}, - {"compress algorithm must be in range %d..%d\n", 147}, - {"completes-needed must be greater than 0\n", 148}, - {"marginals-needed must be greater than 1\n", 149}, - {"max-cert-depth must be in range 1 to 255\n", 150}, - {"NOTE: simple S2K mode (0) is strongly discouraged\n", 151}, - {"invalid S2K mode; must be 0, 1 or 3\n", 152}, - {"failed to initialize the TrustDB: %s\n", 153}, - {"--store [filename]", 154}, - {"--symmetric [filename]", 155}, - {"--encrypt [filename]", 156}, - {"--sign [filename]", 157}, - {"--sign --encrypt [filename]", 158}, - {"--clearsign [filename]", 159}, - {"--decrypt [filename]", 160}, - {"--edit-key username [commands]", 161}, - {"--delete-secret-key username", 162}, - {"--delete-key username", 163}, - {"can't open %s: %s\n", 164}, - {"-k[v][v][v][c] [userid] [keyring]", 165}, - {"dearmoring failed: %s\n", 166}, - {"enarmoring failed: %s\n", 167}, - {"invalid hash algorithm `%s'\n", 168}, - {"[filename]", 169}, - {"Go ahead and type your message ...\n", 170}, - {"can't open `%s'\n", 171}, +Supported algorithms:\n", 140}, + {"usage: gpg [options] ", 141}, + {"conflicting commands\n", 142}, + {"NOTE: no default option file `%s'\n", 143}, + {"option file `%s': %s\n", 144}, + {"reading options from `%s'\n", 145}, + {"%s is not a valid character set\n", 146}, + {"selected cipher algorithm is invalid\n", 147}, + {"selected digest algorithm is invalid\n", 148}, + {"the given policy URL is invalid\n", 149}, + {"compress algorithm must be in range %d..%d\n", 150}, + {"completes-needed must be greater than 0\n", 151}, + {"marginals-needed must be greater than 1\n", 152}, + {"max-cert-depth must be in range 1 to 255\n", 153}, + {"NOTE: simple S2K mode (0) is strongly discouraged\n", 154}, + {"invalid S2K mode; must be 0, 1 or 3\n", 155}, + {"failed to initialize the TrustDB: %s\n", 156}, + {"--store [filename]", 157}, + {"--symmetric [filename]", 158}, + {"--encrypt [filename]", 159}, + {"--sign [filename]", 160}, + {"--sign --encrypt [filename]", 161}, + {"--clearsign [filename]", 162}, + {"--decrypt [filename]", 163}, + {"--sign-key user-id", 164}, + {"--lsign-key user-id", 165}, + {"--edit-key user-id [commands]", 166}, + {"--delete-secret-key user-id", 167}, + {"--delete-key user-id", 168}, + {"can't open %s: %s\n", 169}, + {"-k[v][v][v][c] [userid] [keyring]", 170}, + {"dearmoring failed: %s\n", 171}, + {"enarmoring failed: %s\n", 172}, + {"invalid hash algorithm `%s'\n", 173}, + {"[filename]", 174}, + {"Go ahead and type your message ...\n", 175}, + {"can't open `%s'\n", 176}, {"\ -the first character of a notation name must be a letter or an underscore\n", 172}, +the first character of a notation name must be a letter or an underscore\n", 177}, {"\ a notation name must have only letters, digits, dots or underscores and end \ -with an '='\n", 173}, - {"dots in a notation name must be surrounded by other characters\n", 174}, - {"a notation value must not use any control characters\n", 175}, - {"armor: %s\n", 176}, - {"invalid armor header: ", 177}, - {"armor header: ", 178}, - {"invalid clearsig header\n", 179}, - {"nested clear text signatures\n", 180}, - {"invalid dash escaped line: ", 181}, - {"unexpected armor:", 182}, - {"invalid radix64 character %02x skipped\n", 183}, - {"premature eof (no CRC)\n", 184}, - {"premature eof (in CRC)\n", 185}, - {"malformed CRC\n", 186}, - {"CRC error; %06lx - %06lx\n", 187}, - {"premature eof (in Trailer)\n", 188}, - {"error in trailer line\n", 189}, - {"no valid OpenPGP data found.\n", 190}, - {"invalid armor: line longer than %d characters\n", 191}, - {"\ -quoted printable character in armor - probably a buggy MTA has been used\n", 192}, +with an '='\n", 178}, + {"dots in a notation name must be surrounded by other characters\n", 179}, + {"a notation value must not use any control characters\n", 180}, + {"armor: %s\n", 181}, + {"invalid armor header: ", 182}, + {"armor header: ", 183}, + {"invalid clearsig header\n", 184}, + {"nested clear text signatures\n", 185}, + {"invalid dash escaped line: ", 186}, + {"unexpected armor:", 187}, + {"invalid radix64 character %02x skipped\n", 188}, + {"premature eof (no CRC)\n", 189}, + {"premature eof (in CRC)\n", 190}, + {"malformed CRC\n", 191}, + {"CRC error; %06lx - %06lx\n", 192}, + {"premature eof (in Trailer)\n", 193}, + {"error in trailer line\n", 194}, + {"no valid OpenPGP data found.\n", 195}, + {"invalid armor: line longer than %d characters\n", 196}, + {"\ +quoted printable character in armor - probably a buggy MTA has been used\n", 197}, + {" Fingerprint:", 198}, + {"sSmMqQ", 199}, {"\ No trust value assigned to %lu:\n\ -%4u%c/%08lX %s \"", 193}, +%4u%c/%08lX %s \"", 200}, {"\ Please decide how far you trust this user to correctly\n\ verify other users' keys (by looking at passports,\n\ @@ -241,571 +248,562 @@ 2 = I do NOT trust\n\ 3 = I trust marginally\n\ 4 = I trust fully\n\ - s = please show me more information\n", 194}, - {" m = back to the main menu\n", 195}, - {" q = quit\n", 196}, - {"sSmMqQ", 197}, - {"Your decision? ", 198}, - {"Certificates leading to an ultimately trusted key:\n", 199}, + s = please show me more information\n", 201}, + {" m = back to the main menu\n", 202}, + {" q = quit\n", 203}, + {"Your decision? ", 204}, + {"Certificates leading to an ultimately trusted key:\n", 205}, {"\ 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", 200}, +\n", 206}, {"\ No path leading to one of our keys found.\n\ -\n", 201}, +\n", 207}, {"\ No certificates with undefined trust found.\n\ -\n", 202}, +\n", 208}, {"\ No trust values changed.\n\ -\n", 203}, - {"key %08lX: key has been revoked!\n", 204}, - {"Use this key anyway? ", 205}, - {"key %08lX: subkey has been revoked!\n", 206}, - {"%08lX: key has expired\n", 207}, - {"%08lX: no info to calculate a trust probability\n", 208}, - {"%08lX: We do NOT trust this key\n", 209}, +\n", 209}, + {"key %08lX: key has been revoked!\n", 210}, + {"Use this key anyway? ", 211}, + {"key %08lX: subkey has been revoked!\n", 212}, + {"%08lX: key has expired\n", 213}, + {"%08lX: no info to calculate a trust probability\n", 214}, + {"%08lX: We do NOT trust this key\n", 215}, {"\ %08lX: It is not sure that this key really belongs to the owner\n\ -but it is accepted anyway\n", 210}, - {"This key probably belongs to the owner\n", 211}, - {"This key belongs to us\n", 212}, +but it is accepted anyway\n", 216}, + {"This key probably belongs to the owner\n", 217}, + {"This key belongs to us\n", 218}, {"\ 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", 213}, - {"WARNING: Using untrusted key!\n", 214}, - {"WARNING: This key has been revoked by its owner!\n", 215}, - {" This could mean that the signature is forgery.\n", 216}, - {"WARNING: This subkey has been revoked by its owner!\n", 217}, - {"Note: This key has expired!\n", 218}, - {"WARNING: This key is not certified with a trusted signature!\n", 219}, - {"\ - There is no indication that the signature belongs to the owner.\n", 220}, - {"WARNING: We do NOT trust this key!\n", 221}, - {" The signature is probably a FORGERY.\n", 222}, - {"\ -WARNING: This key is not certified with sufficiently trusted signatures!\n", 223}, - {" It is not certain that the signature belongs to the owner.\n", 224}, - {"%s: skipped: %s\n", 225}, - {"%s: skipped: public key already present\n", 226}, +\n", 219}, + {"WARNING: Using untrusted key!\n", 220}, + {"WARNING: This key has been revoked by its owner!\n", 221}, + {" This could mean that the signature is forgery.\n", 222}, + {"WARNING: This subkey has been revoked by its owner!\n", 223}, + {"Note: This key has expired!\n", 224}, + {"WARNING: This key is not certified with a trusted signature!\n", 225}, + {"\ + There is no indication that the signature belongs to the owner.\n", 226}, + {"WARNING: We do NOT trust this key!\n", 227}, + {" The signature is probably a FORGERY.\n", 228}, + {"\ +WARNING: This key is not certified with sufficiently trusted signatures!\n", 229}, + {" It is not certain that the signature belongs to the owner.\n", 230}, + {"%s: skipped: %s\n", 231}, + {"%s: skipped: public key already present\n", 232}, {"\ You did not specify a user ID. (you may use \"-r\")\n\ -\n", 227}, - {"Enter the user ID: ", 228}, - {"No such user ID.\n", 229}, - {"%s: error checking key: %s\n", 230}, - {"no valid addressees\n", 231}, - {"writing self signature\n", 232}, - {"writing key binding signature\n", 233}, - {"Please select what kind of key you want:\n", 234}, - {" (%d) DSA and ElGamal (default)\n", 235}, - {" (%d) DSA (sign only)\n", 236}, - {" (%d) ElGamal (encrypt only)\n", 237}, - {" (%d) ElGamal (sign and encrypt)\n", 238}, - {" (%d) ElGamal in a v3 packet\n", 239}, - {"Your selection? ", 240}, - {"Do you really want to create a sign and encrypt key? ", 241}, - {"Invalid selection.\n", 242}, +\n", 233}, + {"Enter the user ID: ", 234}, + {"No such user ID.\n", 235}, + {"Public key is disabled.\n", 236}, + {"unknown default recipient `s'\n", 237}, + {"%s: error checking key: %s\n", 238}, + {"%s: skipped: public key is disabled\n", 239}, + {"no valid addressees\n", 240}, + {"writing self signature\n", 241}, + {"writing key binding signature\n", 242}, + {"Please select what kind of key you want:\n", 243}, + {" (%d) DSA and ElGamal (default)\n", 244}, + {" (%d) DSA (sign only)\n", 245}, + {" (%d) ElGamal (encrypt only)\n", 246}, + {" (%d) ElGamal (sign and encrypt)\n", 247}, + {" (%d) ElGamal in a v3 packet\n", 248}, + {"Your selection? ", 249}, + {"Do you really want to create a sign and encrypt key? ", 250}, + {"Invalid selection.\n", 251}, {"\ 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", 243}, - {"What keysize do you want? (1024) ", 244}, - {"DSA only allows keysizes from 512 to 1024\n", 245}, - {"keysize too small; 768 is smallest value allowed.\n", 246}, - {"keysize too large; %d is largest value allowed.\n", 247}, + highest suggested keysize is 2048 bits\n", 252}, + {"What keysize do you want? (1024) ", 253}, + {"DSA only allows keysizes from 512 to 1024\n", 254}, + {"keysize too small; 768 is smallest value allowed.\n", 255}, + {"keysize too large; %d is largest value allowed.\n", 256}, {"\ Keysizes larger than 2048 are not suggested because\n\ -computations take REALLY long!\n", 248}, - {"Are you sure that you want this keysize? ", 249}, +computations take REALLY long!\n", 257}, + {"Are you sure that you want this keysize? ", 258}, {"\ Okay, but keep in mind that your monitor and keyboard radiation is also very \ -vulnerable to attacks!\n", 250}, - {"Do you really need such a large keysize? ", 251}, - {"Requested keysize is %u bits\n", 252}, - {"rounded up to %u bits\n", 253}, +vulnerable to attacks!\n", 259}, + {"Do you really need such a large keysize? ", 260}, + {"Requested keysize is %u bits\n", 261}, + {"rounded up to %u bits\n", 262}, {"\ 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", 254}, - {"Key is valid for? (0) ", 255}, - {"invalid value\n", 256}, - {"Key does not expire at all\n", 257}, - {"Key expires at %s\n", 258}, - {"Is this correct (y/n)? ", 259}, + y = key expires in n years\n", 263}, + {"Key is valid for? (0) ", 264}, + {"invalid value\n", 265}, + {"Key does not expire at all\n", 266}, + {"Key expires at %s\n", 267}, + {"Is this correct (y/n)? ", 268}, {"\ \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", 260}, - {"Real name: ", 261}, - {"Invalid character in name\n", 262}, - {"Name may not start with a digit\n", 263}, - {"Name must be at least 5 characters long\n", 264}, - {"Email address: ", 265}, - {"Not a valid email address\n", 266}, - {"Comment: ", 267}, - {"Invalid character in comment\n", 268}, - {"You are using the `%s' character set.\n", 269}, +\n", 269}, + {"Real name: ", 270}, + {"Invalid character in name\n", 271}, + {"Name may not start with a digit\n", 272}, + {"Name must be at least 5 characters long\n", 273}, + {"Email address: ", 274}, + {"Not a valid email address\n", 275}, + {"Comment: ", 276}, + {"Invalid character in comment\n", 277}, + {"You are using the `%s' character set.\n", 278}, {"\ You selected this USER-ID:\n\ \"%s\"\n\ -\n", 270}, - {"NnCcEeOoQq", 271}, - {"Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? ", 272}, +\n", 279}, + {"NnCcEeOoQq", 280}, + {"Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? ", 281}, {"\ You need a Passphrase to protect your secret key.\n\ -\n", 273}, - {"passphrase not correctly repeated; try again.\n", 274}, +\n", 282}, + {"passphrase not correctly repeated; try again.\n", 283}, {"\ 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", 275}, +\n", 284}, {"\ 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", 276}, - {"Key generation can only be used in interactive mode\n", 277}, - {"DSA keypair will have 1024 bits.\n", 278}, - {"Key generation canceled.\n", 279}, - {"writing public certificate to `%s'\n", 280}, - {"writing secret certificate to `%s'\n", 281}, - {"public and secret key created and signed.\n", 282}, +generator a better chance to gain enough entropy.\n", 285}, + {"Key generation can only be used in interactive mode\n", 286}, + {"DSA keypair will have 1024 bits.\n", 287}, + {"Key generation canceled.\n", 288}, + {"writing public certificate to `%s'\n", 289}, + {"writing secret certificate to `%s'\n", 290}, + {"public and secret key created and signed.\n", 291}, {"\ 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", 283}, - {"Key generation failed: %s\n", 284}, +the command \"--edit-key\" to generate a secondary key for this purpose.\n", 292}, + {"Key generation failed: %s\n", 293}, {"\ -key has been created %lu second in future (time warp or clock problem)\n", 285}, +key has been created %lu second in future (time warp or clock problem)\n", 294}, {"\ -key has been created %lu seconds in future (time warp or clock problem)\n", 286}, - {"Really create? ", 287}, - {"%s: can't open: %s\n", 288}, - {"error creating passphrase: %s\n", 289}, - {"%s: WARNING: empty file\n", 290}, - {"reading from `%s'\n", 291}, - {"%s/%s encrypted for: %s\n", 292}, - {"%s: user not found: %s\n", 293}, - {"certificate read problem: %s\n", 294}, - {"key %08lX: not a rfc2440 key - skipped\n", 295}, - {"WARNING: nothing exported\n", 296}, - {"too many entries in pk cache - disabled\n", 297}, - {"too many entries in unk cache - disabled\n", 298}, - {"using secondary key %08lX instead of primary key %08lX\n", 299}, - {"can't open `%s': %s\n", 300}, - {"skipping block of type %d\n", 301}, - {"%lu keys so far processed\n", 302}, - {"error reading `%s': %s\n", 303}, - {"Total number processed: %lu\n", 304}, - {" w/o user IDs: %lu\n", 305}, - {" imported: %lu", 306}, - {" unchanged: %lu\n", 307}, - {" new user IDs: %lu\n", 308}, - {" new subkeys: %lu\n", 309}, - {" new signatures: %lu\n", 310}, - {" new key revocations: %lu\n", 311}, - {" secret keys read: %lu\n", 312}, - {" secret keys imported: %lu\n", 313}, - {" secret keys unchanged: %lu\n", 314}, - {"key %08lX: no user id\n", 315}, - {"key %08lX: no valid user ids\n", 316}, - {"this may be caused by a missing self-signature\n", 317}, - {"key %08lX: public key not found: %s\n", 318}, - {"no default public keyring\n", 319}, - {"writing to `%s'\n", 320}, - {"can't lock keyring `%s': %s\n", 321}, - {"error writing keyring `%s': %s\n", 322}, - {"key %08lX: public key imported\n", 323}, - {"key %08lX: doesn't match our copy\n", 324}, - {"key %08lX: can't locate original keyblock: %s\n", 325}, - {"key %08lX: can't read original keyblock: %s\n", 326}, - {"key %08lX: 1 new user-id\n", 327}, - {"key %08lX: %d new user-ids\n", 328}, - {"key %08lX: 1 new signature\n", 329}, - {"key %08lX: %d new signatures\n", 330}, - {"key %08lX: 1 new subkey\n", 331}, - {"key %08lX: %d new subkeys\n", 332}, - {"key %08lX: not changed\n", 333}, - {"key %08lX: secret key imported\n", 334}, - {"key %08lX: already in secret keyring\n", 335}, - {"key %08lX: secret key not found: %s\n", 336}, - {"key %08lX: no public key - can't apply revocation certificate\n", 337}, - {"key %08lX: invalid revocation certificate: %s - rejected\n", 338}, - {"key %08lX: revocation certificate imported\n", 339}, - {"key %08lX: no user-id for signature\n", 340}, - {"key %08lX: unsupported public key algorithm\n", 341}, - {"key %08lX: invalid self-signature\n", 342}, - {"key %08lX: no subkey for key binding\n", 343}, - {"key %08lX: invalid subkey binding\n", 344}, - {"key %08lX: skipped userid '", 345}, - {"key %08lX: skipped subkey\n", 346}, - {"key %08lX: non exportable signature (class %02x) - skipped\n", 347}, - {"key %08lX: revocation certificate at wrong place - skipped\n", 348}, - {"key %08lX: invalid revocation certificate: %s - skipped\n", 349}, - {"key %08lX: duplicated user ID detected - merged\n", 350}, - {"key %08lX: revocation certificate added\n", 351}, - {"key %08lX: our copy has no self-signature\n", 352}, - {"%s: user not found\n", 353}, - {"[revocation]", 354}, - {"[self-signature]", 355}, - {"1 bad signature\n", 356}, - {"%d bad signatures\n", 357}, - {"1 signature not checked due to a missing key\n", 358}, - {"%d signatures not checked due to missing keys\n", 359}, - {"1 signature not checked due to an error\n", 360}, - {"%d signatures not checked due to errors\n", 361}, - {"1 user id without valid self-signature detected\n", 362}, - {"%d user ids without valid self-signatures detected\n", 363}, - {"Already signed by key %08lX\n", 364}, - {"Nothing to sign with key %08lX\n", 365}, +key has been created %lu seconds in future (time warp or clock problem)\n", 295}, + {"Really create? ", 296}, + {"%s: can't open: %s\n", 297}, + {"error creating passphrase: %s\n", 298}, + {"%s: WARNING: empty file\n", 299}, + {"reading from `%s'\n", 300}, + {"%s/%s encrypted for: %s\n", 301}, + {"%s: user not found: %s\n", 302}, + {"certificate read problem: %s\n", 303}, + {"key %08lX: not a rfc2440 key - skipped\n", 304}, + {"WARNING: nothing exported\n", 305}, + {"too many entries in pk cache - disabled\n", 306}, + {"too many entries in unk cache - disabled\n", 307}, + {"using secondary key %08lX instead of primary key %08lX\n", 308}, + {"can't open `%s': %s\n", 309}, + {"skipping block of type %d\n", 310}, + {"%lu keys so far processed\n", 311}, + {"error reading `%s': %s\n", 312}, + {"Total number processed: %lu\n", 313}, + {" w/o user IDs: %lu\n", 314}, + {" imported: %lu", 315}, + {" unchanged: %lu\n", 316}, + {" new user IDs: %lu\n", 317}, + {" new subkeys: %lu\n", 318}, + {" new signatures: %lu\n", 319}, + {" new key revocations: %lu\n", 320}, + {" secret keys read: %lu\n", 321}, + {" secret keys imported: %lu\n", 322}, + {" secret keys unchanged: %lu\n", 323}, + {"key %08lX: no user id\n", 324}, + {"key %08lX: no valid user ids\n", 325}, + {"this may be caused by a missing self-signature\n", 326}, + {"key %08lX: public key not found: %s\n", 327}, + {"no default public keyring\n", 328}, + {"writing to `%s'\n", 329}, + {"can't lock keyring `%s': %s\n", 330}, + {"error writing keyring `%s': %s\n", 331}, + {"key %08lX: public key imported\n", 332}, + {"key %08lX: doesn't match our copy\n", 333}, + {"key %08lX: can't locate original keyblock: %s\n", 334}, + {"key %08lX: can't read original keyblock: %s\n", 335}, + {"key %08lX: 1 new user-id\n", 336}, + {"key %08lX: %d new user-ids\n", 337}, + {"key %08lX: 1 new signature\n", 338}, + {"key %08lX: %d new signatures\n", 339}, + {"key %08lX: 1 new subkey\n", 340}, + {"key %08lX: %d new subkeys\n", 341}, + {"key %08lX: not changed\n", 342}, + {"key %08lX: secret key imported\n", 343}, + {"key %08lX: already in secret keyring\n", 344}, + {"key %08lX: secret key not found: %s\n", 345}, + {"key %08lX: no public key - can't apply revocation certificate\n", 346}, + {"key %08lX: invalid revocation certificate: %s - rejected\n", 347}, + {"key %08lX: revocation certificate imported\n", 348}, + {"key %08lX: no user-id for signature\n", 349}, + {"key %08lX: unsupported public key algorithm\n", 350}, + {"key %08lX: invalid self-signature\n", 351}, + {"key %08lX: no subkey for key binding\n", 352}, + {"key %08lX: invalid subkey binding\n", 353}, + {"key %08lX: accepted non self-signed userid '", 354}, + {"key %08lX: skipped userid '", 355}, + {"key %08lX: skipped subkey\n", 356}, + {"key %08lX: non exportable signature (class %02x) - skipped\n", 357}, + {"key %08lX: revocation certificate at wrong place - skipped\n", 358}, + {"key %08lX: invalid revocation certificate: %s - skipped\n", 359}, + {"key %08lX: duplicated user ID detected - merged\n", 360}, + {"key %08lX: revocation certificate added\n", 361}, + {"key %08lX: our copy has no self-signature\n", 362}, + {"%s: user not found\n", 363}, + {"[revocation]", 364}, + {"[self-signature]", 365}, + {"1 bad signature\n", 366}, + {"%d bad signatures\n", 367}, + {"1 signature not checked due to a missing key\n", 368}, + {"%d signatures not checked due to missing keys\n", 369}, + {"1 signature not checked due to an error\n", 370}, + {"%d signatures not checked due to errors\n", 371}, + {"1 user id without valid self-signature detected\n", 372}, + {"%d user ids without valid self-signatures detected\n", 373}, + {"Already signed by key %08lX\n", 374}, + {"Nothing to sign with key %08lX\n", 375}, {"\ Are you really sure that you want to sign this key\n\ -with your key: \"", 366}, +with your key: \"", 376}, {"\ The signature will be marked as non-exportable.\n\ -\n", 367}, - {"Really sign? ", 368}, - {"signing failed: %s\n", 369}, - {"This key is not protected.\n", 370}, - {"Key is protected.\n", 371}, - {"Can't edit this key: %s\n", 372}, +\n", 377}, + {"Really sign? ", 378}, + {"signing failed: %s\n", 379}, + {"This key is not protected.\n", 380}, + {"Key is protected.\n", 381}, + {"Can't edit this key: %s\n", 382}, {"\ Enter the new passphrase for this secret key.\n\ -\n", 373}, +\n", 383}, {"\ You don't want a passphrase - this is probably a *bad* idea!\n\ -\n", 374}, - {"Do you really want to do this? ", 375}, - {"moving a key signature to the correct place\n", 376}, - {"quit this menu", 377}, - {"q", 378}, - {"save", 379}, - {"save and quit", 380}, - {"help", 381}, - {"show this help", 382}, - {"fpr", 383}, - {"show fingerprint", 384}, - {"list", 385}, - {"list key and user ids", 386}, - {"l", 387}, - {"uid", 388}, - {"select user id N", 389}, - {"key", 390}, - {"select secondary key N", 391}, - {"check", 392}, - {"list signatures", 393}, - {"c", 394}, - {"sign", 395}, - {"sign the key", 396}, - {"s", 397}, - {"lsign", 398}, - {"sign the key locally", 399}, - {"debug", 400}, - {"adduid", 401}, - {"add a user id", 402}, - {"deluid", 403}, - {"delete user id", 404}, - {"addkey", 405}, - {"add a secondary key", 406}, - {"delkey", 407}, - {"delete a secondary key", 408}, - {"delsig", 409}, - {"delete signatures", 410}, - {"expire", 411}, - {"change the expire date", 412}, - {"toggle", 413}, - {"toggle between secret and public key listing", 414}, - {"t", 415}, - {"pref", 416}, - {"list preferences", 417}, - {"passwd", 418}, - {"change the passphrase", 419}, - {"trust", 420}, - {"change the ownertrust", 421}, - {"revsig", 422}, - {"revoke signatures", 423}, - {"revkey", 424}, - {"revoke a secondary key", 425}, - {"can't do that in batchmode\n", 426}, - {"Secret key is available.\n", 427}, - {"Command> ", 428}, - {"Need the secret key to do this.\n", 429}, - {"Save changes? ", 430}, - {"Quit without saving? ", 431}, - {"update failed: %s\n", 432}, - {"update secret failed: %s\n", 433}, - {"Key not changed so no update needed.\n", 434}, - {"update of trustdb failed: %s\n", 435}, - {"Really sign all user ids? ", 436}, - {"Hint: Select the user ids to sign\n", 437}, - {"You must select at least one user id.\n", 438}, - {"You can't delete the last user id!\n", 439}, - {"Really remove all selected user ids? ", 440}, - {"Really remove this user id? ", 441}, - {"You must select at least one key.\n", 442}, - {"Do you really want to delete the selected keys? ", 443}, - {"Do you really want to delete this key? ", 444}, - {"Do you really want to revoke the selected keys? ", 445}, - {"Do you really want to revoke this key? ", 446}, - {"Invalid command (try \"help\")\n", 447}, - {"Delete this good signature? (y/N/q)", 448}, - {"Delete this invalid signature? (y/N/q)", 449}, - {"Delete this unknown signature? (y/N/q)", 450}, - {"Really delete this self-signature? (y/N)", 451}, - {"Deleted %d signature.\n", 452}, - {"Deleted %d signatures.\n", 453}, - {"Nothing deleted.\n", 454}, - {"Please remove selections from the secret keys.\n", 455}, - {"Please select at most one secondary key.\n", 456}, - {"Changing expiration time for a secondary key.\n", 457}, - {"Changing expiration time for the primary key.\n", 458}, - {"You can't change the expiration date of a v3 key\n", 459}, - {"No corresponding signature in secret ring\n", 460}, - {"No user id with index %d\n", 461}, - {"No secondary key with index %d\n", 462}, - {"user ID: \"", 463}, +\n", 384}, + {"Do you really want to do this? ", 385}, + {"moving a key signature to the correct place\n", 386}, + {"quit this menu", 387}, + {"q", 388}, + {"save", 389}, + {"save and quit", 390}, + {"help", 391}, + {"show this help", 392}, + {"fpr", 393}, + {"show fingerprint", 394}, + {"list", 395}, + {"list key and user ids", 396}, + {"l", 397}, + {"uid", 398}, + {"select user id N", 399}, + {"key", 400}, + {"select secondary key N", 401}, + {"check", 402}, + {"list signatures", 403}, + {"c", 404}, + {"sign", 405}, + {"sign the key", 406}, + {"s", 407}, + {"lsign", 408}, + {"sign the key locally", 409}, + {"debug", 410}, + {"adduid", 411}, + {"add a user id", 412}, + {"deluid", 413}, + {"delete user id", 414}, + {"addkey", 415}, + {"add a secondary key", 416}, + {"delkey", 417}, + {"delete a secondary key", 418}, + {"delsig", 419}, + {"delete signatures", 420}, + {"expire", 421}, + {"change the expire date", 422}, + {"toggle", 423}, + {"toggle between secret and public key listing", 424}, + {"t", 425}, + {"pref", 426}, + {"list preferences", 427}, + {"passwd", 428}, + {"change the passphrase", 429}, + {"trust", 430}, + {"change the ownertrust", 431}, + {"revsig", 432}, + {"revoke signatures", 433}, + {"revkey", 434}, + {"revoke a secondary key", 435}, + {"disable", 436}, + {"disable a key", 437}, + {"enable", 438}, + {"enable a key", 439}, + {"can't do that in batchmode\n", 440}, + {"Secret key is available.\n", 441}, + {"Command> ", 442}, + {"Need the secret key to do this.\n", 443}, + {"Really sign all user ids? ", 444}, + {"Hint: Select the user ids to sign\n", 445}, + {"update of trustdb failed: %s\n", 446}, + {"You must select at least one user id.\n", 447}, + {"You can't delete the last user id!\n", 448}, + {"Really remove all selected user ids? ", 449}, + {"Really remove this user id? ", 450}, + {"You must select at least one key.\n", 451}, + {"Do you really want to delete the selected keys? ", 452}, + {"Do you really want to delete this key? ", 453}, + {"Do you really want to revoke the selected keys? ", 454}, + {"Do you really want to revoke this key? ", 455}, + {"Save changes? ", 456}, + {"Quit without saving? ", 457}, + {"update failed: %s\n", 458}, + {"update secret failed: %s\n", 459}, + {"Key not changed so no update needed.\n", 460}, + {"Invalid command (try \"help\")\n", 461}, + {"This key has been disabled", 462}, + {"Delete this good signature? (y/N/q)", 463}, + {"Delete this invalid signature? (y/N/q)", 464}, + {"Delete this unknown signature? (y/N/q)", 465}, + {"Really delete this self-signature? (y/N)", 466}, + {"Deleted %d signature.\n", 467}, + {"Deleted %d signatures.\n", 468}, + {"Nothing deleted.\n", 469}, + {"Please remove selections from the secret keys.\n", 470}, + {"Please select at most one secondary key.\n", 471}, + {"Changing expiration time for a secondary key.\n", 472}, + {"Changing expiration time for the primary key.\n", 473}, + {"You can't change the expiration date of a v3 key\n", 474}, + {"No corresponding signature in secret ring\n", 475}, + {"No user id with index %d\n", 476}, + {"No secondary key with index %d\n", 477}, + {"user ID: \"", 478}, {"\ \"\n\ -signed with your key %08lX at %s\n", 464}, - {"Create a revocation certificate for this signature? (y/N)", 465}, - {"Really create the revocation certificates? (y/N)", 466}, - {"no secret key\n", 467}, - {"public key is %08lX\n", 468}, - {"public key encrypted data: good DEK\n", 469}, - {"public key decryption failed: %s\n", 470}, - {"decryption okay\n", 471}, - {"WARNING: encrypted message has been manipulated!\n", 472}, - {"decryption failed: %s\n", 473}, - {"NOTE: sender requested \"for-your-eyes-only\"\n", 474}, - {"original file name='%.*s'\n", 475}, - {"WARNING: invalid notation data found\n", 476}, - {"Notation: ", 477}, - {"Policy: ", 478}, - {"signature verification suppressed\n", 479}, - {"Signature made %.*s using %s key ID %08lX\n", 480}, - {"BAD signature from \"", 481}, - {"Good signature from \"", 482}, - {" aka \"", 483}, - {"Can't check signature: %s\n", 484}, - {"old style (PGP 2.x) signature\n", 485}, - {"invalid root packet detected in proc_tree()\n", 486}, - {"can't disable core dumps: %s\n", 487}, - {"WARNING: program may create a core file!\n", 488}, - {"Experimental algorithms should not be used!\n", 489}, +signed with your key %08lX at %s\n", 479}, + {"Create a revocation certificate for this signature? (y/N)", 480}, + {"Really create the revocation certificates? (y/N)", 481}, + {"no secret key\n", 482}, + {"public key is %08lX\n", 483}, + {"public key encrypted data: good DEK\n", 484}, + {"encrypted with %u-bit %s key, ID %08lX, created %s\n", 485}, + {"encrypted with %s key, ID %08lX\n", 486}, + {"no secret key for decryption available\n", 487}, + {"public key decryption failed: %s\n", 488}, + {"decryption okay\n", 489}, + {"WARNING: encrypted message has been manipulated!\n", 490}, + {"decryption failed: %s\n", 491}, + {"NOTE: sender requested \"for-your-eyes-only\"\n", 492}, + {"original file name='%.*s'\n", 493}, + {"WARNING: invalid notation data found\n", 494}, + {"Notation: ", 495}, + {"Policy: ", 496}, + {"signature verification suppressed\n", 497}, + {"Signature made %.*s using %s key ID %08lX\n", 498}, + {"BAD signature from \"", 499}, + {"Good signature from \"", 500}, + {" aka \"", 501}, + {"Can't check signature: %s\n", 502}, + {"old style (PGP 2.x) signature\n", 503}, + {"invalid root packet detected in proc_tree()\n", 504}, + {"can't disable core dumps: %s\n", 505}, + {"WARNING: program may create a core file!\n", 506}, + {"Experimental algorithms should not be used!\n", 507}, {"\ RSA keys are deprecated; please consider creating a new key and use this key \ -in the future\n", 490}, - {"this cipher algorithm is depreciated; please use a more standard one!\n", 491}, - {"can't handle public key algorithm %d\n", 492}, - {"subpacket of type %d has critical bit set\n", 493}, +in the future\n", 508}, + {"this cipher algorithm is depreciated; please use a more standard one!\n", 509}, + {"can't handle public key algorithm %d\n", 510}, + {"subpacket of type %d has critical bit set\n", 511}, {"\ \n\ You need a passphrase to unlock the secret key for\n\ -user: \"", 494}, - {"%u-bit %s key, ID %08lX, created %s", 495}, - {" (main key ID %08lX)", 496}, - {"Enter passphrase: ", 497}, - {"Repeat passphrase: ", 498}, - {"data not saved; use option \"--output\" to save it\n", 499}, - {"Please enter name of data file: ", 500}, - {"reading stdin ...\n", 501}, - {"can't open signed data `%s'\n", 502}, - {"anonymous receiver; trying secret key %08lX ...\n", 503}, - {"okay, we are the anonymous recipient.\n", 504}, - {"old encoding of the DEK is not supported\n", 505}, - {"NOTE: cipher algorithm %d not found in preferences\n", 506}, - {"protection algorithm %d is not supported\n", 507}, - {"Invalid passphrase; please try again ...\n", 508}, - {"WARNING: Weak key detected - please change passphrase again.\n", 509}, - {"assuming bad MDC due to an unknown critical bit\n", 510}, - {"\ -this is a PGP generated ElGamal key which is NOT secure for signatures!\n", 511}, - {"public key is %lu second newer than the signature\n", 512}, - {"public key is %lu seconds newer than the signature\n", 513}, - {"NOTE: signature key expired %s\n", 514}, - {"assuming bad signature due to an unknown critical bit\n", 515}, - {"%s signature from: %s\n", 516}, - {"can't create %s: %s\n", 517}, - {"signing:", 518}, - {"WARNING: `%s' is an empty file\n", 519}, - {"can't handle text lines longer than %d characters\n", 520}, - {"input line longer than %d characters\n", 521}, - {"trustdb rec %lu: lseek failed: %s\n", 522}, - {"trustdb rec %lu: write failed (n=%d): %s\n", 523}, - {"trustdb transaction too large\n", 524}, - {"%s: can't access: %s\n", 525}, - {"%s: can't create directory: %s\n", 526}, - {"%s: directory created\n", 527}, - {"%s: directory does not exist!\n", 528}, - {"%s: can't create: %s\n", 529}, - {"%s: can't create lock\n", 530}, - {"%s: failed to create version record: %s", 531}, - {"%s: invalid trustdb created\n", 532}, - {"%s: trustdb created\n", 533}, - {"%s: invalid trustdb\n", 534}, - {"%s: failed to create hashtable: %s\n", 535}, - {"%s: error updating version record: %s\n", 536}, - {"%s: error reading version record: %s\n", 537}, - {"%s: error writing version record: %s\n", 538}, - {"trustdb: lseek failed: %s\n", 539}, - {"trustdb: read failed (n=%d): %s\n", 540}, - {"%s: not a trustdb file\n", 541}, - {"%s: version record with recnum %lu\n", 542}, - {"%s: invalid file version %d\n", 543}, - {"%s: error reading free record: %s\n", 544}, - {"%s: error writing dir record: %s\n", 545}, - {"%s: failed to zero a record: %s\n", 546}, - {"%s: failed to append a record: %s\n", 547}, - {"the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n", 548}, - {"trust record %lu, req type %d: read failed: %s\n", 549}, - {"trust record %lu, type %d: write failed: %s\n", 550}, - {"trust record %lu: delete failed: %s\n", 551}, - {"trustdb: sync failed: %s\n", 552}, - {"error reading dir record for LID %lu: %s\n", 553}, - {"lid %lu: expected dir record, got type %d\n", 554}, - {"no primary key for LID %lu\n", 555}, - {"error reading primary key for LID %lu: %s\n", 556}, - {"get_dir_record: search_record failed: %s\n", 557}, - {"NOTE: secret key %08lX is NOT protected.\n", 558}, - {"key %08lX: secret key without public key - skipped\n", 559}, - {"key %08lX: secret and public key don't match\n", 560}, - {"key %08lX: can't put it into the trustdb\n", 561}, - {"key %08lX: query record failed\n", 562}, - {"key %08lX: already in trusted key table\n", 563}, - {"key %08lX: accepted as trusted key.\n", 564}, - {"enumerate secret keys failed: %s\n", 565}, - {"NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n", 566}, - {"NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n", 567}, - {"sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n", 568}, - {"lid %lu: no primary key\n", 569}, - {"lid %lu: user id not found in keyblock\n", 570}, - {"lid %lu: user id without signature\n", 571}, - {"lid %lu: self-signature in hintlist\n", 572}, - {"Valid certificate revocation", 573}, - {"Good certificate", 574}, - {"very strange: no public key\n", 575}, - {"hintlist %lu[%d] of %lu does not point to a dir record\n", 576}, - {"lid %lu does not have a key\n", 577}, - {"lid %lu: can't get keyblock: %s\n", 578}, - {"tdbio_search_dir failed: %s\n", 579}, - {"key %08lX.%lu: Good subkey binding\n", 580}, - {"key %08lX.%lu: Invalid subkey binding: %s\n", 581}, - {"key %08lX.%lu: Valid key revocation\n", 582}, - {"key %08lX.%lu: Invalid key revocation: %s\n", 583}, - {"key %08lX.%lu: Valid subkey revocation\n", 584}, - {"Good self-signature", 585}, - {"Invalid self-signature", 586}, - {"Valid user ID revocation skipped due to a newer self signature\n", 587}, - {"Valid user ID revocation\n", 588}, - {"Invalid user ID revocation", 589}, - {"Too many preferences", 590}, - {"Too many preference items", 591}, - {"WARNING: can't yet handle long pref records\n", 592}, - {"duplicated certificate - deleted", 593}, - {"public key not anymore available", 594}, - {"Invalid certificate revocation", 595}, - {"Invalid certificate", 596}, - {"uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n", 597}, - {"sig record %lu[%d] points to wrong record.\n", 598}, - {"insert_trust_record: keyblock not found: %s\n", 599}, - {"Ooops, no keys\n", 600}, - {"Ooops, no user ids\n", 601}, - {"lid ?: insert failed: %s\n", 602}, - {"lid %lu: insert failed: %s\n", 603}, - {"lid %lu: inserted\n", 604}, - {"lid %lu: update failed: %s\n", 605}, - {"lid %lu: updated\n", 606}, - {"lid %lu: okay\n", 607}, - {"%lu keys processed\n", 608}, - {"\t%lu keys with errors\n", 609}, - {"\t%lu keys updated\n", 610}, - {"\t%lu keys inserted\n", 611}, - {"enumerate keyblocks failed: %s\n", 612}, - {"%s: keyblock read problem: %s\n", 613}, - {"%s: update failed: %s\n", 614}, - {"%s: updated\n", 615}, - {"%s: okay\n", 616}, - {"lid %lu: dir record w/o key - skipped\n", 617}, - {"lid %lu: keyblock not found: %s\n", 618}, - {"\t%lu keys skipped\n", 619}, - {"check_trust: search dir record failed: %s\n", 620}, - {"key %08lX: insert trust record failed: %s\n", 621}, - {"key %08lX.%lu: inserted into trustdb\n", 622}, - {"key %08lX.%lu: created in future (time warp or clock problem)\n", 623}, - {"key %08lX.%lu: expired at %s\n", 624}, - {"key %08lX.%lu: trust check failed: %s\n", 625}, - {"user '%s' not found: %s\n", 626}, - {"problem finding '%s' in trustdb: %s\n", 627}, - {"user '%s' not in trustdb - inserting\n", 628}, - {"failed to put '%s' into trustdb: %s\n", 629}, - {"%s: can't create keyring: %s\n", 630}, - {"%s: keyring created\n", 631}, - {"WARNING: 2 files with confidential information exists.\n", 632}, - {"%s is the unchanged one\n", 633}, - {"%s is the new one\n", 634}, - {"Please fix this possible security flaw\n", 635}, - {"key is not flagged as insecure - can't use it with the faked RNG!\n", 636}, - {"skipped `%s': %s\n", 637}, +user: \"", 512}, + {"%u-bit %s key, ID %08lX, created %s", 513}, + {" (main key ID %08lX)", 514}, + {"can't query password in batchmode\n", 515}, + {"Enter passphrase: ", 516}, + {"Repeat passphrase: ", 517}, + {"data not saved; use option \"--output\" to save it\n", 518}, + {"Please enter name of data file: ", 519}, + {"reading stdin ...\n", 520}, + {"can't open signed data `%s'\n", 521}, + {"anonymous receiver; trying secret key %08lX ...\n", 522}, + {"okay, we are the anonymous recipient.\n", 523}, + {"old encoding of the DEK is not supported\n", 524}, + {"NOTE: cipher algorithm %d not found in preferences\n", 525}, + {"protection algorithm %d is not supported\n", 526}, + {"Invalid passphrase; please try again ...\n", 527}, + {"WARNING: Weak key detected - please change passphrase again.\n", 528}, + {"assuming bad MDC due to an unknown critical bit\n", 529}, + {"\ +this is a PGP generated ElGamal key which is NOT secure for signatures!\n", 530}, + {"public key is %lu second newer than the signature\n", 531}, + {"public key is %lu seconds newer than the signature\n", 532}, + {"NOTE: signature key expired %s\n", 533}, + {"assuming bad signature due to an unknown critical bit\n", 534}, + {"%s signature from: %s\n", 535}, + {"can't create %s: %s\n", 536}, + {"signing:", 537}, + {"WARNING: `%s' is an empty file\n", 538}, + {"can't handle text lines longer than %d characters\n", 539}, + {"input line longer than %d characters\n", 540}, + {"trustdb rec %lu: lseek failed: %s\n", 541}, + {"trustdb rec %lu: write failed (n=%d): %s\n", 542}, + {"trustdb transaction too large\n", 543}, + {"%s: can't access: %s\n", 544}, + {"%s: can't create directory: %s\n", 545}, + {"%s: directory created\n", 546}, + {"%s: directory does not exist!\n", 547}, + {"%s: can't create: %s\n", 548}, + {"%s: can't create lock\n", 549}, + {"%s: failed to create version record: %s", 550}, + {"%s: invalid trustdb created\n", 551}, + {"%s: trustdb created\n", 552}, + {"%s: invalid trustdb\n", 553}, + {"%s: failed to create hashtable: %s\n", 554}, + {"%s: error updating version record: %s\n", 555}, + {"%s: error reading version record: %s\n", 556}, + {"%s: error writing version record: %s\n", 557}, + {"trustdb: lseek failed: %s\n", 558}, + {"trustdb: read failed (n=%d): %s\n", 559}, + {"%s: not a trustdb file\n", 560}, + {"%s: version record with recnum %lu\n", 561}, + {"%s: invalid file version %d\n", 562}, + {"%s: error reading free record: %s\n", 563}, + {"%s: error writing dir record: %s\n", 564}, + {"%s: failed to zero a record: %s\n", 565}, + {"%s: failed to append a record: %s\n", 566}, + {"the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n", 567}, + {"trust record %lu, req type %d: read failed: %s\n", 568}, + {"trust record %lu, type %d: write failed: %s\n", 569}, + {"trust record %lu: delete failed: %s\n", 570}, + {"trustdb: sync failed: %s\n", 571}, + {"error reading dir record for LID %lu: %s\n", 572}, + {"lid %lu: expected dir record, got type %d\n", 573}, + {"no primary key for LID %lu\n", 574}, + {"error reading primary key for LID %lu: %s\n", 575}, + {"get_dir_record: search_record failed: %s\n", 576}, + {"NOTE: secret key %08lX is NOT protected.\n", 577}, + {"key %08lX: secret key without public key - skipped\n", 578}, + {"key %08lX: secret and public key don't match\n", 579}, + {"key %08lX: can't put it into the trustdb\n", 580}, + {"key %08lX: query record failed\n", 581}, + {"key %08lX: already in trusted key table\n", 582}, + {"key %08lX: accepted as trusted key.\n", 583}, + {"enumerate secret keys failed: %s\n", 584}, + {"tdbio_search_sdir failed: %s\n", 585}, + {"key %08lX.%lu: Good subkey binding\n", 586}, + {"key %08lX.%lu: Invalid subkey binding: %s\n", 587}, + {"key %08lX.%lu: Valid key revocation\n", 588}, + {"key %08lX.%lu: Invalid key revocation: %s\n", 589}, + {"key %08lX.%lu: Valid subkey revocation\n", 590}, + {"Good self-signature", 591}, + {"Invalid self-signature", 592}, + {"Valid user ID revocation skipped due to a newer self signature", 593}, + {"Valid user ID revocation", 594}, + {"Invalid user ID revocation", 595}, + {"Valid certificate revocation", 596}, + {"Good certificate", 597}, + {"Invalid certificate revocation", 598}, + {"Invalid certificate", 599}, + {"sig record %lu[%d] points to wrong record.\n", 600}, + {"duplicated certificate - deleted", 601}, + {"tdbio_search_dir failed: %s\n", 602}, + {"lid ?: insert failed: %s\n", 603}, + {"lid %lu: insert failed: %s\n", 604}, + {"lid %lu: inserted\n", 605}, + {"error reading dir record: %s\n", 606}, + {"%lu keys processed\n", 607}, + {"\t%lu keys with errors\n", 608}, + {"\t%lu keys inserted\n", 609}, + {"enumerate keyblocks failed: %s\n", 610}, + {"lid %lu: dir record w/o key - skipped\n", 611}, + {"\t%lu keys skipped\n", 612}, + {"\t%lu keys updated\n", 613}, + {"Ooops, no keys\n", 614}, + {"Ooops, no user ids\n", 615}, + {"check_trust: search dir record failed: %s\n", 616}, + {"key %08lX: insert trust record failed: %s\n", 617}, + {"key %08lX.%lu: inserted into trustdb\n", 618}, + {"key %08lX.%lu: created in future (time warp or clock problem)\n", 619}, + {"key %08lX.%lu: expired at %s\n", 620}, + {"key %08lX.%lu: trust check failed: %s\n", 621}, + {"user '%s' not found: %s\n", 622}, + {"problem finding '%s' in trustdb: %s\n", 623}, + {"user '%s' not in trustdb - inserting\n", 624}, + {"failed to put '%s' into trustdb: %s\n", 625}, + {"WARNING: can't yet handle long pref records\n", 626}, + {"%s: can't create keyring: %s\n", 627}, + {"%s: keyring created\n", 628}, + {"WARNING: 2 files with confidential information exists.\n", 629}, + {"%s is the unchanged one\n", 630}, + {"%s is the new one\n", 631}, + {"Please fix this possible security flaw\n", 632}, + {"key is not flagged as insecure - can't use it with the faked RNG!\n", 633}, + {"skipped `%s': %s\n", 634}, {"\ skipped `%s': this is a PGP generated ElGamal key which is not secure for \ -signatures!\n", 638}, - {"File `%s' exists. ", 639}, - {"Overwrite (y/N)? ", 640}, - {"%s: unknown suffix\n", 641}, - {"writing to stdout\n", 642}, - {"assuming signed data in `%s'\n", 643}, - {"%s: new options file created\n", 644}, - {"%s encrypted data\n", 645}, - {"encrypted with unknown algorithm %d\n", 646}, - {"\ -WARNING: message was encrypted with a weak key in the symmetric cipher.\n", 647}, - {"weak key created - retrying\n", 648}, - {"cannot avoid weak key for symmetric cipher; tried %d times!\n", 649}, - {"edit_ownertrust.value", 650}, - {"revoked_key.override", 651}, - {"untrusted_key.override", 652}, - {"pklist.user_id.enter", 653}, - {"keygen.algo", 654}, - {"keygen.algo.elg_se", 655}, - {"keygen.size", 656}, - {"keygen.size.huge.okay", 657}, - {"keygen.size.large.okay", 658}, - {"keygen.valid", 659}, - {"keygen.valid.okay", 660}, - {"keygen.name", 661}, - {"keygen.email", 662}, - {"keygen.comment", 663}, - {"keygen.userid.cmd", 664}, - {"keygen.sub.okay", 665}, - {"sign_uid.okay", 666}, - {"change_passwd.empty.okay", 667}, - {"keyedit.cmd", 668}, - {"keyedit.save.okay", 669}, - {"keyedit.cancel.okay", 670}, - {"keyedit.sign_all.okay", 671}, - {"keyedit.remove.uid.okay", 672}, - {"keyedit.remove.subkey.okay", 673}, - {"keyedit.delsig.valid", 674}, - {"keyedit.delsig.unknown", 675}, - {"keyedit.delsig.invalid", 676}, - {"keyedit.delsig.selfsig", 677}, - {"passphrase.enter", 678}, - {"passphrase.repeat", 679}, - {"detached_signature.filename", 680}, - {"openfile.overwrite.okay", 681}, - {"No help available", 682}, - {"No help available for `%s'", 683}, +signatures!\n", 635}, + {"File `%s' exists. ", 636}, + {"Overwrite (y/N)? ", 637}, + {"%s: unknown suffix\n", 638}, + {"Enter new filename", 639}, + {"writing to stdout\n", 640}, + {"assuming signed data in `%s'\n", 641}, + {"%s: new options file created\n", 642}, + {"%s encrypted data\n", 643}, + {"encrypted with unknown algorithm %d\n", 644}, + {"\ +WARNING: message was encrypted with a weak key in the symmetric cipher.\n", 645}, + {"weak key created - retrying\n", 646}, + {"cannot avoid weak key for symmetric cipher; tried %d times!\n", 647}, + {"edit_ownertrust.value", 648}, + {"revoked_key.override", 649}, + {"untrusted_key.override", 650}, + {"pklist.user_id.enter", 651}, + {"keygen.algo", 652}, + {"keygen.algo.elg_se", 653}, + {"keygen.size", 654}, + {"keygen.size.huge.okay", 655}, + {"keygen.size.large.okay", 656}, + {"keygen.valid", 657}, + {"keygen.valid.okay", 658}, + {"keygen.name", 659}, + {"keygen.email", 660}, + {"keygen.comment", 661}, + {"keygen.userid.cmd", 662}, + {"keygen.sub.okay", 663}, + {"sign_uid.okay", 664}, + {"change_passwd.empty.okay", 665}, + {"keyedit.save.okay", 666}, + {"keyedit.cancel.okay", 667}, + {"keyedit.sign_all.okay", 668}, + {"keyedit.remove.uid.okay", 669}, + {"keyedit.remove.subkey.okay", 670}, + {"keyedit.delsig.valid", 671}, + {"keyedit.delsig.unknown", 672}, + {"keyedit.delsig.invalid", 673}, + {"keyedit.delsig.selfsig", 674}, + {"passphrase.enter", 675}, + {"passphrase.repeat", 676}, + {"detached_signature.filename", 677}, + {"openfile.overwrite.okay", 678}, + {"openfile.askoutname", 679}, + {"No help available", 680}, + {"No help available for `%s'", 681}, }; -int _msg_tbl_length = 683; +int _msg_tbl_length = 681; diff -urN gnupg-0.9.8/po/de.po gnupg-0.9.9/po/de.po --- gnupg-0.9.8/po/de.po Sat Jun 26 13:07:25 1999 +++ gnupg-0.9.9/po/de.po Fri Jul 23 14:25:58 1999 @@ -3,42 +3,42 @@ # Walter Koch , 1998. msgid "" msgstr "" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" -"PO-Revision-Date: 1999-05-30 21:56+0200\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" +"PO-Revision-Date: 1999-07-12 21:56+0200\n" "Last-Translator: Walter Koch \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "Warnung: Sensible Daten könnten auf Platte ausgelagert werden.\n" # " Um dies zu vermeiden, kann das Programm suid(root) installiert werden.\n" # " Bitte wenden Sie sich hierzu an den Systemadministrator.\n" -#: util/secmem.c:249 +#: util/secmem.c:275 msgid "operation is not possible without initialized secure memory\n" msgstr "Vorgang ist ohne sicheren Hauptspeicher nicht möglich\n" -#: util/secmem.c:250 +#: util/secmem.c:276 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" -#: util/miscutil.c:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "ja" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "jJyY" -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "quit" -#: util/miscutil.c:176 +#: util/miscutil.c:274 msgid "qQ" msgstr "qQ" @@ -244,11 +244,11 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "Sie haben eine Bug (Programmfehler) gefunden ... (%s:%d)\n" -#: cipher/random.c:412 +#: cipher/random.c:452 msgid "WARNING: using insecure random number generator!!\n" msgstr "WARNUNG: Der Zufallsgenerator erzeugt keine echten Zufallszahlen!\n" -#: cipher/random.c:413 +#: cipher/random.c:453 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -274,7 +274,7 @@ "Arbeiten durch, damit das Betriebssystem weitere Entropie sammeln kann!\n" "(Es werden noch %d Byte benötigt.)\n" -#: g10/g10.c:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " @@ -282,131 +282,138 @@ "@Befehle:\n" " " -#: g10/g10.c:176 +#: g10/g10.c:185 msgid "|[file]|make a signature" msgstr "|[Datei]|Eine Unterschrift erzeugen" -#: g10/g10.c:177 +#: g10/g10.c:186 msgid "|[file]|make a clear text signature" msgstr "|[Datei]|Eine Klartextunterschrift erzeugen" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "Eine abgetrennte Unterschrift erzeugen" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "Daten verschlüsseln" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "Daten symmetrisch verschlüsseln" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "Nur speichern" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "Daten entschlüsseln (Voreinstellung)" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "Signatur prüfen" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "Liste der Schlüssel" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "Liste der Schlüssel und ihrer Signaturen" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "Signaturen der Schlüssel prüfen" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "Liste der Schlüssel und ihrer \"Fingerabdrücke\"" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "Liste der geheimen Schlüssel" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "Ein neues Schlüsselpaar erzeugen" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "Schlüssel entfernen" -#: g10/g10.c:192 +#: g10/g10.c:201 +#, fuzzy +msgid "sign a key" +msgstr "Den Schlüssel signieren" + +#: g10/g10.c:202 +#, fuzzy +msgid "sign a key locally" +msgstr "Den Schlüssel nur auf diesem Rechner signieren" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "Unterschreiben oder Bearbeiten eines Schlüssels" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "Ein Schlüsselwiderruf-Zertifikat erzeugen" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "Schlüssel exportieren" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "Schlüssel zu einem Schlüsselserver exportieren" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "Schlüssel von einem Schlüsselserver importieren" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "Schlüssel importieren/kombinieren" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "Lediglich die Struktur der Datenpakete anzeigen" -#: g10/g10.c:203 +#: g10/g10.c:214 msgid "export the ownertrust values" msgstr "Exportieren der \"Owner trust\" Werte" -#: g10/g10.c:205 +#: g10/g10.c:216 msgid "import ownertrust values" msgstr "Importieren der \"Owner trust\" Werte" -#: g10/g10.c:207 -msgid "|[NAMES]|update the trust database" +#: g10/g10.c:218 +#, fuzzy +msgid "update the trust database" msgstr "|[NAMEN]|Ändern der \"Trust\"-Datenbank" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "|[NAMEN]|Überprüfen der \"Trust\"-Datenbank" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "Reparieren einer beschädigten \"Trust\"-Datenbank" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "Datei oder stdin von der ASCII-Hülle befreien" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "Datei oder stdin in eine ASCII-Hülle einpacken" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "|algo [Dateien]|Message-Digests für die Dateien ausgeben" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "Message-Digests für die Eingabedaten ausgeben" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" @@ -416,160 +423,171 @@ "Optionen:\n" " " -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "Ausgabe mit ASCII-Hülle versehen" -#: g10/g10.c:223 +#: g10/g10.c:231 msgid "|NAME|encrypt for NAME" msgstr "|NAME|Verschlüsseln für NAME" -#: g10/g10.c:227 +#: g10/g10.c:234 +#, fuzzy +msgid "|NAME|use NAME as default recipient" +msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "Mit dieser User-ID signieren" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "Kompressionsstufe auf N setzen (0=keine Kompr.)" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "Textmodus benutzen" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "Als Ausgabedatei benutzen" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "Detaillierte Informationen" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "Etwas weniger Infos" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" -msgstr "" +msgstr "das Terminal gar nicht benutzen" -#: g10/g10.c:235 +#: g10/g10.c:248 msgid "force v3 signatures" msgstr "v3 Signaturen erzwingen" -#: g10/g10.c:236 +#: g10/g10.c:249 msgid "always use a MDC for encryption" msgstr "Beim Verschlüsseln ein Siegel (MDC) verwenden" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "Keine wirklichen Änderungen durchführen" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "Stapelmodus: Keine Abfragen" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "\"Ja\" als Standardantwort annehmen" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "\"Nein\" als Standardantwort annehmen" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "Als öffentlichen Schlüsselbund mitbenutzen" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "Als geheimen Schlüsselbund mitbenutzen" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HOST|Schlüssel bei diesem Server nachschlagen" -#: g10/g10.c:246 +#: g10/g10.c:259 msgid "|NAME|set terminal charset to NAME" msgstr "|NAME|Terminalzeichensatz NAME benutzen" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "Optionen aus der Datei lesen" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "Debug-Flags einschalten" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "Alle Debug-Flags einschalten" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "|FD|Statusinfo auf FD (Dateihandle) ausgeben" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "Keine Kommentarpakete schreiben" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "Benötigte Vollvertrauen (Voreinstellung 1)" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "Benötigte Teilvertrauen (Voreinstellung 3)" -#: g10/g10.c:256 +#: g10/g10.c:269 msgid "|FILE|load extension module FILE" msgstr "|DATEI|Erweiterungsmodul DATEI laden" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "Den in RFC1991 beschriebenen Modus nachahmen" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" +"alle Paket-, Verschlüsselungs- und Hashoptionen auf OpenPGP-Verhalten " +"einstellen" -#: g10/g10.c:259 +#: g10/g10.c:272 msgid "|N|use passphrase mode N" msgstr "|N|Verwenden des Mantra-Modus N" -#: g10/g10.c:261 +#: g10/g10.c:274 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|NAME|Das Hashverfahren NAME für Mantras benutzen" -#: g10/g10.c:263 +#: g10/g10.c:276 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|NAME|Das Verschlü.verfahren NAME für Mantras benutzen" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "|NAME|Das Verschlü.verfahren NAME benutzen" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "|NAME|Das Hashverfahren NAME benutzen" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "|N|Die Komprimierverfahren N benutzen" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "Entferne die Absender-ID verschlüsselter Pakete" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" msgstr "|NAME=WERT|verwende diese \"notation\"-Daten" -#: g10/g10.c:270 +#: g10/g10.c:283 msgid "" "@\n" "Examples:\n" @@ -589,15 +607,15 @@ " --list-keys [Namen] Schlüssel anzeigen\n" " --fingerprint [Namen] \"Fingerabdrücke\" anzeigen\n" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "Berichte über Bugs (Programmfehler) bitte an .\n" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Aufruf: gpg [Optionen] [Dateien] (-h für Hilfe)" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -607,7 +625,7 @@ "Signieren, prüfen, verschlüsseln, entschlüsseln\n" "Die voreingestellte Operation ist abhängig von den Eingabedaten\n" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" @@ -615,161 +633,173 @@ "\n" "Unterstützte Verfahren:\n" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "Aufruf: gpg [Optionen] " -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "Widersprüchliche Befehle\n" -#: g10/g10.c:605 +#: g10/g10.c:640 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n" -#: g10/g10.c:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "Optionendatei '%s': %s\n" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "Optionen werden aus '%s' gelesen\n" -#: g10/g10.c:782 +#: g10/g10.c:831 #, c-format msgid "%s is not a valid character set\n" msgstr "%s ist kein gültiger Zeichensatz.\n" -#: g10/g10.c:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "Das ausgewählte Verschlüsslungsverfahren ist ungültig\n" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "Das ausgewählte Hashverfahren ist ungültig\n" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" msgstr "Die angegebene URL für Richtlinien ist ungültig\n" -#: g10/g10.c:852 +#: g10/g10.c:920 #, 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:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed müssen größer als 0 sein\n" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed müssen größer als 1 sein\n" -#: g10/g10.c:858 +#: g10/g10.c:926 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:861 +#: g10/g10.c:929 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "Hinweis: Vom \"simple S2K\"-Modus (0) ist strikt abzuraten\n" -#: g10/g10.c:865 +#: g10/g10.c:933 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:942 +#: g10/g10.c:1010 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "Die Trust-DB kann nicht initialisiert werden: %s\n" -#: g10/g10.c:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "--store [Dateiname]" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "--symmetric [Dateiname]" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "--encrypt [Dateiname]" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "--sign [Dateiname]" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [Dateiname]" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "--clearsign [Dateiname]" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "--decrypt [Dateiname]" -#: g10/g10.c:1024 -msgid "--edit-key username [commands]" +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 +#, fuzzy +msgid "--lsign-key user-id" +msgstr "--delete-key Benutzername" + +#: g10/g10.c:1107 +#, fuzzy +msgid "--edit-key user-id [commands]" msgstr "--edit-key Username [Befehle]" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1123 +#, fuzzy +msgid "--delete-secret-key user-id" msgstr "--delete-secret-key Username" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1126 +#, fuzzy +msgid "--delete-key user-id" msgstr "--delete-key Benutzername" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/encode.c:231 g10/g10.c:1150 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:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "-k[v][v][v][c] [Benutzername] [Keyring]" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "Entfernen der ASCII-Hülle ist fehlgeschlagen: %s\n" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, c-format msgid "enarmoring failed: %s\n" msgstr "Anbringen der ASCII-Hülle ist fehlgeschlagen: %s\n" -#: g10/g10.c:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "Ungültiges Hashverfahren '%s'\n" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "[Dateiname]" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "Auf geht's - Botschaft eintippen ...\n" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "'%s' kann nicht geöffnet werden\n" -#: g10/g10.c:1457 +#: g10/g10.c:1555 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:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" @@ -777,12 +807,12 @@ "Ein \"notation\"-Name darf nur Buchstaben, Zahlen, Punkte oder Unterstriche " "enthalten und muß mit einem '=' enden\n" -#: g10/g10.c:1469 +#: g10/g10.c:1567 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:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" msgstr "Ein \"notation\"-Wert darf keine Kontrollzeichen verwenden\n" @@ -861,7 +891,20 @@ "\"quoted printable\" Zeichen in der ASCII-Hülle gefunden - möglicherweise\n" " war ein fehlerhafter E-Mail-Transporter(\"MTA\") die Ursache\n" -#: g10/pkclist.c:137 +#. 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 " importiert: %lu" + +# valid user replies (not including 1..4) +#. a string with valid answers +#: g10/pkclist.c:170 +msgid "sSmMqQ" +msgstr "sSmMqQ" + +#: g10/pkclist.c:174 #, c-format msgid "" "No trust value assigned to %lu:\n" @@ -870,7 +913,7 @@ "Es ist kein \"Owner trust\" für %lu definiert:\n" "%4u%c/%08lX %s \"" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 msgid "" "Please decide how far you trust this user to correctly\n" "verify other users' keys (by looking at passports,\n" @@ -893,29 +936,23 @@ " 4 = Ich vertraue ihm vollständig\n" " s = Bitte weitere Information anzeigen\n" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr " m = Zurück zum Menü\n" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr " q = verlassen\n" -# valid user replies (not including 1..4) -#. a string with valid answers -#: g10/pkclist.c:163 -msgid "sSmMqQ" -msgstr "sSmMqQ" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "Ihre Auswahl? " -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "Zertifikate führen zu einem letztlich vertrauenswürdigen Schlüssel:\n" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 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" @@ -926,7 +963,7 @@ "ermitteln können.\n" "\n" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" @@ -934,7 +971,7 @@ "Kein Pfad führt zu einen unserer Schlüsseln.\n" "\n" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" @@ -942,7 +979,7 @@ "Keine Zertifikate mit undefinierten Vertrauen gefunden.\n" "\n" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 msgid "" "No trust values changed.\n" "\n" @@ -950,38 +987,38 @@ "Keine \"trust\" Werte geändert.\n" "\n" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "Schlüssel %08lX: Schlüssel wurde widerrufen\n" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "Diesen Schlüssel trotzdem benutzen?" -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "Schlüssel %08lX: Unterschlüssel wurde widerrufen\n" -#: g10/pkclist.c:321 +#: g10/pkclist.c:363 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: Schlüssel ist verfallen!\n" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, 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:341 +#: g10/pkclist.c:383 #, 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:347 +#: g10/pkclist.c:389 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -990,18 +1027,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:353 +#: g10/pkclist.c:395 msgid "This key probably belongs to the owner\n" msgstr "" "Dieser Schlüssel gehört höchstwahrscheinlich dem angegebenen Besitzer\n" -#: g10/pkclist.c:358 +#: g10/pkclist.c:400 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:398 +#: g10/pkclist.c:443 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" @@ -1012,69 +1049,69 @@ "Wenn Sie *wirklich* wissen, was Sie tun, können Sie die nächste\n" "Frage mit ja beantworten\n" -#: g10/pkclist.c:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "WARNUNG: Ein Schlüssel ohne gesichertes Vertrauen wird benutzt!\n" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 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:455 +#: g10/pkclist.c:500 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:459 +#: g10/pkclist.c:504 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:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "Hinweis: Dieser Schlüssel ist verfallen!\n" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 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:489 +#: g10/pkclist.c:534 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:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "WARNUNG: Wir haben KEIN Vertrauen zu diesem Schlüssel!\n" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr " Die Signatur ist wahrscheinlich eine FÄLSCHUNG.\n" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 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:516 +#: g10/pkclist.c:561 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:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: übersprungen: %s\n" -#: g10/pkclist.c:588 g10/pkclist.c:687 -#, fuzzy, c-format +#: g10/pkclist.c:670 g10/pkclist.c:820 +#, c-format msgid "%s: skipped: public key already present\n" -msgstr "%s: Schlüsselblock Leseproblem: %s\n" +msgstr "%s: übersprungen: öffentlicher Schlüssel bereits vorhanden\n" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1082,20 +1119,34 @@ "Sie gaben keine User-ID angegeben (Benutzen Sie die Option \"-r\").\n" "\n" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "Geben Sie die User-ID ein: " -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "Keine solche User-ID vorhanden.\n" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +#, fuzzy +msgid "Public key is disabled.\n" +msgstr "Öffentlicher Schlüssel ist %08lX\n" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: Fehler beim Prüfen des Schlüssels: %s\n" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, fuzzy, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s: übersprungen: öffentlicher Schlüssel bereits vorhanden\n" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "Keine gültigen Adressaten\n" @@ -1238,29 +1289,29 @@ " m = Schlüssel verfällt nach n Monaten\n" " y = Schlüssel verfällt nach n Jahren\n" -#: g10/keygen.c:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "Der Schlüssel bleibt wie lange gültig? (0) " -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "Ungültiger Wert.\n" -#: g10/keygen.c:540 +#: g10/keygen.c:552 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:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "Der Schlüssel verfällt am %s\n" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "Ist dies richtig? (j/n) " -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1276,44 +1327,44 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "Ihr Name (\"Vorname Nachname\"): " -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "Ungültiges Zeichen im Namen\n" -#: g10/keygen.c:612 +#: g10/keygen.c:624 msgid "Name may not start with a digit\n" msgstr "Der Name darf nicht mit einer Ziffer beginnen.\n" -#: g10/keygen.c:614 +#: g10/keygen.c:626 msgid "Name must be at least 5 characters long\n" msgstr "Der Name muß min. 5 Zeichen lang sein.\n" -#: g10/keygen.c:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "E-Mail-Adresse: " -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "Diese E-Mail-Adresse ist ungültig\n" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "Kommentar: " -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "Ungültiges Zeichen im Kommentar.\n" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Sie benutzen den Zeichensatz `%s'\n" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1324,15 +1375,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "NnKkEeFfBb" -#: g10/keygen.c:688 +#: g10/keygen.c:700 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:740 +#: g10/keygen.c:752 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1340,11 +1391,11 @@ "Sie benötigen ein Mantra, um den geheimen Schlüssel zu schützen.\n" "\n" -#: g10/keyedit.c:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 msgid "passphrase not correctly repeated; try again.\n" msgstr "Mantra wurde nicht richtig wiederholt; noch einmal versuchen.\n" -#: g10/keygen.c:754 +#: g10/keygen.c:766 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" @@ -1357,7 +1408,7 @@ "aufrufen.\n" "\n" -#: g10/keygen.c:775 +#: g10/keygen.c:787 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" @@ -1368,35 +1419,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:845 +#: g10/keygen.c:857 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:853 +#: g10/keygen.c:865 msgid "DSA keypair will have 1024 bits.\n" msgstr "Der DSA Schlüssel wird 1024 Bits haben.\n" -#: g10/keygen.c:859 -#, fuzzy +#: g10/keygen.c:871 msgid "Key generation canceled.\n" msgstr "Schlüsselerzeugung abgebrochen.\n" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "schreiben des öffentlichen Zertifikats nach '%s'\n" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "schreiben des geheimen Zertifikats nach '%s'\n" -#: g10/keygen.c:947 +#: g10/keygen.c:959 msgid "public and secret key created and signed.\n" msgstr "Öffentlichen und geheimen Schlüssel erzeugt und signiert.\n" -#: g10/keygen.c:949 +#: g10/keygen.c:961 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" @@ -1405,12 +1455,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:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, c-format msgid "Key generation failed: %s\n" msgstr "Schlüsselerzeugung fehlgeschlagen: %s\n" -#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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" @@ -1418,7 +1468,7 @@ "Der Schlüssel wurde %lu Sekunde in der Zukunft erzeugt (Zeitreise oder Uhren " "stimmen nicht überein)\n" -#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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" @@ -1426,11 +1476,11 @@ "Der Schlüssel wurde %lu Sekunden in der Zukunft erzeugt (Zeitreise oder " "Uhren stimmen nicht überein)\n" -#: g10/keygen.c:1040 +#: g10/keygen.c:1052 msgid "Really create? " msgstr "Wirklich erzeugen? " -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1483,247 +1533,252 @@ msgid "too many entries in unk cache - disabled\n" msgstr "zu viele Einträge im unk-Lager - abgeschaltet\n" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, 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:116 +#: g10/import.c:118 #, c-format msgid "can't open `%s': %s\n" msgstr "'%s' kann nicht geöffnet werden: %s\n" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "überspringe den Block vom Typ %d\n" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu Schlüssel bislang bearbeitet\n" -#: g10/import.c:172 +#: g10/import.c:174 #, c-format msgid "error reading `%s': %s\n" msgstr "Fehler beim Lesen von `%s': %s\n" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr "Anzahl insgesamt bearbeiteter Schlüssel: %lu\n" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr " ohne User-ID: %lu\n" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr " importiert: %lu" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr " unverändert: %lu\n" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr " neue User-IDs: %lu\n" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr " neue Unterschlüssel: %lu\n" -#: g10/import.c:191 +#: g10/import.c:193 #, c-format msgid " new signatures: %lu\n" msgstr " neue Signaturen: %lu\n" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr "neue Schlüsselwiderrufe: %lu\n" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr " gelesene geheime Schl.: %lu\n" -#: g10/import.c:197 +#: g10/import.c:199 #, c-format msgid " secret keys imported: %lu\n" msgstr "geheime Schlüssel importiert: %lu\n" -#: g10/import.c:199 +#: g10/import.c:201 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " unveränderte geh.Schl.: %lu\n" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "Schlüssel %08lX: Keine User-ID\n" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "Schlüssel %08lX: Keine gültigen User-IDs\n" -#: g10/import.c:355 +#: g10/import.c:378 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:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, 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:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "Kein voreingestellter öffentlicher Schlüsselbund\n" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "Schreiben nach '%s'\n" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "kann Schlüsselbund `%s' nicht sperren: %s\n" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "Fehler beim Schreiben des Schlüsselbundes `%s': %s\n" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "Schlüssel %08lX: Öffentlicher Schlüssel importiert\n" -#: g10/import.c:399 +#: g10/import.c:427 #, 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:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, 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:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, 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:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "Schlüssel %08lX: 1 neue User-ID\n" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "Schlüssel %08lX: %d neue User-IDs\n" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "Schlüssel %08lX: 1 neue Signatur\n" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "Schlüssel %08lX: %d neue Signaturen\n" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "Schlüssel %08lX: 1 neuer Unterschlüssel\n" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "Schlüssel %08lX: %d neue Unterschlüssel\n" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "Schlüssel %08lX: Nicht geändert\n" -#: g10/import.c:552 +#: g10/import.c:577 #, 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:556 +#: g10/import.c:581 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "Schlüssel %08lX: Ist bereits im geheimen Schlüsselbund\n" -#: g10/import.c:561 +#: g10/import.c:586 #, 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:590 +#: g10/import.c:615 #, 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:621 +#: g10/import.c:646 #, 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:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "Schlüssel %08lX: Widerrufzertifikat importiert\n" -#: g10/import.c:686 +#: g10/import.c:711 #, 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:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "Schlüssel %08lX: Nicht unterstützetes Public-Key-Verfahren\n" -#: g10/import.c:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "Schlüssel %08lX: Ungültige Eigenbeglaubigung\n" -#: g10/import.c:709 +#: g10/import.c:734 #, 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:718 +#: g10/import.c:743 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "Schlüssel %08lX: Ungültige Unterschlüssel-Anbindung\n" -#: g10/import.c:750 +#: g10/import.c:769 +#, fuzzy, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "Schlüssel %08lX: übergehe User-ID '" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "Schlüssel %08lX: übergehe User-ID '" -#: g10/import.c:773 +#: g10/import.c:821 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "Schlüssel %08lX: Unterschlüssel ignoriert\n" @@ -1732,98 +1787,98 @@ #. * 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:798 +#: g10/import.c:846 #, 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:807 +#: g10/import.c:855 #, 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:815 +#: g10/import.c:863 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "Schlüssel %08lX: Ungültiges Widerrufzertifikat: %s - übergangen\n" -#: g10/import.c:915 +#: g10/import.c:963 #, 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:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "Schlüssel %08lX: Widerrufzertifikat hinzugefügt\n" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "Schlüssel %08lX: Unsere Kopie hat keine Eigenbeglaubigung\n" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: Benutzer nicht gefunden\n" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "[Widerruf]" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 msgid "[self-signature]" msgstr "[Eigenbeglaubigung]" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 msgid "1 bad signature\n" msgstr "1 falsche Beglaubigung\n" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "%d falsche Beglaubigungen\n" -#: g10/keyedit.c:222 +#: g10/keyedit.c:223 msgid "1 signature not checked due to a missing key\n" msgstr "1 Beglaubigung wegen fehlendem Schlüssel nicht geprüft\n" -#: g10/keyedit.c:224 +#: g10/keyedit.c:225 #, c-format msgid "%d signatures not checked due to missing keys\n" msgstr "%d Beglaubigungen wegen fehlenden Schlüsseln nicht geprüft\n" -#: g10/keyedit.c:226 +#: g10/keyedit.c:227 msgid "1 signature not checked due to an error\n" msgstr "1 Beglaubigung aufgrund von Fehler nicht geprüft\n" -#: g10/keyedit.c:228 +#: g10/keyedit.c:229 #, c-format msgid "%d signatures not checked due to errors\n" msgstr "%d Beglaubigungen aufgrund von Fehlern nicht geprüft\n" -#: g10/keyedit.c:230 +#: g10/keyedit.c:231 msgid "1 user id without valid self-signature detected\n" msgstr "Eine User-ID ohne gültige Eigenbeglaubigung entdeckt\n" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\n" msgstr "%d User-IDs ohne gültige Eigenbeglaubigung entdeckt\n" #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, c-format msgid "Already signed by key %08lX\n" msgstr "Ist bereits durch Schlüssel %08lX beglaubigt.\n" -#: g10/keyedit.c:320 +#: g10/keyedit.c:321 #, c-format msgid "Nothing to sign with key %08lX\n" msgstr "Nichts zu beglaubigen für Schlüssel %08lX\n" -#: g10/keyedit.c:329 +#: g10/keyedit.c:330 msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" @@ -1831,7 +1886,7 @@ "Sind Sie wirklich sicher, daß Sie vorstehenden Schlüssel mit Ihrem\n" "Schlüssel beglaubigen wollen: \"" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" @@ -1839,29 +1894,29 @@ "Die Unterschrift wird als nicht exportfähig markiert werden.\n" "\n" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "Wirklich unterschreiben? " -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "Beglaubigung fehlgeschlagen: %s\n" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "Dieser Schlüssel ist nicht geschützt.\n" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "Schlüssel ist geschützt.\n" -#: g10/keyedit.c:442 +#: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" msgstr "Dieser Schlüssel kann nicht editiert werden: %s\n" -#: g10/keyedit.c:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" @@ -1869,7 +1924,7 @@ "Geben Sie das neue Mantra für diesen geheimen Schlüssel ein.\n" "\n" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" @@ -1877,375 +1932,393 @@ "Sie wollen kein Mantra - dies ist bestimmt *keine* gute Idee!\n" "\n" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "Möchten Sie dies wirklich tun? " -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "schiebe eine Beglaubigung an die richtige Stelle\n" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "Menü verlassen" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "q" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "save" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "speichern und Menü verlassen" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "help" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "Diese Hilfe zeigen" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "fpr" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "show fingerprint" msgstr "\"Fingerabdruck\" anzeigen" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list" msgstr "Liste der Schlüssel" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list key and user ids" msgstr "Schlüssel und User-ID auflisten" -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "l" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "uid" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "User-ID N auswählen" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "key" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "Zweitschlüssel N auswählen" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "check" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "list signatures" msgstr "Liste der Signaturen" -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "c" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "sign" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign the key" msgstr "Den Schlüssel signieren" -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "s" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "lsign" msgstr "lsign" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "sign the key locally" msgstr "Den Schlüssel nur auf diesem Rechner signieren" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "debug" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "adduid" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "Eine User-ID hinzufügen" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "deluid" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "delete user id" msgstr "User-ID entfernen" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "addkey" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "add a secondary key" msgstr "Einen Zweitschlüssel hinzufügen" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "delkey" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "Einen Zweitschlüssel entfernen" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 msgid "delsig" msgstr "delsig" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 msgid "delete signatures" msgstr "Signatur entfernen" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "expire" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "change the expire date" msgstr "Ändern des Verfallsdatums" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "toggle" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "Umschalten zwischen Anzeige geheimer und öffentlicher Schlüssel" -#: g10/keyedit.c:583 +#: g10/keyedit.c:588 msgid "t" msgstr "t" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "pref" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "Liste der Voreinstellungen" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "passwd" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "change the passphrase" msgstr "Das Mantra ändern" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "trust" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "Den \"Owner trust\" ändern" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revsig" msgstr "revsig" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revoke signatures" msgstr "Signaturen widerrufen" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revkey" msgstr "revkey" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revoke a secondary key" msgstr "Einen Zweitschlüssel widerrufen" -#: g10/keyedit.c:607 +#: g10/keyedit.c:594 +msgid "disable" +msgstr "disable" + +#: g10/keyedit.c:594 +msgid "disable a key" +msgstr "Schlüssel abschalten" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "enable" + +#: g10/keyedit.c:595 +msgid "enable a key" +msgstr "Schlüssel anschalten" + +#: g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n" #. check that they match -#. FIXME: check that they both match -#: g10/keyedit.c:636 +#. fixme: check that they both match +#: g10/keyedit.c:652 msgid "Secret key is available.\n" msgstr "Geheimer Schlüssel ist vorhanden.\n" -#: g10/keyedit.c:665 +#: g10/keyedit.c:681 msgid "Command> " msgstr "Befehl> " -#: g10/keyedit.c:692 +#: g10/keyedit.c:711 msgid "Need the secret key to do this.\n" msgstr "Hierzu wird der geheime Schlüssel benötigt.\n" -#: g10/keyedit.c:714 -msgid "Save changes? " -msgstr "Änderungen speichern? " - -#: g10/keyedit.c:717 -msgid "Quit without saving? " -msgstr "Beenden ohne zu speichern? " - -#: g10/keyedit.c:727 -#, c-format -msgid "update failed: %s\n" -msgstr "Änderung fehlgeschlagen: %s\n" - -#: g10/keyedit.c:734 -#, c-format -msgid "update secret failed: %s\n" -msgstr "Änderung des Geheimnisses fehlgeschlagen: %s\n" - -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" -msgstr "Schlüssel ist nicht geändert worden, also ist kein Speichern nötig.\n" - -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, c-format -msgid "update of trustdb failed: %s\n" -msgstr "Änderung der \"Trust-DB\" fehlgeschlagen: %s\n" - -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "Wirklich alle User-IDs beglaubigen? " -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "Tip: Wählen Sie die User-ID, die beglaubigt werden soll\n" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "Änderung der \"Trust-DB\" fehlgeschlagen: %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 msgid "You must select at least one user id.\n" msgstr "Zumindestens eine User-ID muß ausgewählt werden.\n" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "Die letzte User-ID kann nicht gelöscht werden!\n" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 msgid "Really remove all selected user ids? " msgstr "Möchten Sie alle ausgewählten User-IDs wirklich entfernen? " -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 msgid "Really remove this user id? " msgstr "Diese User-ID wirklich entfernen? " -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" msgstr "Zumindestens ein Schlüssel muß ausgewählt werden.\n" -#: g10/keyedit.c:862 +#: g10/keyedit.c:843 msgid "Do you really want to delete the selected keys? " msgstr "Möchten Sie die ausgewählten Schlüssel wirklich entfernen? " -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 msgid "Do you really want to delete this key? " msgstr "Möchten Sie diesen Schlüssel wirklich entfernen? " -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 msgid "Do you really want to revoke the selected keys? " msgstr "Möchten Sie die ausgewählten Schlüssel wirklich widerrufen? " -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 msgid "Do you really want to revoke this key? " msgstr "Möchten Sie diesen Schlüssel wirklich wiederrufen? " -#: g10/keyedit.c:939 +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "Änderungen speichern? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "Beenden ohne zu speichern? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "Änderung fehlgeschlagen: %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "Änderung des Geheimnisses fehlgeschlagen: %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "Schlüssel ist nicht geändert worden, also ist kein Speichern nötig.\n" + +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +#, fuzzy +msgid "This key has been disabled" +msgstr "Hinweis: Dieser Schlüssel ist verfallen!\n" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" msgstr "Diese ungültige Beglaubigung entfernen= (j/N/q)" -#: g10/keyedit.c:1302 -#, fuzzy +#: g10/keyedit.c:1344 msgid "Delete this unknown signature? (y/N/q)" -msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)" +msgstr "Diese unbekannte Beglaubigung entfernen? (j/N/q)" -#: g10/keyedit.c:1308 +#: g10/keyedit.c:1350 msgid "Really delete this self-signature? (y/N)" msgstr "Eigenbeglaubigung wirklich entfernen? (j/N)" -#: g10/keyedit.c:1322 +#: g10/keyedit.c:1364 #, c-format msgid "Deleted %d signature.\n" msgstr "%d Beglaubigungen entfernt.\n" -#: g10/keyedit.c:1323 +#: g10/keyedit.c:1365 #, c-format msgid "Deleted %d signatures.\n" msgstr "%d Beglaubigungen entfernt.\n" -#: g10/keyedit.c:1326 +#: g10/keyedit.c:1368 msgid "Nothing deleted.\n" msgstr "Nichts entfernt.\n" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "Bitte entfernen Sie die Auswahl von den geheimen Schlüsseln.\n" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 msgid "Please select at most one secondary key.\n" msgstr "Bitte wählen Sie höchstens einen Zweitschlüssel aus.\n" -#: g10/keyedit.c:1405 -#, fuzzy +#: g10/keyedit.c:1447 msgid "Changing expiration time for a secondary key.\n" msgstr "Ändern des Verfallsdatums des Zweitschlüssels.\n" -#: g10/keyedit.c:1407 -#, fuzzy +#: g10/keyedit.c:1449 msgid "Changing expiration time for the primary key.\n" msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 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:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "Keine entsprechende Signatur im geheimen Schlüsselbund\n" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, c-format msgid "No user id with index %d\n" msgstr "Keine User-ID mit Index %d\n" -#: g10/keyedit.c:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "Kein Zweitschlüssel mit Index %d\n" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 msgid "user ID: \"" msgstr "User-ID: \"" -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, c-format msgid "" "\"\n" @@ -2254,104 +2327,116 @@ "\"\n" "unterschrieben mit Ihrem Schlüssel %08lX um %s\n" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Ein Widerrufszertifikat für diese Unterschrift erzeugen (j/N)" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Wirklich ein Unterschrift-Widerrufszertifikat erzeugen? (j/N) " -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 msgid "no secret key\n" msgstr "Kein geheimer Schlüssel\n" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, c-format msgid "public key is %08lX\n" msgstr "Öffentlicher Schlüssel ist %08lX\n" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 msgid "public key encrypted data: good DEK\n" msgstr "Mit öffentlichem Schüssel verschlüsselte Daten: Korrekte DEK\n" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, fuzzy, c-format +msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" +msgstr "%u-Bit %s Schlüssel, ID %08lX, erzeugt %s" + +# Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-( +#: g10/mainproc.c:285 +#, fuzzy, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "Unterschrift vom %.*s, %s Schlüssel ID %08lX\n" + +#: g10/mainproc.c:291 +#, fuzzy +msgid "no secret key for decryption available\n" +msgstr "Geheimer Schlüssel ist nicht vorhanden" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "Entschlüsselung mit öffentlichem Schlüssel fehlgeschlagen: %s\n" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 msgid "decryption okay\n" msgstr "Enschlüsselung fehlgeschlagen: %s\n" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "Warnung: Verschlüsselte Botschaft ist manipuliert worden!\n" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "Enschlüsselung fehlgeschlagen: %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "" "Hinweis: Der Absender verlangte Vertraulichkeit(\"for-your-eyes-only\")\n" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "Ursprünglicher Dateiname='%.*s'\n" -#: g10/mainproc.c:505 g10/mainproc.c:514 +#: g10/mainproc.c:587 g10/mainproc.c:596 msgid "WARNING: invalid notation data found\n" msgstr "WARNUNG: Ungültige \"Notation\"-Daten gefunden\n" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " msgstr "\"Notation\": " -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " msgstr "Richtlinie: " -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 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:935 +#: g10/mainproc.c:1031 #, 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:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "FALSCHE Unterschrift von \"" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "Korrekte Unterschrift von \"" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr " alias \"" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "Unterschrift kann nicht geprüft werden: %s\n" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "Unterschrift nach alter (PGP 2.x) Art\n" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "ungültiges root-Paket in proc_tree() entdeckt\n" @@ -2379,20 +2464,20 @@ #: g10/misc.c:239 msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "" -"Diees Verschlüsselungsmethode taugt nicht mehr viel; verwenden Sie eine " +"Diese Verschlüsselungsmethode taugt nicht mehr viel; verwenden Sie eine " "stärker standardisierte Methode!\n" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, 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:931 +#: g10/parse-packet.c:932 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "Im Unterpaket des Typs %d ist das \"critical bit\" gesetzt\n" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" @@ -2402,21 +2487,26 @@ "Sie benötigen ein Mantra, um den geheimen Schlüssel zu entsperren.\n" "Benutzer: \"" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "%u-Bit %s Schlüssel, ID %08lX, erzeugt %s" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr " (Hauptschlüssel-ID %08lX)" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +#, fuzzy +msgid "can't query password in batchmode\n" +msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n" + +#: g10/passphrase.c:194 msgid "Enter passphrase: " msgstr "Geben Sie das Mantra ein: " -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 msgid "Repeat passphrase: " msgstr "Geben Sie das Mantra nochmal ein: " @@ -2471,37 +2561,37 @@ "WARNUNG: Unsicherer Schlüssel entdeckt -\n" " bitte Mantra nochmals wechseln.\n" -#: g10/sig-check.c:187 +#: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" msgstr "" "Vermutlich ist das Siegel (MDC) BESCHÄDIGT (wegen unbekanntem \"critical " "bit\")\n" -#: g10/sig-check.c:283 +#: g10/sig-check.c:295 msgid "" "this is a PGP generated ElGamal key which is NOT secure for signatures!\n" msgstr "" "Dieser durch PGP erzeugte ElGamal-Schlüssel ist für Signaturen NICHT sicher " "genug!\n" -#: g10/sig-check.c:291 +#: g10/sig-check.c:303 #, c-format msgid "public key is %lu second newer than the signature\n" msgstr "" "Öffentlicher Schlüssel ist um %lu Sekunde jünger als die Unterschrift\n" -#: g10/sig-check.c:292 +#: g10/sig-check.c:304 #, c-format msgid "public key is %lu seconds newer than the signature\n" msgstr "" "Öffentlicher Schlüssel ist um %lu Sekunden jünger als die Unterschrift\n" -#: g10/sig-check.c:308 +#: g10/sig-check.c:320 #, c-format msgid "NOTE: signature key expired %s\n" msgstr "Hinweis: Schlüssel der Signatur ist verfallen am %s.\n" -#: g10/sig-check.c:365 +#: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" msgstr "" "Vermutlich eine FALSCHE Unterschrift, wegen unbekanntem \"critical bit\"\n" @@ -2535,12 +2625,12 @@ msgid "input line longer than %d characters\n" msgstr "Eingabezeile ist länger als %d Zeichen\n" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "trustdb Satz %lu: lseek fehlgeschlagen: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "trustdb Satz %lu: write fehlgeschlagen (n=%d): %s\n" @@ -2569,7 +2659,7 @@ msgid "%s: directory does not exist!\n" msgstr "%s: Verzeichnis existiert nicht!\n" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: kann nicht erzeugt werden: %s\n" @@ -2610,7 +2700,7 @@ msgstr "%s: Fehler beim Ändern des Versionsatzes: %s\n" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: Fehler beim Lesen des Versionsatzes: %s\n" @@ -2620,482 +2710,371 @@ msgid "%s: error writing version record: %s\n" msgstr "%s: Fehler beim Schreiben des Versionsatzes: %s\n" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "trustdb: lseek fehlgeschlagen: %s\n" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "trustdb: read failed (n=%d): %s\n" -#: g10/tdbio.c:1161 +#: g10/tdbio.c:1275 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: keine trustdb Datei\n" -#: g10/tdbio.c:1177 +#: g10/tdbio.c:1291 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: version record with recnum %lu\n" -#: g10/tdbio.c:1182 +#: g10/tdbio.c:1296 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: invalid file version %d\n" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: Fehler beim Lesen eines freien Satzes: %s\n" -#: g10/tdbio.c:1479 +#: g10/tdbio.c:1608 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: Fehler beim Schreiben eines Verzeichnis-Satzes: %s\n" -#: g10/tdbio.c:1489 +#: g10/tdbio.c:1618 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: konnte einen Satz nicht Nullen: %s\n" -#: g10/tdbio.c:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: konnte Satz nicht anhängen: %s\n" -#: g10/tdbio.c:1630 -#, fuzzy +#: g10/tdbio.c:1759 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" -"Die \"Trust\"-Datenbank ist beschädigt; verwenden Sie \"gpgm " +"Die \"Trust\"-Datenbank ist beschädigt; verwenden Sie \"gpg " "--fix-trustdb\".\n" -#: g10/trustdb.c:163 +#: g10/trustdb.c:160 #, 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:178 +#: g10/trustdb.c:175 #, 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:192 +#: g10/trustdb.c:189 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "Vertrauenssatz %lu: löschen fehlgeschlagen: %s\n" -#: g10/trustdb.c:206 +#: g10/trustdb.c:203 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "\"Trust-DB\": sync fehlgeschlagen: %s\n" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, 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:393 +#: g10/trustdb.c:354 #, 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:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "Kein Hauptschlüssel für LID %lu\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, 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:442 +#: g10/trustdb.c:403 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record fehlgeschlagen: %s\n" -#: g10/trustdb.c:510 +#: g10/trustdb.c:458 #, 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:518 +#: g10/trustdb.c:466 #, 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:525 +#: g10/trustdb.c:473 #, 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:535 +#: g10/trustdb.c:485 #, 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:541 +#: g10/trustdb.c:491 #, c-format msgid "key %08lX: query record failed\n" msgstr "Schlüssel %08lX: Satzabfrage fehlgeschlagen\n" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, 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:553 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "Schlüssel %08lX: Akzeptiert als vertrauenswürdiger Schlüssel.\n" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "enum_secret_keys fehlgeschlagen: %s\n" -#: g10/trustdb.c:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but not marked\n" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "lid %lu: kein Hauptschlüssel\n" - -#: g10/trustdb.c:901 -#, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "lid %lu: User-ID im Schlüsselblock nicht gefunden\n" - -#: g10/trustdb.c:905 -#, c-format -msgid "lid %lu: user id without signature\n" -msgstr "lid %lu: User-ID ohne Signatur\n" - -#: g10/trustdb.c:912 -#, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "lid %lu: Eigenbeglaubigung in 'hintlist'\n" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -msgid "Valid certificate revocation" -msgstr "Gültiger Zerifikat-Widerruf" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -msgid "Good certificate" -msgstr "Korrektes Zertifikat" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "sehr seltsam: kein öffentlicher Schlüssel\n" - -#: g10/trustdb.c:982 -#, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -msgstr "hintlist %lu[%d] of %lu zeigt nicht auf einen 'dir record'\n" - -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "lid %lu hat keinen Schlüssel\n" - -#: g10/trustdb.c:998 +#: g10/trustdb.c:802 #, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "lid %lu: Schlüsselblock nicht verfügbar: %s\n" +msgid "tdbio_search_sdir failed: %s\n" +msgstr "tdbio_search_sdir fehlgeschlagen: %s\n" -#: g10/trustdb.c:1055 g10/trustdb.c:2030 -#, c-format -msgid "tdbio_search_dir failed: %s\n" -msgstr "tdbio_search_dir fehlgeschlagen: %s\n" - -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "Schlüssel %08lX.%lu: Korrekte Unterschlüssel-Anbindung\n" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, 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:1232 +#: g10/trustdb.c:895 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "Schlüssel %08lX.%lu: Gültiger Schlüsselwiderruf\n" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, 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:1253 +#: g10/trustdb.c:912 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "Schlüssel %08lX.%lu: Gültiger Unterschlüsselwiderruf\n" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 msgid "Good self-signature" msgstr "Korrekte Eigenbeglaubigung" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 msgid "Invalid self-signature" msgstr "Ungültige Eigenbeglaubigung" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" "Gültiger User-ID-Widerruf ignoriert, da eine neuere Eigenbeglaubigung " -"vorliegt\n" +"vorliegt" -#: g10/trustdb.c:1410 -msgid "Valid user ID revocation\n" -msgstr "Gültiger User-ID-Widerruf\n" +#: g10/trustdb.c:1066 +msgid "Valid user ID revocation" +msgstr "Gültiger User-ID-Widerruf" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 msgid "Invalid user ID revocation" msgstr "Ungültiger User-ID-Widerruf" -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "Zu viele Einstellungen" - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "Zu viele Angaben zur Bevorzugung" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -msgid "WARNING: can't yet handle long pref records\n" -msgstr "WARNUNG: Lange 'Pref'-Records können noch nicht benutzt werden\n" - -#: g10/trustdb.c:1654 -msgid "duplicated certificate - deleted" -msgstr "Doppelte Zertifikate - entfernt" +#: g10/trustdb.c:1112 +msgid "Valid certificate revocation" +msgstr "Gültiger Zerifikat-Widerruf" -#: g10/trustdb.c:1692 -msgid "public key not anymore available" -msgstr "Öffentlicher Schlüssel ist nicht mehr vorhanden" +#: g10/trustdb.c:1113 +msgid "Good certificate" +msgstr "Korrektes Zertifikat" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 msgid "Invalid certificate revocation" msgstr "Ungültiger Zertifikatswiderruf" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 msgid "Invalid certificate" msgstr "Ungültiges Zertifikat" -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "" -"uid %08lX.%lu/%02X%02X: hat \"shadow-dir\" %lu, aber ist noch nicht " -"markiert.\n" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "Signatursatz %lu[%d] zeigt auf falschen Satz.\n" -#. that should never happen -#: g10/trustdb.c:2007 -#, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "insert_trust_record: Schlüsselblock nicht gefunden: %s\n" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" -msgstr "Huch, keine Schlüssel\n" +#: g10/trustdb.c:1208 +msgid "duplicated certificate - deleted" +msgstr "Doppelte Zertifikate - entfernt" -#: g10/trustdb.c:2412 -msgid "Ooops, no user ids\n" -msgstr "Huch, keine User-IDs\n" +#: g10/trustdb.c:1514 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "tdbio_search_dir fehlgeschlagen: %s\n" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: Einfügen fehlgeschlagen: %s\n" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: Einfügen fehlgeschlagen: %s\n" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: eingefügt\n" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 -#, c-format -msgid "lid %lu: update failed: %s\n" -msgstr "lid %lu: Änderung fehlgeschlagen: %s\n" - -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "lid %lu: geändert\n" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "lid %lu: In Ordnung\n" +#: g10/trustdb.c:1652 +#, fuzzy, c-format +msgid "error reading dir record: %s\n" +msgstr "Fehler beim Auffinden des Verz.Satzes: %s\n" -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "%lu Schlüssel bearbeitet\n" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu Schlüssel mit Fehlern\n" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "\t%lu Schlüssel geändert\n" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu Schlüssel eingefügt\n" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumerate Schlüsselblock fehlgeschlagen: %s\n" -#: g10/trustdb.c:2598 -#, c-format -msgid "%s: keyblock read problem: %s\n" -msgstr "%s: Schlüsselblock Leseproblem: %s\n" - -#: g10/trustdb.c:2612 -#, c-format -msgid "%s: update failed: %s\n" -msgstr "%s: Änderung fehlgeschlagen: %s\n" - -#: g10/trustdb.c:2615 -#, c-format -msgid "%s: updated\n" -msgstr "%s: geändert\n" - -#: g10/trustdb.c:2617 -#, c-format -msgid "%s: okay\n" -msgstr "%s: In Ordnung\n" - -#: g10/trustdb.c:2632 +#: g10/trustdb.c:1705 #, 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:2645 -#, c-format -msgid "lid %lu: keyblock not found: %s\n" -msgstr "lid %lu: Schlüsselblock nicht gefunden: %s\n" - -#: g10/trustdb.c:2673 +#: g10/trustdb.c:1716 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu Schlüssel übersprungen\n" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:1720 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "\t%lu Schlüssel geändert\n" + +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" +msgstr "Huch, keine Schlüssel\n" + +#: g10/trustdb.c:2061 +msgid "Ooops, no user ids\n" +msgstr "Huch, keine User-IDs\n" + +#: g10/trustdb.c:2218 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: Suche nach Dir-Satz fehlgeschlagen: %s\n" -#: g10/trustdb.c:2750 +#: g10/trustdb.c:2227 #, 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:2754 +#: g10/trustdb.c:2231 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "Schlüssel %08lX.%lu: in \"trustdb\" eingefügt\n" -#: g10/trustdb.c:2762 +#: g10/trustdb.c:2239 #, 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:2769 +#: g10/trustdb.c:2248 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "Schlüssel %08lX.%lu: verfallen am %s\n" -#: g10/trustdb.c:2777 +#: g10/trustdb.c:2256 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "Schlüssel %08lX.%lu: Vertrauensprüfung fehlgeschlagen: %s\n" -#: g10/trustdb.c:2881 +#: g10/trustdb.c:2362 #, c-format msgid "user '%s' not found: %s\n" msgstr "Benutzer '%s' nicht gefunden: %s\n" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "Problem, '%s' in der Trust-DB zu finden: %s\n" -#: g10/trustdb.c:2886 +#: g10/trustdb.c:2367 #, 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:2889 +#: g10/trustdb.c:2370 #, 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 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "WARNUNG: Lange 'Pref'-Records können noch nicht benutzt werden\n" + #: g10/ringedit.c:316 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: Schlüsselbund kann nicht erzeugt werden: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, c-format msgid "%s: keyring created\n" msgstr "%s: Schlüsselbund erstellt\n" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "Warnung: Zwei Dateien mit vertraulichem Inhalt vorhanden.\n" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, c-format msgid "%s is the unchanged one\n" msgstr "%s ist der Unveränderte\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "%s ist der Neue\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "Bitte diesen potentiellen Sicherheitsmangel beseitigen\n" @@ -3132,18 +3111,23 @@ #: g10/openfile.c:97 #, c-format msgid "%s: unknown suffix\n" -msgstr "" +msgstr "%s: unbekannte Dateinamenerweiterung\n" -#: g10/openfile.c:122 +#: g10/openfile.c:119 +#, fuzzy +msgid "Enter new filename" +msgstr "--store [Dateiname]" + +#: g10/openfile.c:160 msgid "writing to stdout\n" msgstr "Schreiben auf die Standardausgabe\n" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, c-format msgid "assuming signed data in `%s'\n" msgstr "die unterzeichneten Daten sind wohl in '%s'\n" -#: g10/openfile.c:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "%s: neue Optionendatei erstellt\n" @@ -3278,24 +3262,24 @@ msgid "keygen.valid" msgstr "Geben Sie den erforderlichen Wert ein" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "Geben Sie \"Ja\" oder \"Nein\" ein" # "Enter the name of the key holder" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "Geben Sie den Namen des Schlüsselinhabers ein" # "please enter an optional but highly suggested email address" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "" "Geben Sie eine E-Mail-Adresse ein. Dies ist zwar nicht notwendig,\n" "aber empfehlenswert." # "Please enter an optional comment" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "Geben Sie (bei Bedarf) einen Kommentar ein" @@ -3304,7 +3288,7 @@ # "E to change the email address.\n" # "O to continue with key generation.\n" # "Q to to quit the key generation." -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "" "N um den Namen zu ändern.\n" @@ -3314,50 +3298,45 @@ "B um die Schlüsselerzeugung abbrechen." # "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key." -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "" "Geben Sie \"Ja\" (oder nur \"j\") ein, um den Unterschlüssel zu erzeugen." # "Answer \"yes\" or \"no\"" -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "Geben Sie \"Ja\" oder \"Nein\" ein" # "Answer \"yes\" or \"no\"" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "Geben Sie \"Ja\" oder \"Nein\" ein" -# "Please enter \"help\" to see the list of commands." -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "Geben Sie \"help\" ein, um die Liste der Befehle einzusehen." - # "Answer \"yes\" or \"no\"" -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "Geben Sie \"Ja\" oder \"Nein\" ein" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "Geben Sie \"Ja\" oder \"Nein\" ein" # "Answer \"yes\" is you want to sign ALL the user IDs" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "Geben Sie \"Ja\" (oder nur \"j\") ein, um alle User-IDs zu beglaubigen" # "Answer \"yes\" if you really want to delete this user ID.\n" # "All ceritifcates are then also lost!" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "" "Geben Sie \"Ja\" (oder nur \"j\") ein, um diese User-ID zu LÖSCHEN.\n" "Alle Zertifikate werden dann auch weg sein!" # "Answer \"yes\" if it is okay to delete the subkey" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "" "Geben Sie \"Ja\" (oder nur \"j\") ein, um diesen Unterschlüssel zu löschen" @@ -3366,7 +3345,7 @@ # "This is a valid signature on the key; you normally don't want\n" # "to delete this signature may be important to establish a trust\n" # "connection to the key or another key certified by this key." -#: g10/helptext.c:176 +#: g10/helptext.c:175 msgid "keyedit.delsig.valid" msgstr "" "Dies ist eine gültige Beglaubigung für den Schlüssel. Es ist normalerweise\n" @@ -3375,23 +3354,23 @@ "Schlüssel\n" "herzustellen" -# ("keyedit.delsig.invalid"), -# "The signature is not valid. It does make sense to remove it from\n" -# "your keyring if it is really invalid and not just unchecked due to\n" -# "a missing public key (marked by \"sig?\")." -#: g10/helptext.c:181 -#, fuzzy +# "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" +# "a trust connection through another already certified key." +#: g10/helptext.c:180 msgid "keyedit.delsig.unknown" msgstr "" -"Diese Beglaubigung ist ungültig. Es ist sinnvoll sie aus Ihrem\n" -"Schlüsselbund zu entfernen, sofern sie wirklich ungültig ist und nicht nur\n" -"wegen eines fehlenden öff.Schlüssel (\"sig?\") unkontrollierbar ist." +"Diese Beglaubigung kann nicht geprüft werden, da Sie den passenden Sclüssel\n" +"nicht besitzen. Sie sollten die Löschung der Beglaubigung verschieben, bis\n" +"sie wissen, welcher Schlüssel verwendet wurde. Denn vielleicht würde genau\n" +"diese Beglaubigung den \"Trust\"-Weg kompletieren." # ("keyedit.delsig.invalid"), # "The signature is not valid. It does make sense to remove it from\n" # "your keyring if it is really invalid and not just unchecked due to\n" # "a missing public key (marked by \"sig?\")." -#: g10/helptext.c:187 +#: g10/helptext.c:186 msgid "keyedit.delsig.invalid" msgstr "" "Diese Beglaubigung ist ungültig. Es ist sinnvoll sie aus Ihrem\n" @@ -3404,7 +3383,7 @@ # "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." -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" msgstr "" "Diese Beglaubigung bindet die User-ID an den Schlüssel. Normalerweise ist\n" @@ -3417,7 +3396,7 @@ # ################################ # ####### Help msgids ############ # ################################ -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "" "Bitte geben Sie das Mantra ein. Dies ist ein geheimer Satz, der aus\n" @@ -3432,7 +3411,7 @@ "werden,\n" "sind i.d.R. eine gute Wahl" -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "" "Um sicher zu gehen, daß Sie sich bei der Eingabe des Mantras nicht\n" @@ -3440,25 +3419,112 @@ "übereinstimmen, wird das Mantra akzeptiert." # "Give the name fo the file to which the signature applies" -#: g10/helptext.c:211 +#: g10/helptext.c:210 msgid "detached_signature.filename" msgstr "" "Geben Sie den Namen der Datei an, zu dem die abgetrennte Unterschrift gehört" # "Answer \"yes\" if it is okay to overwrite the file" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "Geben Sie \"ja\" ein, wenn Sie die Datei überschreiben möchten" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "Keine Hilfe vorhanden." -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "Keine Hilfe für '%s' vorhanden." +#~ msgid "print all message digests" +#~ msgstr "Message-Digests für die Eingabedaten ausgeben" + +#~ msgid "Too many preferences" +#~ msgstr "Zu viele Einstellungen" + +#~ msgid "Too many preference items" +#~ msgstr "Zu viele Angaben zur Bevorzugung" + +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "insert_trust_record: Schlüsselblock nicht gefunden: %s\n" + +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "lid %lu: Änderung fehlgeschlagen: %s\n" + +#~ msgid "lid %lu: updated\n" +#~ msgstr "lid %lu: geändert\n" + +#~ msgid "lid %lu: okay\n" +#~ msgstr "lid %lu: In Ordnung\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" +#~ msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" +#~ msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but not marked\n" + +#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" +#~ msgstr "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" + +#~ msgid "lid %lu: no primary key\n" +#~ msgstr "lid %lu: kein Hauptschlüssel\n" + +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "lid %lu: User-ID im Schlüsselblock nicht gefunden\n" + +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "lid %lu: User-ID ohne Signatur\n" + +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "lid %lu: Eigenbeglaubigung in 'hintlist'\n" + +#~ msgid "very strange: no public key\n" +#~ msgstr "sehr seltsam: kein öffentlicher Schlüssel\n" + +#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +#~ msgstr "hintlist %lu[%d] of %lu zeigt nicht auf einen 'dir record'\n" + +#~ msgid "lid %lu does not have a key\n" +#~ msgstr "lid %lu hat keinen Schlüssel\n" + +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "lid %lu: Schlüsselblock nicht verfügbar: %s\n" + +#~ msgid "public key not anymore available" +#~ msgstr "Öffentlicher Schlüssel ist nicht mehr vorhanden" + +#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" +#~ msgstr "" +#~ "uid %08lX.%lu/%02X%02X: hat \"shadow-dir\" %lu, aber ist noch nicht " +#~ "markiert.\n" + +#~ msgid "%s: keyblock read problem: %s\n" +#~ msgstr "%s: Schlüsselblock Leseproblem: %s\n" + +#~ msgid "%s: update failed: %s\n" +#~ msgstr "%s: Änderung fehlgeschlagen: %s\n" + +#~ msgid "%s: updated\n" +#~ msgstr "%s: geändert\n" + +#~ msgid "%s: okay\n" +#~ msgstr "%s: In Ordnung\n" + +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "lid %lu: Schlüsselblock nicht gefunden: %s\n" + +# "Please enter \"help\" to see the list of commands." +#~ msgid "keyedit.cmd" +#~ msgstr "Geben Sie \"help\" ein, um die Liste der Befehle einzusehen." + #~ msgid "can't open file: %s\n" #~ msgstr "Kann die Datei nicht öffnen: %s\n" @@ -3570,9 +3636,6 @@ #~ msgid "insert trust record failed: %s\n" #~ msgstr "'trust record' einfügen fehlgeschlagen: %s\n" - -#~ msgid "error finding dir record: %s\n" -#~ msgstr "Fehler beim Auffinden des Verz.Satzes: %s\n" #~ msgid "Hmmm, public key lost?" #~ msgstr "Hmmm, öffentlicher Schüssel verloren?" diff -urN gnupg-0.9.8/po/es_ES.po gnupg-0.9.9/po/es_ES.po --- gnupg-0.9.8/po/es_ES.po Sat Jun 26 13:07:26 1999 +++ gnupg-0.9.9/po/es_ES.po Fri Jul 23 14:25:59 1999 @@ -7,7 +7,7 @@ # GPG version: 0.9.7 msgid "" msgstr "" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" "PO-Revision-Date: 1999-06-06 18:33+0200\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Date: 1998-11-13 10:49:25+0100\n" @@ -22,31 +22,31 @@ "g10/mainproc.c g10/passphrase.c g10/plaintext.c g10/pref.c g10/seckey-cert.c " "g10/sig-check.c g10/sign.c g10/trustdb.c g10/verify.c\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "ATENCIÓN: ¡se está usando memoria insegura!\n" -#: util/secmem.c:249 +#: util/secmem.c:275 msgid "operation is not possible without initialized secure memory\n" msgstr "operación imposible sin memoria segura inicializada\n" -#: util/secmem.c:250 +#: util/secmem.c:276 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" -#: util/miscutil.c:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "sí" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "sS" -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "" -#: util/miscutil.c:176 +#: util/miscutil.c:274 msgid "qQ" msgstr "" @@ -252,12 +252,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "Ha encontrado Vd. un bug... (%s:%d)\n" -#: cipher/random.c:412 +#: cipher/random.c:452 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:413 +#: cipher/random.c:453 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 +283,7 @@ "otro trabajo para que el sistema pueda recolectar más entropía\n" "(se necesitan %d bytes más).\n" -#: g10/g10.c:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " @@ -291,131 +291,138 @@ "@Comandos:\n" " " -#: g10/g10.c:176 +#: g10/g10.c:185 msgid "|[file]|make a signature" msgstr "|[file]|hace una firma" -#: g10/g10.c:177 +#: g10/g10.c:186 msgid "|[file]|make a clear text signature" msgstr "|[file]|hace una firma en texto claro" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "hace una firma separada" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "cifra datos" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "cifra sólo con un cifrado simétrico" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "sólo almacenar" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "descifra datos (predefinido)" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "verifica una firma" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "lista claves" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "lista claves y firmas" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "comprueba las firmas de las claves" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "lista claves y huellas dactilares" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "lista claves secretas" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "genera un nuevo par de claves" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "elimina la clave del anillo público" -#: g10/g10.c:192 +#: g10/g10.c:201 +#, fuzzy +msgid "sign a key" +msgstr "firma la clave" + +#: g10/g10.c:202 +#, fuzzy +msgid "sign a key locally" +msgstr "firma la clave localmente" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "firma o modifica una clave" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "genera un certificado de revocación" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "exporta claves" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "exporta claves a un servidor de claves" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "importa claves desde un servidor de claves" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "importa/fusiona claves" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "lista sólo la secuencia de paquetes" -#: g10/g10.c:203 +#: g10/g10.c:214 msgid "export the ownertrust values" msgstr "exporta los valores de confianza" -#: g10/g10.c:205 +#: g10/g10.c:216 msgid "import ownertrust values" msgstr "importa los valores de confianza" -#: g10/g10.c:207 -msgid "|[NAMES]|update the trust database" +#: g10/g10.c:218 +#, fuzzy +msgid "update the trust database" msgstr "|[NOMBRES]|actualiza la base de datos de confianza" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "|[NOMBRES]|comprueba la base de datos de confianza" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "arregla una base de datos de confianza dañada" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "quita la armadura de un fichero o stdin" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "crea la armadura a un fichero o stdin" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "|algo [ficheros]|imprime resúmenes de mensaje" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "imprime todos los resúmenes de mensaje" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" @@ -425,164 +432,173 @@ "Opciones:\n" " " -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "crea una salida ascii con armadura" -#: g10/g10.c:223 +#: g10/g10.c:231 msgid "|NAME|encrypt for NAME" msgstr "|NOMBRE|cifra para NOMBRE" -#: g10/g10.c:227 +#: g10/g10.c:234 +#, fuzzy +msgid "|NAME|use NAME as default recipient" +msgstr "|NOMBRE|usa NOMBRE como clave secreta por defecto" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "usa este usuario para firmar o descifrar" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "|N|establece nivel de compresión N (0 no comprime)" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "usa modo de texto canónico" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "usa como fichero de salida" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "prolijo" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "algo más discreto" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" msgstr "" -#: g10/g10.c:235 +#: g10/g10.c:248 msgid "force v3 signatures" msgstr "fuerza firmas v3" -#: g10/g10.c:236 +#: g10/g10.c:249 msgid "always use a MDC for encryption" msgstr "siempre usa un MCD para cifrar" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "no hace ningún cambio" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "proceso por lotes: nunca preguntar" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "asume \"sí\" en casi todas las preguntas" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "asume \"no\" en casi todas las preguntas" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "añade este anillo a la lista de anillos" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "añade este anillo secreto a la lista" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "|NOMBRE|usa NOMBRE como clave secreta por defecto" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "|SERVIDOR|usa este servidor de claves" -#: g10/g10.c:246 +#: g10/g10.c:259 msgid "|NAME|set terminal charset to NAME" msgstr "|NOMBRE|usa el juego de caracteres NOMBRE" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "lee opciones del fichero" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "establece los parámetros de depuración" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "habilita depuración completa" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "|DF|escribe información de estado en descriptor DF" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "no escribe paquetes de comentario" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "(por defecto es 1)" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "(por defecto es 3)" -#: g10/g10.c:256 +#: g10/g10.c:269 msgid "|FILE|load extension module FILE" msgstr "|FICHERO|carga módulo de extensiones FICHERO" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "emula el modo descrito en la RFC1991" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" -#: g10/g10.c:259 +#: g10/g10.c:272 msgid "|N|use passphrase mode N" msgstr "|N|usa modo de contraseña N" -#: g10/g10.c:261 +#: g10/g10.c:274 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:263 +#: g10/g10.c:276 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "" "|NOMBRE|usa el algoritmo de cifrado NOMBRE para las\n" "contraseñas" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "|NOMBRE|usa el algoritmo de cifrado NOMBRE" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "|NOMBRE|usa algoritmo de resumen de mensaje NOMBRE" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "|N|usa el algoritmo de compresión N" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "elimina el campo keyid de los paquetes cifrados" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:270 +#: g10/g10.c:283 msgid "" "@\n" "Examples:\n" @@ -602,15 +618,15 @@ " --list-keys [nombres] muestra las claves\n" " --fingerprint [nombres] muestra las huellas dactilares\n" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "Por favor, informe de posibles \"bugs\" a .\n" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Uso: gpg [opciones] [ficheros] (-h para ayuda)" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -620,7 +636,7 @@ "Firma, comprueba, cifra o descifra.\n" "La operación por defecto depende del tipo de datos de entrada.\n" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" @@ -628,169 +644,181 @@ "\n" "Algoritmos soportados:\n" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "uso: gpg [opciones] " -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "comandos incompatibles\n" -#: g10/g10.c:605 +#: g10/g10.c:640 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "NOTA: no existe el fichero de opciones predefinido `%s'\n" -#: g10/g10.c:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "fichero de opciones `%s': %s\n" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "leyendo opciones desde `%s'\n" -#: g10/g10.c:782 +#: g10/g10.c:831 #, 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:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "el algoritmo de cifrado seleccionado no es válido\n" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "el algoritmo de resumen seleccionado no es válido\n" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:852 +#: g10/g10.c:920 #, 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:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed debe ser mayor que 0\n" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed debe ser mayor que 1\n" -#: g10/g10.c:858 +#: g10/g10.c:926 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:861 +#: g10/g10.c:929 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:865 +#: g10/g10.c:933 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:942 +#: g10/g10.c:1010 #, 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:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "--store [nombre_fichero]" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "--symmetric [nombre_fichero]" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "--encrypt [nombre_fichero]" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "--sign [nombre_fichero]" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nombre_fichero]" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "--clearsign [nombre_fichero]" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "--decrypt [nombre_fichero]" -#: g10/g10.c:1024 -msgid "--edit-key username [commands]" +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 +#, fuzzy +msgid "--lsign-key user-id" +msgstr "--delete-key nombre_usuario" + +#: g10/g10.c:1107 +#, fuzzy +msgid "--edit-key user-id [commands]" msgstr "--edit-key nombre_usuario [comandos]" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1123 +#, fuzzy +msgid "--delete-secret-key user-id" msgstr "--delete-secret-key nombre_usuario" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1126 +#, fuzzy +msgid "--delete-key user-id" msgstr "--delete-key nombre_usuario" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/encode.c:231 g10/g10.c:1150 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "no puede abrirse `%s': %s\n" -#: g10/g10.c:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "-k[v][v][v][c] [id_usuario] [anillo]" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "eliminación de armadura fallida: %s\n" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, c-format msgid "enarmoring failed: %s\n" msgstr "creación de armadura fallida: %s\n" -#: g10/g10.c:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algoritmo de distribución no válido `%s'\n" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "[nombre_fichero]" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "Adelante, teclee su mensaje ...\n" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "no puede abrirse `%s'\n" -#: g10/g10.c:1457 +#: g10/g10.c:1555 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1469 +#: g10/g10.c:1567 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" msgstr "" @@ -869,7 +897,19 @@ "caracter \"quoted printable\" en la armadura - probablemente se usó\n" "un MTA defectuoso\n" -#: g10/pkclist.c:137 +#. 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" + +#. a string with valid answers +#: g10/pkclist.c:170 +msgid "sSmMqQ" +msgstr "iImMqQ" + +#: g10/pkclist.c:174 #, c-format msgid "" "No trust value assigned to %lu:\n" @@ -878,7 +918,7 @@ "No hay confianza definida para el propietario %lu:\n" "%4u%c/%08lX %s \"" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 msgid "" "Please decide how far you trust this user to correctly\n" "verify other users' keys (by looking at passports,\n" @@ -900,28 +940,23 @@ " 4 = Me fío completamente\n" " i = Mostrar más información\n" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr " m = volver al menú principal\n" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr " q = salir\n" -#. a string with valid answers -#: g10/pkclist.c:163 -msgid "sSmMqQ" -msgstr "iImMqQ" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "Su decisión: " -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "Certificados que llevan a una clave de confianza absoluta:\n" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 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" @@ -931,7 +966,7 @@ "si es posible asignar algunos valores de confianza perdidos.\n" "\n" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" @@ -939,7 +974,7 @@ "No se ha encontrado ninguna ruta con una de nuestras claves.\n" "\n" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" @@ -947,7 +982,7 @@ "No se ha encontrado ningún certificado sin valor de confianza.\n" "\n" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 msgid "" "No trust values changed.\n" "\n" @@ -955,36 +990,36 @@ "No se cambió ningún valor de confianza.\n" "\n" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "clave %08lX: ¡esta clave ha sido revocada!\n" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "¿Usar esta clave de todas formas? " -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "clave %08lX: ¡esta subclave ha sido revocada!\n" -#: g10/pkclist.c:321 +#: g10/pkclist.c:363 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: clave caducada\n" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, 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:341 +#: g10/pkclist.c:383 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: ¡Esta clave NO es de confianza!\n" -#: g10/pkclist.c:347 +#: g10/pkclist.c:389 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -994,15 +1029,15 @@ "proprietario\n" "pero se acepta igualmente\n" -#: g10/pkclist.c:353 +#: g10/pkclist.c:395 msgid "This key probably belongs to the owner\n" msgstr "Esta clave probablemente pertenece a su proprietario\n" -#: g10/pkclist.c:358 +#: g10/pkclist.c:400 msgid "This key belongs to us\n" msgstr "Esta clave nos pertenece\n" -#: g10/pkclist.c:398 +#: g10/pkclist.c:443 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" @@ -1014,66 +1049,66 @@ "\"sí\" a la siguiente pregunta.\n" "\n" -#: g10/pkclist.c:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "ATENCIÓN: ¡Usando una clave no fiable!\n" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 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:455 +#: g10/pkclist.c:500 msgid " This could mean that the signature is forgery.\n" msgstr " Esto puede significar que la firma está falsificada.\n" -#: g10/pkclist.c:459 +#: g10/pkclist.c:504 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:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "Nota: ¡Esta clave está caducada!\n" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 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:489 +#: g10/pkclist.c:534 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" -#: g10/pkclist.c:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "ATENCIÓN: ¡Esta clave NO es de confianza!\n" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr " La firma es probablemente una FALSIFICACIÓN.\n" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 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:516 +#: g10/pkclist.c:561 msgid " It is not certain that the signature belongs to the owner.\n" msgstr " No es seguro que la firma pertenezca al propietario.\n" -#: g10/pkclist.c:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: ignorado: %s\n" -#: g10/pkclist.c:588 g10/pkclist.c:687 +#: g10/pkclist.c:670 g10/pkclist.c:820 #, fuzzy, c-format msgid "%s: skipped: public key already present\n" msgstr "%s: problema lectura del bloque de clave: %s\n" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1081,20 +1116,34 @@ "No se ha especificado un ID de usuario (puede usar \"-r\")\n" "\n" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "Introduzca el ID de usuario: " -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "ID de usuario inexistente.\n" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +#, fuzzy +msgid "Public key is disabled.\n" +msgstr "la clave pública es %08lX\n" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: error comprobando la clave: %s\n" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, fuzzy, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s: problema lectura del bloque de clave: %s\n" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "no hay direcciones válidas\n" @@ -1236,29 +1285,29 @@ " m = la clave caduca en n meses\n" " y = la clave caduca en n años\n" -#: g10/keygen.c:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "¿Validez de la clave (0)? " -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "valor no válido\n" -#: g10/keygen.c:540 +#: g10/keygen.c:552 msgid "Key does not expire at all\n" msgstr "La clave nunca caduca\n" #. print the date when the key expires -#: g10/keygen.c:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "La clave caduca el %s\n" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "¿Es correcto (s/n)? " -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1276,44 +1325,44 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "Nombre y apellidos: " -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "Caracter no válido en el nombre\n" -#: g10/keygen.c:612 +#: g10/keygen.c:624 msgid "Name may not start with a digit\n" msgstr "El nombre no puede empezar con un número\n" -#: g10/keygen.c:614 +#: g10/keygen.c:626 msgid "Name must be at least 5 characters long\n" msgstr "El nombre debe tener al menos 5 caracteres\n" -#: g10/keygen.c:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "Dirección de correo electrónico: " -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "Dirección no válida\n" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "Comentario: " -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "Caracter no válido en el comentario\n" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Está usando el juego de caracteres `%s'.\n" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1324,15 +1373,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "NnCcDdVvSs" -#: g10/keygen.c:688 +#: g10/keygen.c:700 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:740 +#: g10/keygen.c:752 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1340,11 +1389,11 @@ "Necesita una contraseña para proteger su clave secreta.\n" "\n" -#: g10/keyedit.c:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 msgid "passphrase not correctly repeated; try again.\n" msgstr "contraseña repetida incorrecta, inténtelo de nuevo.\n" -#: g10/keygen.c:754 +#: g10/keygen.c:766 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" @@ -1356,7 +1405,7 @@ "la opción \"--edit-key\".\n" "\n" -#: g10/keygen.c:775 +#: g10/keygen.c:787 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" @@ -1369,34 +1418,34 @@ "generador de números aleatorios mayor oportunidad de recoger suficiente\n" "entropía.\n" -#: g10/keygen.c:845 +#: g10/keygen.c:857 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:853 +#: g10/keygen.c:865 msgid "DSA keypair will have 1024 bits.\n" msgstr "El par de claves DSA tendrá 1024 bits.\n" -#: g10/keygen.c:859 +#: g10/keygen.c:871 #, fuzzy msgid "Key generation canceled.\n" msgstr "Creación de claves cancelada.\n" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "escribiendo certificado público en `%s'\n" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "escribiendo certificado privado en `%s'\n" -#: g10/keygen.c:947 +#: g10/keygen.c:959 msgid "public and secret key created and signed.\n" msgstr "Claves pública y secreta creadas y firmadas.\n" -#: g10/keygen.c:949 +#: g10/keygen.c:961 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" @@ -1405,12 +1454,12 @@ "el comando \"--edit-key\" para crear una clave secundaria con este " "propósito.\n" -#: g10/keygen.c:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, c-format msgid "Key generation failed: %s\n" msgstr "Creación de la clave fallida: %s\n" -#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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" @@ -1418,7 +1467,7 @@ "clave pública creada %lu segundos en el futuro (salto en el tiempo o\n" "problemas con el reloj)\n" -#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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" @@ -1426,11 +1475,11 @@ "clave pública creada %lu segundos en el futuro (salto en el tiempo o\n" "problemas con el reloj)\n" -#: g10/keygen.c:1040 +#: g10/keygen.c:1052 msgid "Really create? " msgstr "¿Crear de verdad? " -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1483,243 +1532,248 @@ msgid "too many entries in unk cache - disabled\n" msgstr "demasiados registros en la cache unk - anulada\n" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, 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:116 +#: g10/import.c:118 #, c-format msgid "can't open `%s': %s\n" msgstr "no puede abrirse `%s': %s\n" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "ignorando bloque de tipo %d\n" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "hasta ahora se han procesado %lu claves\n" -#: g10/import.c:172 +#: g10/import.c:174 #, c-format msgid "error reading `%s': %s\n" msgstr "error leyendo `%s': %s\n" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr " Cantidad total procesada: %lu\n" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr " sin identificativo: %lu\n" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr " importadas: %lu" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr " sin cambios: %lu\n" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr " nuevos identificativos: %lu\n" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr " nuevas subclaves: %lu\n" -#: g10/import.c:191 +#: g10/import.c:193 #, c-format msgid " new signatures: %lu\n" msgstr " nuevas firmas: %lu\n" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr " nuevas revocaciones: %lu\n" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr " claves secretas leídas: %lu\n" -#: g10/import.c:197 +#: g10/import.c:199 #, c-format msgid " secret keys imported: %lu\n" msgstr " claves secretas importadas: %lu\n" -#: g10/import.c:199 +#: g10/import.c:201 #, c-format msgid " secret keys unchanged: %lu\n" msgstr "claves secretas sin cambios: %lu\n" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "clave %08lX: no hay identificativo de usuario\n" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "clave %08lX: no hay identificativos de usuario válidos\n" -#: g10/import.c:355 +#: g10/import.c:378 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:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "clave %08lX: clave pública no encontrada: %s\n" -#: g10/import.c:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "no hay anillo público por defecto\n" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "escribiendo en `%s'\n" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "no puede bloquearse el anillo `%s': %s\n" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "error escribiendo anillo `%s': %s\n" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "clave %08lX: clave pública importada\n" -#: g10/import.c:399 +#: g10/import.c:427 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "clave %08lX: no se corresponde con nuestra copia\n" -#: g10/import.c:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, 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:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, 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:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "clave %08lX: 1 nuevo identificativo de usuario\n" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "clave %08lX: %d nuevos identificativos de usuario\n" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "clave %08lX: 1 nueva firma\n" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "clave %08lX: %d nuevas firmas\n" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "clave %08lX: 1 nueva subclave\n" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "clave %08lX: %d nuevas subclaves\n" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "clave %08lX: sin cambios\n" -#: g10/import.c:552 +#: g10/import.c:577 #, 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:556 +#: g10/import.c:581 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "clave %08lX: ya estaba en el anillo secreto\n" -#: g10/import.c:561 +#: g10/import.c:586 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "clave %08lX: clave secreta no encontrada: %s\n" -#: g10/import.c:590 +#: g10/import.c:615 #, 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:621 +#: g10/import.c:646 #, 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:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "clave %08lX: certificado de revocación importado\n" -#: g10/import.c:686 +#: g10/import.c:711 #, 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:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "clave %08lX: algoritmo de clave pública no soportado\n" -#: g10/import.c:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "clave %08lX: autofirma no válida\n" -#: g10/import.c:709 +#: g10/import.c:734 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "clave %08lX: no hay subclave para unir\n" -#: g10/import.c:718 +#: g10/import.c:743 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "clave %08lX.%lu: unión de subclave no válida\n" -#: g10/import.c:750 +#: g10/import.c:769 +#, fuzzy, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "clave %08lX: ignorado identificativo de usuario '" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "clave %08lX: ignorado identificativo de usuario '" -#: g10/import.c:773 +#: g10/import.c:821 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "clave %08lX: subclave ignorada\n" @@ -1728,99 +1782,99 @@ #. * 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:798 +#: g10/import.c:846 #, 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:807 +#: g10/import.c:855 #, 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:815 +#: g10/import.c:863 #, 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:915 +#: g10/import.c:963 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "clave %08lX: detectado usuario duplicado - fusionada\n" -#: g10/import.c:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "clave %08lX: certificado de revocación añadido\n" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "clave %08lX: nuestra copia no tiene autofirma\n" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: usuario no encontrado\n" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "[revocación]" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 msgid "[self-signature]" msgstr "[autofirma]" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 msgid "1 bad signature\n" msgstr "1 firma incorrecta\n" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "%d firmas incorrectas\n" -#: g10/keyedit.c:222 +#: g10/keyedit.c:223 msgid "1 signature not checked due to a missing key\n" msgstr "1 firma no comprobada por falta de clave\n" -#: g10/keyedit.c:224 +#: g10/keyedit.c:225 #, c-format msgid "%d signatures not checked due to missing keys\n" msgstr "%d firmas no comprobadas por falta de clave\n" -#: g10/keyedit.c:226 +#: g10/keyedit.c:227 msgid "1 signature not checked due to an error\n" msgstr "1 firma no comprobada por causa de un error\n" -#: g10/keyedit.c:228 +#: g10/keyedit.c:229 #, c-format msgid "%d signatures not checked due to errors\n" msgstr "%d firmas no comprobadas por causa de un error\n" -#: g10/keyedit.c:230 +#: g10/keyedit.c:231 msgid "1 user id without valid self-signature detected\n" msgstr "Detectado 1 identificativo de usuario sin autofirma válida\n" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\n" msgstr "Detectados %d identificativos de usuario sin autofirma válida\n" #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, c-format msgid "Already signed by key %08lX\n" msgstr "Ya firmada por la clave %08lX\n" -#: g10/keyedit.c:320 +#: g10/keyedit.c:321 #, c-format msgid "Nothing to sign with key %08lX\n" msgstr "Nada que firmar con la clave %08lX\n" -#: g10/keyedit.c:329 +#: g10/keyedit.c:330 msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" @@ -1828,7 +1882,7 @@ "¿Está realmente seguro de querer firmar esta clave\n" "con su clave: \"" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" @@ -1836,29 +1890,29 @@ "La firma se marcará como no exportable.\n" "\n" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "¿Firmar de verdad? " -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "firma fallida: %s\n" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "Esta clave no está protegida.\n" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "La clave está protegida.\n" -#: g10/keyedit.c:442 +#: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" msgstr "No puede editarse esta clave: %s\n" -#: g10/keyedit.c:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" @@ -1866,7 +1920,7 @@ "Introduzca la nueva contraseña para esta clave secreta.\n" "\n" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" @@ -1874,379 +1928,402 @@ "No ha especificado contraseña. Esto es probablemente una *mala* idea.\n" "\n" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "¿Realmente quiere hacer esto? " -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "moviendo la firma de la clave al lugar correcto\n" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "sale de este menú" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "graba y sale" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "muestra esta ayuda" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "show fingerprint" msgstr "muestra huella dactilar" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list" msgstr "" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list key and user ids" msgstr "lista clave e identificativos de usuario" -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "selecciona identificativo de usuario N" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "selecciona clave secundaria N" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "list signatures" msgstr "lista firmas" -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign the key" msgstr "firma la clave" -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 #, fuzzy msgid "lsign" msgstr "firmando:" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "sign the key locally" msgstr "firma la clave localmente" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "añade un identificativo de usuario" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "delete user id" msgstr "borra un identificativo de usuario" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "add a secondary key" msgstr "añade una clave secundaria" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "borra una clave secundaria" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delsig" msgstr "firmando:" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delete signatures" msgstr "lista firmas" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "change the expire date" msgstr "cambia fecha de caducidad" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "cambia entre lista de claves secretas y públicas" -#: g10/keyedit.c:583 +#: g10/keyedit.c:588 msgid "t" msgstr "" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "muestra preferencias" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "change the passphrase" msgstr "cambia la contraseña" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "cambia valores de confianza" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revsig" msgstr "" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revoke signatures" msgstr "revoca firmas" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revkey" msgstr "" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revoke a secondary key" msgstr "revoca una clave secundaria" -#: g10/keyedit.c:607 +#: g10/keyedit.c:594 +msgid "disable" +msgstr "" + +#: g10/keyedit.c:594 +#, fuzzy +msgid "disable a key" +msgstr "Clave incorrecta" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "" + +#: g10/keyedit.c:595 +#, fuzzy +msgid "enable a key" +msgstr "Clave incorrecta" + +#: g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "imposible hacer esto en modo de proceso por lotes\n" #. check that they match -#. FIXME: check that they both match -#: g10/keyedit.c:636 +#. fixme: check that they both match +#: g10/keyedit.c:652 msgid "Secret key is available.\n" msgstr "Clave secreta disponible.\n" -#: g10/keyedit.c:665 +#: g10/keyedit.c:681 msgid "Command> " msgstr "Comando> " -#: g10/keyedit.c:692 +#: g10/keyedit.c:711 msgid "Need the secret key to do this.\n" msgstr "Se necesita la clave secreta para hacer esto.\n" -#: g10/keyedit.c:714 -msgid "Save changes? " -msgstr "¿Grabar cambios? " - -#: g10/keyedit.c:717 -msgid "Quit without saving? " -msgstr "¿Salir sin grabar? " - -#: g10/keyedit.c:727 -#, c-format -msgid "update failed: %s\n" -msgstr "actualización fallida: %s\n" - -#: g10/keyedit.c:734 -#, c-format -msgid "update secret failed: %s\n" -msgstr "actualización de la clave secreta fallida: %s\n" - -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" -msgstr "Clave sin cambios, no se necesita actualización.\n" - -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, c-format -msgid "update of trustdb failed: %s\n" -msgstr "actualización de confianza fallida: %s\n" - -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "¿Firmar realmente todos los identificativos de usuario? " -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "Sugerencia: seleccione los identificativos de usuario a firmar\n" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "actualización de confianza fallida: %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 msgid "You must select at least one user id.\n" msgstr "Debe seleccionar por lo menos un identificativo de usuario.\n" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "¡No puede borrar el último identificativo de usuario!\n" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 msgid "Really remove all selected user ids? " msgstr "¿Borrar realmente todos los identificativos seleccionados? " -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 msgid "Really remove this user id? " msgstr "¿Borrar realmente este identificativo? " -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" msgstr "Debe seleccionar por lo menos una clave.\n" -#: g10/keyedit.c:862 +#: g10/keyedit.c:843 msgid "Do you really want to delete the selected keys? " msgstr "¿Borrar realmente las claves seleccionadas? " -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 msgid "Do you really want to delete this key? " msgstr "¿Borrar realmente esta clave? " -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 msgid "Do you really want to revoke the selected keys? " msgstr "¿Revocar realmente las claves seleccionadas? " -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 msgid "Do you really want to revoke this key? " msgstr "¿Revocar realmente esta clave? " -#: g10/keyedit.c:939 +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "¿Grabar cambios? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "¿Salir sin grabar? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "actualización fallida: %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "actualización de la clave secreta fallida: %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "Clave sin cambios, no se necesita actualización.\n" + +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "Comando no válido (pruebe \"help\")\n" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +#, fuzzy +msgid "This key has been disabled" +msgstr "Nota: ¡Esta clave está caducada!\n" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1302 +#: g10/keyedit.c:1344 msgid "Delete this unknown signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1308 +#: g10/keyedit.c:1350 #, fuzzy msgid "Really delete this self-signature? (y/N)" msgstr "¿Crear los certificados de revocación realmente? (s/N)" -#: g10/keyedit.c:1322 +#: g10/keyedit.c:1364 #, fuzzy, c-format msgid "Deleted %d signature.\n" msgstr "%d firmas incorrectas\n" -#: g10/keyedit.c:1323 +#: g10/keyedit.c:1365 #, fuzzy, c-format msgid "Deleted %d signatures.\n" msgstr "%d firmas incorrectas\n" -#: g10/keyedit.c:1326 +#: g10/keyedit.c:1368 #, fuzzy msgid "Nothing deleted.\n" msgstr "ATENCIÓN: no se ha exportado nada\n" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "Por favor, quite la selección de las claves secretas.\n" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 msgid "Please select at most one secondary key.\n" msgstr "Por favor, seleccione como máximo una clave secundaria.\n" -#: g10/keyedit.c:1405 +#: g10/keyedit.c:1447 #, fuzzy msgid "Changing expiration time for a secondary key.\n" msgstr "Cambiando caducidad de clave secundaria.\n" -#: g10/keyedit.c:1407 +#: g10/keyedit.c:1449 #, fuzzy msgid "Changing expiration time for the primary key.\n" msgstr "Cambiando caducidad de clave primaria.\n" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 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:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "No hay firma correspondiente en anillo secreto\n" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, 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:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "No hay ninguna clave secundaria con el índice %d\n" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 msgid "user ID: \"" msgstr "ID de usuario: \"" -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, c-format msgid "" "\"\n" @@ -2255,103 +2332,114 @@ "\"\n" "firmada con su clave %08lX el %s\n" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "¿Crear un certificado de revocación para esta clave (s/N)?" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "¿Crear los certificados de revocación realmente? (s/N)" -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 msgid "no secret key\n" msgstr "no hay clave secreta\n" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, c-format msgid "public key is %08lX\n" msgstr "la clave pública es %08lX\n" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 msgid "public key encrypted data: good DEK\n" msgstr "datos cifrados de la clave pública: DEK bueno\n" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, fuzzy, 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" + +#: g10/mainproc.c:285 +#, fuzzy, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "Firma creada %.*s usando identificativo de clave %s %08lX\n" + +#: g10/mainproc.c:291 +#, fuzzy +msgid "no secret key for decryption available\n" +msgstr "Clave secreta no disponible" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "descifrado de la clave pública fallido: %s\n" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 msgid "decryption okay\n" msgstr "descifrado correcto\n" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "ATENCIÓN: ¡el mensaje cifrado ha sido manipulado!\n" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "descifrado fallido: %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTA: el remitente solicitó \"sólo-para-tus-ojos\"\n" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "nombre fichero original='%.*s'\n" -#: g10/mainproc.c:505 g10/mainproc.c:514 +#: g10/mainproc.c:587 g10/mainproc.c:596 #, fuzzy msgid "WARNING: invalid notation data found\n" msgstr "no se han encontrados datos OpenPGP válidos\n" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " msgstr "" -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " msgstr "" -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 msgid "signature verification suppressed\n" msgstr "suprimida la verificación de la firma\n" -#: g10/mainproc.c:935 +#: g10/mainproc.c:1031 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "Firma creada %.*s usando identificativo de clave %s %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "Firma INCORRECTA de \"" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "Firma correcta de \"" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr "también conocido como \"" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "Imposible comprobar la firma: %s\n" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "firma viejo estilo (PGP 2.x)\n" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "paquete raíz no válido detectado en proc_tree()\n" @@ -2382,17 +2470,17 @@ "este algoritmo de cifrado está en desuso, considere el uso de uno más " "estándar.\n" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, 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:931 +#: g10/parse-packet.c:932 #, 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" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" @@ -2402,21 +2490,26 @@ "Necesita una contraseña para desbloquear la clave secreta\n" "del usuario: \"" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "clave %2$s de %1$u bits, ID %3$08lX, creada el %4$s" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr "(ID clave primaria %08lX)" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +#, fuzzy +msgid "can't query password in batchmode\n" +msgstr "imposible hacer esto en modo de proceso por lotes\n" + +#: g10/passphrase.c:194 msgid "Enter passphrase: " msgstr "Introduzca contraseña: " -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 msgid "Repeat passphrase: " msgstr "Repita contraseña: " @@ -2468,33 +2561,33 @@ msgid "WARNING: Weak key detected - please change passphrase again.\n" msgstr "ATENCIÓN: detectada clave débil - por favor cambie la contraseña.\n" -#: g10/sig-check.c:187 +#: 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" -#: g10/sig-check.c:283 +#: g10/sig-check.c:295 msgid "" "this is a PGP generated ElGamal key which is NOT secure for signatures!\n" msgstr "" "¡esto es una clave ElGamal generada por PGP que NO es segura para las " "firmas!\n" -#: g10/sig-check.c:291 +#: g10/sig-check.c:303 #, c-format msgid "public key is %lu second newer than the signature\n" msgstr "la clave pública es %lu segundos más nueva que la firma\n" -#: g10/sig-check.c:292 +#: g10/sig-check.c:304 #, c-format msgid "public key is %lu seconds newer than the signature\n" msgstr "la clave pública es %lu segundos más nueva que la firma\n" -#: g10/sig-check.c:308 +#: g10/sig-check.c:320 #, c-format msgid "NOTE: signature key expired %s\n" msgstr "NOTA: clave de la firma caducada el %s\n" -#: g10/sig-check.c:365 +#: 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" @@ -2527,12 +2620,12 @@ msgid "input line longer than %d characters\n" msgstr "línea de longitud superior a %d caracteres\n" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "registro base de datos de confianza %lu: lseek fallido: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" @@ -2562,7 +2655,7 @@ msgid "%s: directory does not exist!\n" msgstr "%s: ¡el directorio no existe!\n" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: no puede crearse: %s\n" @@ -2603,7 +2696,7 @@ msgstr "%s: error actualizando el registro de versión: %s\n" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: error leyendo registro de versión: %s\n" @@ -2613,487 +2706,371 @@ msgid "%s: error writing version record: %s\n" msgstr "%s: error escribiendo registro de versión: %s\n" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "base de datos de confianza: fallo lseek: %s\n" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, 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:1161 +#: g10/tdbio.c:1275 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: no es una base de datos de confianza\n" -#: g10/tdbio.c:1177 +#: g10/tdbio.c:1291 #, 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:1182 +#: g10/tdbio.c:1296 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versión del fichero %d no válida\n" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: error leyendo registro libre: %s\n" -#: g10/tdbio.c:1479 +#: g10/tdbio.c:1608 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: error escribiendo registro de directorio: %s\n" -#: g10/tdbio.c:1489 +#: g10/tdbio.c:1618 #, 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:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: fallo al añadir un registro: %s\n" -#: g10/tdbio.c:1630 +#: g10/tdbio.c:1759 #, fuzzy 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" -#: g10/trustdb.c:163 +#: g10/trustdb.c:160 #, 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:178 +#: g10/trustdb.c:175 #, 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:192 +#: g10/trustdb.c:189 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "registro de confianza %lu: fallo al borrar: %s\n" -#: g10/trustdb.c:206 +#: g10/trustdb.c:203 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "base de datos de confianza: fallo sincronización: %s\n" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, 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:393 +#: g10/trustdb.c:354 #, 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:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "no hay clave primaria para el LID %lu\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, 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:442 +#: g10/trustdb.c:403 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record fallida: %s\n" -#: g10/trustdb.c:510 +#: g10/trustdb.c:458 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "NOTA: la clave secreta %08lX NO está protegida.\n" -#: g10/trustdb.c:518 +#: g10/trustdb.c:466 #, 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:525 +#: g10/trustdb.c:473 #, 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:535 +#: g10/trustdb.c:485 #, 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:541 +#: g10/trustdb.c:491 #, c-format msgid "key %08lX: query record failed\n" msgstr "clave %08lX: petición de registro fallida\n" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, 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:553 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "clave %08lX: aceptada como clave de confianza.\n" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "enum_secret_keys fallido: %s\n" -#: g10/trustdb.c:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "" -"NOTA: el registro de firma %lu[%d] está en la lista\n" -"de búsqueda de %lu pero está marcado como comprobado\n" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "" -"NOTA: el registro de firma %lu[%d] está en la lista\n" -"de búsqueda de %lu pero no está marcado\n" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "" -"El registro de firma %lu[%d] en la lista de búsqueda de %lu\n" -"no apunta a un registro de directorio\n" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "lid %lu: ninguna clave primaria\n" - -#: g10/trustdb.c:901 -#, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "" -"lid %lu: no se ha encontrado identificativo de usuario\n" -"en el bloque de clave\n" - -#: g10/trustdb.c:905 -#, c-format -msgid "lid %lu: user id without signature\n" -msgstr "lid %lu: identificativo de usuario sin firma\n" - -#: g10/trustdb.c:912 -#, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "lid %lu: autofirma en lista de búsqueda\n" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -msgid "Valid certificate revocation" -msgstr "Revocación de certificado válida" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -msgid "Good certificate" -msgstr "Certificado bueno" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "muy raro: no hay clave pública\n" - -#: g10/trustdb.c:982 -#, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -msgstr "" -"la lista de búsqueda %lu[%d] de %lu no apunta a\n" -"un registro de directorio\n" - -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "lid %lu no dispone de clave\n" - -#: g10/trustdb.c:998 -#, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "lid %lu: no puedo obtener el bloque de clave: %s\n" - -#: g10/trustdb.c:1055 g10/trustdb.c:2030 -#, c-format -msgid "tdbio_search_dir failed: %s\n" +#: g10/trustdb.c:802 +#, fuzzy, c-format +msgid "tdbio_search_sdir failed: %s\n" msgstr "tdbio_search_dir fallida: %s\n" -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "clave %08lX.%lu: buena unión de subclave\n" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "clave %08lX.%lu: unión de subclave no válida\n" -#: g10/trustdb.c:1232 +#: g10/trustdb.c:895 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "clave %08lX.%lu: revocación de clave válida\n" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, 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:1253 +#: g10/trustdb.c:912 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "clave %08lX.%lu: revocación de subclave válida\n" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 msgid "Good self-signature" msgstr "Autofirma buena" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 msgid "Invalid self-signature" msgstr "Autofirma no válida" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +#, fuzzy +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" -#: g10/trustdb.c:1410 -msgid "Valid user ID revocation\n" +#: g10/trustdb.c:1066 +#, fuzzy +msgid "Valid user ID revocation" msgstr "Revocación identificativo de usuario válida.\n" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 msgid "Invalid user ID revocation" msgstr "Revocación identificativo de usuario no válida." -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "Demasiadas preferencias" - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "Demasiados ítems de preferencias" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -msgid "WARNING: can't yet handle long pref records\n" -msgstr "ATENCÍON: todavía no puedo tratar registros de preferencias largos\n" - -#: g10/trustdb.c:1654 -msgid "duplicated certificate - deleted" -msgstr "certificado duplicado - eliminado" +#: g10/trustdb.c:1112 +msgid "Valid certificate revocation" +msgstr "Revocación de certificado válida" -#: g10/trustdb.c:1692 -msgid "public key not anymore available" -msgstr "clave pública no disponible" +#: g10/trustdb.c:1113 +msgid "Good certificate" +msgstr "Certificado bueno" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 msgid "Invalid certificate revocation" msgstr "Certificado de revocación incorrecto" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 msgid "Invalid certificate" msgstr "Certificado incorrecto" -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "registro de firma %lu[%d] apunta al registro equivocado.\n" -#. that should never happen -#: g10/trustdb.c:2007 -#, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "insert_trust_record: bloque de clave no encontrado: %s\n" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" -msgstr "Oh oh, no hay claves\n" +#: g10/trustdb.c:1208 +msgid "duplicated certificate - deleted" +msgstr "certificado duplicado - eliminado" -#: g10/trustdb.c:2412 -msgid "Ooops, no user ids\n" -msgstr "Oh oh, no hay identificativos de usuario\n" +#: g10/trustdb.c:1514 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "tdbio_search_dir fallida: %s\n" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: inserción fallida: %s\n" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: inserción fallida: %s\n" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: insertada\n" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 -#, c-format -msgid "lid %lu: update failed: %s\n" -msgstr "lid %lu: actualización fallida: %s\n" - -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "lid %lu: actualizado\n" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "lid %lu: bien\n" +#: g10/trustdb.c:1652 +#, fuzzy, c-format +msgid "error reading dir record: %s\n" +msgstr "error buscando registro de directorio: %s\n" -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "se han procesado %lu claves\n" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu claves con errores\n" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "\t%lu claves actualizadas\n" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu claves insertadas\n" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumeración bloques de clave fallido: %s\n" -#: g10/trustdb.c:2598 -#, c-format -msgid "%s: keyblock read problem: %s\n" -msgstr "%s: problema lectura del bloque de clave: %s\n" - -#: g10/trustdb.c:2612 -#, c-format -msgid "%s: update failed: %s\n" -msgstr "%s: actualización fallida: %s\n" - -#: g10/trustdb.c:2615 -#, c-format -msgid "%s: updated\n" -msgstr "%s: actualizada\n" - -#: g10/trustdb.c:2617 -#, c-format -msgid "%s: okay\n" -msgstr "%s: bien\n" - -#: g10/trustdb.c:2632 +#: g10/trustdb.c:1705 #, 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:2645 -#, c-format -msgid "lid %lu: keyblock not found: %s\n" -msgstr "lid %lu: bloque de clave no encontrado: %s\n" - -#: g10/trustdb.c:2673 +#: g10/trustdb.c:1716 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu claves ignoradas\n" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:1720 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "\t%lu claves actualizadas\n" + +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" +msgstr "Oh oh, no hay claves\n" + +#: g10/trustdb.c:2061 +msgid "Ooops, no user ids\n" +msgstr "Oh oh, no hay identificativos de usuario\n" + +#: g10/trustdb.c:2218 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: búsqueda registro directorio fallida: %s\n" -#: g10/trustdb.c:2750 +#: g10/trustdb.c:2227 #, 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:2754 +#: g10/trustdb.c:2231 #, 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:2762 +#: g10/trustdb.c:2239 #, 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:2769 +#: g10/trustdb.c:2248 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "clave %08lX.%lu: caducada el %s\n" -#: g10/trustdb.c:2777 +#: g10/trustdb.c:2256 #, 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:2881 +#: g10/trustdb.c:2362 #, c-format msgid "user '%s' not found: %s\n" msgstr "usuario '%s' no encontrado: %s\n" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problema buscando '%s' en la tabla de confianza: %s\n" -#: g10/trustdb.c:2886 +#: g10/trustdb.c:2367 #, 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:2889 +#: g10/trustdb.c:2370 #, 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 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "ATENCÍON: todavía no puedo tratar registros de preferencias largos\n" + #: g10/ringedit.c:316 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: no se puede crear el anillo: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, c-format msgid "%s: keyring created\n" msgstr "%s: anillo creado\n" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "ATENCIÓN: existen 2 ficheros con información confidencial.\n" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, c-format msgid "%s is the unchanged one\n" msgstr "%s es el que no se ha modificado\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "%s es el nuevo\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "Por favor arregle este posible fallo de seguridad\n" @@ -3130,16 +3107,21 @@ msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:122 +#: g10/openfile.c:119 +#, fuzzy +msgid "Enter new filename" +msgstr "--store [nombre_fichero]" + +#: g10/openfile.c:160 msgid "writing to stdout\n" msgstr "escribiendo en stdout\n" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, c-format msgid "assuming signed data in `%s'\n" msgstr "asumiendo que hay datos firmados en `%s'\n" -#: g10/openfile.c:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "%s: se ha creado un nuevo fichero de opciones\n" @@ -3212,103 +3194,187 @@ msgid "keygen.valid" msgstr "" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "" -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "" -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "" -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "" -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "" - -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "" -#: g10/helptext.c:176 +#: g10/helptext.c:175 msgid "keyedit.delsig.valid" msgstr "" -#: g10/helptext.c:181 +#: g10/helptext.c:180 msgid "keyedit.delsig.unknown" msgstr "" -#: g10/helptext.c:187 +#: g10/helptext.c:186 msgid "keyedit.delsig.invalid" msgstr "" -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" msgstr "" -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "" -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "" -#: g10/helptext.c:211 +#: g10/helptext.c:210 msgid "detached_signature.filename" msgstr "" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "Ayuda no disponible" -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "Ayuda no disponible para `%s'" +#~ msgid "print all message digests" +#~ msgstr "imprime todos los resúmenes de mensaje" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" +#~ msgstr "" +#~ "NOTA: el registro de firma %lu[%d] está en la lista\n" +#~ "de búsqueda de %lu pero está marcado como comprobado\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" +#~ msgstr "" +#~ "NOTA: el registro de firma %lu[%d] está en la lista\n" +#~ "de búsqueda de %lu pero no está marcado\n" + +#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "El registro de firma %lu[%d] en la lista de búsqueda de %lu\n" +#~ "no apunta a un registro de directorio\n" + +#~ msgid "lid %lu: no primary key\n" +#~ msgstr "lid %lu: ninguna clave primaria\n" + +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "" +#~ "lid %lu: no se ha encontrado identificativo de usuario\n" +#~ "en el bloque de clave\n" + +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "lid %lu: identificativo de usuario sin firma\n" + +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "lid %lu: autofirma en lista de búsqueda\n" + +#~ msgid "very strange: no public key\n" +#~ msgstr "muy raro: no hay clave pública\n" + +#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "la lista de búsqueda %lu[%d] de %lu no apunta a\n" +#~ "un registro de directorio\n" + +#~ msgid "lid %lu does not have a key\n" +#~ msgstr "lid %lu no dispone de clave\n" + +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "lid %lu: no puedo obtener el bloque de clave: %s\n" + +#~ msgid "Too many preferences" +#~ msgstr "Demasiadas preferencias" + +#~ msgid "Too many preference items" +#~ msgstr "Demasiados ítems de preferencias" + +#~ msgid "public key not anymore available" +#~ msgstr "clave pública no disponible" + +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "insert_trust_record: bloque de clave no encontrado: %s\n" + +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "lid %lu: actualización fallida: %s\n" + +#~ msgid "lid %lu: updated\n" +#~ msgstr "lid %lu: actualizado\n" + +#~ msgid "lid %lu: okay\n" +#~ msgstr "lid %lu: bien\n" + +#~ msgid "%s: keyblock read problem: %s\n" +#~ msgstr "%s: problema lectura del bloque de clave: %s\n" + +#~ msgid "%s: update failed: %s\n" +#~ msgstr "%s: actualización fallida: %s\n" + +#~ msgid "%s: updated\n" +#~ msgstr "%s: actualizada\n" + +#~ msgid "%s: okay\n" +#~ msgstr "%s: bien\n" + +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "lid %lu: bloque de clave no encontrado: %s\n" + #~ msgid "can't lock keyring `%': %s\n" #~ msgstr "no puede bloquearse el anillo público `%s': %s\n" @@ -3426,9 +3492,6 @@ #~ msgid "insert trust record failed: %s\n" #~ msgstr "inserción del registro de confianza fallida: %s\n" - -#~ msgid "error finding dir record: %s\n" -#~ msgstr "error buscando registro de directorio: %s\n" #~ msgid "Hmmm, public key lost?" #~ msgstr "Oh oh, ¿se ha perdido la clave pública?" diff -urN gnupg-0.9.8/po/fr.po gnupg-0.9.9/po/fr.po --- gnupg-0.9.8/po/fr.po Sat Jun 26 13:07:27 1999 +++ gnupg-0.9.9/po/fr.po Fri Jul 23 14:26:00 1999 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg 0.9.7\n" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" "PO-Revision-Date: 1999-05-24 21:48+02:00\n" "Last-Translator: Gaël Quéri \n" "Language-Team: French \n" @@ -13,33 +13,33 @@ "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "Attention : utilisation de la mémoire non sûre !\n" -#: util/secmem.c:249 +#: util/secmem.c:275 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:250 +#: util/secmem.c:276 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" -#: util/miscutil.c:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "oui" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "oO" -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "quitter" -#: util/miscutil.c:176 +#: util/miscutil.c:274 #, fuzzy msgid "qQ" msgstr "q" @@ -246,12 +246,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "vous avez trouvé un bug ... (%s:%d)\n" -#: cipher/random.c:412 +#: cipher/random.c:452 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:413 +#: cipher/random.c:453 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -276,7 +276,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:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " @@ -284,132 +284,139 @@ "@Commandes:\n" " " -#: g10/g10.c:176 +#: g10/g10.c:185 msgid "|[file]|make a signature" msgstr "|[fichier]|faire une signature" -#: g10/g10.c:177 +#: g10/g10.c:186 msgid "|[file]|make a clear text signature" msgstr "|[fichier]|faire une signature en texte clair" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "faire une signature détachée" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "chiffrer les données" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "chiffrement symétrique seulement" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "pas d'action" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "déchiffrer les données (défaut)" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "vérifier une signature" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "lister les clés" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "lister les clés et les signatures" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "vérifier les signatures des clés" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "lister les clés et les empreintes" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "lister les clés secrètes" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "générer une nouvelle paire de clés" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "enlever la clé du porte-clés public" -#: g10/g10.c:192 +#: g10/g10.c:201 +#, fuzzy +msgid "sign a key" +msgstr "signer la clé" + +#: g10/g10.c:202 +#, fuzzy +msgid "sign a key locally" +msgstr "signer la clé localement" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "signer ou éditer une clé" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "générer un certificat de révocation" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "exporter les clés" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "exporter les clés vers un serveur de clés" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "importer les clés d'un serveur de clés" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "importer/fusionner les clés" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "ne lister que les paquets" -#: g10/g10.c:203 +#: g10/g10.c:214 msgid "export the ownertrust values" msgstr "exporter les indices de confiance" -#: g10/g10.c:205 +#: g10/g10.c:216 msgid "import ownertrust values" msgstr "importer les indices de confiance" # -#: g10/g10.c:207 -msgid "|[NAMES]|update the trust database" +#: g10/g10.c:218 +#, fuzzy +msgid "update the trust database" msgstr "|[NOMS]|mettre la base de confiance à jour" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "|[NOMS]|vérifier la base de confiance" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "réparer une base de confiance corrompue" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "Enlever l'armure d'un fichier ou de stdin" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "Mettre une armure à un fichier ou à stdin" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "|alg. [fich.]|indiquer les fonctions de hachage" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "écrire toutes les fonctions de hachage" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" @@ -419,162 +426,171 @@ "Options:\n" " " -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "créer une sortie ascii avec armure" -#: g10/g10.c:223 +#: g10/g10.c:231 msgid "|NAME|encrypt for NAME" msgstr "|NOM|chiffrer pour NOM" -#: g10/g10.c:227 +#: g10/g10.c:234 +#, fuzzy +msgid "|NAME|use NAME as default recipient" +msgstr "|NOM|utiliser NOM comme clé secrète par défaut" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "utiliser ce nom pour signer ou déchiffrer" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "|N|niveau de compression N (0 désactive)" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "utiliser le mode texte canonique" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "utiliser comme fichier de sortie" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "bavard" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "devenir beaucoup plus silencieux" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" msgstr "" # -#: g10/g10.c:235 +#: g10/g10.c:248 msgid "force v3 signatures" msgstr "forcer les signatures en v3" -#: g10/g10.c:236 +#: g10/g10.c:249 msgid "always use a MDC for encryption" msgstr "toujours utiliser un sceau pour le chiffrement" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "ne rien changer" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "mode automatique : ne jamais rien demander" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "répondre oui à la plupart des questions" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "répondre non à la plupart des questions" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "ajouter ce porte-clés à la liste des porte-clés" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "ajouter ce porte-clés secret à la liste" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "|NOM|utiliser NOM comme clé secrète par défaut" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HÔTE|utiliser ce serveur pour chercher des clés" -#: g10/g10.c:246 +#: g10/g10.c:259 msgid "|NAME|set terminal charset to NAME" msgstr "|NOM|le terminal utilise la table de caractères NOM" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "lire les options du fichier" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "choisir les attributs de déboguage" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "permettre un déboguage complet" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "|FD|écrire l'état sur ce descripteur" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "ne pas écrire de paquets de commentaire" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "nombre de signatures complètes requises (1)" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "nombre de signatures marginales requises (3)" -#: g10/g10.c:256 +#: g10/g10.c:269 msgid "|FILE|load extension module FILE" msgstr "|FICH|charger le module d'extension FICH" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "imiter le mode décrit dans la RFC1991" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" # FIXMOI : faudra trouver mieux ... -#: g10/g10.c:259 +#: g10/g10.c:272 msgid "|N|use passphrase mode N" msgstr "|N|utiliser le mode de codage des mots de passe N" -#: g10/g10.c:261 +#: g10/g10.c:274 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|NOM|utiliser le hachage NOM pour les mots de passe" -#: g10/g10.c:263 +#: g10/g10.c:276 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|NOM|utiliser le chiffre NOM pour les mots de passe" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "|NOM|utiliser l'algorithme de chiffrement NOM" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "|NOM|utiliser la fonction de hachage NOM" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "|N|utiliser l'algorithme de compression N" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "supprimer l'identification des paquets chiffrés" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:270 +#: g10/g10.c:283 msgid "" "@\n" "Examples:\n" @@ -594,15 +610,15 @@ " --list-keys [utilisateur] montrer les clés\n" " --fingerprint [utilisateur] montrer les empreintes\n" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "Rapporter toutes anomalies à .\n" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -612,7 +628,7 @@ "signer, vérifier, chiffer ou déchiffrer\n" "l'opération par défaut dépend des données entrées\n" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" @@ -620,169 +636,181 @@ "\n" "Algorithmes supportés:\n" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "utilisation: gpg [options] " -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "commandes en conflit\n" -#: g10/g10.c:605 +#: g10/g10.c:640 #, 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:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "fichier d'options `%s' : %s\n" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "lire les options de `%s'\n" -#: g10/g10.c:782 +#: g10/g10.c:831 #, 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:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "l'algorithme de chiffrement sélectionné est invalide\n" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "la fonction de hachage sélectionnée est invalide\n" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:852 +#: g10/g10.c:920 #, 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" -#: g10/g10.c:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "« completes-needed » doit être supérieur à 0\n" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "« marginals-needed » doit être supérieur à 1\n" -#: g10/g10.c:858 +#: g10/g10.c:926 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:861 +#: g10/g10.c:929 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:865 +#: g10/g10.c:933 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:942 +#: g10/g10.c:1010 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "n'a pas pu initialiser la base de confiance : %s\n" -#: g10/g10.c:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "--store [nom du fichier]" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "--symmetric [nom du fichier]" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "--encrypt [nom du fichier]" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "--sign [nom du fichier]" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nom du fichier]" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "--clearsign [nom du fichier]" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "--decrypt [nom du fichier]" -#: g10/g10.c:1024 -msgid "--edit-key username [commands]" +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 +#, fuzzy +msgid "--lsign-key user-id" +msgstr "--delete-key utilisateur" + +#: g10/g10.c:1107 +#, fuzzy +msgid "--edit-key user-id [commands]" msgstr "--edit-key utilisateur [commandes]" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1123 +#, fuzzy +msgid "--delete-secret-key user-id" msgstr "--delete-secret-key utilisateur" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1126 +#, fuzzy +msgid "--delete-key user-id" msgstr "--delete-key utilisateur" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/encode.c:231 g10/g10.c:1150 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "ne peut ouvrir %s: %s\n" -#: g10/g10.c:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "-k[v][v][v][c] [utilisateur] [porte-clés]" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "suppression d'armure non réussie : %s\n" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, c-format msgid "enarmoring failed: %s\n" msgstr "construction d'armure non réussie : %s \n" -#: g10/g10.c:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algorithme de hachage `%s' invalide\n" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "[nom du fichier]" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "Continuez et tapez votre message...\n" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "ne peut ouvrir `%s'\n" -#: g10/g10.c:1457 +#: g10/g10.c:1555 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1469 +#: g10/g10.c:1567 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" msgstr "" @@ -861,7 +889,19 @@ "caractère cité-imprimable (quoted-printable) dans l'armure provenant\n" "certainement d'un agent de transfert de messages bogué\n" -#: g10/pkclist.c:137 +#. 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 " importée : %lu" + +#. a string with valid answers +#: g10/pkclist.c:170 +msgid "sSmMqQ" +msgstr "sSmMqQ" + +#: g10/pkclist.c:174 #, c-format msgid "" "No trust value assigned to %lu:\n" @@ -870,7 +910,7 @@ "Pas de confiance définie pour %lu :\n" "%4u%c/%08lX %s \"" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 msgid "" "Please decide how far you trust this user to correctly\n" "verify other users' keys (by looking at passports,\n" @@ -894,28 +934,23 @@ " 4 = je le crois totalement\n" " s = montrez-moi plus d'informations\n" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr " m = retour au menu principal\n" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr " q = quitter\n" -#. a string with valid answers -#: g10/pkclist.c:163 -msgid "sSmMqQ" -msgstr "sSmMqQ" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "Votre décision ? " -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "Certificats conduisant vers une clé à confiance ultime :\n" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 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" @@ -924,7 +959,7 @@ "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" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" @@ -932,7 +967,7 @@ "Aucun chemin menant vers une de nos clés n'a été trouvé.\n" "\n" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" @@ -940,7 +975,7 @@ "Aucun certificat à confiance indéfinie n'a été trouvé.\n" "\n" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 msgid "" "No trust values changed.\n" "\n" @@ -948,36 +983,36 @@ "Pas d'indice de confiance changé.\n" "\n" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "clé %08lX : la clé a été révoquée !\n" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "Utiliser cette clé quand-même ? " -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, 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:321 +#: g10/pkclist.c:363 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX : la clé a expiré\n" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, 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:341 +#: g10/pkclist.c:383 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX : Nous ne faisons PAS confiance à cette clé\n" -#: g10/pkclist.c:347 +#: g10/pkclist.c:389 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -987,15 +1022,15 @@ "propriétaire\n" "mais elle est quand même acceptée\n" -#: g10/pkclist.c:353 +#: g10/pkclist.c:395 msgid "This key probably belongs to the owner\n" msgstr "Cette clé appartient probablement à son propriétaire\n" -#: g10/pkclist.c:358 +#: g10/pkclist.c:400 msgid "This key belongs to us\n" msgstr "Cette clé nous appartient\n" -#: g10/pkclist.c:398 +#: g10/pkclist.c:443 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" @@ -1007,67 +1042,67 @@ "oui à la prochaine question\n" "\n" -#: g10/pkclist.c:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "ATTENTION : Utilisation d'une clé sans confiance !\n" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 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:455 +#: g10/pkclist.c:500 msgid " This could mean that the signature is forgery.\n" msgstr " Cela pourrait signifier que la signature est fausse.\n" -#: g10/pkclist.c:459 +#: g10/pkclist.c:504 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:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "Note : Cette clé a expiré !\n" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 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:489 +#: g10/pkclist.c:534 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:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "ATTENTION : Nous ne faisons PAS confiance à cette clé !\n" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr " La signature est certainement FAUSSE.\n" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 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:516 +#: g10/pkclist.c:561 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:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "%s : ignoré : %s\n" -#: g10/pkclist.c:588 g10/pkclist.c:687 +#: g10/pkclist.c:670 g10/pkclist.c:820 #, fuzzy, c-format msgid "%s: skipped: public key already present\n" msgstr "%s : problème de lecture du bloc de clés : %s\n" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1076,20 +1111,34 @@ "\"-r\")\n" "\n" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "Entrez le nom d'utilisateur : " -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "Pas de tel utilisateur.\n" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +#, fuzzy +msgid "Public key is disabled.\n" +msgstr "la clé publique est %08lX\n" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s : erreur pendant la vérification de la clé : %s\n" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, fuzzy, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s : problème de lecture du bloc de clés : %s\n" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "pas de destinataire valide\n" @@ -1232,29 +1281,29 @@ " m = la clé expire dans n mois\n" " y = la clé expire dans n ans\n" -#: g10/keygen.c:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "La clé est valide pour ? (0) " -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "valeur invalide\n" -#: g10/keygen.c:540 +#: g10/keygen.c:552 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:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "La clé expire le %s\n" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "Est-ce correct (o/n) ? " -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1270,44 +1319,44 @@ " « Heinrich Heine (Der Dichter) »\n" "\n" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "Nom réel : " -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "Caractère invalide dans le nom\n" -#: g10/keygen.c:612 +#: g10/keygen.c:624 msgid "Name may not start with a digit\n" msgstr "Le nom ne doit pas commencer par un chiffre\n" -#: g10/keygen.c:614 +#: g10/keygen.c:626 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:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "Adresse e-mail : " -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "Ce n'est pas une adresse e-mail valide\n" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "Commentaire : " -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "Caractère invalide dans le commentaire\n" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Vous utilisez le jeu de caractères '%s'.\n" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1318,15 +1367,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "NnCcEeOoQq" -#: g10/keygen.c:688 +#: g10/keygen.c:700 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:740 +#: g10/keygen.c:752 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1334,11 +1383,11 @@ "Vous avez besoin d'un mot de passe pour protéger votre clé secrète.\n" "\n" -#: g10/keyedit.c:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 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:754 +#: g10/keygen.c:766 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" @@ -1350,7 +1399,7 @@ "le désirez, en utilisant ce programme avec l'option « --edit-key ».\n" "\n" -#: g10/keygen.c:775 +#: g10/keygen.c:787 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" @@ -1362,34 +1411,34 @@ "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:845 +#: g10/keygen.c:857 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:853 +#: g10/keygen.c:865 msgid "DSA keypair will have 1024 bits.\n" msgstr "La paire de clés DSA fera 1024 bits.\n" -#: g10/keygen.c:859 +#: g10/keygen.c:871 #, fuzzy msgid "Key generation canceled.\n" msgstr "La génération a été annulée.\n" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "écriture d'un certificat public à `%s'\n" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "écriture d'un certificat secret à `%s'\n" -#: g10/keygen.c:947 +#: g10/keygen.c:959 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:949 +#: g10/keygen.c:961 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" @@ -1398,13 +1447,13 @@ "utiliser la commande « --edit-key » pour générer une clé secondaire à\n" "cette fin.\n" -#: g10/keygen.c:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, 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:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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" @@ -1412,7 +1461,7 @@ "la clé a été créée %lu seconde dans le futur (discontinuité temporelle ou\n" "problème d'horloge)\n" -#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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" @@ -1420,11 +1469,11 @@ "la clé a été créée %lu secondes dans le futur (discontinuité temporelle ou\n" "problème d'horloge\n" -#: g10/keygen.c:1040 +#: g10/keygen.c:1052 msgid "Really create? " msgstr "Créer vraiment ? " -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1477,245 +1526,250 @@ msgid "too many entries in unk cache - disabled\n" msgstr "trop d'entrées dans le cache unk - désactivé\n" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, 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:116 +#: g10/import.c:118 #, c-format msgid "can't open `%s': %s\n" msgstr "impossible d'ouvrir `%s': %s\n" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "ne prend pas en compte le bloc de type %d\n" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu clés traitées jusqu'ici\n" -#: g10/import.c:172 +#: g10/import.c:174 #, c-format msgid "error reading `%s': %s\n" msgstr "erreur pendant la lecture de `%s' : %s\n" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr " Quantité totale traitée : %lu\n" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr " sans nom d'utilisateur : %lu\n" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr " importée : %lu" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr " inchangée : %lu\n" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr " nouveaux noms d'utilisateurs : %lu\n" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr " nouvelles sous-clés : %lu\n" -#: g10/import.c:191 +#: g10/import.c:193 #, c-format msgid " new signatures: %lu\n" msgstr " nouvelles signatures : %lu\n" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr " nouvelles révocations de clés : %lu\n" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr " clés secrètes lues : %lu\n" -#: g10/import.c:197 +#: g10/import.c:199 #, c-format msgid " secret keys imported: %lu\n" msgstr " clés secrètes importées : %lu\n" -#: g10/import.c:199 +#: g10/import.c:201 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " clés secrètes inchangées : %lu\n" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "clé %08lX : pas de nom d'utilisateur\n" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "clé %08lX : pas de nom d'utilisateur valide\n" -#: g10/import.c:355 +#: g10/import.c:378 msgid "this may be caused by a missing self-signature\n" msgstr "cela peut provenir d'une auto-signature manquante\n" -#: g10/import.c:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "clé %08lX : clé publique pas trouvée: %s\n" -#: g10/import.c:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "pas de porte-clés public par défaut\n" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "écriture de `%s'\n" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "ne peut verrouiller le porte-clés `%s' : %s\n" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "erreur durant l'écriture du porte-clés `%s' : %s\n" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "clé %08lX : clé publique importée\n" -#: g10/import.c:399 +#: g10/import.c:427 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "clé %08lX : ne ressemble pas à notre copie\n" -#: g10/import.c:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, 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" -#: g10/import.c:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, 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" -#: g10/import.c:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "clé %08lX : un nouvel utilisateur\n" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "clé %08lX : %d nouveaux utilisateurs\n" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "clé %08lX : une nouvelle signature\n" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "clé %08lX : %d nouvelles signatures\n" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "clé %08lX : une nouvelle sous-clé\n" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "clé %08lX : %d nouvelles sous-clés\n" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "clé %08lX : n'a pas changé\n" -#: g10/import.c:552 +#: g10/import.c:577 #, 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:556 +#: g10/import.c:581 #, 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:561 +#: g10/import.c:586 #, 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:590 +#: g10/import.c:615 #, 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" -#: g10/import.c:621 +#: g10/import.c:646 #, 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:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "clé %08lX : certificat de révocation importé\n" -#: g10/import.c:686 +#: g10/import.c:711 #, c-format msgid "key %08lX: no user-id for signature\n" msgstr "clé %08lX : pas d'utilisateur pour la signature\n" -#: g10/import.c:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "clé %08lX : algorithme de clé publique non supporté\n" -#: g10/import.c:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "clé %08lX : auto-signature invalide\n" -#: g10/import.c:709 +#: g10/import.c:734 #, 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:718 +#: g10/import.c:743 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "clé %08lX : liaison avec la sous-clé invalide\n" -#: g10/import.c:750 +#: g10/import.c:769 +#, fuzzy, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "clé %08lX : utilisateur non pris en compte '" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "clé %08lX : utilisateur non pris en compte '" -#: g10/import.c:773 +#: g10/import.c:821 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "clé %08lX : sous-clé non prise en compte\n" @@ -1724,98 +1778,98 @@ #. * 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:798 +#: g10/import.c:846 #, 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:807 +#: g10/import.c:855 #, 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:815 +#: g10/import.c:863 #, 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:915 +#: g10/import.c:963 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "clé %08lX: nom d'utilisateur doublon fusionné\n" -#: g10/import.c:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "clé %08lX : certificat de révocation ajouté\n" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "clé %08lX : notre copie n'a pas d'auto-signature\n" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s : utilisateur non trouvé\n" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "[révocation]" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 msgid "[self-signature]" msgstr "[auto-signature]" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 msgid "1 bad signature\n" msgstr "une mauvaise signature\n" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "%d mauvaises signatures\n" -#: g10/keyedit.c:222 +#: g10/keyedit.c:223 msgid "1 signature not checked due to a missing key\n" msgstr "une signature non vérifiée à cause d'une clé manquante\n" -#: g10/keyedit.c:224 +#: g10/keyedit.c:225 #, c-format msgid "%d signatures not checked due to missing keys\n" msgstr "%d signatures non vérifiées à cause de clés manquantes\n" -#: g10/keyedit.c:226 +#: g10/keyedit.c:227 msgid "1 signature not checked due to an error\n" msgstr "une signature non vérifiée à cause d'une erreur\n" -#: g10/keyedit.c:228 +#: g10/keyedit.c:229 #, c-format msgid "%d signatures not checked due to errors\n" msgstr "%d signatures non vérifiées à cause d'erreurs\n" -#: g10/keyedit.c:230 +#: g10/keyedit.c:231 msgid "1 user id without valid self-signature detected\n" msgstr "un nom d'utilisateur sans auto-signature valide détecté\n" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\n" msgstr "%d nom d'utilisateurs sans auto-signature valide détecté\n" #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, c-format msgid "Already signed by key %08lX\n" msgstr "Déjà signé par la clé %08lX\n" -#: g10/keyedit.c:320 +#: g10/keyedit.c:321 #, c-format msgid "Nothing to sign with key %08lX\n" msgstr "Rien à signer avec la clé %08lX\n" -#: g10/keyedit.c:329 +#: g10/keyedit.c:330 msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" @@ -1823,7 +1877,7 @@ "Etes-vous vraiment sûr(e) que vous voulez signer cette clé\n" "avec la vôtre : \"" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" @@ -1831,35 +1885,35 @@ "La signature sera marquée comme non-exportable.\n" "\n" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "Signer réellement ? " -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "la signature a échoué : %s\n" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "Cette clé n'est pas protégée.\n" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "La clé est protégée.\n" -#: g10/keyedit.c:442 +#: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" msgstr "Ne peut éditer cette clé : %s\n" -#: g10/keyedit.c:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" msgstr "Entrez le nouveau mot de passe pour cette clé secrète.\n" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" @@ -1868,382 +1922,405 @@ "*mauvaise* idée\n" "\n" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "Voulez-vous vraiment faire cela? " -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "replacer la signature d'une clé à l'endroit correct\n" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "quitter ce menu" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "q" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "enregistrer" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "enregistrer et quitter" # FIXMOI : si je mets aide ça va demander de taper "aide"... -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "help" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "afficher cette aide" # g10/keyedit.c:556 ??? -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "fpr" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "show fingerprint" msgstr "afficher l'empreinte" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list" msgstr "lister" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list key and user ids" msgstr "lister la clé et les noms d'utilisateurs" -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "l" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "uid" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "sélectionner le nom d'utilisateur N" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "clé" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "sélectionner la clé secondaire N" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "vérifier" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "list signatures" msgstr "lister les signatures" -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "c" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "signer" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign the key" msgstr "signer la clé" -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "s" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "lsign" msgstr "lsigner" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "sign the key locally" msgstr "signer la clé localement" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "déboguer" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "aj.ut" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "ajouter un utilisateur" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "suppr.ut" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "delete user id" msgstr "enlever un utilisateur" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "aj.clé" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "add a secondary key" msgstr "ajouter une clé secondaire" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "suppr.clé" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "enlever une clé secondaire" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delsig" msgstr "lsigner" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delete signatures" msgstr "lister les signatures" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "expire" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "change the expire date" msgstr "changer la date d'expiration" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "changer" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "passer de la liste des clés secrètes aux clés privées et inversement" -#: g10/keyedit.c:583 +#: g10/keyedit.c:588 msgid "t" msgstr "t" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "préf" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "lister les préférences" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "mot.pas" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "change the passphrase" msgstr "changer le mot de passe" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "confi." -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "changer la confiance" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revsig" msgstr "revsig" # -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revoke signatures" msgstr "révoquer les signatures" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revkey" msgstr "revclé" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revoke a secondary key" msgstr "révoquer une clé secondaire" -#: g10/keyedit.c:607 +#: g10/keyedit.c:594 +msgid "disable" +msgstr "" + +#: g10/keyedit.c:594 +#, fuzzy +msgid "disable a key" +msgstr "mauvaise clé" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "" + +#: g10/keyedit.c:595 +#, fuzzy +msgid "enable a key" +msgstr "mauvaise clé" + +#: g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "impossible de faire cela en mode automatique\n" #. check that they match -#. FIXME: check that they both match -#: g10/keyedit.c:636 +#. fixme: check that they both match +#: g10/keyedit.c:652 msgid "Secret key is available.\n" msgstr "La clé secrète est disponible.\n" -#: g10/keyedit.c:665 +#: g10/keyedit.c:681 msgid "Command> " msgstr "Commande> " -#: g10/keyedit.c:692 +#: g10/keyedit.c:711 msgid "Need the secret key to do this.\n" msgstr "Il faut la clé secrète pour faire cela.\n" -#: g10/keyedit.c:714 -msgid "Save changes? " -msgstr "Enregistrer les changements? " - -#: g10/keyedit.c:717 -msgid "Quit without saving? " -msgstr "Quitter sans enregistrer? " - -#: g10/keyedit.c:727 -#, c-format -msgid "update failed: %s\n" -msgstr "la mise à jour a échoué : %s\n" - -#: g10/keyedit.c:734 -#, c-format -msgid "update secret failed: %s\n" -msgstr "la mise à jour de la clé secrète a échoué : %s\n" - -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" -msgstr "La clé n'a pas changé donc la mise à jour est inutile.\n" - -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, c-format -msgid "update of trustdb failed: %s\n" -msgstr "la mise à jour de la base de confiance a échoué : %s\n" - -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "Signer vraiment tous les utilisateurs ? " -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "Aide : Sélectionner les utilisateurs à signer\n" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "la mise à jour de la base de confiance a échoué : %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 msgid "You must select at least one user id.\n" msgstr "Vous devez sélectionner au moins un utilisateur.\n" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "Vous ne pouvez pas supprimer le dernier utilisateur !\n" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 msgid "Really remove all selected user ids? " msgstr "Enlever réellement tous les utilisateurs sélectionnés ? " -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 msgid "Really remove this user id? " msgstr "Enlever réellement cet utilisateur ? " -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" msgstr "Vous devez sélectionner au moins une clé.\n" -#: g10/keyedit.c:862 +#: g10/keyedit.c:843 msgid "Do you really want to delete the selected keys? " msgstr "Voulez-vous vraiment supprimer les clés sélectionnées ? " -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 msgid "Do you really want to delete this key? " msgstr "Voulez-vous vraiment supprimer cette clé ? " -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 msgid "Do you really want to revoke the selected keys? " msgstr "Voulez-vous vraiment révoquer les clés sélectionnées ? " -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 msgid "Do you really want to revoke this key? " msgstr "Voulez-vous vraiment révoquer cette clé ? " -#: g10/keyedit.c:939 +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "Enregistrer les changements? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "Quitter sans enregistrer? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "la mise à jour a échoué : %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "la mise à jour de la clé secrète a échoué : %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "La clé n'a pas changé donc la mise à jour est inutile.\n" + +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "Commande invalide (essayez « help »)\n" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +#, fuzzy +msgid "This key has been disabled" +msgstr "Note : Cette clé a expiré !\n" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1302 +#: g10/keyedit.c:1344 #, fuzzy msgid "Delete this unknown signature? (y/N/q)" msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)" -#: g10/keyedit.c:1308 +#: g10/keyedit.c:1350 #, fuzzy msgid "Really delete this self-signature? (y/N)" msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)" -#: g10/keyedit.c:1322 +#: g10/keyedit.c:1364 #, fuzzy, c-format msgid "Deleted %d signature.\n" msgstr "%d mauvaises signatures\n" -#: g10/keyedit.c:1323 +#: g10/keyedit.c:1365 #, fuzzy, c-format msgid "Deleted %d signatures.\n" msgstr "%d mauvaises signatures\n" -#: g10/keyedit.c:1326 +#: g10/keyedit.c:1368 #, fuzzy msgid "Nothing deleted.\n" msgstr "ATTENTION : rien n'a été exporté\n" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "Enlevez les sélections des clés secrètes.\n" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 msgid "Please select at most one secondary key.\n" msgstr "Vous devez sélectionner au plus une clé secondaire.\n" -#: g10/keyedit.c:1405 +#: g10/keyedit.c:1447 #, fuzzy msgid "Changing expiration time for a secondary key.\n" msgstr "Changer la date d'expiration d'une clé secondaire.\n" -#: g10/keyedit.c:1407 +#: g10/keyedit.c:1449 #, fuzzy msgid "Changing expiration time for the primary key.\n" msgstr "Changer la date d'expiration de la clé principale.\n" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 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:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "Pas de signature correspondante dans le porte-clés secret\n" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, c-format msgid "No user id with index %d\n" msgstr "Pas d'utilisateur avec l'index %d\n" -#: g10/keyedit.c:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "Pas de clé secondaire avec l'index %d\n" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 msgid "user ID: \"" msgstr "nom d'utilisateur : « " -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, c-format msgid "" "\"\n" @@ -2252,103 +2329,114 @@ " »\n" "signé avec votre clé %08lX à %s\n" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Générer un certificat de révocation pour cette signature ? (o/N)" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)" -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 msgid "no secret key\n" msgstr "pas de clé secrète\n" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, c-format msgid "public key is %08lX\n" msgstr "la clé publique est %08lX\n" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 msgid "public key encrypted data: good DEK\n" msgstr "données chiffrées avec la clé publique : bonne clé de chiffrement\n" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, fuzzy, c-format +msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" +msgstr "clé de %u bits %s, ID %08lX, créée le %s" + +#: g10/mainproc.c:285 +#, fuzzy, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "Signature faite %.*s avec une clé %s ID %08lX\n" + +#: g10/mainproc.c:291 +#, fuzzy +msgid "no secret key for decryption available\n" +msgstr "la clé secrète n'est pas disponible" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "le déchiffrement de la clé publique a échoué : %s\n" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 msgid "decryption okay\n" msgstr "le déchiffrement a réussi\n" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "ATTENTION: le message chiffré a été manipulé !\n" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "le déchiffrement a échoué : %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTE : l'expéditeur a demandé « pour vos yeux seulement »\n" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "nom de fichier original : '%.*s'\n" -#: g10/mainproc.c:505 g10/mainproc.c:514 +#: g10/mainproc.c:587 g10/mainproc.c:596 #, fuzzy msgid "WARNING: invalid notation data found\n" msgstr "aucune donnée OpenPGP valide n'a été trouvée.\n" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " msgstr "" -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " msgstr "" -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 msgid "signature verification suppressed\n" msgstr "vérification de signature supprimée\n" -#: g10/mainproc.c:935 +#: g10/mainproc.c:1031 #, 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:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "MAUVAISE signature de \"" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "Bonne signature de \"" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr " alias \"" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "Ne peut vérifier la signature : %s\n" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "signature d'un ancien style (PGP 2.x)\n" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "paquet racine invalide détecté dans proc_tree()\n" @@ -2379,17 +2467,17 @@ "Cet algorithme de chiffrement est déconseillé ; utilisez-en un\n" "plus standard !\n" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "ne peut gérer l'algorithme à clé publique %d\n" -#: g10/parse-packet.c:931 +#: g10/parse-packet.c:932 #, 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" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" @@ -2399,21 +2487,26 @@ "Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour\n" "l'utilisateur: \"" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "clé de %u bits %s, ID %08lX, créée le %s" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr " (ID clé principale %08lX)" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +#, fuzzy +msgid "can't query password in batchmode\n" +msgstr "impossible de faire cela en mode automatique\n" + +#: g10/passphrase.c:194 msgid "Enter passphrase: " msgstr "Entrez le mot de passe : " -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 msgid "Repeat passphrase: " msgstr "Répétez le mot de passe : " @@ -2469,33 +2562,33 @@ msgid "WARNING: Weak key detected - please change passphrase again.\n" msgstr "ATTENTION : Clé faible détectée - changez encore le mot de passe.\n" -#: g10/sig-check.c:187 +#: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" msgstr "le sceau (MDC) est supposé être faux car un bit critique est inconnu\n" -#: g10/sig-check.c:283 +#: g10/sig-check.c:295 msgid "" "this is a PGP generated ElGamal key which is NOT secure for signatures!\n" msgstr "" "Ceci est une clé ElGamal générée par PGP qui n'est PAS sûre pour les\n" "signatures !\n" -#: g10/sig-check.c:291 +#: g10/sig-check.c:303 #, c-format msgid "public key is %lu second newer than the signature\n" msgstr "la clé publique est plus récente de %lu seconde que la signature\n" -#: g10/sig-check.c:292 +#: g10/sig-check.c:304 #, c-format msgid "public key is %lu seconds newer than the signature\n" msgstr "la clé publique est plus récente de %lu secondes que la signature\n" -#: g10/sig-check.c:308 +#: g10/sig-check.c:320 #, c-format msgid "NOTE: signature key expired %s\n" msgstr "NOTE : la clé de signature a expiré le %s\n" -#: g10/sig-check.c:365 +#: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" msgstr "" "la signature est supposée être fausse car un bit critique est\n" @@ -2530,12 +2623,12 @@ msgid "input line longer than %d characters\n" msgstr "la ligne d'entrée est plus longue que %d caractères\n" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "enregistrement de base de confiance %lu : lseek a échoué : %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" @@ -2566,7 +2659,7 @@ msgid "%s: directory does not exist!\n" msgstr "%s : le répertoire n'existe pas !\n" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, c-format msgid "%s: can't create: %s\n" msgstr "%s : ne peut créer : %s\n" @@ -2608,7 +2701,7 @@ "%s : erreur pendant la mise à jour de l'enregistrement de version : %s\n" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s : erreur pendant la lecture de l'enregistrement de version : %s\n" @@ -2618,498 +2711,382 @@ msgid "%s: error writing version record: %s\n" msgstr "%s : erreur pendant l'écriture de l'enregistrement de version : %s\n" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "base de confiance : « lseek() » a échoué : %s\n" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, 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:1161 +#: g10/tdbio.c:1275 #, 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:1177 +#: g10/tdbio.c:1291 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s : enregistrement de version avec un numéro %lu\n" -#: g10/tdbio.c:1182 +#: g10/tdbio.c:1296 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s : version %d du fichier invalide\n" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, 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:1479 +#: g10/tdbio.c:1608 #, 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:1489 +#: g10/tdbio.c:1618 #, 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:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s : n'a pas pu ajouter un enregistrement : %s\n" -#: g10/tdbio.c:1630 +#: g10/tdbio.c:1759 #, fuzzy msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "La base de confiance est corrompue ; exécutez « gpgm --fix-trustdb ».\n" -#: g10/trustdb.c:163 +#: g10/trustdb.c:160 #, 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:178 +#: g10/trustdb.c:175 #, 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:192 +#: g10/trustdb.c:189 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "enregistrement de confiance %lu : la suppression a échoué : %s\n" -#: g10/trustdb.c:206 +#: g10/trustdb.c:203 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "base de confiance : la synchronisation a échoué : %s\n" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, 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:393 +#: g10/trustdb.c:354 #, 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:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "pas de clé principale pour le LID %lu\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, 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:442 +#: g10/trustdb.c:403 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record : search_record a échoué : %s\n" -#: g10/trustdb.c:510 +#: g10/trustdb.c:458 #, 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:518 +#: g10/trustdb.c:466 #, 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:525 +#: g10/trustdb.c:473 #, 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:535 +#: g10/trustdb.c:485 #, 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" -#: g10/trustdb.c:541 +#: g10/trustdb.c:491 #, c-format msgid "key %08lX: query record failed\n" msgstr "clé %08lX : l'enregistrement de requête a échoué\n" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, 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:553 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "clé %08lX : acceptée comme clé certifiée.\n" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, 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:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "" -"NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n" -"de %lu mais marqué comme vérifié\n" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "" -"NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n" -"de %lu mais n'est pas marqué\n" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "" -"l'enregistrement de signature %lu[%d] dans la liste d'aide de %lu\n" -"ne pointe pas vers un enregistrement de répertoire\n" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "lid %lu : pas de clé primaire\n" - -#: g10/trustdb.c:901 -#, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "lid %lu : utilisateur non trouvé dans le bloc de clés\n" - -#: g10/trustdb.c:905 -#, c-format -msgid "lid %lu: user id without signature\n" -msgstr "lid %lu : utilisateur sans signature\n" - -#: g10/trustdb.c:912 -#, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "lid %lu : auto-signature dans la liste d'aide\n" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -msgid "Valid certificate revocation" -msgstr "Certificat de révocation valide" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -msgid "Good certificate" -msgstr "Bon certificat" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "très étrange : pas de clé publique\n" - -#: g10/trustdb.c:982 -#, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -msgstr "" -"la liste d'aide de %lu[%d] de %lu ne pointe pas vers un enregistrement\n" -"de répertoire\n" - -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "la lid %lu n'a pas de clé\n" - -#: g10/trustdb.c:998 -#, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "lid %lu: ne peut obtenir le bloc de clés: %s\n" - -#: g10/trustdb.c:1055 g10/trustdb.c:2030 -#, c-format -msgid "tdbio_search_dir failed: %s\n" +#: g10/trustdb.c:802 +#, fuzzy, c-format +msgid "tdbio_search_sdir failed: %s\n" msgstr "tdbio_search_dir a échoué : %s\n" -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "clé %08lX.%lu : bonne liaison avec la sous-clé\n" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, 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:1232 +#: g10/trustdb.c:895 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "clé %08lX.%lu : révocation de clé valide\n" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, 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:1253 +#: g10/trustdb.c:912 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "clé %08lX.%lu : révocation de sous-clé valide\n" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 msgid "Good self-signature" msgstr "Bonne auto-signature" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 msgid "Invalid self-signature" msgstr "Auto-signature invalide" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +#, fuzzy +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\n" -#: g10/trustdb.c:1410 -msgid "Valid user ID revocation\n" +#: g10/trustdb.c:1066 +#, fuzzy +msgid "Valid user ID revocation" msgstr "Révocation de nom d'utilisateur valide\n" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 msgid "Invalid user ID revocation" msgstr "Révocation de nom d'utilisateur invalide" -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "Trop de préférences" - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "Trop d'items de préférence" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -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/trustdb.c:1654 -msgid "duplicated certificate - deleted" -msgstr "certificat dupliqué - supprimé" +#: g10/trustdb.c:1112 +msgid "Valid certificate revocation" +msgstr "Certificat de révocation valide" -#: g10/trustdb.c:1692 -msgid "public key not anymore available" -msgstr "la clé secrète n'est plus disponible" +#: g10/trustdb.c:1113 +msgid "Good certificate" +msgstr "Bon certificat" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 msgid "Invalid certificate revocation" msgstr "Révocation de certificat invalide" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 msgid "Invalid certificate" msgstr "Certificat invalide" -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "" -"uid %08lX.%lu/%02X%02X : possède une ombre %lu mais n'est pas encore\n" -"marqué.\n" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, 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" -#. that should never happen -#: g10/trustdb.c:2007 -#, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "insert_trust_record : bloc de clés non trouvé : %s\n" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" -msgstr "Ooops, pas de clé\n" +#: g10/trustdb.c:1208 +msgid "duplicated certificate - deleted" +msgstr "certificat dupliqué - supprimé" -#: g10/trustdb.c:2412 -msgid "Ooops, no user ids\n" -msgstr "Ooops, pas de nom d'utilisateur\n" +#: g10/trustdb.c:1514 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "tdbio_search_dir a échoué : %s\n" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ? : l'insertion a échoué : %s\n" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu : l'insertion a échoué : %s\n" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu : inséré\n" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 -#, c-format -msgid "lid %lu: update failed: %s\n" -msgstr "lid %lu : la mise à jour a échoué: %s\n" - -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "lid %lu : mis à jour\n" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "lid %lu : OK\n" +#: g10/trustdb.c:1652 +#, fuzzy, c-format +msgid "error reading dir record: %s\n" +msgstr "%s : erreur pendant la lecture de l'enregistrement libre : %s\n" -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "%lu clés traitées\n" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu clés avec erreurs\n" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "\t%lu clés mises à jour\n" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu clés insérées\n" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "l'énumération des blocs de clés a échoué : %s\n" -#: g10/trustdb.c:2598 -#, c-format -msgid "%s: keyblock read problem: %s\n" -msgstr "%s : problème de lecture du bloc de clés : %s\n" - -#: g10/trustdb.c:2612 -#, c-format -msgid "%s: update failed: %s\n" -msgstr "%s : la mise à jour a échoué : %s\n" - -#: g10/trustdb.c:2615 -#, c-format -msgid "%s: updated\n" -msgstr "%s : mis à jour\n" - -#: g10/trustdb.c:2617 -#, c-format -msgid "%s: okay\n" -msgstr "%s : OK\n" - -#: g10/trustdb.c:2632 +#: g10/trustdb.c:1705 #, 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:2645 -#, c-format -msgid "lid %lu: keyblock not found: %s\n" -msgstr "lid %lu : le bloc de clés n'a pas été trouvé : %s\n" - -#: g10/trustdb.c:2673 +#: g10/trustdb.c:1716 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu clés ignorées\n" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:1720 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "\t%lu clés mises à jour\n" + +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" +msgstr "Ooops, pas de clé\n" + +#: g10/trustdb.c:2061 +msgid "Ooops, no user ids\n" +msgstr "Ooops, pas de nom d'utilisateur\n" + +#: g10/trustdb.c:2218 #, 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:2750 +#: g10/trustdb.c:2227 #, 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:2754 +#: g10/trustdb.c:2231 #, 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:2762 +#: g10/trustdb.c:2239 #, 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:2769 +#: g10/trustdb.c:2248 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "clé %08lX.%lu : a expiré le %s\n" -#: g10/trustdb.c:2777 +#: g10/trustdb.c:2256 #, 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:2881 +#: g10/trustdb.c:2362 #, c-format msgid "user '%s' not found: %s\n" msgstr "l'utilisateur '%s' n'a pas été trouvé : %s\n" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, 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:2886 +#: g10/trustdb.c:2367 #, 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:2889 +#: g10/trustdb.c:2370 #, 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" +#: g10/trustdb.c:2556 g10/trustdb.c:2586 +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:316 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s : ne peut créer le porte-clés : %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, c-format msgid "%s: keyring created\n" msgstr "%s : porte-clés créé\n" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" "ATTENTION : 2 fichiers avec des informations confidentielles existent.\n" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, c-format msgid "%s is the unchanged one\n" msgstr "%s est le fichier original\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "%s est le nouveau\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "Réparez ce problème de sécurité possible\n" @@ -3148,16 +3125,21 @@ msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:122 +#: g10/openfile.c:119 +#, fuzzy +msgid "Enter new filename" +msgstr "--store [nom du fichier]" + +#: g10/openfile.c:160 msgid "writing to stdout\n" msgstr "écriture vers la sortie standard\n" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, 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:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "%s : nouveau fichier d'options créé\n" @@ -3255,23 +3237,23 @@ msgid "keygen.valid" msgstr "Entrez la valeur demandée" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "Répondez « oui » ou « non »" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "Entrez le nom du propriétaire de la clé" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "Entrez une adresse e-mail optionnelle mais hautement recommandée" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "Entrez un commentaire optionnel" -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "" "N pour changer le nom.\n" @@ -3280,90 +3262,180 @@ "O pour continuer à générer la clé.\n" "Q pour arrêter de générer de clé." -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "Répondez « oui » (ou simplement « o ») pour générer la sous-clé" -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "Répondez « oui » ou « non »" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "Répondez « oui » ou « non »" -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "Entrez « help » pour voir la liste des commandes." - -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "Répondez « oui » ou « non »" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "Répondez « oui » ou « non »" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "" "Répondez « oui » si vous voulez vraiment supprimer ce nom\n" "d'utilisateur. Tous les certificats seront alors perdus en même temps !" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "Entrez « oui » s'il faut vraiment supprimer la sous-clé" -#: g10/helptext.c:176 +#: g10/helptext.c:175 #, fuzzy msgid "keyedit.delsig.valid" msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs" -#: g10/helptext.c:181 +#: g10/helptext.c:180 #, fuzzy msgid "keyedit.delsig.unknown" msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs" -#: g10/helptext.c:187 +#: g10/helptext.c:186 #, fuzzy msgid "keyedit.delsig.invalid" msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs" -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" msgstr "" -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "" "Entrez le mot de passe ; c'est une phrase secrète \n" " Blurb, blurb,.... " -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "" "Répétez le dernier mot de passe, pour être sûr de ce que vous avez tapé." -#: g10/helptext.c:211 +#: g10/helptext.c:210 msgid "detached_signature.filename" msgstr "Donnez le nom du fichier auquel la signature se rapporte" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "Entrez « oui » s'il faut vraiment réécrire le fichier" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "Pas d'aide disponible" -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "Pas d'aide disponible pour `%s'" + +#~ msgid "print all message digests" +#~ msgstr "écrire toutes les fonctions de hachage" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" +#~ msgstr "" +#~ "NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n" +#~ "de %lu mais marqué comme vérifié\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" +#~ msgstr "" +#~ "NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n" +#~ "de %lu mais n'est pas marqué\n" + +#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "l'enregistrement de signature %lu[%d] dans la liste d'aide de %lu\n" +#~ "ne pointe pas vers un enregistrement de répertoire\n" + +#~ msgid "lid %lu: no primary key\n" +#~ msgstr "lid %lu : pas de clé primaire\n" + +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "lid %lu : utilisateur non trouvé dans le bloc de clés\n" + +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "lid %lu : utilisateur sans signature\n" + +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "lid %lu : auto-signature dans la liste d'aide\n" + +#~ msgid "very strange: no public key\n" +#~ msgstr "très étrange : pas de clé publique\n" + +#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "la liste d'aide de %lu[%d] de %lu ne pointe pas vers un enregistrement\n" +#~ "de répertoire\n" + +#~ msgid "lid %lu does not have a key\n" +#~ msgstr "la lid %lu n'a pas de clé\n" + +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "lid %lu: ne peut obtenir le bloc de clés: %s\n" + +#~ msgid "Too many preferences" +#~ msgstr "Trop de préférences" + +#~ msgid "Too many preference items" +#~ msgstr "Trop d'items de préférence" + +#~ msgid "public key not anymore available" +#~ msgstr "la clé secrète n'est plus disponible" + +#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" +#~ msgstr "" +#~ "uid %08lX.%lu/%02X%02X : possède une ombre %lu mais n'est pas encore\n" +#~ "marqué.\n" + +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "insert_trust_record : bloc de clés non trouvé : %s\n" + +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "lid %lu : la mise à jour a échoué: %s\n" + +#~ msgid "lid %lu: updated\n" +#~ msgstr "lid %lu : mis à jour\n" + +#~ msgid "lid %lu: okay\n" +#~ msgstr "lid %lu : OK\n" + +#~ msgid "%s: keyblock read problem: %s\n" +#~ msgstr "%s : problème de lecture du bloc de clés : %s\n" + +#~ msgid "%s: update failed: %s\n" +#~ msgstr "%s : la mise à jour a échoué : %s\n" + +#~ msgid "%s: updated\n" +#~ msgstr "%s : mis à jour\n" + +#~ msgid "%s: okay\n" +#~ msgstr "%s : OK\n" + +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "lid %lu : le bloc de clés n'a pas été trouvé : %s\n" + +#~ msgid "keyedit.cmd" +#~ msgstr "Entrez « help » pour voir la liste des commandes." #~ msgid "can't lock keyring `%': %s\n" #~ msgstr "ne peut verrouiller le porte-clés `%' : %s\n" diff -urN gnupg-0.9.8/po/gnupg.pot gnupg-0.9.9/po/gnupg.pot --- gnupg-0.9.8/po/gnupg.pot Sat Jun 26 11:22:17 1999 +++ gnupg-0.9.9/po/gnupg.pot Fri Jul 23 14:25:57 1999 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,31 +14,31 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "" -#: util/secmem.c:249 +#: util/secmem.c:275 msgid "operation is not possible without initialized secure memory\n" msgstr "" -#: util/secmem.c:250 +#: util/secmem.c:276 msgid "(you may have used the wrong program for this task)\n" msgstr "" -#: util/miscutil.c:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "" -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "" -#: util/miscutil.c:176 +#: util/miscutil.c:274 msgid "qQ" msgstr "" @@ -244,11 +244,11 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "" -#: cipher/random.c:412 +#: cipher/random.c:452 msgid "WARNING: using insecure random number generator!!\n" msgstr "" -#: cipher/random.c:413 +#: cipher/random.c:453 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -265,297 +265,309 @@ "the OS a chance to collect more entropy! (Need %d more bytes)\n" msgstr "" -#: g10/g10.c:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " msgstr "" -#: g10/g10.c:176 +#: g10/g10.c:185 msgid "|[file]|make a signature" msgstr "" -#: g10/g10.c:177 +#: g10/g10.c:186 msgid "|[file]|make a clear text signature" msgstr "" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "" -#: g10/g10.c:192 +#: g10/g10.c:201 +msgid "sign a key" +msgstr "" + +#: g10/g10.c:202 +msgid "sign a key locally" +msgstr "" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "" -#: g10/g10.c:203 +#: g10/g10.c:214 msgid "export the ownertrust values" msgstr "" -#: g10/g10.c:205 +#: g10/g10.c:216 msgid "import ownertrust values" msgstr "" -#: g10/g10.c:207 -msgid "|[NAMES]|update the trust database" +#: g10/g10.c:218 +msgid "update the trust database" msgstr "" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" " " msgstr "" -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "" -#: g10/g10.c:223 +#: g10/g10.c:231 msgid "|NAME|encrypt for NAME" msgstr "" -#: g10/g10.c:227 +#: g10/g10.c:234 +msgid "|NAME|use NAME as default recipient" +msgstr "" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" msgstr "" -#: g10/g10.c:235 +#: g10/g10.c:248 msgid "force v3 signatures" msgstr "" -#: g10/g10.c:236 +#: g10/g10.c:249 msgid "always use a MDC for encryption" msgstr "" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "" -#: g10/g10.c:246 +#: g10/g10.c:259 msgid "|NAME|set terminal charset to NAME" msgstr "" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "" -#: g10/g10.c:256 +#: g10/g10.c:269 msgid "|FILE|load extension module FILE" msgstr "" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" -#: g10/g10.c:259 +#: g10/g10.c:272 msgid "|N|use passphrase mode N" msgstr "" -#: g10/g10.c:261 +#: g10/g10.c:274 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "" -#: g10/g10.c:263 +#: g10/g10.c:276 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:270 +#: g10/g10.c:283 msgid "" "@\n" "Examples:\n" @@ -567,190 +579,198 @@ " --fingerprint [names] show fingerprints\n" msgstr "" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" "default operation depends on the input data\n" msgstr "" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" msgstr "" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "" -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "" -#: g10/g10.c:605 +#: g10/g10.c:640 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "" -#: g10/g10.c:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "" -#: g10/g10.c:782 +#: g10/g10.c:831 #, c-format msgid "%s is not a valid character set\n" msgstr "" -#: g10/g10.c:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:852 +#: g10/g10.c:920 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "" -#: g10/g10.c:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "" -#: g10/g10.c:858 +#: g10/g10.c:926 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "" -#: g10/g10.c:861 +#: g10/g10.c:929 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "" -#: g10/g10.c:865 +#: g10/g10.c:933 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "" -#: g10/g10.c:942 +#: g10/g10.c:1010 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "" -#: g10/g10.c:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "" -#: g10/g10.c:1024 -msgid "--edit-key username [commands]" +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 +msgid "--lsign-key user-id" msgstr "" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1107 +msgid "--edit-key user-id [commands]" msgstr "" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1123 +msgid "--delete-secret-key user-id" msgstr "" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/g10.c:1126 +msgid "--delete-key user-id" +msgstr "" + +#: g10/encode.c:231 g10/g10.c:1150 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "" -#: g10/g10.c:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, c-format msgid "enarmoring failed: %s\n" msgstr "" -#: g10/g10.c:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "" -#: g10/g10.c:1457 +#: g10/g10.c:1555 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1469 +#: g10/g10.c:1567 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" msgstr "" @@ -827,14 +847,25 @@ "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" -#: g10/pkclist.c:137 +#. 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 "" + +#. a string with valid answers +#: g10/pkclist.c:170 +msgid "sSmMqQ" +msgstr "" + +#: g10/pkclist.c:174 #, c-format msgid "" "No trust value assigned to %lu:\n" "%4u%c/%08lX %s \"" msgstr "" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 msgid "" "Please decide how far you trust this user to correctly\n" "verify other users' keys (by looking at passports,\n" @@ -847,97 +878,92 @@ " s = please show me more information\n" msgstr "" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr "" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr "" -#. a string with valid answers -#: g10/pkclist.c:163 -msgid "sSmMqQ" -msgstr "" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "" -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 msgid "" "Could not find a valid trust path to the key. Let's see whether we\n" "can assign some missing owner trust values.\n" "\n" msgstr "" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" msgstr "" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" msgstr "" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 msgid "" "No trust values changed.\n" "\n" msgstr "" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "" -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "" -#: g10/pkclist.c:321 +#: g10/pkclist.c:363 #, c-format msgid "%08lX: key has expired\n" msgstr "" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "" -#: g10/pkclist.c:341 +#: g10/pkclist.c:383 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "" -#: g10/pkclist.c:347 +#: g10/pkclist.c:389 #, 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:353 +#: g10/pkclist.c:395 msgid "This key probably belongs to the owner\n" msgstr "" -#: g10/pkclist.c:358 +#: g10/pkclist.c:400 msgid "This key belongs to us\n" msgstr "" -#: g10/pkclist.c:398 +#: g10/pkclist.c:443 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" @@ -945,82 +971,95 @@ "\n" msgstr "" -#: g10/pkclist.c:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "" -#: g10/pkclist.c:455 +#: g10/pkclist.c:500 msgid " This could mean that the signature is forgery.\n" msgstr "" -#: g10/pkclist.c:459 +#: g10/pkclist.c:504 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "" -#: g10/pkclist.c:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "" -#: g10/pkclist.c:489 +#: g10/pkclist.c:534 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr "" -#: g10/pkclist.c:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr "" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "" -#: g10/pkclist.c:516 +#: g10/pkclist.c:561 msgid " It is not certain that the signature belongs to the owner.\n" msgstr "" -#: g10/pkclist.c:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "" -#: g10/pkclist.c:588 g10/pkclist.c:687 +#: g10/pkclist.c:670 g10/pkclist.c:820 #, c-format msgid "%s: skipped: public key already present\n" msgstr "" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" msgstr "" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "" -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +msgid "Public key is disabled.\n" +msgstr "" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "" @@ -1147,29 +1186,29 @@ " y = key expires in n years\n" msgstr "" -#: g10/keygen.c:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "" -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "" -#: g10/keygen.c:540 +#: g10/keygen.c:552 msgid "Key does not expire at all\n" msgstr "" #. print the date when the key expires -#: g10/keygen.c:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "" -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1179,44 +1218,44 @@ "\n" msgstr "" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "" -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "" -#: g10/keygen.c:612 +#: g10/keygen.c:624 msgid "Name may not start with a digit\n" msgstr "" -#: g10/keygen.c:614 +#: g10/keygen.c:626 msgid "Name must be at least 5 characters long\n" msgstr "" -#: g10/keygen.c:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "" -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "" -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1224,25 +1263,25 @@ "\n" msgstr "" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "" -#: g10/keygen.c:688 +#: g10/keygen.c:700 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "" -#: g10/keygen.c:740 +#: g10/keygen.c:752 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" msgstr "" -#: g10/keyedit.c:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 msgid "passphrase not correctly repeated; try again.\n" msgstr "" -#: g10/keygen.c:754 +#: g10/keygen.c:766 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" @@ -1250,7 +1289,7 @@ "\n" msgstr "" -#: g10/keygen.c:775 +#: g10/keygen.c:787 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" @@ -1258,60 +1297,60 @@ "generator a better chance to gain enough entropy.\n" msgstr "" -#: g10/keygen.c:845 +#: g10/keygen.c:857 msgid "Key generation can only be used in interactive mode\n" msgstr "" -#: g10/keygen.c:853 +#: g10/keygen.c:865 msgid "DSA keypair will have 1024 bits.\n" msgstr "" -#: g10/keygen.c:859 +#: g10/keygen.c:871 msgid "Key generation canceled.\n" msgstr "" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "" -#: g10/keygen.c:947 +#: g10/keygen.c:959 msgid "public and secret key created and signed.\n" msgstr "" -#: g10/keygen.c:949 +#: g10/keygen.c:961 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:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, c-format msgid "Key generation failed: %s\n" msgstr "" -#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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:1040 +#: g10/keygen.c:1052 msgid "Really create? " msgstr "" -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1364,241 +1403,246 @@ msgid "too many entries in unk cache - disabled\n" msgstr "" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "" -#: g10/import.c:116 +#: g10/import.c:118 #, c-format msgid "can't open `%s': %s\n" msgstr "" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "" -#: g10/import.c:172 +#: g10/import.c:174 #, c-format msgid "error reading `%s': %s\n" msgstr "" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr "" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr "" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr "" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr "" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr "" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr "" -#: g10/import.c:191 +#: g10/import.c:193 #, c-format msgid " new signatures: %lu\n" msgstr "" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr "" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr "" -#: g10/import.c:197 +#: g10/import.c:199 #, c-format msgid " secret keys imported: %lu\n" msgstr "" -#: g10/import.c:199 +#: g10/import.c:201 #, c-format msgid " secret keys unchanged: %lu\n" msgstr "" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "" -#: g10/import.c:355 +#: g10/import.c:378 msgid "this may be caused by a missing self-signature\n" msgstr "" -#: g10/import.c:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "" -#: g10/import.c:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "" -#: g10/import.c:399 +#: g10/import.c:427 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "" -#: g10/import.c:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "" -#: g10/import.c:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "" -#: g10/import.c:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "" -#: g10/import.c:552 +#: g10/import.c:577 #, c-format msgid "key %08lX: secret key imported\n" msgstr "" #. we can't merge secret keys -#: g10/import.c:556 +#: g10/import.c:581 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "" -#: g10/import.c:561 +#: g10/import.c:586 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "" -#: g10/import.c:590 +#: g10/import.c:615 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" -#: g10/import.c:621 +#: g10/import.c:646 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "" -#: g10/import.c:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "" -#: g10/import.c:686 +#: g10/import.c:711 #, c-format msgid "key %08lX: no user-id for signature\n" msgstr "" -#: g10/import.c:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "" -#: g10/import.c:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "" -#: g10/import.c:709 +#: g10/import.c:734 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "" -#: g10/import.c:718 +#: g10/import.c:743 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "" -#: g10/import.c:750 +#: g10/import.c:769 +#, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "" -#: g10/import.c:773 +#: g10/import.c:821 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "" @@ -1607,611 +1651,641 @@ #. * 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:798 +#: g10/import.c:846 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "" -#: g10/import.c:807 +#: g10/import.c:855 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "" -#: g10/import.c:815 +#: g10/import.c:863 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "" -#: g10/import.c:915 +#: g10/import.c:963 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "" -#: g10/import.c:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 msgid "[self-signature]" msgstr "" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 msgid "1 bad signature\n" msgstr "" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "" -#: g10/keyedit.c:222 +#: g10/keyedit.c:223 msgid "1 signature not checked due to a missing key\n" msgstr "" -#: g10/keyedit.c:224 +#: g10/keyedit.c:225 #, c-format msgid "%d signatures not checked due to missing keys\n" msgstr "" -#: g10/keyedit.c:226 +#: g10/keyedit.c:227 msgid "1 signature not checked due to an error\n" msgstr "" -#: g10/keyedit.c:228 +#: g10/keyedit.c:229 #, c-format msgid "%d signatures not checked due to errors\n" msgstr "" -#: g10/keyedit.c:230 +#: g10/keyedit.c:231 msgid "1 user id without valid self-signature detected\n" msgstr "" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\n" msgstr "" #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, c-format msgid "Already signed by key %08lX\n" msgstr "" -#: g10/keyedit.c:320 +#: g10/keyedit.c:321 #, c-format msgid "Nothing to sign with key %08lX\n" msgstr "" -#: g10/keyedit.c:329 +#: g10/keyedit.c:330 msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" msgstr "" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" msgstr "" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "" -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "" -#: g10/keyedit.c:442 +#: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" msgstr "" -#: g10/keyedit.c:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" msgstr "" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" msgstr "" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "" -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "show fingerprint" msgstr "" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list" msgstr "" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list key and user ids" msgstr "" -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "list signatures" msgstr "" -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign the key" msgstr "" -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "lsign" msgstr "" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "sign the key locally" msgstr "" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "delete user id" msgstr "" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "add a secondary key" msgstr "" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 msgid "delsig" msgstr "" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 msgid "delete signatures" msgstr "" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "change the expire date" msgstr "" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "" -#: g10/keyedit.c:583 +#: g10/keyedit.c:588 msgid "t" msgstr "" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "change the passphrase" msgstr "" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revsig" msgstr "" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revoke signatures" msgstr "" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revkey" msgstr "" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revoke a secondary key" msgstr "" -#: g10/keyedit.c:607 -msgid "can't do that in batchmode\n" +#: g10/keyedit.c:594 +msgid "disable" msgstr "" -#. check that they match -#. FIXME: check that they both match -#: g10/keyedit.c:636 -msgid "Secret key is available.\n" -msgstr "" - -#: g10/keyedit.c:665 -msgid "Command> " -msgstr "" - -#: g10/keyedit.c:692 -msgid "Need the secret key to do this.\n" +#: g10/keyedit.c:594 +msgid "disable a key" msgstr "" -#: g10/keyedit.c:714 -msgid "Save changes? " +#: g10/keyedit.c:595 +msgid "enable" msgstr "" -#: g10/keyedit.c:717 -msgid "Quit without saving? " +#: g10/keyedit.c:595 +msgid "enable a key" msgstr "" -#: g10/keyedit.c:727 -#, c-format -msgid "update failed: %s\n" +#: g10/keyedit.c:614 +msgid "can't do that in batchmode\n" msgstr "" -#: g10/keyedit.c:734 -#, c-format -msgid "update secret failed: %s\n" +#. check that they match +#. fixme: check that they both match +#: g10/keyedit.c:652 +msgid "Secret key is available.\n" msgstr "" -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" +#: g10/keyedit.c:681 +msgid "Command> " msgstr "" -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, c-format -msgid "update of trustdb failed: %s\n" +#: g10/keyedit.c:711 +msgid "Need the secret key to do this.\n" msgstr "" -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "" -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "" + +#: g10/keyedit.c:797 g10/keyedit.c:818 msgid "You must select at least one user id.\n" msgstr "" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 msgid "Really remove all selected user ids? " msgstr "" -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 msgid "Really remove this user id? " msgstr "" -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" msgstr "" -#: g10/keyedit.c:862 +#: g10/keyedit.c:843 msgid "Do you really want to delete the selected keys? " msgstr "" -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 msgid "Do you really want to delete this key? " msgstr "" -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 msgid "Do you really want to revoke the selected keys? " msgstr "" -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 msgid "Do you really want to revoke this key? " msgstr "" -#: g10/keyedit.c:939 +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "" + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "" + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "" + +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +msgid "This key has been disabled" +msgstr "" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1302 +#: g10/keyedit.c:1344 msgid "Delete this unknown signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1308 +#: g10/keyedit.c:1350 msgid "Really delete this self-signature? (y/N)" msgstr "" -#: g10/keyedit.c:1322 +#: g10/keyedit.c:1364 #, c-format msgid "Deleted %d signature.\n" msgstr "" -#: g10/keyedit.c:1323 +#: g10/keyedit.c:1365 #, c-format msgid "Deleted %d signatures.\n" msgstr "" -#: g10/keyedit.c:1326 +#: g10/keyedit.c:1368 msgid "Nothing deleted.\n" msgstr "" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 msgid "Please select at most one secondary key.\n" msgstr "" -#: g10/keyedit.c:1405 +#: g10/keyedit.c:1447 msgid "Changing expiration time for a secondary key.\n" msgstr "" -#: g10/keyedit.c:1407 +#: g10/keyedit.c:1449 msgid "Changing expiration time for the primary key.\n" msgstr "" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 msgid "You can't change the expiration date of a v3 key\n" msgstr "" -#: g10/keyedit.c:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, c-format msgid "No user id with index %d\n" msgstr "" -#: g10/keyedit.c:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 msgid "user ID: \"" msgstr "" -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, c-format msgid "" "\"\n" "signed with your key %08lX at %s\n" msgstr "" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "" -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 msgid "no secret key\n" msgstr "" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, c-format msgid "public key is %08lX\n" msgstr "" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 msgid "public key encrypted data: good DEK\n" msgstr "" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, c-format +msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" +msgstr "" + +#: g10/mainproc.c:285 +#, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "" + +#: g10/mainproc.c:291 +msgid "no secret key for decryption available\n" +msgstr "" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 msgid "decryption okay\n" msgstr "" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "" -#: g10/mainproc.c:505 g10/mainproc.c:514 +#: g10/mainproc.c:587 g10/mainproc.c:596 msgid "WARNING: invalid notation data found\n" msgstr "" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " msgstr "" -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " msgstr "" -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 msgid "signature verification suppressed\n" msgstr "" -#: g10/mainproc.c:935 +#: g10/mainproc.c:1031 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "" #. just in case that we have no userid -#: g10/mainproc.c:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr "" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "" @@ -2238,38 +2312,42 @@ msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, c-format msgid "can't handle public key algorithm %d\n" msgstr "" -#: g10/parse-packet.c:931 +#: g10/parse-packet.c:932 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" "user: \"" msgstr "" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr "" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +msgid "can't query password in batchmode\n" +msgstr "" + +#: g10/passphrase.c:194 msgid "Enter passphrase: " msgstr "" -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 msgid "Repeat passphrase: " msgstr "" @@ -2321,31 +2399,31 @@ msgid "WARNING: Weak key detected - please change passphrase again.\n" msgstr "" -#: g10/sig-check.c:187 +#: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" msgstr "" -#: g10/sig-check.c:283 +#: g10/sig-check.c:295 msgid "" "this is a PGP generated ElGamal key which is NOT secure for signatures!\n" msgstr "" -#: g10/sig-check.c:291 +#: g10/sig-check.c:303 #, c-format msgid "public key is %lu second newer than the signature\n" msgstr "" -#: g10/sig-check.c:292 +#: g10/sig-check.c:304 #, c-format msgid "public key is %lu seconds newer than the signature\n" msgstr "" -#: g10/sig-check.c:308 +#: g10/sig-check.c:320 #, c-format msgid "NOTE: signature key expired %s\n" msgstr "" -#: g10/sig-check.c:365 +#: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" msgstr "" @@ -2378,12 +2456,12 @@ msgid "input line longer than %d characters\n" msgstr "" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" @@ -2412,7 +2490,7 @@ msgid "%s: directory does not exist!\n" msgstr "" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, c-format msgid "%s: can't create: %s\n" msgstr "" @@ -2453,7 +2531,7 @@ msgstr "" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, c-format msgid "%s: error reading version record: %s\n" msgstr "" @@ -2463,470 +2541,362 @@ msgid "%s: error writing version record: %s\n" msgstr "" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "" -#: g10/tdbio.c:1161 +#: g10/tdbio.c:1275 #, c-format msgid "%s: not a trustdb file\n" msgstr "" -#: g10/tdbio.c:1177 +#: g10/tdbio.c:1291 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "" -#: g10/tdbio.c:1182 +#: g10/tdbio.c:1296 #, c-format msgid "%s: invalid file version %d\n" msgstr "" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, c-format msgid "%s: error reading free record: %s\n" msgstr "" -#: g10/tdbio.c:1479 +#: g10/tdbio.c:1608 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "" -#: g10/tdbio.c:1489 +#: g10/tdbio.c:1618 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "" -#: g10/tdbio.c:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "" -#: g10/tdbio.c:1630 +#: g10/tdbio.c:1759 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" -#: g10/trustdb.c:163 +#: g10/trustdb.c:160 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "" -#: g10/trustdb.c:178 +#: g10/trustdb.c:175 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "" -#: g10/trustdb.c:192 +#: g10/trustdb.c:189 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "" -#: g10/trustdb.c:206 +#: g10/trustdb.c:203 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "" -#: g10/trustdb.c:393 +#: g10/trustdb.c:354 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "" -#: g10/trustdb.c:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "" -#: g10/trustdb.c:442 +#: g10/trustdb.c:403 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "" -#: g10/trustdb.c:510 +#: g10/trustdb.c:458 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "" -#: g10/trustdb.c:518 +#: g10/trustdb.c:466 #, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "" -#: g10/trustdb.c:525 +#: g10/trustdb.c:473 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "" -#: g10/trustdb.c:535 +#: g10/trustdb.c:485 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "" -#: g10/trustdb.c:541 +#: g10/trustdb.c:491 #, c-format msgid "key %08lX: query record failed\n" msgstr "" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "" -#: g10/trustdb.c:553 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "" -#: g10/trustdb.c:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "" - -#: g10/trustdb.c:901 -#, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "" - -#: g10/trustdb.c:905 -#, c-format -msgid "lid %lu: user id without signature\n" -msgstr "" - -#: g10/trustdb.c:912 -#, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -msgid "Valid certificate revocation" -msgstr "" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -msgid "Good certificate" -msgstr "" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "" - -#: g10/trustdb.c:982 +#: g10/trustdb.c:802 #, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +msgid "tdbio_search_sdir failed: %s\n" msgstr "" -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "" - -#: g10/trustdb.c:998 -#, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "" - -#: g10/trustdb.c:1055 g10/trustdb.c:2030 -#, c-format -msgid "tdbio_search_dir failed: %s\n" -msgstr "" - -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "" -#: g10/trustdb.c:1232 +#: g10/trustdb.c:895 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "" -#: g10/trustdb.c:1253 +#: g10/trustdb.c:912 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 msgid "Good self-signature" msgstr "" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 msgid "Invalid self-signature" msgstr "" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" -#: g10/trustdb.c:1410 -msgid "Valid user ID revocation\n" +#: g10/trustdb.c:1066 +msgid "Valid user ID revocation" msgstr "" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 msgid "Invalid user ID revocation" msgstr "" -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "" - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -msgid "WARNING: can't yet handle long pref records\n" -msgstr "" - -#: g10/trustdb.c:1654 -msgid "duplicated certificate - deleted" +#: g10/trustdb.c:1112 +msgid "Valid certificate revocation" msgstr "" -#: g10/trustdb.c:1692 -msgid "public key not anymore available" +#: g10/trustdb.c:1113 +msgid "Good certificate" msgstr "" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 msgid "Invalid certificate revocation" msgstr "" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 msgid "Invalid certificate" msgstr "" -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "" -#. that should never happen -#: g10/trustdb.c:2007 -#, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" +#: g10/trustdb.c:1208 +msgid "duplicated certificate - deleted" msgstr "" -#: g10/trustdb.c:2412 -msgid "Ooops, no user ids\n" +#: g10/trustdb.c:1514 +#, c-format +msgid "tdbio_search_dir failed: %s\n" msgstr "" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 +#: g10/trustdb.c:1652 #, c-format -msgid "lid %lu: update failed: %s\n" +msgid "error reading dir record: %s\n" msgstr "" -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "" - -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, c-format msgid "\t%lu keys with errors\n" msgstr "" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "" -#: g10/trustdb.c:2598 -#, c-format -msgid "%s: keyblock read problem: %s\n" -msgstr "" - -#: g10/trustdb.c:2612 -#, c-format -msgid "%s: update failed: %s\n" -msgstr "" - -#: g10/trustdb.c:2615 +#: g10/trustdb.c:1705 #, c-format -msgid "%s: updated\n" +msgid "lid %lu: dir record w/o key - skipped\n" msgstr "" -#: g10/trustdb.c:2617 +#: g10/trustdb.c:1716 #, c-format -msgid "%s: okay\n" +msgid "\t%lu keys skipped\n" msgstr "" -#: g10/trustdb.c:2632 +#: g10/trustdb.c:1720 #, c-format -msgid "lid %lu: dir record w/o key - skipped\n" +msgid "\t%lu keys updated\n" msgstr "" -#: g10/trustdb.c:2645 -#, c-format -msgid "lid %lu: keyblock not found: %s\n" +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" msgstr "" -#: g10/trustdb.c:2673 -#, c-format -msgid "\t%lu keys skipped\n" +#: g10/trustdb.c:2061 +msgid "Ooops, no user ids\n" msgstr "" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:2218 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "" -#: g10/trustdb.c:2750 +#: g10/trustdb.c:2227 #, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "" -#: g10/trustdb.c:2754 +#: g10/trustdb.c:2231 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "" -#: g10/trustdb.c:2762 +#: g10/trustdb.c:2239 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" -#: g10/trustdb.c:2769 +#: g10/trustdb.c:2248 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "" -#: g10/trustdb.c:2777 +#: g10/trustdb.c:2256 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "" -#: g10/trustdb.c:2881 +#: g10/trustdb.c:2362 #, c-format msgid "user '%s' not found: %s\n" msgstr "" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "" -#: g10/trustdb.c:2886 +#: g10/trustdb.c:2367 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "" -#: g10/trustdb.c:2889 +#: g10/trustdb.c:2370 #, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "" +#: g10/trustdb.c:2556 g10/trustdb.c:2586 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "" + #: g10/ringedit.c:316 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, c-format msgid "%s: keyring created\n" msgstr "" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, c-format msgid "%s is the unchanged one\n" msgstr "" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "" @@ -2961,16 +2931,20 @@ msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:122 +#: g10/openfile.c:119 +msgid "Enter new filename" +msgstr "" + +#: g10/openfile.c:160 msgid "writing to stdout\n" msgstr "" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, c-format msgid "assuming signed data in `%s'\n" msgstr "" -#: g10/openfile.c:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "" @@ -3040,99 +3014,101 @@ msgid "keygen.valid" msgstr "" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "" -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "" -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "" -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "" -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "" - -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "" -#: g10/helptext.c:176 +#: g10/helptext.c:175 msgid "keyedit.delsig.valid" msgstr "" -#: g10/helptext.c:181 +#: g10/helptext.c:180 msgid "keyedit.delsig.unknown" msgstr "" -#: g10/helptext.c:187 +#: g10/helptext.c:186 msgid "keyedit.delsig.invalid" msgstr "" -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" msgstr "" -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "" -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "" -#: g10/helptext.c:211 +#: g10/helptext.c:210 msgid "detached_signature.filename" msgstr "" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "" -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "" diff -urN gnupg-0.9.8/po/it.po gnupg-0.9.9/po/it.po --- gnupg-0.9.8/po/it.po Sat Jun 26 13:07:28 1999 +++ gnupg-0.9.9/po/it.po Fri Jul 23 14:26:01 1999 @@ -5,42 +5,41 @@ msgid "" msgstr "" "Project-Id-Version: gnupg-0.9.7\n" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" -"PO-Revision-Date: 1999-05-15 18:09+02:00\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" +"PO-Revision-Date: 1999-06-28 19:49+02:00\n" "Last-Translator: Marco d'Itri \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "Attenzione: si sta usando memoria insicura!\n" -#: util/secmem.c:249 +#: util/secmem.c:275 msgid "operation is not possible without initialized secure memory\n" msgstr "l'operazione non è possibile senza memoria sicura inizializzata\n" -#: util/secmem.c:250 +#: util/secmem.c:276 msgid "(you may have used the wrong program for this task)\n" msgstr "(potresti avere usato il programma sbagliato per questa funzione)\n" -#: util/miscutil.c:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "sì" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "sS" -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "quit" -#: util/miscutil.c:176 -#, fuzzy +#: util/miscutil.c:274 msgid "qQ" -msgstr "q" +msgstr "qQ" #: util/errors.c:54 msgid "general error" @@ -244,12 +243,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "Hai trovato un bug... (%s:%d)\n" -#: cipher/random.c:412 +#: cipher/random.c:452 msgid "WARNING: using insecure random number generator!!\n" msgstr "" "ATTENZIONE: si sta usando un generatore di numeri casuali non sicuro!!\n" -#: cipher/random.c:413 +#: cipher/random.c:453 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -272,7 +271,7 @@ "altra cosa per dare all'OS la possibilità di raccogliere altra entropia!\n" "(Servono ancora %d altri byte)\n" -#: g10/g10.c:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " @@ -280,131 +279,138 @@ "@Comandi:\n" " " -#: g10/g10.c:176 +#: g10/g10.c:185 msgid "|[file]|make a signature" msgstr "|[file]|fai una firma" -#: g10/g10.c:177 +#: g10/g10.c:186 msgid "|[file]|make a clear text signature" msgstr "|[file]|fai una firma mantenendo il testo in chiaro" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "fai una firma separata" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "cifra dati" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "cifra solo con un cifrario simmetrico" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "immagazzina soltanto" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "decifra dati (predefinito)" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "verifica una firma" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "elenca le chiavi" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "elenca le chiavi e le firme" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "controlla le firme delle chiavi" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "elenca le chiavi e le impronte digitali" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "elenca le chiavi segrete" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "genera una nuova coppia di chiavi" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "rimuove una chiave dal portachiavi pubblico" -#: g10/g10.c:192 +#: g10/g10.c:201 +#, fuzzy +msgid "sign a key" +msgstr "firma la chiave" + +#: g10/g10.c:202 +#, fuzzy +msgid "sign a key locally" +msgstr "firma la chiave localmente" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "firma o modifica una chiave" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "genera un certificato di revoca" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "esporta delle chiavi" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "esporta le chiavi a un key server" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "importa le chiavi da un key server" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "importa/aggiungi delle chiavi" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "elenca solo la sequenza dei pacchetti" -#: g10/g10.c:203 +#: g10/g10.c:214 msgid "export the ownertrust values" msgstr "esporta i valori di fiducia" -#: g10/g10.c:205 +#: g10/g10.c:216 msgid "import ownertrust values" msgstr "importa i valori di fiducia" -#: g10/g10.c:207 -msgid "|[NAMES]|update the trust database" +#: g10/g10.c:218 +#, fuzzy +msgid "update the trust database" msgstr "|[NOMI]|controlla il database della fiducia" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "|[NOMI]|controlla il database della fiducia" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "ripara un database della fiducia rovinato" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "rimuovi l'armatura a un file o a stdin" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "crea l'armatura a un file o a stdin" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "|algo [files]|stampa tutti i message digests" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "stampa tutti i message digests" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" @@ -414,160 +420,169 @@ "Opzioni:\n" " " -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "crea un output ascii con armatura" -#: g10/g10.c:223 +#: g10/g10.c:231 msgid "|NAME|encrypt for NAME" msgstr "|NOME|cifra per NOME" -#: g10/g10.c:227 +#: g10/g10.c:234 +#, fuzzy +msgid "|NAME|use NAME as default recipient" +msgstr "|NAME|usa NAME come chiave segreta predefinita" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "usa questo user-id per firmare o decifrare" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "|N|imposta il livello di compressione (0 disabilita)" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "usa il modo testo canonico" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "usa come file di output" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "prolisso" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "meno prolisso" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" -msgstr "" +msgstr "non usa per niente il terminale" -#: g10/g10.c:235 +#: g10/g10.c:248 msgid "force v3 signatures" msgstr "forza l'uso di firme v3" -#: g10/g10.c:236 +#: g10/g10.c:249 msgid "always use a MDC for encryption" msgstr "usa sempre un MDC per cifrare" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "non fa cambiamenti" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "modo batch: non fare domande" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "assumi \"sì\" a quasi tutte le domande" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "assumi \"no\" a quasi tutte le domande" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "aggiungi questo portachiavi alla lista" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "aggiungi questo portachiavi segreto alla lista" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "|NAME|usa NAME come chiave segreta predefinita" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HOST|cerca le chiavi in questo keyserver" -#: g10/g10.c:246 +#: g10/g10.c:259 msgid "|NAME|set terminal charset to NAME" msgstr "|NAME|imposta il set di caratteri del terminale NOME" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "leggi le opzioni dal file" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "imposta i flag di debugging" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "abilita il debugging completo" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "|FD|scrivi le informazioni di stato su questo fd" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "non scrivere pacchetti di commento" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "(predefinito è 1)" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "(predefinito è 3)" -#: g10/g10.c:256 +#: g10/g10.c:269 msgid "|FILE|load extension module FILE" msgstr "|FILE|carica il modulo di estensione FILE" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "emula il modo descritto in RFC 1991" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" -msgstr "" +msgstr "imposta per OpenPGP le opzioni di pacchetto, cifrario e digest" -#: g10/g10.c:259 +#: g10/g10.c:272 msgid "|N|use passphrase mode N" msgstr "|N|usa il modo N per la passphrase" -#: g10/g10.c:261 +#: g10/g10.c:274 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|NAME|usa l'algoritmo di message digest NOME" -#: g10/g10.c:263 +#: g10/g10.c:276 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|NAME|usa l'alg. di cifratura NOME per le passphrase" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "|NAME|usa l'algoritmo di cifratura NOME" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "|NAME|usa l'algoritmo di message digest NOME" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "|N|usa l'algoritmo di compressione N" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "elimina il campo keyid dei pacchetti cifrati" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" -msgstr "" +msgstr "|NOME=VALORE|usa questi dati per una nota" -#: g10/g10.c:270 +#: g10/g10.c:283 msgid "" "@\n" "Examples:\n" @@ -587,15 +602,15 @@ " --list-keys [nomi] mostra le chiavi\n" " --fingerprint [nomi] mostra le impronte digitali\n" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "Per favore segnala i bug a .\n" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Uso: gpg [opzioni] [file] (-h per l'aiuto)" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -605,7 +620,7 @@ "firma, controlla, cifra o decifra\n" "l'operazione predefinita dipende dai dati di input\n" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" @@ -613,171 +628,187 @@ "\n" "Algoritmi gestiti:\n" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "uso: gpg [options] " -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "comandi in conflitto\n" -#: g10/g10.c:605 +#: g10/g10.c:640 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "NOTA: manca il file con le opzioni predefinite `%s'\n" -#: g10/g10.c:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "file con le opzioni `%s': %s\n" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "lettura delle opzioni da `%s'\n" -#: g10/g10.c:782 +#: g10/g10.c:831 #, c-format msgid "%s is not a valid character set\n" msgstr "%s non è un set di caratteri valido\n" -#: g10/g10.c:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "l'algoritmo di cifratura selezionato non è valido\n" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "l'algoritmo di digest selezionato non è valido\n" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" -msgstr "" +msgstr "L'URL della policy indicato non è valido\n" -#: g10/g10.c:852 +#: g10/g10.c:920 #, 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:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed deve essere maggiore di 0\n" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed deve essere maggiore di 1\n" -#: g10/g10.c:858 +#: g10/g10.c:926 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:861 +#: g10/g10.c:929 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:865 +#: g10/g10.c:933 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:942 +#: g10/g10.c:1010 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "inizializzazione del trustdb fallita: %s\n" -#: g10/g10.c:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "--store [nomefile]" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "--symmetric [nomefile]" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "--encrypt [nomefile]" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "--sign [nomefile]" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nomefile]" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "--clearsign [nomefile]" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "--decrypt [nomefile]" -#: g10/g10.c:1024 -msgid "--edit-key username [commands]" +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 +#, fuzzy +msgid "--lsign-key user-id" +msgstr "--delete-key nomeutente" + +#: g10/g10.c:1107 +#, fuzzy +msgid "--edit-key user-id [commands]" msgstr "--edit-key nomeutente [comandi]" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1123 +#, fuzzy +msgid "--delete-secret-key user-id" msgstr "--delete-secret-key nomeutente" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1126 +#, fuzzy +msgid "--delete-key user-id" msgstr "--delete-key nomeutente" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/encode.c:231 g10/g10.c:1150 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "impossibile aprire `%s': %s\n" -#: g10/g10.c:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "-k[v][v][v][c] [userid] [portachiavi]" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "rimozione dell'armatura fallita: %s\n" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, c-format msgid "enarmoring failed: %s\n" msgstr "creazione dell'armatura fallita: %s\n" -#: g10/g10.c:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algoritmo di hash non valido `%s'\n" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "[nomefile]" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "Vai avanti e scrivi il messaggio...\n" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "impossibile aprire `%s'\n" -#: g10/g10.c:1457 +#: g10/g10.c:1555 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:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" +"il nome di una nota deve essere formato solo da lettere, numeri, punti o\n" +"underscore e deve finire con `='\n" -#: g10/g10.c:1469 +#: g10/g10.c:1567 msgid "dots in a notation name must be surrounded by other characters\n" -msgstr "" +msgstr "nel nome di una nota i punti devono avere altri caratteri intorno\n" -#: g10/g10.c:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" -msgstr "" +msgstr "il valore di una nota non deve usare caratteri di controllo\n" #: g10/armor.c:296 #, c-format @@ -854,7 +885,21 @@ "carattere quoted printable nell'armatura - probabilmente è stato usato\n" "un MTA buggato\n" -#: g10/pkclist.c:137 +#. 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 "importate: %lu" + +# valid user replies (not including 1..4) +# [Marco, you can change 'm' and 's' to whatever letters you like] +#. a string with valid answers +#: g10/pkclist.c:170 +msgid "sSmMqQ" +msgstr "sSmMqQ" + +#: g10/pkclist.c:174 #, c-format msgid "" "No trust value assigned to %lu:\n" @@ -863,7 +908,7 @@ "Nessun valore di fiducia assegnato a %lu:\n" "%4u%c/%08lX %s \"" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 msgid "" "Please decide how far you trust this user to correctly\n" "verify other users' keys (by looking at passports,\n" @@ -885,30 +930,23 @@ " 4 = Mi fido completamente\n" " s = mostrami ulteriori informazioni\n" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr " m = torna al menù principale\n" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr " q = abbandona\n" -# valid user replies (not including 1..4) -# [Marco, you can change 'm' and 's' to whatever letters you like] -#. a string with valid answers -#: g10/pkclist.c:163 -msgid "sSmMqQ" -msgstr "sSmMqQ" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "Cosa hai deciso? " -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "Certificati che portano a chiavi definitivamente affidabili:\n" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 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" @@ -918,20 +956,20 @@ "se possiamo assegnare qualche valore di fiducia del proprietario mancante.\n" "\n" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" msgstr "" "Non è stato trovato alcun percorso che porti a una delle nostre chiavi.\n" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" msgstr "Non è stato trovato alcun certificato con fiducia non definita.\n" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 msgid "" "No trust values changed.\n" "\n" @@ -939,37 +977,37 @@ "Nessun valore di fiducia modificato.\n" "\n" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "chiave %08lX: la chiave è stata revocata!\n" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "Uso lo stesso questa chiave? " -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "chiave %08lX: la subchiave è stata revocata!\n" -#: g10/pkclist.c:321 +#: g10/pkclist.c:363 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: la chiave è scaduta\n" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "" "%08lX: mancano informazioni su come calcolare una probabilità di fiducia\n" -#: g10/pkclist.c:341 +#: g10/pkclist.c:383 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: NON ci fidiamo di questa chiave!\n" -#: g10/pkclist.c:347 +#: g10/pkclist.c:389 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -978,15 +1016,15 @@ "%08lX: Non è sicuro che questa chiave appartenga veramente al proprietario\n" "ma è accettata comunque\n" -#: g10/pkclist.c:353 +#: g10/pkclist.c:395 msgid "This key probably belongs to the owner\n" msgstr "Questa chiave probabilmente appartiene al proprietario\n" -#: g10/pkclist.c:358 +#: g10/pkclist.c:400 msgid "This key belongs to us\n" msgstr "Questa chiave ci appartiene\n" -#: g10/pkclist.c:398 +#: g10/pkclist.c:443 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,65 +1036,65 @@ "prossima domanda.\n" "\n" -#: g10/pkclist.c:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "ATTENZIONE: uso di una chiave non fidata!\n" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "ATTENZIONE: questa chiave è stata revocata dal suo proprietario!\n" -#: g10/pkclist.c:455 +#: g10/pkclist.c:500 msgid " This could mean that the signature is forgery.\n" msgstr " Questo può significare che la firma è stata falsificata.\n" -#: g10/pkclist.c:459 +#: g10/pkclist.c:504 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "ATTENZIONE: questa subchiave è stata revocata dal proprietario!\n" -#: g10/pkclist.c:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "Nota: questa chiave è scaduta!\n" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 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:489 +#: g10/pkclist.c:534 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:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "ATTENZIONE: NON ci fidiamo di questa chiave!\n" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr " La firma è probabilmente un FALSO.\n" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 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:516 +#: g10/pkclist.c:561 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:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: saltata: %s\n" -#: g10/pkclist.c:588 g10/pkclist.c:687 -#, fuzzy, c-format +#: g10/pkclist.c:670 g10/pkclist.c:820 +#, c-format msgid "%s: skipped: public key already present\n" -msgstr "%s: il keyblock ha problemi di lettura: %s\n" +msgstr "%s: saltato: chiave pubblica già presente\n" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1064,20 +1102,34 @@ "Non hai specificato un user ID. (puoi usare \"-r\")\n" "\n" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "Inserisci l'user ID: " -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "User ID inesistente.\n" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +#, fuzzy +msgid "Public key is disabled.\n" +msgstr "la chiave pubblica è %08lX\n" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: errore nel controllare la chiave: %s\n" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, fuzzy, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s: saltato: chiave pubblica già presente\n" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "nessun indirizzo valido\n" @@ -1217,29 +1269,29 @@ " m = la chiave scadrà dopo n mesi\n" " y = la chiave scadrà dopo n anni\n" -#: g10/keygen.c:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "Chiave valida per? (0) " -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "valore non valido\n" -#: g10/keygen.c:540 +#: g10/keygen.c:552 msgid "Key does not expire at all\n" msgstr "La chiave non scade\n" #. print the date when the key expires -#: g10/keygen.c:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "La chiave scadrà il %s\n" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "È giusto (s/n)? " -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1255,44 +1307,44 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "Nome e Cognome: " -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "Carattere non valido nel nome\n" -#: g10/keygen.c:612 +#: g10/keygen.c:624 msgid "Name may not start with a digit\n" msgstr "Il nome non può iniziare con una cifra\n" -#: g10/keygen.c:614 +#: g10/keygen.c:626 msgid "Name must be at least 5 characters long\n" msgstr "Il nome deve essere lungo almeno 5 caratteri\n" -#: g10/keygen.c:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "Indirizzo di Email: " -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "L'indirizzo di email non è valido\n" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "Commento: " -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "Carattere non valido nel commento\n" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Stai usando il set di caratteri `%s'.\n" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1303,15 +1355,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "NnCcEeOoQq" -#: g10/keygen.c:688 +#: g10/keygen.c:700 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:740 +#: g10/keygen.c:752 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1319,11 +1371,11 @@ "Ti serve una passphrase per proteggere la tua chiave segreta.\n" "\n" -#: g10/keyedit.c:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 msgid "passphrase not correctly repeated; try again.\n" msgstr "passphrase non ripetuta correttamente; riprova.\n" -#: g10/keygen.c:754 +#: g10/keygen.c:766 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" @@ -1335,7 +1387,7 @@ "programma con l'opzione \"--edit-key\".\n" "\n" -#: g10/keygen.c:775 +#: g10/keygen.c:787 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" @@ -1347,34 +1399,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:845 +#: g10/keygen.c:857 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:853 +#: g10/keygen.c:865 msgid "DSA keypair will have 1024 bits.\n" msgstr "La coppia DSA avrà 1024 bit.\n" -#: g10/keygen.c:859 -#, fuzzy +#: g10/keygen.c:871 msgid "Key generation canceled.\n" msgstr "Generazione della chiave annullata.\n" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "scrittura del certificato pubblico in `%s'\n" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "scrittura del certificato privato in `%s'\n" -#: g10/keygen.c:947 +#: g10/keygen.c:959 msgid "public and secret key created and signed.\n" msgstr "chiavi pubbliche e segrete create e firmate.\n" -#: g10/keygen.c:949 +#: g10/keygen.c:961 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" @@ -1383,12 +1434,12 @@ "il comando \"--edit-key\" per generare una chiave secondaria per questo " "scopo.\n" -#: g10/keygen.c:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, c-format msgid "Key generation failed: %s\n" msgstr "Generazione della chiave fallita: %s\n" -#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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" @@ -1396,7 +1447,7 @@ "la chiave è stata creata %lu secondo nel futuro (salto nel tempo o problema\n" "con l'orologio)\n" -#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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" @@ -1404,11 +1455,11 @@ "la chiave è stata creata %lu secondi nel futuro (salto nel tempo o problema\n" "con l'orologio)\n" -#: g10/keygen.c:1040 +#: g10/keygen.c:1052 msgid "Really create? " msgstr "Crea davvero? " -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1461,243 +1512,248 @@ msgid "too many entries in unk cache - disabled\n" msgstr "troppe voci nella unk cache - disabilitata\n" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, 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:116 -#, fuzzy, c-format +#: g10/import.c:118 +#, c-format msgid "can't open `%s': %s\n" msgstr "impossibile aprire `%s': %s\n" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "salto un blocco di tipo %d\n" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "Per ora sono state esaminate %lu chiavi\n" -#: g10/import.c:172 -#, fuzzy, c-format +#: g10/import.c:174 +#, c-format msgid "error reading `%s': %s\n" -msgstr "errore nella creazione della passhprase: %s\n" +msgstr "errore leggendo `%s': %s\n" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr "Numero totale esaminato: %lu\n" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr "senza user ID: %lu\n" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr "importate: %lu" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr "non modificate: %lu\n" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr "nuovi user ID: %lu\n" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr "nuove subchiavi: %lu\n" -#: g10/import.c:191 +#: g10/import.c:193 #, c-format msgid " new signatures: %lu\n" msgstr "nuove firme: %lu\n" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr "nuove revoche di chiavi: %lu\n" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr "chiavi segrete lette: %lu\n" -#: g10/import.c:197 +#: g10/import.c:199 #, c-format msgid " secret keys imported: %lu\n" msgstr "chiavi segrete importate %lu\n" -#: g10/import.c:199 +#: g10/import.c:201 #, c-format msgid " secret keys unchanged: %lu\n" msgstr "chiavi segrete non cambiate %lu\n" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "chiave %08lX: nessun user id\n" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "chiave %08lX: nessun user id valido\n" -#: g10/import.c:355 +#: g10/import.c:378 msgid "this may be caused by a missing self-signature\n" msgstr "questo può essere causato da una autofirma mancante\n" -#: g10/import.c:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "chiave %08lX: chiave pubblica non trovata: %s\n" -#: g10/import.c:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "nessun portachiavi pubblico predefinito\n" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "scrittura in `%s'\n" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 -#, fuzzy, c-format +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 +#, c-format msgid "can't lock keyring `%s': %s\n" -msgstr "impossibile bloccare il portachiavi pubblico: %s\n" +msgstr "impossibile fare il lock del portachiavi `%s': %s\n" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 -#, fuzzy, c-format +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 +#, c-format msgid "error writing keyring `%s': %s\n" -msgstr "%s: errore durante la scrittura del record di versione: %s\n" +msgstr "errore scrivendo il portachiavi `%s': %s\n" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "chiave %08lX: chiave pubblica importata\n" -#: g10/import.c:399 +#: g10/import.c:427 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "chiave %08lX: non corrisponde alla nostra copia\n" -#: g10/import.c:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, 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:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, 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:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "chiave %08lX: un nuovo user id\n" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "chiave %08lX: %d nuovi user id\n" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "chiave %08lX: una nuova firma\n" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "chiave %08lX: %d nuove firme\n" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "chiave %08lX: una nuova subchiave\n" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "chiave %08lX: %d nuove subchiavi\n" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "chiave %08lX: non cambiata\n" -#: g10/import.c:552 +#: g10/import.c:577 #, 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:556 +#: g10/import.c:581 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "chiave %08lX: già nel portachiavi segreto\n" -#: g10/import.c:561 +#: g10/import.c:586 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "chiave %08lX: chiave segreta non trovata: %s\n" -#: g10/import.c:590 +#: g10/import.c:615 #, 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:621 +#: g10/import.c:646 #, 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:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "chiave %08lX: certificato di revoca importato\n" -#: g10/import.c:686 +#: g10/import.c:711 #, c-format msgid "key %08lX: no user-id for signature\n" msgstr "chiave %08lX: nessun user id per la firma\n" -#: g10/import.c:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "chiave %08lX: algoritmo a chiave pubblica non gestito\n" -#: g10/import.c:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "chiave %08lX: autofirma non valida\n" -#: g10/import.c:709 +#: g10/import.c:734 #, 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:718 +#: g10/import.c:743 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "chiave %08lX: legame con la subchiave non valido:\n" -#: g10/import.c:750 +#: g10/import.c:769 +#, fuzzy, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "chiave %08lX: saltato l'user id '" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "chiave %08lX: saltato l'user id '" -#: g10/import.c:773 +#: g10/import.c:821 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "chiave %08lX: saltata la subchiave\n" @@ -1706,98 +1762,98 @@ #. * 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:798 +#: g10/import.c:846 #, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "chiave %08lX: firma non esportabile (chiave %02x) - saltata\n" -#: g10/import.c:807 +#: g10/import.c:855 #, 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:815 +#: g10/import.c:863 #, 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:915 +#: g10/import.c:963 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" -msgstr "" +msgstr "chiave %08lX: trovato un user ID duplicato - unito\n" -#: g10/import.c:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "chiave %08lX: certificato di revoca aggiunto\n" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "chiave %08lX: la nostra copia non ha autofirma\n" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: utente non trovato\n" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "[revoca]" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 msgid "[self-signature]" msgstr "[autofirma]" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 msgid "1 bad signature\n" msgstr "una firma non corretta\n" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "%d firme non corrette\n" -#: g10/keyedit.c:222 +#: 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" -#: g10/keyedit.c:224 +#: g10/keyedit.c:225 #, c-format msgid "%d signatures not checked due to missing keys\n" msgstr "%d firme non controllate per mancanza delle chiavi\n" -#: g10/keyedit.c:226 +#: 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" -#: g10/keyedit.c:228 +#: g10/keyedit.c:229 #, c-format msgid "%d signatures not checked due to errors\n" msgstr "%d firme non controllate a causa di errori\n" -#: g10/keyedit.c:230 +#: g10/keyedit.c:231 msgid "1 user id without valid self-signature detected\n" msgstr "Trovato 1 user id senza autofirma valida\n" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\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. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, c-format msgid "Already signed by key %08lX\n" msgstr "Già firmato dalla chiave %08lX\n" -#: g10/keyedit.c:320 +#: g10/keyedit.c:321 #, c-format msgid "Nothing to sign with key %08lX\n" msgstr "Niente da firmare con la chiave %08lX\n" -#: g10/keyedit.c:329 +#: g10/keyedit.c:330 msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" @@ -1805,7 +1861,7 @@ "Sei davvero sicuro di volere firmare questa chiave\n" "con la tua chiave: \"" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" @@ -1813,29 +1869,29 @@ "La firma sarà segnata come non esportabile.\n" "\n" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "Firmo davvero? " -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "firma fallita: %s\n" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "Questa chiave non è protetta.\n" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "La chiave è protetta.\n" -#: g10/keyedit.c:442 +#: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" msgstr "Impossibile modificare questa chiave: %s\n" -#: g10/keyedit.c:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" @@ -1843,7 +1899,7 @@ "Inserisci la nuova passphrase per questa chiave segreta.\n" "\n" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" @@ -1851,378 +1907,395 @@ "Non vuoi una passphrase - questa è probabilmente una *cattiva* idea!\n" "\n" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "Vuoi veramente farlo?" -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "spostamento della firma di una chiave nel posto corretto\n" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "abbandona questo menù" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "q" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "save" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "salva ed esci" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "help" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "mostra questo aiuto" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "fpr" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "show fingerprint" msgstr "mostra le impronte digitali" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list" msgstr "list" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list key and user ids" msgstr "elenca le chiavi e gli user id" -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "l" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "uid" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "scegli l'user id N" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "key" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "scegli la chiave secondaria N" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "check" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "list signatures" msgstr "elenca le firme" -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "c" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "sign" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign the key" msgstr "firma la chiave" -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "s" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "lsign" msgstr "lsign" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "sign the key locally" msgstr "firma la chiave localmente" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "debug" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "adduid" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "aggiungi un user id" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "deluid" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "delete user id" msgstr "cancella un user id" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "addkey" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "add a secondary key" msgstr "aggiungi una chiave secondaria" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "delkey" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "cancella una chiave secondaria" -#: g10/keyedit.c:579 -#, fuzzy +#: g10/keyedit.c:584 msgid "delsig" -msgstr "lsign" +msgstr "delsign" -#: g10/keyedit.c:579 -#, fuzzy +#: g10/keyedit.c:584 msgid "delete signatures" -msgstr "elenca le firme" +msgstr "cancella le firme" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "expire" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "change the expire date" msgstr "cambia la data di scadenza" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "toggle" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "cambia tra visualizzare la chiave segreta e la chiave pubblica" -#: g10/keyedit.c:583 +#: g10/keyedit.c:588 msgid "t" msgstr "t" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "pref" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "elenca le impostazioni" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "passwd" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "change the passphrase" msgstr "cambia la passphrase" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "trust" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "cambia il valore di fiducia" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revsig" msgstr "revsig" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revoke signatures" msgstr "revoca firme" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revkey" msgstr "revkey" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revoke a secondary key" msgstr "revoca una chiave secondaria" -#: g10/keyedit.c:607 +#: g10/keyedit.c:594 +msgid "disable" +msgstr "" + +#: g10/keyedit.c:594 +#, fuzzy +msgid "disable a key" +msgstr "chiave sbagliata" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "" + +#: g10/keyedit.c:595 +#, fuzzy +msgid "enable a key" +msgstr "chiave sbagliata" + +#: g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "impossibile fare questo in batch mode\n" #. check that they match -#. FIXME: check that they both match -#: g10/keyedit.c:636 +#. fixme: check that they both match +#: g10/keyedit.c:652 msgid "Secret key is available.\n" msgstr "È disponibile una chiave segreta.\n" -#: g10/keyedit.c:665 +#: g10/keyedit.c:681 msgid "Command> " msgstr "Comando> " -#: g10/keyedit.c:692 +#: g10/keyedit.c:711 msgid "Need the secret key to do this.\n" msgstr "Per fare questo serve la chiave segreta.\n" -#: g10/keyedit.c:714 -msgid "Save changes? " -msgstr "Salvo i cambiamenti? " - -#: g10/keyedit.c:717 -msgid "Quit without saving? " -msgstr "Esco senza salvare? " - -#: g10/keyedit.c:727 -#, c-format -msgid "update failed: %s\n" -msgstr "aggiornamento fallito: %s\n" - -#: g10/keyedit.c:734 -#, c-format -msgid "update secret failed: %s\n" -msgstr "aggiornamento della chiave segreta fallito: %s\n" - -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" -msgstr "La chiave non è cambiata quindi non sono necessari aggiornamenti.\n" - -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, c-format -msgid "update of trustdb failed: %s\n" -msgstr "aggiornamento del trustdb fallito: %s\n" - -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "Firmo davvero tutti gli user id? " -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "Suggerimento: seleziona gli user id da firmare\n" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "aggiornamento del trustdb fallito: %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 msgid "You must select at least one user id.\n" msgstr "Devi selezionare almeno un user id.\n" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "Non puoi cancellare l'ultimo user id!\n" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 msgid "Really remove all selected user ids? " msgstr "Tolgo davvero tutti gli user id selezionati? " -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 msgid "Really remove this user id? " msgstr "Tolgo davvero questo user id? " -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" msgstr "Devi selezionare almeno una chiave.\n" -#: g10/keyedit.c:862 +#: g10/keyedit.c:843 msgid "Do you really want to delete the selected keys? " msgstr "Vuoi davvero cancellare le chiavi selezionate? " -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 msgid "Do you really want to delete this key? " msgstr "Vuoi davvero cancellare questa chiave? " -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 msgid "Do you really want to revoke the selected keys? " msgstr "Vuoi davvero revocare le chiavi selezionate? " -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 msgid "Do you really want to revoke this key? " msgstr "Vuoi davvero revocare questa chiave? " -#: g10/keyedit.c:939 +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "Salvo i cambiamenti? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "Esco senza salvare? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "aggiornamento fallito: %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "aggiornamento della chiave segreta fallito: %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "La chiave non è cambiata quindi non sono necessari aggiornamenti.\n" + +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "Comando non valido (prova \"help\")\n" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +#, fuzzy +msgid "This key has been disabled" +msgstr "Nota: questa chiave è scaduta!\n" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" -msgstr "" +msgstr "Cancellare questa firma corretta? (s/N/q)" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" -msgstr "" +msgstr "Cancellare questa firma non valida? (s/N/q)" -#: g10/keyedit.c:1302 +#: g10/keyedit.c:1344 msgid "Delete this unknown signature? (y/N/q)" -msgstr "" +msgstr "Cancellare questa firma sconosciuta? (s/N/q)" -#: g10/keyedit.c:1308 -#, fuzzy +#: g10/keyedit.c:1350 msgid "Really delete this self-signature? (y/N)" -msgstr "Creare davvero i certificati di revoca? (s/N)" +msgstr "Cancellare davvero questa autofirma? (s/N)" -#: g10/keyedit.c:1322 -#, fuzzy, c-format +#: g10/keyedit.c:1364 +#, c-format msgid "Deleted %d signature.\n" -msgstr "%d firme non corrette\n" +msgstr "Cancellata %d firma.\n" -#: g10/keyedit.c:1323 -#, fuzzy, c-format +#: g10/keyedit.c:1365 +#, c-format msgid "Deleted %d signatures.\n" -msgstr "%d firme non corrette\n" +msgstr "Cancellate %d firme.\n" -#: g10/keyedit.c:1326 -#, fuzzy +#: g10/keyedit.c:1368 msgid "Nothing deleted.\n" -msgstr "ATTENZIONE: non è stato esportato nulla\n" +msgstr "Non è stato cancellato nulla.\n" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "Togli le selezioni dalle chiavi segrete.\n" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 msgid "Please select at most one secondary key.\n" msgstr "Seleziona al massimo una chiave secondaria.\n" -#: g10/keyedit.c:1405 -#, fuzzy +#: g10/keyedit.c:1447 msgid "Changing expiration time for a secondary key.\n" -msgstr "Modifico il tempo di scadenza per una chiave secondaria.\n" +msgstr "Cambio la data di scadenza per una chiave secondaria.\n" -#: g10/keyedit.c:1407 -#, fuzzy +#: g10/keyedit.c:1449 msgid "Changing expiration time for the primary key.\n" -msgstr "Modifico il tempo di scadenza per la chiave primaria.\n" +msgstr "Cambio la data di scadenza per la chiave primaria.\n" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 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:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "Manca la firma corrispondente nel portachiavi segreto\n" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, c-format msgid "No user id with index %d\n" msgstr "Nessun user id con l'indice %d\n" -#: g10/keyedit.c:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "Nessuna chiave secondaria con l'indice %d\n" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 msgid "user ID: \"" msgstr "user ID: \"" -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, c-format msgid "" "\"\n" @@ -2232,103 +2305,113 @@ "firmata con la tua chiave %08lX a %s\n" "\n" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Creare un certificato di revoca per questa firma? (s/N)" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Creare davvero i certificati di revoca? (s/N)" -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 msgid "no secret key\n" msgstr "manca la chiave segreta\n" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, c-format msgid "public key is %08lX\n" msgstr "la chiave pubblica è %08lX\n" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 msgid "public key encrypted data: good DEK\n" msgstr "dati cifrati con la chiave pubblica: DEK corretto\n" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, fuzzy, c-format +msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" +msgstr "chiave %2$s di %1$u bit, ID %3$08lX, creata il %4$s" + +#: g10/mainproc.c:285 +#, fuzzy, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "Firma fatta %.*s usando la chiave %s con ID %08lX\n" + +#: g10/mainproc.c:291 +#, fuzzy +msgid "no secret key for decryption available\n" +msgstr "la chiave segreta non è disponibile" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "decifratura della chiave pubblica fallita: %s\n" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 msgid "decryption okay\n" msgstr "decifratura corretta\n" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "ATTENZIONE: il messaggio cifrato è stato manipolato!\n" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "decifratura fallita: %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTA: il mittente ha richiesto \"solo-per-i-tuoi-occhi\"\n" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "nome del file originale='%.*s'\n" -#: g10/mainproc.c:505 g10/mainproc.c:514 -#, fuzzy +#: g10/mainproc.c:587 g10/mainproc.c:596 msgid "WARNING: invalid notation data found\n" -msgstr "Non sono stati trovati dati OpenPGP validi.\n" +msgstr "ATTENZIONE: trovati dati di una nota non validi\n" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " -msgstr "" +msgstr "Nota: " -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " -msgstr "" +msgstr "Policy: " -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 msgid "signature verification suppressed\n" msgstr "verifica della firma soppressa\n" -#: g10/mainproc.c:935 +#: g10/mainproc.c:1031 #, 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:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "Firma NON corretta da \"" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "Firma valida da \"" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr " anche noto come \"" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "Impossibile controllare la firma: %s\n" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "firma vecchio stile (PGP 2.x)\n" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "individuato un pacchetto radice non valido in proc_tree()\n" @@ -2358,17 +2441,17 @@ msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "questo algoritmo di cifratura è deprecato; usatene uno più standard!\n" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, 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:931 +#: g10/parse-packet.c:932 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "il sottopacchetto di tipo %d ha un bit critico impostato\n" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" @@ -2378,21 +2461,26 @@ "Ti serve una passphrase per sbloccare la chiave segreta\n" "dell'utente: \"" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "chiave %2$s di %1$u bit, ID %3$08lX, creata il %4$s" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr " (key ID principale %08lX)" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +#, fuzzy +msgid "can't query password in batchmode\n" +msgstr "impossibile fare questo in batch mode\n" + +#: g10/passphrase.c:194 msgid "Enter passphrase: " msgstr "Inserisci la passphrase: " -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 msgid "Repeat passphrase: " msgstr "Ripeti la passphrase: " @@ -2448,32 +2536,32 @@ "ATTENZIONE: Individuata una chiave debole - per favore cambia ancora la\n" "passphrase.\n" -#: g10/sig-check.c:187 +#: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" msgstr "si presume un MDC non valido a causa di un bit critico sconosciuto\n" -#: g10/sig-check.c:283 +#: g10/sig-check.c:295 msgid "" "this is a PGP generated ElGamal key which is NOT secure for signatures!\n" msgstr "" "questa è una chiave ElGamal generata da PGP e NON è sicura per le firme!\n" -#: g10/sig-check.c:291 +#: g10/sig-check.c:303 #, c-format msgid "public key is %lu second newer than the signature\n" msgstr "la chiave pubblica è %lu secondo più recente della firma\n" -#: g10/sig-check.c:292 +#: g10/sig-check.c:304 #, c-format msgid "public key is %lu seconds newer than the signature\n" msgstr "la chiave pubblica è %lu secondi più recente della firma\n" -#: g10/sig-check.c:308 +#: g10/sig-check.c:320 #, c-format msgid "NOTE: signature key expired %s\n" msgstr "NOTA: chiave per firmare scaduta il %s\n" -#: g10/sig-check.c:365 +#: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" msgstr "" "si presume una firma non valida a causa di un bit critico sconosciuto\n" @@ -2507,12 +2595,12 @@ msgid "input line longer than %d characters\n" msgstr "linea di input più lunga di %d caratteri\n" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "trustdb rec %lu: lseek fallita: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "trustdb rec %lu: scrittura fallita (n=%d): %s\n" @@ -2541,7 +2629,7 @@ msgid "%s: directory does not exist!\n" msgstr "%s: la directory non esiste!\n" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: impossibile creare: %s\n" @@ -2582,7 +2670,7 @@ msgstr "%s: errore durante l'aggiornamento del record di versione: %s\n" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: errore durante la lettura del record di versione: %s\n" @@ -2592,477 +2680,369 @@ msgid "%s: error writing version record: %s\n" msgstr "%s: errore durante la scrittura del record di versione: %s\n" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "trustdb: lseek fallita: %s\n" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "trustdb: read fallita (n=%d): %s\n" -#: g10/tdbio.c:1161 +#: g10/tdbio.c:1275 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: non è un file di trustdb\n" -#: g10/tdbio.c:1177 +#: g10/tdbio.c:1291 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: record di versione con recnum %lu\n" -#: g10/tdbio.c:1182 +#: g10/tdbio.c:1296 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versione %d del file non valida\n" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: errore durante la lettura del record libero: %s\n" -#: g10/tdbio.c:1479 +#: g10/tdbio.c:1608 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: errore durante la scrittura del dir record: %s\n" -#: g10/tdbio.c:1489 +#: g10/tdbio.c:1618 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: azzeramento di un record fallito: %s\n" -#: g10/tdbio.c:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: accodatura a un record fallita: %s\n" -#: g10/tdbio.c:1630 -#, fuzzy +#: g10/tdbio.c:1759 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" -msgstr "Il trustdb è danneggiato; eseguire \"gpgm --fix-trust-db\".\n" +msgstr "Il trustdb è danneggiato; eseguire \"gpg --fix-trust-db\".\n" -#: g10/trustdb.c:163 +#: g10/trustdb.c:160 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "trust record %lu, req type %d: read fallita: %s\n" -#: g10/trustdb.c:178 +#: g10/trustdb.c:175 #, 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:192 +#: g10/trustdb.c:189 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "trust record %lu: delete fallita: %s\n" -#: g10/trustdb.c:206 +#: g10/trustdb.c:203 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "trustdb: sync fallita: %s\n" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, 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:393 +#: g10/trustdb.c:354 #, 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:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "manca una chiave primaria per il LID %lu\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, 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:442 +#: g10/trustdb.c:403 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record fallito: %s\n" -#: g10/trustdb.c:510 +#: g10/trustdb.c:458 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "NOTA: la chiave segreta %08lX NON è protetta.\n" -#: g10/trustdb.c:518 +#: g10/trustdb.c:466 #, 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:525 +#: g10/trustdb.c:473 #, 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:535 +#: g10/trustdb.c:485 #, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "chiave %08lX: impossibile metterla nel trustdb\n" -#: g10/trustdb.c:541 +#: g10/trustdb.c:491 #, c-format msgid "key %08lX: query record failed\n" msgstr "chiave %08lX: richiesta del record fallita\n" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, c-format msgid "key %08lX: already in trusted key table\n" msgstr "chiave %08lX: già nella tabella delle chiavi affidabili\n" -#: g10/trustdb.c:553 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "chiave %08lX: accettata come chiave affidabile\n" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "enumerate secret keys fallito: %s\n" -#: g10/trustdb.c:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "" -"NOTA: rec di %lu[%d] nella hintlist di %lu ma marcato come verificato\n" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "NOTA: rec di %lu[%d] nella hintlist di %lu ma non marcato\n" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "Il rec di %lu[%d] nella hintlist di %lu non punta a un record dir\n" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "lid %lu: manca la chiave primaria\n" - -#: g10/trustdb.c:901 -#, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "lid %lu: user id non trovato nel keyblock\n" - -#: g10/trustdb.c:905 -#, c-format -msgid "lid %lu: user id without signature\n" -msgstr "chiave %08lX: user id senza firma\n" - -#: g10/trustdb.c:912 -#, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "lid %lu: autofirma nella hintlist\n" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -msgid "Valid certificate revocation" -msgstr "Revoca del certificato valida" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -msgid "Good certificate" -msgstr "Certificato corretto" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "molto strano: non ci sono chiavi pubbliche\n" - -#: g10/trustdb.c:982 -#, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -msgstr "hintlist %lu[%d] di %lu non punta a un record dir\n" - -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "Il lid %lu non ha una chiave\n" - -#: g10/trustdb.c:998 -#, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "lid %lu: impossibile ottenere il keyblock: %s\n" - -#: g10/trustdb.c:1055 g10/trustdb.c:2030 -#, c-format -msgid "tdbio_search_dir failed: %s\n" +#: g10/trustdb.c:802 +#, fuzzy, c-format +msgid "tdbio_search_sdir failed: %s\n" msgstr "tdbio_search_dir fallita: %s\n" -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "chiave %08lX.%lu: Legame con la subchiave corretto\n" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, 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:1232 +#: g10/trustdb.c:895 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "chiave %08lX.%lu: Revoca della chiave valida\n" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, 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:1253 +#: g10/trustdb.c:912 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "chiave %08lX.%lu: Revoca della subchiave valida\n" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 msgid "Good self-signature" msgstr "Autofirma corretta" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 msgid "Invalid self-signature" msgstr "Autofirma non valida" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +#, fuzzy +msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" "Evitata la revoca dell'user ID valida a causa di una autofirma più recente\n" -#: g10/trustdb.c:1410 -msgid "Valid user ID revocation\n" +#: g10/trustdb.c:1066 +#, fuzzy +msgid "Valid user ID revocation" msgstr "Revoca dell'user ID valida\n" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 msgid "Invalid user ID revocation" msgstr "Revoca dell'user ID non valida" -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "Troppe preferenze" - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "Troppi elementi di preferenza" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -msgid "WARNING: can't yet handle long pref records\n" -msgstr "ATTENZIONE: non è ancora possibile gestire record pref lunghi\n" - -#: g10/trustdb.c:1654 -msgid "duplicated certificate - deleted" -msgstr "certificato doppio - cancellato" +#: g10/trustdb.c:1112 +msgid "Valid certificate revocation" +msgstr "Revoca del certificato valida" -#: g10/trustdb.c:1692 -msgid "public key not anymore available" -msgstr "chiave pubblica non più disponibile" +#: g10/trustdb.c:1113 +msgid "Good certificate" +msgstr "Certificato corretto" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 msgid "Invalid certificate revocation" msgstr "Certificato di revoca non valido" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 msgid "Invalid certificate" msgstr "Certificato non valido" -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "uid %08lX.%lu/%02X%02X: ha shadow dir %lu ma non è ancora marcato.\n" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "il sig recor di %lu[%d] punta al record sbagliato.\n" -#. that should never happen -#: g10/trustdb.c:2007 -#, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "insert_trust_record: keyblock non trovato: %s\n" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" -msgstr "Ooops, mancano le chiavi\n" +#: g10/trustdb.c:1208 +msgid "duplicated certificate - deleted" +msgstr "certificato doppio - cancellato" -#: g10/trustdb.c:2412 -msgid "Ooops, no user ids\n" -msgstr "Ooops, mancano gli user id\n" +#: g10/trustdb.c:1514 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "tdbio_search_dir fallita: %s\n" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: inserimento fallito: %s\n" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: inserimento fallito: %s\n" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: inserito\n" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 -#, c-format -msgid "lid %lu: update failed: %s\n" -msgstr "lid %lu: aggiornamento fallito: %s\n" - -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "lid %lu: aggiornato\n" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "lid %lu: corretto\n" +#: g10/trustdb.c:1652 +#, fuzzy, c-format +msgid "error reading dir record: %s\n" +msgstr "%s: errore durante la lettura del record libero: %s\n" -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "%lu chiavi esaminate\n" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu chiavi con errori\n" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "\t%lu chiavi aggiornate\n" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu chiavi inserite\n" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumerate keyblocks fallito: %s\n" -#: g10/trustdb.c:2598 -#, c-format -msgid "%s: keyblock read problem: %s\n" -msgstr "%s: il keyblock ha problemi di lettura: %s\n" - -#: g10/trustdb.c:2612 -#, c-format -msgid "%s: update failed: %s\n" -msgstr "%s: aggiornamento fallito: %s\n" - -#: g10/trustdb.c:2615 -#, c-format -msgid "%s: updated\n" -msgstr "%s: aggiornato\n" - -#: g10/trustdb.c:2617 -#, c-format -msgid "%s: okay\n" -msgstr "%s: va bene\n" - -#: g10/trustdb.c:2632 +#: g10/trustdb.c:1705 #, c-format msgid "lid %lu: dir record w/o key - skipped\n" msgstr "lid %lu: dir record senza chiave - saltato\n" -#: g10/trustdb.c:2645 -#, c-format -msgid "lid %lu: keyblock not found: %s\n" -msgstr "lid %lu: keyblock non trovato: %s\n" - -#: g10/trustdb.c:2673 +#: g10/trustdb.c:1716 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu chiavi saltate\n" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:1720 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "\t%lu chiavi aggiornate\n" + +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" +msgstr "Ooops, mancano le chiavi\n" + +#: g10/trustdb.c:2061 +msgid "Ooops, no user ids\n" +msgstr "Ooops, mancano gli user id\n" + +#: g10/trustdb.c:2218 #, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "check_trust: ricerca del dir record fallita: %s\n" -#: g10/trustdb.c:2750 +#: g10/trustdb.c:2227 #, 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:2754 +#: g10/trustdb.c:2231 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "chiave %08lX.%lu: inserita nel trustdb\n" -#: g10/trustdb.c:2762 +#: g10/trustdb.c:2239 #, 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:2769 +#: g10/trustdb.c:2248 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "chiave %08lX.%lu: scaduta il %s\n" -#: g10/trustdb.c:2777 +#: g10/trustdb.c:2256 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "chiave %08lX.%lu: controllo della fiducia fallito: %s\n" -#: g10/trustdb.c:2881 +#: g10/trustdb.c:2362 #, c-format msgid "user '%s' not found: %s\n" msgstr "utente `%s' non trovato: %s\n" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problema cercando `%s' nel trustdb: %s\n" -#: g10/trustdb.c:2886 +#: g10/trustdb.c:2367 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "l'utente `%s' non è nel trustdb - viene inserito\n" -#: g10/trustdb.c:2889 +#: g10/trustdb.c:2370 #, 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 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "ATTENZIONE: non è ancora possibile gestire record pref lunghi\n" + #: g10/ringedit.c:316 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: impossibile creare il portachiavi: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, c-format msgid "%s: keyring created\n" msgstr "%s: portachiavi creato\n" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "ATTENZIONE: esistono due file con informazioni confidenziali.\n" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, c-format msgid "%s is the unchanged one\n" msgstr "%s è quello non modificato\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "%s è quello nuovo\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "Per favore risolvete questo possibile problema di sicurezza\n" @@ -3099,18 +3079,23 @@ #: g10/openfile.c:97 #, c-format msgid "%s: unknown suffix\n" -msgstr "" +msgstr "%s: suffisso sconosciuto\n" + +#: g10/openfile.c:119 +#, fuzzy +msgid "Enter new filename" +msgstr "--store [nomefile]" -#: g10/openfile.c:122 +#: g10/openfile.c:160 msgid "writing to stdout\n" msgstr "scrivo su stdout\n" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, c-format msgid "assuming signed data in `%s'\n" msgstr "presumo che i dati firmati siano in `%s'\n" -#: g10/openfile.c:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "%s: creato un nuovo file delle opzioni\n" @@ -3184,129 +3169,181 @@ msgid "keygen.valid" msgstr "keygen.valid" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "keygen.valid.okay" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "keygen.name" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "keygen.email" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "keygen.comment" -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "keygen.userid.cmd" -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "keygen.sub.okay" -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "sign_uid.okay" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "change_passwd.empty.okay" -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "keyedit.cmd" - -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "keyedit.save.okay" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "keyedit.cancel.okay" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "keyedit.sign_all.okay" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "keyedit.remove.uid.okay" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "keyedit.remove.subkey.okay" -#: g10/helptext.c:176 -#, fuzzy +#: g10/helptext.c:175 msgid "keyedit.delsig.valid" -msgstr "keyedit.sign_all.okay" +msgstr "keyedit.delsig.valid" -#: g10/helptext.c:181 -#, fuzzy +#: g10/helptext.c:180 msgid "keyedit.delsig.unknown" -msgstr "keyedit.sign_all.okay" +msgstr "keyedit.delsig.unknown" -#: g10/helptext.c:187 -#, fuzzy +#: g10/helptext.c:186 msgid "keyedit.delsig.invalid" -msgstr "keyedit.sign_all.okay" +msgstr "keyedit.delsig.invalid" -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" -msgstr "" +msgstr "keyedit.delsig.selfsig<" -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "passphrase.enter" -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "passphrase.repeat" -#: g10/helptext.c:211 +#: g10/helptext.c:210 msgid "detached_signature.filename" msgstr "detached_signature.filename" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "openfile.overwrite.okay" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "Non è disponibile un aiuto" -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "Non è disponibile un aiuto per `%s'" -#~ msgid "can't open file: %s\n" -#~ msgstr "impossibile aprire il file: %s\n" +#~ msgid "print all message digests" +#~ msgstr "stampa tutti i message digests" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" +#~ msgstr "" +#~ "NOTA: rec di %lu[%d] nella hintlist di %lu ma marcato come verificato\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" +#~ msgstr "NOTA: rec di %lu[%d] nella hintlist di %lu ma non marcato\n" + +#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" +#~ msgstr "Il rec di %lu[%d] nella hintlist di %lu non punta a un record dir\n" + +#~ msgid "lid %lu: no primary key\n" +#~ msgstr "lid %lu: manca la chiave primaria\n" + +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "lid %lu: user id non trovato nel keyblock\n" + +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "chiave %08lX: user id senza firma\n" + +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "lid %lu: autofirma nella hintlist\n" + +#~ msgid "very strange: no public key\n" +#~ msgstr "molto strano: non ci sono chiavi pubbliche\n" + +#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +#~ msgstr "hintlist %lu[%d] di %lu non punta a un record dir\n" + +#~ msgid "lid %lu does not have a key\n" +#~ msgstr "Il lid %lu non ha una chiave\n" + +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "lid %lu: impossibile ottenere il keyblock: %s\n" + +#~ msgid "Too many preferences" +#~ msgstr "Troppe preferenze" + +#~ msgid "Too many preference items" +#~ msgstr "Troppi elementi di preferenza" + +#~ msgid "public key not anymore available" +#~ msgstr "chiave pubblica non più disponibile" + +#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" +#~ msgstr "" +#~ "uid %08lX.%lu/%02X%02X: ha shadow dir %lu ma non è ancora marcato.\n" + +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "insert_trust_record: keyblock non trovato: %s\n" + +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "lid %lu: aggiornamento fallito: %s\n" -#~ msgid "read error: %s\n" -#~ msgstr "errore di lettura: %s\n" +#~ msgid "lid %lu: updated\n" +#~ msgstr "lid %lu: aggiornato\n" -#~ msgid "can't write to keyring: %s\n" -#~ msgstr "impossibile scrivere sul portachiavi pubblico: %s\n" +#~ msgid "lid %lu: okay\n" +#~ msgstr "lid %lu: corretto\n" -#~ msgid "writing keyblock\n" -#~ msgstr "scrittura del keyblock\n" +#~ msgid "%s: keyblock read problem: %s\n" +#~ msgstr "%s: il keyblock ha problemi di lettura: %s\n" -#~ msgid "can't write keyblock: %s\n" -#~ msgstr "impossibile aprire il keyblock: %s\n" +#~ msgid "%s: update failed: %s\n" +#~ msgstr "%s: aggiornamento fallito: %s\n" -#~ msgid "can't lock secret keyring: %s\n" -#~ msgstr "impossibile bloccare il portachiavi segreto: %s\n" +#~ msgid "%s: updated\n" +#~ msgstr "%s: aggiornato\n" -#~ msgid "can't write keyring: %s\n" -#~ msgstr "impossibile scrivere il portachiavi: %s\n" +#~ msgid "%s: okay\n" +#~ msgstr "%s: va bene\n" -#~ msgid "encrypted message is valid\n" -#~ msgstr "il messaggio cifrato è valido\n" +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "lid %lu: keyblock non trovato: %s\n" -#~ msgid "Can't check MDC: %s\n" -#~ msgstr "Impossibile controllare il MDC: %s\n" +#~ msgid "keyedit.cmd" +#~ msgstr "keyedit.cmd" diff -urN gnupg-0.9.8/po/pl.po gnupg-0.9.9/po/pl.po --- gnupg-0.9.8/po/pl.po Sat Jun 26 13:07:29 1999 +++ gnupg-0.9.9/po/pl.po Fri Jul 23 14:26:03 1999 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg-0.9.7\n" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" "PO-Revision-Date: 1999-05-30 19:08+02:00\n" "Last-Translator: Janusz A. Urbanowicz \n" "Language-Team: Polish \n" @@ -22,31 +22,31 @@ "g10/seckey-cert.c g10/sig-check.c g10/sign\\.c g10/trustdb.c g10/verify.c " "g10/status.c g10/pubkey-enc.c\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "Ostrze¿enie: u¿ywana pamiêæ nie jest pamiêci± bezpieczn±!\n" -#: util/secmem.c:249 +#: util/secmem.c:275 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:250 +#: util/secmem.c:276 msgid "(you may have used the wrong program for this task)\n" msgstr "(prawdopodobnie u¿ywany program jest niew³a¶ciwy dlatego zadania)\n" -#: util/miscutil.c:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "tak" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "tT" -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "wyj¶cie" -#: util/miscutil.c:176 +#: util/miscutil.c:274 #, fuzzy msgid "qQ" msgstr "w" @@ -253,13 +253,13 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "znalaz³e¶(a¶) b³±d w programie ... (%s:%d)\n" -#: cipher/random.c:412 +#: cipher/random.c:452 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:413 +#: cipher/random.c:453 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -285,7 +285,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:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " @@ -293,131 +293,138 @@ "@Polecenia:\n" " " -#: g10/g10.c:176 +#: g10/g10.c:185 msgid "|[file]|make a signature" msgstr "|[plik]|z³o¿enie podpisu" -#: g10/g10.c:177 +#: g10/g10.c:186 msgid "|[file]|make a clear text signature" msgstr "|[plik]|z³o¿enie podpisu na czytelnym dokumencie" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "sporz±dzenie podpisu oddzielonego od dokumentu" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "szyfrowanie danych" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "szyfrowanie tylko szyfrem symetrycznym" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "tylko zapis" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "odszyfrowywanie danych (domy¶lnie)" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "sprawdzenie podpisu" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "lista kluczy" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "lista kluczy i podpisów" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "sprawdzenie podpisów kluczy" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "lista kluczy i ich odcisków" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "lista kluczy tajnych" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "generacja nowej pary klucza" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "usuniêcie klucza ze zbioru kluczy publicznych" -#: g10/g10.c:192 +#: g10/g10.c:201 +#, fuzzy +msgid "sign a key" +msgstr "z³o¿enie podpisu na kluczu" + +#: g10/g10.c:202 +#, fuzzy +msgid "sign a key locally" +msgstr "z³o¿enie lokalnego podpisu na kluczu" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "podpisanie lub modyfikacja klucza" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "generacja certyfikatu uniewa¿nienia klucza" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "eksport kluczy do pliku" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "eksport kluczy do serwera kluczy" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "import kluczy z serwera kluczy" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "import/do³±czenie kluczy" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "wypisane sekwencji pakietów" -#: g10/g10.c:203 +#: g10/g10.c:214 msgid "export the ownertrust values" msgstr "eksport warto¶ci zaufania" -#: g10/g10.c:205 +#: g10/g10.c:216 msgid "import ownertrust values" msgstr "wczytanie warto¶æi zaufania" -#: g10/g10.c:207 -msgid "|[NAMES]|update the trust database" +#: g10/g10.c:218 +#, fuzzy +msgid "update the trust database" msgstr "|[NAZWY]|naniesienie poprawek do bazy zaufania" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "|[NAZWY]|sprawdzenie bazy zaufania" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "naprawa uszkodzonej Bazy Zaufania" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "zdjêcie opakowania ASCII pliku lub potoku" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "opakowanie ASCII pliku lub potoku" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "|algo [pliki]|skróty wiadomo¶ci" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "wszystkie skróty wiadomo¶ci" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" @@ -427,160 +434,169 @@ "Opcje:\n" " " -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "plik wynikowy w opakowaniu ASCII" -#: g10/g10.c:223 +#: g10/g10.c:231 msgid "|NAME|encrypt for NAME" msgstr "|NAZWA|szyfrowanie dla odbiorcy NAZWA" -#: g10/g10.c:227 +#: g10/g10.c:234 +#, fuzzy +msgid "|NAME|use NAME as default recipient" +msgstr "|NAZWA|u¿ycie NAZWA jako domy¶lnego klucza tajnego" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "identyfikator do podpisania lub odszyfrowania" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "|N|poziom kompresji N (0 - brak)" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "kanoniczny format tekstowy" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "plik wyj¶ciowy" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "z informacjami dodatkowymi" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "mniej komunikatóww" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" msgstr "" -#: g10/g10.c:235 +#: g10/g10.c:248 msgid "force v3 signatures" msgstr "wymuszenie trzeciej wersji formatu podpisów" -#: g10/g10.c:236 +#: g10/g10.c:249 msgid "always use a MDC for encryption" msgstr "do szyfrowania bêdzie u¿ywany MDC" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "pozostawienie bez zmian" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "tryb wsadowy: ¿adnych pytañ" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "automatyczna odpowied¼ tak na wiêkszo¶æ pytañ" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "automatyczna odpowied¼ nie na wiêkszo¶æ pytañ" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "dodaæ zbiór kluczy do listy u¿ywanych" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "dodaæ zbiór kluczy tajnych do listy" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "|NAZWA|u¿ycie NAZWA jako domy¶lnego klucza tajnego" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "|HOST|serwer kluczy w którym bêd± poszukiwane" -#: g10/g10.c:246 +#: g10/g10.c:259 msgid "|NAME|set terminal charset to NAME" msgstr "|NAZWA|zestaw znaków terminala NAZWA" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "wczytanie opcji z pliku" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "ustawienie opcji ¶ledzenia wykonania programu" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "umo¿liwienie pe³nego ¶ledzenia programu" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "|FD|zapisaæ opis stanu do FD" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "nie zapisywaæ pakietów z komentarzem" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "(domy¶lnie 1)" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "(domy¶lnie 3)" -#: g10/g10.c:256 +#: g10/g10.c:269 msgid "|FILE|load extension module FILE" msgstr "|PLIK|³adowanie modu³u rozszerzenia z PLIK" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "emulacja trybu opisanego w RFC1991" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" -#: g10/g10.c:259 +#: g10/g10.c:272 msgid "|N|use passphrase mode N" msgstr "|N|N-ty tryb wprowadzania wyra¿enia przej¶ciowego" -#: g10/g10.c:261 +#: g10/g10.c:274 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|ALG|algorytm obliczania skrótów wiadomo¶ci ALG" -#: g10/g10.c:263 +#: g10/g10.c:276 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|ALG|algorytmu szyfruj±cy ALG dla has³a" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "|NAZWA|algorytm szyfruj±cy NAZWA" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "|NAZWA|algorytm obliczania skrótów wiadomo¶ci NAZWA" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "|N|algorytm kompresji N" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "usuniêcie identyfikatorów kluczy z pakietów" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:270 +#: g10/g10.c:283 msgid "" "@\n" "Examples:\n" @@ -601,15 +617,15 @@ " --list-keys [nazwy] pokazuje klucze\n" " --fingerprint [nazwy] pokazuje odciski kluczy\n" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "B³êdy prosimy zg³aszaæ na adres .\n" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Wywo³anie: gpg [opcje] [pliki] (-h podaje pomoc)" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -619,7 +635,7 @@ "podpisywanie, sprawdzanie podpisów, szyfrowanie, deszyfrowanie\n" "domy¶lnie wykonywana operacja zale¿y od danych wej¶ciowych\n" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" @@ -627,169 +643,181 @@ "\n" "Obs³ugiwane algorytmy:\n" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "wywo³anie: gpg [opcje]" -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "sprzeczne polecenia\n" -#: g10/g10.c:605 +#: g10/g10.c:640 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "UWAGA: brak domy¶lnego pliku opcji '%s'\n" -#: g10/g10.c:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "plik opcji '%s': %s\n" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "odczyt opcji z '%s'\n" -#: g10/g10.c:782 +#: g10/g10.c:831 #, c-format msgid "%s is not a valid character set\n" msgstr "%s nie jest poprawn± nazw± zestawu znaków\n" -#: g10/g10.c:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "wybrany algorytm szyfruj±cy jest niepoprawny\n" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "wybrany algorytm geenracji skrótów wiadomo¶ci jest niepoprawny\n" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:852 +#: g10/g10.c:920 #, 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:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "warto¶æ completes-needed musi byæ wiêksza od 0\n" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "warto¶æ marginals-needed musi byæ wiêksza od 1\n" -#: g10/g10.c:858 +#: g10/g10.c:926 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:861 +#: g10/g10.c:929 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "UWAGA: prosty tryb S2K (0) jest stanowczo odradzany\n" -#: g10/g10.c:865 +#: g10/g10.c:933 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:942 +#: g10/g10.c:1010 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "Inicjowanie Bazy Zaufania nie powiod³o siê: %s\n" -#: g10/g10.c:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "--store [plik]" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "--symmetric [plik]" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "--encrypt [plik]" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "--sign [plik]" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [plik]" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "--clearsign [plik]\"" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "--decrypt [plik]" -#: g10/g10.c:1024 -msgid "--edit-key username [commands]" +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 +#, fuzzy +msgid "--lsign-key user-id" +msgstr "--delete-key nazwa u¿ytkownika" + +#: g10/g10.c:1107 +#, fuzzy +msgid "--edit-key user-id [commands]" msgstr "--edit-key nazwa u¿ytkownika [polecenia]" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1123 +#, fuzzy +msgid "--delete-secret-key user-id" msgstr "--delete-secret-key nazwa u¿ytkownika" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1126 +#, fuzzy +msgid "--delete-key user-id" msgstr "--delete-key nazwa u¿ytkownika" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/encode.c:231 g10/g10.c:1150 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "nie mogê otworzyæ %s: %s\n" -#: g10/g10.c:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "-k[v][v][v][c] [identyfikator] [zbiór kluczy]" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "usuniêcie opakowania ASCII nie powiod³o siê: %s\n" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, c-format msgid "enarmoring failed: %s\n" msgstr "opakowywanie ASCII nie powiod³o siê: %s\n" -#: g10/g10.c:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "niew³a¶ciwy algorytm skrótu '%s'\n" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "[nazwa pliku]" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "Wpisz tutaj swoj± wiadomo¶æ ...\n" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "nie mogê otworzyæ '%s'\n" -#: g10/g10.c:1457 +#: g10/g10.c:1555 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1469 +#: g10/g10.c:1567 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" msgstr "" @@ -868,7 +896,19 @@ "znak kodowania quoted-printable w opakowaniu ASCII - prawdopodobnie\n" "przek³amanie wprowadzone przez program transportowy poczty\n" -#: g10/pkclist.c:137 +#. Translators: this shoud fit into 24 bytes to that the fingerprint +#. * data is properly aligned with the user ID +#: g10/pkclist.c:53 +#, fuzzy +msgid " Fingerprint:" +msgstr " do³±czono do zbioru: %lu" + +#. a string with valid answers +#: g10/pkclist.c:170 +msgid "sSmMqQ" +msgstr "iIpPwW" + +#: g10/pkclist.c:174 #, c-format msgid "" "No trust value assigned to %lu:\n" @@ -877,7 +917,7 @@ "Brak warto¶ci zaufania dla %lu:\n" "%4u%c/%08lX %s \"" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 msgid "" "Please decide how far you trust this user to correctly\n" "verify other users' keys (by looking at passports,\n" @@ -900,28 +940,23 @@ " 4 = W pe³ni mu ufam.\n" " i = potrzebujê wiêcej informacji\n" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr " p = powrót do g³ównego menu\n" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr "w = wyj¶cie\n" -#. a string with valid answers -#: g10/pkclist.c:163 -msgid "sSmMqQ" -msgstr "iIpPwW" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "Twoja decyzja? " -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "Certyfikaty prowadz±ce do ostatecznie zaufanego klucza:\n" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 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" @@ -931,7 +966,7 @@ "Sprawd¼my czy mo¿na przypisaæ brakuj±ce warto¶ci zaufania.\n" "\n" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" @@ -939,7 +974,7 @@ "Brak ¶cie¿ki prowadz±cej do którego¶ z naszych kluczy.\n" "\n" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" @@ -947,7 +982,7 @@ "Brak certyfikatów o niezdefiniowanym poziomie zaufania.\n" "\n" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 msgid "" "No trust values changed.\n" "\n" @@ -955,36 +990,36 @@ "Parametry zaufania nie zosta³y zmienione.\n" "\n" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "klucz %08lX: klucz zosta³ uniewa¿niony!\n" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "U¿yæ tego klucza pomimo to? " -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "klucz %08lX: podklucz zosta³ uniewa¿niony!\n" -#: g10/pkclist.c:321 +#: g10/pkclist.c:363 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: data wa¿no¶ci klucza up³ynê³a\n" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, 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:341 +#: g10/pkclist.c:383 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: NIE UFAMY temu kluczowi\n" -#: g10/pkclist.c:347 +#: g10/pkclist.c:389 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -993,16 +1028,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:353 +#: g10/pkclist.c:395 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:358 +#: g10/pkclist.c:400 msgid "This key belongs to us\n" msgstr "Ten klucz nale¿y do nas\n" -#: g10/pkclist.c:398 +#: g10/pkclist.c:443 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" @@ -1013,67 +1048,67 @@ "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:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "OSTRZE¯ENIE: u¿ywany jest klucz nie obdarzony zaufaniem!\n" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 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:455 +#: g10/pkclist.c:500 msgid " This could mean that the signature is forgery.\n" msgstr " To mo¿e oznaczaæ ¿e podpis jest fa³szerstwem.\n" -#: g10/pkclist.c:459 +#: g10/pkclist.c:504 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:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "Uwaga: Data wa¿no¶ci tego klucza up³ynê³a!\n" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 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:489 +#: g10/pkclist.c:534 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" -#: g10/pkclist.c:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "OSTRZE¯ENIE: NIE UFAMY temu kluczowi!\n" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr " Ten podpis prawdopodobnie jest FA£SZERSTWEM.\n" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 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:516 +#: g10/pkclist.c:561 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" -#: g10/pkclist.c:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: pominiêty: %s\n" -#: g10/pkclist.c:588 g10/pkclist.c:687 +#: g10/pkclist.c:670 g10/pkclist.c:820 #, fuzzy, c-format msgid "%s: skipped: public key already present\n" msgstr "%s: problem przy odczycie bloku klucza: %s\n" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1081,20 +1116,34 @@ "Nie poda³e¶ identyfikatora u¿ytkownika (user ID). \n" "Mo¿na to zrobiæ za pomoc± opcji \"-r\".\n" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "Wprowad¼ identyfikator u¿ytkownika (user ID): " -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "Brak takiego identyfikatora u¿ytkownika.\n" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +#, fuzzy +msgid "Public key is disabled.\n" +msgstr "klucz publiczny %08lX\n" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: b³±d podczas sprawdzania klucza: %s\n" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, fuzzy, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s: problem przy odczycie bloku klucza: %s\n" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "brak poprawnych adresów\n" @@ -1236,29 +1285,29 @@ " 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:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "Okres wa¿no¶ci klucza ? (0) " -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "niepoprawna warto¶æ\n" -#: g10/keygen.c:540 +#: g10/keygen.c:552 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:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "Data wa¿no¶ci klucza: %s\n" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "Dane poprawne (t/n)? " -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1274,44 +1323,44 @@ " \"Tadeusz ¯eleñski (Boy) \"\n" "\n" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "Imiê i nazwisko: " -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "Niew³a¶ciwy znak w imieniu lub nazwisku\n" -#: g10/keygen.c:612 +#: g10/keygen.c:624 msgid "Name may not start with a digit\n" msgstr "Imiê lub nazwisko nie mo¿e zaczynaæ siê od cyfry\n" -#: g10/keygen.c:614 +#: g10/keygen.c:626 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:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "Adres poczty elektronicznej: " -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "To nie jest poprawny adres poczty elektronicznej\n" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "Komentarz: " -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "Niew³a¶ciwy znak w komentarzu\n" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "U¿ywasz zestawu znaków %s.\n" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1322,31 +1371,31 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "IiKkEeDdWw" -#: g10/keygen.c:688 +#: g10/keygen.c:700 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 ? " -#: g10/keygen.c:740 +#: g10/keygen.c:752 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:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 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:754 +#: g10/keygen.c:766 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" @@ -1358,7 +1407,7 @@ "i opcji \"--edit-key\".\n" "\n" -#: g10/keygen.c:775 +#: g10/keygen.c:787 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" @@ -1372,34 +1421,34 @@ "generator liczb losowych ma mo¿liwo¶æ zebrania odpowiedniej ilo¶ci " "entropii.\n" -#: g10/keygen.c:845 +#: g10/keygen.c:857 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:853 +#: g10/keygen.c:865 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:859 +#: g10/keygen.c:871 #, fuzzy msgid "Key generation canceled.\n" msgstr "Procedura generacji klucza zosta³a anulowana.\n" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "zapisujê certyfikat publiczny w '%s'\n" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "zapisujê certyfikat prywatny w '%s'\n" -#: g10/keygen.c:947 +#: g10/keygen.c:959 msgid "public and secret key created and signed.\n" msgstr "Prywatny i publiczny klucz zosta³ stworzony i podpisany.\n" -#: g10/keygen.c:949 +#: g10/keygen.c:961 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" @@ -1407,12 +1456,12 @@ "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:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, c-format msgid "Key generation failed: %s\n" msgstr "Generacja klucza nie powiod³a siê: %s\n" -#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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" @@ -1420,7 +1469,7 @@ "klucz zosta³ stworzony %lu sekundê w przysz³o¶ci (zaburzenia\n" "czasoprzestrzeni, lub ¼le ustawiony zegar systemowy)\n" -#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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" @@ -1428,11 +1477,11 @@ "klucz zosta³ stworzony %lu sekund w przysz³o¶ci (zaburzenia\n" "czasoprzestrzeni, lub ¼le ustawiony zegar systemowy)\n" -#: g10/keygen.c:1040 +#: g10/keygen.c:1052 msgid "Really create? " msgstr "Na pewno generowaæ? " -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1485,246 +1534,251 @@ msgid "too many entries in unk cache - disabled\n" msgstr "zbyt wiele wpisów w buforze nieznanych kluczy - wy³±czony\n" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, 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:116 +#: g10/import.c:118 #, c-format msgid "can't open `%s': %s\n" msgstr "nie mo¿na otworzyæ %s: %s\n" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "pomijam blok typu %d\n" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu kluczy przetworzonych do tej chwili\n" -#: g10/import.c:172 +#: g10/import.c:174 #, c-format msgid "error reading `%s': %s\n" msgstr "b³±d odczytu '%s': %s\n" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr "Ogó³em przetworzonych kluczy: %lu\n" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr " bez identyfikatora: %lu\n" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr " do³±czono do zbioru: %lu" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr " bez zmian: %lu\n" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr " nowych identyfikatorów: %lu\n" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr " nowych podkluczy: %lu\n" -#: g10/import.c:191 +#: g10/import.c:193 #, c-format msgid " new signatures: %lu\n" msgstr " nowych podpisów: %lu\n" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr " nowych uniewa¿nieñ kluczy: %lu\n" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr " tajnych kluczy wczytanych: %lu\n" -#: g10/import.c:197 +#: g10/import.c:199 #, c-format msgid " secret keys imported: %lu\n" msgstr " tajnych kluczy dodanych: %lu\n" -#: g10/import.c:199 +#: g10/import.c:201 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " tajnych kluczy bez zmian: %lu\n" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "klucz %08lX: brak identyfikatora u¿ytkownika\n" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "klucz %08lX: brak poprawnych identyfikatorów u¿ytkownika\n" -#: g10/import.c:355 +#: g10/import.c:378 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:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "klucz %08lX: brak klucza publicznego: %s\n" -#: g10/import.c:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "brak domy¶lnego zbioru kluczy publicznych\n" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "zapis do '%s'\n" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 #, c-format msgid "can't lock keyring `%s': %s\n" msgstr "nie mo¿na zablokowaæ zbioru kluczy publicznych '%s': %s\n" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "b³±d zapisu zbioru kluczy '%s': %s\n" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "klucz %08lX: klucz publiczny wczytany do zbioru\n" -#: g10/import.c:399 +#: g10/import.c:427 #, 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:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "klucz %08lX: brak oryginalnego bloku klucza; %s\n" -#: g10/import.c:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, 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:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "klucz %08lX: 1 nowy identyfikator u¿ytkownika\n" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "klucz %08lX: %d nowych identyfikatorów u¿ytkownika\n" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "klucz %08lX: 1 nowy podpis\n" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "klucz %08lX: %d nowych podpisów\n" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "klucz %08lX: 1 nowy podklucz\n" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "klucz %08lX: %d nowych podkluczy\n" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "klucz %08lX: bez zmian\n" -#: g10/import.c:552 +#: g10/import.c:577 #, 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:556 +#: g10/import.c:581 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "Klucz %08lX: ten klucz ju¿ znajduje siê w zbiorze\n" -#: g10/import.c:561 +#: g10/import.c:586 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "klucz %08lX: brak klucza tajnego: %s\n" -#: g10/import.c:590 +#: g10/import.c:615 #, 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:621 +#: g10/import.c:646 #, 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:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "klucz %08lX: wczytany certyfikat uniewa¿nienia\n" -#: g10/import.c:686 +#: g10/import.c:711 #, c-format msgid "key %08lX: no user-id for signature\n" msgstr "klucz %08lX: brak identyfikatora u¿ytkownika do podpisu\n" -#: g10/import.c:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, 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:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "klucz %08lX: niepoprawny podpis w³a¶ciciela klucza\n" -#: g10/import.c:709 +#: g10/import.c:734 #, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "klucz %08lX: brak podklucza do dowi±zania\n" -#: g10/import.c:718 +#: g10/import.c:743 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "klucz %08lX: niepoprawne dowi±zanie podklucza\n" -#: g10/import.c:750 +#: g10/import.c:769 +#, fuzzy, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "klucz %08lX: zosta³ pominiêty identyfikator u¿ytkownika '" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "klucz %08lX: zosta³ pominiêty identyfikator u¿ytkownika '" -#: g10/import.c:773 +#: g10/import.c:821 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "klucz %08lX: podklucz pominiêty\n" @@ -1733,83 +1787,83 @@ #. * 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:798 +#: g10/import.c:846 #, 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:807 +#: g10/import.c:855 #, 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:815 +#: g10/import.c:863 #, 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:915 +#: g10/import.c:963 #, 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:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "klucz %08lX: dodany certyfikat uniewa¿nienia\n" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "klucz %08lX: dostêpna kopia nie jest podpisana ni± sam±\n" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: nie znaleziono u¿ytkownika\n" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "[uniewa¿nienie]" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 msgid "[self-signature]" msgstr "[podpis klucza nim samym]" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 msgid "1 bad signature\n" msgstr "1 niepoprawny podpis\n" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "%d niepoprawnych podpisów\n" -#: g10/keyedit.c:222 +#: g10/keyedit.c:223 msgid "1 signature not checked due to a missing key\n" msgstr "1 podpis nie zosta³ sprawdzony z powodu braku klucza\n" -#: g10/keyedit.c:224 +#: g10/keyedit.c:225 #, c-format msgid "%d signatures not checked due to missing keys\n" msgstr "%d podpisów nie zosta³o sprawdzonych z powodu braku kluczy\n" -#: g10/keyedit.c:226 +#: g10/keyedit.c:227 msgid "1 signature not checked due to an error\n" msgstr "1 podpis nie zosta³ sprawdzony z powodu b³êdu\n" -#: g10/keyedit.c:228 +#: g10/keyedit.c:229 #, c-format msgid "%d signatures not checked due to errors\n" msgstr "%d podpisów nie sprawdzonych z powodu b³êdów\n" -#: g10/keyedit.c:230 +#: g10/keyedit.c:231 msgid "1 user id without valid self-signature detected\n" msgstr "wykryto 1 identyfikator u¿ytkownika bez podpisu w³a¶ciciela klucza\n" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\n" msgstr "" @@ -1817,17 +1871,17 @@ #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, c-format msgid "Already signed by key %08lX\n" msgstr "Ju¿ podpisano kluczem %08lX.\n" -#: g10/keyedit.c:320 +#: g10/keyedit.c:321 #, c-format msgid "Nothing to sign with key %08lX\n" msgstr "Nie ma nic do podpisania kluczem %08lX.\n" -#: g10/keyedit.c:329 +#: g10/keyedit.c:330 msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" @@ -1835,7 +1889,7 @@ "Czy jeste¶ naprawdê pewien ¿e chcesz podpisaæ ten klucz \n" "swoim kluczem: \"" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" @@ -1843,29 +1897,29 @@ "Podpis zostanie oznaczony jako nieeksportowalny.\n" "\n" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "Na pewno podpisaæ? " -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "z³o¿enie podpisu nie powiod³o siê: %s\n" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "Ten klucz nie jest chroniony.\n" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "Klucz jest chroniony.\n" -#: g10/keyedit.c:442 +#: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" msgstr "Tego klucza nie mo¿na edytowaæ: %s.\n" -#: g10/keyedit.c:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" @@ -1873,7 +1927,7 @@ "Wprowad¼ nowe wyra¿enie przej¶ciowe (has³o) dla tego klucza tajnego.\n" "\n" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" @@ -1881,380 +1935,403 @@ "Nie chcesz podaæ wyra¿enia przej¶ciowego (has³a) - to *z³y* pomys³!\n" "\n" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "Czy na pewno chcesz to zrobiæ? " -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "przenoszê podpis klucza na w³a¶ciwe miejsce\n" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "wyj¶cie z tego menu" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "w" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "zapis" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "zapis zmian i wyj¶cie" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "pomoc" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "ten tekst pomocy" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "odc" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "show fingerprint" msgstr "okazanie odcisku klucza" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list" msgstr "lista" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list key and user ids" msgstr "lista kluczy i identyfikatorów u¿ytkowników" -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "l" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "id" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "wybór identyfikatora u¿ytkownika N" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "klucz" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "wybór podklucza N" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "lista" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "list signatures" msgstr "lista podpisów" -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "l" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "podpis" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign the key" msgstr "z³o¿enie podpisu na kluczu" -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "p" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "lsign" msgstr "lpodpis" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "sign the key locally" msgstr "z³o¿enie lokalnego podpisu na kluczu" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "¶ledzenia" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "dodid" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "dodanie nowego identyfikatora u¿ytkownika do klucza" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "usid" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "delete user id" msgstr "usuniêcie identyfikatora u¿ytkownika z klucza" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "dodkl" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "add a secondary key" msgstr "dodanie podklucza" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "uskl" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "usuniêcie podklucza" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delsig" msgstr "lpodpis" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delete signatures" msgstr "lista podpisów" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "data" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "change the expire date" msgstr "zmiana daty wa¿no¶ci klucza" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "prze³" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "prze³±czenie pomiêdzy list± kluczy publicznych i tajnych" -#: g10/keyedit.c:583 +#: g10/keyedit.c:588 msgid "t" msgstr "p" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "opcje" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "lista opcji" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "has³o" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "change the passphrase" msgstr "zmiana wyra¿enia przej¶ciowego (has³a)" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "zaufanie" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "zmiana zaufania w³a¶ciciela" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revsig" msgstr "unpod" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revoke signatures" msgstr "uniewa¿nienie podpisu" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revkey" msgstr "unpkl" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revoke a secondary key" msgstr "uniewa¿nienie podklucza" -#: g10/keyedit.c:607 +#: g10/keyedit.c:594 +msgid "disable" +msgstr "" + +#: g10/keyedit.c:594 +#, fuzzy +msgid "disable a key" +msgstr "klucz niepoprawny" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "" + +#: g10/keyedit.c:595 +#, fuzzy +msgid "enable a key" +msgstr "klucz niepoprawny" + +#: g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "nie dzia³a w trybie wsadowym\n" #. check that they match -#. FIXME: check that they both match -#: g10/keyedit.c:636 +#. fixme: check that they both match +#: g10/keyedit.c:652 msgid "Secret key is available.\n" msgstr "Dostêpny jest klucz tajny.\n" -#: g10/keyedit.c:665 +#: g10/keyedit.c:681 msgid "Command> " msgstr "Polecenie> " -#: g10/keyedit.c:692 +#: g10/keyedit.c:711 msgid "Need the secret key to do this.\n" msgstr "Do wykonania tej operacji potrzebny jest klucz tajny.\n" -#: g10/keyedit.c:714 -msgid "Save changes? " -msgstr "Zapisaæ zmiany? " - -#: g10/keyedit.c:717 -msgid "Quit without saving? " -msgstr "Wyj¶æ bez zapisania zmian? " - -#: g10/keyedit.c:727 -#, c-format -msgid "update failed: %s\n" -msgstr "naniesienie poprawek nie powiod³o siê: %s\n" - -#: g10/keyedit.c:734 -#, c-format -msgid "update secret failed: %s\n" -msgstr "naniesienie poprawek na kluczu tajnym nie powiod³o siê: %s\n" - -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" -msgstr "" -"Klucz nie zosta³ zmieniony wiêc nanoszenie poprawek nie jest konieczne.\n" - -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, c-format -msgid "update of trustdb failed: %s\n" -msgstr "naniesienie poprawek bazy zaufania nie powiod³o siê: %s\n" - -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "Podpisaæ wszystkie identyfikatory u¿ytkownika na tym kluczu? " -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "Podpowied¼: wybierz identyfikatory u¿ytkownika do podpisania.\n" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "naniesienie poprawek bazy zaufania nie powiod³o siê: %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 msgid "You must select at least one user id.\n" msgstr "Musisz wybraæ co najmniej jeden identyfikator u¿ytkownika.\n" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "Nie mo¿esz usun±æ ostatniego identyfikatora u¿ytkownika!\n" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 msgid "Really remove all selected user ids? " msgstr "Czy na pewno usun±æ wszystkie wybrane identyfikatory u¿ytkownika? " -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 msgid "Really remove this user id? " msgstr "Czy na pewno usun±æ ten identyfikator u¿ytkownika? " -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" msgstr "Musisz wybraæ co najmniej jeden klucz.\n" -#: g10/keyedit.c:862 +#: g10/keyedit.c:843 msgid "Do you really want to delete the selected keys? " msgstr "Czy na pewno chcesz usun±æ wybrane klucze? " -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 msgid "Do you really want to delete this key? " msgstr "Czy na pewno chcesz usun±æ ten klucz? " -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 msgid "Do you really want to revoke the selected keys? " msgstr "Czy na pewno chcesz uniewa¿niæ wybrane klucze? " -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 msgid "Do you really want to revoke this key? " msgstr "Czy na pewno chcesz uniewa¿niæ ten klucz? " -#: g10/keyedit.c:939 +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "Zapisaæ zmiany? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "Wyj¶æ bez zapisania zmian? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "naniesienie poprawek nie powiod³o siê: %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "naniesienie poprawek na kluczu tajnym nie powiod³o siê: %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "" +"Klucz nie zosta³ zmieniony wiêc nanoszenie poprawek nie jest konieczne.\n" + +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "Niepoprawna komenda (spróbuj \"help\")\n" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +#, fuzzy +msgid "This key has been disabled" +msgstr "Uwaga: Data wa¿no¶ci tego klucza up³ynê³a!\n" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1302 +#: g10/keyedit.c:1344 #, fuzzy msgid "Delete this unknown signature? (y/N/q)" msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)" -#: g10/keyedit.c:1308 +#: g10/keyedit.c:1350 #, fuzzy msgid "Really delete this self-signature? (y/N)" msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)" -#: g10/keyedit.c:1322 +#: g10/keyedit.c:1364 #, fuzzy, c-format msgid "Deleted %d signature.\n" msgstr "%d niepoprawnych podpisów\n" -#: g10/keyedit.c:1323 +#: g10/keyedit.c:1365 #, fuzzy, c-format msgid "Deleted %d signatures.\n" msgstr "%d niepoprawnych podpisów\n" -#: g10/keyedit.c:1326 +#: g10/keyedit.c:1368 #, fuzzy msgid "Nothing deleted.\n" msgstr "OSTRZE¯ENIE: nic nie zosta³o wyeksportowane!\n" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "Proszê usun±æ znacznik wyboru z kluczy tajnych.\n" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 msgid "Please select at most one secondary key.\n" msgstr "Proszê wybraæ najwy¿ej jeden podklucz.\n" -#: g10/keyedit.c:1405 +#: g10/keyedit.c:1447 #, fuzzy msgid "Changing expiration time for a secondary key.\n" msgstr "Zmiana daty wa¿no¶ci podklucza.\n" -#: g10/keyedit.c:1407 +#: g10/keyedit.c:1449 #, fuzzy msgid "Changing expiration time for the primary key.\n" msgstr "Zmiana daty wa¿no¶ci g³ównego klucza.\n" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 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:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "Brak odpowiadaj±cego podpisu w zbiorze kluczy tajnych\n" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, c-format msgid "No user id with index %d\n" msgstr "Brak identyfikatora u¿ytkownika o numerze %d.\n" -#: g10/keyedit.c:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "Brak podklucza o indeksie %d\n" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 msgid "user ID: \"" msgstr "Identyfikator u¿ytkownika: " -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, c-format msgid "" "\"\n" @@ -2263,76 +2340,89 @@ "\"\n" "podpisano Twoim kluczem %08lX w %s\n" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Stworzyæ certyfikat uniewa¿nienia tego podpisu? (t/N)" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N)" -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 msgid "no secret key\n" msgstr "brak klucza prywatnego\n" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, c-format msgid "public key is %08lX\n" msgstr "klucz publiczny %08lX\n" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 msgid "public key encrypted data: good DEK\n" msgstr "dane zaszyfrowane kluczem publicznym: poprawny klucz sesyjny\n" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, fuzzy, 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" + +#: g10/mainproc.c:285 +#, fuzzy, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "" +"Podpis z³o¿ony %.*s za pomoc± %s,\n" +"z u¿yciem klucza o identyfikatorze %08lX\n" + +#: g10/mainproc.c:291 +#, fuzzy +msgid "no secret key for decryption available\n" +msgstr "klucz tajny jest niedostêpny" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "b³±d odszyfrowywania kluczem publicznym: %s\n" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 msgid "decryption okay\n" msgstr "odszyfrowane poprawnie\n" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "OSTRZE¯ENIE: zaszyfrowana wiadomo¶æ by³a manipulowana!\n" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "b³±d odszyfrowywania: %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "UWAGA: nadawca zaznaczy³ ¿e wiadomo¶æ nie powinna byæ zapisywana\n" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "pierwotna nazwa pliku='%.*s'\n" -#: g10/mainproc.c:505 g10/mainproc.c:514 +#: g10/mainproc.c:587 g10/mainproc.c:596 #, fuzzy msgid "WARNING: invalid notation data found\n" msgstr "nie odnaleziono poprawnych danych w formacie OpenPGP.\n" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " msgstr "" -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " msgstr "" -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 msgid "signature verification suppressed\n" msgstr "wymuszono pominiêcie sprawdzenia podpisu\n" -#: g10/mainproc.c:935 +#: g10/mainproc.c:1031 #, c-format msgid "Signature made %.*s using %s key ID %08lX\n" msgstr "" @@ -2340,28 +2430,28 @@ "z u¿yciem klucza o identyfikatorze %08lX\n" #. just in case that we have no userid -#: g10/mainproc.c:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "NIEPOPRAWNY podpis z³o¿ony przez \"" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "Poprawny podpis z³o¿ony przez \"" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr " alias \"" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "Nie mogê sprawdziæ podpisu: %s\n" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "podpis starego typu (PGP 2.x)\n" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "wykryto niepoprawny pakiet pierwotny w proc_tree()\n" @@ -2392,17 +2482,17 @@ "ten algorytm szyfruj±cy jest odradzanym proszê u¿ywaæ bardziej " "standardowych!\n" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, 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:931 +#: g10/parse-packet.c:932 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "podpakiet typu %d ma ustawiony krytyczny bit\n" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" @@ -2412,21 +2502,26 @@ "Musisz podaæ wyra¿enie przej¶ciowe (has³o) aby uaktywniæ klucz tajny\n" "dla u¿ytkownika: \"" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "d³ugo¶æ %u bitów, typ %s, klucz %08lX, stworzony %s" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr " (g³ówny ID klucza %08lX)" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +#, fuzzy +msgid "can't query password in batchmode\n" +msgstr "nie dzia³a w trybie wsadowym\n" + +#: g10/passphrase.c:194 msgid "Enter passphrase: " msgstr "Wyra¿enie przej¶ciowe: " -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 msgid "Repeat passphrase: " msgstr "Powtórzone wyra¿enie przej¶ciowe: " @@ -2482,34 +2577,34 @@ "Ostrze¿enie: Wykryto klucz s³aby algorytmu - nale¿y ponownie zmieniæ \n" "wyra¿enie przej¶ciowe (has³o).\n" -#: g10/sig-check.c:187 +#: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" msgstr "" "przyjêto niepoprawno¶æ MDC z powonu ustawienia nieznanego bitu krytycznego\n" -#: g10/sig-check.c:283 +#: g10/sig-check.c:295 msgid "" "this is a PGP generated ElGamal key which is NOT secure for signatures!\n" msgstr "" "Klucz algorytmu ElGamala wygenerowany przez PGP - podpisy nim sk³adane\n" "nie zapewniaj± bezpieczeñstwa!\n" -#: g10/sig-check.c:291 +#: g10/sig-check.c:303 #, c-format msgid "public key is %lu second newer than the signature\n" msgstr "klucz publiczny jest o %lu sekund m³odszy od podpisu\n" -#: g10/sig-check.c:292 +#: g10/sig-check.c:304 #, c-format msgid "public key is %lu seconds newer than the signature\n" msgstr "klucz publiczny jest o %lu sekund m³odszy od podpisu\n" -#: g10/sig-check.c:308 +#: g10/sig-check.c:320 #, c-format msgid "NOTE: signature key expired %s\n" msgstr "UWAGA: klucz podpisuj±cy przekroczy³ datê wa¿no¶ci %s\n" -#: g10/sig-check.c:365 +#: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" msgstr "" "przyjêto niewa¿no¶æ podpisu z powonu ustawienia nieznanego bitu krytycznego\n" @@ -2543,12 +2638,12 @@ msgid "input line longer than %d characters\n" msgstr "linia d³u¿sza ni¿ %d znaków\n" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "baza zaufania, wpis %lu: lseek() nie powiod³a siê: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, 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" @@ -2577,7 +2672,7 @@ msgid "%s: directory does not exist!\n" msgstr "%s: katalog nie istnieje!\n" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: nie mogê utworzyæ: %s\n" @@ -2618,7 +2713,7 @@ msgstr "%s: b³±d przy uaktualnianiu numeru wersji: %s\n" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: b³±d odczytu numeru wersji: %s\n" @@ -2628,485 +2723,370 @@ msgid "%s: error writing version record: %s\n" msgstr "%s: b³±d zapisu numeru wersji: %s\n" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "baza zaufania: procedura lseek() zawiod³a: %s\n" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "baza zaufania: procedura read() (n=%d) zawiod³a: %s\n" -#: g10/tdbio.c:1161 +#: g10/tdbio.c:1275 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: to nie jest plik bazy zaufania\n" -#: g10/tdbio.c:1177 +#: g10/tdbio.c:1291 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: wpis wersji z numerem %lu\n" -#: g10/tdbio.c:1182 +#: g10/tdbio.c:1296 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: niew³a¶ciwa wersja pliku %d\n" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: b³±d odczytu pustego wpisu: %s\n" -#: g10/tdbio.c:1479 +#: g10/tdbio.c:1608 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: b³±d zapisu wpisu katalogowego: %s\n" -#: g10/tdbio.c:1489 +#: g10/tdbio.c:1618 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: zerowanie rekordu nie powiod³o siê: %s\n" -#: g10/tdbio.c:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: dopisanie rekordu nie powiod³o siê: %s\n" -#: g10/tdbio.c:1630 +#: g10/tdbio.c:1759 #, fuzzy 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:163 +#: g10/trustdb.c:160 #, 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:178 +#: g10/trustdb.c:175 #, 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:192 +#: g10/trustdb.c:189 #, 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:206 +#: g10/trustdb.c:203 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "baza zaufania: synchronizacja nie powiod³a siê %s\n" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, 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:393 +#: g10/trustdb.c:354 #, 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:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "brak klucza g³ównego dla LID %lu\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, 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:442 +#: g10/trustdb.c:403 #, 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:510 +#: g10/trustdb.c:458 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "UWAGA: klucz tajny %08lX NIE jest chroniony.\n" -#: g10/trustdb.c:518 +#: g10/trustdb.c:466 #, 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:525 +#: g10/trustdb.c:473 #, 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:535 +#: g10/trustdb.c:485 #, 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:541 +#: g10/trustdb.c:491 #, c-format msgid "key %08lX: query record failed\n" msgstr "klucz %08lX: wyszukanie zapisu nie powiod³o siê\n" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, 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:553 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "Klucz %08lX: zaakceptowany jako klucz zaufany.\n" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "wyliczenie kluczy tajnych nie powiod³o siê %s\n" -#: g10/trustdb.c:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "" -"UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" -"ale jest zaznaczony jako sprawdzony.\n" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "" -"UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" -"ale nie jest zaznaczony.\n" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "" -"wpis oi podpisie %lu[%d] w li¶cie domy¶lnej %lu nie wskazuje \n" -"na wpis katalogowy\n" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "lid %lu: brak klucza g³ównego\n" - -#: g10/trustdb.c:901 -#, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "" -"lid %lu: identyfikator u¿ytkownika nie zosta³ odnaleziony w bloku klucza\n" - -#: g10/trustdb.c:905 -#, c-format -msgid "lid %lu: user id without signature\n" -msgstr "lid %lu: niepodpisany identyfikator u¿ytkownika\n" - -#: g10/trustdb.c:912 -#, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "lid %lu: podpis klucza nim samym w li¶cie domy¶lnej\n" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -msgid "Valid certificate revocation" -msgstr "Poprawne uniewa¿nienie certyfikatu" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -msgid "Good certificate" -msgstr "Poprawny certyfikat" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "bardzo dziwne: brak klucza publicznego\n" - -#: g10/trustdb.c:982 -#, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -msgstr "lista domy¶lna %lu[%d] z %lu nie wskazuje na wpis katalogowy\n" - -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "lid %lu nie ma klucza\n" - -#: g10/trustdb.c:998 -#, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "lid %lu: pobranie bloku klucza niemo¿liwe: %s\n" - -#: g10/trustdb.c:1055 g10/trustdb.c:2030 -#, c-format -msgid "tdbio_search_dir failed: %s\n" +#: g10/trustdb.c:802 +#, fuzzy, c-format +msgid "tdbio_search_sdir failed: %s\n" msgstr "Procedura tdbio_search_dir nie powiod³a siê: %s\n" -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "klucz %08lX.%lu Dobre dowi±zanie podklucza\n" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "klucz %08lX.%lu: Niepoprawne dowi±zanie podklucza %s\n" -#: g10/trustdb.c:1232 +#: g10/trustdb.c:895 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "klucz %08lX.%lu: Poprawne uniewa¿nienie klucza\n" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, 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:1253 +#: g10/trustdb.c:912 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "klucz %08lX.%lu: Poprawne uniewa¿nienie podklucza\n" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 msgid "Good self-signature" msgstr "Poprawny podpis klucza nim samym" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 msgid "Invalid self-signature" msgstr "Niepoprawny podpis klucza nim samym" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +#, fuzzy +msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" "Poprawne uniewa¿nienie identyfikatora u¿ytkownika pominiête z powodu \n" "nowszego podpisu tym samym kluczem\n" -#: g10/trustdb.c:1410 -msgid "Valid user ID revocation\n" +#: g10/trustdb.c:1066 +#, fuzzy +msgid "Valid user ID revocation" msgstr "Poprawne uniewa¿nienie identyfikatora u¿ytkownika\n" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 msgid "Invalid user ID revocation" msgstr "Niepoprawne uniewa¿nienie identyfikatora u¿ytkownika" -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "Zbyt wiele ustawieñ." - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "Zbyt wiele pozycji w ustawieniach" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -msgid "WARNING: can't yet handle long pref records\n" -msgstr "OSTRZE¯ENIE: d³ugie wpisy ustawieñ jeszcze nie s± obs³ugiwane.\n" - -#: g10/trustdb.c:1654 -msgid "duplicated certificate - deleted" -msgstr "podwójny certyfikat - usuniêty" +#: g10/trustdb.c:1112 +msgid "Valid certificate revocation" +msgstr "Poprawne uniewa¿nienie certyfikatu" -#: g10/trustdb.c:1692 -msgid "public key not anymore available" -msgstr "klucz publiczny jest ju¿ niedostêpny" +#: g10/trustdb.c:1113 +msgid "Good certificate" +msgstr "Poprawny certyfikat" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 msgid "Invalid certificate revocation" msgstr "Niepoprawne uniewa¿nienie certyfikatu" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 msgid "Invalid certificate" msgstr "Niepoprawny certyfikat" -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "" -"identyfikator %08lX.%lu/%02X%02X: ma zdublowany katalog %lu,\n" -"ale nie jest jeszcze zaznaczony.\n" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "zapis o podpisach %lu[%d] wskazuje na z³y wpis.\n" -#. that should never happen -#: g10/trustdb.c:2007 -#, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "insert_trust_record: brak bloku klucza: %s\n" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" -msgstr "Oops, brak kluczy\n" +#: g10/trustdb.c:1208 +msgid "duplicated certificate - deleted" +msgstr "podwójny certyfikat - usuniêty" -#: g10/trustdb.c:2412 -msgid "Ooops, no user ids\n" -msgstr "Oops, brak identyfikatorów u¿ytkowników\n" +#: g10/trustdb.c:1514 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "Procedura tdbio_search_dir nie powiod³a siê: %s\n" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: wpisanie nie powiod³o siê: %s\n" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: wpisanie nie powiod³o siê: %s\n" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: wpisany\n" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 -#, c-format -msgid "lid %lu: update failed: %s\n" -msgstr "lid %lu: naniesienie poprawek nie powiod³o siê: %s\n" - -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "lid %lu: uaktualniony\n" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "lid %lu: OK\n" +#: g10/trustdb.c:1652 +#, fuzzy, c-format +msgid "error reading dir record: %s\n" +msgstr "b³±d podczas poszukiwania wpisu katalogowego: %s\n" -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "%lu kluczy przetworzonych\n" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu kluczy z b³êdami\n" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "\t%lu kluczy uaktualnionych\n" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu kluczy wpisanych\n" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "wyliczenie bloków kluczy nie powiod³o siê: %s\n" -#: g10/trustdb.c:2598 -#, c-format -msgid "%s: keyblock read problem: %s\n" -msgstr "%s: problem przy odczycie bloku klucza: %s\n" - -#: g10/trustdb.c:2612 -#, c-format -msgid "%s: update failed: %s\n" -msgstr "%s: zapis zmian nie powiod³ siê: %s\n" - -#: g10/trustdb.c:2615 -#, c-format -msgid "%s: updated\n" -msgstr "%s: uaktualniony\n" - -#: g10/trustdb.c:2617 -#, c-format -msgid "%s: okay\n" -msgstr "%s: OK\n" - -#: g10/trustdb.c:2632 +#: g10/trustdb.c:1705 #, 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:2645 -#, c-format -msgid "lid %lu: keyblock not found: %s\n" -msgstr "lid %lu: blok klucza nie zosta³ odnaleziony: %s\n" - -#: g10/trustdb.c:2673 +#: g10/trustdb.c:1716 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu kluczy pominiêtych\n" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:1720 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "\t%lu kluczy uaktualnionych\n" + +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" +msgstr "Oops, brak kluczy\n" + +#: g10/trustdb.c:2061 +msgid "Ooops, no user ids\n" +msgstr "Oops, brak identyfikatorów u¿ytkowników\n" + +#: g10/trustdb.c:2218 #, 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:2750 +#: g10/trustdb.c:2227 #, 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:2754 +#: g10/trustdb.c:2231 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "Klucz %08lX.%lu: wprowadzony do bazy zaufania\n" -#: g10/trustdb.c:2762 +#: g10/trustdb.c:2239 #, 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:2769 +#: g10/trustdb.c:2248 #, 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:2777 +#: g10/trustdb.c:2256 #, 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:2881 +#: g10/trustdb.c:2362 #, c-format msgid "user '%s' not found: %s\n" msgstr "u¿ytkownik '%s' nie odnaleziony: %s\n" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "problem podczas szukania '%s' w bazie zaufania: %s\n" -#: g10/trustdb.c:2886 +#: g10/trustdb.c:2367 #, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "brak u¿ytkownika '%s' w bazie zaufania - dodano\n" -#: g10/trustdb.c:2889 +#: g10/trustdb.c:2370 #, 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 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "OSTRZE¯ENIE: d³ugie wpisy ustawieñ jeszcze nie s± obs³ugiwane.\n" + #: g10/ringedit.c:316 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: stworzenie zbioru kluczy jest niemo¿liwe: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, c-format msgid "%s: keyring created\n" msgstr "%s: zbiór kluczy utworzony\n" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "OSTRZE¯ENIE: Istniej± dwa pliki z poufnymi informacjami.\n" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, c-format msgid "%s is the unchanged one\n" msgstr "%s pozosta³ bez zmian\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "%s zosta³ utworzony\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "Proszê usun±æ to naruszenie zasad bezpieczeñstwa\n" @@ -3145,16 +3125,21 @@ msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:122 +#: g10/openfile.c:119 +#, fuzzy +msgid "Enter new filename" +msgstr "--store [plik]" + +#: g10/openfile.c:160 msgid "writing to stdout\n" msgstr "zapisywanie na wyj¶cie standardowe\n" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, c-format msgid "assuming signed data in `%s'\n" msgstr "przyjêto obecno¶æ podpisanych danych w '%s'\n" -#: g10/openfile.c:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "%s: stworzono nowy plik ustawieñ\n" @@ -3261,23 +3246,23 @@ msgid "keygen.valid" msgstr "Podaj ¿±dan± warto¶æ" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "Odpowiedz \"tak\" lub \"nie\"" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "Podaj nazwê (imiê, nazwisko) w³a¶ciciela klucza" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "Adres e-mail (opcjonalny ale warto go wpisaæ)" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "Komentarz (opcjonalny)" -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "" "I - zmiana imienia lub nazwiska.\n" @@ -3286,98 +3271,187 @@ "D - przej¶cie do w³a¶ciwej generacji klucza.\n" "W - wyj¶cie z procedury generacji i z programu." -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "" "Odpowiedz \"tak\" (lub po prostu \"t\") je¶li zgadzasz siê na stworzenie " "podklucza." -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "Odpowiedz \"tak\" lub \"nie\"" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "Odpowiedz \"tak\" lub \"nie\"" -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "Podaj \"help\" aby zobaczyæ listê poleceñ." - -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "Odpowiedz \"tak\" lub \"nie\"" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "Odpowiedz \"tak\" lub \"nie\"" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "" "Odpowiedz \"tak\" je¶li chcesz podpisaæ wszystkie identyfikatory klucza" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "" "Odpowiedz \"tak\" je¶li na pewno chcesz skasowaæ ten identyfikator klucza.\n" "Utracisz wszystkie podpisy innych u¿ytkowników z³o¿one na tym " "identyfikatorze!" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "Odpowiedz \"tak\" je¶li na pewno chcesz skasowaæ ten podklucz" -#: g10/helptext.c:176 +#: g10/helptext.c:175 #, fuzzy msgid "keyedit.delsig.valid" msgstr "" "Odpowiedz \"tak\" je¶li chcesz podpisaæ wszystkie identyfikatory klucza" -#: g10/helptext.c:181 +#: g10/helptext.c:180 #, fuzzy msgid "keyedit.delsig.unknown" msgstr "" "Odpowiedz \"tak\" je¶li chcesz podpisaæ wszystkie identyfikatory klucza" -#: g10/helptext.c:187 +#: g10/helptext.c:186 #, fuzzy msgid "keyedit.delsig.invalid" msgstr "" "Odpowiedz \"tak\" je¶li chcesz podpisaæ wszystkie identyfikatory klucza" -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" msgstr "" -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "" "Proszê wprowadziæ wyra¿enie przej¶ciowe (tajne zdanie)\n" " Bla, bla, bla ..." -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "" "Proszê powtórzyæ podane wyra¿enie przej¶ciowe dla wyeliminowania pomy³ek." -#: g10/helptext.c:211 +#: g10/helptext.c:210 msgid "detached_signature.filename" msgstr "Nazwa pliku którego dotyczy ten podpis" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "Odpowiedz \"tak\" je¶li na pewno chcesz nadpisaæ ten plik" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "Pomoc niedostêpna" -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "Brak pomocy o '%s'" +#~ msgid "print all message digests" +#~ msgstr "wszystkie skróty wiadomo¶ci" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" +#~ msgstr "" +#~ "UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" +#~ "ale jest zaznaczony jako sprawdzony.\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" +#~ msgstr "" +#~ "UWAGA: wpis podpisu %lu[%d] znajduje siê w li¶cie domy¶lnej %lu,\n" +#~ "ale nie jest zaznaczony.\n" + +#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "wpis oi podpisie %lu[%d] w li¶cie domy¶lnej %lu nie wskazuje \n" +#~ "na wpis katalogowy\n" + +#~ msgid "lid %lu: no primary key\n" +#~ msgstr "lid %lu: brak klucza g³ównego\n" + +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "" +#~ "lid %lu: identyfikator u¿ytkownika nie zosta³ odnaleziony w bloku klucza\n" + +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "lid %lu: niepodpisany identyfikator u¿ytkownika\n" + +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "lid %lu: podpis klucza nim samym w li¶cie domy¶lnej\n" + +#~ msgid "very strange: no public key\n" +#~ msgstr "bardzo dziwne: brak klucza publicznego\n" + +#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +#~ msgstr "lista domy¶lna %lu[%d] z %lu nie wskazuje na wpis katalogowy\n" + +#~ msgid "lid %lu does not have a key\n" +#~ msgstr "lid %lu nie ma klucza\n" + +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "lid %lu: pobranie bloku klucza niemo¿liwe: %s\n" + +#~ msgid "Too many preferences" +#~ msgstr "Zbyt wiele ustawieñ." + +#~ msgid "Too many preference items" +#~ msgstr "Zbyt wiele pozycji w ustawieniach" + +#~ msgid "public key not anymore available" +#~ msgstr "klucz publiczny jest ju¿ niedostêpny" + +#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" +#~ msgstr "" +#~ "identyfikator %08lX.%lu/%02X%02X: ma zdublowany katalog %lu,\n" +#~ "ale nie jest jeszcze zaznaczony.\n" + +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "insert_trust_record: brak bloku klucza: %s\n" + +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "lid %lu: naniesienie poprawek nie powiod³o siê: %s\n" + +#~ msgid "lid %lu: updated\n" +#~ msgstr "lid %lu: uaktualniony\n" + +#~ msgid "lid %lu: okay\n" +#~ msgstr "lid %lu: OK\n" + +#~ msgid "%s: keyblock read problem: %s\n" +#~ msgstr "%s: problem przy odczycie bloku klucza: %s\n" + +#~ msgid "%s: update failed: %s\n" +#~ msgstr "%s: zapis zmian nie powiod³ siê: %s\n" + +#~ msgid "%s: updated\n" +#~ msgstr "%s: uaktualniony\n" + +#~ msgid "%s: okay\n" +#~ msgstr "%s: OK\n" + +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "lid %lu: blok klucza nie zosta³ odnaleziony: %s\n" + +#~ msgid "keyedit.cmd" +#~ msgstr "Podaj \"help\" aby zobaczyæ listê poleceñ." + #~ msgid "can't lock keyring `%': %s\n" #~ msgstr "nie mo¿na zablokowaæ zbioru kluczy publicznych: %s\n" @@ -3494,9 +3568,6 @@ #~ msgid "insert trust record failed: %s\n" #~ msgstr "wstawienie wpisu zaufania nie powiod³o siê: %s\n" - -#~ msgid "error finding dir record: %s\n" -#~ msgstr "b³±d podczas poszukiwania wpisu katalogowego: %s\n" #~ msgid "Hmmm, public key lost?" #~ msgstr "Hmmm, klucz publiczny utracony?" diff -urN gnupg-0.9.8/po/pt_BR.po gnupg-0.9.9/po/pt_BR.po --- gnupg-0.9.8/po/pt_BR.po Sat Jun 26 13:07:30 1999 +++ gnupg-0.9.9/po/pt_BR.po Fri Jul 23 14:26:04 1999 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Date: 1998-11-20 23:46:36-0200\n" "From: Thiago Jung Bauermann \n" @@ -17,32 +17,32 @@ "g10/mainproc.c g10/passphrase.c g10/plaintext.c g10/pref.c g10/seckey-cert.c " "g10/sig-check.c g10/sign.c g10/trustdb.c g10/verify.c\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "Aviso: usando memória insegura!\n" -#: util/secmem.c:249 +#: util/secmem.c:275 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:250 +#: util/secmem.c:276 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:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "sim" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "sS" # INICIO MENU -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "sair" -#: util/miscutil.c:176 +#: util/miscutil.c:274 #, fuzzy msgid "qQ" msgstr "s" @@ -255,11 +255,11 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "você encontrou um bug ... (%s:%d)\n" -#: cipher/random.c:412 +#: cipher/random.c:452 msgid "WARNING: using insecure random number generator!!\n" msgstr "AVISO: usando gerador de números aleatórios inseguro!\n" -#: cipher/random.c:413 +#: cipher/random.c:453 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -285,7 +285,7 @@ "para que o sistema possa coletar mais entropia!\n" "(São necessários mais %d bytes)\n" -#: g10/g10.c:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " @@ -293,134 +293,141 @@ "@Comandos:\n" " " -#: g10/g10.c:176 +#: g10/g10.c:185 msgid "|[file]|make a signature" msgstr "|[arquivo]|faz uma assinatura" -#: g10/g10.c:177 +#: g10/g10.c:186 msgid "|[file]|make a clear text signature" msgstr "|[arquivo]|faz uma assinatura em texto puro" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "faz uma assinatura separada" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "criptografa dados" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "criptografa apenas com criptografia simétrica" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "apenas armazena" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "descriptografa dados (padrão)" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "verifica uma assinatura" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "lista as chaves" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "lista as chaves e as assinaturas" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "confere as assinaturas das chaves" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "lista as chaves e as impressões digitais" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "lista as chaves secretas" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "gera um novo par de chaves" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "remove a chave do chaveiro público" -#: g10/g10.c:192 +#: g10/g10.c:201 +#, fuzzy +msgid "sign a key" +msgstr "assina a chave" + +#: g10/g10.c:202 +#, fuzzy +msgid "sign a key locally" +msgstr "assina a chave localmente" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "assina ou edita uma chave" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "gera um certificado de revogação" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "exporta as chaves" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "exporta chaves para um servidor" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "importa chaves de um servidor" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "importa/funde as chaves" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "lista apenas as seqüências de pacotes" # ownertrust ??? -#: g10/g10.c:203 +#: g10/g10.c:214 msgid "export the ownertrust values" msgstr "exporta os valores de confiança" -#: g10/g10.c:205 +#: g10/g10.c:216 msgid "import ownertrust values" msgstr "importa os valores de confiança" -#: g10/g10.c:207 -msgid "|[NAMES]|update the trust database" +#: g10/g10.c:218 +#, fuzzy +msgid "update the trust database" msgstr "|[NOMES]|atualiza o banco de dados de confiabilidade" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "|[NOMES]|confere o banco de dados de confiabilidade" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "" "conserta um banco de dados de confiabilidade\n" "danificado" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "Retira a armadura de um arquivo ou de \"stdin\"" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "Cria armadura para um arquivo ou \"stdin\"" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "|algo [arquivos]|imprime \"digests\" de mensagens" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "imprime todos os \"digests\" de mensagens" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" @@ -430,168 +437,177 @@ "Opções:\n" " " -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "cria uma saída com armadura ascii" -#: g10/g10.c:223 +#: g10/g10.c:231 msgid "|NAME|encrypt for NAME" msgstr "|NOME|criptografa para NOME" -#: g10/g10.c:227 +#: g10/g10.c:234 +#, fuzzy +msgid "|NAME|use NAME as default recipient" +msgstr "|NOME|usa NOME como chave secreta padrão" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "" "usa este identificador de usuário para assinar\n" "ou descriptografar" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "|N|estabelece nível de compressão N (0 desabilita)" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "usa modo de texto canônico" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "usa como arquivo de saída" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "detalhado" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "ser mais silencioso" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" msgstr "" -#: g10/g10.c:235 +#: g10/g10.c:248 msgid "force v3 signatures" msgstr "força assinaturas v3" -#: g10/g10.c:236 +#: g10/g10.c:249 msgid "always use a MDC for encryption" msgstr "sempre usar um MDC para criptografar" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "não fazer alterações" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "modo não-interativo: nunca perguntar" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "assumir sim para a maioria das perguntas" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "assumir não para a maioria das perguntas" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "adiciona este chaveiro à lista de chaveiros" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "adiciona este chaveiro secreto à lista" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "|NOME|usa NOME como chave secreta padrão" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "|ENDEREÇO|usa este servidor para buscar chaves" -#: g10/g10.c:246 +#: g10/g10.c:259 msgid "|NAME|set terminal charset to NAME" msgstr "|NOME|define mapa de caracteres do terminal como NOME" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "lê opções do arquivo" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "define parâmetros de depuração" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "habilita depuração completa" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "" "|DA|escreve informações de status para o descritor\n" "de arquivo DA" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "não escreve pacotes de comentário" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "(o padrão é 1)" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "(o padrão é 3)" -#: g10/g10.c:256 +#: g10/g10.c:269 msgid "|FILE|load extension module FILE" msgstr "|ARQUIVO|carrega módulo de extensão ARQUIVO" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "emula o modo descrito no RFC1991" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" -#: g10/g10.c:259 +#: g10/g10.c:272 msgid "|N|use passphrase mode N" msgstr "|N|usa frase secreta modo N" -#: g10/g10.c:261 +#: g10/g10.c:274 msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "" "|NOME|usa algoritmo de \"digest\" de mensagens NOME para\n" "frases secretas" -#: g10/g10.c:263 +#: g10/g10.c:276 msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "" "|NOME|usa algoritmo de criptografia NOME para\n" "frases secretas" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "|NOME|usa algoritmo de criptografia NOME" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "|NOME|usa algoritmo de \"digest\" de mensagens NOME" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "|N|usa algoritmo de compressão N" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "elimina o campo keyid dos pacotes criptografados" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:270 +#: g10/g10.c:283 msgid "" "@\n" "Examples:\n" @@ -611,16 +627,16 @@ " --list-keys [nomes] mostra chaves\n" " --fingerprint [nomes] mostra impressões digitais\n" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "Por favor comunique bugs para .\n" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)" # em cima, "check" está como "conferir" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -630,7 +646,7 @@ "assina, verifica, criptografa ou descriptografa\n" "a operação padrão depende dos dados de entrada\n" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" @@ -638,170 +654,182 @@ "\n" "Algoritmos suportados:\n" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "uso: gpg [opções] " -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "comandos conflitantes\n" -#: g10/g10.c:605 +#: g10/g10.c:640 #, c-format msgid "NOTE: no default option file `%s'\n" msgstr "NOTA: arquivo de opções padrão `%s' inexistente\n" -#: g10/g10.c:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "arquivo de opções `%s': %s\n" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "lendo opções de `%s'\n" -#: g10/g10.c:782 +#: g10/g10.c:831 #, 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:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "o algoritmo de criptografia selecionado não é válido\n" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "o algoritmo de \"digest\" selecionado não é válido\n" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:852 +#: g10/g10.c:920 #, 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:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed deve ser maior que 0\n" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed deve ser maior que 1\n" -#: g10/g10.c:858 +#: g10/g10.c:926 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "max-cert-depth deve estar na faixa 1 a 255\n" -#: g10/g10.c:861 +#: g10/g10.c:929 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:865 +#: g10/g10.c:933 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:942 +#: g10/g10.c:1010 #, 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:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "--store [nome_do_arquivo]" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "--symmetric [nome_do_arquivo]" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "--encrypt [nome_do_arquivo]" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "--sign [nome_do_arquivo]" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [nome_do_arquivo]" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "--clearsign [nome_do_arquivo]" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "--decrypt [nome_do_arquivo]" -#: g10/g10.c:1024 -msgid "--edit-key username [commands]" +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 +#, fuzzy +msgid "--lsign-key user-id" +msgstr "--delete-key nome_do_usuário" + +#: g10/g10.c:1107 +#, fuzzy +msgid "--edit-key user-id [commands]" msgstr "--edit-key nome_do_usuário [comandos]" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1123 +#, fuzzy +msgid "--delete-secret-key user-id" msgstr "--delete-secret-key nome_do_usuário" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1126 +#, fuzzy +msgid "--delete-key user-id" msgstr "--delete-key nome_do_usuário" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/encode.c:231 g10/g10.c:1150 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "impossível abrir %s: %s\n" -#: g10/g10.c:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "-k[v][v][v][c] [id_do_usuário] [chaveiro]" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "retirada de armadura falhou: %s\n" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, 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:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "algoritmo de hash inválido `%s'\n" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "[nome_do_arquivo]" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "Vá em frente e digite sua mensagem ...\n" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "impossível abrir `%s'\n" -#: g10/g10.c:1457 +#: g10/g10.c:1555 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1469 +#: g10/g10.c:1567 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" msgstr "" @@ -880,7 +908,21 @@ "caracter \"quoted printable\" na armadura - provavelmente um MTA com bugs " "foi usado\n" -#: g10/pkclist.c:137 +#. 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 " importados: %lu" + +# ??? +#. a string with valid answers +#: g10/pkclist.c:170 +#, fuzzy +msgid "sSmMqQ" +msgstr "sSmMqQ" + +#: g10/pkclist.c:174 #, c-format msgid "" "No trust value assigned to %lu:\n" @@ -889,7 +931,7 @@ "Nenhum valor de confiança designado para %lu:\n" "%4u%c/%08lX %s \"" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 msgid "" "Please decide how far you trust this user to correctly\n" "verify other users' keys (by looking at passports,\n" @@ -912,30 +954,23 @@ " 4 = Eu confio completamente\n" " 5 = Mostrar mais informação\n" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr " m = volta ao menu principal\n" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr " q = sai\n" -# ??? -#. a string with valid answers -#: g10/pkclist.c:163 -#, fuzzy -msgid "sSmMqQ" -msgstr "sSmMqQ" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "Sua decisão? " -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "Certificados que levam a uma chave confiada plenamente:\n" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 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" @@ -945,13 +980,13 @@ "Vamos ver se é possível designar alguns valores de confiança ausentes.\n" "\n" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" msgstr "Nenhuma rota encontrada que leve a uma de nossas chaves.\n" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" @@ -959,7 +994,7 @@ "Nenhum certificado com confiança indefinida encontrado.\n" "\n" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 msgid "" "No trust values changed.\n" "\n" @@ -967,36 +1002,36 @@ "Nenhum valor de confiança modificado.\n" "\n" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, c-format msgid "key %08lX: key has been revoked!\n" msgstr "chave %08lX: a chave foi revogada!\n" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "Usa esta chave de qualquer modo? " -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "chave %08lX: a subchave foi revogada!\n" -#: g10/pkclist.c:321 +#: g10/pkclist.c:363 #, c-format msgid "%08lX: key has expired\n" msgstr "%08lX: a chave expirou\n" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, 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:341 +#: g10/pkclist.c:383 #, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "%08lX: Nós NÃO confiamos nesta chave\n" -#: g10/pkclist.c:347 +#: g10/pkclist.c:389 #, c-format msgid "" "%08lX: It is not sure that this key really belongs to the owner\n" @@ -1005,15 +1040,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:353 +#: g10/pkclist.c:395 msgid "This key probably belongs to the owner\n" msgstr "Esta chave provavelmente pertence ao dono\n" -#: g10/pkclist.c:358 +#: g10/pkclist.c:400 msgid "This key belongs to us\n" msgstr "Esta chave pertence a nós\n" -#: g10/pkclist.c:398 +#: g10/pkclist.c:443 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" @@ -1025,65 +1060,65 @@ "afirmativamente à próxima pergunta\n" "\n" -#: g10/pkclist.c:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "AVISO: Usando chave não confiável!\n" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n" -#: g10/pkclist.c:455 +#: g10/pkclist.c:500 msgid " This could mean that the signature is forgery.\n" msgstr " Isto pode significar que a assinatura é falsificada.\n" -#: g10/pkclist.c:459 +#: g10/pkclist.c:504 msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "AVISO: Esta subchave foi revogada pelo seu dono!\n" -#: g10/pkclist.c:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "Nota: Esta chave expirou!\n" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 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:489 +#: g10/pkclist.c:534 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:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "AVISO: Nós NÃO confiamos nesta chave!\n" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr " A assinatura é provavelmente uma FALSIFICAÇÃO.\n" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 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:516 +#: g10/pkclist.c:561 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:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: ignorado: %s\n" -#: g10/pkclist.c:588 g10/pkclist.c:687 +#: g10/pkclist.c:670 g10/pkclist.c:820 #, fuzzy, c-format msgid "%s: skipped: public key already present\n" msgstr "%s: erro de leitura de bloco de chaves: %s\n" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1091,20 +1126,34 @@ "Você não especificou um ID de usuário. (pode-se usar \"-r\")\n" "\n" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "Digite o identificador de usuário: " -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "Identificador de usuário inexistente.\n" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +#, fuzzy +msgid "Public key is disabled.\n" +msgstr "a chave pública é %08lX\n" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: erro na verificação da chave: %s\n" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, fuzzy, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "%s: erro de leitura de bloco de chaves: %s\n" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "nenhum endereço válido\n" @@ -1246,29 +1295,29 @@ " m = chave expira em n meses\n" " y = chave expira em n anos\n" -#: g10/keygen.c:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "A chave é valida por? (0) " -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "valor inválido\n" -#: g10/keygen.c:540 +#: g10/keygen.c:552 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:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "A chave expira em %s\n" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "Está correto (s/n)? " -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1284,44 +1333,44 @@ " \"Heinrich Heine (Der Dichter) \"\n" "\n" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "Nome completo: " -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "Caractere inválido no nome\n" -#: g10/keygen.c:612 +#: g10/keygen.c:624 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:614 +#: g10/keygen.c:626 msgid "Name must be at least 5 characters long\n" msgstr "O nome deve ter pelo menos 5 caracteres\n" -#: g10/keygen.c:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "Endereço de correio eletrônico: " -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "Endereço eletrônico inválido\n" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "Comentário: " -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "Caractere inválido no comentário\n" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "Você está usando o conjunto de caracteres `%s'.\n" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1332,15 +1381,15 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "NnCcEeVvSs" -#: g10/keygen.c:688 +#: g10/keygen.c:700 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " msgstr "Muda (N)ome, (C)omentário, (E)ndereço ou (V)álido/(S)air? " -#: g10/keygen.c:740 +#: g10/keygen.c:752 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1348,11 +1397,11 @@ "Você precisa de uma frase secreta para proteger sua chave.\n" "\n" -#: g10/keyedit.c:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 msgid "passphrase not correctly repeated; try again.\n" msgstr "A frase secreta não foi repetida corretamente; tente outra vez.\n" -#: g10/keygen.c:754 +#: g10/keygen.c:766 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" @@ -1364,7 +1413,7 @@ "qualquer hora, usando este programa com a opção \"--edit-key\".\n" "\n" -#: g10/keygen.c:775 +#: g10/keygen.c:787 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" @@ -1376,34 +1425,34 @@ "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:845 +#: g10/keygen.c:857 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:853 +#: g10/keygen.c:865 msgid "DSA keypair will have 1024 bits.\n" msgstr "O par de chaves DSA terá 1024 bits.\n" -#: g10/keygen.c:859 +#: g10/keygen.c:871 #, fuzzy msgid "Key generation canceled.\n" msgstr "Geração de chaves cancelada.\n" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "escrevendo certificado público para `%s'\n" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "escrevendo certificado privado para `%s'\n" -#: g10/keygen.c:947 +#: g10/keygen.c:959 msgid "public and secret key created and signed.\n" msgstr "chaves pública e privada criadas e assinadas.\n" -#: g10/keygen.c:949 +#: g10/keygen.c:961 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" @@ -1411,12 +1460,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:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, c-format msgid "Key generation failed: %s\n" msgstr "A geração de chaves falhou: %s\n" -#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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" @@ -1424,7 +1473,7 @@ "a chave foi criada %lu segundos no futuro\n" "(viagem no tempo ou problema no relógio)\n" -#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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" @@ -1432,11 +1481,11 @@ "a chave foi criada %lu segundos no futuro\n" "(viagem no tempo ou problema no relógio)\n" -#: g10/keygen.c:1040 +#: g10/keygen.c:1052 msgid "Really create? " msgstr "Realmente criar? " -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1489,243 +1538,248 @@ msgid "too many entries in unk cache - disabled\n" msgstr "entradas demais no cache unk - desabilitado\n" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, 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:116 +#: g10/import.c:118 #, c-format msgid "can't open `%s': %s\n" msgstr "impossível abrir `%s': %s\n" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "ignorando bloco do tipo %d\n" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "%lu chaves processadas até agora\n" -#: g10/import.c:172 +#: g10/import.c:174 #, c-format msgid "error reading `%s': %s\n" msgstr "erro na leitura de `%s': %s\n" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr "Número total processado: %lu\n" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr " sem IDs de usuários: %lu\n" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr " importados: %lu" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr " não modificados: %lu\n" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr " novos IDs de usuários: %lu\n" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr " novas subchaves: %lu\n" -#: g10/import.c:191 +#: g10/import.c:193 #, c-format msgid " new signatures: %lu\n" msgstr " novas assinaturas: %lu\n" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr " novas revogações de chaves: %lu\n" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr " chaves secretas lidas: %lu\n" -#: g10/import.c:197 +#: g10/import.c:199 #, c-format msgid " secret keys imported: %lu\n" msgstr " chaves secretas importadas: %lu\n" -#: g10/import.c:199 +#: g10/import.c:201 #, c-format msgid " secret keys unchanged: %lu\n" msgstr " chaves secretas não modificadas: %lu\n" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "chave %08lX: sem id de usuário\n" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "chave %08lX: sem ids de usuários válidos\n" -#: g10/import.c:355 +#: g10/import.c:378 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:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, 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:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "sem chaveiro público padrão\n" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "escrevendo para `%s'\n" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 #, fuzzy, c-format msgid "can't lock keyring `%s': %s\n" msgstr "impossível bloquear chaveiro `%s': %s\n" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 #, c-format msgid "error writing keyring `%s': %s\n" msgstr "%s: erro na escrita do chaveiro `%s': %s\n" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "chave %08lX: chave pública importada\n" -#: g10/import.c:399 +#: g10/import.c:427 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "chave %08lX: não corresponde à nossa cópia\n" -#: g10/import.c:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, 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:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, 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:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "chave %8lX: 1 novo id de usuário\n" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "chave %08lX: %d novos ids de usuários\n" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "chave %08lX: 1 nova assinatura\n" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "chave %08lX: %d novas assinaturas\n" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "chave %08lX: 1 nova subchave\n" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "chave %08lX: %d novas subchaves\n" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "chave %08lX: não modificada\n" -#: g10/import.c:552 +#: g10/import.c:577 #, 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:556 +#: g10/import.c:581 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "chave %08lX: já existe no chaveiro secreto\n" -#: g10/import.c:561 +#: g10/import.c:586 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "chave %08lX: chave secreta não encontrada: %s\n" -#: g10/import.c:590 +#: g10/import.c:615 #, 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:621 +#: g10/import.c:646 #, 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:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "chave %08lX: certificado de revogação importado\n" -#: g10/import.c:686 +#: g10/import.c:711 #, c-format msgid "key %08lX: no user-id for signature\n" msgstr "chave %08lX: sem id de usuário para assinatura\n" -#: g10/import.c:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, 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:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "chave %08lX: auto-assinatura inválida\n" -#: g10/import.c:709 +#: g10/import.c:734 #, 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:718 +#: g10/import.c:743 #, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "chave %08lX: ligação de subchave inválida\n" -#: g10/import.c:750 +#: g10/import.c:769 +#, fuzzy, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "chave %08lX: id de usuário ignorado '" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "chave %08lX: id de usuário ignorado '" -#: g10/import.c:773 +#: g10/import.c:821 #, c-format msgid "key %08lX: skipped subkey\n" msgstr "chave %08lX: subchave ignorada\n" @@ -1734,98 +1788,98 @@ #. * 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:798 +#: g10/import.c:846 #, 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:807 +#: g10/import.c:855 #, 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:815 +#: g10/import.c:863 #, 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:915 +#: g10/import.c:963 #, 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:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "chave %08lX: certificado de revogação adicionado\n" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "chave %08lX: nossa cópia não tem auto-assinatura\n" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: usuário não encontrado\n" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "[revogação]" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 msgid "[self-signature]" msgstr "[auto-assinatura]" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 msgid "1 bad signature\n" msgstr "1 assinatura incorreta\n" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "%d assinaturas incorretas\n" -#: g10/keyedit.c:222 +#: 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:224 +#: 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:226 +#: g10/keyedit.c:227 msgid "1 signature not checked due to an error\n" msgstr "1 assinatura não checada devido a um erro\n" -#: g10/keyedit.c:228 +#: 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:230 +#: g10/keyedit.c:231 msgid "1 user id without valid self-signature detected\n" msgstr "1 id de usuário sem auto-assinatura válida detectado\n" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\n" msgstr "%d ids de usuários sem auto-assinaturas válidas detectados\n" #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, c-format msgid "Already signed by key %08lX\n" msgstr "Já assinado pela chave %08lX\n" -#: g10/keyedit.c:320 +#: 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:329 +#: g10/keyedit.c:330 msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" @@ -1833,7 +1887,7 @@ "Você tem certeza de que quer assinar esta chave com\n" "sua chave: \"" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" @@ -1841,29 +1895,29 @@ "A assinatura será marcada como não-exportável.\n" "\n" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "Realmente assinar? " -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, c-format msgid "signing failed: %s\n" msgstr "assinatura falhou: %s\n" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "Esta chave não é protegida.\n" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "A chave é protegida.\n" -#: g10/keyedit.c:442 +#: 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:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" @@ -1871,7 +1925,7 @@ "Digite a nova frase para esta chave secreta.\n" "\n" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" @@ -1879,385 +1933,408 @@ "Você não quer uma frase secreta - provavelmente isto é uma *má* idéia!\n" "\n" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "Você realmente quer fazer isso? " -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "movendo a assinatura da chave para o local correto\n" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "sair deste menu" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "s" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "gravar" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "gravar e sair" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "ajuda" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "mostra esta ajuda" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "imp" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "show fingerprint" msgstr "mostra impressão digital" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list" msgstr "lista" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 msgid "list key and user ids" msgstr "lista chave e identificações de usuários" # ??? -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "l" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "uid" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "seleciona id de usuário N" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "chave" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "seleciona chave secundária N" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "verifica" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "list signatures" msgstr "lista assinaturas" # ??? -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "c" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "assina" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign the key" msgstr "assina a chave" # ??? -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "s" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 #, fuzzy msgid "lsign" msgstr "lassina" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 msgid "sign the key locally" msgstr "assina a chave localmente" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "depura" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "adiciona um novo id de usuário" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "delete user id" msgstr "remove id de usuário" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "add a secondary key" msgstr "adiciona nova chave secundária" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "remove uma chave secundária" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delsig" msgstr "lassina" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delete signatures" msgstr "lista assinaturas" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "expira" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "change the expire date" msgstr "muda a data de expiração" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "alterna" -#: g10/keyedit.c:581 +#: 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:583 +#: g10/keyedit.c:588 msgid "t" msgstr "c" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "lista preferências" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "senha" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "change the passphrase" msgstr "muda a frase secreta" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "confianca" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "muda os valores de confiança" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 #, fuzzy msgid "revsig" msgstr "revsig" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 msgid "revoke signatures" msgstr "revoga assinaturas" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 #, fuzzy msgid "revkey" msgstr "revkey" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 msgid "revoke a secondary key" msgstr "revoga uma chave secundária" -#: g10/keyedit.c:607 +#: g10/keyedit.c:594 +msgid "disable" +msgstr "" + +#: g10/keyedit.c:594 +#, fuzzy +msgid "disable a key" +msgstr "chave incorreta" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "" + +#: g10/keyedit.c:595 +#, fuzzy +msgid "enable a key" +msgstr "chave incorreta" + +#: 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:636 +#. 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:665 +#: g10/keyedit.c:681 msgid "Command> " msgstr "Comando> " -#: g10/keyedit.c:692 +#: 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:714 -msgid "Save changes? " -msgstr "Salvar alterações? " - -#: g10/keyedit.c:717 -msgid "Quit without saving? " -msgstr "Sair sem salvar? " - -#: g10/keyedit.c:727 -#, c-format -msgid "update failed: %s\n" -msgstr "atualização falhou: %s\n" - -#: g10/keyedit.c:734 -#, c-format -msgid "update secret failed: %s\n" -msgstr "atualização da chave secreta falhou: %s\n" - -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" -msgstr "Chave não alterada, nenhuma atualização é necessária.\n" - -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, c-format -msgid "update of trustdb failed: %s\n" -msgstr "atualização do banco de dados de confiabilidade falhou: %s\n" - -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "Realmente assinar todos os ids de usuário? " -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "Sugestão: Selecione os ids de usuário para assinar\n" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, c-format +msgid "update of trustdb failed: %s\n" +msgstr "atualização do banco de dados de confiabilidade 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 usuário.\n" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "Você não pode remover o último id de usuário!\n" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 msgid "Really remove all selected user ids? " msgstr "Realmente remover todos os ids de usuário selecionados? " -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 msgid "Really remove this user id? " msgstr "Realmente remover este id de usuário? " -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: 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:862 +#: g10/keyedit.c:843 msgid "Do you really want to delete the selected keys? " msgstr "Você realmente quer remover as chaves selecionadas? " -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 msgid "Do you really want to delete this key? " msgstr "Você realmente quer remover esta chave? " -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 msgid "Do you really want to revoke the selected keys? " msgstr "Você realmente quer revogar as chaves selecionadas? " -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 msgid "Do you really want to revoke this key? " msgstr "Você realmente quer revogar esta chave? " +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "Salvar alterações? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "Sair sem salvar? " + +#: g10/keyedit.c:946 +#, c-format +msgid "update failed: %s\n" +msgstr "atualização falhou: %s\n" + +#: g10/keyedit.c:953 +#, c-format +msgid "update secret failed: %s\n" +msgstr "atualizaçã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 atualização é necessária.\n" + # help ou ajuda ??? -#: g10/keyedit.c:939 +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "Comando inválido (tente \"help\")\n" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +#, fuzzy +msgid "This key has been disabled" +msgstr "Nota: Esta chave expirou!\n" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1302 +#: g10/keyedit.c:1344 msgid "Delete this unknown signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1308 +#: g10/keyedit.c:1350 #, fuzzy msgid "Really delete this self-signature? (y/N)" msgstr "Realmente gerar os certificados de revogação? (s/N)" -#: g10/keyedit.c:1322 +#: g10/keyedit.c:1364 #, fuzzy, c-format msgid "Deleted %d signature.\n" msgstr "%d assinaturas incorretas\n" -#: g10/keyedit.c:1323 +#: g10/keyedit.c:1365 #, fuzzy, c-format msgid "Deleted %d signatures.\n" msgstr "%d assinaturas incorretas\n" -#: g10/keyedit.c:1326 +#: g10/keyedit.c:1368 #, fuzzy msgid "Nothing deleted.\n" msgstr "AVISO: nada exportado\n" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "Por favor remova as seleções das chaves secretas.\n" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 msgid "Please select at most one secondary key.\n" msgstr "Por favor selecione no máximo uma chave secundária.\n" -#: g10/keyedit.c:1405 +#: g10/keyedit.c:1447 #, fuzzy msgid "Changing expiration time for a secondary key.\n" msgstr "Modificando a data de expiração para a chave secundária.\n" -#: g10/keyedit.c:1407 +#: g10/keyedit.c:1449 #, fuzzy msgid "Changing expiration time for the primary key.\n" msgstr "Modificando a data de expiração para a chave primária.\n" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 msgid "You can't change the expiration date of a v3 key\n" msgstr "Você não pode modificar a data de expiração de uma chave v3\n" -#: g10/keyedit.c:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "Nenhuma assinatura correspondente no chaveiro secreto\n" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, c-format msgid "No user id with index %d\n" msgstr "Nenhum id de usuário com índice %d\n" -#: g10/keyedit.c:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "Nenhuma chave secundária com índice %d\n" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 msgid "user ID: \"" msgstr "Digite o identificador de usuário:" -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, c-format msgid "" "\"\n" @@ -2266,104 +2343,116 @@ "\"\n" "assinado com sua chave %08lX em %s\n" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 msgid "Create a revocation certificate for this signature? (y/N)" msgstr "Gerar um certificado de revogação para esta assinatura? (s/N)" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 msgid "Really create the revocation certificates? (y/N)" msgstr "Realmente gerar os certificados de revogação? (s/N)" -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 msgid "no secret key\n" msgstr "nenhuma chave secreta\n" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, c-format msgid "public key is %08lX\n" msgstr "a chave pública é %08lX\n" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 msgid "public key encrypted data: good DEK\n" msgstr "dados criptografados com chave pública: DEK válido\n" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, fuzzy, c-format +msgid "encrypted with %u-bit %s key, ID %08lX, created %s\n" +msgstr "chave de %u-bit/%s, ID %08lX, criada em %s\n" + +# XXX Verificar +#: g10/mainproc.c:285 +#, fuzzy, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "Assinatura feita em %.*s usando %s, ID da chave %08lX\n" + +#: g10/mainproc.c:291 +#, fuzzy +msgid "no secret key for decryption available\n" +msgstr "chave secreta não disponível" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "descriptografia de chave pública falhou: %s\n" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 msgid "decryption okay\n" msgstr "descriptografia correta\n" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "CUIDADO: a mensagem criptografada foi manipulada!\n" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "descriptografia falhou: %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "NOTA: o remetente solicitou \"apenas-para-seus-olhos\"\n" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "nome de arquivo original='%.*s'\n" -#: g10/mainproc.c:505 g10/mainproc.c:514 +#: g10/mainproc.c:587 g10/mainproc.c:596 #, fuzzy msgid "WARNING: invalid notation data found\n" msgstr "nenhum dado OpenPGP válido encontrado.\n" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " msgstr "" -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " msgstr "" -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 msgid "signature verification suppressed\n" msgstr "verificação de assinatura suprimida\n" # XXX Verificar -#: g10/mainproc.c:935 +#: g10/mainproc.c:1031 #, 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:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "Assinatura INCORRETA de \"" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "Assinatura correta de \"" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr " ou \"" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "Impossível verificar assinatura: %s\n" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "assinatura antiga (PGP2.x)\n" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "pacote raiz inválido detectado em proc_tree()\n" @@ -2394,17 +2483,17 @@ "este algoritmo de criptografia é depreciado; por favor use algum\n" "algoritmo padrão!\n" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, 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:931 +#: g10/parse-packet.c:932 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "subpacote de tipo %d tem bit crítico ligado\n" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" @@ -2414,21 +2503,26 @@ "Você precisa de uma frase secreta para desbloquear a chave secreta do\n" "usuário: \"" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, fuzzy, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "chave de %u-bit/%s, ID %08lX, criada em %s\n" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr " (ID principal da chave %08lX)" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +#, fuzzy +msgid "can't query password in batchmode\n" +msgstr "impossível fazer isso em modo não-interativo\n" + +#: g10/passphrase.c:194 msgid "Enter passphrase: " msgstr "Digite a frase secreta: " -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 msgid "Repeat passphrase: " msgstr "Repita a frase secreta: " @@ -2481,32 +2575,32 @@ msgstr "" "AVISO: Chave fraca detectada - por favor mude a frase secreta novamente.\n" -#: g10/sig-check.c:187 +#: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" msgstr "assumindo MDC incorreto devido a um bit crítico desconhecido\n" -#: g10/sig-check.c:283 +#: 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:291 +#: 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:292 +#: 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:308 +#: 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:365 +#: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" msgstr "assumindo assinatura incorreta devido a um bit crítico desconhecido\n" @@ -2539,12 +2633,12 @@ msgid "input line longer than %d characters\n" msgstr "linha de entrada maior que %d caracteres\n" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "banco de dados de confiabilidade rec %lu: lseek falhou: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, 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" @@ -2573,7 +2667,7 @@ msgid "%s: directory does not exist!\n" msgstr "%s: diretório inexistente!\n" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, c-format msgid "%s: can't create: %s\n" msgstr "%s: impossível criar: %s\n" @@ -2614,7 +2708,7 @@ msgstr "%s: erro atualizando registro de versão: %s\n" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, c-format msgid "%s: error reading version record: %s\n" msgstr "%s: erro lendo registro de versão: %s\n" @@ -2624,488 +2718,371 @@ msgid "%s: error writing version record: %s\n" msgstr "%s: erro escrevendo registro de versão: %s\n" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, c-format msgid "trustdb: lseek failed: %s\n" msgstr "banco de dados de confiabilidade: lseek falhou: %s\n" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, 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:1161 +#: g10/tdbio.c:1275 #, c-format msgid "%s: not a trustdb file\n" msgstr "%s: não é um banco de dados de confiabilidade\n" -#: g10/tdbio.c:1177 +#: g10/tdbio.c:1291 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "%s: registro de versão com recnum %lu\n" -#: g10/tdbio.c:1182 +#: g10/tdbio.c:1296 #, c-format msgid "%s: invalid file version %d\n" msgstr "%s: versão de arquivo inválida %d\n" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, c-format msgid "%s: error reading free record: %s\n" msgstr "%s: erro lendo registro livre: %s\n" -#: g10/tdbio.c:1479 +#: g10/tdbio.c:1608 #, c-format msgid "%s: error writing dir record: %s\n" msgstr "%s: erro escrevendo registro de diretório: %s\n" -#: g10/tdbio.c:1489 +#: g10/tdbio.c:1618 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "%s: falha ao zerar um registro: %s\n" -#: g10/tdbio.c:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "%s: falha ao anexar um registro: %s\n" -#: g10/tdbio.c:1630 +#: g10/tdbio.c:1759 #, fuzzy msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "" "O banco de dados de confiabilidade está danificado; por favor rode\n" "\"gpgm --fix-trust-db\".\n" -#: g10/trustdb.c:163 +#: g10/trustdb.c:160 #, 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:178 +#: g10/trustdb.c:175 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "registro de confiança %lu, tipo %d: gravação falhou: %s\n" -#: g10/trustdb.c:192 +#: g10/trustdb.c:189 #, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "registro de confiança %lu: remoção falhou: %s\n" -#: g10/trustdb.c:206 +#: g10/trustdb.c:203 #, c-format msgid "trustdb: sync failed: %s\n" msgstr "banco de dados de confiabilidade: sincronização falhou: %s\n" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, 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:393 +#: g10/trustdb.c:354 #, 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:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "nenhuma chave primária para LID %lu\n" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, 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:442 +#: g10/trustdb.c:403 #, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "get_dir_record: search_record falhou: %s\n" -#: g10/trustdb.c:510 +#: g10/trustdb.c:458 #, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "NOTA: chave secreta %08lX NÃO está protegida.\n" -#: g10/trustdb.c:518 +#: g10/trustdb.c:466 #, 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:525 +#: g10/trustdb.c:473 #, 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:535 +#: g10/trustdb.c:485 #, 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:541 +#: g10/trustdb.c:491 #, c-format msgid "key %08lX: query record failed\n" msgstr "chave %08lX: pedido de registro falhou\n" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, 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:553 +#: g10/trustdb.c:503 #, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "chave %08lX: aceita como chave confiável.\n" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, c-format msgid "enumerate secret keys failed: %s\n" msgstr "enumeração de chaves secretas falhou: %s\n" -#: g10/trustdb.c:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "" -"NOTA: assinatura rec %lu[%d] está na lista de sugestões de %lu mas está\n" -" marcada como verificada\n" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "" -"NOTA: assinatura rec %lu[%d] está na lista de sugestões de %lu mas não está\n" -" marcada\n" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "" -"assinatura rec %lu[%d] na lista de sugestões de %lu não aponta para\n" -"um registro de diretório\n" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "lid %lu: nenhuma chave primária\n" - -#: g10/trustdb.c:901 -#, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "lid %lu: id de usuário não encontrado no bloco de chaves\n" - -#: g10/trustdb.c:905 -#, c-format -msgid "lid %lu: user id without signature\n" -msgstr "lid %lu: id de usuário sem assinatura\n" - -#: g10/trustdb.c:912 -#, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "lid %lu: auto-assinatura na lista de sugestões\n" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -msgid "Valid certificate revocation" -msgstr "Certificado de revogação válido" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -msgid "Good certificate" -msgstr "Certificado correto" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "muito estranho: nenhuma chave pública\n" - -#: g10/trustdb.c:982 -#, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -msgstr "" -"lista de sugestões %lu[%d] de %lu não aponta para registro de diretório\n" - -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "lid %lu não tem chave\n" - -#: g10/trustdb.c:998 -#, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "lid %lu: impossível pegar bloco de chaves: %s\n" - -#: g10/trustdb.c:1055 g10/trustdb.c:2030 -#, c-format -msgid "tdbio_search_dir failed: %s\n" +#: g10/trustdb.c:802 +#, fuzzy, c-format +msgid "tdbio_search_sdir failed: %s\n" msgstr "tdbio_search_dir falhou: %s\n" -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "chave %08lX.%lu: Ligação de subchave válida\n" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, 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:1232 +#: g10/trustdb.c:895 #, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "chave %08lX.%lu: Revogação de chave válida\n" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, 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:1253 +#: g10/trustdb.c:912 #, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "chave %08lX.%lu: Revogação de subchave válida\n" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 msgid "Good self-signature" msgstr "Auto-assinatura válida" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 msgid "Invalid self-signature" msgstr "Auto-assinatura inválida" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +#, fuzzy +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\n" -#: g10/trustdb.c:1410 -msgid "Valid user ID revocation\n" +#: g10/trustdb.c:1066 +#, fuzzy +msgid "Valid user ID revocation" msgstr "Revogação de ID de usuário válida\n" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 msgid "Invalid user ID revocation" msgstr "Revogação de ID de usuário inválida" -# muitas ou demais ??? -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "Preferências demais" - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "Muitos itens de preferência" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -msgid "WARNING: can't yet handle long pref records\n" -msgstr "AVISO: ainda é impossível manipular registros de preferências longos\n" - -#: g10/trustdb.c:1654 -msgid "duplicated certificate - deleted" -msgstr "certificado duplicado - removido" +#: g10/trustdb.c:1112 +msgid "Valid certificate revocation" +msgstr "Certificado de revogação válido" -#: g10/trustdb.c:1692 -msgid "public key not anymore available" -msgstr "a chave pública não está mais disponível" +#: g10/trustdb.c:1113 +msgid "Good certificate" +msgstr "Certificado correto" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 msgid "Invalid certificate revocation" msgstr "Certificado de revogação inválido" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 msgid "Invalid certificate" msgstr "Certificado inválido" -# trauzir sombra ??? -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "" -"uid %08lX.%lu/%02X%02X: tem diretório \"shadow\" %lu mas ainda não está\n" -"marcado\n" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "registro de assinatura %lu[%d] aponta para registro errado.\n" -#. that should never happen -#: g10/trustdb.c:2007 -#, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "insert_trust_record: bloco de chaves não encontrado: %s\n" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" -msgstr "Ooops, nenhuma chave\n" +#: g10/trustdb.c:1208 +msgid "duplicated certificate - deleted" +msgstr "certificado duplicado - removido" -#: g10/trustdb.c:2412 -msgid "Ooops, no user ids\n" -msgstr "Ooops, nenhum id de usuário\n" +#: g10/trustdb.c:1514 +#, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "tdbio_search_dir falhou: %s\n" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, c-format msgid "lid ?: insert failed: %s\n" msgstr "lid ?: inserção falhou: %s\n" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, c-format msgid "lid %lu: insert failed: %s\n" msgstr "lid %lu: inserção falhou: %s\n" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "lid %lu: inserido\n" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 -#, c-format -msgid "lid %lu: update failed: %s\n" -msgstr "lid %lu: atualização falhou %s\n" - -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "lid %lu: atualizado\n" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "lid %lu: correto\n" +#: g10/trustdb.c:1652 +#, fuzzy, c-format +msgid "error reading dir record: %s\n" +msgstr "erro encontrando registro de diretório: %s\n" -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "%lu chaves processadas\n" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, c-format msgid "\t%lu keys with errors\n" msgstr "\t%lu chaves com erros\n" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "\t%lu chaves atualizadas\n" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "\t%lu chaves inseridas\n" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "enumeração de blocos de chaves falhou: %s\n" -#: g10/trustdb.c:2598 -#, c-format -msgid "%s: keyblock read problem: %s\n" -msgstr "%s: erro de leitura de bloco de chaves: %s\n" - -#: g10/trustdb.c:2612 -#, c-format -msgid "%s: update failed: %s\n" -msgstr "%s: atualização falhou: %s\n" - -#: g10/trustdb.c:2615 -#, c-format -msgid "%s: updated\n" -msgstr "%s: atualizado\n" - -#: g10/trustdb.c:2617 -#, c-format -msgid "%s: okay\n" -msgstr "%s: correto\n" - -#: g10/trustdb.c:2632 +#: g10/trustdb.c:1705 #, 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:2645 -#, c-format -msgid "lid %lu: keyblock not found: %s\n" -msgstr "lid %lu: bloco de chaves não encontrado: %s\n" - -#: g10/trustdb.c:2673 +#: g10/trustdb.c:1716 #, c-format msgid "\t%lu keys skipped\n" msgstr "\t%lu chaves ignoradas\n" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:1720 +#, c-format +msgid "\t%lu keys updated\n" +msgstr "\t%lu chaves atualizadas\n" + +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" +msgstr "Ooops, nenhuma chave\n" + +#: g10/trustdb.c:2061 +msgid "Ooops, no user ids\n" +msgstr "Ooops, nenhum id de usuário\n" + +#: g10/trustdb.c:2218 #, 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:2750 +#: g10/trustdb.c:2227 #, 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:2754 +#: g10/trustdb.c:2231 #, 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:2762 +#: g10/trustdb.c:2239 #, 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:2769 +#: g10/trustdb.c:2248 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "chave %08lX.%lu: expirada em %s\n" -#: g10/trustdb.c:2777 +#: g10/trustdb.c:2256 #, 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:2881 +#: g10/trustdb.c:2362 #, c-format msgid "user '%s' not found: %s\n" msgstr "usuário `%s' não encontrado: %s\n" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, 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:2886 +#: g10/trustdb.c:2367 #, 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:2889 +#: g10/trustdb.c:2370 #, 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 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "AVISO: ainda é impossível manipular registros de preferências longos\n" + #: g10/ringedit.c:316 #, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: impossível criar chaveiro: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, c-format msgid "%s: keyring created\n" msgstr "%s: chaveiro criado\n" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "AVISO: existem 2 arquivos com informações confidenciais.\n" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, c-format msgid "%s is the unchanged one\n" msgstr "%s é o não modificado\n" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "%s é o novo\n" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "Por favor conserte este possível furo de segurança\n" @@ -3144,16 +3121,21 @@ msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:122 +#: g10/openfile.c:119 +#, fuzzy +msgid "Enter new filename" +msgstr "--store [nome_do_arquivo]" + +#: g10/openfile.c:160 msgid "writing to stdout\n" msgstr "escrevendo em \"stdout\"\n" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, c-format msgid "assuming signed data in `%s'\n" msgstr "assumindo dados assinados em `%s'\n" -#: g10/openfile.c:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "%s: novo arquivo de opções criado\n" @@ -3227,103 +3209,191 @@ msgid "keygen.valid" msgstr "" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "" -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "" -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "" -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "" -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "" - -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "" -#: g10/helptext.c:176 +#: g10/helptext.c:175 msgid "keyedit.delsig.valid" msgstr "" -#: g10/helptext.c:181 +#: g10/helptext.c:180 msgid "keyedit.delsig.unknown" msgstr "" -#: g10/helptext.c:187 +#: g10/helptext.c:186 msgid "keyedit.delsig.invalid" msgstr "" -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" msgstr "" -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "" -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "" -#: g10/helptext.c:211 +#: g10/helptext.c:210 msgid "detached_signature.filename" msgstr "" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "Nenhuma ajuda disponível" -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "Nenhuma ajuda disponível para `%s'" +#~ msgid "print all message digests" +#~ msgstr "imprime todos os \"digests\" de mensagens" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" +#~ msgstr "" +#~ "NOTA: assinatura rec %lu[%d] está na lista de sugestões de %lu mas está\n" +#~ " marcada como verificada\n" + +#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" +#~ msgstr "" +#~ "NOTA: assinatura rec %lu[%d] está na lista de sugestões de %lu mas não está\n" +#~ " marcada\n" + +#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "assinatura rec %lu[%d] na lista de sugestões de %lu não aponta para\n" +#~ "um registro de diretório\n" + +#~ msgid "lid %lu: no primary key\n" +#~ msgstr "lid %lu: nenhuma chave primária\n" + +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "lid %lu: id de usuário não encontrado no bloco de chaves\n" + +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "lid %lu: id de usuário sem assinatura\n" + +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "lid %lu: auto-assinatura na lista de sugestões\n" + +#~ msgid "very strange: no public key\n" +#~ msgstr "muito estranho: nenhuma chave pública\n" + +#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" +#~ msgstr "" +#~ "lista de sugestões %lu[%d] de %lu não aponta para registro de diretório\n" + +#~ msgid "lid %lu does not have a key\n" +#~ msgstr "lid %lu não tem chave\n" + +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "lid %lu: impossível pegar bloco de chaves: %s\n" + +# muitas ou demais ??? +#~ msgid "Too many preferences" +#~ msgstr "Preferências demais" + +#~ msgid "Too many preference items" +#~ msgstr "Muitos itens de preferência" + +#~ msgid "public key not anymore available" +#~ msgstr "a chave pública não está mais disponível" + +# trauzir sombra ??? +#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" +#~ msgstr "" +#~ "uid %08lX.%lu/%02X%02X: tem diretório \"shadow\" %lu mas ainda não está\n" +#~ "marcado\n" + +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "insert_trust_record: bloco de chaves não encontrado: %s\n" + +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "lid %lu: atualização falhou %s\n" + +#~ msgid "lid %lu: updated\n" +#~ msgstr "lid %lu: atualizado\n" + +#~ msgid "lid %lu: okay\n" +#~ msgstr "lid %lu: correto\n" + +#~ msgid "%s: keyblock read problem: %s\n" +#~ msgstr "%s: erro de leitura de bloco de chaves: %s\n" + +#~ msgid "%s: update failed: %s\n" +#~ msgstr "%s: atualização falhou: %s\n" + +#~ msgid "%s: updated\n" +#~ msgstr "%s: atualizado\n" + +#~ msgid "%s: okay\n" +#~ msgstr "%s: correto\n" + +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "lid %lu: bloco de chaves não encontrado: %s\n" + #~ msgid "can't lock keyring `%': %s\n" #~ msgstr "impossível bloquear chaveiro `%': %s\n" @@ -3448,10 +3518,6 @@ #~ msgid "insert trust record failed: %s\n" #~ msgstr "inserção de registro de confiança falhou: %s\n" - -#, fuzzy -#~ msgid "error finding dir record: %s\n" -#~ msgstr "erro encontrando registro de diretório: %s\n" #~ msgid "Hmmm, public key lost?" #~ msgstr "Hmmm, chave pública perdida?" diff -urN gnupg-0.9.8/po/ru.po gnupg-0.9.9/po/ru.po --- gnupg-0.9.8/po/ru.po Sat Jun 26 13:07:31 1999 +++ gnupg-0.9.9/po/ru.po Fri Jul 23 14:26:05 1999 @@ -9,7 +9,7 @@ # QingLong (couldn't send an email to let you know) msgid "" msgstr "" -"POT-Creation-Date: 1999-06-26 11:22+0200\n" +"POT-Creation-Date: 1999-07-23 14:25+0200\n" "Content-Type: text/plain; charset=\n" "Date: 1998-01-26 22:08:36+0100\n" "From: Gregory Steuck \n" @@ -21,34 +21,34 @@ "g10/mainproc.c g10/passphrase.c g10/plaintext.c g10/pref.c g10/seckey-cert.c " "g10/sig-check.c g10/sign.c g10/trustdb.c g10/verify.c\n" -#: util/secmem.c:76 +#: util/secmem.c:79 msgid "Warning: using insecure memory!\n" msgstr "" "÷ÎÉÍÁÎÉÅ, ×ÏÚÍÏÖÎÁ ÕÔÅÞËÁ ÓÅËÒÅÔÎÙÈ ÄÁÎÎÙÈ!\n" "üÔÕ ÐÒÏÂÌÅÍÕ ÍÏÖÎÏ ÒÅÛÉÔØ, ÕÓÔÁÎÏ×É× ÐÒÏÇÒÁÍÍÕ suid(root).\n" "ïÂÒÁÔÉÔÅÓØ ÄÌÑ ÜÔÏÇÏ Ë ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ ÷ÁÛÅÊ ÓÉÓÔÅÍÙ.\n" -#: util/secmem.c:249 +#: util/secmem.c:275 msgid "operation is not possible without initialized secure memory\n" msgstr "" -#: util/secmem.c:250 +#: util/secmem.c:276 msgid "(you may have used the wrong program for this task)\n" msgstr "" -#: util/miscutil.c:156 util/miscutil.c:173 +#: util/miscutil.c:254 util/miscutil.c:271 msgid "yes" msgstr "ÄÁ(y)" -#: util/miscutil.c:157 util/miscutil.c:175 +#: util/miscutil.c:255 util/miscutil.c:273 msgid "yY" msgstr "yY" -#: g10/keyedit.c:559 util/miscutil.c:174 +#: g10/keyedit.c:564 util/miscutil.c:272 msgid "quit" msgstr "×ÙÈÏÄ" -#: util/miscutil.c:176 +#: util/miscutil.c:274 msgid "qQ" msgstr "" @@ -300,12 +300,12 @@ msgid "you found a bug ... (%s:%d)\n" msgstr "÷Ù ÎÁÛÌÉ ÏÛÉÂËÕ × ÐÒÏÇÒÁÍÍÅ ... (%s:%d)\n" -#: cipher/random.c:412 +#: cipher/random.c:452 #, fuzzy msgid "WARNING: using insecure random number generator!!\n" msgstr "÷ÎÉÍÁÎÉÅ: ÉÓÐÏÌØÚÕÅÔÓÑ ÎÅÎÁÄÅÖÎÙÊ ÇÅÎÅÒÁÔÏÒ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ!\n" -#: cipher/random.c:413 +#: cipher/random.c:453 msgid "" "The random number generator is only a kludge to let\n" "it run - it is in no way a strong RNG!\n" @@ -330,7 +330,7 @@ "îÅÄÏÓÔÁÔÏÞÎÏ ÓÌÕÞÁÊÎÙÈ ÄÁÎÎÙÈ. ðÏÖÁÌÕÊÓÔÁ, ÐÏÄÅÌÁÊÔÅ ÞÔÏ-ÎÉÂÕÄØ, ÞÔÏÂÙ\n" "ïó ÍÏÇÌÁ ÎÁÂÒÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÓÌÕÞÁÊÎÙÅ ÞÉÓÌÁ! (ÎÕÖÎÏ ÅÝÅ %d ÂÁÊÔ)\n" -#: g10/g10.c:174 +#: g10/g10.c:183 msgid "" "@Commands:\n" " " @@ -338,136 +338,142 @@ "@ëÏÍÁÎÄÙ:\n" " " -#: g10/g10.c:176 +#: g10/g10.c:185 #, fuzzy msgid "|[file]|make a signature" msgstr "|[ÆÁÊÌ]|ÓÏÚÄÁÔØ ÐÏÄÐÉÓØ" -#: g10/g10.c:177 +#: g10/g10.c:186 #, fuzzy msgid "|[file]|make a clear text signature" msgstr "|[ÆÁÊÌ]|ÓÏÚÄÁÔØ ÔÅËÓÔÏ×ÕÀ ÐÏÄÐÉÓØ" -#: g10/g10.c:178 +#: g10/g10.c:187 msgid "make a detached signature" msgstr "ÓÏÚÄÁÔØ ÏÔÄÅÌØÎÕÀ ÐÏÄÐÉÓØ" -#: g10/g10.c:179 +#: g10/g10.c:188 msgid "encrypt data" msgstr "ÚÁÛÉÆÒÏ×ÁÔØ ÄÁÎÎÙÅ" -#: g10/g10.c:180 +#: g10/g10.c:189 msgid "encryption only with symmetric cipher" msgstr "ÚÁÛÉÆÒÏ×ÁÔØ ÓÉÍÍÅÔÒÉÞÎÙÍ ÁÌÇÏÒÉÔÍÏÍ" -#: g10/g10.c:181 +#: g10/g10.c:190 msgid "store only" msgstr "ÔÏÌØËÏ ÓÏÈÒÁÎÉÔØ" -#: g10/g10.c:182 +#: g10/g10.c:191 msgid "decrypt data (default)" msgstr "ÒÁÓÛÉÆÒÏ×ÁÔØ ÄÁÎÎÙÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ)" -#: g10/g10.c:183 +#: g10/g10.c:192 msgid "verify a signature" msgstr "ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ" -#: g10/g10.c:184 +#: g10/g10.c:193 msgid "list keys" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ" -#: g10/g10.c:186 +#: g10/g10.c:195 msgid "list keys and signatures" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÐÏÄÐÉÓÅÊ" -#: g10/g10.c:187 +#: g10/g10.c:196 msgid "check key signatures" msgstr "ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ ÎÁ ËÌÀÞÅ" -#: g10/g10.c:188 +#: g10/g10.c:197 msgid "list keys and fingerprints" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ Ó ÉÈ \"ÏÔÐÅÞÁÔËÁÍÉ ÐÁÌØÃÅ×\"" -#: g10/g10.c:189 +#: g10/g10.c:198 msgid "list secret keys" msgstr "ÓÐÉÓÏË ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ" -#: g10/g10.c:190 +#: g10/g10.c:199 msgid "generate a new key pair" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÎÏ×ÕÀ ÐÁÒÕ ËÌÀÞÅÊ (ÏÔËÒÙÔÙÊ É ÓÅËÒÅÔÎÙÊ)" -#: g10/g10.c:191 +#: g10/g10.c:200 msgid "remove key from the public keyring" msgstr "ÕÄÁÌÉÔØ ËÌÀÞ ÓÏ Ó×ÑÚËÉ" -#: g10/g10.c:192 +#: g10/g10.c:201 +#, fuzzy +msgid "sign a key" +msgstr "ÐÏÄÐÉÓÁÔØ ËÌÀÞ" + +#: g10/g10.c:202 +#, fuzzy +msgid "sign a key locally" +msgstr "ÐÏÄÐÉÓÁÔØ ËÌÀÞ" + +#: g10/g10.c:203 msgid "sign or edit a key" msgstr "ÐÏÄÐÉÓÁÔØ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÔØ ËÌÀÞ" -#: g10/g10.c:193 +#: g10/g10.c:204 msgid "generate a revocation certificate" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/g10.c:194 +#: g10/g10.c:205 msgid "export keys" msgstr "ÜËÓÐÏÒÔÉÒÏ×ÁÔØ ËÌÀÞÉ" -#: g10/g10.c:195 +#: g10/g10.c:206 msgid "export keys to a key server" msgstr "" -#: g10/g10.c:196 +#: g10/g10.c:207 msgid "import keys from a key server" msgstr "" -#: g10/g10.c:199 +#: g10/g10.c:210 msgid "import/merge keys" msgstr "ÉÍÐÏÒÔÉÒÏ×ÁÔØ/ÄÏÂÁ×ÉÔØ ËÌÀÞÉ" -#: g10/g10.c:201 +#: g10/g10.c:212 msgid "list only the sequence of packets" msgstr "ÎÁÐÅÞÁÔÁÔØ ÔÏÌØËÏ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÐÁËÅÔÏ×" -#: g10/g10.c:203 +#: g10/g10.c:214 #, fuzzy msgid "export the ownertrust values" msgstr "ÜËÓÐÏÒÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÄÏ×ÅÒÉÑ\n" -#: g10/g10.c:205 +#: g10/g10.c:216 #, fuzzy msgid "import ownertrust values" msgstr "ÉÍÐÏÒÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÄÏ×ÅÒÉÑ\n" -#: g10/g10.c:207 +#: g10/g10.c:218 #, fuzzy -msgid "|[NAMES]|update the trust database" +msgid "update the trust database" msgstr "|[éíåîá]|ÐÒÏ×ÅÒÉÔØ ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ" -#: g10/g10.c:209 +#: g10/g10.c:220 msgid "|[NAMES]|check the trust database" msgstr "|[éíåîá]|ÐÒÏ×ÅÒÉÔØ ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ" -#: g10/g10.c:210 +#: g10/g10.c:221 msgid "fix a corrupted trust database" msgstr "ÉÓÐÒÁ×ÉÔØ ÒÁÚÒÕÛÅÎÎÕÀ ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ" -#: g10/g10.c:211 +#: g10/g10.c:222 msgid "De-Armor a file or stdin" msgstr "äÅËÏÄÉÒÏ×ÁÔØ stdin ÉÌÉ ÆÁÊÌ ÉÚ ASCII-ÐÒÅÄÓÔÁ×ÌÅÎÉÑ" -#: g10/g10.c:212 +#: g10/g10.c:223 msgid "En-Armor a file or stdin" msgstr "úÁËÏÄÉÒÏ×ÁÔØ stdin ÉÌÉ ÆÁÊÌ × ASCII-ÐÒÅÄÓÔÁ×ÌÅÎÉÅ" -#: g10/g10.c:213 +#: g10/g10.c:224 msgid "|algo [files]|print message digests" msgstr "|algo [files]|ÎÁÐÅÞÁÔÁÔØ ÄÁÊÄÖÅÓÔ ÓÏÏÂÝÅÎÉÑ" -#: g10/g10.c:214 -msgid "print all message digests" -msgstr "ÎÁÐÅÞÁÔÁÔØ ×ÓÅ ÄÁÊÄÖÅÓÔÙ ÓÏÏÂÝÅÎÉÑ" - -#: g10/g10.c:220 +#: g10/g10.c:228 msgid "" "@\n" "Options:\n" @@ -477,169 +483,178 @@ "ðÁÒÁÍÅÔÒÙ:\n" " " -#: g10/g10.c:222 +#: g10/g10.c:230 msgid "create ascii armored output" msgstr "×Ù×ÏÄ × ASCII-ÐÒÅÄÓÔÁ×ÌÅÎÉÉ" -#: g10/g10.c:223 +#: g10/g10.c:231 #, fuzzy msgid "|NAME|encrypt for NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ" -#: g10/g10.c:227 +#: g10/g10.c:234 +#, fuzzy +msgid "|NAME|use NAME as default recipient" +msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ éíñ × ËÁÞÅÓÔ×Å ÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ ÐÏ ÕÍÏÌÞÁÎÉÀ" + +#: g10/g10.c:236 +msgid "use the default key as default recipient" +msgstr "" + +#: g10/g10.c:240 msgid "use this user-id to sign or decrypt" msgstr "" "ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ ÉÌÉ ÒÁÓÛÉÆÒÏ×ËÉ" -#: g10/g10.c:228 +#: g10/g10.c:241 msgid "|N|set compress level N (0 disables)" msgstr "|N|ÕÓÔÁÎÏ×ÉÔØ ÕÒÏ×ÅÎØ ÓÖÁÔÉÑ (0 - ÎÅ ÓÖÉÍÁÔØ)" -#: g10/g10.c:230 +#: g10/g10.c:243 msgid "use canonical text mode" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ËÁÎÏÎÉÞÅÓËÉÊ ÔÅËÓÔÏ×ÙÊ ÒÅÖÉÍ" -#: g10/g10.c:231 +#: g10/g10.c:244 msgid "use as output file" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ × ËÁÞÅÓÔ×Å ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ" -#: g10/g10.c:232 +#: g10/g10.c:245 msgid "verbose" msgstr "ÍÎÏÇÏÓÌÏ×ÎÙÊ" -#: g10/g10.c:233 +#: g10/g10.c:246 msgid "be somewhat more quiet" msgstr "" -#: g10/g10.c:234 +#: g10/g10.c:247 msgid "don't use the terminal at all" msgstr "" -#: g10/g10.c:235 +#: g10/g10.c:248 #, fuzzy msgid "force v3 signatures" msgstr "ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ ÎÁ ËÌÀÞÅ" -#: g10/g10.c:236 +#: g10/g10.c:249 #, fuzzy msgid "always use a MDC for encryption" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÛÉÆÒÏ×ÁÎÉÑ" -#: g10/g10.c:237 +#: g10/g10.c:250 msgid "do not make any changes" msgstr "Keine wirklichen Änderungen durchführen" #. { oInteractive, "interactive", 0, N_("prompt before overwriting") }, -#: g10/g10.c:239 +#: g10/g10.c:252 msgid "batch mode: never ask" msgstr "ÐÁËÅÔÎÙÊ ÒÅÖÉÍ: ÎÉÞÅÇÏ ÎÅ ÓÐÒÁÛÉ×ÁÔØ" -#: g10/g10.c:240 +#: g10/g10.c:253 msgid "assume yes on most questions" msgstr "ÏÔ×ÅÞÁÔØ \"ÄÁ\" ÎÁ ÂÏÌØÛÉÎÓÔ×Ï ×ÏÐÒÏÓÏ×" -#: g10/g10.c:241 +#: g10/g10.c:254 msgid "assume no on most questions" msgstr "ÏÔ×ÅÞÁÔØ \"ÎÅÔ\" ÎÁ ÂÏÌØÛÉÎÓÔ×Ï ×ÏÐÒÏÓÏ×" -#: g10/g10.c:242 +#: g10/g10.c:255 msgid "add this keyring to the list of keyrings" msgstr "ÄÏÂÁ×ÉÔØ ÜÔÕ Ó×ÑÚËÕ Ë ÓÐÉÓËÕ Ó×ÑÚÏË ËÌÀÞÅÊ" -#: g10/g10.c:243 +#: g10/g10.c:256 msgid "add this secret keyring to the list" msgstr "ÄÏÂÁ×ÉÔØ ÜÔÕ ÓÅËÒÅÔÎÕÀ Ó×ÑÚËÕ Ë ÓÐÉÓËÕ Ó×ÑÚÏË ËÌÀÞÅÊ" -#: g10/g10.c:244 +#: g10/g10.c:257 msgid "|NAME|use NAME as default secret key" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ éíñ × ËÁÞÅÓÔ×Å ÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: g10/g10.c:245 +#: g10/g10.c:258 msgid "|HOST|use this keyserver to lookup keys" msgstr "" -#: g10/g10.c:246 +#: g10/g10.c:259 #, fuzzy msgid "|NAME|set terminal charset to NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ" -#: g10/g10.c:247 +#: g10/g10.c:260 msgid "read options from file" msgstr "ÞÉÔÁÔØ ÐÁÒÁÍÅÔÒÙ ÉÚ ÆÁÊÌÁ" -#: g10/g10.c:249 +#: g10/g10.c:262 msgid "set debugging flags" msgstr "ÕÓÔÁÎÏ×ÉÔØ ÏÔÌÁÄÏÞÎÙÅ ÆÌÁÇÉ" -#: g10/g10.c:250 +#: g10/g10.c:263 msgid "enable full debugging" msgstr "ÒÁÚÒÅÛÉÔØ ×ÓÀ ÏÔÌÁÄËÕ" -#: g10/g10.c:251 +#: g10/g10.c:264 msgid "|FD|write status info to this FD" msgstr "|FD| ÚÁÐÉÓÙ×ÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ × ÄÅÓËÒÉÐÔÏÒ (FD)" -#: g10/g10.c:252 +#: g10/g10.c:265 msgid "do not write comment packets" msgstr "ÎÅ ÐÉÓÁÔØ ÐÁËÅÔÙ Ó ËÏÍÍÅÎÔÁÒÉÑÍÉ" -#: g10/g10.c:253 +#: g10/g10.c:266 msgid "(default is 1)" msgstr "(ÐÏ ÕÍÏÌÞÁÎÉÀ 1)" -#: g10/g10.c:254 +#: g10/g10.c:267 msgid "(default is 3)" msgstr "(ÐÏ ÕÍÏÌÞÁÎÉÀ 3)" -#: g10/g10.c:256 +#: g10/g10.c:269 #, fuzzy msgid "|FILE|load extension module FILE" msgstr "|æáêì|ÚÁÇÒÕÚÉÔØ æáêì Ó ÒÁÓÛÉÒÑÀÝÉÍÉ ÍÏÄÕÌÑÍÉ" -#: g10/g10.c:257 +#: g10/g10.c:270 msgid "emulate the mode described in RFC1991" msgstr "ÜÍÕÌÉÒÏ×ÁÔØ ÒÅÖÉÍ ÏÐÉÓÁÎÎÙÊ × RFC1991" -#: g10/g10.c:258 +#: g10/g10.c:271 msgid "set all packet, cipher and digest options to OpenPGP behavior" msgstr "" -#: g10/g10.c:259 +#: g10/g10.c:272 #, fuzzy msgid "|N|use passphrase mode N" msgstr "|N|ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ ÒÅÖÉÍÁ N\n" -#: g10/g10.c:261 +#: g10/g10.c:274 #, fuzzy msgid "|NAME|use message digest algorithm NAME for passphrases" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÈÜÛ-ÁÌÇÏÒÉÔÍ éíñ ÄÌÑ ËÌÀÞÅ×ÙÈ ÆÒÁÚ" -#: g10/g10.c:263 +#: g10/g10.c:276 #, fuzzy msgid "|NAME|use cipher algorithm NAME for passphrases" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ ÄÌÑ ËÌÀÞÅ×ÙÈ ÆÒÁÚ" -#: g10/g10.c:264 +#: g10/g10.c:277 msgid "|NAME|use cipher algorithm NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÌØÎÙÊ ÁÌÇÏÒÉÔÍÏÍ éíñ" -#: g10/g10.c:265 +#: g10/g10.c:278 msgid "|NAME|use message digest algorithm NAME" msgstr "|éíñ|ÉÓÐÏÌØÚÏ×ÁÔØ ÈÜÛ-ÁÌÇÏÒÉÔÍ éíñ" -#: g10/g10.c:266 +#: g10/g10.c:279 msgid "|N|use compress algorithm N" msgstr "|N|ÉÓÐÏÌØÚÏ×ÁÔØ ÁÌÇÏÒÉÔÍ ÓÖÁÔÉÑ N" -#: g10/g10.c:267 +#: g10/g10.c:280 msgid "throw keyid field of encrypted packets" msgstr "×ÙÂÒÁÓÙ×ÁÔØ ÐÏÌÅ keyid Õ ÚÁÛÉÆÒÏ×ÁÎÎÙÈ ÐÁËÅÔÏ×" -#: g10/g10.c:268 +#: g10/g10.c:281 msgid "|NAME=VALUE|use this notation data" msgstr "" -#: g10/g10.c:270 +#: g10/g10.c:283 #, fuzzy msgid "" "@\n" @@ -660,17 +675,17 @@ " --list-keys [names] ÐÏËÁÚÁÔØ ÓÐÉÓÏË ËÌÀÞÅÊ\n" " --fingerprint [names] ÐÏËÁÚÁÔØ \"ÏÔÐÅÞÁÔËÉ ÐÁÌØÃÅ×\" ËÌÀÞÅÊ\n" -#: g10/g10.c:347 +#: g10/g10.c:366 msgid "Please report bugs to .\n" msgstr "" "ðÏÖÁÌÕÊÓÔÁ, ÏÔÐÒÁ×ÌÑÊÔÅ ÓÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ ÐÏ ÁÄÒÅÓÕ " ".\n" -#: g10/g10.c:351 +#: g10/g10.c:370 msgid "Usage: gpg [options] [files] (-h for help)" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: gpg [ÐÁÒÁÍÅÔÒÙ] [ÆÁÊÌÙ] (-h ÄÌÑ ÐÏÍÏÝÉ)" -#: g10/g10.c:354 +#: g10/g10.c:373 msgid "" "Syntax: gpg [options] [files]\n" "sign, check, encrypt or decrypt\n" @@ -680,7 +695,7 @@ "ÐÏÄÐÉÓÙ×ÁÅÔ, ÐÒÏ×ÅÒÑÅÔ ÐÏÄÐÉÓÉ, ÛÉÆÒÕÅÔ ÉÌÉ ÒÁÓÛÉÆÒÏ×Ù×ÁÅÔ\n" "ÒÅÖÉÍ ÒÁÂÏÔÙ ÚÁ×ÉÓÉÔ ÏÔ ×ÈÏÄÎÙÈ ÄÁÎÎÙÈ\n" -#: g10/g10.c:359 +#: g10/g10.c:378 msgid "" "\n" "Supported algorithms:\n" @@ -688,171 +703,182 @@ "\n" "ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÁÌÇÏÒÉÔÍÙ:\n" -#: g10/g10.c:433 +#: g10/g10.c:452 msgid "usage: gpg [options] " msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: gpg [ÐÁÒÁÍÅÔÒÙ] " -#: g10/g10.c:473 +#: g10/g10.c:505 msgid "conflicting commands\n" msgstr "Widersprüchliche Kommandos\n" -#: g10/g10.c:605 +#: g10/g10.c:640 #, fuzzy, c-format msgid "NOTE: no default option file `%s'\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ `%s' ÏÔÓÕÔÓÔ×ÕÅÔ\n" -#: g10/g10.c:609 +#: g10/g10.c:644 #, c-format msgid "option file `%s': %s\n" msgstr "ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ× `%s': %s\n" -#: g10/g10.c:616 +#: g10/g10.c:651 #, c-format msgid "reading options from `%s'\n" msgstr "ÞÉÔÁÀÔÓÑ ÐÁÒÁÍÅÔÒÙ ÉÚ `%s'\n" -#: g10/g10.c:782 +#: g10/g10.c:831 #, fuzzy, c-format msgid "%s is not a valid character set\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ËÏÍÍÅÎÔÁÒÉÉ.\n" -#: g10/g10.c:827 g10/g10.c:839 +#: g10/g10.c:895 g10/g10.c:907 msgid "selected cipher algorithm is invalid\n" msgstr "×ÙÂÒÁÎ ÎÅÄÏÐÕÓÔÉÍÙÊ ÁÌÇÏÒÉÔÍ ÛÉÆÒÏ×ÁÎÉÑ\n" -#: g10/g10.c:833 g10/g10.c:845 +#: g10/g10.c:901 g10/g10.c:913 msgid "selected digest algorithm is invalid\n" msgstr "×ÙÂÒÁÎ ÎÅÄÏÐÕÓÔÉÍÙÊ ÄÁÊÄÖÅÓÔ-ÁÌÇÏÒÉÔÍ\n" -#: g10/g10.c:849 +#: g10/g10.c:917 msgid "the given policy URL is invalid\n" msgstr "" -#: g10/g10.c:852 +#: g10/g10.c:920 #, c-format msgid "compress algorithm must be in range %d..%d\n" msgstr "ÁÌÇÏÒÉÔÍ ÕÐÁËÏ×ËÉ ÍÏÖÅÔ ÉÍÅÔØ ÚÎÁÞÅÎÉÑ ÏÔ %d ÄÏ %d\n" -#: g10/g10.c:854 +#: g10/g10.c:922 msgid "completes-needed must be greater than 0\n" msgstr "completes-needed ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ 0\n" -#: g10/g10.c:856 +#: g10/g10.c:924 msgid "marginals-needed must be greater than 1\n" msgstr "marginals-needed ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ 1\n" -#: g10/g10.c:858 +#: g10/g10.c:926 msgid "max-cert-depth must be in range 1 to 255\n" msgstr "" -#: g10/g10.c:861 +#: g10/g10.c:929 #, fuzzy msgid "NOTE: simple S2K mode (0) is strongly discouraged\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÐÒÏÓÔÏÊ S2K ÒÅÖÉÍ (0) ÏÞÅÎØ ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ\n" -#: g10/g10.c:865 +#: g10/g10.c:933 msgid "invalid S2K mode; must be 0, 1 or 3\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÒÅÖÉÍ S2K: ÄÏÌÖÅÎ ÂÙÔØ 0, 1 ÉÌÉ 3\n" -#: g10/g10.c:942 +#: g10/g10.c:1010 #, c-format msgid "failed to initialize the TrustDB: %s\n" msgstr "ïÛÉÂËÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ: %s\n" -#: g10/g10.c:948 +#: g10/g10.c:1016 msgid "--store [filename]" msgstr "--store [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:955 +#: g10/g10.c:1023 msgid "--symmetric [filename]" msgstr "--symmetric [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:963 +#: g10/g10.c:1031 msgid "--encrypt [filename]" msgstr "--encrypt [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:976 +#: g10/g10.c:1044 msgid "--sign [filename]" msgstr "--sign [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:989 +#: g10/g10.c:1057 msgid "--sign --encrypt [filename]" msgstr "--sign --encrypt [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1003 +#: g10/g10.c:1071 msgid "--clearsign [filename]" msgstr "--clearsign [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1015 +#: g10/g10.c:1083 msgid "--decrypt [filename]" msgstr "--decrypt [ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1024 +#: g10/g10.c:1091 +msgid "--sign-key user-id" +msgstr "" + +#: g10/g10.c:1099 #, fuzzy -msgid "--edit-key username [commands]" +msgid "--lsign-key user-id" +msgstr "--delete-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" + +#: g10/g10.c:1107 +#, fuzzy +msgid "--edit-key user-id [commands]" msgstr "--edit-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/g10.c:1038 -msgid "--delete-secret-key username" +#: g10/g10.c:1123 +#, fuzzy +msgid "--delete-secret-key user-id" msgstr "--delete-secret-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/g10.c:1041 -msgid "--delete-key username" +#: g10/g10.c:1126 +#, fuzzy +msgid "--delete-key user-id" msgstr "--delete-key ÉÍÑ-ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366 +#: g10/encode.c:231 g10/g10.c:1150 g10/sign.c:366 #, c-format msgid "can't open %s: %s\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ `%s': %s\n" -#: g10/g10.c:1075 +#: g10/g10.c:1161 msgid "-k[v][v][v][c] [userid] [keyring]" msgstr "-k[v][v][v][c] [ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ] [Ó×ÑÚËÁ ËÌÀÞÅÊ]" -#: g10/g10.c:1134 +#: g10/g10.c:1222 #, c-format msgid "dearmoring failed: %s\n" msgstr "ÏÛÉÂËÁ ÄÅËÏÄÉÒÏ×ÁÎÉÑ: %s\n" -#: g10/g10.c:1142 +#: g10/g10.c:1230 #, c-format msgid "enarmoring failed: %s\n" msgstr "ÏÛÉÂËÁ ËÏÄÉÒÏ×ÁÎÉÑ: %s\n" -#: g10/g10.c:1208 +#: g10/g10.c:1298 #, c-format msgid "invalid hash algorithm `%s'\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÈÜÛ-ÁÌÇÏÒÉÔÍ `%s'\n" -#: g10/g10.c:1283 +#: g10/g10.c:1379 msgid "[filename]" msgstr "[ÉÍÑ ÆÁÊÌÁ]" -#: g10/g10.c:1287 +#: g10/g10.c:1383 msgid "Go ahead and type your message ...\n" msgstr "" -#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66 +#: g10/decrypt.c:59 g10/g10.c:1386 g10/verify.c:66 #, c-format msgid "can't open `%s'\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ `%s'\n" -#: g10/g10.c:1457 +#: g10/g10.c:1555 msgid "" "the first character of a notation name must be a letter or an underscore\n" msgstr "" -#: g10/g10.c:1463 +#: g10/g10.c:1561 msgid "" "a notation name must have only letters, digits, dots or underscores and end " "with an '='\n" msgstr "" -#: g10/g10.c:1469 +#: g10/g10.c:1567 msgid "dots in a notation name must be surrounded by other characters\n" msgstr "" -#: g10/g10.c:1477 +#: g10/g10.c:1575 msgid "a notation value must not use any control characters\n" msgstr "" @@ -933,7 +959,20 @@ "quoted printable character in armor - probably a buggy MTA has been used\n" msgstr "" -#: g10/pkclist.c:137 +#. 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 "" + +# valid user replies (not including 1..4) +#. a string with valid answers +#: g10/pkclist.c:170 +#, fuzzy +msgid "sSmMqQ" +msgstr "sSmMqQ" + +#: g10/pkclist.c:174 #, fuzzy, c-format msgid "" "No trust value assigned to %lu:\n" @@ -942,7 +981,7 @@ "îÅ ÏÐÒÅÄÅÌÅÎÙ ÐÁÒÁÍÅÔÒÙ ÄÏ×ÅÒÉÑ ÄÌÑ %lu:\n" "%4u%c/%08lX %s \"" -#: g10/pkclist.c:147 +#: g10/pkclist.c:186 #, fuzzy msgid "" "Please decide how far you trust this user to correctly\n" @@ -967,30 +1006,23 @@ " 4 = ÷ÅÒÀ ÐÏÌÎÏÓÔØÀ\n" " s = ðÏÖÁÌÕÊÓÔÁ, ÐÏËÁÖÉÔÅ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÉÎÆÏÒÍÁÃÉÀ\n" -#: g10/pkclist.c:156 +#: g10/pkclist.c:195 msgid " m = back to the main menu\n" msgstr " m = ÏÂÒÁÔÎÏ × ÇÌÁ×ÎÏÅ ÍÅÎÀ\n" -#: g10/pkclist.c:158 +#: g10/pkclist.c:197 msgid " q = quit\n" msgstr "" -# valid user replies (not including 1..4) -#. a string with valid answers -#: g10/pkclist.c:163 -#, fuzzy -msgid "sSmMqQ" -msgstr "sSmMqQ" - -#: g10/pkclist.c:167 +#: g10/pkclist.c:203 msgid "Your decision? " msgstr "÷ÁÛÅ ÒÅÛÅÎÉÅ? " -#: g10/pkclist.c:187 +#: g10/pkclist.c:225 msgid "Certificates leading to an ultimately trusted key:\n" msgstr "" -#: g10/pkclist.c:254 +#: g10/pkclist.c:296 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" @@ -1001,70 +1033,70 @@ "ÎÅËÏÔÏÒÙÅ ÎÅÄÏÓÔÁÀÝÉÅ ÚÎÁÞÅÎÉÑ \"ÄÏ×ÅÒÉÑ ×ÌÁÄÅÌØÃÕ\"\n" "\n" -#: g10/pkclist.c:260 +#: g10/pkclist.c:302 msgid "" "No path leading to one of our keys found.\n" "\n" msgstr "" -#: g10/pkclist.c:262 +#: g10/pkclist.c:304 msgid "" "No certificates with undefined trust found.\n" "\n" msgstr "" -#: g10/pkclist.c:264 +#: g10/pkclist.c:306 #, fuzzy msgid "" "No trust values changed.\n" "\n" msgstr "úÎÁÞÅÎÉÑ ÐÁÒÁÍÅÔÒÏ× ÄÏ×ÅÒÉÑ ÎÅ ÉÚÍÅÎÅÎÙ.\n" -#: g10/pkclist.c:281 +#: g10/pkclist.c:323 #, fuzzy, c-format msgid "key %08lX: key has been revoked!\n" msgstr "build_sigrecs: ËÌÀÞ ist widerrufen\n" -#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403 +#: g10/pkclist.c:329 g10/pkclist.c:339 g10/pkclist.c:448 msgid "Use this key anyway? " msgstr "÷ÓÅ ÒÁ×ÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÏÔ ËÌÀÞ?" -#: g10/pkclist.c:291 +#: g10/pkclist.c:333 #, fuzzy, c-format msgid "key %08lX: subkey has been revoked!\n" msgstr "build_sigrecs: ËÌÀÞ ist widerrufen\n" -#: g10/pkclist.c:321 +#: g10/pkclist.c:363 #, fuzzy, c-format msgid "%08lX: key has expired\n" msgstr "úÁÍÅÞÁÎÉÅ: óÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ ÕÖÅ ÉÓÔÅË!\n" -#: g10/pkclist.c:327 +#: g10/pkclist.c:369 #, c-format msgid "%08lX: no info to calculate a trust probability\n" msgstr "" -#: g10/pkclist.c:341 +#: g10/pkclist.c:383 #, fuzzy, c-format msgid "%08lX: We do NOT trust this key\n" msgstr "÷îéíáîéå: íÙ îå ÄÏ×ÅÒÑÅÍ ÜÔÏÍÕ ËÌÀÞÕ!\n" -#: g10/pkclist.c:347 +#: g10/pkclist.c:389 #, 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:353 +#: g10/pkclist.c:395 msgid "This key probably belongs to the owner\n" msgstr "" -#: g10/pkclist.c:358 +#: g10/pkclist.c:400 msgid "This key belongs to us\n" msgstr "" -#: g10/pkclist.c:398 +#: g10/pkclist.c:443 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" @@ -1075,65 +1107,65 @@ "ËÔÏ ÕËÁÚÁÎ ÅÇÏ ×ÌÁÄÅÌØÃÅÍ. ïÔ×ÅÞÁÊÔÅ \"ÄÁ\" ÎÁ ÓÌÅÄÕÀÝÉÊ ×ÏÐÒÏÓ,\n" "ÔÏÌØËÏ ÅÓÌÉ ×Ù *ÄÅÊÓÔ×ÉÔÅÌØÎÏ* ÐÏÎÉÍÁÅÔÅ ÞÔÏ ÄÅÌÁÅÔÅ.\n" -#: g10/pkclist.c:411 g10/pkclist.c:433 +#: g10/pkclist.c:456 g10/pkclist.c:478 msgid "WARNING: Using untrusted key!\n" msgstr "÷îéíáîéå: éÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ Ë ËÏÔÏÒÏÍÕ ÎÅÔ ÄÏ×ÅÒÉÑ!\n" -#: g10/pkclist.c:454 +#: g10/pkclist.c:499 msgid "WARNING: This key has been revoked by its owner!\n" msgstr "÷îéíáîéå: ÷ÌÁÄÅÌÅà ËÌÀÞÁ ÕÖÅ ÏÔÏÚ×ÁÌ ÅÇÏ!\n" -#: g10/pkclist.c:455 +#: g10/pkclist.c:500 msgid " This could mean that the signature is forgery.\n" msgstr " üÔÏ ÍÏÖÅÔ ÏÚÎÁÞÁÔØ, ÞÔÏ ÐÏÄÐÉÓØ ÐÏÄÄÅÌØÎÁÑ.\n" -#: g10/pkclist.c:459 +#: g10/pkclist.c:504 #, fuzzy msgid "WARNING: This subkey has been revoked by its owner!\n" msgstr "÷îéíáîéå: ÷ÌÁÄÅÌÅà ËÌÀÞÁ ÕÖÅ ÏÔÏÚ×ÁÌ ÅÇÏ!\n" -#: g10/pkclist.c:480 +#: g10/pkclist.c:525 msgid "Note: This key has expired!\n" msgstr "úÁÍÅÞÁÎÉÅ: óÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ ÕÖÅ ÉÓÔÅË!\n" -#: g10/pkclist.c:487 +#: g10/pkclist.c:532 msgid "WARNING: This key is not certified with a trusted signature!\n" msgstr "÷îéíáîéå: üÔÏÔ ËÌÀÞ ÎÅ ÚÁ×ÅÒÅÎ ÄÏ×ÅÒÅÎÎÏÊ ÐÏÄÐÉÓØÀ!\n" -#: g10/pkclist.c:489 +#: g10/pkclist.c:534 msgid "" " There is no indication that the signature belongs to the owner.\n" msgstr "" " îÅÔ ÎÉËÁËÉÈ ÕËÁÚÁÎÉÑ ÎÁ ÔÏ, ÞÔÏ ËÌÀÞ ÐÒÉÎÁÄÌÅÖÉÔ ÅÇÏ ×ÌÁÄÅÌØÃÕ.\n" -#: g10/pkclist.c:505 +#: g10/pkclist.c:550 msgid "WARNING: We do NOT trust this key!\n" msgstr "÷îéíáîéå: íÙ îå ÄÏ×ÅÒÑÅÍ ÜÔÏÍÕ ËÌÀÞÕ!\n" -#: g10/pkclist.c:506 +#: g10/pkclist.c:551 msgid " The signature is probably a FORGERY.\n" msgstr " ðÏÄÐÉÓØ ×ÅÒÏÑÔÎÏ -- ðïääåìëá.\n" -#: g10/pkclist.c:513 +#: g10/pkclist.c:558 msgid "" "WARNING: This key is not certified with sufficiently trusted signatures!\n" msgstr "÷îéíáîéå: üÔÏÔ ËÌÀÞ ÎÅ ÚÁ×ÅÒÅÎ ÄÏÓÔÁÔÏÞÎÏ ÄÏ×ÅÒÅÎÎÙÍÉ ÐÏÄÐÉÓÑÍÉ!\n" -#: g10/pkclist.c:516 +#: g10/pkclist.c:561 msgid " It is not certain that the signature belongs to the owner.\n" msgstr " îÅÔ Õ×ÅÒÅÎÎÏÓÔÉ, ÞÔÏ ÐÏÄÐÉÓØ ÐÒÉÎÁÄÌÅÖÉÔ ×ÌÁÄÅÌØÃÕ.\n" -#: g10/pkclist.c:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705 +#: g10/pkclist.c:662 g10/pkclist.c:684 g10/pkclist.c:793 g10/pkclist.c:838 #, c-format msgid "%s: skipped: %s\n" msgstr "%s: ÐÒÏÐÕÝÅÎ: %s\n" -#: g10/pkclist.c:588 g10/pkclist.c:687 +#: g10/pkclist.c:670 g10/pkclist.c:820 #, c-format msgid "%s: skipped: public key already present\n" msgstr "" -#: g10/pkclist.c:611 +#: g10/pkclist.c:697 msgid "" "You did not specify a user ID. (you may use \"-r\")\n" "\n" @@ -1142,20 +1174,34 @@ "\"-r\").\n" "\n" -#: g10/pkclist.c:616 +#: g10/pkclist.c:707 msgid "Enter the user ID: " msgstr "÷×ÅÄÉÔÅ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ: " -#: g10/pkclist.c:627 +#: g10/pkclist.c:719 msgid "No such user ID.\n" msgstr "îÅÔ ÔÁËÏÇÏ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ.\n" -#: g10/pkclist.c:673 +#: g10/pkclist.c:739 +#, fuzzy +msgid "Public key is disabled.\n" +msgstr "ïÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ" + +#: g10/pkclist.c:768 +msgid "unknown default recipient `s'\n" +msgstr "" + +#: g10/pkclist.c:801 #, c-format msgid "%s: error checking key: %s\n" msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ËÌÀÞÁ: %s\n" -#: g10/pkclist.c:711 +#: g10/pkclist.c:806 +#, c-format +msgid "%s: skipped: public key is disabled\n" +msgstr "" + +#: g10/pkclist.c:844 msgid "no valid addressees\n" msgstr "ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÁÄÒÅÓÏ×\n" @@ -1298,29 +1344,29 @@ " m = ÓÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ n ÍÅÓÑÃÅ×\n" " y = ÓÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ n ÌÅÔ\n" -#: g10/keygen.c:524 +#: g10/keygen.c:526 msgid "Key is valid for? (0) " msgstr "ëÌÀÞ ÄÅÊÓÔ×ÉÔÅÌÅÎ × ÔÅÞÅÎÉÅ? (0) " -#: g10/keygen.c:535 +#: g10/keygen.c:547 msgid "invalid value\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÚÎÁÞÅÎÉÅ.\n" -#: g10/keygen.c:540 +#: g10/keygen.c:552 msgid "Key does not expire at all\n" msgstr "âÅÓÓÒÏÞÎÙÊ ËÌÀÞ.\n" #. print the date when the key expires -#: g10/keygen.c:546 +#: g10/keygen.c:558 #, c-format msgid "Key expires at %s\n" msgstr "ëÌÀÞ ÄÅÊÓÔ×ÕÅÔ ÄÏ %s\n" -#: g10/keygen.c:552 +#: g10/keygen.c:564 msgid "Is this correct (y/n)? " msgstr "üÔÏ ×ÅÒÎÏ? (y/n) " -#: g10/keygen.c:595 +#: g10/keygen.c:607 msgid "" "\n" "You need a User-ID to identify your key; the software constructs the user " @@ -1336,44 +1382,44 @@ " \"Vasya Pupkin (KRUTOI) \"\n" "\n" -#: g10/keygen.c:606 +#: g10/keygen.c:618 msgid "Real name: " msgstr "÷ÁÛÅ ÉÍÑ (\"éÍÑ æÁÍÉÌÉÑ\"): " -#: g10/keygen.c:610 +#: g10/keygen.c:622 msgid "Invalid character in name\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ÉÍÅÎÉ\n" -#: g10/keygen.c:612 +#: g10/keygen.c:624 msgid "Name may not start with a digit\n" msgstr "ðÏÌÎÏÅ ÉÍÑ ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ Ó ÃÉÆÒÙ.\n" -#: g10/keygen.c:614 +#: g10/keygen.c:626 msgid "Name must be at least 5 characters long\n" msgstr "ðÏÌÎÏÅ ÉÍÑ ÄÏÌÖÎÏ ÓÏÓÔÏÑÔØ ÎÅ ÍÅÎÅÅ ÞÅÍ ÉÚ 5ÔÉ ÓÉÍ×ÏÌÏ×.\n" -#: g10/keygen.c:622 +#: g10/keygen.c:634 msgid "Email address: " msgstr "E-Mail: " -#: g10/keygen.c:633 +#: g10/keygen.c:645 msgid "Not a valid email address\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ E-Mail\n" -#: g10/keygen.c:641 +#: g10/keygen.c:653 msgid "Comment: " msgstr "ëÏÍÍÅÎÔÁÒÉÊ: " -#: g10/keygen.c:647 +#: g10/keygen.c:659 msgid "Invalid character in comment\n" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ × ËÏÍÍÅÎÔÁÒÉÉ.\n" -#: g10/keygen.c:669 +#: g10/keygen.c:681 #, c-format msgid "You are using the `%s' character set.\n" msgstr "" -#: g10/keygen.c:675 +#: g10/keygen.c:687 #, c-format msgid "" "You selected this USER-ID:\n" @@ -1384,16 +1430,16 @@ " \"%s\"\n" "\n" -#: g10/keygen.c:678 +#: g10/keygen.c:690 msgid "NnCcEeOoQq" msgstr "" -#: g10/keygen.c:688 +#: g10/keygen.c:700 #, 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:740 +#: g10/keygen.c:752 msgid "" "You need a Passphrase to protect your secret key.\n" "\n" @@ -1401,11 +1447,11 @@ "äÌÑ ÚÁÝÉÔÙ ×ÁÛÅÇÏ ËÌÀÞÁ ÎÕÖÎÁ ËÌÀÞÅ×ÁÑ ÆÒÁÚÁ.\n" "\n" -#: g10/keyedit.c:455 g10/keygen.c:748 +#: g10/keyedit.c:456 g10/keygen.c:760 msgid "passphrase not correctly repeated; try again.\n" msgstr "ËÌÀÞÅ×ÁÑ ÆÒÁÚÁ ÎÅ ÂÙÌÁ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÁ, ÐÏÐÒÏÂÕÊÔÅ ÓÎÏ×Á.\n" -#: g10/keygen.c:754 +#: g10/keygen.c:766 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" @@ -1417,7 +1463,7 @@ "×ÒÅÍÑ, ÚÁÐÕÓÔÉ× ÜÔÕ ÐÒÏÇÒÁÍÍÕ Ó ÐÁÒÁÍÅÔÒÏÍ \"--edit-key\".\n" "\n" -#: g10/keygen.c:775 +#: g10/keygen.c:787 #, fuzzy msgid "" "We need to generate a lot of random bytes. It is a good idea to perform\n" @@ -1430,34 +1476,34 @@ "ÎÁÇÒÕÚÉÔØ ÓÅÔÅ×ÕÀ ÉÌÉ ÄÉÓËÏ×ÕÀ ÐÏÄÓÉÓÔÅÍÕ). üÔÏ ÄÁÓÔ ÇÅÎÅÒÁÔÏÒÕ ÓÌÕÞÁÊÎÙÈ\n" "ÞÉÓÅÌ ×ÏÚÍÏÖÎÏÓÔØ ÎÁÂÒÁÔØ ÄÏÓÔÁÔÏÞÎÏ ÜÎÔÒÏÐÉÉ.\n" -#: g10/keygen.c:845 +#: g10/keygen.c:857 msgid "Key generation can only be used in interactive mode\n" msgstr "çÅÎÅÒÁÃÉÑ ËÌÀÞÁ ÍÏÖÅÔ ÂÙÔØ ×ÙÐÏÌÎÅÎÁ ÔÏÌØËÏ × ÉÎÔÅÒÁËÔÉ×ÎÏÍ ÒÅÖÉÍÅ.\n" -#: g10/keygen.c:853 +#: g10/keygen.c:865 msgid "DSA keypair will have 1024 bits.\n" msgstr "ëÌÀÞÅ×ÁÑ ÐÁÒÁ DSA ÂÕÄÅÔ ÉÍÅÔØ ÄÌÉÎÕ 1024 ÂÉÔÁ.\n" -#: g10/keygen.c:859 +#: g10/keygen.c:871 #, fuzzy msgid "Key generation canceled.\n" msgstr "çÅÎÅÒÁÃÉÑ ËÌÀÞÁ ÏÔÍÅÎÅÎÁ: %s\n" -#: g10/keygen.c:869 +#: g10/keygen.c:881 #, c-format msgid "writing public certificate to `%s'\n" msgstr "ÏÔËÒÙÔÙÊ ÓÅÒÔÉÆÉËÁÔ ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/keygen.c:870 +#: g10/keygen.c:882 #, c-format msgid "writing secret certificate to `%s'\n" msgstr "ÓÅËÒÅÔÎÙÊ ÓÅÒÔÉÆÉËÁÔ ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/keygen.c:947 +#: g10/keygen.c:959 msgid "public and secret key created and signed.\n" msgstr "ÏÔËÒÙÔÙÊ É ÓÅËÒÅÔÎÙÊ ËÌÀÞÉ ÓÏÚÄÁÎÙ É ÐÏÄÐÉÓÁÎÙ.\n" -#: g10/keygen.c:949 +#: g10/keygen.c:961 #, fuzzy msgid "" "Note that this key cannot be used for encryption. You may want to use\n" @@ -1468,12 +1514,12 @@ "ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ\n" "ËÌÀÞÁ ÄÌÑ ÛÉÆÒÏ×ÁÎÉÑ.\n" -#: g10/keygen.c:963 g10/keygen.c:1062 +#: g10/keygen.c:975 g10/keygen.c:1074 #, c-format msgid "Key generation failed: %s\n" msgstr "çÅÎÅÒÁÃÉÑ ËÌÀÞÁ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105 +#: g10/keygen.c:1019 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" @@ -1481,7 +1527,7 @@ "ÏÔËÒÙÔÙÊ ËÌÀÞ ÓÇÅÎÅÒÉÒÏ×ÁÎ × ÂÕÄÕÝÅÍ (ÉÓËÒÉ×ÌÅÎÉÅ ×ÒÅÍÅÎÉ ÉÌÉ ÎÅÐÒÁ×ÉÌØÎÏ " "ÕÓÔÁÎÏ×ÌÅÎÙ ÞÁÓÙ)\n" -#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107 +#: g10/keygen.c:1021 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" @@ -1489,12 +1535,12 @@ "ÏÔËÒÙÔÙÊ ËÌÀÞ ÓÇÅÎÅÒÉÒÏ×ÁÎ × ÂÕÄÕÝÅÍ (ÉÓËÒÉ×ÌÅÎÉÅ ×ÒÅÍÅÎÉ ÉÌÉ ÎÅÐÒÁ×ÉÌØÎÏ " "ÕÓÔÁÎÏ×ÌÅÎÙ ÞÁÓÙ)\n" -#: g10/keygen.c:1040 +#: g10/keygen.c:1052 #, fuzzy msgid "Really create? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÓÏÚÄÁÔØ? " -#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467 +#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467 #: g10/tdbio.c:528 #, c-format msgid "%s: can't open: %s\n" @@ -1548,243 +1594,248 @@ msgid "too many entries in unk cache - disabled\n" msgstr "" -#: g10/getkey.c:1535 g10/getkey.c:1591 +#: g10/getkey.c:1565 g10/getkey.c:1621 #, c-format msgid "using secondary key %08lX instead of primary key %08lX\n" msgstr "ÉÓÐÏÌØÚÕÅÔÓÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ËÌÀÞ %09lX ×ÍÅÓÔÏ ÏÓÎÏ×ÎÏÇÏ %08lX%\n" -#: g10/import.c:116 +#: g10/import.c:118 #, fuzzy, c-format msgid "can't open `%s': %s\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ `%s': %s\n" -#: g10/import.c:160 +#: g10/import.c:162 #, c-format msgid "skipping block of type %d\n" msgstr "ÐÒÏÐÕÓËÁÅÍ ÂÌÏË ÔÉÐÁ %d\n" -#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668 +#: g10/import.c:169 g10/trustdb.c:1658 g10/trustdb.c:1697 #, c-format msgid "%lu keys so far processed\n" msgstr "" -#: g10/import.c:172 +#: g10/import.c:174 #, fuzzy, c-format msgid "error reading `%s': %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/import.c:175 +#: g10/import.c:177 #, c-format msgid "Total number processed: %lu\n" msgstr "" -#: g10/import.c:177 +#: g10/import.c:179 #, c-format msgid " w/o user IDs: %lu\n" msgstr "" -#: g10/import.c:179 +#: g10/import.c:181 #, c-format msgid " imported: %lu" msgstr "" -#: g10/import.c:185 +#: g10/import.c:187 #, c-format msgid " unchanged: %lu\n" msgstr "" -#: g10/import.c:187 +#: g10/import.c:189 #, c-format msgid " new user IDs: %lu\n" msgstr "" -#: g10/import.c:189 +#: g10/import.c:191 #, c-format msgid " new subkeys: %lu\n" msgstr "" -#: g10/import.c:191 +#: g10/import.c:193 #, fuzzy, c-format msgid " new signatures: %lu\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/import.c:193 +#: g10/import.c:195 #, c-format msgid " new key revocations: %lu\n" msgstr "" -#: g10/import.c:195 +#: g10/import.c:197 #, c-format msgid " secret keys read: %lu\n" msgstr "" -#: g10/import.c:197 +#: g10/import.c:199 #, fuzzy, c-format msgid " secret keys imported: %lu\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" -#: g10/import.c:199 +#: g10/import.c:201 #, fuzzy, c-format msgid " secret keys unchanged: %lu\n" msgstr "éÓÐÏÌØÚÏ×ÁÎ ÎÅÐÒÁ×ÉÌØÎÙÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" -#: g10/import.c:342 g10/import.c:529 +#: g10/import.c:362 g10/import.c:554 #, c-format msgid "key %08lX: no user id\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/import.c:353 +#: g10/import.c:376 #, c-format msgid "key %08lX: no valid user ids\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/import.c:355 +#: g10/import.c:378 msgid "this may be caused by a missing self-signature\n" msgstr "ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÏ ÏÔÓÕÔÓÔ×ÉÅÍ ÓÁÍÏ-ÐÏÄÐÉÓÉ\n" -#: g10/import.c:366 g10/import.c:596 +#: g10/import.c:389 g10/import.c:621 #, c-format msgid "key %08lX: public key not found: %s\n" msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" -#: g10/import.c:372 +#: g10/import.c:395 msgid "no default public keyring\n" msgstr "ÎÅÔ Ó×ÑÚËÉ ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ ÐÏ ÕÍÏÌÞÁÎÉÀ\n" -#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559 +#: g10/import.c:399 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559 #, c-format msgid "writing to `%s'\n" msgstr "ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645 +#: g10/import.c:402 g10/import.c:460 g10/import.c:569 g10/import.c:670 #, fuzzy, c-format msgid "can't lock keyring `%s': %s\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ Ó×ÑÚËÕ ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ: %s\n" -#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648 +#: g10/import.c:405 g10/import.c:463 g10/import.c:572 g10/import.c:673 #, fuzzy, c-format msgid "error writing keyring `%s': %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/import.c:387 +#: g10/import.c:410 #, c-format msgid "key %08lX: public key imported\n" msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" -#: g10/import.c:399 +#: g10/import.c:427 #, c-format msgid "key %08lX: doesn't match our copy\n" msgstr "ËÌÀÞ %08lX: ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÎÁÛÅÊ ËÏÐÉÅÊ\n" -#: g10/import.c:411 g10/import.c:604 +#: g10/import.c:436 g10/import.c:629 #, c-format msgid "key %08lX: can't locate original keyblock: %s\n" msgstr "ËÌÀÞ %08lX: ÎÅ×ÏÚÍÏÖÎÏ ÏÂÎÁÒÕÖÉÔØ original keyblock: %s\n" -#: g10/import.c:417 g10/import.c:610 +#: g10/import.c:442 g10/import.c:635 #, c-format msgid "key %08lX: can't read original keyblock: %s\n" msgstr "ËÌÀÞ %08lX: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ original keyblock: %s\n" -#: g10/import.c:444 +#: g10/import.c:469 #, c-format msgid "key %08lX: 1 new user-id\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/import.c:447 +#: g10/import.c:472 #, c-format msgid "key %08lX: %d new user-ids\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/import.c:450 +#: g10/import.c:475 #, c-format msgid "key %08lX: 1 new signature\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÁÑ ÐÏÄÐÉÓØ\n" -#: g10/import.c:453 +#: g10/import.c:478 #, c-format msgid "key %08lX: %d new signatures\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/import.c:456 +#: g10/import.c:481 #, c-format msgid "key %08lX: 1 new subkey\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÙÊ ÐÏÄ-ËÌÀÞ\n" -#: g10/import.c:459 +#: g10/import.c:484 #, c-format msgid "key %08lX: %d new subkeys\n" msgstr "ËÌÀÞ %08lX: %d ÎÏ×ÙÈ ÐÏÄ-ËÌÀÞÅÊ\n" -#: g10/import.c:469 +#: g10/import.c:494 #, c-format msgid "key %08lX: not changed\n" msgstr "ËÌÀÞ %08lX: ÎÅ ÉÚÍÅÎÅÎ\n" -#: g10/import.c:552 +#: g10/import.c:577 #, c-format msgid "key %08lX: secret key imported\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" #. we can't merge secret keys -#: g10/import.c:556 +#: g10/import.c:581 #, c-format msgid "key %08lX: already in secret keyring\n" msgstr "ËÌÀÞ %08lX: ÕÖÅ ÎÁ Ó×ÑÚËÅ ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ\n" -#: g10/import.c:561 +#: g10/import.c:586 #, c-format msgid "key %08lX: secret key not found: %s\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" -#: g10/import.c:590 +#: g10/import.c:615 #, c-format msgid "key %08lX: no public key - can't apply revocation certificate\n" msgstr "" "ËÌÀÞ %08lX: ÎÅÔ ÏÔËÒÙÔÏÇÏ ËÌÀÞÁ - ÎÅ×ÏÚÍÏÖÎÏ ÐÒÉÍÅÎÉÔØ ÏÔÚÙ×ÁÀÝÉÊ " "ÓÅÒÔÉÆÉËÁÔ\n" -#: g10/import.c:621 +#: g10/import.c:646 #, c-format msgid "key %08lX: invalid revocation certificate: %s - rejected\n" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÙÊ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ: %s - ÏÔ×ÅÒÇÎÕÔ\n" -#: g10/import.c:653 +#: g10/import.c:678 #, c-format msgid "key %08lX: revocation certificate imported\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ ÉÍÐÏÒÔÉÒÏ×ÁÎ\n" -#: g10/import.c:686 +#: g10/import.c:711 #, c-format msgid "key %08lX: no user-id for signature\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ\n" -#: g10/import.c:693 g10/import.c:717 +#: g10/import.c:718 g10/import.c:742 #, c-format msgid "key %08lX: unsupported public key algorithm\n" msgstr "ËÌÀÞ %08lX: ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÁÌÇÏÒÉÔÍ ÏÔËÒÙÔÏÇÏ ËÌÀÞÁ\n" -#: g10/import.c:694 +#: g10/import.c:719 #, c-format msgid "key %08lX: invalid self-signature\n" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÁÑ ÓÁÍÏ-ÐÏÄÐÉÓØ\n" -#: g10/import.c:709 +#: g10/import.c:734 #, fuzzy, c-format msgid "key %08lX: no subkey for key binding\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/import.c:718 +#: g10/import.c:743 #, fuzzy, c-format msgid "key %08lX: invalid subkey binding\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/import.c:750 +#: g10/import.c:769 +#, fuzzy, c-format +msgid "key %08lX: accepted non self-signed userid '" +msgstr "ËÌÀÞ %08lX: ÐÒÏÐÕÝÅÎ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ '" + +#: g10/import.c:798 #, c-format msgid "key %08lX: skipped userid '" msgstr "ËÌÀÞ %08lX: ÐÒÏÐÕÝÅÎ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ '" -#: g10/import.c:773 +#: g10/import.c:821 #, fuzzy, c-format msgid "key %08lX: skipped subkey\n" msgstr "ËÌÀÞ %08lX: 1 ÎÏ×ÙÊ ÐÏÄ-ËÌÀÞ\n" @@ -1793,86 +1844,86 @@ #. * 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:798 +#: g10/import.c:846 #, fuzzy, c-format msgid "key %08lX: non exportable signature (class %02x) - skipped\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ × ÎÅÐÒÁ×ÉÌØÎÏÍ ÍÅÓÔÅ - ÐÒÏÐÕÝÅÎ\n" -#: g10/import.c:807 +#: g10/import.c:855 #, c-format msgid "key %08lX: revocation certificate at wrong place - skipped\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ × ÎÅÐÒÁ×ÉÌØÎÏÍ ÍÅÓÔÅ - ÐÒÏÐÕÝÅÎ\n" -#: g10/import.c:815 +#: g10/import.c:863 #, c-format msgid "key %08lX: invalid revocation certificate: %s - skipped\n" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÙÊ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ: %s - ÐÒÏÐÕÝÅÎ\n" -#: g10/import.c:915 +#: g10/import.c:963 #, c-format msgid "key %08lX: duplicated user ID detected - merged\n" msgstr "" -#: g10/import.c:966 +#: g10/import.c:1014 #, c-format msgid "key %08lX: revocation certificate added\n" msgstr "ËÌÀÞ %08lX: ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ ÄÏÂÁ×ÌÅÎ\n" -#: g10/import.c:1079 g10/import.c:1134 +#: g10/import.c:1127 g10/import.c:1182 #, c-format msgid "key %08lX: our copy has no self-signature\n" msgstr "ËÌÀÞ %08lX: ÎÁÛÁ ËÏÐÉÑ ÎÅ ÉÍÅÅÔ ÓÁÍÏ-ÐÏÄÐÉÓÉ\n" -#: g10/keyedit.c:92 +#: g10/keyedit.c:93 #, c-format msgid "%s: user not found\n" msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÎÁÊÄÅÎ\n" -#: g10/keyedit.c:153 +#: g10/keyedit.c:154 msgid "[revocation]" msgstr "" -#: g10/keyedit.c:154 +#: g10/keyedit.c:155 #, fuzzy msgid "[self-signature]" msgstr "[ÓÁÍÏ-ÐÏÄÐÉÓØ]\n" -#: g10/keyedit.c:218 +#: g10/keyedit.c:219 #, fuzzy msgid "1 bad signature\n" msgstr "1 ÐÌÏÈÁÑ ÐÏÄÐÉÓØ\n" -#: g10/keyedit.c:220 +#: g10/keyedit.c:221 #, c-format msgid "%d bad signatures\n" msgstr "%d ÐÌÏÈÉÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/keyedit.c:222 +#: g10/keyedit.c:223 #, fuzzy msgid "1 signature not checked due to a missing key\n" msgstr "1 ÐÏÄÐÉÓØ ÎÅ ÐÒÏ×ÅÒÅÎÁ ÉÚ-ÚÁ ÏÔÓÕÔÓÔ×ÉÑ ËÌÀÞÁ\n" -#: g10/keyedit.c:224 +#: g10/keyedit.c:225 #, fuzzy, c-format msgid "%d signatures not checked due to missing keys\n" msgstr "%s ÐÏÄÐÉÓÅÊ ÎÅ ÐÒÏ×ÅÒÅÎÏ ÉÚ-ÚÁ ÏÔÓÕÔÓÔ×ÉÑ ËÌÀÞÅÊ\n" -#: g10/keyedit.c:226 +#: g10/keyedit.c:227 #, fuzzy msgid "1 signature not checked due to an error\n" msgstr "1 ÐÏÄÐÉÓØ ÎÅ ÐÒÏ×ÅÒÅÎÁ ÉÚ-ÚÁ ÏÛÉÂËÉ\n" -#: g10/keyedit.c:228 +#: g10/keyedit.c:229 #, c-format msgid "%d signatures not checked due to errors\n" msgstr "%s ÐÏÄÐÉÓÅÊ ÎÅ ÐÒÏ×ÅÒÅÎÏ ÉÚ-ÚÁ ÏÛÉÂÏË\n" -#: g10/keyedit.c:230 +#: g10/keyedit.c:231 #, fuzzy msgid "1 user id without valid self-signature detected\n" msgstr "ÏÂÎÁÒÕÖÅÎ 1 ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ ÂÅÚ ÄÏÐÕÓÔÉÍÏÊ ÓÁÍÏ-ÐÏÄÐÉÓÉ\n" -#: g10/keyedit.c:232 +#: g10/keyedit.c:233 #, c-format msgid "%d user ids without valid self-signatures detected\n" msgstr "" @@ -1880,52 +1931,52 @@ #. Fixme: see whether there is a revocation in which #. * case we should allow to sign it again. -#: g10/keyedit.c:312 +#: g10/keyedit.c:313 #, fuzzy, c-format msgid "Already signed by key %08lX\n" msgstr "õÖÅ ÐÏÄÐÉÓÁÎÏ ËÌÀÞÏÍ %08lX.\n" -#: g10/keyedit.c:320 +#: g10/keyedit.c:321 #, fuzzy, c-format msgid "Nothing to sign with key %08lX\n" msgstr "îÅÞÅÇÏ ÐÏÄÐÉÓÙ×ÁÔØ ËÌÀÞÁÍ %08lX\n" -#: g10/keyedit.c:329 +#: g10/keyedit.c:330 #, fuzzy msgid "" "Are you really sure that you want to sign this key\n" "with your key: \"" msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÐÏÄÐÉÓÁÔØ ÜÔÏÔ ËÌÀÞ Ó×ÏÉÍ:\n" -#: g10/keyedit.c:338 +#: g10/keyedit.c:339 msgid "" "The signature will be marked as non-exportable.\n" "\n" msgstr "" -#: g10/keyedit.c:343 +#: g10/keyedit.c:344 msgid "Really sign? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÐÏÄÐÉÓÁÔØ? " -#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128 +#: g10/keyedit.c:370 g10/keyedit.c:1832 g10/keyedit.c:1881 g10/sign.c:128 #, fuzzy, c-format msgid "signing failed: %s\n" msgstr "ÏÛÉÂËÁ ÐÏÄÐÉÓÙ×ÁÎÉÑ: %s\n" -#: g10/keyedit.c:422 +#: g10/keyedit.c:423 msgid "This key is not protected.\n" msgstr "üÔÏÔ ËÌÀÞ ÎÅ ÚÁÝÉÝÅÎ.\n" -#: g10/keyedit.c:425 +#: g10/keyedit.c:426 msgid "Key is protected.\n" msgstr "üÔÏÔ ËÌÀÞ ÚÁÝÉÝÅÎ.\n" -#: g10/keyedit.c:442 +#: g10/keyedit.c:443 #, c-format msgid "Can't edit this key: %s\n" msgstr "îÅ×ÏÚÍÏÖÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÏÔ ËÌÀÞ: %s\n" -#: g10/keyedit.c:447 +#: g10/keyedit.c:448 msgid "" "Enter the new passphrase for this secret key.\n" "\n" @@ -1933,7 +1984,7 @@ "÷×ÅÄÉÔÅ ÎÏ×ÕÀ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ ÄÌÑ ÜÔÏÇÏ ÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ.\n" "\n" -#: g10/keyedit.c:459 +#: g10/keyedit.c:460 msgid "" "You don't want a passphrase - this is probably a *bad* idea!\n" "\n" @@ -1941,513 +1992,547 @@ "÷Ù ÎÅ ÈÏÔÉÔÅ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ - ÜÔÏ ÓËÏÒÅÅ ×ÓÅÇÏ *ÐÌÏÈÁÑ* ÉÄÅÑ!\n" "\n" -#: g10/keyedit.c:462 +#: g10/keyedit.c:463 msgid "Do you really want to do this? " msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÜÔÏÇÏ ÈÏÔÉÔÅ? " -#: g10/keyedit.c:523 +#: g10/keyedit.c:524 msgid "moving a key signature to the correct place\n" msgstr "" -#: g10/keyedit.c:559 +#: g10/keyedit.c:564 msgid "quit this menu" msgstr "×ÙÊÔÉ ÉÚ ÍÅÎÀ" -#: g10/keyedit.c:560 +#: g10/keyedit.c:565 msgid "q" msgstr "" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save" msgstr "ÚÁÐÉÓÁÔØ" -#: g10/keyedit.c:561 +#: g10/keyedit.c:566 msgid "save and quit" msgstr "ÚÁÐÉÓÁÔØ É ×ÙÊÔÉ" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "help" msgstr "ÐÏÍÏÝØ" -#: g10/keyedit.c:562 +#: g10/keyedit.c:567 msgid "show this help" msgstr "ÐÏËÁÚÁÔØ ÐÏÍÏÝØ" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 msgid "fpr" msgstr "" -#: g10/keyedit.c:564 +#: g10/keyedit.c:569 #, fuzzy msgid "show fingerprint" msgstr "ÐÏËÁÚÁÔØ \"ÏÔÐÅÞÁÔÏË ÐÁÌØÃÁ\"" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 #, fuzzy msgid "list" msgstr "ÓÐÉÓÏË" -#: g10/keyedit.c:565 +#: g10/keyedit.c:570 #, fuzzy msgid "list key and user ids" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ" -#: g10/keyedit.c:566 +#: g10/keyedit.c:571 msgid "l" msgstr "" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "uid" msgstr "" -#: g10/keyedit.c:567 +#: g10/keyedit.c:572 msgid "select user id N" msgstr "×ÙÂÒÁÔØ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ N" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "key" msgstr "ËÌÀÞ" -#: g10/keyedit.c:568 +#: g10/keyedit.c:573 msgid "select secondary key N" msgstr "×ÙÂÒÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ËÌÀÞ N" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 msgid "check" msgstr "ÐÒÏ×ÅÒËÁ" -#: g10/keyedit.c:569 +#: g10/keyedit.c:574 #, fuzzy msgid "list signatures" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÉÈ ÐÏÄÐÉÓÅÊ" -#: g10/keyedit.c:570 +#: g10/keyedit.c:575 msgid "c" msgstr "" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 msgid "sign" msgstr "ÐÏÄÐÉÓÁÔØ" -#: g10/keyedit.c:571 +#: g10/keyedit.c:576 #, fuzzy msgid "sign the key" msgstr "ÐÏÄÐÉÓÁÔØ ËÌÀÞ" -#: g10/keyedit.c:572 +#: g10/keyedit.c:577 msgid "s" msgstr "" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 #, fuzzy msgid "lsign" msgstr "ÐÏÄÐÉÓÁÔØ" -#: g10/keyedit.c:573 +#: g10/keyedit.c:578 #, fuzzy msgid "sign the key locally" msgstr "ÐÏÄÐÉÓÁÔØ ËÌÀÞ" -#: g10/keyedit.c:574 +#: g10/keyedit.c:579 msgid "debug" msgstr "ÏÔÌÁÄËÁ" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "adduid" msgstr "" -#: g10/keyedit.c:575 +#: g10/keyedit.c:580 msgid "add a user id" msgstr "ÄÏÂÁ×ÉÔØ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 msgid "deluid" msgstr "" -#: g10/keyedit.c:576 +#: g10/keyedit.c:581 #, fuzzy msgid "delete user id" msgstr "ÕÄÁÌÉÔØ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 msgid "addkey" msgstr "" -#: g10/keyedit.c:577 +#: g10/keyedit.c:582 #, fuzzy msgid "add a secondary key" msgstr "ÄÏÂÁ×ÉÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ËÌÀÞ" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delkey" msgstr "" -#: g10/keyedit.c:578 +#: g10/keyedit.c:583 msgid "delete a secondary key" msgstr "ÕÄÁÌÉÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ËÌÀÞ" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delsig" msgstr "ÐÏÄÐÉÓÁÔØ" -#: g10/keyedit.c:579 +#: g10/keyedit.c:584 #, fuzzy msgid "delete signatures" msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÉÈ ÐÏÄÐÉÓÅÊ" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 msgid "expire" msgstr "" -#: g10/keyedit.c:580 +#: g10/keyedit.c:585 #, fuzzy msgid "change the expire date" msgstr "ÉÚÍÅÎÉÔØ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle" msgstr "" -#: g10/keyedit.c:581 +#: g10/keyedit.c:586 msgid "toggle between secret and public key listing" msgstr "ÐÅÒÅËÌÀÞÉÔØ ÍÅÖÄÕ ÓÐÉÓËÏÍ ÓÅËÒÅÔÎÙÈ É ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ" -#: g10/keyedit.c:583 +#: g10/keyedit.c:588 msgid "t" msgstr "" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "pref" msgstr "" -#: g10/keyedit.c:584 +#: g10/keyedit.c:589 msgid "list preferences" msgstr "" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 msgid "passwd" msgstr "" -#: g10/keyedit.c:585 +#: g10/keyedit.c:590 #, fuzzy msgid "change the passphrase" msgstr "ÉÚÍÅÎÉÔØ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "trust" msgstr "" -#: g10/keyedit.c:586 +#: g10/keyedit.c:591 msgid "change the ownertrust" msgstr "ÉÚÍÅÎÉÔØ ÐÁÒÁÍÅÔÒÙ ÄÏ×ÅÒÉÑ" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 #, fuzzy msgid "revsig" msgstr "ÐÏÄÐÉÓÁÔØ" -#: g10/keyedit.c:587 +#: g10/keyedit.c:592 #, fuzzy msgid "revoke signatures" msgstr "ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ ÎÁ ËÌÀÞÅ" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 #, fuzzy msgid "revkey" msgstr "ËÌÀÞ" -#: g10/keyedit.c:588 +#: g10/keyedit.c:593 #, fuzzy msgid "revoke a secondary key" msgstr "ÕÄÁÌÉÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ËÌÀÞ" -#: g10/keyedit.c:607 +#: g10/keyedit.c:594 +msgid "disable" +msgstr "" + +#: g10/keyedit.c:594 +#, fuzzy +msgid "disable a key" +msgstr "ðÌÏÈÏÊ ËÌÀÞ" + +#: g10/keyedit.c:595 +msgid "enable" +msgstr "" + +#: g10/keyedit.c:595 +#, fuzzy +msgid "enable a key" +msgstr "ðÌÏÈÏÊ ËÌÀÞ" + +#: g10/keyedit.c:614 msgid "can't do that in batchmode\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÜÔÏ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ.\n" #. check that they match -#. FIXME: check that they both match -#: g10/keyedit.c:636 +#. fixme: check that they both match +#: g10/keyedit.c:652 #, fuzzy msgid "Secret key is available.\n" msgstr "éÍÅÅÔÓÑ ÓÅËÒÅÔÎÙÊ ËÌÀÞ.\n" -#: g10/keyedit.c:665 +#: g10/keyedit.c:681 #, fuzzy msgid "Command> " msgstr "ëÏÍÁÎÄÁ> " -#: g10/keyedit.c:692 +#: g10/keyedit.c:711 #, fuzzy msgid "Need the secret key to do this.\n" msgstr "þÔÏÂÙ ÜÔÏ ÓÄÅÌÁÔØ, ÎÕÖÅÎ ÓÅËÒÅÔÎÙÊ ËÌÀÞ.\n" -#: g10/keyedit.c:714 -msgid "Save changes? " -msgstr "óÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ? " - -#: g10/keyedit.c:717 -msgid "Quit without saving? " -msgstr "÷ÙÊÔÉ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ? " - -#: g10/keyedit.c:727 -#, fuzzy, c-format -msgid "update failed: %s\n" -msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ: %s\n" - -#: g10/keyedit.c:734 -#, fuzzy, c-format -msgid "update secret failed: %s\n" -msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" - -#: g10/keyedit.c:741 -msgid "Key not changed so no update needed.\n" -msgstr "ëÌÀÞ ÎÅ ÉÚÍÅÎÉÌÓÑ, ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÎÕÖÎÏ.\n" - -#: g10/keyedit.c:744 g10/keyedit.c:803 -#, fuzzy, c-format -msgid "update of trustdb failed: %s\n" -msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" - -#: g10/keyedit.c:777 +#: g10/keyedit.c:758 msgid "Really sign all user ids? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÐÏÄÐÉÓÁÔØ ×ÓÅ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ ÐÏÌØÚÏ×ÁÔÅÌÑ? " -#: g10/keyedit.c:778 +#: g10/keyedit.c:759 msgid "Hint: Select the user ids to sign\n" msgstr "" "ðÏÄÓËÁÚËÁ: ×ÙÂÅÒÉÔÅ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ ÐÏÌØÚÏ×ÁÔÅÌÑ ËÏÔÏÒÙÅ ÈÏÔÉÔÅ ÐÏÄÐÉÓÁÔØ\n" -#: g10/keyedit.c:814 g10/keyedit.c:835 +#: g10/keyedit.c:786 g10/keyedit.c:968 +#, fuzzy, c-format +msgid "update of trustdb failed: %s\n" +msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" + +#: g10/keyedit.c:797 g10/keyedit.c:818 msgid "You must select at least one user id.\n" msgstr "÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ ÈÏÔÑ ÂÙ ÏÄÉÎ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ.\n" -#: g10/keyedit.c:816 +#: g10/keyedit.c:799 msgid "You can't delete the last user id!\n" msgstr "÷Ù ÎÅ ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÐÏÓÌÅÄÎÉÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ!\n" -#: g10/keyedit.c:819 +#: g10/keyedit.c:802 #, fuzzy msgid "Really remove all selected user ids? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÕÄÁÌÉÔØ ×ÓÅ ×ÙÂÒÁÎÎÙÅ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ ÐÏÌØÚÏ×ÁÔÅÌÑ? " -#: g10/keyedit.c:820 +#: g10/keyedit.c:803 #, fuzzy msgid "Really remove this user id? " msgstr "äÅÊÓÔ×ÉÔÅÌØÎÏ ÕÄÁÌÉÔØ ÜÔÏÔ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ? " -#: g10/keyedit.c:858 g10/keyedit.c:880 +#: g10/keyedit.c:839 g10/keyedit.c:861 msgid "You must select at least one key.\n" msgstr "÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ ÈÏÔÑ ÂÙ ÏÄÉÎ ËÌÀÞ.\n" -#: g10/keyedit.c:862 +#: g10/keyedit.c:843 #, fuzzy msgid "Do you really want to delete the selected keys? " msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ×ÙÂÒÁÎÎÙÅ ËÌÀÞÉ? " -#: g10/keyedit.c:863 +#: g10/keyedit.c:844 #, fuzzy msgid "Do you really want to delete this key? " msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ÜÔÏÔ ËÌÀÞ? " -#: g10/keyedit.c:884 +#: g10/keyedit.c:865 #, fuzzy msgid "Do you really want to revoke the selected keys? " msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ×ÙÂÒÁÎÎÙÅ ËÌÀÞÉ? " -#: g10/keyedit.c:885 +#: g10/keyedit.c:866 #, fuzzy msgid "Do you really want to revoke this key? " msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ÜÔÏÔ ËÌÀÞ? " -#: g10/keyedit.c:939 +#: g10/keyedit.c:932 +msgid "Save changes? " +msgstr "óÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ? " + +#: g10/keyedit.c:935 +msgid "Quit without saving? " +msgstr "÷ÙÊÔÉ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ? " + +#: g10/keyedit.c:946 +#, fuzzy, c-format +msgid "update failed: %s\n" +msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ: %s\n" + +#: g10/keyedit.c:953 +#, fuzzy, c-format +msgid "update secret failed: %s\n" +msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" + +#: g10/keyedit.c:960 +msgid "Key not changed so no update needed.\n" +msgstr "ëÌÀÞ ÎÅ ÉÚÍÅÎÉÌÓÑ, ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÎÕÖÎÏ.\n" + +#: g10/keyedit.c:975 msgid "Invalid command (try \"help\")\n" msgstr "îÅÄÏÐÕÓÔÉÍÁÑ ËÏÍÁÎÄÁ (ÐÏÐÒÏÂÕÊÔÅ \"help\")\n" -#: g10/keyedit.c:1294 +#: g10/keyedit.c:1065 +#, fuzzy +msgid "This key has been disabled" +msgstr "úÁÍÅÞÁÎÉÅ: óÒÏË ÄÅÊÓÔ×ÉÑ ËÌÀÞÁ ÕÖÅ ÉÓÔÅË!\n" + +#: g10/keyedit.c:1336 msgid "Delete this good signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1298 +#: g10/keyedit.c:1340 msgid "Delete this invalid signature? (y/N/q)" msgstr "" -#: g10/keyedit.c:1302 +#: g10/keyedit.c:1344 #, fuzzy msgid "Delete this unknown signature? (y/N/q)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/keyedit.c:1308 +#: g10/keyedit.c:1350 #, fuzzy msgid "Really delete this self-signature? (y/N)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/keyedit.c:1322 +#: g10/keyedit.c:1364 #, fuzzy, c-format msgid "Deleted %d signature.\n" msgstr "%d ÐÌÏÈÉÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/keyedit.c:1323 +#: g10/keyedit.c:1365 #, fuzzy, c-format msgid "Deleted %d signatures.\n" msgstr "%d ÐÌÏÈÉÈ ÐÏÄÐÉÓÅÊ\n" -#: g10/keyedit.c:1326 +#: g10/keyedit.c:1368 #, fuzzy msgid "Nothing deleted.\n" msgstr "÷îéíáîéå: éÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ Ë ËÏÔÏÒÏÍÕ ÎÅÔ ÄÏ×ÅÒÉÑ!\n" -#: g10/keyedit.c:1395 +#: g10/keyedit.c:1437 msgid "Please remove selections from the secret keys.\n" msgstr "" -#: g10/keyedit.c:1401 +#: g10/keyedit.c:1443 #, fuzzy msgid "Please select at most one secondary key.\n" msgstr "÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ ÈÏÔÑ ÂÙ ÏÄÉÎ ËÌÀÞ.\n" -#: g10/keyedit.c:1405 +#: g10/keyedit.c:1447 msgid "Changing expiration time for a secondary key.\n" msgstr "" -#: g10/keyedit.c:1407 +#: g10/keyedit.c:1449 msgid "Changing expiration time for the primary key.\n" msgstr "" -#: g10/keyedit.c:1448 +#: g10/keyedit.c:1490 msgid "You can't change the expiration date of a v3 key\n" msgstr "" -#: g10/keyedit.c:1464 +#: g10/keyedit.c:1506 msgid "No corresponding signature in secret ring\n" msgstr "" -#: g10/keyedit.c:1524 +#: g10/keyedit.c:1566 #, c-format msgid "No user id with index %d\n" msgstr "îÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ Ó ÉÎÄÅËÓÏÍ %d\n" -#: g10/keyedit.c:1570 +#: g10/keyedit.c:1612 #, c-format msgid "No secondary key with index %d\n" msgstr "îÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ ËÌÀÞÁ Ó ÉÎÄÅËÓÏÍ %d\n" -#: g10/keyedit.c:1668 +#: g10/keyedit.c:1710 #, fuzzy msgid "user ID: \"" msgstr "÷×ÅÄÉÔÅ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ: " -#: g10/keyedit.c:1671 +#: g10/keyedit.c:1713 #, fuzzy, c-format msgid "" "\"\n" "signed with your key %08lX at %s\n" msgstr "îÅÞÅÇÏ ÐÏÄÐÉÓÙ×ÁÔØ ËÌÀÞÁÍ %08lX\n" -#: g10/keyedit.c:1675 +#: g10/keyedit.c:1717 #, fuzzy msgid "Create a revocation certificate for this signature? (y/N)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/keyedit.c:1755 +#: g10/keyedit.c:1797 #, fuzzy msgid "Really create the revocation certificates? (y/N)" msgstr "ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÏÔÚÙ×ÁÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/keyedit.c:1778 +#: g10/keyedit.c:1820 #, fuzzy msgid "no secret key\n" msgstr "ðÌÏÈÏÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" -#: g10/mainproc.c:184 +#: g10/mainproc.c:213 #, fuzzy, c-format msgid "public key is %08lX\n" msgstr "ïÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ" -#: g10/mainproc.c:212 +#: g10/mainproc.c:244 #, fuzzy msgid "public key encrypted data: good DEK\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÏÔËÒÙÔÙÍ ËÌÀÞÏÍ ÎÅ ÕÄÁÌÁÓØ %s\n" -#. fixme: defer this message until we have parsed all packets of -#. * this type - do this by building a list of keys with their stati -#. * and store it with the context. do_proc_packets can then use -#. * this list to display some information -#: g10/mainproc.c:219 +#: g10/mainproc.c:275 +#, 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 +#, fuzzy, c-format +msgid "encrypted with %s key, ID %08lX\n" +msgstr "ðÏÄÐÉÓØ ÓÄÅÌÁÎÁ %.*s, ÉÓÐÏÌØÚÕÑ %s ËÌÀÞ %08lX\n" + +#: g10/mainproc.c:291 +#, fuzzy +msgid "no secret key for decryption available\n" +msgstr "óÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: g10/mainproc.c:300 #, c-format msgid "public key decryption failed: %s\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÏÔËÒÙÔÙÍ ËÌÀÞÏÍ ÎÅ ÕÄÁÌÁÓØ %s\n" -#: g10/mainproc.c:247 +#: g10/mainproc.c:330 #, fuzzy msgid "decryption okay\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/mainproc.c:252 +#: g10/mainproc.c:335 msgid "WARNING: encrypted message has been manipulated!\n" msgstr "" -#: g10/mainproc.c:257 +#: g10/mainproc.c:340 #, c-format msgid "decryption failed: %s\n" msgstr "ÒÁÓÛÉÆÒÏ×ËÁ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/mainproc.c:275 +#: g10/mainproc.c:358 #, fuzzy msgid "NOTE: sender requested \"for-your-eyes-only\"\n" msgstr "ÚÁÍÅÞÁÎÉÅ: ÏÔÐÒÁ×ÉÔÅÌØ ÚÁÐÒÏÓÉÌ \"ÔÏÌØËÏ-ÄÌÑ-÷ÁÛÉÈ-ÇÌÁÚ\"\n" -#: g10/mainproc.c:277 +#: g10/mainproc.c:360 #, c-format msgid "original file name='%.*s'\n" msgstr "" -#: g10/mainproc.c:505 g10/mainproc.c:514 +#: g10/mainproc.c:587 g10/mainproc.c:596 #, fuzzy msgid "WARNING: invalid notation data found\n" msgstr "ÎÅ ÎÁÊÄÅÎÏ ÄÏÐÕÓÔÉÍÙÈ RFC1991 ÉÌÉ OpenPGP ÄÁÎÎÙÈ.\n" -#: g10/mainproc.c:517 +#: g10/mainproc.c:599 msgid "Notation: " msgstr "" -#: g10/mainproc.c:524 +#: g10/mainproc.c:606 msgid "Policy: " msgstr "" -#: g10/mainproc.c:929 +#: g10/mainproc.c:1025 msgid "signature verification suppressed\n" msgstr "" -#: g10/mainproc.c:935 +#: g10/mainproc.c:1031 #, 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:961 g10/mainproc.c:972 +#: g10/mainproc.c:1057 g10/mainproc.c:1068 msgid "BAD signature from \"" msgstr "ðìïèáñ ÐÏÄÐÉÓØ ÏÔ \"" -#: g10/mainproc.c:962 g10/mainproc.c:973 +#: g10/mainproc.c:1058 g10/mainproc.c:1069 msgid "Good signature from \"" msgstr "èÏÒÏÛÁÑ ÐÏÄÐÉÓØ ÏÔ \"" -#: g10/mainproc.c:964 +#: g10/mainproc.c:1060 msgid " aka \"" msgstr "" -#: g10/mainproc.c:1015 +#: g10/mainproc.c:1115 #, c-format msgid "Can't check signature: %s\n" msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏ×ÅÒÉÔØ ÐÏÄÐÉÓØ: %s\n" -#: g10/mainproc.c:1109 +#: g10/mainproc.c:1209 msgid "old style (PGP 2.x) signature\n" msgstr "" -#: g10/mainproc.c:1114 +#: g10/mainproc.c:1214 msgid "invalid root packet detected in proc_tree()\n" msgstr "" @@ -2476,17 +2561,17 @@ msgid "this cipher algorithm is depreciated; please use a more standard one!\n" msgstr "" -#: g10/parse-packet.c:112 +#: g10/parse-packet.c:113 #, fuzzy, c-format msgid "can't handle public key algorithm %d\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ Ó×ÑÚËÕ ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ: %s\n" -#: g10/parse-packet.c:931 +#: g10/parse-packet.c:932 #, c-format msgid "subpacket of type %d has critical bit set\n" msgstr "" -#: g10/passphrase.c:157 +#: g10/passphrase.c:159 msgid "" "\n" "You need a passphrase to unlock the secret key for\n" @@ -2496,22 +2581,27 @@ "÷ÁÍ ÎÕÖÎÁ ËÌÀÞÅ×ÁÑ ÆÒÁÚÁ, ÞÔÏÂÙ ÏÔÏÍËÎÕÔØ ËÌÀÞ\n" "ÐÏÌØÚÏ×ÁÔÅÌÑ: \"" -#: g10/passphrase.c:166 +#: g10/passphrase.c:168 #, fuzzy, c-format msgid "%u-bit %s key, ID %08lX, created %s" msgstr "(%u-ÂÉÔ %s ËÌÀÞ, ID %08lX, ÓÏÚÄÁÎ %s)\n" -#: g10/passphrase.c:171 +#: g10/passphrase.c:173 #, c-format msgid " (main key ID %08lX)" msgstr "" -#: g10/passphrase.c:192 +#: g10/passphrase.c:190 +#, fuzzy +msgid "can't query password in batchmode\n" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÜÔÏ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ.\n" + +#: g10/passphrase.c:194 #, fuzzy msgid "Enter passphrase: " msgstr "÷×ÅÄÉÔÅ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ: %s\n" -#: g10/passphrase.c:196 +#: g10/passphrase.c:198 #, fuzzy msgid "Repeat passphrase: " msgstr "ðÏ×ÔÏÒÉÔÅ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ: %s\n" @@ -2567,31 +2657,31 @@ msgid "WARNING: Weak key detected - please change passphrase again.\n" msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÏÂÎÁÒÕÖÅÎ ÓÌÁÂÙÊ ËÌÀÞ - ÓÍÅÎÉÔÅ ËÌÀÞÅ×ÕÀ ÆÒÁÚÕ.\n" -#: g10/sig-check.c:187 +#: g10/sig-check.c:199 msgid "assuming bad MDC due to an unknown critical bit\n" msgstr "" -#: g10/sig-check.c:283 +#: g10/sig-check.c:295 msgid "" "this is a PGP generated ElGamal key which is NOT secure for signatures!\n" msgstr "ÜÔÏÔ ElGamal ËÌÀÞ, ÓÏÚÄÁÎÎÙÊ PGP, ÎÅ ÎÁÄÅÖÅÎ ÄÌÑ ÓÏÚÄÁÎÉÑ ÐÏÄÐÉÓÅÊ!\n" -#: g10/sig-check.c:291 +#: g10/sig-check.c:303 #, fuzzy, c-format msgid "public key is %lu second newer than the signature\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ\n" -#: g10/sig-check.c:292 +#: g10/sig-check.c:304 #, fuzzy, c-format msgid "public key is %lu seconds newer than the signature\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ\n" -#: g10/sig-check.c:308 +#: g10/sig-check.c:320 #, fuzzy, c-format msgid "NOTE: signature key expired %s\n" msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ËÌÀÞ ÐÏÄÐÉÓÉ ÕÓÔÁÒÅÌ %s\n" -#: g10/sig-check.c:365 +#: g10/sig-check.c:377 msgid "assuming bad signature due to an unknown critical bit\n" msgstr "" @@ -2625,12 +2715,12 @@ msgid "input line longer than %d characters\n" msgstr "" -#: g10/tdbio.c:116 g10/tdbio.c:1505 +#: g10/tdbio.c:116 g10/tdbio.c:1634 #, fuzzy, c-format msgid "trustdb rec %lu: lseek failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:122 g10/tdbio.c:1512 +#: g10/tdbio.c:122 g10/tdbio.c:1641 #, c-format msgid "trustdb rec %lu: write failed (n=%d): %s\n" msgstr "" @@ -2659,7 +2749,7 @@ msgid "%s: directory does not exist!\n" msgstr "" -#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457 +#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1346 g10/tdbio.c:457 #, fuzzy, c-format msgid "%s: can't create: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" @@ -2700,7 +2790,7 @@ msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678 -#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465 +#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594 #, fuzzy, c-format msgid "%s: error reading version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" @@ -2710,483 +2800,374 @@ msgid "%s: error writing version record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1132 +#: g10/tdbio.c:1246 #, fuzzy, c-format msgid "trustdb: lseek failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1140 +#: g10/tdbio.c:1254 #, fuzzy, c-format msgid "trustdb: read failed (n=%d): %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1161 +#: g10/tdbio.c:1275 #, fuzzy, c-format msgid "%s: not a trustdb file\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/tdbio.c:1177 +#: g10/tdbio.c:1291 #, c-format msgid "%s: version record with recnum %lu\n" msgstr "" -#: g10/tdbio.c:1182 +#: g10/tdbio.c:1296 #, fuzzy, c-format msgid "%s: invalid file version %d\n" msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÎÁÞÁÌÏ ÔÅËÓÔÏ×ÏÊ ÐÏÄÐÉÓÉ\n" -#: g10/tdbio.c:1471 +#: g10/tdbio.c:1600 #, fuzzy, c-format msgid "%s: error reading free record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1479 +#: g10/tdbio.c:1608 #, fuzzy, c-format msgid "%s: error writing dir record: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/tdbio.c:1489 +#: g10/tdbio.c:1618 #, c-format msgid "%s: failed to zero a record: %s\n" msgstr "" -#: g10/tdbio.c:1519 +#: g10/tdbio.c:1648 #, c-format msgid "%s: failed to append a record: %s\n" msgstr "" -#: g10/tdbio.c:1630 +#: g10/tdbio.c:1759 #, fuzzy msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n" msgstr "âÁÚÁ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÒÁÚÒÕÛÅÎÁ: ÚÁÐÕÓÔÉÔÅ \"gpgm --fix-trust-db\".\n" -#: g10/trustdb.c:163 +#: g10/trustdb.c:160 #, c-format msgid "trust record %lu, req type %d: read failed: %s\n" msgstr "" -#: g10/trustdb.c:178 +#: g10/trustdb.c:175 #, c-format msgid "trust record %lu, type %d: write failed: %s\n" msgstr "" -#: g10/trustdb.c:192 +#: g10/trustdb.c:189 #, fuzzy, c-format msgid "trust record %lu: delete failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:206 +#: g10/trustdb.c:203 #, fuzzy, c-format msgid "trustdb: sync failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:386 +#: g10/trustdb.c:347 #, fuzzy, c-format msgid "error reading dir record for LID %lu: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/trustdb.c:393 +#: g10/trustdb.c:354 #, c-format msgid "lid %lu: expected dir record, got type %d\n" msgstr "" -#: g10/trustdb.c:398 +#: g10/trustdb.c:359 #, c-format msgid "no primary key for LID %lu\n" msgstr "" -#: g10/trustdb.c:403 +#: g10/trustdb.c:364 #, fuzzy, c-format msgid "error reading primary key for LID %lu: %s\n" msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/trustdb.c:442 +#: g10/trustdb.c:403 #, fuzzy, c-format msgid "get_dir_record: search_record failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:510 +#: g10/trustdb.c:458 #, fuzzy, c-format msgid "NOTE: secret key %08lX is NOT protected.\n" msgstr "üÔÏÔ ËÌÀÞ ÎÅ ÚÁÝÉÝÅÎ.\n" -#: g10/trustdb.c:518 +#: g10/trustdb.c:466 #, fuzzy, c-format msgid "key %08lX: secret key without public key - skipped\n" msgstr "ÓÅËÒÅÔÎÙÊ ËÌÀÞ %08lX: ÎÅ ÉÍÅÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÏÔËÒÙÔÏÇÏ ËÌÀÞÁ.\n" -#: g10/trustdb.c:525 +#: g10/trustdb.c:473 #, c-format msgid "key %08lX: secret and public key don't match\n" msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ É ÏÔËÒÙÔÏÇÏ ËÌÀÞÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ.\n" -#: g10/trustdb.c:535 +#: g10/trustdb.c:485 #, fuzzy, c-format msgid "key %08lX: can't put it into the trustdb\n" msgstr "ËÌÀÞ %08lX.%lu: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÏÖÉÔØ × ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ\n" -#: g10/trustdb.c:541 +#: g10/trustdb.c:491 #, fuzzy, c-format msgid "key %08lX: query record failed\n" msgstr "ËÌÀÞ %08lX: ÚÁÐÒÏÓ ÚÁÐÉÓÉ ÎÅ ÕÄÁÌÓÑ\n" -#: g10/trustdb.c:550 +#: g10/trustdb.c:500 #, fuzzy, c-format msgid "key %08lX: already in trusted key table\n" msgstr "ËÌÀÞ %08lX: ÕÖÅ ÎÁ Ó×ÑÚËÅ ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ\n" -#: g10/trustdb.c:553 +#: g10/trustdb.c:503 #, fuzzy, c-format msgid "key %08lX: accepted as trusted key.\n" msgstr "ËÌÀÞ %08lX: ÕÖÅ ÎÁ Ó×ÑÚËÅ ÓÅËÒÅÔÎÙÈ ËÌÀÞÅÊ\n" -#: g10/trustdb.c:561 +#: g10/trustdb.c:511 #, fuzzy, c-format msgid "enumerate secret keys failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:851 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n" -msgstr "" - -#: g10/trustdb.c:855 -#, c-format -msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n" -msgstr "" - -#. we need the dir record -#: g10/trustdb.c:862 -#, c-format -msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n" -msgstr "" - -#: g10/trustdb.c:868 -#, c-format -msgid "lid %lu: no primary key\n" -msgstr "" - -#: g10/trustdb.c:901 -#, fuzzy, c-format -msgid "lid %lu: user id not found in keyblock\n" -msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÎÁÊÄÅÎ\n" - -#: g10/trustdb.c:905 -#, fuzzy, c-format -msgid "lid %lu: user id without signature\n" -msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ\n" - -#: g10/trustdb.c:912 -#, fuzzy, c-format -msgid "lid %lu: self-signature in hintlist\n" -msgstr "build_sigrecs: Selbst-Signatur fehlt\n" - -#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766 -#, fuzzy -msgid "Valid certificate revocation" -msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" - -#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767 -#, fuzzy -msgid "Good certificate" -msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" - -#: g10/trustdb.c:933 -msgid "very strange: no public key\n" -msgstr "" - -#: g10/trustdb.c:982 -#, c-format -msgid "hintlist %lu[%d] of %lu does not point to a dir record\n" -msgstr "" - -#: g10/trustdb.c:988 -#, c-format -msgid "lid %lu does not have a key\n" -msgstr "" - -#: g10/trustdb.c:998 -#, fuzzy, c-format -msgid "lid %lu: can't get keyblock: %s\n" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÂÌÏË ËÌÀÞÁ: %s\n" - -#: g10/trustdb.c:1055 g10/trustdb.c:2030 +#: g10/trustdb.c:802 #, fuzzy, c-format -msgid "tdbio_search_dir failed: %s\n" +msgid "tdbio_search_sdir failed: %s\n" msgstr "ÏÛÉÂËÁ ÄÅËÏÄÉÒÏ×ÁÎÉÑ: %s\n" -#: g10/trustdb.c:1210 +#: g10/trustdb.c:877 #, fuzzy, c-format msgid "key %08lX.%lu: Good subkey binding\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -#: g10/trustdb.c:1216 g10/trustdb.c:1259 +#: g10/trustdb.c:883 g10/trustdb.c:918 #, fuzzy, c-format msgid "key %08lX.%lu: Invalid subkey binding: %s\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/trustdb.c:1232 +#: g10/trustdb.c:895 #, fuzzy, c-format msgid "key %08lX.%lu: Valid key revocation\n" msgstr "ËÌÀÞ %08lX.%lu: ÓÒÏË ÄÅÊÓÔ×ÉÑ ÉÓÔÅË %s\n" -#: g10/trustdb.c:1238 +#: g10/trustdb.c:901 #, fuzzy, c-format msgid "key %08lX.%lu: Invalid key revocation: %s\n" msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" -#: g10/trustdb.c:1253 +#: g10/trustdb.c:912 #, fuzzy, c-format msgid "key %08lX.%lu: Valid subkey revocation\n" msgstr "ËÌÀÞ %08lX: ÎÅÔ ÄÏÐÕÓÔÉÍÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" -#: g10/trustdb.c:1360 +#: g10/trustdb.c:1023 #, fuzzy msgid "Good self-signature" msgstr "[ÓÁÍÏ-ÐÏÄÐÉÓØ]\n" -#: g10/trustdb.c:1371 +#: g10/trustdb.c:1033 #, fuzzy msgid "Invalid self-signature" msgstr "ËÌÀÞ %08lX: ÎÅÄÏÐÕÓÔÉÍÁÑ ÓÁÍÏ-ÐÏÄÐÉÓØ\n" -#: g10/trustdb.c:1403 -msgid "Valid user ID revocation skipped due to a newer self signature\n" +#: g10/trustdb.c:1060 +msgid "Valid user ID revocation skipped due to a newer self signature" msgstr "" -#: g10/trustdb.c:1410 +#: g10/trustdb.c:1066 #, fuzzy -msgid "Valid user ID revocation\n" +msgid "Valid user ID revocation" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ×ÙÂÏÒ.\n" -#: g10/trustdb.c:1417 +#: g10/trustdb.c:1071 #, fuzzy msgid "Invalid user ID revocation" msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ×ÙÂÏÒ.\n" -#: g10/trustdb.c:1512 -msgid "Too many preferences" -msgstr "" - -#: g10/trustdb.c:1526 -msgid "Too many preference items" -msgstr "" - -#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105 -msgid "WARNING: can't yet handle long pref records\n" -msgstr "" - -#: g10/trustdb.c:1654 +#: g10/trustdb.c:1112 #, fuzzy -msgid "duplicated certificate - deleted" +msgid "Valid certificate revocation" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1692 +#: g10/trustdb.c:1113 #, fuzzy -msgid "public key not anymore available" -msgstr "óÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "Good certificate" +msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1702 g10/trustdb.c:1791 +#: g10/trustdb.c:1134 #, fuzzy msgid "Invalid certificate revocation" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1703 g10/trustdb.c:1792 +#: g10/trustdb.c:1135 #, fuzzy msgid "Invalid certificate" msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" -#: g10/trustdb.c:1720 -#, c-format -msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n" -msgstr "" - -#: g10/trustdb.c:1734 +#: g10/trustdb.c:1152 g10/trustdb.c:1156 #, c-format msgid "sig record %lu[%d] points to wrong record.\n" msgstr "" -#. that should never happen -#: g10/trustdb.c:2007 -#, fuzzy, c-format -msgid "insert_trust_record: keyblock not found: %s\n" -msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" - -#: g10/trustdb.c:2408 -msgid "Ooops, no keys\n" -msgstr "" - -#: g10/trustdb.c:2412 +#: g10/trustdb.c:1208 #, fuzzy -msgid "Ooops, no user ids\n" -msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ" +msgid "duplicated certificate - deleted" +msgstr "ðÌÏÈÏÊ ÓÅÒÔÉÆÉËÁÔ" + +#: g10/trustdb.c:1514 +#, fuzzy, c-format +msgid "tdbio_search_dir failed: %s\n" +msgstr "ÏÛÉÂËÁ ÄÅËÏÄÉÒÏ×ÁÎÉÑ: %s\n" -#: g10/trustdb.c:2529 +#: g10/trustdb.c:1636 #, fuzzy, c-format msgid "lid ?: insert failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:2534 +#: g10/trustdb.c:1641 #, fuzzy, c-format msgid "lid %lu: insert failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:2540 +#: g10/trustdb.c:1647 #, c-format msgid "lid %lu: inserted\n" msgstr "" -#: g10/trustdb.c:2545 g10/trustdb.c:2654 +#: g10/trustdb.c:1652 #, fuzzy, c-format -msgid "lid %lu: update failed: %s\n" -msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ: %s\n" - -#: g10/trustdb.c:2551 g10/trustdb.c:2660 -#, c-format -msgid "lid %lu: updated\n" -msgstr "" - -#: g10/trustdb.c:2556 g10/trustdb.c:2664 -#, c-format -msgid "lid %lu: okay\n" -msgstr "" +msgid "error reading dir record: %s\n" +msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" -#: g10/trustdb.c:2562 g10/trustdb.c:2671 +#: g10/trustdb.c:1660 g10/trustdb.c:1714 #, c-format msgid "%lu keys processed\n" msgstr "" -#: g10/trustdb.c:2564 g10/trustdb.c:2675 +#: g10/trustdb.c:1662 g10/trustdb.c:1718 #, fuzzy, c-format msgid "\t%lu keys with errors\n" msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ" -#: g10/trustdb.c:2566 g10/trustdb.c:2677 -#, c-format -msgid "\t%lu keys updated\n" -msgstr "" - -#: g10/trustdb.c:2568 +#: g10/trustdb.c:1664 #, c-format msgid "\t%lu keys inserted\n" msgstr "" -#: g10/trustdb.c:2571 +#: g10/trustdb.c:1667 #, fuzzy, c-format msgid "enumerate keyblocks failed: %s\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÓÅËÒÅÔÁ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:2598 +#: g10/trustdb.c:1705 #, c-format -msgid "%s: keyblock read problem: %s\n" +msgid "lid %lu: dir record w/o key - skipped\n" msgstr "" -#: g10/trustdb.c:2612 +#: g10/trustdb.c:1716 #, fuzzy, c-format -msgid "%s: update failed: %s\n" -msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ: %s\n" - -#: g10/trustdb.c:2615 -#, c-format -msgid "%s: updated\n" -msgstr "" +msgid "\t%lu keys skipped\n" +msgstr "%s: ÐÒÏÐÕÝÅÎ: %s\n" -#: g10/trustdb.c:2617 +#: g10/trustdb.c:1720 #, c-format -msgid "%s: okay\n" +msgid "\t%lu keys updated\n" msgstr "" -#: g10/trustdb.c:2632 -#, c-format -msgid "lid %lu: dir record w/o key - skipped\n" +#: g10/trustdb.c:2057 +msgid "Ooops, no keys\n" msgstr "" -#: g10/trustdb.c:2645 -#, fuzzy, c-format -msgid "lid %lu: keyblock not found: %s\n" -msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" - -#: g10/trustdb.c:2673 -#, fuzzy, c-format -msgid "\t%lu keys skipped\n" -msgstr "%s: ÐÒÏÐÕÝÅÎ: %s\n" +#: g10/trustdb.c:2061 +#, fuzzy +msgid "Ooops, no user ids\n" +msgstr "ÓÐÉÓÏË ËÌÀÞÅÊ É ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ" -#: g10/trustdb.c:2743 +#: g10/trustdb.c:2218 #, fuzzy, c-format msgid "check_trust: search dir record failed: %s\n" msgstr "ËÌÀÞ %08lX.%lu: ×ÓÔÁ×ËÁ ÄÏ×ÅÒÉÔÅÌØÎÏÊ ÚÁÐÉÓÉ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/trustdb.c:2750 +#: g10/trustdb.c:2227 #, fuzzy, c-format msgid "key %08lX: insert trust record failed: %s\n" msgstr "ËÌÀÞ %08lX.%lu: ×ÓÔÁ×ËÁ ÄÏ×ÅÒÉÔÅÌØÎÏÊ ÚÁÐÉÓÉ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/trustdb.c:2754 +#: g10/trustdb.c:2231 #, c-format msgid "key %08lX.%lu: inserted into trustdb\n" msgstr "ËÌÀÞ %08lX.%lu: ×ÓÔÁ×ÌÅÎ × ÂÁÚÕ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ\n" -#: g10/trustdb.c:2762 +#: g10/trustdb.c:2239 #, c-format msgid "key %08lX.%lu: created in future (time warp or clock problem)\n" msgstr "" "ËÌÀÞ %08lX.%lu: ÓÇÅÎÅÒÉÒÏ×ÁÎ × ÂÕÄÕÝÅÍ (ÎÅÐÒÁ×ÉÌØÎÏ ÕÓÔÁÎÏ×ÌÅÎÙ ÞÁÓÙ)\n" -#: g10/trustdb.c:2769 +#: g10/trustdb.c:2248 #, c-format msgid "key %08lX.%lu: expired at %s\n" msgstr "ËÌÀÞ %08lX.%lu: ÓÒÏË ÄÅÊÓÔ×ÉÑ ÉÓÔÅË %s\n" -#: g10/trustdb.c:2777 +#: g10/trustdb.c:2256 #, c-format msgid "key %08lX.%lu: trust check failed: %s\n" msgstr "ËÌÀÞ %08lX.%lu: ÐÒÏ×ÅÒËÁ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÁÓØ: %s\n" -#: g10/trustdb.c:2881 +#: g10/trustdb.c:2362 #, fuzzy, c-format msgid "user '%s' not found: %s\n" msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÎÁÊÄÅÎ\n" -#: g10/trustdb.c:2883 +#: g10/trustdb.c:2364 #, fuzzy, c-format msgid "problem finding '%s' in trustdb: %s\n" msgstr "ïÛÉÂËÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ: %s\n" -#: g10/trustdb.c:2886 +#: g10/trustdb.c:2367 #, fuzzy, c-format msgid "user '%s' not in trustdb - inserting\n" msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ ÎÅ ÕÄÁÌÏÓØ: %s\n" -#: g10/trustdb.c:2889 +#: g10/trustdb.c:2370 #, fuzzy, c-format msgid "failed to put '%s' into trustdb: %s\n" msgstr "ïÛÉÂËÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÂÁÚÙ ÄÁÎÎÙÈ ÄÏ×ÅÒÉÑ: %s\n" +#: g10/trustdb.c:2556 g10/trustdb.c:2586 +msgid "WARNING: can't yet handle long pref records\n" +msgstr "" + #: g10/ringedit.c:316 #, fuzzy, c-format msgid "%s: can't create keyring: %s\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:333 g10/ringedit.c:1349 +#: g10/ringedit.c:333 g10/ringedit.c:1351 #, fuzzy, c-format msgid "%s: keyring created\n" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s\n" -#: g10/ringedit.c:1526 +#: g10/ringedit.c:1528 msgid "WARNING: 2 files with confidential information exists.\n" msgstr "" -#: g10/ringedit.c:1527 +#: g10/ringedit.c:1529 #, fuzzy, c-format msgid "%s is the unchanged one\n" msgstr "éÓÐÏÌØÚÏ×ÁÎ ÎÅÐÒÁ×ÉÌØÎÙÊ ÓÅËÒÅÔÎÙÊ ËÌÀÞ" -#: g10/ringedit.c:1528 +#: g10/ringedit.c:1530 #, c-format msgid "%s is the new one\n" msgstr "" -#: g10/ringedit.c:1529 +#: g10/ringedit.c:1531 msgid "Please fix this possible security flaw\n" msgstr "" @@ -3221,17 +3202,22 @@ msgid "%s: unknown suffix\n" msgstr "" -#: g10/openfile.c:122 +#: g10/openfile.c:119 +#, fuzzy +msgid "Enter new filename" +msgstr "--store [ÉÍÑ ÆÁÊÌÁ]" + +#: g10/openfile.c:160 #, fuzzy msgid "writing to stdout\n" msgstr "ÚÁÐÉÓÙ×ÁÅÔÓÑ × `%s'\n" -#: g10/openfile.c:181 +#: g10/openfile.c:219 #, fuzzy, c-format msgid "assuming signed data in `%s'\n" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÐÏÄÐÉÓÁÎÎÙÅ ÄÁÎÎÙÅ `%s' .\n" -#: g10/openfile.c:231 +#: g10/openfile.c:269 #, c-format msgid "%s: new options file created\n" msgstr "" @@ -3306,82 +3292,78 @@ msgid "keygen.valid" msgstr "" -#: g10/helptext.c:107 +#: g10/helptext.c:110 msgid "keygen.valid.okay" msgstr "" -#: g10/helptext.c:112 +#: g10/helptext.c:115 msgid "keygen.name" msgstr "" -#: g10/helptext.c:117 +#: g10/helptext.c:120 msgid "keygen.email" msgstr "" -#: g10/helptext.c:121 +#: g10/helptext.c:124 msgid "keygen.comment" msgstr "" -#: g10/helptext.c:126 +#: g10/helptext.c:129 msgid "keygen.userid.cmd" msgstr "" -#: g10/helptext.c:135 +#: g10/helptext.c:138 msgid "keygen.sub.okay" msgstr "" -#: g10/helptext.c:139 +#: g10/helptext.c:142 msgid "sign_uid.okay" msgstr "" -#: g10/helptext.c:144 +#: g10/helptext.c:147 msgid "change_passwd.empty.okay" msgstr "" -#: g10/helptext.c:149 -msgid "keyedit.cmd" -msgstr "" - -#: g10/helptext.c:153 +#: g10/helptext.c:152 msgid "keyedit.save.okay" msgstr "" -#: g10/helptext.c:158 +#: g10/helptext.c:157 msgid "keyedit.cancel.okay" msgstr "" -#: g10/helptext.c:162 +#: g10/helptext.c:161 msgid "keyedit.sign_all.okay" msgstr "" -#: g10/helptext.c:166 +#: g10/helptext.c:165 msgid "keyedit.remove.uid.okay" msgstr "" -#: g10/helptext.c:171 +#: g10/helptext.c:170 msgid "keyedit.remove.subkey.okay" msgstr "" -#: g10/helptext.c:176 +#: g10/helptext.c:175 msgid "keyedit.delsig.valid" msgstr "" -#: g10/helptext.c:181 +#: g10/helptext.c:180 msgid "keyedit.delsig.unknown" msgstr "" -#: g10/helptext.c:187 +#: g10/helptext.c:186 msgid "keyedit.delsig.invalid" msgstr "" -#: g10/helptext.c:191 +#: g10/helptext.c:190 msgid "keyedit.delsig.selfsig" msgstr "" # ################################ # ####### Help msgids ############ # ################################ -#: g10/helptext.c:200 +#: g10/helptext.c:199 msgid "passphrase.enter" msgstr "" "Bitte geben Sie die \"Passhrase\" ein; dies ist ein geheimer Satz der aus\n" @@ -3396,31 +3378,76 @@ "werden,\n" "sind i.d.R. eine gute Wahl" -#: g10/helptext.c:207 +#: g10/helptext.c:206 msgid "passphrase.repeat" msgstr "" "Um sicher zu gehen, daß Sie sich bei der Eingabe der \"Passphrase\" nicht\n" "vertippt haben, geben Sie diese bitte nochmal ein. Nur wenn beide Eingaben\n" "übereinstimmen, wird die \"Passphrase\" akzeptiert." -#: g10/helptext.c:211 +#: g10/helptext.c:210 #, fuzzy msgid "detached_signature.filename" msgstr "ÉÍÑ ÆÁÊÌÁ ÄÌÑ ÏÔÄÅÌØÎÏÊ ÐÏÄÐÉÓÉ" +#. openfile.c (overwrite_filep) #: g10/helptext.c:215 msgid "openfile.overwrite.okay" msgstr "÷Ù ÖÅÌÁÅÔÅ ÐÅÒÅÚÁÐÉÓÁÔØ ÆÁÊÌ (×ÏÚÍÏÖÎÁ ÐÏÔÅÒÑ ÄÁÎÎÙÈ)" -#: g10/helptext.c:229 +#. openfile.c (ask_outfile_name) +#: g10/helptext.c:220 +msgid "openfile.askoutname" +msgstr "" + +#: g10/helptext.c:235 msgid "No help available" msgstr "ðÏÍÏÝØ ÏÔÓÕÔÓÔ×ÕÅÔ." -#: g10/helptext.c:241 +#: g10/helptext.c:247 #, c-format msgid "No help available for `%s'" msgstr "ðÏÍÏÝØ ÄÌÑ `%s' ÏÔÓÕÔÓÔ×ÕÅÔ." +#~ msgid "print all message digests" +#~ msgstr "ÎÁÐÅÞÁÔÁÔØ ×ÓÅ ÄÁÊÄÖÅÓÔÙ ÓÏÏÂÝÅÎÉÑ" + +#, fuzzy +#~ msgid "lid %lu: user id not found in keyblock\n" +#~ msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÎÁÊÄÅÎ\n" + +#, fuzzy +#~ msgid "lid %lu: user id without signature\n" +#~ msgstr "ËÌÀÞ %08lX: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÐÉÓÉ\n" + +#, fuzzy +#~ msgid "lid %lu: self-signature in hintlist\n" +#~ msgstr "build_sigrecs: Selbst-Signatur fehlt\n" + +#, fuzzy +#~ msgid "lid %lu: can't get keyblock: %s\n" +#~ msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÂÌÏË ËÌÀÞÁ: %s\n" + +#, fuzzy +#~ msgid "public key not anymore available" +#~ msgstr "óÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#, fuzzy +#~ msgid "insert_trust_record: keyblock not found: %s\n" +#~ msgstr "ËÌÀÞ %08lX: ÓÅËÒÅÔÎÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" + +#, fuzzy +#~ msgid "lid %lu: update failed: %s\n" +#~ msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ: %s\n" + +#, fuzzy +#~ msgid "%s: update failed: %s\n" +#~ msgstr "ÏÂÎÏ×ÌÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ: %s\n" + +#, fuzzy +#~ msgid "lid %lu: keyblock not found: %s\n" +#~ msgstr "ËÌÀÞ %08lX: ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ: %s\n" + #, fuzzy #~ msgid "can't lock keyring `%': %s\n" #~ msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ Ó×ÑÚËÕ ÏÔËÒÙÔÙÈ ËÌÀÞÅÊ: %s\n" @@ -3528,10 +3555,6 @@ #, fuzzy #~ msgid "insert trust record failed: %s\n" #~ msgstr "ËÌÀÞ %08lX.%lu: ×ÓÔÁ×ËÁ ÄÏ×ÅÒÉÔÅÌØÎÏÊ ÚÁÐÉÓÉ ÎÅ ÕÄÁÌÁÓØ: %s\n" - -#, fuzzy -#~ msgid "error finding dir record: %s\n" -#~ msgstr "Fehler beim Erzeugen der \"Passphrase\": %s\n" #, fuzzy #~ msgid "Hmmm, public key lost?" diff -urN gnupg-0.9.8/scripts/ChangeLog gnupg-0.9.9/scripts/ChangeLog --- gnupg-0.9.8/scripts/ChangeLog Sat May 22 22:47:30 1999 +++ gnupg-0.9.9/scripts/ChangeLog Wed Jul 14 19:42:14 1999 @@ -1,3 +1,13 @@ +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 + Sat May 22 22:47:26 CEST 1999 Werner Koch * autogen.sh: Fixed the error message for a missing libtool. diff -urN gnupg-0.9.8/scripts/autogen.sh gnupg-0.9.9/scripts/autogen.sh --- gnupg-0.9.8/scripts/autogen.sh Thu May 20 22:34:08 1999 +++ gnupg-0.9.9/scripts/autogen.sh Mon Jul 12 13:54:24 1999 @@ -7,7 +7,7 @@ autoconf_vers=2.13 automake_vers=1.4 aclocal_vers=1.4 -libtool_vers=1.2 +libtool_vers=1.3 if (autoconf --version) < /dev/null > /dev/null 2>&1 ; then if (autoconf --version | awk 'NR==1 { if( $3 >= '$autoconf_vers') \ @@ -87,6 +87,8 @@ echo "Running gettextize... Ignore non-fatal messages." echo "no" | gettextize --force +echo "Running libtoolize... Ignore non-fatal messages." +echo "no" | libtoolize echo "Running aclocal..." diff -urN gnupg-0.9.8/scripts/distfiles gnupg-0.9.9/scripts/distfiles --- gnupg-0.9.8/scripts/distfiles Thu Mar 11 13:24:07 1999 +++ gnupg-0.9.9/scripts/distfiles Wed Jul 7 11:11:59 1999 @@ -7,4 +7,6 @@ gnupg.spec.in autogen.sh ChangeLog +ltconfig +ltmain.sh diff -urN gnupg-0.9.8/scripts/gnupg.spec gnupg-0.9.9/scripts/gnupg.spec --- gnupg-0.9.8/scripts/gnupg.spec Sat Jun 26 13:07:51 1999 +++ gnupg-0.9.9/scripts/gnupg.spec Fri Jul 23 14:26:37 1999 @@ -2,7 +2,7 @@ # gnupg -- gnu privacy guard # This is a template. The dist target uses it to create the real file. # -%define version 0.9.8 +%define version 0.9.9 %define name gnupg Summary: GPL public key crypto Name: %{name} diff -urN gnupg-0.9.8/scripts/ltconfig gnupg-0.9.9/scripts/ltconfig --- gnupg-0.9.8/scripts/ltconfig Thu Jan 1 01:00:00 1970 +++ gnupg-0.9.9/scripts/ltconfig Wed Jul 14 11:23:06 1999 @@ -0,0 +1,3017 @@ +#! /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-0.9.8/scripts/ltmain.sh gnupg-0.9.9/scripts/ltmain.sh --- gnupg-0.9.8/scripts/ltmain.sh Thu Jan 1 01:00:00 1970 +++ gnupg-0.9.9/scripts/ltmain.sh Wed Jul 14 11:23:07 1999 @@ -0,0 +1,3975 @@ +# 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-0.9.8/tools/ChangeLog gnupg-0.9.9/tools/ChangeLog --- gnupg-0.9.8/tools/ChangeLog Tue Jun 8 13:36:29 1999 +++ gnupg-0.9.9/tools/ChangeLog Thu Jul 8 16:21:30 1999 @@ -1,3 +1,13 @@ +Thu Jul 8 16:21:27 CEST 1999 Werner Koch + + + * lspgpot: New + +Wed Jul 7 13:08:40 CEST 1999 Werner Koch + + + * Makefile.am: Support for libtool. + Tue Jun 8 13:36:25 CEST 1999 Werner Koch * mpicalc.c (main): hex digits may now be lowercase diff -urN gnupg-0.9.8/tools/Makefile.am gnupg-0.9.9/tools/Makefile.am --- gnupg-0.9.8/tools/Makefile.am Thu Mar 11 13:29:44 1999 +++ gnupg-0.9.9/tools/Makefile.am Thu Jul 8 16:15:01 1999 @@ -1,8 +1,9 @@ ## Process this file with automake to produce Makefile.in +EXTRA_DIST = lspgpot INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -needed_libs = ../cipher/libcipher.a ../util/libutil.a \ - ../mpi/libmpi.a ../util/libutil.a @INTLLIBS@ +needed_libs = ../cipher/libcipher.la \ + ../mpi/libmpi.la ../util/libutil.la @INTLLIBS@ noinst_PROGRAMS = mpicalc bftest clean-sat mk-tdata shmtest diff -urN gnupg-0.9.8/tools/Makefile.in gnupg-0.9.9/tools/Makefile.in --- gnupg-0.9.8/tools/Makefile.in Sat Jun 26 13:07:17 1999 +++ gnupg-0.9.9/tools/Makefile.in Fri Jul 23 14:25:44 1999 @@ -64,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -84,12 +85,17 @@ 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@ @@ -102,8 +108,9 @@ ZLIBS = @ZLIBS@ l = @l@ +EXTRA_DIST = lspgpot INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -needed_libs = ../cipher/libcipher.a ../util/libutil.a ../mpi/libmpi.a ../util/libutil.a @INTLLIBS@ +needed_libs = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la @INTLLIBS@ noinst_PROGRAMS = mpicalc bftest clean-sat mk-tdata shmtest @@ -131,12 +138,12 @@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ mpicalc_OBJECTS = mpicalc.o -mpicalc_DEPENDENCIES = ../cipher/libcipher.a ../util/libutil.a \ -../mpi/libmpi.a ../util/libutil.a +mpicalc_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ +../util/libutil.la mpicalc_LDFLAGS = bftest_OBJECTS = bftest.o -bftest_DEPENDENCIES = ../cipher/libcipher.a ../util/libutil.a \ -../mpi/libmpi.a ../util/libutil.a +bftest_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ +../util/libutil.la bftest_LDFLAGS = clean_sat_OBJECTS = clean-sat.o clean_sat_LDADD = $(LDADD) @@ -147,13 +154,14 @@ mk_tdata_DEPENDENCIES = mk_tdata_LDFLAGS = shmtest_OBJECTS = shmtest.o -shmtest_DEPENDENCIES = ../cipher/libcipher.a ../util/libutil.a \ -../mpi/libmpi.a ../util/libutil.a +shmtest_DEPENDENCIES = ../cipher/libcipher.la ../mpi/libmpi.la \ +../util/libutil.la 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 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -166,8 +174,8 @@ all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +.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 tools/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -203,6 +211,25 @@ 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) @@ -317,23 +344,27 @@ maintainer-clean-generic: mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \ - mostlyclean-tags mostlyclean-generic + mostlyclean-libtool mostlyclean-tags \ + mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstPROGRAMS clean-compile clean-tags clean-generic \ - mostlyclean-am +clean-am: clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \ + clean-generic mostlyclean-am clean: clean-am -distclean-am: distclean-noinstPROGRAMS distclean-compile distclean-tags \ - distclean-generic clean-am +distclean-am: distclean-noinstPROGRAMS distclean-compile \ + distclean-libtool distclean-tags distclean-generic \ + clean-am + -rm -f libtool distclean: distclean-am maintainer-clean-am: maintainer-clean-noinstPROGRAMS \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am + maintainer-clean-compile maintainer-clean-libtool \ + 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." @@ -342,13 +373,14 @@ .PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ -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 +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 mpicalc bftest shmtest: $(needed_libs) diff -urN gnupg-0.9.8/tools/lspgpot gnupg-0.9.9/tools/lspgpot --- gnupg-0.9.8/tools/lspgpot Thu Jan 1 01:00:00 1970 +++ gnupg-0.9.9/tools/lspgpot Wed Jul 14 09:29:31 1999 @@ -0,0 +1,15 @@ +#!/bin/sh +# lspgpot - script to extract the ownertrust values +# from PGP keyrings and list them in GnuPG ownertrust format. + +../g10/gpg --dry-run --with-fingerprint --with-colons $* | awk ' +BEGIN { FS=":" + printf "# Ownertrust listing generated by lspgpot\n" + printf "# This can be imported using the command:\n" + printf "# ggp --import-ownertrust\n\n" } +$1 == "fpr" { fpr = $10 } +$1 == "rtv" && $2 == 1 && $3 == 2 { printf "%s:3:\n", fpr; next } +$1 == "rtv" && $2 == 1 && $3 == 5 { printf "%s:4:\n", fpr; next } +$1 == "rtv" && $2 == 1 && $3 == 6 { printf "%s:5:\n", fpr; next } +' + diff -urN gnupg-0.9.8/util/ChangeLog gnupg-0.9.9/util/ChangeLog --- gnupg-0.9.8/util/ChangeLog Sat Jun 26 12:16:00 1999 +++ gnupg-0.9.9/util/ChangeLog Mon Jul 12 14:55:39 1999 @@ -1,3 +1,33 @@ +Mon Jul 12 14:55:34 CEST 1999 Werner Koch + + + * argparse.c (initialize): Init ret_xxx. + (optfile_parse): Remove quotes from arguments. + +Wed Jul 7 13:08:40 CEST 1999 Werner Koch + + + * memory.c (membug): Use if either M_DEBUG or M_GUARD is used. + + * miscutil.c (scan_isodatestr): New. + + * logger.c (g10_log_mpidump): Moved to ../mpi/mpicoder.c + (g10_log_print_prefix): Renamed from print_prefix and made global. + + * Makefile.am: Support for libtool. + +Thu Jul 1 12:47:31 CEST 1999 Werner Koch + + + * miscutil.c (make_printable_string): New. + + * strgutil.c (add_to_strlist2,append_to_strlist2): New. + +Tue Jun 29 21:44:25 CEST 1999 Werner Koch + + + * secmem.c (USE_CAPABILITIES): Capabilities support (Remi). + Sat Jun 26 12:15:59 CEST 1999 Werner Koch diff -urN gnupg-0.9.8/util/Makefile.am gnupg-0.9.9/util/Makefile.am --- gnupg-0.9.8/util/Makefile.am Thu Mar 11 13:29:44 1999 +++ gnupg-0.9.9/util/Makefile.am Tue Jul 6 17:01:58 1999 @@ -2,12 +2,13 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LIBRARIES = libutil.a +noinst_LTLIBRARIES = libutil.la -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 +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 http-test: http.c diff -urN gnupg-0.9.8/util/Makefile.in gnupg-0.9.9/util/Makefile.in --- gnupg-0.9.8/util/Makefile.in Sat Jun 26 13:07:03 1999 +++ gnupg-0.9.9/util/Makefile.in Fri Jul 23 14:25:27 1999 @@ -64,6 +64,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -84,12 +85,17 @@ 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@ @@ -104,28 +110,30 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl -noinst_LIBRARIES = libutil.a +noinst_LTLIBRARIES = libutil.la -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 +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 mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) +LTLIBRARIES = $(noinst_LTLIBRARIES) DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -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 -AR = ar +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 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 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = ChangeLog Makefile.am Makefile.in @@ -133,13 +141,13 @@ TAR = tar GZIP_ENV = --best -SOURCES = $(libutil_a_SOURCES) -OBJECTS = $(libutil_a_OBJECTS) +SOURCES = $(libutil_la_SOURCES) +OBJECTS = $(libutil_la_OBJECTS) all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +.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 util/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -147,14 +155,14 @@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -mostlyclean-noinstLIBRARIES: +mostlyclean-noinstLTLIBRARIES: -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -distclean-noinstLIBRARIES: +distclean-noinstLTLIBRARIES: -maintainer-clean-noinstLIBRARIES: +maintainer-clean-noinstLTLIBRARIES: .c.o: $(COMPILE) -c $< @@ -175,10 +183,27 @@ maintainer-clean-compile: -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 +.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) tags: TAGS @@ -224,43 +249,47 @@ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done -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 \ +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 \ ../include/i18n.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 \ +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 \ ../include/iobuf.h ../include/types.h ../include/memory.h \ ../include/util.h ../include/errors.h -http.o: http.c ../config.h ../g10defs.h ../include/util.h \ +http.lo 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.o: iobuf.c ../config.h ../g10defs.h ../include/memory.h \ +iobuf.lo 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.o: logger.c ../config.h ../g10defs.h ../include/util.h \ +logger.lo 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.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 -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 \ +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 \ ../include/types.h ../include/errors.h ../include/mpi.h \ ../include/iobuf.h ../include/memory.h ../include/ttyio.h @@ -283,7 +312,7 @@ install: install-am uninstall-am: uninstall: uninstall-am -all-am: Makefile $(LIBRARIES) +all-am: Makefile $(LTLIBRARIES) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install @@ -299,39 +328,44 @@ -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ - mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \ + mostlyclean-libtool mostlyclean-tags \ + mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \ - mostlyclean-am +clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \ + clean-tags clean-generic mostlyclean-am clean: clean-am -distclean-am: distclean-noinstLIBRARIES distclean-compile \ - distclean-tags distclean-generic clean-am +distclean-am: distclean-noinstLTLIBRARIES distclean-compile \ + distclean-libtool distclean-tags distclean-generic \ + clean-am + -rm -f libtool distclean: distclean-am -maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am +maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \ + maintainer-clean-compile maintainer-clean-libtool \ + 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-noinstLIBRARIES distclean-noinstLIBRARIES \ -clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ +.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \ +clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -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 +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 http-test: http.c diff -urN gnupg-0.9.8/util/argparse.c gnupg-0.9.9/util/argparse.c --- gnupg-0.9.8/util/argparse.c Thu Apr 15 08:24:49 1999 +++ gnupg-0.9.9/util/argparse.c Mon Jul 12 11:24:08 1999 @@ -155,6 +155,7 @@ log_bug("Invalid argument for ArgParse\n"); } + if( arg->err ) { /* last option was erroneous */ const char *s; @@ -194,6 +195,10 @@ exit(2); arg->err = 0; } + + /* clearout the return value union */ + arg->r.ret_str = NULL; + arg->r.ret_long= 0; } @@ -309,6 +314,7 @@ else if( !(opts[idx].flags & 7) ) /* does not take an arg */ arg->r_opt = -6; /* error */ else { + char *p; if( !buffer ) { keyword[i] = 0; buffer = m_strdup(keyword); @@ -317,7 +323,13 @@ buffer[i] = 0; trim_spaces( buffer ); - if( !set_opt_arg(arg, opts[idx].flags, buffer) ) + p = buffer; + if( *p == '"' ) { /* remove quotes */ + p++; + if( *p && p[strlen(p)-1] == '"' ) + p[strlen(p)-1] = 0; + } + if( !set_opt_arg(arg, opts[idx].flags, p) ) m_free(buffer); } break; diff -urN gnupg-0.9.8/util/logger.c gnupg-0.9.9/util/logger.c --- gnupg-0.9.8/util/logger.c Fri May 21 17:19:47 1999 +++ gnupg-0.9.9/util/logger.c Tue Jul 6 17:21:57 1999 @@ -102,8 +102,8 @@ } -static void -print_prefix(const char *text) +void +g10_log_print_prefix(const char *text) { if( !logfp ) logfp = stderr; @@ -129,7 +129,7 @@ { va_list arg_ptr ; - print_prefix(""); + g10_log_print_prefix(""); va_start( arg_ptr, fmt ) ; vfprintf(logfp,fmt,arg_ptr) ; va_end(arg_ptr); @@ -151,7 +151,7 @@ { va_list arg_ptr ; - print_prefix(""); + g10_log_print_prefix(""); va_start( arg_ptr, fmt ) ; vfprintf(logfp,fmt,arg_ptr) ; va_end(arg_ptr); @@ -175,7 +175,7 @@ { va_list arg_ptr ; - print_prefix("fatal: "); + g10_log_print_prefix("fatal: "); va_start( arg_ptr, fmt ) ; vfprintf(logfp,fmt,arg_ptr) ; va_end(arg_ptr); @@ -202,7 +202,7 @@ va_list arg_ptr ; putc('\n', stderr ); - print_prefix("Ohhhh jeeee: "); + g10_log_print_prefix("Ohhhh jeeee: "); va_start( arg_ptr, fmt ) ; vfprintf(stderr,fmt,arg_ptr) ; va_end(arg_ptr); @@ -230,7 +230,7 @@ { va_list arg_ptr ; - print_prefix("DBG: "); + g10_log_print_prefix("DBG: "); va_start( arg_ptr, fmt ) ; vfprintf(logfp,fmt,arg_ptr) ; va_end(arg_ptr); @@ -254,18 +254,11 @@ { int i; - print_prefix(text); + g10_log_print_prefix(text); for(i=0; i < len; i++ ) fprintf(logfp, " %02X", ((const byte*)buf)[i] ); fputc('\n', logfp); } -void -g10_log_mpidump( const char *text, MPI a ) -{ - print_prefix(text); - mpi_print(logfp, a, 1 ); - fputc('\n', logfp); -} diff -urN gnupg-0.9.8/util/memory.c gnupg-0.9.9/util/memory.c --- gnupg-0.9.8/util/memory.c Tue Jun 1 15:38:27 1999 +++ gnupg-0.9.9/util/memory.c Tue Jul 6 15:43:00 1999 @@ -48,9 +48,11 @@ #define EXTRA_ALIGN 0 #endif +#if defined(M_DEBUG) || defined(M_GUARD) + static void membug( const char *fmt, ... ); +#endif #ifdef M_DEBUG - static void membug( const char *fmt, ... ); #ifndef M_GUARD #define M_GUARD 1 @@ -319,7 +321,9 @@ check_mem(e->user_p-4-EXTRA_ALIGN, info); } +#endif /* M_DEBUG */ +#if defined(M_DEBUG) || defined(M_GUARD) static void membug( const char *fmt, ... ) { @@ -336,8 +340,7 @@ #endif abort(); } - -#endif /* M_DEBUG */ +#endif void m_print_stats( const char *prefix ) diff -urN gnupg-0.9.8/util/miscutil.c gnupg-0.9.9/util/miscutil.c --- gnupg-0.9.8/util/miscutil.c Tue Jun 15 18:33:22 1999 +++ gnupg-0.9.9/util/miscutil.c Tue Jul 6 13:50:40 1999 @@ -19,6 +19,7 @@ */ #include +#include #include #include #include @@ -30,12 +31,55 @@ #include "util.h" #include "i18n.h" +/**************** + * I know that the OpenPGP protocol has a Y2106 problem ;-) + */ u32 make_timestamp() { return time(NULL); } +/**************** + * Scan a date string and return a timestamp. + * The only supported format is "yyyy-mm-dd" + * Returns 0 for an invalid date. + */ +u32 +scan_isodatestr( const char *string ) +{ + int year, month, day; + struct tm tmbuf; + time_t stamp; + int i; + + if( strlen(string) != 10 || string[4] != '-' || string[7] != '-' ) + return 0; + for( i=0; i < 4; i++ ) + if( !isdigit(string[i]) ) + return 0; + if( !isdigit(string[5]) || !isdigit(string[6]) ) + return 0; + if( !isdigit(string[8]) || !isdigit(string[9]) ) + return 0; + year = atoi(string); + month = atoi(string+5); + day = atoi(string+8); + /* some basic checks */ + if( year < 1970 || month < 1 || month > 12 || day < 1 || day > 31 ) + return 0; + memset( &tmbuf, 0, sizeof tmbuf ); + tmbuf.tm_mday = day; + tmbuf.tm_mon = month-1; + tmbuf.tm_year = year - 1900; + tmbuf.tm_isdst = -1; + stamp = mktime( &tmbuf ); + if( stamp == (time_t)-1 ) + return 0; + return stamp; +} + + u32 add_days_to_timestamp( u32 stamp, u16 days ) { @@ -147,6 +191,60 @@ } else putc(*p, fp); +} + +/**************** + * This function returns a string which is suitable for printing + * Caller must release it with m_free() + */ +char * +make_printable_string( const byte *p, size_t n, int delim ) +{ + size_t save_n, buflen; + const byte *save_p; + char *buffer, *d; + + /* first count length */ + for(save_n = n, save_p = p, buflen=1 ; n; n--, p++ ) { + if( iscntrl( *p ) || *p == delim ) { + if( *p=='\n' || *p=='\r' || *p=='\f' + || *p=='\v' || *p=='\b' || !*p ) + buflen += 2; + else + buflen += 3; + } + else + buflen++; + } + p = save_p; + n = save_n; + /* and now make the string */ + d = buffer = m_alloc( buflen ); + for( ; n; n--, p++ ) { + if( iscntrl( *p ) || *p == delim ) { + *d++ = '\\'; + if( *p == '\n' ) + *d++ = 'n'; + else if( *p == '\r' ) + *d++ = 'r'; + else if( *p == '\f' ) + *d++ = 'f'; + else if( *p == '\v' ) + *d++ = 'v'; + else if( *p == '\b' ) + *d++ = 'b'; + else if( !*p ) + *d++ = '0'; + else { + sprintf(d, "x%02x", *p ); + d += 2; + } + } + else + *d++ = *p; + } + *d = 0; + return buffer; } diff -urN gnupg-0.9.8/util/secmem.c gnupg-0.9.9/util/secmem.c --- gnupg-0.9.8/util/secmem.c Sat Jun 26 11:21:37 1999 +++ gnupg-0.9.9/util/secmem.c Tue Jun 29 21:06:09 1999 @@ -29,6 +29,9 @@ #include #include #include + #ifdef USE_CAPABILITIES + #include + #endif #endif #include "types.h" @@ -80,7 +83,26 @@ static void lock_pool( void *p, size_t n ) { - #ifdef HAVE_MLOCK + #if defined(USE_CAPABILITIES) && defined(HAVE_MLOCK) + int err; + + cap_set_proc( cap_from_text("cap_ipc_lock+ep") ); + err = mlock( p, n ); + if( err && errno ) + err = errno; + cap_set_proc( cap_from_text("cap_ipc_lock+p") ); + + if( err ) { + if( errno != EPERM + #ifdef EAGAIN /* OpenBSD returns this */ + && errno != EAGAIN + #endif + ) + log_error("can´t lock memory: %s\n", strerror(err)); + show_warning = 1; + } + + #elif defined(HAVE_MLOCK) uid_t uid; int err; @@ -216,7 +238,11 @@ secmem_init( size_t n ) { if( !n ) { - #ifndef HAVE_DOSISH_SYSTEM + #ifdef USE_CAPABILITIES + /* drop all capabilities */ + cap_set_proc( cap_from_text("all-eip") ); + + #elif !defined(HAVE_DOSISH_SYSTEM) uid_t uid; disable_secmem=1; diff -urN gnupg-0.9.8/util/strgutil.c gnupg-0.9.9/util/strgutil.c --- gnupg-0.9.8/util/strgutil.c Sat Jun 5 15:26:30 1999 +++ gnupg-0.9.9/util/strgutil.c Wed Jul 14 09:29:31 1999 @@ -1,4 +1,4 @@ -/* strgutil.c - miscellaneous utilities +/* strgutil.c - string utilities * Copyright (C) 1998 Free Software Foundation, Inc. * * This file is part of GnuPG. @@ -94,6 +94,25 @@ return sl; } +/**************** + * ame as add_to_strlist() but if is_utf8 is *not* set a conversion + * to UTF8 is done + */ +STRLIST +add_to_strlist2( STRLIST *list, const char *string, int is_utf8 ) +{ + STRLIST sl; + + if( is_utf8 ) + sl = add_to_strlist( list, string ); + else { + char *p = native_to_utf8( string ); + sl = add_to_strlist( list, p ); + m_free( p ); + } + return sl; +} + STRLIST append_to_strlist( STRLIST *list, const char *string ) { @@ -113,6 +132,20 @@ return sl; } +STRLIST +append_to_strlist2( STRLIST *list, const char *string, int is_utf8 ) +{ + STRLIST sl; + + if( is_utf8 ) + sl = append_to_strlist( list, string ); + else { + char *p = native_to_utf8( string ); + sl = append_to_strlist( list, p ); + m_free( p ); + } + return sl; +} STRLIST diff -urN gnupg-0.9.8/zlib/Makefile.in gnupg-0.9.9/zlib/Makefile.in --- gnupg-0.9.8/zlib/Makefile.in Sat Jun 26 13:06:59 1999 +++ gnupg-0.9.9/zlib/Makefile.in Fri Jul 23 14:25:22 1999 @@ -69,6 +69,7 @@ target_alias = @target_alias@ target_triplet = @target@ AS = @AS@ +AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -89,12 +90,17 @@ 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@ @@ -135,8 +141,9 @@ 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 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in @@ -149,8 +156,8 @@ all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +.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 zlib/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -186,6 +193,25 @@ 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) @@ -273,23 +299,27 @@ maintainer-clean-generic: mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ - mostlyclean-tags mostlyclean-generic + mostlyclean-libtool mostlyclean-tags \ + mostlyclean-generic mostlyclean: mostlyclean-am -clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \ - mostlyclean-am +clean-am: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \ + clean-generic mostlyclean-am clean: clean-am distclean-am: distclean-noinstLIBRARIES distclean-compile \ - distclean-tags distclean-generic clean-am + distclean-libtool distclean-tags distclean-generic \ + clean-am + -rm -f libtool distclean: distclean-am maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am + maintainer-clean-compile maintainer-clean-libtool \ + 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." @@ -298,13 +328,14 @@ .PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ -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 +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 # Tell versions [3.59,3.63) of GNU make to not export all variables. -----BEGIN PGP SIGNATURE----- Version: GnuPG v0.9.9 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE3mGFdaLeriVdUjc0RAkPFAJ9mzEZKDftV8aerCMxBdCgcbAVx7wCePAfk piaw7xtvpL0OdFn7WDxRmMs= =bx56 -----END PGP SIGNATURE-----