Compare commits
36 Commits
master
...
gpgme-0-3-
Author | SHA1 | Date | |
---|---|---|---|
|
d67daf7372 | ||
|
1482100456 | ||
|
40fe2d27b6 | ||
|
0e9191c608 | ||
|
d061fcf82a | ||
|
b440942f16 | ||
|
43961ac064 | ||
|
5d35e67992 | ||
|
2996ddce01 | ||
|
ad7abd9d9c | ||
|
12c461d1ea | ||
|
d481900777 | ||
|
c7ddee33b0 | ||
|
bad3455d25 | ||
|
eb8fd48693 | ||
|
b13d1fc2b8 | ||
|
b37dfebc8b | ||
|
bd6ffd0f20 | ||
|
9ab4638c8d | ||
|
8cc8f7267f | ||
|
d7cdeeddc2 | ||
|
74036d94d9 | ||
|
2f03256750 | ||
|
01b2e3ffe6 | ||
|
70109cf681 | ||
|
25be76f97d | ||
|
3534556c00 | ||
|
443657e12f | ||
|
2bd51ebdab | ||
|
9391c9b564 | ||
|
e5210c298a | ||
|
29b7d7ad0b | ||
|
31183197a2 | ||
|
7cea4a5a17 | ||
|
d7474c4089 | ||
|
8e2da19a1b |
2
AUTHORS
2
AUTHORS
@ -1,5 +1,5 @@
|
||||
Package: gpgme
|
||||
Maintainer: Markus Brinkmann <marcus@g10code.com>
|
||||
Maintainer: Marcus Brinkmann <marcus@g10code.com>
|
||||
Bug reports: bug-gpgme@gnupg.org
|
||||
Security related bug reports: security@gnupg.org
|
||||
|
||||
|
59
ChangeLog
59
ChangeLog
@ -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>
|
||||
|
||||
Released 0.3.11.
|
||||
|
10
Makefile.am
10
Makefile.am
@ -1,5 +1,5 @@
|
||||
# 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.
|
||||
#
|
||||
@ -45,13 +45,7 @@ else
|
||||
tests =
|
||||
endif
|
||||
|
||||
if BUILD_GPGMEPLUG
|
||||
gpgmeplug = gpgmeplug
|
||||
else
|
||||
gpgmeplug =
|
||||
endif
|
||||
|
||||
SUBDIRS = ${assuan} gpgme ${tests} doc ${bonobo} ${complus} ${gpgmeplug}
|
||||
SUBDIRS = ${assuan} gpgme ${tests} doc ${bonobo} ${complus}
|
||||
|
||||
# Fix the version of the spec file and create a file named VERSION
|
||||
# to be used for patch's Prereq: feature.
|
||||
|
39
NEWS
39
NEWS
@ -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)
|
||||
-------------------------------------------------
|
||||
|
||||
|
23
README
23
README
@ -1,35 +1,28 @@
|
||||
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'
|
||||
programs.
|
||||
|
||||
For support of the OpenPGP protocol (default), you need the latest CVS
|
||||
version of GnuPG 1.0, see `http://www.gnupg.org/cvs-access.html'.
|
||||
|
||||
You need at least GnuPG 1.0.7, but don't use a 1.1.x version.
|
||||
For support of the OpenPGP protocol (default), you need at least GnuPG
|
||||
1.2.0.
|
||||
|
||||
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.
|
||||
|
||||
For support of the CMS (Cryptographic Message Syntax) protocol, you
|
||||
need the latest CVS version of GpgSM, module name `newpg', at
|
||||
`:pserver:anoncvs@cvs.gnupg.org:/cvs/aegypten'.
|
||||
|
||||
You need at least GpgSM 0.3.8.
|
||||
need at least newpg 0.9.2 or GnuPG > 1.9.2.
|
||||
|
||||
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
|
||||
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
|
||||
instructions in `INSTALL', you need to set up the build scripts with
|
||||
`./autogen.sh'. To build the W32 version, use `./autogen.sh
|
||||
|
3
TODO
3
TODO
@ -68,9 +68,6 @@ Hey Emacs, this is -*- outline -*- mode!
|
||||
** Make sure everything is cleaned correctly (esp. test area).
|
||||
|
||||
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
|
||||
> would return the validity assigned to a name contained in the
|
||||
|
@ -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>
|
||||
|
||||
* assuan-pipe-connect.c (assuan_pipe_connect2): New to extend
|
||||
|
@ -40,7 +40,7 @@ const char *
|
||||
assuan_strerror (AssuanError err)
|
||||
{
|
||||
const char *s;
|
||||
static char buf[25];
|
||||
static char buf[50];
|
||||
|
||||
switch (err)
|
||||
{
|
||||
@ -62,7 +62,18 @@ printf "%s\"; break;\n", tolower(substr(s,8));
|
||||
'
|
||||
|
||||
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;
|
||||
|
1366
config.guess
vendored
Executable file
1366
config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1471
config.sub
vendored
Executable file
1471
config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
20
configure.ac
20
configure.ac
@ -21,7 +21,7 @@
|
||||
# (Process this file with autoconf to produce a configure script.)
|
||||
|
||||
# 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.
|
||||
# (Code changed: REVISION++)
|
||||
# (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_AGE=3
|
||||
LIBGPGME_LT_REVISION=2
|
||||
NEED_GPG_VERSION=1.0.7
|
||||
NEED_GPGSM_VERSION=0.3.8
|
||||
LIBGPGME_LT_REVISION=7
|
||||
NEED_GPG_VERSION=1.2.0
|
||||
NEED_GPGSM_VERSION=0.9.2
|
||||
##############################################
|
||||
AC_PREREQ(2.52)
|
||||
AC_REVISION($Revision$)
|
||||
@ -154,6 +154,8 @@ fi
|
||||
dnl
|
||||
dnl Checks for library functions.
|
||||
dnl
|
||||
AC_CHECK_FUNCS(timegm)
|
||||
|
||||
|
||||
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_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 (this is easier than to have a *.in file just for one substitution)
|
||||
GNUPG_FIX_HDR_VERSION(gpgme/gpgme.h, GPGME_VERSION)
|
||||
@ -267,7 +263,7 @@ dnl
|
||||
AC_CONFIG_FILES(Makefile assuan/Makefile gpgme/Makefile
|
||||
tests/Makefile tests/gpg/Makefile tests/gpgsm/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_OUTPUT
|
||||
|
||||
@ -279,6 +275,4 @@ echo "
|
||||
|
||||
GpgSM version: min. $NEED_GPGSM_VERSION
|
||||
GpgSM path: $GPGSM
|
||||
|
||||
GPGME CryptPlug: $GPGMEPLUG
|
||||
"
|
||||
|
@ -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>
|
||||
|
||||
* gpgme.texi (Selecting Signers): Fix reference count.
|
||||
|
@ -138,7 +138,7 @@ Contexts
|
||||
Context Attributes
|
||||
|
||||
* 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.
|
||||
* Included Certificates:: Including a number of certificates.
|
||||
* Key Listing Mode:: Selecting key listing mode.
|
||||
@ -1164,7 +1164,7 @@ The function @code{gpgme_release} destroys the context with the handle
|
||||
|
||||
@menu
|
||||
* 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.
|
||||
* Included Certificates:: Including a number of certificates.
|
||||
* 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}.
|
||||
@end deftypefun
|
||||
|
||||
@node @acronym{ASCII} Armor
|
||||
@subsection @acronym{ASCII} Armor
|
||||
@node ASCII Armor
|
||||
@subsection ASCII Armor
|
||||
@cindex context, armor mode
|
||||
@cindex @acronym{ASCII} armor
|
||||
@cindex ASCII armor
|
||||
@cindex armor mode
|
||||
|
||||
@deftypefun void gpgme_set_armor (@w{GpgmeCtx @var{ctx}}, @w{int @var{yes}})
|
||||
@ -2342,7 +2342,7 @@ The defined bits are:
|
||||
@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}
|
||||
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
|
||||
|
@ -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>
|
||||
|
||||
* keylist.c (keylist_colon_handler): Take care when printing a
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* conversion.c - String conversion helper functions.
|
||||
* 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.
|
||||
*
|
||||
@ -23,11 +23,17 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <time.h>
|
||||
#include "gpgme.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
|
||||
_gpgme_hextobyte (const byte *str)
|
||||
@ -138,3 +144,56 @@ _gpgme_decode_c_string (const char *src, char **destp)
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,7 @@ void
|
||||
_gpgme_edit_status_handler (GpgmeCtx ctx, GpgmeStatusCode status, char *args)
|
||||
{
|
||||
_gpgme_passphrase_status_handler (ctx, status, args);
|
||||
_gpgme_progress_status_handler (ctx, status, args);
|
||||
|
||||
if (ctx->error)
|
||||
return;
|
||||
@ -111,10 +112,11 @@ _gpgme_op_edit_start (GpgmeCtx ctx, int synchronous,
|
||||
|
||||
_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. */
|
||||
err = _gpgme_engine_start (ctx->engine, ctx);
|
||||
if (!err)
|
||||
err = _gpgme_engine_start (ctx->engine, ctx);
|
||||
|
||||
leave:
|
||||
if (err)
|
||||
|
@ -450,7 +450,17 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
|
||||
goto leave;
|
||||
}
|
||||
}
|
||||
|
||||
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, "");
|
||||
if (dft_lc)
|
||||
{
|
||||
@ -458,19 +468,32 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
|
||||
err = mk_error (Out_Of_Core);
|
||||
else
|
||||
{
|
||||
err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL);
|
||||
err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
free (optstr);
|
||||
if (err)
|
||||
err = map_assuan_error (err);
|
||||
}
|
||||
}
|
||||
if (old_lc)
|
||||
setlocale (LC_CTYPE, old_lc);
|
||||
{
|
||||
setlocale (LC_CTYPE, old_lc);
|
||||
free (old_lc);
|
||||
}
|
||||
if (err)
|
||||
goto leave;
|
||||
|
||||
|
||||
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, "");
|
||||
if (dft_lc)
|
||||
{
|
||||
@ -486,7 +509,10 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
|
||||
}
|
||||
}
|
||||
if (old_lc)
|
||||
setlocale (LC_MESSAGES, old_lc);
|
||||
{
|
||||
setlocale (LC_MESSAGES, old_lc);
|
||||
free (old_lc);
|
||||
}
|
||||
if (err)
|
||||
goto leave;
|
||||
}
|
||||
@ -1112,7 +1138,8 @@ _gpgme_gpgsm_op_sign (GpgsmObject gpgsm, GpgmeData in, GpgmeData out,
|
||||
|
||||
strcpy (stpcpy (buf, "SIGNER "), s);
|
||||
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, buf,
|
||||
NULL, NULL);
|
||||
gpgsm->status.fnc,
|
||||
gpgsm->status.fnc_value);
|
||||
}
|
||||
else
|
||||
err = GPGME_Invalid_Key;
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <stdio.h> /* For FILE *. */
|
||||
#ifdef _MSC_VER
|
||||
typedef long off_t;
|
||||
typedef long ssize_t;
|
||||
#else
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
@ -43,7 +44,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 "0.3.12"
|
||||
#define GPGME_VERSION "0.3.17-cvs"
|
||||
|
||||
|
||||
/* The opaque data types used by GPGME. */
|
||||
|
@ -127,7 +127,7 @@ append_xml_impinfo (GpgmeData *rdh, GpgmeStatusCode code, char *args)
|
||||
_gpgme_data_append_string (dh, " <");
|
||||
_gpgme_data_append_string (dh, field_name[i]);
|
||||
_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, field_name[i]);
|
||||
_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_verbosity (ctx->engine, ctx->verbosity);
|
||||
|
||||
_gpgme_engine_op_import (ctx->engine, keydata);
|
||||
err = _gpgme_engine_op_import (ctx->engine, keydata);
|
||||
|
||||
if (!err)
|
||||
err = _gpgme_engine_start (ctx->engine, ctx);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* keylist.c - key listing
|
||||
* 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.
|
||||
*
|
||||
@ -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
|
||||
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);
|
||||
break;
|
||||
case 6: /* timestamp (seconds) */
|
||||
key->keys.timestamp = parse_timestamp (p);
|
||||
key->keys.timestamp = _gpgme_parse_timestamp (p);
|
||||
break;
|
||||
case 7: /* expiration time (seconds) */
|
||||
key->keys.expires_at = parse_timestamp (p);
|
||||
key->keys.expires_at = _gpgme_parse_timestamp (p);
|
||||
break;
|
||||
case 8: /* X.509 serial number */
|
||||
if (rectype == RT_CRT || rectype == RT_CRS)
|
||||
@ -444,10 +434,10 @@ keylist_colon_handler (GpgmeCtx ctx, char *line)
|
||||
strcpy (sk->keyid, p);
|
||||
break;
|
||||
case 6: /* timestamp (seconds) */
|
||||
sk->timestamp = parse_timestamp (p);
|
||||
sk->timestamp = _gpgme_parse_timestamp (p);
|
||||
break;
|
||||
case 7: /* expiration time (seconds) */
|
||||
sk->expires_at = parse_timestamp (p);
|
||||
sk->expires_at = _gpgme_parse_timestamp (p);
|
||||
break;
|
||||
case 8: /* reserved (LID) */
|
||||
break;
|
||||
|
@ -257,7 +257,7 @@ _gpgme_io_spawn (const char *path, char **argv,
|
||||
|
||||
/* .dup_to is not used in the parent list. */
|
||||
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;
|
||||
}
|
||||
|
@ -890,21 +890,18 @@ _gpgme_gpg_spawn (GpgObject gpg, void *opaque)
|
||||
fd_parent_list[n].fd = gpg->status.fd[1];
|
||||
fd_parent_list[n].dup_to = -1;
|
||||
n++;
|
||||
gpg->status.fd[1] = -1;
|
||||
}
|
||||
if (gpg->colon.fd[1] != -1)
|
||||
{
|
||||
fd_parent_list[n].fd = gpg->colon.fd[1];
|
||||
fd_parent_list[n].dup_to = -1;
|
||||
n++;
|
||||
gpg->colon.fd[1] = -1;
|
||||
}
|
||||
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].dup_to = -1;
|
||||
n++;
|
||||
gpg->fd_data_map[i].peer_fd = -1;
|
||||
}
|
||||
fd_parent_list[n].fd = -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");
|
||||
if (!err)
|
||||
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
|
||||
if (!err)
|
||||
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
|
||||
if (!err)
|
||||
err = _gpgme_gpg_add_arg (gpg,
|
||||
(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");
|
||||
if (!err)
|
||||
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
|
||||
if (!err)
|
||||
err = _gpgme_gpg_add_arg (gpg, "--with-fingerprint");
|
||||
if (!err)
|
||||
err = _gpgme_gpg_add_arg (gpg, secret_only ? "--list-secret-keys"
|
||||
: "--list-keys");
|
||||
|
11
gpgme/sign.c
11
gpgme/sign.c
@ -122,7 +122,7 @@ append_xml_siginfo (GpgmeData *rdh, char *args)
|
||||
_gpgme_data_append_string (dh, helpbuf);
|
||||
SKIP_TOKEN_OR_RETURN (args);
|
||||
|
||||
ul = strtoul (args, NULL, 10);
|
||||
ul = _gpgme_parse_timestamp (args);
|
||||
sprintf (helpbuf, " <created>%lu</created>\n", ul);
|
||||
_gpgme_data_append_string (dh, helpbuf);
|
||||
SKIP_TOKEN_OR_RETURN (args);
|
||||
@ -206,12 +206,13 @@ _gpgme_op_sign_start (GpgmeCtx ctx, int synchronous,
|
||||
ctx);
|
||||
_gpgme_engine_set_verbosity (ctx->engine, ctx->verbosity);
|
||||
|
||||
_gpgme_engine_op_sign (ctx->engine, in, out, mode, ctx->use_armor,
|
||||
ctx->use_textmode, ctx->include_certs,
|
||||
ctx /* FIXME */);
|
||||
err = _gpgme_engine_op_sign (ctx->engine, in, out, mode, ctx->use_armor,
|
||||
ctx->use_textmode, ctx->include_certs,
|
||||
ctx /* FIXME */);
|
||||
|
||||
/* And kick off the process. */
|
||||
err = _gpgme_engine_start (ctx->engine, ctx);
|
||||
if (!err)
|
||||
err = _gpgme_engine_start (ctx->engine, ctx);
|
||||
|
||||
leave:
|
||||
if (err)
|
||||
|
@ -100,5 +100,6 @@ FILE *fopencookie (void *cookie, const char *opentype,
|
||||
/*-- conversion.c --*/
|
||||
GpgmeError _gpgme_decode_c_string (const char *src, char **destp);
|
||||
int _gpgme_hextobyte (const byte *str);
|
||||
time_t _gpgme_parse_timestamp (const char *p);
|
||||
|
||||
#endif /* UTIL_H */
|
||||
|
@ -225,6 +225,7 @@ _gpgme_verify_status_handler (GpgmeCtx ctx, GpgmeStatusCode code, char *args)
|
||||
switch (code)
|
||||
{
|
||||
case GPGME_STATUS_NODATA:
|
||||
case GPGME_STATUS_UNEXPECTED:
|
||||
ctx->result.verify->status = GPGME_SIG_STAT_NOSIG;
|
||||
break;
|
||||
|
||||
@ -250,9 +251,14 @@ _gpgme_verify_status_handler (GpgmeCtx ctx, GpgmeStatusCode code, char *args)
|
||||
while (args[i] && args[i] != ' ')
|
||||
i++;
|
||||
/* 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])
|
||||
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;
|
||||
|
||||
case GPGME_STATUS_BADSIG:
|
||||
|
@ -899,11 +899,8 @@ _gpgme_io_spawn ( const char *path, char **argv,
|
||||
}
|
||||
|
||||
/* Close the other ends of the pipes */
|
||||
for (i=0; fd_parent_list[i].fd != -1; i++ ) {
|
||||
DEBUG1 ("Closing fd %d\n", fd_parent_list[i].fd );
|
||||
if ( !CloseHandle ( fd_to_handle (fd_parent_list[i].fd) ) )
|
||||
DEBUG1 ("CloseHandle failed: ec=%d", (int)GetLastError());
|
||||
}
|
||||
for (i = 0; fd_parent_list[i].fd != -1; i++)
|
||||
_gpgme_io_close (fd_parent_list[i].fd);
|
||||
|
||||
DEBUG4 ("CreateProcess ready\n"
|
||||
"- hProcess=%p hThread=%p\n"
|
||||
|
@ -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.
|
||||
|
@ -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
@ -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"
|
@ -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
@ -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 =
|
@ -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>
|
||||
|
||||
* gpgsm/t-keylist.c (doit): Add arg SECRET.
|
||||
|
@ -36,7 +36,7 @@ noinst_PROGRAMS = $(TESTS)
|
||||
key_id := 32100C27173EF6E9C4E9A25D3D69F86D37A4F939
|
||||
|
||||
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
|
||||
@ -46,6 +46,7 @@ all-local: ./pubring.kbx ./gpgsm.conf ./private-keys-v1.d/$(key_id).key ./trustl
|
||||
|
||||
./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)
|
||||
test -d ./private-keys-v1.d || mkdir ./private-keys-v1.d
|
||||
|
Loading…
Reference in New Issue
Block a user