Compare commits

...

36 Commits

Author SHA1 Message Date
Werner Koch
d67daf7372 Post release version number bump 2003-11-19 08:53:47 +00:00
Werner Koch
1482100456 (DISTCLEANFILES): Add random_seed. 2003-11-19 08:39:01 +00:00
Werner Koch
40fe2d27b6 Autofixed version number. 2003-11-19 08:32:13 +00:00
Werner Koch
0e9191c608 Removed @acronym{} from nodenames. 2003-11-19 08:31:38 +00:00
Werner Koch
d061fcf82a About to release 0.3.16. 2003-11-19 07:59:20 +00:00
Werner Koch
b440942f16 * configure.ac: Check for timegm.
* mkerrors: Prettier error formating for gpg-error style codes.

* conversion.c (_gpgme_parse_timestamp): New.  Now also handles ISO
8601 timestamps as used by gnupg 1.9.2.
* keylist.c (parse_timestamp): Removed.  Replaced calls by
_gpgme_parse_timestamp.
* verify.c (_gpgme_verify_status_handler): Replaced strtoul by
_gpgme_parse_timestamp.
* sign.c (append_xml_siginfo): Ditto.
2003-11-18 17:29:19 +00:00
Marcus Brinkmann
43961ac064 Change version number for CVS. 2003-02-18 18:56:41 +00:00
Marcus Brinkmann
5d35e67992 Fix version number. 2003-02-18 18:19:12 +00:00
Marcus Brinkmann
2996ddce01 2003-02-18 Marcus Brinkmann <marcus@g10code.de>
Released 0.3.15.

	* configure.ac (LIBGPGME_LT_REVISION): Bumped to 6.
2003-02-18 18:04:10 +00:00
Marcus Brinkmann
ad7abd9d9c 2003-02-18 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_sign): Call
	gpgsm_assuan_simple_command with status handlers.
	* edit.c (_gpgme_op_edit_start): Check return value of
	_gpgme_engine_op_edit.
	* import.c (_gpgme_op_import_start): Likewise for
	_gpgme_engine_op_import.
	* sign.c (_gpgme_op_sign_start): Likewise for
	_gpgme_engine_op_sign.
2003-02-18 00:54:42 +00:00
Marcus Brinkmann
12c461d1ea 2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* edit.c (_gpgme_edit_status_handler): Call the progress status
	handler.
2003-02-06 11:43:08 +00:00
Werner Koch
d481900777 post-release version number bump. 2002-12-04 14:01:41 +00:00
Werner Koch
c7ddee33b0 * gpgsm/Makefile.am (./gpgsm.conf): Use a faked system time
becuase one test certificate expired yesterday.
2002-12-04 13:36:08 +00:00
Werner Koch
bad3455d25 * configure.ac (LIBGPGME_LT_REVISION): Bumped to 9/3/5 .
* README: Explained that this is the current stable version.
2002-12-04 13:11:17 +00:00
Marcus Brinkmann
eb8fd48693 Fix spelling of my name. 2002-11-28 19:41:49 +00:00
Marcus Brinkmann
b13d1fc2b8 2002-11-28 Marcus Brinkmann <marcus@g10code.de>
* NEWS: Add note about moving "gpgmeplug" to the "cryptplug"
	package.
	* README: Remove instructions related to "gpgmeplug".
	* configure.ac: Remove enable option "gpgmeplug" and automake
	conditional BUILD_GPGMEPLUG, as well as the status info about it.
	(GPGMEPLUG): Remove variable.
	* Makefile.am (gpgmeplug): Remove variable.
	(SUBDIRS): Remove ${gpgmeplug}.
	* cryptplug.h, gpgme-openpgp.c, gpgmeplug.dox, gpgme-smime.c,
	Makefile.am, gpgmeplug.c, ChangeLog: Files removed.
2002-11-28 19:36:19 +00:00
Marcus Brinkmann
b37dfebc8b 2002-11-25 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_spawn): Do not set parent fds to -1.
	* posix-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead close
	for parent fds.
	* w32-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead
	CloseHandle for parent fds.
2002-11-25 21:04:52 +00:00
Marcus Brinkmann
bd6ffd0f20 2002-11-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h [_MSC_VER]: Define ssize_t as long.
2002-11-22 17:43:23 +00:00
Werner Koch
9ab4638c8d * engine-gpgsm.c (_gpgme_gpgsm_new): Save the result of a first
setlocale before doing another setlocale.
2002-11-22 15:02:37 +00:00
Marcus Brinkmann
8cc8f7267f 2002-11-21 Marcus Brinkmann <marcus@g10code.de>
* verify.c (_gpgme_verify_status_handler): Treat
	GPGME_STATUS_UNEXPECTED like GPGME_STATUS_NODATA.
	Reported by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-11-21 11:22:50 +00:00
Werner Koch
d7cdeeddc2 post-release version number bumbing. 2002-11-20 19:12:31 +00:00
Werner Koch
74036d94d9 About to release 0.3.13 2002-11-20 18:56:34 +00:00
Marcus Brinkmann
2f03256750 2002-11-19 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_keylist): Add --with-fingerprint to gpg invocation
	twice, to get fingerprints on subkeys.  Suggested by Timo Schulz
	<twoaday@freakmail.de>.
	(gpg_keylist_ext): Likewise.
2002-11-19 09:36:07 +00:00
Werner Koch
01b2e3ffe6 * config.sub, config.guess: Updated from ftp.gnu.org/gnu/config
to version 2002-11-08.
2002-11-12 19:33:10 +00:00
Marcus Brinkmann
70109cf681 2002-11-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Verify): Fix prototype of gpgme_get_sig_key.
	Reported by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-11-05 15:25:37 +00:00
Marcus Brinkmann
25be76f97d Fix email address. 2002-11-05 15:21:13 +00:00
Marcus Brinkmann
3534556c00 2002-11-05 Marcus Brinkmann <marcus@gnu.org>
* import.c (append_xml_impinfo): Use
	_gpgme_data_append_string_for_xml rather than
	_gpgme_data_append_string for the field content.
	Submitted by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-11-05 12:04:41 +00:00
Karl-Heinz Zimmer
443657e12f Enable expire date checking for a CMS key's CA certificate and its root certificate. 2002-11-03 22:12:27 +00:00
Karl-Heinz Zimmer
2bd51ebdab Adding support for email addresses includes in '<' and '>'. 2002-10-31 16:30:05 +00:00
Werner Koch
9391c9b564 version.texi is a generated file - it must not be kept in the rep. 2002-10-31 15:29:12 +00:00
Karl-Heinz Zimmer
e5210c298a Add error checking for isEmailInCertificate being called with invalid fingerprint parameter. 2002-10-31 14:19:47 +00:00
Karl-Heinz Zimmer
29b7d7ad0b Add support for certificates having the e-mail address stored in GPGME_ATTR_USERID instead of GPGME_ATTR_EMAIL. 2002-10-31 13:58:54 +00:00
Karl-Heinz Zimmer
31183197a2 Make it compile: this file was missing in the "gpgme-0-3-branch" branch, please make sure the contents of this file are correct - I just copied it from the tarball release 0.3.12. 2002-10-31 13:57:14 +00:00
Werner Koch
7cea4a5a17 After-release-version-number-bump 2002-10-15 10:41:22 +00:00
Werner Koch
d7474c4089 * configure.ac: Bump up LIBGPGME_LT_REVISION.
(NEED_GPG_VERSION): Set to 1.2.0
(NEED_GPGSM_VERSION): Set to 0.9.2
2002-10-15 10:00:49 +00:00
Repo Admin
8e2da19a1b This commit was manufactured by cvs2svn to create branch
'gpgme-0-3-branch'.
2002-09-30 08:04:16 +00:00
35 changed files with 3185 additions and 5330 deletions

View File

@ -1,5 +1,5 @@
Package: gpgme Package: gpgme
Maintainer: Markus Brinkmann <marcus@g10code.com> Maintainer: Marcus Brinkmann <marcus@g10code.com>
Bug reports: bug-gpgme@gnupg.org Bug reports: bug-gpgme@gnupg.org
Security related bug reports: security@gnupg.org Security related bug reports: security@gnupg.org

View File

