2001-11-18 Marcus Brinkmann <marcus@g10code.de>
* configure.in: Renamed to ... * configure.ac: ... this. Update to autoconf 2.52. Lots of small changes in the transition. Support --with-gpg=PATH and --with-gpgsm=PATH options. Check if test suites can be run. * acconfig.h: Add GPGSM_PATH. * Makefile.am: New variable `tests', set to `tests' if RUN_GPG_TESTS. (SUBDIRS): Replace string `tests' with variable `tests'. gpgme/ 2001-11-18 Marcus Brinkmann <marcus@g10code.de> * configure.in: Renamed to ... * configure.ac: ... this. Update to autoconf 2.52. Lots of small changes in the transition. Support --with-gpg=PATH and --with-gpgsm=PATH options. Check if test suites can be run. * acconfig.h: Add GPGSM_PATH. * Makefile.am: New variable `tests', set to `tests' if RUN_GPG_TESTS. (SUBDIRS): Replace string `tests' with variable `tests'.
This commit is contained in:
parent
590bd5a7d8
commit
1a9da605ad
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2001-11-18 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
|
* configure.in: Renamed to ...
|
||||||
|
* configure.ac: ... this. Update to autoconf 2.52. Lots of small
|
||||||
|
changes in the transition. Support --with-gpg=PATH and
|
||||||
|
--with-gpgsm=PATH options. Check if test suites can be run.
|
||||||
|
* acconfig.h: Add GPGSM_PATH.
|
||||||
|
* Makefile.am: New variable `tests', set to `tests' if
|
||||||
|
RUN_GPG_TESTS.
|
||||||
|
(SUBDIRS): Replace string `tests' with variable `tests'.
|
||||||
|
|
||||||
2001-10-22 Marcus Brinkmann <marcus@g10code.de>
|
2001-10-22 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
* autogen.sh: Invoke automake with `-a' (add missing files).
|
* autogen.sh: Invoke automake with `-a' (add missing files).
|
||||||
|
10
Makefile.am
10
Makefile.am
@ -26,13 +26,17 @@ bonobo = bonobo
|
|||||||
else
|
else
|
||||||
bonobo =
|
bonobo =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if BUILD_COMPLUS
|
if BUILD_COMPLUS
|
||||||
complus = complus
|
complus = complus
|
||||||
else
|
else
|
||||||
complus =
|
complus =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if RUN_GPG_TESTS
|
||||||
|
tests = tests
|
||||||
|
else
|
||||||
|
tests =
|
||||||
|
endif
|
||||||
|
|
||||||
SUBDIRS = jnlib gpgme tests doc ${bonobo} ${complus}
|
SUBDIRS = jnlib gpgme ${tests} doc ${bonobo} ${complus}
|
||||||
|
|
||||||
|
|
||||||
|
3
NEWS
3
NEWS
@ -1,4 +1,7 @@
|
|||||||
|
|
||||||
|
* GPGME can be compiled without GnuPG being installed (--with-gpg=PATH),
|
||||||
|
and even cross-compiled.
|
||||||
|
|
||||||
* New operation gpgme_op_decrypt_verify to decrypt and verify
|
* New operation gpgme_op_decrypt_verify to decrypt and verify
|
||||||
signatures simultaneously.
|
signatures simultaneously.
|
||||||
|
|
||||||
|
@ -39,12 +39,15 @@
|
|||||||
/* Some systems have a mkdir that takes a single argument. */
|
/* Some systems have a mkdir that takes a single argument. */
|
||||||
#undef MKDIR_TAKES_ONE_ARG
|
#undef MKDIR_TAKES_ONE_ARG
|
||||||
|
|
||||||
/* path to the gpg binary */
|
/* Path to the GnuPG binary. */
|
||||||
#undef GPG_PATH
|
#undef GPG_PATH
|
||||||
/* min. needed GPG version */
|
/* Min. needed GnuPG version. */
|
||||||
#undef NEED_GPG_VERSION
|
#undef NEED_GPG_VERSION
|
||||||
|
|
||||||
/* stuff needed by lnlib/ */
|
/* Path to the GpgSM binary. */
|
||||||
|
#undef GPGSM_PATH
|
||||||
|
|
||||||
|
/* Stuff needed by jnlib. */
|
||||||
#undef HAVE_BYTE_TYPEDEF
|
#undef HAVE_BYTE_TYPEDEF
|
||||||
#undef HAVE_USHORT_TYPEDEF
|
#undef HAVE_USHORT_TYPEDEF
|
||||||
#undef HAVE_ULONG_TYPEDEF
|
#undef HAVE_ULONG_TYPEDEF
|
||||||
|
@ -19,16 +19,22 @@
|
|||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
|
||||||
# (Process this file with autoconf to produce a configure script.)
|
# (Process this file with autoconf to produce a configure script.)
|
||||||
AC_REVISION($Revision$)dnl
|
|
||||||
|
|
||||||
AC_INIT(gpgme/gpgme.h)
|
AC_INIT(gpgme, 0.2.3a, [gnupg-devel@gnupg.org])
|
||||||
|
AC_PREREQ(2.52)
|
||||||
|
AC_REVISION($Revision$)
|
||||||
|
|
||||||
|
AC_CONFIG_SRCDIR(gpgme/gpgme.h)
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
AM_INIT_AUTOMAKE(gpgme, 0.2.3a)
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
# Version numbers (Remember to change them just before a release)
|
|
||||||
|
AC_PROG_CC
|
||||||
|
|
||||||
|
# Version numbers (Remember to change them just before a release.)
|
||||||
# (Interfaces removed: CURRENT++, AGE=0, REVISION=0)
|
# (Interfaces removed: CURRENT++, AGE=0, REVISION=0)
|
||||||
# (Interfaces added: CURRENT++, AGE++, REVISION=0)
|
# (Interfaces added: CURRENT++, AGE++, REVISION=0)
|
||||||
# (No interfaces changed: REVISION++)
|
# (No interfaces changed: REVISION++)
|
||||||
AM_INIT_AUTOMAKE(gpgme,0.2.3a)
|
|
||||||
# XXXX new functions
|
# XXXX new functions
|
||||||
LIBGPGME_LT_CURRENT=4
|
LIBGPGME_LT_CURRENT=4
|
||||||
LIBGPGME_LT_AGE=4
|
LIBGPGME_LT_AGE=4
|
||||||
@ -41,21 +47,12 @@ AC_SUBST(LIBGPGME_LT_AGE)
|
|||||||
AC_SUBST(LIBGPGME_LT_REVISION)
|
AC_SUBST(LIBGPGME_LT_REVISION)
|
||||||
AC_DEFINE_UNQUOTED(NEED_GPG_VERSION, "$NEED_GPG_VERSION")
|
AC_DEFINE_UNQUOTED(NEED_GPG_VERSION, "$NEED_GPG_VERSION")
|
||||||
|
|
||||||
|
dnl Don't default to build static libs.
|
||||||
|
dnl AC_DISABLE_STATIC
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
|
||||||
dnl
|
GPG_DEFAULT=no
|
||||||
dnl Checks for programs
|
GPGSM_DEFAULT=no
|
||||||
dnl
|
|
||||||
AC_ARG_PROGRAM
|
|
||||||
|
|
||||||
dnl Don't default to build static libs
|
|
||||||
dnl AM_DISABLE_STATIC
|
|
||||||
AM_PROG_LIBTOOL
|
|
||||||
|
|
||||||
if test "$GCC" = yes; then
|
|
||||||
CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
GPG=
|
|
||||||
component_system=None
|
component_system=None
|
||||||
case "${target}" in
|
case "${target}" in
|
||||||
*-*-mingw32* | i?86-emx-os2 | i?86-*-os2*emx | i?86-*-msdosdjgpp* )
|
*-*-mingw32* | i?86-emx-os2 | i?86-*-os2*emx | i?86-*-msdosdjgpp* )
|
||||||
@ -64,85 +61,119 @@ case "${target}" in
|
|||||||
# DOS with the DJGPP environment
|
# DOS with the DJGPP environment
|
||||||
AC_DEFINE(HAVE_DRIVE_LETTERS)
|
AC_DEFINE(HAVE_DRIVE_LETTERS)
|
||||||
AC_DEFINE(HAVE_DOSISH_SYSTEM)
|
AC_DEFINE(HAVE_DOSISH_SYSTEM)
|
||||||
GPG='c:\\gnupg\\gpg.exe'
|
GPG_DEFAULT='c:\\gnupg\\gpg.exe'
|
||||||
|
GPGSM_DEFAULT='c:\\gnupg\\gpgsm.exe'
|
||||||
#component_system='COM+'
|
#component_system='COM+'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
;;
|
dnl # XXX: Probably use exec-prefix here?
|
||||||
|
dnl GPG_DEFAULT='/usr/bin/gpg'
|
||||||
|
dnl GPGSM_DEFAULT='/usr/bin/gpgsm'
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Checks for libraries.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl FIXME: check whether Bonobo is installed
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Checks for libraries
|
dnl Checks for header files.
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Checks for header files
|
dnl Checks for typedefs and structures.
|
||||||
dnl
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Checks for typedefs and structures
|
|
||||||
dnl
|
dnl
|
||||||
GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
|
GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
|
||||||
GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
|
GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
|
||||||
GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
|
GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
|
||||||
GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
|
GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
|
||||||
GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
|
GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
|
||||||
|
|
||||||
# We should not use them in this software;
|
# We should not use them in this software;
|
||||||
# However jnlib/types.h needs them - so we take the easy way.
|
# However jnlib/types.h needs them - so we take the easy way.
|
||||||
AC_CHECK_SIZEOF(unsigned short, 2)
|
AC_CHECK_SIZEOF(unsigned short)
|
||||||
AC_CHECK_SIZEOF(unsigned int, 4)
|
AC_CHECK_SIZEOF(unsigned int)
|
||||||
AC_CHECK_SIZEOF(unsigned long, 4)
|
AC_CHECK_SIZEOF(unsigned long)
|
||||||
if test "$ac_cv_sizeof_unsigned_short" = "0" \
|
|
||||||
|| test "$ac_cv_sizeof_unsigned_int" = "0" \
|
dnl
|
||||||
|| test "$ac_cv_sizeof_unsigned_long" = "0"; then
|
dnl Checks for compiler features.
|
||||||
AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
|
dnl
|
||||||
|
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Checks for compiler features
|
dnl Checks for library functions.
|
||||||
dnl
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Checks for library functions
|
|
||||||
dnl
|
dnl
|
||||||
dnl These are needed by libjnlib
|
dnl These are needed by libjnlib
|
||||||
AC_CHECK_FUNCS(memicmp stpcpy strlwr strtoul memmove stricmp)
|
AC_CHECK_FUNCS(memicmp stpcpy strlwr strtoul memmove stricmp)
|
||||||
|
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Checks for system services
|
dnl Checks for system services
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
if test -z "$GPG"; then
|
NO_OVERRIDE=no
|
||||||
AC_PATH_PROG(GPG, gpg)
|
AC_ARG_WITH(gpg,
|
||||||
|
AC_HELP_STRING([--with-gpg=PATH], [use GnuPG binary at PATH]),
|
||||||
|
GPG=$withval, NO_OVERRIDE=yes)
|
||||||
|
if test "$NO_OVERRIDE" = "yes" || test "$GPG" = "yes"; then
|
||||||
|
GPG=
|
||||||
|
NO_OVERRIDE=yes
|
||||||
|
if test "$cross_compiling" != "yes"; then
|
||||||
|
AC_PATH_PROG(GPG, gpg)
|
||||||
|
fi
|
||||||
if test -z "$GPG"; then
|
if test -z "$GPG"; then
|
||||||
AC_MSG_ERROR([[
|
GPG="$GPG_DEFAULT"
|
||||||
***
|
|
||||||
*** GnuPG not found. Please install GnuPG first.
|
|
||||||
*** See http://www.gnupg.org/download.html
|
|
||||||
***
|
|
||||||
]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AC_DEFINE_UNQUOTED(GPG_PATH, "$GPG")
|
if test "$GPG" = no; then
|
||||||
|
if test "$NO_OVERRIDE" = "yes"; then
|
||||||
|
if test "$cross_compiling" != "yes"; then
|
||||||
dnl
|
AC_MSG_WARN([Could not find GnuPG, install GnuPG or use --with-gpg=PATH to enable it])
|
||||||
dnl FIXME: check whether Bonobo is installed
|
else
|
||||||
dnl
|
AC_MSG_ERROR([Can not determine path to GnuPG when cross-compiling, use --with-gpg=PATH])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_DEFINE_UNQUOTED(GPG_PATH, "$GPG")
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(RUN_GPG_TESTS,
|
||||||
|
[test "$cross_compiling" != "yes" && test -n "$GPG" && test -r "$GPG"])
|
||||||
|
|
||||||
|
NO_OVERRIDE=no
|
||||||
|
AC_ARG_WITH(gpgsm,
|
||||||
|
AC_HELP_STRING([--with-gpgsm=PATH], [use GpgSM binary at PATH]),
|
||||||
|
GPGSM=$withval, NO_OVERRIDE=yes)
|
||||||
|
if test "$NO_OVERRIDE" = "yes" || test "$GPGSM" = "yes"; then
|
||||||
|
GPGSM=
|
||||||
|
NO_OVERRIDE=yes
|
||||||
|
if test "$cross_compiling" != "yes"; then
|
||||||
|
AC_PATH_PROG(GPGSM, gpgsm)
|
||||||
|
fi
|
||||||
|
if test -z "$GPGSM"; then
|
||||||
|
GPGSM="$GPGSM_DEFAULT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "$GPGSM" = no; then
|
||||||
|
if test "$NO_OVERRIDE" = "yes"; then
|
||||||
|
if test "$cross_compiling" != "yes"; then
|
||||||
|
AC_MSG_WARN([Could not find GpgSM, install GpgSM or use --with-gpgsm=PATH to enable it])
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([Can not determine path to GpgSM when cross-compiling, use --with-gpgsm=PATH])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_DEFINE_UNQUOTED(GPGSM_PATH, "$GPGSM")
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(RUN_GPGSM_TESTS,
|
||||||
|
[test "$cross_compiling" != "yes" && test -n "$GPGSM" && test -r "$GPGSM"])
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Create config files
|
dnl Create config files
|
||||||
dnl
|
dnl
|
||||||
dnl
|
|
||||||
|
|
||||||
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")
|
||||||
@ -157,24 +188,16 @@ GPGME_CFLAGS=""
|
|||||||
AC_SUBST(GPGME_LIBS)
|
AC_SUBST(GPGME_LIBS)
|
||||||
AC_SUBST(GPGME_CFLAGS)
|
AC_SUBST(GPGME_CFLAGS)
|
||||||
|
|
||||||
AC_OUTPUT_COMMANDS([
|
AC_CONFIG_FILES(Makefile jnlib/Makefile gpgme/Makefile tests/Makefile
|
||||||
chmod +x gpgme/gpgme-config
|
doc/Makefile bonobo/Makefile complus/Makefile)
|
||||||
])
|
AC_CONFIG_FILES(gpgme/gpgme-config, chmod +x gpgme/gpgme-config)
|
||||||
|
AC_OUTPUT
|
||||||
AC_OUTPUT([
|
|
||||||
Makefile
|
|
||||||
jnlib/Makefile
|
|
||||||
gpgme/Makefile
|
|
||||||
gpgme/gpgme-config
|
|
||||||
tests/Makefile
|
|
||||||
doc/Makefile
|
|
||||||
bonobo/Makefile
|
|
||||||
complus/Makefile
|
|
||||||
])
|
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
GPGME v${VERSION} has been configured as follows:
|
GPGME v${VERSION} has been configured as follows:
|
||||||
|
|
||||||
GPG version: min. $NEED_GPG_VERSION
|
GnuPG version: min. $NEED_GPG_VERSION
|
||||||
GPG path: $GPG
|
GnuPG path: $GPG
|
||||||
|
|
||||||
|
GpgSM path: $GPGSM
|
||||||
"
|
"
|
@ -1,3 +1,18 @@
|
|||||||
|
2001-11-18 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
|
* version.c (get_engine_info): If GnuPG is not available, return
|
||||||
|
an error message.
|
||||||
|
* posix-util.c (_gpgme_get_gpg_path): Allow GPG_PATH to be
|
||||||
|
undefined.
|
||||||
|
(_gpgme_get_gpgsm_path): New function.
|
||||||
|
* w32-util.c (find_program_in_registry): New static function.
|
||||||
|
(_gpgme_get_gpg_path): Allow GPG_PATH to be undefined. Rework
|
||||||
|
to use find_program_in_registry.
|
||||||
|
(_gpgme_get_gpgsm_path): New function.
|
||||||
|
(util.h): Prototype _gpgme_get_gpgsm_path).
|
||||||
|
* rungpg.c (_gpgme_gpg_spawn): Verify that _gpgme_get_gpg_path()
|
||||||
|
returns non-null.
|
||||||
|
|
||||||
2001-11-16 Marcus Brinkmann <marcus@g10code.de>
|
2001-11-16 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
* decrypt-verify.c: New file.
|
* decrypt-verify.c: New file.
|
||||||
|
@ -30,21 +30,24 @@
|
|||||||
|
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
_gpgme_get_gpg_path (void)
|
_gpgme_get_gpg_path (void)
|
||||||
{
|
{
|
||||||
/* #warning Forced to take GPG development version
|
#ifdef GPG_PATH
|
||||||
* return "/home/wk/work/gnupg-stable/g10/gpg";
|
return GPG_PATH;
|
||||||
*/
|
#else
|
||||||
|
return NULL;
|
||||||
return GPG_PATH;
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
_gpgme_get_gpgsm_path (void)
|
||||||
|
{
|
||||||
|
#ifdef GPGSM_PATH
|
||||||
|
return GPGSM_PATH;
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#endif /*!HAVE_DOSISH_SYSTEM*/
|
#endif /*!HAVE_DOSISH_SYSTEM*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -786,8 +786,11 @@ _gpgme_gpg_spawn( GpgObject gpg, void *opaque )
|
|||||||
int pid;
|
int pid;
|
||||||
struct spawn_fd_item_s *fd_child_list, *fd_parent_list;
|
struct spawn_fd_item_s *fd_child_list, *fd_parent_list;
|
||||||
|
|
||||||
if ( !gpg )
|
if (!gpg)
|
||||||
return mk_error (Invalid_Value);
|
return mk_error (Invalid_Value);
|
||||||
|
|
||||||
|
if (! _gpgme_get_gpg_path ())
|
||||||
|
return mk_error (Invalid_Engine);
|
||||||
|
|
||||||
/* Kludge, so that we don't need to check the return code of
|
/* Kludge, so that we don't need to check the return code of
|
||||||
* all the gpgme_gpg_add_arg(). we bail out here instead */
|
* all the gpgme_gpg_add_arg(). we bail out here instead */
|
||||||
|
@ -123,8 +123,7 @@ char *stpcpy (char *a, const char *b);
|
|||||||
|
|
||||||
/*-- {posix,w32}-util.c --*/
|
/*-- {posix,w32}-util.c --*/
|
||||||
const char *_gpgme_get_gpg_path (void);
|
const char *_gpgme_get_gpg_path (void);
|
||||||
|
const char *_gpgme_get_gpgsm_path (void);
|
||||||
|
|
||||||
|
|
||||||
#endif /* UTIL_H */
|
#endif /* UTIL_H */
|
||||||
|
|
||||||
|
@ -228,6 +228,13 @@ get_engine_info (void)
|
|||||||
return engine_info;
|
return engine_info;
|
||||||
|
|
||||||
path = _gpgme_get_gpg_path ();
|
path = _gpgme_get_gpg_path ();
|
||||||
|
if (!path)
|
||||||
|
{
|
||||||
|
engine_info = "<GnupgInfo>\n"
|
||||||
|
" <error>Not supported</error>\n"
|
||||||
|
"</GnupgInfo>\n";
|
||||||
|
goto leave;
|
||||||
|
}
|
||||||
err = gpgme_new (&c);
|
err = gpgme_new (&c);
|
||||||
if (err)
|
if (err)
|
||||||
goto leave;
|
goto leave;
|
||||||
@ -299,9 +306,3 @@ get_engine_info (void)
|
|||||||
gpgme_release ( c );
|
gpgme_release ( c );
|
||||||
return engine_info;
|
return engine_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
/****************
|
/****************
|
||||||
* Return a string from the Win32 Registry or NULL in case of
|
* Return a string from the Win32 Registry or NULL in case of
|
||||||
* error. Caller must release the return value. A NULL for root
|
* error. Caller must release the return value. A NULL for root
|
||||||
* is an alias fro HKEY_CURRENT_USER
|
* is an alias for HKEY_CURRENT_USER.
|
||||||
*/
|
*/
|
||||||
static char *
|
static char *
|
||||||
read_w32_registry_string ( const char *root,
|
read_w32_registry_string ( const char *root,
|
||||||
@ -88,38 +88,53 @@ read_w32_registry_string ( const char *root,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
find_program_in_registry (const char *name)
|
||||||
|
{
|
||||||
|
char *program = NULL;
|
||||||
|
|
||||||
|
program = read_w32_registry_string (NULL, "Software\\GNU\\GnuPG", name);
|
||||||
|
if (program)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
DEBUG1 ("found %s in registry: `%s'", name, program );
|
||||||
|
for (i = 0; program[i]; i++)
|
||||||
|
{
|
||||||
|
if (program[i] == '/')
|
||||||
|
program[i] = '\\';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return program;
|
||||||
|
}
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
_gpgme_get_gpg_path (void)
|
_gpgme_get_gpg_path (void)
|
||||||
{
|
{
|
||||||
static char *gpg_program = NULL;
|
static char *gpg_program = NULL;
|
||||||
|
|
||||||
if (!gpg_program) {
|
if (!gpg_program)
|
||||||
gpg_program = read_w32_registry_string ( NULL,
|
gpg_program = find_program_in_registry ("gpgProgram");
|
||||||
"Software\\GNU\\GnuPG", "gpgProgram" );
|
#ifdef GPG_PATH
|
||||||
if (gpg_program) {
|
if (!gpg_program)
|
||||||
int i;
|
gpg_program = GPG_PATH;
|
||||||
|
#endif
|
||||||
DEBUG1 ("found gpgProgram in registry: `%s'", gpg_program );
|
return gpg_program;
|
||||||
for (i=0; gpg_program[i]; i++) {
|
}
|
||||||
if (gpg_program[i] == '/')
|
|
||||||
gpg_program[i] = '\\';
|
const char *
|
||||||
}
|
_gpgme_get_gpgsm_path (void)
|
||||||
}
|
{
|
||||||
else {
|
static char *gpgsm_program = NULL;
|
||||||
gpg_program = GPG_PATH;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return gpg_program;
|
if (!gpgsm_program)
|
||||||
|
gpgsm_program = find_program_in_registry ("gpgsmProgram");
|
||||||
|
#ifdef GPGSM_PATH
|
||||||
|
if (!gpgsm_program)
|
||||||
|
gpgsm_program = GPGSM_PATH;
|
||||||
|
#endif
|
||||||
|
return gpgsm_program;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*HAVE_DOSISH_SYSTEM*/
|
#endif /*HAVE_DOSISH_SYSTEM*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user