summaryrefslogtreecommitdiff
path: root/kbx
diff options
context:
space:
mode:
authorKévin THIERRY <kevin.thierry@open.eurogiciel.org>2014-11-13 09:26:18 +0100
committerKévin THIERRY <kevin.thierry@open.eurogiciel.org>2014-11-13 09:26:18 +0100
commite87a22655de485af790db1d4c51f4bc166a2bbd6 (patch)
tree93d088c2bc13d9a26e6f24b70936d998bd1404df /kbx
parent6576640b55777bd811a12a188b9b1f3c63653799 (diff)
downloadgpg2-e87a22655de485af790db1d4c51f4bc166a2bbd6.tar.gz
gpg2-e87a22655de485af790db1d4c51f4bc166a2bbd6.tar.bz2
gpg2-e87a22655de485af790db1d4c51f4bc166a2bbd6.zip
Imported Upstream version 2.0.26upstream/2.0.26
Diffstat (limited to 'kbx')
-rw-r--r--kbx/Makefile.in54
-rw-r--r--kbx/kbxutil.c2
-rw-r--r--kbx/keybox-defs.h25
-rw-r--r--kbx/keybox-init.c30
-rw-r--r--kbx/keybox.h2
5 files changed, 91 insertions, 22 deletions
diff --git a/kbx/Makefile.in b/kbx/Makefile.in
index 1e4e504..1965d77 100644
--- a/kbx/Makefile.in
+++ b/kbx/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -35,6 +35,23 @@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -114,6 +131,11 @@ CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libkeybox_a_SOURCES) $(kbxutil_SOURCES)
DIST_SOURCES = $(libkeybox_a_SOURCES) $(kbxutil_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -133,7 +155,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -375,14 +401,17 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libkeybox.a: $(libkeybox_a_OBJECTS) $(libkeybox_a_DEPENDENCIES)
+libkeybox.a: $(libkeybox_a_OBJECTS) $(libkeybox_a_DEPENDENCIES) $(EXTRA_libkeybox_a_DEPENDENCIES)
-rm -f libkeybox.a
$(libkeybox_a_AR) libkeybox.a $(libkeybox_a_OBJECTS) $(libkeybox_a_LIBADD)
$(RANLIB) libkeybox.a
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p; \
@@ -416,7 +445,7 @@ uninstall-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-kbxutil$(EXEEXT): $(kbxutil_OBJECTS) $(kbxutil_DEPENDENCIES)
+kbxutil$(EXEEXT): $(kbxutil_OBJECTS) $(kbxutil_DEPENDENCIES) $(EXTRA_kbxutil_DEPENDENCIES)
@rm -f kbxutil$(EXEEXT)
$(LINK) $(kbxutil_OBJECTS) $(kbxutil_LDADD) $(LIBS)
@@ -549,10 +578,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
diff --git a/kbx/kbxutil.c b/kbx/kbxutil.c
index 4592811..f0921b7 100644
--- a/kbx/kbxutil.c
+++ b/kbx/kbxutil.c
@@ -118,7 +118,7 @@ my_strusage( int level )
break;
case 41: p =
_("Syntax: kbxutil [options] [files]\n"
- "list, export, import Keybox data\n");
+ "List, export, import Keybox data\n");
break;
diff --git a/kbx/keybox-defs.h b/kbx/keybox-defs.h
index 626f3e5..728168d 100644
--- a/kbx/keybox-defs.h
+++ b/kbx/keybox-defs.h
@@ -54,7 +54,7 @@ typedef struct keyboxblob *KEYBOXBLOB;
typedef struct keybox_name *KB_NAME;
typedef struct keybox_name const *CONST_KB_NAME;
-struct keybox_name
+struct keybox_name
{
/* Link to the next resources, so that we can walk all
resources. */
@@ -70,7 +70,7 @@ struct keybox_name
entrues are set to NULL. HANDLE_TABLE may be NULL. */
KEYBOX_HANDLE *handle_table;
size_t handle_table_size;
-
+
/* Not yet used. */
int is_locked;
@@ -82,6 +82,14 @@ struct keybox_name
};
+struct keybox_found_s
+{
+ KEYBOXBLOB blob;
+ off_t offset;
+ size_t pk_no;
+ size_t uid_no;
+ unsigned int n_packets; /*used for delete and update*/
+};
struct keybox_handle {
CONST_KB_NAME kb;
@@ -89,14 +97,9 @@ struct keybox_handle {
FILE *fp;
int eof;
int error;
- int ephemeral;
- struct {
- KEYBOXBLOB blob;
- off_t offset;
- size_t pk_no;
- size_t uid_no;
- unsigned int n_packets; /*used for delete and update*/
- } found;
+ int ephemeral;
+ struct keybox_found_s found;
+ struct keybox_found_s saved_found;
struct {
char *name;
char *pattern;
@@ -215,7 +218,7 @@ void _keybox_free (void *p);
#define STR2(v) STR(v)
/*
- a couple of handy macros
+ a couple of handy macros
*/
#define return_if_fail(expr) do { \
diff --git a/kbx/keybox-init.c b/kbx/keybox-init.c
index e413864..53c1c50 100644
--- a/kbx/keybox-init.c
+++ b/kbx/keybox-init.c
@@ -148,6 +148,7 @@ keybox_release (KEYBOX_HANDLE hd)
hd->kb->handle_table[idx] = NULL;
}
_keybox_release_blob (hd->found.blob);
+ _keybox_release_blob (hd->saved_found.blob);
if (hd->fp)
{
fclose (hd->fp);
@@ -159,6 +160,35 @@ keybox_release (KEYBOX_HANDLE hd)
}
+/* Save the current found state in HD for later retrieval by
+ keybox_restore_found_state. Only one state may be saved. */
+void
+keybox_push_found_state (KEYBOX_HANDLE hd)
+{
+ if (hd->saved_found.blob)
+ {
+ _keybox_release_blob (hd->saved_found.blob);
+ hd->saved_found.blob = NULL;
+ }
+ hd->saved_found = hd->found;
+ hd->found.blob = NULL;
+}
+
+
+/* Restore the saved found state in HD. */
+void
+keybox_pop_found_state (KEYBOX_HANDLE hd)
+{
+ if (hd->found.blob)
+ {
+ _keybox_release_blob (hd->found.blob);
+ hd->found.blob = NULL;
+ }
+ hd->found = hd->saved_found;
+ hd->saved_found.blob = NULL;
+}
+
+
const char *
keybox_get_resource_name (KEYBOX_HANDLE hd)
{
diff --git a/kbx/keybox.h b/kbx/keybox.h
index 4330694..e0d8c53 100644
--- a/kbx/keybox.h
+++ b/kbx/keybox.h
@@ -68,6 +68,8 @@ int keybox_is_writable (void *token);
KEYBOX_HANDLE keybox_new (void *token, int secret);
void keybox_release (KEYBOX_HANDLE hd);
+void keybox_push_found_state (KEYBOX_HANDLE hd);
+void keybox_pop_found_state (KEYBOX_HANDLE hd);
const char *keybox_get_resource_name (KEYBOX_HANDLE hd);
int keybox_set_ephemeral (KEYBOX_HANDLE hd, int yes);