@ -1,3 +1,62 @@
2003-11-19 Werner Koch <wk@gnupg.org>
Released 0.3.16.
* configure.ac: Bump LT revision to C9/A3/R7.
2003-11-18 Werner Koch <wk@gnupg.org>
* configure.ac: Check for timegm.
2003-02-18 Marcus Brinkmann <marcus@g10code.de>
Released 0.3.15.
* configure.ac (LIBGPGME_LT_REVISION): Bumped to 6.
2002-12-04 Werner Koch <wk@gnupg.org>
Released 0.3.14.
* configure.ac (LIBGPGME_LT_REVISION): Bumped to 9/3/5 .
* README: Explained that this is the current stable version.
2002-11-28 Marcus Brinkmann <marcus@g10code.de>
* NEWS: Add note about moving "gpgmeplug" to the "cryptplug"
package.
* README: Remove instructions related to "gpgmeplug".
* configure.ac: Remove enable option "gpgmeplug" and automake
conditional BUILD_GPGMEPLUG, as well as the status info about it.
(GPGMEPLUG): Remove variable.
* Makefile.am (gpgmeplug): Remove variable.
(SUBDIRS): Remove ${gpgmeplug}.
* cryptplug.h, gpgme-openpgp.c, gpgmeplug.dox, gpgme-smime.c,
Makefile.am, gpgmeplug.c, ChangeLog: Files removed.
2002-11-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Disable GPGSM for all dosish systems.
2002-11-20 Werner Koch <wk@gnupg.org>
Released 0.3.13
* configure.ac: Bump up LIBGPGME_LT_REVISION.
2002-11-12 Werner Koch <wk@gnupg.org>
* config.sub, config.guess: Updated from ftp.gnu.org/gnu/config
to version 2002-11-08.
2002-10-15 Werner Koch <wk@gnupg.org>
Released 0.3.12
* configure.ac: Bump up LIBGPGME_LT_REVISION.
(NEED_GPG_VERSION): Set to 1.2.0
(NEED_GPGSM_VERSION): Set to 0.9.2
2002-09-20 Werner Koch <wk@gnupg.org> 2002-09-20 Werner Koch <wk@gnupg.org>
Released 0.3.11. Released 0.3.11.

View File

@ -1,5 +1,5 @@
# Copyright (C) 2000 Werner Koch (dd9jn) # Copyright (C) 2000 Werner Koch (dd9jn)
# Copyright (C) 2001 g10 Code GmbH # Copyright (C) 2001, 2002 g10 Code GmbH
# #
# This file is part of GPGME. # This file is part of GPGME.
# #
@ -45,13 +45,7 @@ else
tests = tests =
endif endif
if BUILD_GPGMEPLUG SUBDIRS = ${assuan} gpgme ${tests} doc ${bonobo} ${complus}
gpgmeplug = gpgmeplug
else
gpgmeplug =
endif
SUBDIRS = ${assuan} gpgme ${tests} doc ${bonobo} ${complus} ${gpgmeplug}
# Fix the version of the spec file and create a file named VERSION # Fix the version of the spec file and create a file named VERSION
# to be used for patch's Prereq: feature. # to be used for patch's Prereq: feature.

39
NEWS
View File

@ -1,7 +1,44 @@
Noteworthy changes in version 0.3.12 (unreleased) Noteworthy changes in version 0.3.17 (unreleased)
------------------------------------------------- -------------------------------------------------
Noteworthy changes in version 0.3.16 (2003-11-19)
-------------------------------------------------
* Compatibility fixes for GnuPG 1.9.x
Noteworthy changes in version 0.3.15 (2003-02-18)
-------------------------------------------------
* The progress status is sent via the progress callbacks in
gpgme_op_edit.
* Bug fix for signing operations with explicit signer settings for
the CMS protocol.
Noteworthy changes in version 0.3.14 (2002-12-04)
-------------------------------------------------
* GPGME-Plug is now in its own package "cryptplug".
* Workaround for a setlocale problem. Fixed a segv related to not
correctly as closed marked file descriptors.
Noteworthy changes in version 0.3.13 (2002-11-20)
-------------------------------------------------
* Release due to changes in gpgmeplug.
Noteworthy changes in version 0.3.12 (2002-10-15)
-------------------------------------------------
* Fixed some bux with key listings.
* The development has been branched to clean up some API issues.
This 0.3 series will be kept for compatibility reasons; so do don't
expect new features.
Noteworthy changes in version 0.3.11 (2002-09-20) Noteworthy changes in version 0.3.11 (2002-09-20)
------------------------------------------------- -------------------------------------------------

23
README
View File

@ -1,35 +1,28 @@
GPGME - GnuPG Made Easy GPGME - GnuPG Made Easy
--------------------------- ---------------------------
Version 0.3
!!!! THIS IS WORK IN PROGRESS !!! This is the stable branch of GPGME. We don't intend to make any
changes to the API anymore but OTOH we won't add any new features.
The development version is available in the CVS; after we have
released that onem we will slowly fade out support for this 0.3 branch.
If you want to hack on it, start with one of the `tests/gpg/t-foo' If you want to hack on it, start with one of the `tests/gpg/t-foo'
programs. programs.
For support of the OpenPGP protocol (default), you need the latest CVS For support of the OpenPGP protocol (default), you need at least GnuPG
version of GnuPG 1.0, see `http://www.gnupg.org/cvs-access.html'. 1.2.0.
You need at least GnuPG 1.0.7, but don't use a 1.1.x version.
If configure can't find the `gpg' binary in your path, you can specify If configure can't find the `gpg' binary in your path, you can specify
the location with the --with-gpg=/path/to/gpg argument to configure. the location with the --with-gpg=/path/to/gpg argument to configure.
For support of the CMS (Cryptographic Message Syntax) protocol, you For support of the CMS (Cryptographic Message Syntax) protocol, you
need the latest CVS version of GpgSM, module name `newpg', at need at least newpg 0.9.2 or GnuPG > 1.9.2.
`:pserver:anoncvs@cvs.gnupg.org:/cvs/aegypten'.
You need at least GpgSM 0.3.8.
If configure can't find the `gpgsm' binary in your path, you can If configure can't find the `gpgsm' binary in your path, you can
specify the location with the --with-gpgsm=/path/to/gpgsm argument to specify the location with the --with-gpgsm=/path/to/gpgsm argument to
configure. configure.
To enable the CryptPlug GPGME PlugIn for both protocols, use the
`--enable-gpgmeplug' option to the configure script. `gpgmeplug' is
experimental and you should not assume that it will stay with gpgme.
The plug-ins are installed by `make install' in `pkglibdir', normally
`PREFIX/lib/gpgme'.
Before building the CVS version following the generic install Before building the CVS version following the generic install
instructions in `INSTALL', you need to set up the build scripts with instructions in `INSTALL', you need to set up the build scripts with
`./autogen.sh'. To build the W32 version, use `./autogen.sh `./autogen.sh'. To build the W32 version, use `./autogen.sh

3
TODO
View File

@ -68,9 +68,6 @@ Hey Emacs, this is -*- outline -*- mode!
** Make sure everything is cleaned correctly (esp. test area). ** Make sure everything is cleaned correctly (esp. test area).
Bugs reported by Stephane Corthesy: Bugs reported by Stephane Corthesy:
> BTW, here's another bug: it it not possible to retrieve fingerprints
> for subkeys
--> This seems to work now (wk 2002-08-20)
> In GpgmeRecipients, would it be possible to provide a function which > In GpgmeRecipients, would it be possible to provide a function which
> would return the validity assigned to a name contained in the > would return the validity assigned to a name contained in the

View File

@ -1,3 +1,7 @@
2003-11-18 Werner Koch <wk@gnupg.org>
* mkerrors: Prettier error formating for gpg-error style codes.
2002-05-03 Werner Koch <wk@gnupg.org> 2002-05-03 Werner Koch <wk@gnupg.org>
* assuan-pipe-connect.c (assuan_pipe_connect2): New to extend * assuan-pipe-connect.c (assuan_pipe_connect2): New to extend

View File

