mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
Tweaks for gpgconf.
Fixed dirmngr bug 1010.
This commit is contained in:
parent
43a7cb7fd4
commit
5fd7ff3488
@ -1,3 +1,9 @@
|
|||||||
|
2010-12-14 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* configure.ac (BUILD_WITH_GPG, BUILD_WITH_GPGSM)
|
||||||
|
(BUILD_WITH_AGENT, BUILD_WITH_SCDAEMON, BUILD_WITH_DIRMNGR)
|
||||||
|
(BUILD_WITH_G13): New defines.
|
||||||
|
|
||||||
2010-11-23 Werner Koch <wk@g10code.com>
|
2010-11-23 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* am/cmacros.am (extra_bin_ldflags): New. For W32CE set the stack
|
* am/cmacros.am (extra_bin_ldflags): New. For W32CE set the stack
|
||||||
|
2
NEWS
2
NEWS
@ -12,6 +12,8 @@ Noteworthy changes in version 2.1.0beta2 (unreleased)
|
|||||||
these tools are written robust enough to accept this new algorithm
|
these tools are written robust enough to accept this new algorithm
|
||||||
name as well.
|
name as well.
|
||||||
|
|
||||||
|
* Fixed CRL loading under W32 (bug#1010).
|
||||||
|
|
||||||
|
|
||||||
Noteworthy changes in version 2.1.0beta1 (2010-10-26)
|
Noteworthy changes in version 2.1.0beta1 (2010-10-26)
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
27
configure.ac
27
configure.ac
@ -1523,7 +1523,9 @@ if test "$build_agent_only" = "yes" ; then
|
|||||||
build_doc=no
|
build_doc=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set variables for use by th automake makefile.
|
||||||
|
#
|
||||||
AM_CONDITIONAL(BUILD_GPG, test "$build_gpg" = "yes")
|
AM_CONDITIONAL(BUILD_GPG, test "$build_gpg" = "yes")
|
||||||
AM_CONDITIONAL(BUILD_GPGSM, test "$build_gpgsm" = "yes")
|
AM_CONDITIONAL(BUILD_GPGSM, test "$build_gpgsm" = "yes")
|
||||||
AM_CONDITIONAL(BUILD_AGENT, test "$build_agent" = "yes")
|
AM_CONDITIONAL(BUILD_AGENT, test "$build_agent" = "yes")
|
||||||
@ -1538,6 +1540,29 @@ AM_CONDITIONAL(BUILD_GPGTAR, test "$build_gpgtar" = "yes")
|
|||||||
AM_CONDITIONAL(RUN_GPG_TESTS,
|
AM_CONDITIONAL(RUN_GPG_TESTS,
|
||||||
test x$cross_compiling = xno -a "$build_gpg" = yes )
|
test x$cross_compiling = xno -a "$build_gpg" = yes )
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set some defines for use gpgconf.
|
||||||
|
#
|
||||||
|
if test "$build_gpg" = yes ; then
|
||||||
|
AC_DEFINE(BUILD_WITH_GPG,1,[Defined if GPG is to be build])
|
||||||
|
fi
|
||||||
|
if test "$build_gpgsm" = yes ; then
|
||||||
|
AC_DEFINE(BUILD_WITH_GPGSM,1,[Defined if GPGSM is to be build])
|
||||||
|
fi
|
||||||
|
if test "$build_agent" = yes ; then
|
||||||
|
AC_DEFINE(BUILD_WITH_AGENT,1,[Defined if GPG-AGENT is to be build])
|
||||||
|
fi
|
||||||
|
if test "$build_scdaemon" = yes ; then
|
||||||
|
AC_DEFINE(BUILD_WITH_SCDAEMON,1,[Defined if SCDAEMON is to be build])
|
||||||
|
fi
|
||||||
|
if test "$build_dirmngr" = yes ; then
|
||||||
|
AC_DEFINE(BUILD_WITH_DIRMNGR,1,[Defined if SCDAEMON is to be build])
|
||||||
|
fi
|
||||||
|
if test "$build_g13" = yes ; then
|
||||||
|
AC_DEFINE(BUILD_WITH_G13,1,[Defined if G13 is to be build])
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Print errors here so that they are visible all
|
# Print errors here so that they are visible all
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
2010-12-14 Werner Koch <wk@g10code.com>
|
2010-12-14 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* cdb.h (struct cdb) [W32]: Add field CDB_MAPPING.
|
||||||
|
* cdblib.c (cdb_init) [W32]: Save mapping handle.
|
||||||
|
(cdb_free) [W32]: Don't leak the mapping handle from cdb_init by
|
||||||
|
using the saved one.
|
||||||
|
|
||||||
|
* crlcache.c (crl_cache_insert): Close unused matching files.
|
||||||
|
|
||||||
* dirmngr.c (main) [W32CE]: Change homedir in daemon mode to /gnupg.
|
* dirmngr.c (main) [W32CE]: Change homedir in daemon mode to /gnupg.
|
||||||
|
|
||||||
2010-12-07 Werner Koch <wk@g10code.com>
|
2010-12-07 Werner Koch <wk@g10code.com>
|
||||||
|
@ -20,6 +20,9 @@ void cdb_pack(cdbi_t num, unsigned char buf[4]);
|
|||||||
struct cdb {
|
struct cdb {
|
||||||
int cdb_fd; /* file descriptor */
|
int cdb_fd; /* file descriptor */
|
||||||
/* private members */
|
/* private members */
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
void *cdb_mapping; /* Mapping handle. */
|
||||||
|
#endif
|
||||||
cdbi_t cdb_fsize; /* datafile size */
|
cdbi_t cdb_fsize; /* datafile size */
|
||||||
const unsigned char *cdb_mem; /* mmap'ed file memory */
|
const unsigned char *cdb_mem; /* mmap'ed file memory */
|
||||||
cdbi_t cdb_vpos, cdb_vlen; /* found data */
|
cdbi_t cdb_vpos, cdb_vlen; /* found data */
|
||||||
|
@ -135,7 +135,7 @@ cdb_init(struct cdb *cdbp, int fd)
|
|||||||
hFile = fd;
|
hFile = fd;
|
||||||
# else
|
# else
|
||||||
hFile = (HANDLE) _get_osfhandle(fd);
|
hFile = (HANDLE) _get_osfhandle(fd);
|
||||||
#endif
|
# endif
|
||||||
if (hFile == (HANDLE) -1)
|
if (hFile == (HANDLE) -1)
|
||||||
return -1;
|
return -1;
|
||||||
hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
|
hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
|
||||||
@ -144,6 +144,7 @@ cdb_init(struct cdb *cdbp, int fd)
|
|||||||
mem = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0);
|
mem = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0);
|
||||||
if (!mem)
|
if (!mem)
|
||||||
return -1;
|
return -1;
|
||||||
|
cdbp->cdb_mapping = hMapping;
|
||||||
#else
|
#else
|
||||||
mem = (unsigned char*)mmap(NULL, fsize, PROT_READ, MAP_SHARED, fd, 0);
|
mem = (unsigned char*)mmap(NULL, fsize, PROT_READ, MAP_SHARED, fd, 0);
|
||||||
if (mem == MAP_FAILED)
|
if (mem == MAP_FAILED)
|
||||||
@ -180,17 +181,9 @@ cdb_free(struct cdb *cdbp)
|
|||||||
{
|
{
|
||||||
if (cdbp->cdb_mem) {
|
if (cdbp->cdb_mem) {
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
HANDLE hFile, hMapping;
|
UnmapViewOfFile ((void*) cdbp->cdb_mem);
|
||||||
#endif
|
CloseHandle (cdbp->cdb_mapping);
|
||||||
#ifdef _WIN32
|
cdbp->cdb_mapping = NULL;
|
||||||
#ifdef __MINGW32CE__
|
|
||||||
hFile = cdbp->cdb_fd;
|
|
||||||
#else
|
|
||||||
hFile = (HANDLE) _get_osfhandle(cdbp->cdb_fd);
|
|
||||||
#endif
|
|
||||||
hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
|
|
||||||
UnmapViewOfFile((void*) cdbp->cdb_mem);
|
|
||||||
CloseHandle(hMapping);
|
|
||||||
#else
|
#else
|
||||||
munmap((void*)cdbp->cdb_mem, cdbp->cdb_fsize);
|
munmap((void*)cdbp->cdb_mem, cdbp->cdb_fsize);
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
@ -178,7 +178,7 @@ static crl_cache_entry_t find_entry (crl_cache_entry_t first,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* The currently loaded cache object. This isi usually initialized
|
/* The currently loaded cache object. This is usually initialized
|
||||||
right at startup. */
|
right at startup. */
|
||||||
static crl_cache_t current_cache;
|
static crl_cache_t current_cache;
|
||||||
|
|
||||||
@ -393,7 +393,7 @@ release_cache (crl_cache_t cache)
|
|||||||
{
|
{
|
||||||
entry2 = entry->next;
|
entry2 = entry->next;
|
||||||
release_one_cache_entry (entry);
|
release_one_cache_entry (entry);
|
||||||
}
|
}
|
||||||
cache->entries = NULL;
|
cache->entries = NULL;
|
||||||
xfree (cache);
|
xfree (cache);
|
||||||
}
|
}
|
||||||
@ -1189,6 +1189,7 @@ unlock_db_file (crl_cache_t cache, crl_cache_entry_t entry)
|
|||||||
cache->entries = enext;
|
cache->entries = enext;
|
||||||
else
|
else
|
||||||
eprev->next = enext;
|
eprev->next = enext;
|
||||||
|
/* FIXME: Do we leak ENTRY? */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1204,7 +1205,6 @@ find_entry (crl_cache_entry_t first, const char *issuer_hash)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Create a new CRL cache. This fucntion is usually called only once.
|
/* Create a new CRL cache. This fucntion is usually called only once.
|
||||||
never fail. */
|
never fail. */
|
||||||
void
|
void
|
||||||
@ -2177,6 +2177,31 @@ crl_cache_insert (ctrl_t ctrl, const char *url, ksba_reader_t reader)
|
|||||||
newfname = make_db_file_name (entry->issuer_hash);
|
newfname = make_db_file_name (entry->issuer_hash);
|
||||||
if (opt.verbose)
|
if (opt.verbose)
|
||||||
log_info (_("creating cache file `%s'\n"), newfname);
|
log_info (_("creating cache file `%s'\n"), newfname);
|
||||||
|
|
||||||
|
/* Just in case close unused matching files. Actually we need this
|
||||||
|
only under Windows but saving file descriptors is never bad. */
|
||||||
|
{
|
||||||
|
int any;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
any = 0;
|
||||||
|
for (e = cache->entries; e; e = e->next)
|
||||||
|
if (!e->cdb_use_count && e->cdb
|
||||||
|
&& !strcmp (e->issuer_hash, entry->issuer_hash))
|
||||||
|
{
|
||||||
|
int fd = cdb_fileno (e->cdb);
|
||||||
|
cdb_free (e->cdb);
|
||||||
|
xfree (e->cdb);
|
||||||
|
e->cdb = NULL;
|
||||||
|
if (close (fd))
|
||||||
|
log_error (_("error closing cache file: %s\n"),
|
||||||
|
strerror(errno));
|
||||||
|
any = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (any);
|
||||||
|
}
|
||||||
#ifdef HAVE_W32_SYSTEM
|
#ifdef HAVE_W32_SYSTEM
|
||||||
gnupg_remove (newfname);
|
gnupg_remove (newfname);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2010-12-14 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpgconf-comp.c (gc_options_gpg_agent, gc_options_scdaemon)
|
||||||
|
(gc_options_gpg, gc_options_gpgsm, gc_options_dirmngr): Define to
|
||||||
|
NULL if corresponding BUILD_WITH_foo is not defined.
|
||||||
|
|
||||||
2010-12-02 Werner Koch <wk@g10code.com>
|
2010-12-02 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* no-libgcrypt.c (gcry_cipher_algo_name): New.
|
* no-libgcrypt.c (gcry_cipher_algo_name): New.
|
||||||
|
@ -51,7 +51,6 @@
|
|||||||
#include "gc-opt-flags.h"
|
#include "gc-opt-flags.h"
|
||||||
#include "gpgconf.h"
|
#include "gpgconf.h"
|
||||||
|
|
||||||
|
|
||||||
/* There is a problem with gpg 1.4 under Windows: --gpgconf-list
|
/* There is a problem with gpg 1.4 under Windows: --gpgconf-list
|
||||||
returns a plain filename without escaping. As long as we have not
|
returns a plain filename without escaping. As long as we have not
|
||||||
fixed that we need to use gpg2. */
|
fixed that we need to use gpg2. */
|
||||||
@ -467,6 +466,9 @@ typedef struct gc_option gc_option_t;
|
|||||||
#define GC_OPTION_NULL { NULL }
|
#define GC_OPTION_NULL { NULL }
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef BUILD_WITH_AGENT
|
||||||
|
#define gc_options_gpg_agent NULL
|
||||||
|
#else
|
||||||
/* The options of the GC_COMPONENT_GPG_AGENT component. */
|
/* The options of the GC_COMPONENT_GPG_AGENT component. */
|
||||||
static gc_option_t gc_options_gpg_agent[] =
|
static gc_option_t gc_options_gpg_agent[] =
|
||||||
{
|
{
|
||||||
@ -569,8 +571,12 @@ static gc_option_t gc_options_gpg_agent[] =
|
|||||||
|
|
||||||
GC_OPTION_NULL
|
GC_OPTION_NULL
|
||||||
};
|
};
|
||||||
|
#endif /*BUILD_WITH_AGENT*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef BUILD_WITH_SCDAEMON
|
||||||
|
#define gc_options_scdaemon NULL
|
||||||
|
#else
|
||||||
/* The options of the GC_COMPONENT_SCDAEMON component. */
|
/* The options of the GC_COMPONENT_SCDAEMON component. */
|
||||||
static gc_option_t gc_options_scdaemon[] =
|
static gc_option_t gc_options_scdaemon[] =
|
||||||
{
|
{
|
||||||
@ -636,8 +642,11 @@ static gc_option_t gc_options_scdaemon[] =
|
|||||||
|
|
||||||
GC_OPTION_NULL
|
GC_OPTION_NULL
|
||||||
};
|
};
|
||||||
|
#endif /*BUILD_WITH_SCDAEMON*/
|
||||||
|
|
||||||
|
#ifndef BUILD_WITH_GPG
|
||||||
|
#define gc_options_gpg NULL
|
||||||
|
#else
|
||||||
/* The options of the GC_COMPONENT_GPG component. */
|
/* The options of the GC_COMPONENT_GPG component. */
|
||||||
static gc_option_t gc_options_gpg[] =
|
static gc_option_t gc_options_gpg[] =
|
||||||
{
|
{
|
||||||
@ -710,9 +719,12 @@ static gc_option_t gc_options_gpg[] =
|
|||||||
|
|
||||||
GC_OPTION_NULL
|
GC_OPTION_NULL
|
||||||
};
|
};
|
||||||
|
#endif /*BUILD_WITH_GPG*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef BUILD_WITH_GPGSM
|
||||||
|
#define gc_options_gpgsm NULL
|
||||||
|
#else
|
||||||
/* The options of the GC_COMPONENT_GPGSM component. */
|
/* The options of the GC_COMPONENT_GPGSM component. */
|
||||||
static gc_option_t gc_options_gpgsm[] =
|
static gc_option_t gc_options_gpgsm[] =
|
||||||
{
|
{
|
||||||
@ -802,8 +814,12 @@ static gc_option_t gc_options_gpgsm[] =
|
|||||||
|
|
||||||
GC_OPTION_NULL
|
GC_OPTION_NULL
|
||||||
};
|
};
|
||||||
|
#endif /*BUILD_WITH_GPGSM*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef BUILD_WITH_DIRMNGR
|
||||||
|
#define gc_options_dirmngr NULL
|
||||||
|
#else
|
||||||
/* The options of the GC_COMPONENT_DIRMNGR component. */
|
/* The options of the GC_COMPONENT_DIRMNGR component. */
|
||||||
static gc_option_t gc_options_dirmngr[] =
|
static gc_option_t gc_options_dirmngr[] =
|
||||||
{
|
{
|
||||||
@ -942,6 +958,7 @@ static gc_option_t gc_options_dirmngr[] =
|
|||||||
|
|
||||||
GC_OPTION_NULL
|
GC_OPTION_NULL
|
||||||
};
|
};
|
||||||
|
#endif /*BUILD_WITH_DIRMNGR*/
|
||||||
|
|
||||||
|
|
||||||
/* The options of the GC_COMPONENT_PINENTRY component. */
|
/* The options of the GC_COMPONENT_PINENTRY component. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user