-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message This is a patch file to create version 1.0.3 from 1.0.2. Please check the signature of this patch file: zcat somepath/gpgme-1.0.2-1.0.3.diff.gz | gpg --verify Change to directory gpgme-1.0.2 (or however you renamed it) and give this command: zcat somepath/gpgme-1.0.2-1.0.3.diff.gz | patch -p1 It is a good idea to rename your current directory to gpgme-1.0.3 now. diff -urpNP gpgme-1.0.2/VERSION gpgme-1.0.3/VERSION --- gpgme-1.0.2/VERSION 2004-12-28 11:35:51.000000000 +0000 +++ gpgme-1.0.3/VERSION 2005-06-20 19:35:41.000000000 +0000 @@ -1 +1 @@ -1.0.2 +1.0.3 diff -urpNP gpgme-1.0.2/ChangeLog gpgme-1.0.3/ChangeLog --- gpgme-1.0.2/ChangeLog 2004-12-28 11:35:19.000000000 +0000 +++ gpgme-1.0.3/ChangeLog 2005-06-20 19:15:21.000000000 +0000 @@ -1,3 +1,7 @@ +2005-06-20 Marcus Brinkmann + + * configure.ac: Update the version information for the release. + 2004-12-28 Werner Koch Released 1.0.2. diff -urpNP gpgme-1.0.2/Makefile.in gpgme-1.0.3/Makefile.in --- gpgme-1.0.2/Makefile.in 2004-12-28 11:35:38.000000000 +0000 +++ gpgme-1.0.3/Makefile.in 2005-06-20 19:35:25.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -311,7 +311,13 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -323,7 +329,7 @@ $(RECURSIVE_TARGETS): local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ @@ -331,7 +337,13 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -352,7 +364,7 @@ maintainer-clean-recursive: local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ diff -urpNP gpgme-1.0.2/NEWS gpgme-1.0.3/NEWS --- gpgme-1.0.2/NEWS 2004-12-28 11:29:06.000000000 +0000 +++ gpgme-1.0.3/NEWS 2005-06-20 19:16:42.000000000 +0000 @@ -1,3 +1,32 @@ +Noteworthy changes in version 1.0.3 (2005-06-20) +------------------------------------------------ + + * Previousy, GPGME would use a default "include certs" of 1. This + has been changed. Now GPGME will use the crypto backend engines + default unless you set the value with gpgme_set_include_certs() + explicitely. A new macro GPGME_INCLUDE_CERTS_DEFAULT can be used + as a value to explicitely request the new default behaviour. + + Because the default changes, this is a slight change of the API + semantics. We consider it to be a bug fix. + + * A bug which made GPGME hang has been fixed. If you have + experienced hanging before, please try out this version and let me + know if you still experience hanging problems. + + * Interface changes relative to the 0.9.0 release: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +gpgme_set_include_certs CHANGED DEFAULT +GPGME_INCLUDE_CERTS_DEFAULT NEW +GPGME_STATUS_SIG_SUBPACKET NEW +GPGME_STATUS_NEED_PASSPHRASE_PIN NEW +GPGME_STATUS_SC_OP_FAILURE NEW +GPGME_STATUS_SC_OP_SUCCESS NEW +GPGME_STATUS_CARDCTRL NEW +GPGME_STATUS_BACKUP_KEY_CREATED NEW +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Noteworthy changes in version 1.0.2 (2004-12-28) ------------------------------------------------ @@ -1021,7 +1050,7 @@ Noteworthy changes in version 0.2.1 (200 * Made the W32 support more robust. - Copyright 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is free software; as a special exception the author gives unlimited permission to copy and/or distribute it, with or without diff -urpNP gpgme-1.0.2/THANKS gpgme-1.0.3/THANKS --- gpgme-1.0.2/THANKS 2004-12-07 19:06:42.000000000 +0000 +++ gpgme-1.0.3/THANKS 2005-05-28 19:37:54.000000000 +0000 @@ -9,6 +9,7 @@ Albrecht Dreß albrecht.dress@arcor.de Alfons Hoogervorst alfons@proteus.demon.nl Enno Cramer uebergeek@web.de Frank Heckenbach frank@g-n-u.de +Igor Belyi gpgme@katehok.ac93.org Jan-Oliver Wagner jan@intevation.de Johannes Poehlmann jhp@caldera.de Jose C. García Sogo jose@jaimedelamo.eu.org diff -urpNP gpgme-1.0.2/TODO gpgme-1.0.3/TODO --- gpgme-1.0.2/TODO 2004-12-07 21:11:52.000000000 +0000 +++ gpgme-1.0.3/TODO 2005-05-28 19:37:54.000000000 +0000 @@ -1,7 +1,6 @@ Hey Emacs, this is -*- outline -*- mode! * Before release: -** Switch to LGPL? ** Some gpg tests fail with gpg 1.3.4-cvs (gpg/t-keylist-sig) The test is currently disabled there and in gpg/t-import. ** Add notation data to key signatures. @@ -9,7 +8,8 @@ Hey Emacs, this is -*- outline -*- mode! * ABI's to break: ** I/O and User Data could be made extensible. But this can be done without breaking the ABI hopefully. -* All enums that should be enums need to have a maximum value to ensure a certain minimum width for extensibility. +* All enums that should be enums need to have a maximum value to ensure + a certain minimum width for extensibility. ** Compatibility interfaces that can be removed in future versions: *** ath compatibility modules. *** gpgme_data_new_from_filepart @@ -28,6 +28,7 @@ Hey Emacs, this is -*- outline -*- mode! *** gpgme_attr_t *** All Gpgme* typedefs. + * Thread support: ** When GNU Pth supports sendmsg/recvmsg, wrap them properly. ** Without timegm (3) support our ISO time parser is not thread safe. @@ -60,9 +61,6 @@ Hey Emacs, this is -*- outline -*- mode! This allows us to handle years later than 2037 properly. With the time_t interface they are all mapped to 2037-12-31 -* Support -** gpgme.m4 should check --api-version of gpgme-config. - * Documentation ** Document validity and trust issues. @@ -143,14 +141,13 @@ Hey Emacs, this is -*- outline -*- mode! * Build suite ** Make sure everything is cleaned correctly (esp. test area). -** Configure test for gpg and gpgsm version (as a warning). ** Enable AC_CONFIG_MACRO_DIR and bump up autoconf version requirement. (To fix "./autogen.sh; ./configure --enable-maintainer-mode; touch - configure.ac; make"). + configure.ac; make"). Currently worked around with ACLOCAL_AMFLAGS??? * Error checking ** engine-gpgsm, with-validation - Add error checking some time after releasing a new gpgsm. + Add error checking some time after releasing a new gpgsm. Copyright 2004 g10 Code GmbH diff -urpNP gpgme-1.0.2/aclocal.m4 gpgme-1.0.3/aclocal.m4 diff -urpNP gpgme-1.0.2/aclocal.m4 gpgme-1.0.3/aclocal.m4 --- gpgme-1.0.2/aclocal.m4 2004-12-28 11:35:32.000000000 +0000 +++ gpgme-1.0.3/aclocal.m4 2005-06-20 19:35:20.000000000 +0000 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.3 -*- Autoconf -*- +# generated automatically by aclocal 1.9.5 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. # This file 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. @@ -11,23 +11,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# -*- Autoconf -*- -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. -# Generated from amversion.in; do not edit by hand. - -# 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, 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 +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- @@ -40,26 +28,15 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.3])]) - -# AM_AUX_DIR_EXPAND + [AM_AUTOMAKE_VERSION([1.9.5])]) -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. +# AM_AUX_DIR_EXPAND -*- Autoconf -*- -# 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, 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. +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to @@ -106,26 +83,16 @@ AC_PREREQ([2.50])dnl am_aux_dir=`cd $ac_aux_dir && pwd` ]) -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. +# AM_CONDITIONAL -*- Autoconf -*- -# 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, 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. +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -# serial 6 +# serial 7 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -149,26 +116,15 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# serial 7 -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file 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 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, 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. - +# serial 8 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -177,7 +133,6 @@ fi])]) # CC etc. in the Makefile, will ask for an AC_PROG_CC use... - # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. @@ -317,27 +272,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_ AC_SUBST([AMDEPBACKSLASH]) ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. - -# 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, or (at your option) -# any later version. +# Generate code to set up dependency tracking. -*- Autoconf -*- -# 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. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -#serial 2 +#serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ @@ -396,54 +340,31 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS] [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. - -# 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, 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. +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -# serial 7 +# serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) -# Do all the work for Automake. -*- Autoconf -*- +# Do all the work for Automake. -*- Autoconf -*- -# This macro actually does too much some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file 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 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, 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. +# serial 12 -# serial 11 +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) @@ -545,51 +466,27 @@ for _am_header in $config_headers :; do done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# 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, 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. - AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) -# -*- Autoconf -*- -# Copyright (C) 2003 Free Software Foundation, Inc. - -# 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, 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. +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. -# serial 1 +# serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. @@ -604,28 +501,17 @@ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) -# Add --enable-maintainer-mode option to configure. +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file 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 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, 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. - -# serial 3 +# serial 4 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) @@ -644,26 +530,15 @@ AC_DEFUN([AM_MAINTAINER_MODE], AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +# Check to see how 'make' treats includes. -*- Autoconf -*- -# 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, 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. +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. -# serial 2 +# serial 3 # AM_MAKE_INCLUDE() # ----------------- @@ -707,27 +582,16 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# -*- Autoconf -*- - - -# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. - -# 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, or (at your option) -# any later version. +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# 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. +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -# serial 3 +# serial 4 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -753,27 +617,16 @@ else fi ]) +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file 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. + # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. - -# Copyright (C) 2003, 2004 Free Software Foundation, Inc. - -# 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, 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. - +# # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). @@ -827,26 +680,15 @@ else fi AC_SUBST([mkdir_p])]) -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +# Helper functions for option handling. -*- Autoconf -*- -# 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, 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. +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. -# serial 2 +# serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -871,28 +713,16 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# -# Check to make sure that the build environment is sane. -# +# Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. - -# 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, 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. +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -# serial 3 +# serial 4 # AM_SANITY_CHECK # --------------- @@ -935,25 +765,14 @@ Check your system clock]) fi AC_MSG_RESULT(yes)]) -# AM_PROG_INSTALL_STRIP - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# 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, 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. +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. +# AM_PROG_INSTALL_STRIP +# --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip @@ -976,25 +795,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004 Free Software Foundation, Inc. - -# 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, 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. - -# serial 1 +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file 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. +# serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- diff -urpNP gpgme-1.0.2/assuan/ChangeLog gpgme-1.0.3/assuan/ChangeLog --- gpgme-1.0.2/assuan/ChangeLog 2004-12-21 08:44:27.000000000 +0000 +++ gpgme-1.0.3/assuan/ChangeLog 2005-03-24 08:25:32.000000000 +0000 @@ -1,3 +1,9 @@ +2005-03-22 Werner Koch + + * assuan-defs.h (struct assuan_io): Renamed elements READ and + WRITE to READFNC and WRITEFNC to avoid problems with read defined + as macro. Changed callers. Noted by Ville Skyttä. + 2004-12-16 Marcus Brinkmann * assuan-pipe-connect.c (do_finish): Do not wait for child to finish. diff -urpNP gpgme-1.0.2/assuan/Makefile.in gpgme-1.0.3/assuan/Makefile.in --- gpgme-1.0.2/assuan/Makefile.in 2004-12-28 11:35:36.000000000 +0000 +++ gpgme-1.0.3/assuan/Makefile.in 2005-06-20 19:35:23.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. diff -urpNP gpgme-1.0.2/assuan/assuan-buffer.c gpgme-1.0.3/assuan/assuan-buffer.c --- gpgme-1.0.2/assuan/assuan-buffer.c 2004-06-08 17:48:37.000000000 +0000 +++ gpgme-1.0.3/assuan/assuan-buffer.c 2005-03-24 08:25:32.000000000 +0000 @@ -32,7 +32,7 @@ writen (ASSUAN_CONTEXT ctx, const char * { while (length) { - ssize_t nwritten = ctx->io->write (ctx, buffer, length); + ssize_t nwritten = ctx->io->writefnc (ctx, buffer, length); if (nwritten < 0) { @@ -58,7 +58,7 @@ readline (ASSUAN_CONTEXT ctx, char *buf, *r_nread = 0; while (nleft > 0) { - ssize_t n = ctx->io->read (ctx, buf, nleft); + ssize_t n = ctx->io->readfnc (ctx, buf, nleft); if (n < 0) { diff -urpNP gpgme-1.0.2/assuan/assuan-defs.h gpgme-1.0.3/assuan/assuan-defs.h --- gpgme-1.0.2/assuan/assuan-defs.h 2003-08-18 19:17:07.000000000 +0000 +++ gpgme-1.0.3/assuan/assuan-defs.h 2005-03-24 08:25:32.000000000 +0000 @@ -39,9 +39,9 @@ struct cmdtbl_s struct assuan_io { /* Routine to read from input_fd. */ - ssize_t (*read) (ASSUAN_CONTEXT, void *, size_t); + ssize_t (*readfnc) (ASSUAN_CONTEXT, void *, size_t); /* Routine to write to output_fd. */ - ssize_t (*write) (ASSUAN_CONTEXT, const void *, size_t); + ssize_t (*writefnc) (ASSUAN_CONTEXT, const void *, size_t); /* Send a file descriptor. */ AssuanError (*sendfd) (ASSUAN_CONTEXT, int); /* Receive a file descriptor. */ diff -urpNP gpgme-1.0.2/complus/Makefile.in gpgme-1.0.3/complus/Makefile.in --- gpgme-1.0.2/complus/Makefile.in 2004-12-28 11:35:37.000000000 +0000 +++ gpgme-1.0.3/complus/Makefile.in 2005-06-20 19:35:24.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. diff -urpNP gpgme-1.0.2/configure gpgme-1.0.3/configure --- gpgme-1.0.2/configure 2004-12-28 11:35:39.000000000 +0000 +++ gpgme-1.0.3/configure 2005-06-20 19:35:26.000000000 +0000 @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac Revision: 1.93.2.3 . +# From configure.ac Revision: 1.93.2.5 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for gpgme 1.0.2. +# Generated by GNU Autoconf 2.59 for gpgme 1.0.3. # # Report bugs to . # @@ -424,8 +424,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='gpgme' PACKAGE_TARNAME='gpgme' -PACKAGE_VERSION='1.0.2' -PACKAGE_STRING='gpgme 1.0.2' +PACKAGE_VERSION='1.0.3' +PACKAGE_STRING='gpgme 1.0.3' PACKAGE_BUGREPORT='bug-gpgme@gnupg.org' ac_unique_file="gpgme/gpgme.h" @@ -955,7 +955,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gpgme 1.0.2 to adapt to many kinds of systems. +\`configure' configures gpgme 1.0.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1021,7 +1021,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gpgme 1.0.2:";; + short | recursive ) echo "Configuration of gpgme 1.0.3:";; esac cat <<\_ACEOF @@ -1169,7 +1169,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -gpgme configure 1.0.2 +gpgme configure 1.0.3 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1183,7 +1183,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gpgme $as_me 1.0.2, which was +It was created by gpgme $as_me 1.0.3, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1525,11 +1525,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # (Interfaces added: AGE++) # (Interfaces removed/changed: AGE=0) # -LIBGPGME_LT_CURRENT=14 -# Subtract 2 from this value if you want to make the LFS transition an +LIBGPGME_LT_CURRENT=15 +# Subtract 2 from the AGE value if you want to make the LFS transition an # ABI break. [Note to self: Remove this comment with the next regular break.] -LIBGPGME_LT_AGE=3 -LIBGPGME_LT_REVISION=3 +LIBGPGME_LT_AGE=4 +LIBGPGME_LT_REVISION=0 # If the API is changed in an incompatible way: increment the next counter. GPGME_CONFIG_API_VERSION=1 @@ -23375,7 +23375,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by gpgme $as_me 1.0.2, which was +This file was extended by gpgme $as_me 1.0.3, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23438,7 +23438,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -gpgme config.status 1.0.2 +gpgme config.status 1.0.3 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff -urpNP gpgme-1.0.2/configure.ac gpgme-1.0.3/configure.ac --- gpgme-1.0.2/configure.ac 2004-12-28 11:32:51.000000000 +0000 +++ gpgme-1.0.3/configure.ac 2005-06-20 19:35:19.000000000 +0000 @@ -1,6 +1,6 @@ # configure.ac for GPGME # Copyright (C) 2000 Werner Koch (dd9jn) -# Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH +# Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH # # This file is part of GPGME. # @@ -24,18 +24,18 @@ AC_PREREQ(2.59) min_automake_version="1.9.3" # Version number: Remember to change it immediately *after* a release. -AC_INIT(gpgme, 1.0.2, [bug-gpgme@gnupg.org]) +AC_INIT(gpgme, 1.0.3, [bug-gpgme@gnupg.org]) # LT Version numbers, remember to change them just *before* a release. # (Code changed: REVISION++) # (Interfaces added/removed/changed: CURRENT++, REVISION=0) # (Interfaces added: AGE++) # (Interfaces removed/changed: AGE=0) # -LIBGPGME_LT_CURRENT=14 -# Subtract 2 from this value if you want to make the LFS transition an +LIBGPGME_LT_CURRENT=15 +# Subtract 2 from the AGE value if you want to make the LFS transition an # ABI break. [Note to self: Remove this comment with the next regular break.] -LIBGPGME_LT_AGE=3 -LIBGPGME_LT_REVISION=3 +LIBGPGME_LT_AGE=4 +LIBGPGME_LT_REVISION=0 # If the API is changed in an incompatible way: increment the next counter. GPGME_CONFIG_API_VERSION=1 @@ -44,7 +44,7 @@ NEED_GPG_VERSION=1.2.2 NEED_GPGSM_VERSION=1.9.6 ############################################## AC_PREREQ(2.52) -AC_REVISION($Revision: 1.93.2.3 $) +AC_REVISION($Revision: 1.93.2.5 $) PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION diff -urpNP gpgme-1.0.2/doc/ChangeLog gpgme-1.0.3/doc/ChangeLog --- gpgme-1.0.2/doc/ChangeLog 2004-12-07 21:21:08.000000000 +0000 +++ gpgme-1.0.3/doc/ChangeLog 2005-05-28 19:53:14.000000000 +0000 @@ -1,3 +1,14 @@ +2005-05-28 Marcus Brinkmann + + * gpgme.texi (Key Listing Mode): Fix return type of + gpgme_set_keylist_mode. + Reported by "Sergio" . + +2005-04-28 Marcus Brinkmann + + * gpgme.texi (Included Certificates): Document + GPGME_INCLUDE_CERTS_DEFAULT. + 2004-12-07 Marcus Brinkmann * lesser.texi (Library Copying): Change from @appendixsec to diff -urpNP gpgme-1.0.2/doc/Makefile.in gpgme-1.0.3/doc/Makefile.in --- gpgme-1.0.2/doc/Makefile.in 2004-12-28 11:35:37.000000000 +0000 +++ gpgme-1.0.3/doc/Makefile.in 2005-06-20 19:35:24.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -334,7 +334,7 @@ maintainer-clean-vti: $(DVIPS) -o $@ $< uninstall-info-am: - $(PRE_UNINSTALL) + @$(PRE_UNINSTALL) @if (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ @@ -350,7 +350,7 @@ uninstall-info-am: relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if cd "$(DESTDIR)$(infodir)"; then \ - echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ + echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done diff -urpNP gpgme-1.0.2/doc/gpgme.texi gpgme-1.0.3/doc/gpgme.texi --- gpgme-1.0.2/doc/gpgme.texi 2004-12-07 21:21:08.000000000 +0000 +++ gpgme-1.0.3/doc/gpgme.texi 2005-05-28 19:53:28.000000000 +0000 @@ -1944,6 +1944,9 @@ default, only the sender's certificate i values of @var{nr_of_certs} are: @table @code +@item GPGME_INCLUDE_CERTS_DEFAULT +Fall back to the default of the crypto backend. This is the default +for GPGME. @item -2 Include all certificates except the root certificate. @item -1 @@ -1974,7 +1977,7 @@ certificates to include into an S/MIME s @cindex key listing mode @cindex key listing, mode of -@deftypefun void gpgme_set_keylist_mode (@w{gpgme_ctx_t @var{ctx}}, @w{gpgme_keylist_mode_t @var{mode}}) +@deftypefun gpgme_error_t gpgme_set_keylist_mode (@w{gpgme_ctx_t @var{ctx}}, @w{gpgme_keylist_mode_t @var{mode}}) The function @code{gpgme_set_keylist_mode} changes the default behaviour of the key listing functions. The value in @var{mode} is a bitwise-or combination of one or multiple of the following bit values: diff -urpNP gpgme-1.0.2/doc/stamp-vti gpgme-1.0.3/doc/stamp-vti --- gpgme-1.0.2/doc/stamp-vti 2004-12-28 11:35:50.000000000 +0000 +++ gpgme-1.0.3/doc/stamp-vti 2005-06-20 19:35:41.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 7 December 2004 -@set UPDATED-MONTH December 2004 -@set EDITION 1.0.2 -@set VERSION 1.0.2 +@set UPDATED 28 May 2005 +@set UPDATED-MONTH May 2005 +@set EDITION 1.0.3 +@set VERSION 1.0.3 diff -urpNP gpgme-1.0.2/doc/version.texi gpgme-1.0.3/doc/version.texi --- gpgme-1.0.2/doc/version.texi 2004-12-28 11:30:51.000000000 +0000 +++ gpgme-1.0.3/doc/version.texi 2005-06-20 19:35:41.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 7 December 2004 -@set UPDATED-MONTH December 2004 -@set EDITION 1.0.2 -@set VERSION 1.0.2 +@set UPDATED 28 May 2005 +@set UPDATED-MONTH May 2005 +@set EDITION 1.0.3 +@set VERSION 1.0.3 diff -urpNP gpgme-1.0.2/gpgme/ChangeLog gpgme-1.0.3/gpgme/ChangeLog --- gpgme-1.0.2/gpgme/ChangeLog 2004-12-11 15:50:12.000000000 +0000 +++ gpgme-1.0.3/gpgme/ChangeLog 2005-06-20 17:53:28.000000000 +0000 @@ -1,3 +1,72 @@ +2005-06-20 Marcus Brinkmann + + * gpgme.m4: Only call GPGME_CONFIG if found. + +2005-06-03 Marcus Brinkmann + + * wait-global.c (gpgme_wait): Break out of the fd processing loop + after an error. + Reported by Igor Belyi . + +2005-06-02 Marcus Brinkmann + + * wait.h (_gpgme_run_io_cb): New prototype. + * wait.c (_gpgme_run_io_cb): New function. + * wait-global.c (gpgme_wait): Call it. + * wait-user.c (_gpgme_user_io_cb_handler): Likewise. + * wait-private.c (_gpgme_wait_on_condition): Likewise. + +2005-06-02 Werner Koch + + * gpgme.h: Add GPGME_STATUS_NEED_PASSPHRASE_PIN. + * passphrase.c (_gpgme_passphrase_status_handler): Take care of + GPGME_STATUS_NEED_PASSPHRASE_PIN. + (_gpgme_passphrase_command_handler_internal): Also act on the key + "passphrase.pin.ask". + +2005-05-28 Marcus Brinkmann + + * data-user.c: Include . + +2005-05-17 Marcus Brinkmann + + * gpgme.c (gpgme_new): Set the CTX->include_certs default to the + default. + +2005-05-11 Marcus Brinkmann + + * w32-io.c (_gpgme_io_select): Fix loop increment. + +2005-05-05 Marcus Brinkmann + + * data-user.c (user_release): Only call user hook if provided. + (user_seek): Return EBADF if no user hook is provided. + (user_read): Likewise. + (user_write): Likewise. + +2005-04-28 Marcus Brinkmann + + * gpgme.h (GPGME_INCLUDE_CERTS_DEFAULT): New macro. + * engine-gpgsm.c (gpgsm_sign): Send the include-certs option after + the reset, just for cleanliness, and do not sent it at all if the + default is requested. + * gpgme.c (gpgme_set_include_certs): Allow to use + GPGME_INCLUDE_CERTS_DEFAULT. + +2005-04-21 Werner Koch + + * verify.c (calc_sig_summary): Set the key revoked bit. + +2005-04-14 Marcus Brinkmann + + * wait-global.c (gpgme_wait): Use LI->ctx when checking a context + in the list, not the user-provided CTX. + Reported by Igor Belyi . + + * wait-global.c (gpgme_wait): If no context is found, and we + should not hang, set *status to 0 and return NULL. + Reported by Igor Belyi . + 2004-12-11 Marcus Brinkmann * util.h [HAVE_CONFIG_H && HAVE_TTYNAME_R] (ttyname_r): Define @@ -4566,7 +4635,7 @@ * data.c (gpgme_data_rewind): Allow to rewind data_type_none. - Copyright 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is free software; as a special exception the author gives unlimited permission to copy and/or distribute it, with or without diff -urpNP gpgme-1.0.2/gpgme/Makefile.in gpgme-1.0.3/gpgme/Makefile.in --- gpgme-1.0.2/gpgme/Makefile.in 2004-12-28 11:35:37.000000000 +0000 +++ gpgme-1.0.3/gpgme/Makefile.in 2005-06-20 19:35:24.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. diff -urpNP gpgme-1.0.2/gpgme/data-user.c gpgme-1.0.3/gpgme/data-user.c --- gpgme-1.0.2/gpgme/data-user.c 2004-12-07 21:11:52.000000000 +0000 +++ gpgme-1.0.3/gpgme/data-user.c 2005-06-20 19:14:13.000000000 +0000 @@ -1,5 +1,5 @@ /* data-user.c - A user callback based data object. - Copyright (C) 2002, 2004 g10 Code GmbH + Copyright (C) 2002, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -23,6 +23,7 @@ #endif #include +#include #include "data.h" @@ -30,6 +31,9 @@ static ssize_t user_read (gpgme_data_t dh, void *buffer, size_t size) { + if (!dh->data.user.cbs->read) + return EBADF; + return (*dh->data.user.cbs->read) (dh->data.user.handle, buffer, size); } @@ -37,6 +41,9 @@ user_read (gpgme_data_t dh, void *buffer static ssize_t user_write (gpgme_data_t dh, const void *buffer, size_t size) { + if (!dh->data.user.cbs->write) + return EBADF; + return (*dh->data.user.cbs->write) (dh->data.user.handle, buffer, size); } @@ -44,6 +51,9 @@ user_write (gpgme_data_t dh, const void static off_t user_seek (gpgme_data_t dh, off_t offset, int whence) { + if (!dh->data.user.cbs->seek) + return EBADF; + return (*dh->data.user.cbs->seek) (dh->data.user.handle, offset, whence); } @@ -51,7 +61,8 @@ user_seek (gpgme_data_t dh, off_t offset static void user_release (gpgme_data_t dh) { - (*dh->data.user.cbs->release) (dh->data.user.handle); + if (dh->data.user.cbs->release) + (*dh->data.user.cbs->release) (dh->data.user.handle); } diff -urpNP gpgme-1.0.2/gpgme/engine-gpgsm.c gpgme-1.0.3/gpgme/engine-gpgsm.c --- gpgme-1.0.2/gpgme/engine-gpgsm.c 2004-12-07 21:11:52.000000000 +0000 +++ gpgme-1.0.3/gpgme/engine-gpgsm.c 2005-05-28 19:37:54.000000000 +0000 @@ -1,6 +1,6 @@ /* engine-gpgsm.c - GpgSM engine. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -1433,19 +1433,27 @@ gpgsm_sign (void *engine, gpgme_data_t i if (!gpgsm) return gpg_error (GPG_ERR_INV_VALUE); - if (asprintf (&assuan_cmd, "OPTION include-certs %i", include_certs) < 0) - return gpg_error_from_errno (errno); - err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, assuan_cmd, NULL,NULL); - free (assuan_cmd); - if (err) - return err; - /* We must send a reset because we need to reset the list of signers. Note that RESET does not reset OPTION commands. */ err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, "RESET", NULL, NULL); if (err) return err; + if (include_certs != GPGME_INCLUDE_CERTS_DEFAULT) + { + /* FIXME: Make sure that if we run multiple operations, that we + can reset any previously set value in case the default is + requested. */ + + if (asprintf (&assuan_cmd, "OPTION include-certs %i", include_certs) < 0) + return gpg_error_from_errno (errno); + err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, assuan_cmd, + NULL, NULL); + free (assuan_cmd); + if (err) + return err; + } + for (i = 0; (key = gpgme_signers_enum (ctx, i)); i++) { const char *s = key->subkeys ? key->subkeys->fpr : NULL; diff -urpNP gpgme-1.0.2/gpgme/gpgme.c gpgme-1.0.3/gpgme/gpgme.c --- gpgme-1.0.2/gpgme/gpgme.c 2004-12-07 21:11:52.000000000 +0000 +++ gpgme-1.0.3/gpgme/gpgme.c 2005-06-20 19:14:19.000000000 +0000 @@ -1,6 +1,6 @@ /* gpgme.c - GnuPG Made Easy. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -52,7 +52,7 @@ gpgme_new (gpgme_ctx_t *r_ctx) if (!ctx) return gpg_error_from_errno (errno); ctx->keylist_mode = GPGME_KEYLIST_MODE_LOCAL; - ctx->include_certs = 1; + ctx->include_certs = GPGME_INCLUDE_CERTS_DEFAULT; ctx->protocol = GPGME_PROTOCOL_OpenPGP; _gpgme_fd_table_init (&ctx->fdt); @@ -211,12 +211,14 @@ gpgme_get_textmode (gpgme_ctx_t ctx) /* Set the number of certifications to include in an S/MIME message. - The default is 1 (only the cert of the sender). -1 means all - certs, and -2 means all certs except the root cert. */ + The default is GPGME_INCLUDE_CERTS_DEFAULT. -1 means all certs, + and -2 means all certs except the root cert. */ void gpgme_set_include_certs (gpgme_ctx_t ctx, int nr_of_certs) { - if (nr_of_certs < -2) + if (nr_of_certs == GPGME_INCLUDE_CERTS_DEFAULT) + ctx->include_certs = GPGME_INCLUDE_CERTS_DEFAULT; + else if (nr_of_certs < -2) ctx->include_certs = -2; else ctx->include_certs = nr_of_certs; diff -urpNP gpgme-1.0.2/gpgme/gpgme.h gpgme-1.0.3/gpgme/gpgme.h --- gpgme-1.0.2/gpgme/gpgme.h 2004-12-28 11:29:56.000000000 +0000 +++ gpgme-1.0.3/gpgme/gpgme.h 2005-06-20 19:19:04.000000000 +0000 @@ -1,6 +1,6 @@ /* gpgme.h - Public interface to GnuPG Made Easy. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -75,7 +75,7 @@ extern "C" { AM_PATH_GPGME macro) check that this header matches the installed library. Warning: Do not edit the next line. configure will do that for you! */ -#define GPGME_VERSION "1.0.2" +#define GPGME_VERSION "1.0.3" /* Some opaque data types used by GPGME. */ @@ -399,7 +399,8 @@ typedef enum GPGME_STATUS_TRUNCATED, GPGME_STATUS_ERROR, GPGME_STATUS_NEWSIG, - GPGME_STATUS_REVKEYSIG + GPGME_STATUS_REVKEYSIG, + GPGME_STATUS_NEED_PASSPHRASE_PIN } gpgme_status_code_t; @@ -705,6 +706,9 @@ void gpgme_set_textmode (gpgme_ctx_t ctx /* Return non-zero if text mode is set in CTX. */ int gpgme_get_textmode (gpgme_ctx_t ctx); +/* Use whatever the default of the backend crypto engine is. */ +#define GPGME_INCLUDE_CERTS_DEFAULT -256 + /* Include up to NR_OF_CERTS certificates in an S/MIME message. */ void gpgme_set_include_certs (gpgme_ctx_t ctx, int nr_of_certs); diff -urpNP gpgme-1.0.2/gpgme/gpgme.m4 gpgme-1.0.3/gpgme/gpgme.m4 --- gpgme-1.0.2/gpgme/gpgme.m4 2004-09-30 01:06:18.000000000 +0000 +++ gpgme-1.0.3/gpgme/gpgme.m4 2005-06-20 19:13:12.000000000 +0000 @@ -1,5 +1,5 @@ # gpgme.m4 - autoconf macro to detect GPGME. -# Copyright (C) 2002, 2003, 2004 g10 Code GmbH +# Copyright (C) 2002, 2003, 2004, 2005 g10 Code GmbH # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -20,7 +20,9 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG], fi AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no) - gpgme_version=`$GPGME_CONFIG --version` + if test "$GPGME_CONFIG" != "no" ; then + gpgme_version=`$GPGME_CONFIG --version` + fi gpgme_version_major=`echo $gpgme_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` gpgme_version_minor=`echo $gpgme_version | \ diff -urpNP gpgme-1.0.2/gpgme/passphrase.c gpgme-1.0.3/gpgme/passphrase.c --- gpgme-1.0.2/gpgme/passphrase.c 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/passphrase.c 2005-06-20 19:14:02.000000000 +0000 @@ -1,6 +1,6 @@ /* passphrase.c - Passphrase callback. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -90,6 +90,7 @@ _gpgme_passphrase_status_handler (void * case GPGME_STATUS_NEED_PASSPHRASE: case GPGME_STATUS_NEED_PASSPHRASE_SYM: + case GPGME_STATUS_NEED_PASSPHRASE_PIN: if (opd->passphrase_info) free (opd->passphrase_info); opd->passphrase_info = strdup (args); @@ -133,7 +134,9 @@ _gpgme_passphrase_command_handler_intern if (err) return err; - if (code == GPGME_STATUS_GET_HIDDEN && !strcmp (key, "passphrase.enter")) + if (code == GPGME_STATUS_GET_HIDDEN + && (!strcmp (key, "passphrase.enter") + || !strcmp (key, "passphrase.pin.ask"))) { if (processed) *processed = 1; diff -urpNP gpgme-1.0.2/gpgme/status-table.h gpgme-1.0.3/gpgme/status-table.h --- gpgme-1.0.2/gpgme/status-table.h 2004-12-28 11:30:19.000000000 +0000 +++ gpgme-1.0.3/gpgme/status-table.h 2005-06-20 19:35:40.000000000 +0000 @@ -51,6 +51,7 @@ static struct status_table_s status_tabl { "LEAVE", GPGME_STATUS_LEAVE }, { "MISSING_PASSPHRASE", GPGME_STATUS_MISSING_PASSPHRASE }, { "NEED_PASSPHRASE", GPGME_STATUS_NEED_PASSPHRASE }, + { "NEED_PASSPHRASE_PIN", GPGME_STATUS_NEED_PASSPHRASE_PIN }, { "NEED_PASSPHRASE_SYM", GPGME_STATUS_NEED_PASSPHRASE_SYM }, { "NEWSIG", GPGME_STATUS_NEWSIG }, { "NODATA", GPGME_STATUS_NODATA }, diff -urpNP gpgme-1.0.2/gpgme/verify.c gpgme-1.0.3/gpgme/verify.c --- gpgme-1.0.2/gpgme/verify.c 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/verify.c 2005-06-20 19:14:49.000000000 +0000 @@ -1,6 +1,6 @@ /* verify.c - Signature verification. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -94,7 +94,8 @@ static void calc_sig_summary (gpgme_signature_t sig) { unsigned long sum = 0; - + + /* Calculate the red/green flag. */ if (sig->validity == GPGME_VALIDITY_FULL || sig->validity == GPGME_VALIDITY_ULTIMATE) { @@ -113,11 +114,6 @@ calc_sig_summary (gpgme_signature_t sig) else if (gpg_err_code (sig->status) == GPG_ERR_BAD_SIGNATURE) sum |= GPGME_SIGSUM_RED; - if (sig->validity == GPGME_VALIDITY_UNKNOWN) - { - if (gpg_err_code (sig->validity_reason) == GPG_ERR_CRL_TOO_OLD) - sum |= GPGME_SIGSUM_CRL_TOO_OLD; - } /* FIXME: handle the case when key and message are expired. */ switch (gpg_err_code (sig->status)) @@ -143,6 +139,23 @@ calc_sig_summary (gpgme_signature_t sig) break; } + /* Now look at the certain reason codes. */ + switch (gpg_err_code (sig->validity_reason)) + { + case GPG_ERR_CRL_TOO_OLD: + if (sig->validity == GPGME_VALIDITY_UNKNOWN) + sum |= GPGME_SIGSUM_CRL_TOO_OLD; + break; + + case GPG_ERR_CERT_REVOKED: + sum |= GPGME_SIGSUM_KEY_REVOKED; + break; + + default: + break; + } + + /* Check other flags. */ if (sig->wrong_key_usage) sum |= GPGME_SIGSUM_BAD_POLICY; diff -urpNP gpgme-1.0.2/gpgme/w32-io.c gpgme-1.0.3/gpgme/w32-io.c --- gpgme-1.0.2/gpgme/w32-io.c 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/w32-io.c 2005-06-20 19:14:27.000000000 +0000 @@ -1,6 +1,6 @@ /* w32-io.c - W32 API I/O functions. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -1085,7 +1085,7 @@ _gpgme_io_select ( struct io_select_fd_s int k, j = handle_to_fd (waitbuf[i]); DEBUG1 ("WFMO invalid handle %d removed\n", j); - for (k=0 ; k < nfds; i++ ) { + for (k=0 ; k < nfds; k++ ) { if ( fds[k].fd == j ) { fds[k].for_read = fds[k].for_write = 0; goto restart; diff -urpNP gpgme-1.0.2/gpgme/wait-global.c gpgme-1.0.3/gpgme/wait-global.c --- gpgme-1.0.2/gpgme/wait-global.c 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/wait-global.c 2005-06-02 23:02:42.000000000 +0000 @@ -1,6 +1,6 @@ /* wait-global.c Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -310,7 +310,7 @@ gpgme_wait (gpgme_ctx_t ctx, gpgme_error ictx = item->ctx; assert (ictx); - err = item->handler (item->handler_value, fdt.fds[i].fd); + err = _gpgme_run_io_cb (&fdt.fds[i], 0); if (err) { /* An error occured. Close all fds in this context, @@ -322,6 +322,11 @@ gpgme_wait (gpgme_ctx_t ctx, gpgme_error _gpgme_io_close (ictx->fdt.fds[idx].fd); _gpgme_engine_io_event (ictx->engine, GPGME_EVENT_DONE, &err); + + /* Break out of the loop, and retry the select() + from scratch, because now all fds should be + gone. */ + break; } } } @@ -331,13 +336,15 @@ gpgme_wait (gpgme_ctx_t ctx, gpgme_error LOCK (ctx_list_lock); for (li = ctx_active_list; li; li = li->next) { - for (i = 0; i < ctx->fdt.size; i++) - if (ctx->fdt.fds[i].fd != -1) + gpgme_ctx_t actx = li->ctx; + + for (i = 0; i < actx->fdt.size; i++) + if (actx->fdt.fds[i].fd != -1) break; - if (i == ctx->fdt.size) + if (i == actx->fdt.size) { gpgme_error_t err = 0; - _gpgme_engine_io_event (ctx->engine, GPGME_EVENT_DONE, &err); + _gpgme_engine_io_event (actx->engine, GPGME_EVENT_DONE, &err); } } UNLOCK (ctx_list_lock); @@ -350,6 +357,12 @@ gpgme_wait (gpgme_ctx_t ctx, gpgme_error ctx = dctx; hang = 0; } + else if (!hang) + { + ctx = NULL; + if (status) + *status = 0; + } } } while (hang); diff -urpNP gpgme-1.0.2/gpgme/wait-private.c gpgme-1.0.3/gpgme/wait-private.c --- gpgme-1.0.2/gpgme/wait-private.c 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/wait-private.c 2005-06-20 19:13:47.000000000 +0000 @@ -1,6 +1,6 @@ /* wait-private.c Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -101,15 +101,11 @@ _gpgme_wait_on_condition (gpgme_ctx_t ct { if (ctx->fdt.fds[i].fd != -1 && ctx->fdt.fds[i].signaled) { - struct wait_item_s *item; - ctx->fdt.fds[i].signaled = 0; assert (nr); nr--; - - item = (struct wait_item_s *) ctx->fdt.fds[i].opaque; - err = item->handler (item->handler_value, ctx->fdt.fds[i].fd); + err = _gpgme_run_io_cb (&ctx->fdt.fds[i], 0); if (err) { /* An error occured. Close all fds in this context, diff -urpNP gpgme-1.0.2/gpgme/wait-user.c gpgme-1.0.3/gpgme/wait-user.c --- gpgme-1.0.2/gpgme/wait-user.c 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/wait-user.c 2005-06-20 19:13:41.000000000 +0000 @@ -1,6 +1,6 @@ /* wait-user.c Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -42,15 +42,12 @@ _gpgme_user_io_cb_handler (void *data, i gpgme_error_t err; struct tag *tag = (struct tag *) data; gpgme_ctx_t ctx; - struct wait_item_s *item; assert (data); ctx = tag->ctx; assert (ctx); - item = (struct wait_item_s *) ctx->fdt.fds[tag->idx].opaque; - assert (item); - err = (*item->handler) (item->handler_value, fd); + err = _gpgme_run_io_cb (&ctx->fdt.fds[tag->idx], 0); if (err) { unsigned int idx; diff -urpNP gpgme-1.0.2/gpgme/wait.c gpgme-1.0.3/gpgme/wait.c --- gpgme-1.0.2/gpgme/wait.c 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/wait.c 2005-06-20 19:13:32.000000000 +0000 @@ -1,6 +1,6 @@ /* wait.c Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -167,3 +167,38 @@ _gpgme_remove_io_cb (void *data) fdt->fds[idx].for_write = 0; fdt->fds[idx].opaque = NULL; } + + +/* This is slightly embarrassing. The problem is that running an I/O + callback _may_ influence the status of other file descriptors. Our + own event loops could compensate for that, but the external event + loops cannot. FIXME: We may still want to optimize this a bit when + we are called from our own event loops. So if CHECKED is 1, the + check is skipped. */ +gpgme_error_t +_gpgme_run_io_cb (struct io_select_fd_s *an_fds, int checked) +{ + struct wait_item_s *item; + item = (struct wait_item_s *) an_fds->opaque; + assert (item); + + if (!checked) + { + int nr; + struct io_select_fd_s fds; + + fds = *an_fds; + fds.signaled = 0; + /* Just give it a quick poll. */ + nr = _gpgme_io_select (&fds, 1, 1); + assert (nr <= 1); + if (nr < 0) + return errno; + else if (nr == 0) + /* The status changed in the meantime, there is nothing left + to do. */ + return 0; + } + + return item->handler (item->handler_value, an_fds->fd); +} diff -urpNP gpgme-1.0.2/gpgme/wait.h gpgme-1.0.3/gpgme/wait.h --- gpgme-1.0.2/gpgme/wait.h 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/gpgme/wait.h 2005-06-20 19:13:26.000000000 +0000 @@ -1,6 +1,6 @@ /* wait.h - Definitions for the wait queue interface. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -77,4 +77,6 @@ void _gpgme_wait_user_event_cb (void *da gpgme_error_t _gpgme_wait_one (gpgme_ctx_t ctx); +gpgme_error_t _gpgme_run_io_cb (struct io_select_fd_s *an_fds, int checked); + #endif /* WAIT_H */ diff -urpNP gpgme-1.0.2/gpgme.spec gpgme-1.0.3/gpgme.spec --- gpgme-1.0.2/gpgme.spec 2004-12-28 11:35:51.000000000 +0000 +++ gpgme-1.0.3/gpgme.spec 2005-06-20 19:35:41.000000000 +0000 @@ -1,7 +1,7 @@ # This is a template. The dist target uses it to create the real file. Summary: GPGME - GnuPG Made Easy Name: gpgme -Version: 1.0.2 +Version: 1.0.3 Release: 1 URL: http://www.gnupg.org/gpgme.html Source: ftp://ftp.gnupg.org/gcrypt/alpha/gpgme/%{name}-%{version}.tar.gz diff -urpNP gpgme-1.0.2/tests/ChangeLog gpgme-1.0.3/tests/ChangeLog --- gpgme-1.0.2/tests/ChangeLog 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/tests/ChangeLog 2005-06-02 23:02:42.000000000 +0000 @@ -1,3 +1,8 @@ +2005-06-03 Marcus Brinkmann + + * gpg/Makefile.am (TESTS): Add t-wait. + * gpg/t-wait.c (main): New test. + 2004-12-07 Marcus Brinkmann * gpg/mkdemodirs: Add copyright notice. diff -urpNP gpgme-1.0.2/tests/Makefile.in gpgme-1.0.3/tests/Makefile.in --- gpgme-1.0.2/tests/Makefile.in 2004-12-28 11:35:37.000000000 +0000 +++ gpgme-1.0.3/tests/Makefile.in 2005-06-20 19:35:24.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -352,7 +352,13 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -364,7 +370,7 @@ $(RECURSIVE_TARGETS): local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ @@ -372,7 +378,13 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -393,7 +405,7 @@ maintainer-clean-recursive: local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ diff -urpNP gpgme-1.0.2/tests/gpg/Makefile.am gpgme-1.0.3/tests/gpg/Makefile.am --- gpgme-1.0.2/tests/gpg/Makefile.am 2004-12-07 21:11:53.000000000 +0000 +++ gpgme-1.0.3/tests/gpg/Makefile.am 2005-06-02 23:02:42.000000000 +0000 @@ -1,5 +1,5 @@ # Copyright (C) 2000 Werner Koch (dd9jn) -# Copyright (C) 2001, 2004 g10 Code GmbH +# Copyright (C) 2001, 2004, 2005 g10 Code GmbH # # This file is part of GPGME. # @@ -28,7 +28,7 @@ noinst_HEADERS = t-support.h TESTS = t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \ t-decrypt t-verify t-decrypt-verify \ t-export t-import t-trustlist t-eventloop t-edit \ - t-keylist t-keylist-sig t-thread1 + t-keylist t-keylist-sig t-thread1 t-wait CLEANFILES = secring.gpg pubring.gpg trustdb.gpg DISTCLEANFILES = pubring.gpg~ random_seed diff -urpNP gpgme-1.0.2/tests/gpg/Makefile.in gpgme-1.0.3/tests/gpg/Makefile.in --- gpgme-1.0.2/tests/gpg/Makefile.in 2004-12-28 11:35:38.000000000 +0000 +++ gpgme-1.0.3/tests/gpg/Makefile.in 2005-06-20 19:35:25.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -15,7 +15,7 @@ @SET_MAKE@ # Copyright (C) 2000 Werner Koch (dd9jn) -# Copyright (C) 2001, 2004 g10 Code GmbH +# Copyright (C) 2001, 2004, 2005 g10 Code GmbH # # This file is part of GPGME. # @@ -34,7 +34,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -SOURCES = t-decrypt.c t-decrypt-verify.c t-edit.c t-encrypt.c t-encrypt-sign.c t-encrypt-sym.c t-eventloop.c t-export.c t-genkey.c t-import.c t-keylist.c t-keylist-sig.c t-sign.c t-signers.c t-thread1.c t-trustlist.c t-verify.c +SOURCES = t-decrypt.c t-decrypt-verify.c t-edit.c t-encrypt.c t-encrypt-sign.c t-encrypt-sym.c t-eventloop.c t-export.c t-genkey.c t-import.c t-keylist.c t-keylist-sig.c t-sign.c t-signers.c t-thread1.c t-trustlist.c t-verify.c t-wait.c srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -77,7 +77,7 @@ am__EXEEXT_1 = t-encrypt$(EXEEXT) t-encr t-decrypt$(EXEEXT) t-verify$(EXEEXT) t-decrypt-verify$(EXEEXT) \ t-export$(EXEEXT) t-import$(EXEEXT) t-trustlist$(EXEEXT) \ t-eventloop$(EXEEXT) t-edit$(EXEEXT) t-keylist$(EXEEXT) \ - t-keylist-sig$(EXEEXT) t-thread1$(EXEEXT) + t-keylist-sig$(EXEEXT) t-thread1$(EXEEXT) t-wait$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) t_decrypt_SOURCES = t-decrypt.c t_decrypt_OBJECTS = t-decrypt.$(OBJEXT) @@ -146,6 +146,10 @@ t_verify_SOURCES = t-verify.c t_verify_OBJECTS = t-verify.$(OBJEXT) t_verify_LDADD = $(LDADD) t_verify_DEPENDENCIES = ../../gpgme/libgpgme.la +t_wait_SOURCES = t-wait.c +t_wait_OBJECTS = t-wait.$(OBJEXT) +t_wait_LDADD = $(LDADD) +t_wait_DEPENDENCIES = ../../gpgme/libgpgme.la DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -160,11 +164,11 @@ LINK = $(LIBTOOL) --tag=CC --mode=link $ SOURCES = t-decrypt.c t-decrypt-verify.c t-edit.c t-encrypt.c \ t-encrypt-sign.c t-encrypt-sym.c t-eventloop.c t-export.c \ t-genkey.c t-import.c t-keylist.c t-keylist-sig.c t-sign.c \ - t-signers.c t-thread1.c t-trustlist.c t-verify.c + t-signers.c t-thread1.c t-trustlist.c t-verify.c t-wait.c DIST_SOURCES = t-decrypt.c t-decrypt-verify.c t-edit.c t-encrypt.c \ t-encrypt-sign.c t-encrypt-sym.c t-eventloop.c t-export.c \ t-genkey.c t-import.c t-keylist.c t-keylist-sig.c t-sign.c \ - t-signers.c t-thread1.c t-trustlist.c t-verify.c + t-signers.c t-thread1.c t-trustlist.c t-verify.c t-wait.c HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags @@ -310,7 +314,7 @@ noinst_HEADERS = t-support.h TESTS = t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \ t-decrypt t-verify t-decrypt-verify \ t-export t-import t-trustlist t-eventloop t-edit \ - t-keylist t-keylist-sig t-thread1 + t-keylist t-keylist-sig t-thread1 t-wait CLEANFILES = secring.gpg pubring.gpg trustdb.gpg DISTCLEANFILES = pubring.gpg~ random_seed @@ -412,6 +416,9 @@ t-trustlist$(EXEEXT): $(t_trustlist_OBJE t-verify$(EXEEXT): $(t_verify_OBJECTS) $(t_verify_DEPENDENCIES) @rm -f t-verify$(EXEEXT) $(LINK) $(t_verify_LDFLAGS) $(t_verify_OBJECTS) $(t_verify_LDADD) $(LIBS) +t-wait$(EXEEXT): $(t_wait_OBJECTS) $(t_wait_DEPENDENCIES) + @rm -f t-wait$(EXEEXT) + $(LINK) $(t_wait_LDFLAGS) $(t_wait_OBJECTS) $(t_wait_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -436,6 +443,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-thread1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-trustlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-verify.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-wait.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ diff -urpNP gpgme-1.0.2/tests/gpg/t-wait.c gpgme-1.0.3/tests/gpg/t-wait.c --- gpgme-1.0.2/tests/gpg/t-wait.c 1970-01-01 00:00:00.000000000 +0000 +++ gpgme-1.0.3/tests/gpg/t-wait.c 2005-06-02 23:09:54.000000000 +0000 @@ -0,0 +1,72 @@ +/* t-wait.c - Regression test. + Copyright (C) 2000 Werner Koch (dd9jn) + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH + + This file is part of GPGME. + + GPGME is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of + the License, or (at your option) any later version. + + GPGME 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser 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. */ + +/* We need to include config.h so that we know whether we are building + with large file system (LFS) support. */ +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include + +#include + +#include "t-support.h" + + +int +main (int argc, char *argv[]) +{ + gpgme_ctx_t ctx; + gpgme_error_t err; + gpgme_data_t sig, text; + + init_gpgme (GPGME_PROTOCOL_OpenPGP); + + err = gpgme_new (&ctx); + fail_if_err (err); + + /* Checking a message without a signature. */ + err = gpgme_data_new_from_mem (&sig, "foo\n", 4, 0); + fail_if_err (err); + err = gpgme_data_new (&text); + fail_if_err (err); + err = gpgme_op_verify_start (ctx, sig, NULL, text); + fail_if_err (err); + + while (gpgme_wait (ctx, &err, 0) == NULL && err == 0) + sleep(1); + + if (gpg_err_code (err) != GPG_ERR_NO_DATA) + { + fprintf (stderr, "%s:%d: %s: %s\n", + __FILE__, __LINE__, gpgme_strsource (err), + gpgme_strerror (err)); + exit (1); + } + + gpgme_data_release (sig); + gpgme_data_release (text); + gpgme_release (ctx); + return 0; +} diff -urpNP gpgme-1.0.2/tests/gpgsm/Makefile.in gpgme-1.0.3/tests/gpgsm/Makefile.in --- gpgme-1.0.2/tests/gpgsm/Makefile.in 2004-12-28 11:35:38.000000000 +0000 +++ gpgme-1.0.3/tests/gpgsm/Makefile.in 2005-06-20 19:35:25.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCtx7kwKTLuYeXhWkRAsmqAKCGfXOmHpZM7y93YIeeB8JCz2t+3ACcDiBZ NLqz1FZXquAKX7vKfyvRitI= =95F4 -----END PGP SIGNATURE-----