@ -40,7 +40,7 @@ const char *
assuan_strerror (AssuanError err) assuan_strerror (AssuanError err)
{ {
const char *s; const char *s;
static char buf[25]; static char buf[50];
switch (err) switch (err)
{ {
@ -62,7 +62,18 @@ printf "%s\"; break;\n", tolower(substr(s,8));
' '
cat <<EOF cat <<EOF
default: sprintf (buf, "ec=%d", err ); s=buf; break; default:
{
unsigned int source, code;
source = ((err >> 24) & 0xff);
code = (err & 0x00ffffff);
if (source) /* Assume this is an libgpg-error. */
sprintf (buf, "ec=%u.%u", source, code );
else
sprintf (buf, "ec=%d", err );
s=buf; break;
}
} }
return s; return s;

1366
config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

1471
config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@
# (Process this file with autoconf to produce a configure script.) # (Process this file with autoconf to produce a configure script.)
# Version number: Remember to change it immediately *after* a release. # Version number: Remember to change it immediately *after* a release.
AC_INIT(gpgme, 0.3.12, [bug-gpgme@gnupg.org]) AC_INIT(gpgme, 0.3.17-cvs, [bug-gpgme@gnupg.org])
# LT Version numbers, remember to change them just *before* a release. # LT Version numbers, remember to change them just *before* a release.
# (Code changed: REVISION++) # (Code changed: REVISION++)
# (Interfaces added/removed/changed: CURRENT++, REVISION=0) # (Interfaces added/removed/changed: CURRENT++, REVISION=0)
@ -30,9 +30,9 @@ AC_INIT(gpgme, 0.3.12, [bug-gpgme@gnupg.org])
# #
LIBGPGME_LT_CURRENT=9 LIBGPGME_LT_CURRENT=9
LIBGPGME_LT_AGE=3 LIBGPGME_LT_AGE=3
LIBGPGME_LT_REVISION=2 LIBGPGME_LT_REVISION=7
NEED_GPG_VERSION=1.0.7 NEED_GPG_VERSION=1.2.0
NEED_GPGSM_VERSION=0.3.8 NEED_GPGSM_VERSION=0.9.2
############################################## ##############################################
AC_PREREQ(2.52) AC_PREREQ(2.52)
AC_REVISION($Revision$) AC_REVISION($Revision$)
@ -154,6 +154,8 @@ fi
dnl dnl
dnl Checks for library functions. dnl Checks for library functions.
dnl dnl
AC_CHECK_FUNCS(timegm)
AC_REPLACE_FUNCS(stpcpy) AC_REPLACE_FUNCS(stpcpy)
@ -239,12 +241,6 @@ AM_CONDITIONAL(BUILD_ASSUAN, test "$GPGSM" != "no")
AM_CONDITIONAL(BUILD_COMPLUS, test "$component_system" = "COM+") AM_CONDITIONAL(BUILD_COMPLUS, test "$component_system" = "COM+")
AM_CONDITIONAL(BUILD_BONOBO, test "$component_system" = "Bonobo") AM_CONDITIONAL(BUILD_BONOBO, test "$component_system" = "Bonobo")
GPGMEPLUG=no
AC_ARG_ENABLE(gpgmeplug,
AC_HELP_STRING([--enable-gpgmeplug], [build GPGME Crypt Plug-In]),
GPGMEPLUG=$enableval)
AM_CONDITIONAL(BUILD_GPGMEPLUG, test "$GPGMEPLUG" = "yes")
dnl Make the version number in gpgme/gpgme.h the same as the one here. dnl Make the version number in gpgme/gpgme.h the same as the one here.
dnl (this is easier than to have a *.in file just for one substitution) dnl (this is easier than to have a *.in file just for one substitution)
GNUPG_FIX_HDR_VERSION(gpgme/gpgme.h, GPGME_VERSION) GNUPG_FIX_HDR_VERSION(gpgme/gpgme.h, GPGME_VERSION)
@ -267,7 +263,7 @@ dnl
AC_CONFIG_FILES(Makefile assuan/Makefile gpgme/Makefile AC_CONFIG_FILES(Makefile assuan/Makefile gpgme/Makefile
tests/Makefile tests/gpg/Makefile tests/gpgsm/Makefile tests/Makefile tests/gpg/Makefile tests/gpgsm/Makefile
doc/Makefile doc/Makefile
bonobo/Makefile complus/Makefile gpgmeplug/Makefile) bonobo/Makefile complus/Makefile)
AC_CONFIG_FILES(gpgme/gpgme-config, chmod +x gpgme/gpgme-config) AC_CONFIG_FILES(gpgme/gpgme-config, chmod +x gpgme/gpgme-config)
AC_OUTPUT AC_OUTPUT
@ -279,6 +275,4 @@ echo "
GpgSM version: min. $NEED_GPGSM_VERSION GpgSM version: min. $NEED_GPGSM_VERSION
GpgSM path: $GPGSM GpgSM path: $GPGSM
GPGME CryptPlug: $GPGMEPLUG
" "

View File

@ -1,3 +1,12 @@
2003-11-19 Werner Koch <wk@gnupg.org>
* gpgme.texi (ASCII): Removed @acronym{} from nodenames.
2002-11-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Verify): Fix prototype of gpgme_get_sig_key.
Reported by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-08-30 Marcus Brinkmann <marcus@g10code.de> 2002-08-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Selecting Signers): Fix reference count. * gpgme.texi (Selecting Signers): Fix reference count.

View File

@ -138,7 +138,7 @@ Contexts
Context Attributes Context Attributes
* Protocol Selection:: Selecting the protocol used by a context. * Protocol Selection:: Selecting the protocol used by a context.
* @acronym{ASCII} Armor:: Requesting @acronym{ASCII} armored output. * ASCII Armor:: Requesting @acronym{ASCII} armored output.
* Text Mode:: Choosing canonical text mode. * Text Mode:: Choosing canonical text mode.
* Included Certificates:: Including a number of certificates. * Included Certificates:: Including a number of certificates.
* Key Listing Mode:: Selecting key listing mode. * Key Listing Mode:: Selecting key listing mode.
@ -1164,7 +1164,7 @@ The function @code{gpgme_release} destroys the context with the handle
@menu @menu
* Protocol Selection:: Selecting the protocol used by a context. * Protocol Selection:: Selecting the protocol used by a context.
* @acronym{ASCII} Armor:: Requesting @acronym{ASCII} armored output. * ASCII Armor:: Requesting @acronym{ASCII} armored output.
* Text Mode:: Choosing canonical text mode. * Text Mode:: Choosing canonical text mode.
* Included Certificates:: Including a number of certificates. * Included Certificates:: Including a number of certificates.
* Key Listing Mode:: Selecting key listing mode. * Key Listing Mode:: Selecting key listing mode.
@ -1198,10 +1198,10 @@ The function @code{gpgme_get_protocol} retrieves the protocol currently
use with the context @var{ctx}. use with the context @var{ctx}.
@end deftypefun @end deftypefun
@node @acronym{ASCII} Armor @node ASCII Armor
@subsection @acronym{ASCII} Armor @subsection ASCII Armor
@cindex context, armor mode @cindex context, armor mode
@cindex @acronym{ASCII} armor @cindex ASCII armor
@cindex armor mode @cindex armor mode
@deftypefun void gpgme_set_armor (@w{GpgmeCtx @var{ctx}}, @w{int @var{yes}}) @deftypefun void gpgme_set_armor (@w{GpgmeCtx @var{ctx}}, @w{int @var{yes}})
@ -2342,7 +2342,7 @@ The defined bits are:
@end deftypefun @end deftypefun
@deftypefun {const char *} gpgme_get_sig_key (@w{GpgmeCtx @var{ctx}}, @w{int @var{idx}}, @w{GpgmeSigKey *@var{r_stat}}) @deftypefun {const char *} gpgme_get_sig_key (@w{GpgmeCtx @var{ctx}}, @w{int @var{idx}}, @w{GpgmeKey *@var{r_key}})
The function @code{gpgme_get_sig_status} receives a @code{GpgmeKey} The function @code{gpgme_get_sig_status} receives a @code{GpgmeKey}
object for the key which was used to verify the signature after the object for the key which was used to verify the signature after the
@code{gpgme_op_verify} or @code{gpgme_op_verify_decrypt} operation. A @code{gpgme_op_verify} or @code{gpgme_op_verify_decrypt} operation. A

View File

@ -1,3 +1,66 @@
2003-11-18 Werner Koch <wk@gnupg.org>
* conversion.c (_gpgme_parse_timestamp): New. Now also handles ISO
8601 timestamps as used by gnupg 1.9.2.
* keylist.c (parse_timestamp): Removed. Replaced calls by
_gpgme_parse_timestamp.
* verify.c (_gpgme_verify_status_handler): Replaced strtoul by
_gpgme_parse_timestamp.
* sign.c (append_xml_siginfo): Ditto.
2003-02-18 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_sign): Call
gpgsm_assuan_simple_command with status handlers.
* edit.c (_gpgme_op_edit_start): Check return value of
_gpgme_engine_op_edit.
* import.c (_gpgme_op_import_start): Likewise for
_gpgme_engine_op_import.
* sign.c (_gpgme_op_sign_start): Likewise for
_gpgme_engine_op_sign.
2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* edit.c (_gpgme_edit_status_handler): Call the progress status
handler.
2002-11-25 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_spawn): Do not set parent fds to -1.
* posix-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead close
for parent fds.
* w32-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead
CloseHandle for parent fds.
2002-11-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h [_MSC_VER]: Define ssize_t as long.
2002-11-22 Werner Koch <wk@gnupg.org>
* engine-gpgsm.c (_gpgme_gpgsm_new): Save the result of a first
setlocale before doing another setlocale.
2002-11-21 Marcus Brinkmann <marcus@g10code.de>
* verify.c (_gpgme_verify_status_handler): Treat
GPGME_STATUS_UNEXPECTED like GPGME_STATUS_NODATA.
Reported by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-11-19 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_keylist): Add --with-fingerprint to gpg invocation
twice, to get fingerprints on subkeys. Suggested by Timo Schulz
<twoaday@freakmail.de>.
(gpg_keylist_ext): Likewise.
2002-11-05 Marcus Brinkmann <marcus@g10code.de>
* import.c (append_xml_impinfo): Use
_gpgme_data_append_string_for_xml rather than
_gpgme_data_append_string for the field content.
Submitted by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-09-30 Werner Koch <wk@gnupg.org> 2002-09-30 Werner Koch <wk@gnupg.org>
* keylist.c (keylist_colon_handler): Take care when printing a * keylist.c (keylist_colon_handler): Take care when printing a

View File

@ -1,6 +1,6 @@
/* conversion.c - String conversion helper functions. /* conversion.c - String conversion helper functions.
* Copyright (C) 2000 Werner Koch (dd9jn) * Copyright (C) 2000 Werner Koch (dd9jn)
* Copyright (C) 2001, 2002 g10 Code GmbH * Copyright (C) 2001, 2002, 2003 g10 Code GmbH
* *
* This file is part of GPGME. * This file is part of GPGME.
* *
@ -23,11 +23,17 @@
#include <config.h> #include <config.h>
#endif #endif
#include <stdlib.h>
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
#include <time.h>
#include "gpgme.h" #include "gpgme.h"
#include "util.h" #include "util.h"
#define atoi_1(p) (*(p) - '0' )
#define atoi_2(p) ((atoi_1(p) * 10) + atoi_1((p)+1))
#define atoi_4(p) ((atoi_2(p) * 100) + atoi_2((p)+2))
int int
_gpgme_hextobyte (const byte *str) _gpgme_hextobyte (const byte *str)
@ -138,3 +144,56 @@ _gpgme_decode_c_string (const char *src, char **destp)
return 0; return 0;
} }
time_t
_gpgme_parse_timestamp (const char *timestamp)
{
/* Need toskip leading spaces, becuase that is what strtoul does but
not our ISO 8601 checking code. */
while (*timestamp && *timestamp== ' ')
timestamp++;
if (!*timestamp)
return 0;
if (strlen (timestamp) >= 15 && timestamp[8] == 'T')
{
struct tm buf;
int year;
year = atoi_4 (timestamp);
if (year < 1900)
return (time_t)(-1);
/* Fixme: We would better use a configure test to see whether
mktime can handle dates beyond 2038. */
if (sizeof (time_t) <= 4 && year >= 2038)
return (time_t)2145914603; /* 2037-12-31 23:23:23 */
memset (&buf, 0, sizeof buf);
buf.tm_year = year - 1900;
buf.tm_mon = atoi_2 (timestamp+4) - 1;
buf.tm_mday = atoi_2 (timestamp+6);
buf.tm_hour = atoi_2 (timestamp+9);
buf.tm_min = atoi_2 (timestamp+11);
buf.tm_sec = atoi_2 (timestamp+13);
#ifdef HAVE_TIMEGM
return timegm (&buf);
#else
{
time_t tim;
putenv ("TZ=UTC");
tim = mktime (&buf);
#ifdef __GNUC__
#warning fixme: we must somehow reset TZ here. It is not threadsafe anyway.
#endif
return tim;
}
#endif /* !HAVE_TIMEGM */
}
else
return (time_t)strtoul (timestamp, NULL, 10);
}

View File

@ -47,6 +47,7 @@ void
_gpgme_edit_status_handler (GpgmeCtx ctx, GpgmeStatusCode status, char *args) _gpgme_edit_status_handler (GpgmeCtx ctx, GpgmeStatusCode status, char *args)
{ {
_gpgme_passphrase_status_handler (ctx, status, args); _gpgme_passphrase_status_handler (ctx, status, args);
_gpgme_progress_status_handler (ctx, status, args);
if (ctx->error) if (ctx->error)
return; return;
@ -111,10 +112,11 @@ _gpgme_op_edit_start (GpgmeCtx ctx, int synchronous,
_gpgme_engine_set_verbosity (ctx->engine, ctx->verbosity); _gpgme_engine_set_verbosity (ctx->engine, ctx->verbosity);
_gpgme_engine_op_edit (ctx->engine, key, out, ctx); err = _gpgme_engine_op_edit (ctx->engine, key, out, ctx);
/* And kick off the process. */ /* And kick off the process. */
err = _gpgme_engine_start (ctx->engine, ctx); if (!err)
err = _gpgme_engine_start (ctx->engine, ctx);
leave: leave:
if (err) if (err)

View File

@ -450,7 +450,17 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
goto leave; goto leave;
} }
} }
old_lc = setlocale (LC_CTYPE, NULL); old_lc = setlocale (LC_CTYPE, NULL);
if (old_lc)
{
old_lc = strdup (old_lc);
if (!old_lc)
{
err = GPGME_Out_Of_Core;
goto leave;
}
}
dft_lc = setlocale (LC_CTYPE, ""); dft_lc = setlocale (LC_CTYPE, "");
if (dft_lc) if (dft_lc)
{ {
@ -458,19 +468,32 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
err = mk_error (Out_Of_Core); err = mk_error (Out_Of_Core);
else else
{ {
err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL, NULL, NULL, NULL, err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL,
NULL); NULL, NULL, NULL, NULL);
free (optstr); free (optstr);
if (err) if (err)
err = map_assuan_error (err); err = map_assuan_error (err);
} }
} }
if (old_lc) if (old_lc)
setlocale (LC_CTYPE, old_lc); {
setlocale (LC_CTYPE, old_lc);
free (old_lc);
}
if (err) if (err)
goto leave; goto leave;
old_lc = setlocale (LC_MESSAGES, NULL); old_lc = setlocale (LC_MESSAGES, NULL);
if (old_lc)
{
old_lc = strdup (old_lc);
if (!old_lc)
{
err = GPGME_Out_Of_Core;
goto leave;
}
}
dft_lc = setlocale (LC_MESSAGES, ""); dft_lc = setlocale (LC_MESSAGES, "");
if (dft_lc) if (dft_lc)
{ {
@ -486,7 +509,10 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
} }
} }
if (old_lc) if (old_lc)
setlocale (LC_MESSAGES, old_lc); {
setlocale (LC_MESSAGES, old_lc);
free (old_lc);
}
if (err) if (err)
goto leave; goto leave;
} }
@ -1112,7 +1138,8 @@ _gpgme_gpgsm_op_sign (GpgsmObject gpgsm, GpgmeData in, GpgmeData out,
strcpy (stpcpy (buf, "SIGNER "), s); strcpy (stpcpy (buf, "SIGNER "), s);
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, buf, err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, buf,
NULL, NULL); gpgsm->status.fnc,
gpgsm->status.fnc_value);
} }
else else
err = GPGME_Invalid_Key; err = GPGME_Invalid_Key;

View File

@ -25,6 +25,7 @@
#include <stdio.h> /* For FILE *. */ #include <stdio.h> /* For FILE *. */
#ifdef _MSC_VER #ifdef _MSC_VER
typedef long off_t; typedef long off_t;
typedef long ssize_t;
#else #else
# include <sys/types.h> # include <sys/types.h>
#endif #endif
@ -43,7 +44,7 @@ extern "C" {
AM_PATH_GPGME macro) check that this header matches the installed AM_PATH_GPGME macro) check that this header matches the installed
library. Warning: Do not edit the next line. configure will do library. Warning: Do not edit the next line. configure will do
that for you! */ that for you! */
#define GPGME_VERSION "0.3.12" #define GPGME_VERSION "0.3.17-cvs"
/* The opaque data types used by GPGME. */ /* The opaque data types used by GPGME. */

View File

@ -127,7 +127,7 @@ append_xml_impinfo (GpgmeData *rdh, GpgmeStatusCode code, char *args)
_gpgme_data_append_string (dh, " <"); _gpgme_data_append_string (dh, " <");
_gpgme_data_append_string (dh, field_name[i]); _gpgme_data_append_string (dh, field_name[i]);
_gpgme_data_append_string (dh, ">"); _gpgme_data_append_string (dh, ">");
_gpgme_data_append_string (dh, field[i]); _gpgme_data_append_string_for_xml (dh, field[i]);
_gpgme_data_append_string (dh, "</"); _gpgme_data_append_string (dh, "</");
_gpgme_data_append_string (dh, field_name[i]); _gpgme_data_append_string (dh, field_name[i]);
_gpgme_data_append_string (dh, ">\n"); _gpgme_data_append_string (dh, ">\n");
@ -196,7 +196,7 @@ _gpgme_op_import_start (GpgmeCtx ctx, int synchronous, GpgmeData keydata)
_gpgme_engine_set_status_handler (ctx->engine, import_status_handler, ctx); _gpgme_engine_set_status_handler (ctx->engine, import_status_handler, ctx);
_gpgme_engine_set_verbosity (ctx->engine, ctx->verbosity); _gpgme_engine_set_verbosity (ctx->engine, ctx->verbosity);
_gpgme_engine_op_import (ctx->engine, keydata); err = _gpgme_engine_op_import (ctx->engine, keydata);
if (!err) if (!err)
err = _gpgme_engine_start (ctx->engine, ctx); err = _gpgme_engine_start (ctx->engine, ctx);

View File

@ -1,6 +1,6 @@
/* keylist.c - key listing /* keylist.c - key listing
* Copyright (C) 2000 Werner Koch (dd9jn) * Copyright (C) 2000 Werner Koch (dd9jn)
* Copyright (C) 2001, 2002 g10 Code GmbH * Copyright (C) 2001, 2002, 2003 g10 Code GmbH
* *
* This file is part of GPGME. * This file is part of GPGME.
* *
@ -118,16 +118,6 @@ keylist_status_handler (GpgmeCtx ctx, GpgmeStatusCode code, char *args)
} }
static time_t
parse_timestamp (char *p)
{
if (!*p)
return 0;
return (time_t)strtoul (p, NULL, 10);
}
static void static void
set_mainkey_trust_info (GpgmeKey key, const char *s) set_mainkey_trust_info (GpgmeKey key, const char *s)
{ {
@ -389,10 +379,10 @@ keylist_colon_handler (GpgmeCtx ctx, char *line)
strcpy (key->keys.keyid, p); strcpy (key->keys.keyid, p);
break; break;
case 6: /* timestamp (seconds) */ case 6: /* timestamp (seconds) */
key->keys.timestamp = parse_timestamp (p); key->keys.timestamp = _gpgme_parse_timestamp (p);
break; break;
case 7: /* expiration time (seconds) */ case 7: /* expiration time (seconds) */
key->keys.expires_at = parse_timestamp (p); key->keys.expires_at = _gpgme_parse_timestamp (p);
break; break;
case 8: /* X.509 serial number */ case 8: /* X.509 serial number */
if (rectype == RT_CRT || rectype == RT_CRS) if (rectype == RT_CRT || rectype == RT_CRS)
@ -444,10 +434,10 @@ keylist_colon_handler (GpgmeCtx ctx, char *line)
strcpy (sk->keyid, p); strcpy (sk->keyid, p);
break; break;
case 6: /* timestamp (seconds) */ case 6: /* timestamp (seconds) */
sk->timestamp = parse_timestamp (p); sk->timestamp = _gpgme_parse_timestamp (p);
break; break;
case 7: /* expiration time (seconds) */ case 7: /* expiration time (seconds) */
sk->expires_at = parse_timestamp (p); sk->expires_at = _gpgme_parse_timestamp (p);
break; break;
case 8: /* reserved (LID) */ case 8: /* reserved (LID) */
break; break;

View File

@ -257,7 +257,7 @@ _gpgme_io_spawn (const char *path, char **argv,
/* .dup_to is not used in the parent list. */ /* .dup_to is not used in the parent list. */
for (i = 0; fd_parent_list[i].fd != -1; i++) for (i = 0; fd_parent_list[i].fd != -1; i++)
close (fd_parent_list[i].fd); _gpgme_io_close (fd_parent_list[i].fd);
return 0; return 0;
} }

View File

@ -890,21 +890,18 @@ _gpgme_gpg_spawn (GpgObject gpg, void *opaque)
fd_parent_list[n].fd = gpg->status.fd[1]; fd_parent_list[n].fd = gpg->status.fd[1];
fd_parent_list[n].dup_to = -1; fd_parent_list[n].dup_to = -1;
n++; n++;
gpg->status.fd[1] = -1;
} }
if (gpg->colon.fd[1] != -1) if (gpg->colon.fd[1] != -1)
{ {
fd_parent_list[n].fd = gpg->colon.fd[1]; fd_parent_list[n].fd = gpg->colon.fd[1];
fd_parent_list[n].dup_to = -1; fd_parent_list[n].dup_to = -1;
n++; n++;
gpg->colon.fd[1] = -1;
} }
for (i = 0; gpg->fd_data_map[i].data; i++) for (i = 0; gpg->fd_data_map[i].data; i++)
{ {
fd_parent_list[n].fd = gpg->fd_data_map[i].peer_fd; fd_parent_list[n].fd = gpg->fd_data_map[i].peer_fd;
fd_parent_list[n].dup_to = -1; fd_parent_list[n].dup_to = -1;
n++; n++;
gpg->fd_data_map[i].peer_fd = -1;
} }
fd_parent_list[n].fd = -1; fd_parent_list[n].fd = -1;
fd_parent_list[n].dup_to = -1; fd_parent_list[n].dup_to = -1;
@ -1668,6 +1665,8 @@ _gpgme_gpg_op_keylist (GpgObject gpg, const char *pattern, int secret_only,
err = _gpgme_gpg_add_arg (gpg, "--fixed-list-mode"); err = _gpgme_gpg_add_arg (gpg, "--fixed-list-mode");
if (!err) if (!err)
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint"); err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
if (!err)
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
if (!err) if (!err)
err = _gpgme_gpg_add_arg (gpg, err = _gpgme_gpg_add_arg (gpg,
(keylist_mode & GPGME_KEYLIST_MODE_SIGS)? (keylist_mode & GPGME_KEYLIST_MODE_SIGS)?
@ -1699,6 +1698,8 @@ _gpgme_gpg_op_keylist_ext (GpgObject gpg, const char *pattern[],
err = _gpgme_gpg_add_arg (gpg, "--fixed-list-mode"); err = _gpgme_gpg_add_arg (gpg, "--fixed-list-mode");
if (!err) if (!err)
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint"); err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
if (!err)
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
if (!err) if (!err)
err = _gpgme_gpg_add_arg (gpg, secret_only ? "--list-secret-keys" err = _gpgme_gpg_add_arg (gpg, secret_only ? "--list-secret-keys"
: "--list-keys"); : "--list-keys");

View File

@ -122,7 +122,7 @@ append_xml_siginfo (GpgmeData *rdh, char *args)
_gpgme_data_append_string (dh, helpbuf); _gpgme_data_append_string (dh, helpbuf);
SKIP_TOKEN_OR_RETURN (args); SKIP_TOKEN_OR_RETURN (args);
ul = strtoul (args, NULL, 10); ul = _gpgme_parse_timestamp (args);
sprintf (helpbuf, " <created>%lu</created>\n", ul); sprintf (helpbuf, " <created>%lu</created>\n", ul);
_gpgme_data_append_string (dh, helpbuf); _gpgme_data_append_string (dh, helpbuf);
SKIP_TOKEN_OR_RETURN (args); SKIP_TOKEN_OR_RETURN (args);
@ -206,12 +206,13 @@ _gpgme_op_sign_start (GpgmeCtx ctx, int synchronous,
ctx); ctx);
_gpgme_engine_set_verbosity (ctx->engine, ctx->verbosity); _gpgme_engine_set_verbosity (ctx->engine, ctx->verbosity);
_gpgme_engine_op_sign (ctx->engine, in, out, mode, ctx->use_armor, err = _gpgme_engine_op_sign (ctx->engine, in, out, mode, ctx->use_armor,
ctx->use_textmode, ctx->include_certs, ctx->use_textmode, ctx->include_certs,
ctx /* FIXME */); ctx /* FIXME */);
/* And kick off the process. */ /* And kick off the process. */
err = _gpgme_engine_start (ctx->engine, ctx); if (!err)
err = _gpgme_engine_start (ctx->engine, ctx);
leave: leave:
if (err) if (err)

View File

@ -100,5 +100,6 @@ FILE *fopencookie (void *cookie, const char *opentype,
/*-- conversion.c --*/ /*-- conversion.c --*/
GpgmeError _gpgme_decode_c_string (const char *src, char **destp); GpgmeError _gpgme_decode_c_string (const char *src, char **destp);
int _gpgme_hextobyte (const byte *str); int _gpgme_hextobyte (const byte *str);
time_t _gpgme_parse_timestamp (const char *p);
#endif /* UTIL_H */ #endif /* UTIL_H */

View File

@ -225,6 +225,7 @@ _gpgme_verify_status_handler (GpgmeCtx ctx, GpgmeStatusCode code, char *args)
switch (code) switch (code)
{ {
case GPGME_STATUS_NODATA: case GPGME_STATUS_NODATA:
case GPGME_STATUS_UNEXPECTED:
ctx->result.verify->status = GPGME_SIG_STAT_NOSIG; ctx->result.verify->status = GPGME_SIG_STAT_NOSIG;
break; break;
@ -250,9 +251,14 @@ _gpgme_verify_status_handler (GpgmeCtx ctx, GpgmeStatusCode code, char *args)
while (args[i] && args[i] != ' ') while (args[i] && args[i] != ' ')
i++; i++;
/* And get the timestamp. */ /* And get the timestamp. */
ctx->result.verify->timestamp = strtoul (args+i, &p, 10); ctx->result.verify->timestamp = _gpgme_parse_timestamp (args+i);
if (args[i]) if (args[i])
ctx->result.verify->exptimestamp = strtoul (p, NULL, 10); {
/* Skip that timestamp. */
while (args[i] && args[i] != ' ')
i++;
ctx->result.verify->exptimestamp = _gpgme_parse_timestamp (args+i);
}
break; break;
case GPGME_STATUS_BADSIG: case GPGME_STATUS_BADSIG:

View File

@ -899,11 +899,8 @@ _gpgme_io_spawn ( const char *path, char **argv,
} }
/* Close the other ends of the pipes */ /* Close the other ends of the pipes */
for (i=0; fd_parent_list[i].fd != -1; i++ ) { for (i = 0; fd_parent_list[i].fd != -1; i++)
DEBUG1 ("Closing fd %d\n", fd_parent_list[i].fd ); _gpgme_io_close (fd_parent_list[i].fd);
if ( !CloseHandle ( fd_to_handle (fd_parent_list[i].fd) ) )
DEBUG1 ("CloseHandle failed: ec=%d", (int)GetLastError());
}
DEBUG4 ("CreateProcess ready\n" DEBUG4 ("CreateProcess ready\n"
"- hProcess=%p hThread=%p\n" "- hProcess=%p hThread=%p\n"

View File

@ -1,189 +0,0 @@
2002-09-20 Werner Koch <wk@gnupg.org>
* gpgmeplug.c (nextCertificate): Sanity check for empty tmp_dn.
2002-08-20 Steffen Hansen <steffen@hrhansen.dk>
* Use gpgme_op_import_ext() instead of gpgme_op_import(). We
should now be able to better check for the case when we have no
error, but still no certificate was imported.
2002-07-31 Steffen Hansen <steffen@hrhansen.dk>
* Renamed importCertificate() to importCertificateWithFPR() and
implemented importCertificateFromMem().
2002-07-03 Werner Koch <wk@gnupg.org>
* gpgmeplug.c (nextCertificate): Actually free the entire array
and don't loop over tmp_dn and double free the first item.
Spotted by Bernhard Herzog.
2002-07-01 Werner Koch <wk@gnupg.org>
* gpgmeplug.c (findCertificates): Reintroduced a free which must
have been removed after my last fix. This avoids a memory leak
when a fingerprint was not found. Removed the double loop
increment in the code to release the arrays.
(make_fingerprint): Removed superfluous check on retrun value of
xmalloc.
(safe_free): Removed. Changed all callers to use a regular free
and at appropriate palces set the free pointer to NULL. That
safe_free stuff seems to have been copied verbatim from some
Mutt example code I posted.
(storeNewCharPtr): Use xmalloc instead of an unchecked
malloc. Removed superfluous string termination.
(parseAddress): Use xmalloc instead of an unchecked malloc.
(nextAddress): Ditto.
(xstrdup): Oops, obviously I calculated the length wrong when
coded this. Tsss, wrote xstrdup some hundreds times but missed it
this time. Thanks to Steffen Hansen for noticing it.
* gpgmeplug.c: Moved a few helper functions more to the top.
Fixed comment syntax. Merged a copyright notice somewhere in the
middle of the file with the one at the top.
2002-06-28 Werner Koch <wk@gnupg.org>
* gpgmeplug.c (xmalloc): New.
(safe_malloc): Removed this macro and replaced it at all places
without return values checks by xmalloc.
(xstrdup): New. Replaces funny named macro with different
semantics. Changed all callers to the new semantic.
(findCertificates): Don't free duplicate free the FPR array
values. Removed the unneeded initialization. Replaces the
gcc-ish use dynamic allocation of automatic variables by repalce
maxCerts with a macro MAXCERTS. Made some comments Real C (tm).
(startListCertificates): Removed uneeded cast from xmalloc.
2002-06-28 Bernhard Reiter <bernhard@intevation.de>
* gpgmeplug.c: new macro days_to_seconds().
this also fixes the dividing factor.
(signatureCertificateDaysLeftToExpiry)
(preceiverCertificateDaysLeftToExpiry): using the new macro
(caCertificateDaysLeftToExpiry)
(rootCertificateDaysLeftToExpiry): using new macro in deactivated code.
2002-06-27 Steffen Hansen <steffen@hrhansen.dk>
* gpgmeplug.c: Fixed pattern related bug.
* cryptplug.h, gpgmeplug.c: Handle truncated data from dirmngr.
2002-06-25 Steffen Hansen <steffen@hrhansen.dk>
* cryptplug.h, gpgmeplug.c: New function importCertificate() for importing a
certificate from the temp. db to the real one given a fingerprint.
2002-06-20 Werner Koch <wk@gnupg.org>
* gpgmeplug.c (reorder_dn): Added missing stdpart list terminator.
2002-05-30 Steffen Hansen <steffen@hrhansen.dk>
* cryptplug.h, gpgmeplug.c: Added certificate info listing functions.
Not yet complete.
Converted more C99 style comments to "classic" style.
2002-03-23 Werner Koch <wk@gnupg.org>
* gpgmeplug.c: Converted it to real C; i.e. use standard comments -
we are doing ISO C 90. Translated a few German remarks and
commented on some things.
2002-03-08 Steffen Hansen <steffen@hrhansen.dk>
* A little better address-parsing. Not real rfc822 yet, but at
least it fetches the address between '<' and '>' now if they are
present.
2002-03-07 Steffen Hansen <steffen@klaralvdalens-datakonsult.se>
* gpgmeplug.c (encryptMessage): Made the function accept multiple
reciepients via addressee -- it is now parsed af a comma-separated
list.
2002-03-06 Werner Koch <wk@gnupg.org>
* gpgmeplug.c (signMessage): Fixed offbyone. Don't include the
EOS character into the signature.
(checkMessageSignature): Ditto.
2002-02-28 Kalle Dalheimer <kalle@klaralvdalens-datakonsult.se>
* gpgmeplug.c (signMessage): Implemented warning when signature
certificates are about to expire
(isEmailInCertificate): Added support for checking whether the
signer's email address is contained in his certificate.
* cryptplug.h: Implemented warning when signature
certificates are about to expire
2002-02-27 Marcus Brinkmann <marcus@g10code.de>
* gpgmeplug.c (signMessage): Fix code syntax.
2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (EXTRA_gpgme_openpgp_la_SOURCES): New variable.
(EXTRA_gpgme_smime_la_SOURCES): Likewise.
* gpgmeplug.c (passphrase_cb): Fix type of third argument.
2002-01-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme-openpgp.c: New file.
* Makefile.am (gpgme_openpgp_la_SOURCES): Replace gpgmeplug.c with
gpgme-openpgp.c.
2002-01-15 Marcus Brinkmann <marcus@g10code.de>
* gpgmeplug.c: Renamed to ...
* gpgme-openpgp.c: ... this. New file.
* gpgsmplug.c: Renamed to ...
* gpgme-smime.c: ... this. new file.
* Makefile.am: Rewritten to use libtool's module functionality.
2001-12-19 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (lib_LTLIBRARIES): Rename to ...
(noinst_LTLIBRARIES): ... this target.
2001-12-19 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgmeplug_la_SOURCES): Remove gpgme.h.
(libgpgsmplug_la_SOURCES): Likewise.
2001-11-29 Marcus Brinkmann <marcus@g10code.de>
* gpgmeplug.c (checkMessageSignature): Add call to gpgme_set_protocol.
2001-11-24 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgsmplug_la_SOURCES): Fix source file.
2001-11-22 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgsmplug_la_LIBADD): New variable.
(libgpgsmplug_la_LDFLAGS): Likewise.
(libgpgsmplug_la_SOURCES): Likewise.
(lib_LTLIBRARIES): Add libgpgsmplug.la.
(INCLUDES): Include the local gpgme.h.
* gpgmeplug.c (signMessage): Set protocol.
(GPGMEPLUG_PROTOCOL) [!GPGMEPLUG_PROTOCOL]: Set
GPGMEPLUG_PROTOCOL.
* gpgsmplug.c: New file.
2001-11-21 Marcus Brinkmann <marcus@g10code.de>
* gpgmeplug.c: Include config.h only if [HAVE_CONFIG_H]. Do not
include util.h.
(deinitialize): Use free, not _gpgme_free.
(setDirectoryServers): Use calloc, not xtrycalloc. Use free, not
_gpgme_free. Use malloc instead xtrymalloc.
(appendDirectoryServer): Use realloc, not xtryrealloc.

View File

@ -1,39 +0,0 @@
# $Id$
#
# Makefile.am - Automake specification file for GPGMEPLUG.
# GPGMEPLUG is a GPGME based cryptography plug-in
# following the common CRYPTPLUG specification.
#
# Copyright (C) 2001 by Klar?lvdalens Datakonsult AB
# Copyright (C) 2002 g10 Code GmbH
#
# GPGMEPLUG is free software; you can redistribute it and/or modify
# it under the terms of GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# GPGMEPLUG is distributed in the hope that it will be useful,
# it under the terms of GNU General Public License as published by
# the Free Software Foundation; version 2 of the License
# 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
#
## Process this file with automake to produce Makefile.in
INCLUDES = -I$(top_srcdir)/gpgme
pkglib_LTLIBRARIES = gpgme-openpgp.la gpgme-smime.la
gpgme_openpgp_la_SOURCES = cryptplug.h gpgme-openpgp.c
EXTRA_gpgme_openpgp_la_SOURCES = gpgmeplug.c
gpgme_openpgp_la_LIBADD = ../gpgme/libgpgme.la
gpgme_openpgp_la_LDFLAGS = -module -avoid-version
gpgme_smime_la_SOURCES = cryptplug.h gpgme-smime.c
EXTRA_gpgme_smime_la_SOURCES = gpgmeplug.c
gpgme_smime_la_LIBADD = ../gpgme/libgpgme.la
gpgme_smime_la_LDFLAGS = -module -avoid-version

File diff suppressed because it is too large Load Diff

View File

@ -1,60 +0,0 @@
#define GPGMEPLUG_PROTOCOL GPGME_PROTOCOL_OpenPGP
/* definitions for signing */
// 1. opaque signatures (only used for S/MIME)
#define GPGMEPLUG_OPA_SIGN_INCLUDE_CLEARTEXT false
#define GPGMEPLUG_OPA_SIGN_MAKE_MIME_OBJECT false
#define GPGMEPLUG_OPA_SIGN_MAKE_MULTI_MIME false
#define GPGMEPLUG_OPA_SIGN_CTYPE_MAIN ""
#define GPGMEPLUG_OPA_SIGN_CDISP_MAIN ""
#define GPGMEPLUG_OPA_SIGN_CTENC_MAIN ""
#define GPGMEPLUG_OPA_SIGN_CTYPE_VERSION ""
#define GPGMEPLUG_OPA_SIGN_CDISP_VERSION ""
#define GPGMEPLUG_OPA_SIGN_CTENC_VERSION ""
#define GPGMEPLUG_OPA_SIGN_BTEXT_VERSION ""
#define GPGMEPLUG_OPA_SIGN_CTYPE_CODE ""
#define GPGMEPLUG_OPA_SIGN_CDISP_CODE ""
#define GPGMEPLUG_OPA_SIGN_CTENC_CODE ""
#define GPGMEPLUG_OPA_SIGN_FLAT_PREFIX ""
#define GPGMEPLUG_OPA_SIGN_FLAT_SEPARATOR ""
#define GPGMEPLUG_OPA_SIGN_FLAT_POSTFIX ""
// 2. detached signatures (used for S/MIME and for OpenPGP)
#define GPGMEPLUG_DET_SIGN_INCLUDE_CLEARTEXT true
#define GPGMEPLUG_DET_SIGN_MAKE_MIME_OBJECT true
#define GPGMEPLUG_DET_SIGN_MAKE_MULTI_MIME true
#define GPGMEPLUG_DET_SIGN_CTYPE_MAIN "multipart/signed; protocol=\"application/pgp-signature\"; micalg=pgp-sha1"
#define GPGMEPLUG_DET_SIGN_CDISP_MAIN ""
#define GPGMEPLUG_DET_SIGN_CTENC_MAIN ""
#define GPGMEPLUG_DET_SIGN_CTYPE_VERSION ""
#define GPGMEPLUG_DET_SIGN_CDISP_VERSION ""
#define GPGMEPLUG_DET_SIGN_CTENC_VERSION ""
#define GPGMEPLUG_DET_SIGN_BTEXT_VERSION ""
#define GPGMEPLUG_DET_SIGN_CTYPE_CODE "application/pgp-signature"
#define GPGMEPLUG_DET_SIGN_CDISP_CODE ""
#define GPGMEPLUG_DET_SIGN_CTENC_CODE ""
#define GPGMEPLUG_DET_SIGN_FLAT_PREFIX ""
#define GPGMEPLUG_DET_SIGN_FLAT_SEPARATOR ""
#define GPGMEPLUG_DET_SIGN_FLAT_POSTFIX ""
// 3. common definitions for opaque and detached signing
#define __GPGMEPLUG_SIGNATURE_CODE_IS_BINARY false
/* definitions for encoding */
#define GPGMEPLUG_ENC_INCLUDE_CLEARTEXT false
#define GPGMEPLUG_ENC_MAKE_MIME_OBJECT true
#define GPGMEPLUG_ENC_MAKE_MULTI_MIME true
#define GPGMEPLUG_ENC_CTYPE_MAIN "multipart/encrypted; protocol=\"application/pgp-encrypted\""
#define GPGMEPLUG_ENC_CDISP_MAIN ""
#define GPGMEPLUG_ENC_CTENC_MAIN ""
#define GPGMEPLUG_ENC_CTYPE_VERSION "application/pgp-encrypted"
#define GPGMEPLUG_ENC_CDISP_VERSION "attachment"
#define GPGMEPLUG_ENC_CTENC_VERSION ""
#define GPGMEPLUG_ENC_BTEXT_VERSION "Version: 1"
#define GPGMEPLUG_ENC_CTYPE_CODE "application/octet-stream"
#define GPGMEPLUG_ENC_CDISP_CODE "inline; filename=\"msg.asc\""
#define GPGMEPLUG_ENC_CTENC_CODE ""
#define GPGMEPLUG_ENC_FLAT_PREFIX ""
#define GPGMEPLUG_ENC_FLAT_SEPARATOR ""
#define GPGMEPLUG_ENC_FLAT_POSTFIX ""
#define __GPGMEPLUG_ENCRYPTED_CODE_IS_BINARY false
#include "gpgmeplug.c"

View File

@ -1,60 +0,0 @@
#define GPGMEPLUG_PROTOCOL GPGME_PROTOCOL_CMS
/* definitions for signing */
// 1. opaque signatures (only used for S/MIME)
#define GPGMEPLUG_OPA_SIGN_INCLUDE_CLEARTEXT false
#define GPGMEPLUG_OPA_SIGN_MAKE_MIME_OBJECT true
#define GPGMEPLUG_OPA_SIGN_MAKE_MULTI_MIME false
#define GPGMEPLUG_OPA_SIGN_CTYPE_MAIN "application/pkcs7-mime; smime-type=signed-data; name=\"smime.p7m\""
#define GPGMEPLUG_OPA_SIGN_CDISP_MAIN "attachment; filename=\"smime.p7m\""
#define GPGMEPLUG_OPA_SIGN_CTENC_MAIN "base64"
#define GPGMEPLUG_OPA_SIGN_CTYPE_VERSION ""
#define GPGMEPLUG_OPA_SIGN_CDISP_VERSION ""
#define GPGMEPLUG_OPA_SIGN_CTENC_VERSION ""
#define GPGMEPLUG_OPA_SIGN_BTEXT_VERSION ""
#define GPGMEPLUG_OPA_SIGN_CTYPE_CODE ""
#define GPGMEPLUG_OPA_SIGN_CDISP_CODE ""
#define GPGMEPLUG_OPA_SIGN_CTENC_CODE ""
#define GPGMEPLUG_OPA_SIGN_FLAT_PREFIX ""
#define GPGMEPLUG_OPA_SIGN_FLAT_SEPARATOR ""
#define GPGMEPLUG_OPA_SIGN_FLAT_POSTFIX ""
// 2. detached signatures (used for S/MIME and for OpenPGP)
#define GPGMEPLUG_DET_SIGN_INCLUDE_CLEARTEXT true
#define GPGMEPLUG_DET_SIGN_MAKE_MIME_OBJECT true
#define GPGMEPLUG_DET_SIGN_MAKE_MULTI_MIME true
#define GPGMEPLUG_DET_SIGN_CTYPE_MAIN "multipart/signed; protocol=\"application/pkcs7-signature\"; micalg=sha1"
#define GPGMEPLUG_DET_SIGN_CDISP_MAIN ""
#define GPGMEPLUG_DET_SIGN_CTENC_MAIN ""
#define GPGMEPLUG_DET_SIGN_CTYPE_VERSION ""
#define GPGMEPLUG_DET_SIGN_CDISP_VERSION ""
#define GPGMEPLUG_DET_SIGN_CTENC_VERSION ""
#define GPGMEPLUG_DET_SIGN_BTEXT_VERSION ""
#define GPGMEPLUG_DET_SIGN_CTYPE_CODE "application/pkcs7-signature; name=\"smime.p7s\""
#define GPGMEPLUG_DET_SIGN_CDISP_CODE "attachment; filename=\"smime.p7s\""
#define GPGMEPLUG_DET_SIGN_CTENC_CODE "base64"
#define GPGMEPLUG_DET_SIGN_FLAT_PREFIX ""
#define GPGMEPLUG_DET_SIGN_FLAT_SEPARATOR ""
#define GPGMEPLUG_DET_SIGN_FLAT_POSTFIX ""
// 3. common definitions for opaque and detached signing
#define __GPGMEPLUG_SIGNATURE_CODE_IS_BINARY true
/* definitions for encoding */
#define GPGMEPLUG_ENC_INCLUDE_CLEARTEXT false
#define GPGMEPLUG_ENC_MAKE_MIME_OBJECT true
#define GPGMEPLUG_ENC_MAKE_MULTI_MIME false
#define GPGMEPLUG_ENC_CTYPE_MAIN "application/pkcs7-mime; smime-type=enveloped-data; name=\"smime.p7m\""
#define GPGMEPLUG_ENC_CDISP_MAIN "attachment; filename=\"smime.p7m\""
#define GPGMEPLUG_ENC_CTENC_MAIN "base64"
#define GPGMEPLUG_ENC_CTYPE_VERSION ""
#define GPGMEPLUG_ENC_CDISP_VERSION ""
#define GPGMEPLUG_ENC_CTENC_VERSION ""
#define GPGMEPLUG_ENC_BTEXT_VERSION ""
#define GPGMEPLUG_ENC_CTYPE_CODE ""
#define GPGMEPLUG_ENC_CDISP_CODE ""
#define GPGMEPLUG_ENC_CTENC_CODE ""
#define GPGMEPLUG_ENC_FLAT_PREFIX ""
#define GPGMEPLUG_ENC_FLAT_SEPARATOR ""
#define GPGMEPLUG_ENC_FLAT_POSTFIX ""
#define __GPGMEPLUG_ENCRYPTED_CODE_IS_BINARY true
#include "gpgmeplug.c"

File diff suppressed because it is too large Load Diff

View File

@ -1,121 +0,0 @@
# Doxygen configuration generated by Doxywizard version 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = GPGMEPLUG
PROJECT_NUMBER = 0
OUTPUT_DIRECTORY = doc/
OUTPUT_LANGUAGE = English
QUIET = NO
WARNINGS = YES
DISABLE_INDEX = NO
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
INTERNAL_DOCS = NO
CLASS_DIAGRAMS = YES
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
CASE_SENSE_NAMES = NO
VERBATIM_HEADERS = YES
SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = YES
INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
TAB_SIZE = 8
ENABLED_SECTIONS =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = .
FILE_PATTERNS = *.h \
*.c
RECURSIVE = YES
EXCLUDE =
EXCLUDE_PATTERNS = moc_*
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
IMAGE_PATH =
INPUT_FILTER =
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = YES
LATEX_OUTPUT = latex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
LATEX_BATCHMODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = YES
MAN_OUTPUT = man
MAN_EXTENSION = .3
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
PREDEFINED =
EXPAND_ONLY_PREDEF = NO
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
INCLUDE_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
CGI_NAME = search.cgi
CGI_URL =
DOC_URL =
DOC_ABSPATH =
BIN_ABSPATH = /usr/local/bin/
EXT_DOC_PATHS =

View File

@ -1,3 +1,12 @@
2003-11-19 Werner Koch <wk@gnupg.org>
* gpgsm/Makefile.am (DISTCLEANFILES): Add random_seed.
2002-12-04 Werner Koch <wk@gnupg.org>
* gpgsm/Makefile.am (./gpgsm.conf): Use a faked system time
becuase one test certificate expired yesterday.
2002-09-30 Werner Koch <wk@gnupg.org> 2002-09-30 Werner Koch <wk@gnupg.org>
* gpgsm/t-keylist.c (doit): Add arg SECRET. * gpgsm/t-keylist.c (doit): Add arg SECRET.

View File

@ -36,7 +36,7 @@ noinst_PROGRAMS = $(TESTS)
key_id := 32100C27173EF6E9C4E9A25D3D69F86D37A4F939 key_id := 32100C27173EF6E9C4E9A25D3D69F86D37A4F939
DISTCLEANFILES = pubring.kbx pubring.kbx~ gpgsm.conf trustlist.txt \ DISTCLEANFILES = pubring.kbx pubring.kbx~ gpgsm.conf trustlist.txt \
private-keys-v1.d/$(key_id).key private-keys-v1.d/$(key_id).key random_seed
all-local: ./pubring.kbx ./gpgsm.conf ./private-keys-v1.d/$(key_id).key ./trustlist.txt all-local: ./pubring.kbx ./gpgsm.conf ./private-keys-v1.d/$(key_id).key ./trustlist.txt
@ -46,6 +46,7 @@ all-local: ./pubring.kbx ./gpgsm.conf ./private-keys-v1.d/$(key_id).key ./trustl
./gpgsm.conf: ./gpgsm.conf:
echo disable-crl-checks > ./gpgsm.conf echo disable-crl-checks > ./gpgsm.conf
echo faked-system-time 1038835799 >> ./gpgsm.conf
./private-keys-v1.d/$(key_id).key: $(srcdir)/$(key_id) ./private-keys-v1.d/$(key_id).key: $(srcdir)/$(key_id)
test -d ./private-keys-v1.d || mkdir ./private-keys-v1.d test -d ./private-keys-v1.d || mkdir ./private-keys-v1.d