summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJinWang An <jinwang.an@samsung.com>2021-12-01 16:54:38 +0900
committerJinWang An <jinwang.an@samsung.com>2021-12-01 16:54:38 +0900
commit098220f633aae872d150caa28de0f8b0f6074827 (patch)
tree4b4437e62ac7b2524a14f7f16446dbacbd7771ac /src
parent5793c283c7ddc13e62a1eef6ecd38d7e996d6e3f (diff)
downloadgpgme-098220f633aae872d150caa28de0f8b0f6074827.tar.gz
gpgme-098220f633aae872d150caa28de0f8b0f6074827.tar.bz2
gpgme-098220f633aae872d150caa28de0f8b0f6074827.zip
Imported Upstream version 1.14.0upstream/1.14.0
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am7
-rw-r--r--src/Makefile.in473
-rw-r--r--src/context.h9
-rw-r--r--src/engine-assuan.c1
-rw-r--r--src/engine-backend.h1
-rw-r--r--src/engine-g13.c1
-rw-r--r--src/engine-gpg.c132
-rw-r--r--src/engine-gpgconf.c1
-rw-r--r--src/engine-gpgsm.c1
-rw-r--r--src/engine-spawn.c1
-rw-r--r--src/engine-uiserver.c1
-rw-r--r--src/engine.c7
-rw-r--r--src/export.c3
-rw-r--r--src/gpgme-json.c6
-rw-r--r--src/gpgme-tool.c2
-rw-r--r--src/gpgme.c24
-rw-r--r--src/gpgme.h.in64
-rw-r--r--src/key.c1
-rw-r--r--src/keylist.c11
-rw-r--r--src/posix-util.c69
-rw-r--r--src/verify.c2
-rw-r--r--src/w32-io.c2
-rw-r--r--src/w32-util.c5
23 files changed, 560 insertions, 264 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index d85a85c..1bbb538 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -102,7 +102,7 @@ endif
AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GLIB_CFLAGS@
gpgme_tool_SOURCES = gpgme-tool.c argparse.c argparse.h
-gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@
+gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@
gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h
gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS)
@@ -126,6 +126,7 @@ gpgme_res = versioninfo.lo
no_undefined = -no-undefined
export_symbols = -export-symbols $(srcdir)/gpgme.def
extra_ltoptions = -XCClinker -static-libgcc
+gpgme_w32_extra_libs = -lws2_32
install-def-file:
-$(INSTALL) -d $(DESTDIR)$(libdir)
@@ -152,7 +153,7 @@ libgpgme_la_LDFLAGS = $(no_undefined) $(export_symbols) $(extra_ltoptions) \
@LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
libgpgme_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers $(gpgme_deps)
libgpgme_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
- @GPG_ERROR_LIBS@
+ @GPG_ERROR_LIBS@ $(gpgme_w32_extra_libs)
if BUILD_W32_GLIB
libgpgme_glib_la_LDFLAGS = \
@@ -162,7 +163,7 @@ libgpgme_glib_la_LDFLAGS = \
libgpgme_glib_la_DEPENDENCIES = @LTLIBOBJS@ \
$(srcdir)/libgpgme.vers $(gpgme_deps)
libgpgme_glib_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
- @GPG_ERROR_LIBS@ @GLIB_LIBS@
+ @GPG_ERROR_LIBS@ @GLIB_LIBS@ $(gpgme_w32_extra_libs)
endif
install-data-local: install-def-file
diff --git a/src/Makefile.in b/src/Makefile.in
index beea485..f219399 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -134,6 +134,11 @@ CONFIG_HEADER = $(top_builddir)/conf/config.h
CONFIG_CLEAN_FILES = versioninfo.rc gpgme.pc gpgme-glib.pc gpgme.h \
gpgme-config
CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" \
+ "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+ "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(includedir)"
+PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -161,12 +166,9 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
- "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(bindir)" \
- "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)" \
- "$(DESTDIR)$(includedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
@HAVE_W32_SYSTEM_TRUE@am__DEPENDENCIES_1 = versioninfo.lo
+am__DEPENDENCIES_2 =
am__libgpgme_glib_la_SOURCES_DIST = util.h conversion.c b64dec.c \
get-env.c context.h ops.h parsetlv.c parsetlv.h mbox-util.c \
mbox-util.h data.h data.c data-fd.c data-stream.c data-mem.c \
@@ -235,10 +237,8 @@ libgpgme_la_OBJECTS = $(am_libgpgme_la_OBJECTS)
libgpgme_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libgpgme_la_LDFLAGS) $(LDFLAGS) -o $@
-PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
am_gpgme_json_OBJECTS = gpgme-json.$(OBJEXT) cJSON.$(OBJEXT)
gpgme_json_OBJECTS = $(am_gpgme_json_OBJECTS)
-am__DEPENDENCIES_2 =
gpgme_json_DEPENDENCIES = libgpgme.la $(am__DEPENDENCIES_2)
am_gpgme_tool_OBJECTS = gpgme-tool.$(OBJEXT) argparse.$(OBJEXT)
gpgme_tool_OBJECTS = $(am_gpgme_tool_OBJECTS)
@@ -261,7 +261,45 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = $(DEPDIR)/setenv.Plo $(DEPDIR)/stpcpy.Plo \
+ $(DEPDIR)/ttyname_r.Plo ./$(DEPDIR)/argparse.Po \
+ ./$(DEPDIR)/assuan-support.Plo ./$(DEPDIR)/ath.Plo \
+ ./$(DEPDIR)/b64dec.Plo ./$(DEPDIR)/cJSON.Po \
+ ./$(DEPDIR)/conversion.Plo ./$(DEPDIR)/data-compat.Plo \
+ ./$(DEPDIR)/data-estream.Plo ./$(DEPDIR)/data-fd.Plo \
+ ./$(DEPDIR)/data-identify.Plo ./$(DEPDIR)/data-mem.Plo \
+ ./$(DEPDIR)/data-stream.Plo ./$(DEPDIR)/data-user.Plo \
+ ./$(DEPDIR)/data.Plo ./$(DEPDIR)/debug.Plo \
+ ./$(DEPDIR)/decrypt-verify.Plo ./$(DEPDIR)/decrypt.Plo \
+ ./$(DEPDIR)/delete.Plo ./$(DEPDIR)/dirinfo.Plo \
+ ./$(DEPDIR)/edit.Plo ./$(DEPDIR)/encrypt-sign.Plo \
+ ./$(DEPDIR)/encrypt.Plo ./$(DEPDIR)/engine-assuan.Plo \
+ ./$(DEPDIR)/engine-g13.Plo ./$(DEPDIR)/engine-gpg.Plo \
+ ./$(DEPDIR)/engine-gpgconf.Plo ./$(DEPDIR)/engine-gpgsm.Plo \
+ ./$(DEPDIR)/engine-spawn.Plo ./$(DEPDIR)/engine-uiserver.Plo \
+ ./$(DEPDIR)/engine.Plo ./$(DEPDIR)/error.Plo \
+ ./$(DEPDIR)/export.Plo ./$(DEPDIR)/genkey.Plo \
+ ./$(DEPDIR)/get-env.Plo ./$(DEPDIR)/getauditlog.Plo \
+ ./$(DEPDIR)/gpgconf.Plo ./$(DEPDIR)/gpgme-json.Po \
+ ./$(DEPDIR)/gpgme-tool.Po ./$(DEPDIR)/gpgme-w32spawn.Po \
+ ./$(DEPDIR)/gpgme.Plo ./$(DEPDIR)/import.Plo \
+ ./$(DEPDIR)/key.Plo ./$(DEPDIR)/keylist.Plo \
+ ./$(DEPDIR)/keysign.Plo ./$(DEPDIR)/mbox-util.Plo \
+ ./$(DEPDIR)/op-support.Plo ./$(DEPDIR)/opassuan.Plo \
+ ./$(DEPDIR)/parsetlv.Plo ./$(DEPDIR)/passphrase.Plo \
+ ./$(DEPDIR)/passwd.Plo ./$(DEPDIR)/posix-io.Plo \
+ ./$(DEPDIR)/posix-util.Plo ./$(DEPDIR)/progress.Plo \
+ ./$(DEPDIR)/queryswdb.Plo ./$(DEPDIR)/sig-notation.Plo \
+ ./$(DEPDIR)/sign.Plo ./$(DEPDIR)/signers.Plo \
+ ./$(DEPDIR)/spawn.Plo ./$(DEPDIR)/status-table.Plo \
+ ./$(DEPDIR)/tofupolicy.Plo ./$(DEPDIR)/trust-item.Plo \
+ ./$(DEPDIR)/trustlist.Plo ./$(DEPDIR)/verify.Plo \
+ ./$(DEPDIR)/version.Plo ./$(DEPDIR)/vfs-create.Plo \
+ ./$(DEPDIR)/vfs-mount.Plo ./$(DEPDIR)/w32-glib-io.Plo \
+ ./$(DEPDIR)/w32-io.Plo ./$(DEPDIR)/w32-util.Plo \
+ ./$(DEPDIR)/wait-global.Plo ./$(DEPDIR)/wait-private.Plo \
+ ./$(DEPDIR)/wait-user.Plo ./$(DEPDIR)/wait.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -508,6 +546,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -575,7 +614,7 @@ libgpgme_la_SOURCES = $(main_sources) $(system_components_not_extra)
# versions, because then every object file is only compiled once.
AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GLIB_CFLAGS@
gpgme_tool_SOURCES = gpgme-tool.c argparse.c argparse.h
-gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@
+gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@
gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h
gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS)
@HAVE_W32_SYSTEM_TRUE@RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
@@ -589,6 +628,7 @@ gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS)
@HAVE_W32_SYSTEM_TRUE@export_symbols = -export-symbols $(srcdir)/gpgme.def
@HAVE_W32_SYSTEM_FALSE@extra_ltoptions =
@HAVE_W32_SYSTEM_TRUE@extra_ltoptions = -XCClinker -static-libgcc
+@HAVE_W32_SYSTEM_TRUE@gpgme_w32_extra_libs = -lws2_32
@HAVE_W32_SYSTEM_FALSE@gpgme_deps =
@HAVE_W32_SYSTEM_TRUE@gpgme_deps = $(gpgme_res) gpgme.def
libgpgme_la_LDFLAGS = $(no_undefined) $(export_symbols) $(extra_ltoptions) \
@@ -597,7 +637,7 @@ libgpgme_la_LDFLAGS = $(no_undefined) $(export_symbols) $(extra_ltoptions) \
libgpgme_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers $(gpgme_deps)
libgpgme_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
- @GPG_ERROR_LIBS@
+ @GPG_ERROR_LIBS@ $(gpgme_w32_extra_libs)
@BUILD_W32_GLIB_TRUE@libgpgme_glib_la_LDFLAGS = \
@BUILD_W32_GLIB_TRUE@ $(no_undefined) $(export_symbols) $(extra_ltoptions) \
@@ -608,7 +648,7 @@ libgpgme_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
@BUILD_W32_GLIB_TRUE@ $(srcdir)/libgpgme.vers $(gpgme_deps)
@BUILD_W32_GLIB_TRUE@libgpgme_glib_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
-@BUILD_W32_GLIB_TRUE@ @GPG_ERROR_LIBS@ @GLIB_LIBS@
+@BUILD_W32_GLIB_TRUE@ @GPG_ERROR_LIBS@ @GLIB_LIBS@ $(gpgme_w32_extra_libs)
all: all-am
@@ -631,8 +671,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -653,47 +693,6 @@ gpgme.h: $(top_builddir)/config.status $(srcdir)/gpgme.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
gpgme-config: $(top_builddir)/config.status $(srcdir)/gpgme-config.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-libgpgme-glib.la: $(libgpgme_glib_la_OBJECTS) $(libgpgme_glib_la_DEPENDENCIES) $(EXTRA_libgpgme_glib_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgpgme_glib_la_LINK) $(am_libgpgme_glib_la_rpath) $(libgpgme_glib_la_OBJECTS) $(libgpgme_glib_la_LIBADD) $(LIBS)
-
-libgpgme.la: $(libgpgme_la_OBJECTS) $(libgpgme_la_DEPENDENCIES) $(EXTRA_libgpgme_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgpgme_la_LINK) -rpath $(libdir) $(libgpgme_la_OBJECTS) $(libgpgme_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
@@ -793,6 +792,47 @@ clean-libexecPROGRAMS:
echo " rm -f" $$list; \
rm -f $$list
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libgpgme-glib.la: $(libgpgme_glib_la_OBJECTS) $(libgpgme_glib_la_DEPENDENCIES) $(EXTRA_libgpgme_glib_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgpgme_glib_la_LINK) $(am_libgpgme_glib_la_rpath) $(libgpgme_glib_la_OBJECTS) $(libgpgme_glib_la_LIBADD) $(LIBS)
+
+libgpgme.la: $(libgpgme_la_OBJECTS) $(libgpgme_la_DEPENDENCIES) $(EXTRA_libgpgme_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgpgme_la_LINK) -rpath $(libdir) $(libgpgme_la_OBJECTS) $(libgpgme_la_LIBADD) $(LIBS)
+
gpgme-json$(EXEEXT): $(gpgme_json_OBJECTS) $(gpgme_json_DEPENDENCIES) $(EXTRA_gpgme_json_DEPENDENCIES)
@rm -f gpgme-json$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gpgme_json_OBJECTS) $(gpgme_json_LDADD) $(LIBS)
@@ -846,82 +886,88 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setenv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stpcpy.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ttyname_r.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argparse.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assuan-support.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ath.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/b64dec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cJSON.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conversion.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-compat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-estream.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-fd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-identify.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-mem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-stream.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-user.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decrypt-verify.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decrypt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delete.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirinfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edit.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt-sign.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-assuan.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-g13.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpg.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpgconf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpgsm.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-spawn.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-uiserver.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/export.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genkey.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-env.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getauditlog.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgconf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-json.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-tool.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-w32spawn.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/import.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keylist.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keysign.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbox-util.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op-support.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opassuan.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parsetlv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passphrase.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix-io.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix-util.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progress.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queryswdb.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig-notation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sign.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signers.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/status-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tofupolicy.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trust-item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trustlist.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verify.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfs-create.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfs-mount.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-glib-io.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-io.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-util.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-global.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-private.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-user.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setenv.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stpcpy.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ttyname_r.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argparse.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assuan-support.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ath.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/b64dec.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cJSON.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conversion.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-compat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-estream.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-fd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-identify.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-mem.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-stream.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-user.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decrypt-verify.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decrypt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delete.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirinfo.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt-sign.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-assuan.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-g13.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpg.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpgconf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpgsm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-spawn.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-uiserver.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/export.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genkey.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-env.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getauditlog.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgconf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-json.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-tool.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-w32spawn.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/import.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keylist.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keysign.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbox-util.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op-support.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opassuan.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parsetlv.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passphrase.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix-io.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix-util.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progress.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queryswdb.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig-notation.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sign.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signers.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/status-table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tofupolicy.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trust-item.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trustlist.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verify.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfs-create.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfs-mount.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-glib-io.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-io.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-util.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-global.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-private.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-user.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1065,7 +1111,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -1097,12 +1146,12 @@ distdir: $(DISTFILES)
done
check-am: all-am
check: check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \
+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(SCRIPTS) $(DATA) \
$(HEADERS)
install-binPROGRAMS: install-libLTLIBRARIES
installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -1141,7 +1190,82 @@ clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
clean-libexecPROGRAMS clean-libtool mostlyclean-am
distclean: distclean-am
- -rm -rf $(DEPDIR) ./$(DEPDIR)
+ -rm -f $(DEPDIR)/setenv.Plo
+ -rm -f $(DEPDIR)/stpcpy.Plo
+ -rm -f $(DEPDIR)/ttyname_r.Plo
+ -rm -f ./$(DEPDIR)/argparse.Po
+ -rm -f ./$(DEPDIR)/assuan-support.Plo
+ -rm -f ./$(DEPDIR)/ath.Plo
+ -rm -f ./$(DEPDIR)/b64dec.Plo
+ -rm -f ./$(DEPDIR)/cJSON.Po
+ -rm -f ./$(DEPDIR)/conversion.Plo
+ -rm -f ./$(DEPDIR)/data-compat.Plo
+ -rm -f ./$(DEPDIR)/data-estream.Plo
+ -rm -f ./$(DEPDIR)/data-fd.Plo
+ -rm -f ./$(DEPDIR)/data-identify.Plo
+ -rm -f ./$(DEPDIR)/data-mem.Plo
+ -rm -f ./$(DEPDIR)/data-stream.Plo
+ -rm -f ./$(DEPDIR)/data-user.Plo
+ -rm -f ./$(DEPDIR)/data.Plo
+ -rm -f ./$(DEPDIR)/debug.Plo
+ -rm -f ./$(DEPDIR)/decrypt-verify.Plo
+ -rm -f ./$(DEPDIR)/decrypt.Plo
+ -rm -f ./$(DEPDIR)/delete.Plo
+ -rm -f ./$(DEPDIR)/dirinfo.Plo
+ -rm -f ./$(DEPDIR)/edit.Plo
+ -rm -f ./$(DEPDIR)/encrypt-sign.Plo
+ -rm -f ./$(DEPDIR)/encrypt.Plo
+ -rm -f ./$(DEPDIR)/engine-assuan.Plo
+ -rm -f ./$(DEPDIR)/engine-g13.Plo
+ -rm -f ./$(DEPDIR)/engine-gpg.Plo
+ -rm -f ./$(DEPDIR)/engine-gpgconf.Plo
+ -rm -f ./$(DEPDIR)/engine-gpgsm.Plo
+ -rm -f ./$(DEPDIR)/engine-spawn.Plo
+ -rm -f ./$(DEPDIR)/engine-uiserver.Plo
+ -rm -f ./$(DEPDIR)/engine.Plo
+ -rm -f ./$(DEPDIR)/error.Plo
+ -rm -f ./$(DEPDIR)/export.Plo
+ -rm -f ./$(DEPDIR)/genkey.Plo
+ -rm -f ./$(DEPDIR)/get-env.Plo
+ -rm -f ./$(DEPDIR)/getauditlog.Plo
+ -rm -f ./$(DEPDIR)/gpgconf.Plo
+ -rm -f ./$(DEPDIR)/gpgme-json.Po
+ -rm -f ./$(DEPDIR)/gpgme-tool.Po
+ -rm -f ./$(DEPDIR)/gpgme-w32spawn.Po
+ -rm -f ./$(DEPDIR)/gpgme.Plo
+ -rm -f ./$(DEPDIR)/import.Plo
+ -rm -f ./$(DEPDIR)/key.Plo
+ -rm -f ./$(DEPDIR)/keylist.Plo
+ -rm -f ./$(DEPDIR)/keysign.Plo
+ -rm -f ./$(DEPDIR)/mbox-util.Plo
+ -rm -f ./$(DEPDIR)/op-support.Plo
+ -rm -f ./$(DEPDIR)/opassuan.Plo
+ -rm -f ./$(DEPDIR)/parsetlv.Plo
+ -rm -f ./$(DEPDIR)/passphrase.Plo
+ -rm -f ./$(DEPDIR)/passwd.Plo
+ -rm -f ./$(DEPDIR)/posix-io.Plo
+ -rm -f ./$(DEPDIR)/posix-util.Plo
+ -rm -f ./$(DEPDIR)/progress.Plo
+ -rm -f ./$(DEPDIR)/queryswdb.Plo
+ -rm -f ./$(DEPDIR)/sig-notation.Plo
+ -rm -f ./$(DEPDIR)/sign.Plo
+ -rm -f ./$(DEPDIR)/signers.Plo
+ -rm -f ./$(DEPDIR)/spawn.Plo
+ -rm -f ./$(DEPDIR)/status-table.Plo
+ -rm -f ./$(DEPDIR)/tofupolicy.Plo
+ -rm -f ./$(DEPDIR)/trust-item.Plo
+ -rm -f ./$(DEPDIR)/trustlist.Plo
+ -rm -f ./$(DEPDIR)/verify.Plo
+ -rm -f ./$(DEPDIR)/version.Plo
+ -rm -f ./$(DEPDIR)/vfs-create.Plo
+ -rm -f ./$(DEPDIR)/vfs-mount.Plo
+ -rm -f ./$(DEPDIR)/w32-glib-io.Plo
+ -rm -f ./$(DEPDIR)/w32-io.Plo
+ -rm -f ./$(DEPDIR)/w32-util.Plo
+ -rm -f ./$(DEPDIR)/wait-global.Plo
+ -rm -f ./$(DEPDIR)/wait-private.Plo
+ -rm -f ./$(DEPDIR)/wait-user.Plo
+ -rm -f ./$(DEPDIR)/wait.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -1189,7 +1313,82 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf $(DEPDIR) ./$(DEPDIR)
+ -rm -f $(DEPDIR)/setenv.Plo
+ -rm -f $(DEPDIR)/stpcpy.Plo
+ -rm -f $(DEPDIR)/ttyname_r.Plo
+ -rm -f ./$(DEPDIR)/argparse.Po
+ -rm -f ./$(DEPDIR)/assuan-support.Plo
+ -rm -f ./$(DEPDIR)/ath.Plo
+ -rm -f ./$(DEPDIR)/b64dec.Plo
+ -rm -f ./$(DEPDIR)/cJSON.Po
+ -rm -f ./$(DEPDIR)/conversion.Plo
+ -rm -f ./$(DEPDIR)/data-compat.Plo
+ -rm -f ./$(DEPDIR)/data-estream.Plo
+ -rm -f ./$(DEPDIR)/data-fd.Plo
+ -rm -f ./$(DEPDIR)/data-identify.Plo
+ -rm -f ./$(DEPDIR)/data-mem.Plo
+ -rm -f ./$(DEPDIR)/data-stream.Plo
+ -rm -f ./$(DEPDIR)/data-user.Plo
+ -rm -f ./$(DEPDIR)/data.Plo
+ -rm -f ./$(DEPDIR)/debug.Plo
+ -rm -f ./$(DEPDIR)/decrypt-verify.Plo
+ -rm -f ./$(DEPDIR)/decrypt.Plo
+ -rm -f ./$(DEPDIR)/delete.Plo
+ -rm -f ./$(DEPDIR)/dirinfo.Plo
+ -rm -f ./$(DEPDIR)/edit.Plo
+ -rm -f ./$(DEPDIR)/encrypt-sign.Plo
+ -rm -f ./$(DEPDIR)/encrypt.Plo
+ -rm -f ./$(DEPDIR)/engine-assuan.Plo
+ -rm -f ./$(DEPDIR)/engine-g13.Plo
+ -rm -f ./$(DEPDIR)/engine-gpg.Plo
+ -rm -f ./$(DEPDIR)/engine-gpgconf.Plo
+ -rm -f ./$(DEPDIR)/engine-gpgsm.Plo
+ -rm -f ./$(DEPDIR)/engine-spawn.Plo
+ -rm -f ./$(DEPDIR)/engine-uiserver.Plo
+ -rm -f ./$(DEPDIR)/engine.Plo
+ -rm -f ./$(DEPDIR)/error.Plo
+ -rm -f ./$(DEPDIR)/export.Plo
+ -rm -f ./$(DEPDIR)/genkey.Plo
+ -rm -f ./$(DEPDIR)/get-env.Plo
+ -rm -f ./$(DEPDIR)/getauditlog.Plo
+ -rm -f ./$(DEPDIR)/gpgconf.Plo
+ -rm -f ./$(DEPDIR)/gpgme-json.Po
+ -rm -f ./$(DEPDIR)/gpgme-tool.Po
+ -rm -f ./$(DEPDIR)/gpgme-w32spawn.Po
+ -rm -f ./$(DEPDIR)/gpgme.Plo
+ -rm -f ./$(DEPDIR)/import.Plo
+ -rm -f ./$(DEPDIR)/key.Plo
+ -rm -f ./$(DEPDIR)/keylist.Plo
+ -rm -f ./$(DEPDIR)/keysign.Plo
+ -rm -f ./$(DEPDIR)/mbox-util.Plo
+ -rm -f ./$(DEPDIR)/op-support.Plo
+ -rm -f ./$(DEPDIR)/opassuan.Plo
+ -rm -f ./$(DEPDIR)/parsetlv.Plo
+ -rm -f ./$(DEPDIR)/passphrase.Plo
+ -rm -f ./$(DEPDIR)/passwd.Plo
+ -rm -f ./$(DEPDIR)/posix-io.Plo
+ -rm -f ./$(DEPDIR)/posix-util.Plo
+ -rm -f ./$(DEPDIR)/progress.Plo
+ -rm -f ./$(DEPDIR)/queryswdb.Plo
+ -rm -f ./$(DEPDIR)/sig-notation.Plo
+ -rm -f ./$(DEPDIR)/sign.Plo
+ -rm -f ./$(DEPDIR)/signers.Plo
+ -rm -f ./$(DEPDIR)/spawn.Plo
+ -rm -f ./$(DEPDIR)/status-table.Plo
+ -rm -f ./$(DEPDIR)/tofupolicy.Plo
+ -rm -f ./$(DEPDIR)/trust-item.Plo
+ -rm -f ./$(DEPDIR)/trustlist.Plo
+ -rm -f ./$(DEPDIR)/verify.Plo
+ -rm -f ./$(DEPDIR)/version.Plo
+ -rm -f ./$(DEPDIR)/vfs-create.Plo
+ -rm -f ./$(DEPDIR)/vfs-mount.Plo
+ -rm -f ./$(DEPDIR)/w32-glib-io.Plo
+ -rm -f ./$(DEPDIR)/w32-io.Plo
+ -rm -f ./$(DEPDIR)/w32-util.Plo
+ -rm -f ./$(DEPDIR)/wait-global.Plo
+ -rm -f ./$(DEPDIR)/wait-private.Plo
+ -rm -f ./$(DEPDIR)/wait-user.Plo
+ -rm -f ./$(DEPDIR)/wait.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -1213,7 +1412,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
clean-libexecPROGRAMS clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
diff --git a/src/context.h b/src/context.h
index d65bf9b..25dfc79 100644
--- a/src/context.h
+++ b/src/context.h
@@ -118,6 +118,12 @@ struct gpgme_context
* flag is cleared with each operation. */
unsigned int redraw_suggested : 1;
+ /* True if the option --include-key-block shall be passed to gpg. */
+ unsigned int include_key_block : 1;
+
+ /* True if the option --auto-key-import shall be passed to gpg. */
+ unsigned int auto_key_import : 1;
+
/* True if the option --auto-key-retrieve shall be passed to gpg. */
unsigned int auto_key_retrieve : 1;
@@ -128,6 +134,9 @@ struct gpgme_context
* after the operation. */
unsigned int ignore_mdc_error : 1;
+ /* Pass --expert to gpg edit key. */
+ unsigned int extended_edit : 1;
+
/* Flags for keylist mode. */
gpgme_keylist_mode_t keylist_mode;
diff --git a/src/engine-assuan.c b/src/engine-assuan.c
index 497397d..a40328f 100644
--- a/src/engine-assuan.c
+++ b/src/engine-assuan.c
@@ -826,7 +826,6 @@ struct engine_ops _gpgme_engine_ops_assuan =
NULL, /* keysign */
NULL, /* tofu_policy */
NULL, /* sign */
- NULL, /* trustlist */
NULL, /* verify */
NULL, /* getauditlog */
llass_transact, /* opassuan_transact */
diff --git a/src/engine-backend.h b/src/engine-backend.h
index 4f33da1..c8bfad9 100644
--- a/src/engine-backend.h
+++ b/src/engine-backend.h
@@ -115,7 +115,6 @@ struct engine_ops
gpgme_sig_mode_t mode, int use_armor,
int use_textmode, int include_certs,
gpgme_ctx_t ctx /* FIXME */);
- gpgme_error_t (*trustlist) (void *engine, const char *pattern);
gpgme_error_t (*verify) (void *engine, gpgme_data_t sig,
gpgme_data_t signed_text, gpgme_data_t plaintext,
gpgme_ctx_t ctx);
diff --git a/src/engine-g13.c b/src/engine-g13.c
index 19dd8f4..45f6c94 100644
--- a/src/engine-g13.c
+++ b/src/engine-g13.c
@@ -806,7 +806,6 @@ struct engine_ops _gpgme_engine_ops_g13 =
NULL, /* keysign */
NULL, /* tofu_policy */
NULL, /* sign */
- NULL, /* trustlist */
NULL, /* verify */
NULL, /* getauditlog */
g13_transact,
diff --git a/src/engine-gpg.c b/src/engine-gpg.c
index dc2d945..af2533d 100644
--- a/src/engine-gpg.c
+++ b/src/engine-gpg.c
@@ -148,6 +148,8 @@ struct engine_gpg
unsigned int no_symkey_cache : 1;
unsigned int offline : 1;
unsigned int ignore_mdc_error : 1;
+ unsigned int include_key_block : 1;
+ unsigned int auto_key_import : 1;
} flags;
/* NULL or the data object fed to --override_session_key-fd. */
@@ -686,6 +688,13 @@ gpg_set_engine_flags (void *engine, const gpgme_ctx_t ctx)
gpg->flags.ignore_mdc_error = !!ctx->ignore_mdc_error;
+ if (have_gpg_version (gpg, "2.2.20"))
+ {
+ if (ctx->auto_key_import)
+ gpg->flags.auto_key_import = 1;
+ if (ctx->include_key_block)
+ gpg->flags.include_key_block = 1;
+ }
}
@@ -860,7 +869,7 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
gpgme_error_t err;
struct arg_and_data_s *a;
struct fd_data_map_s *fd_data_map;
- size_t datac=0, argc=0;
+ size_t datac=0, argc=0, allocated_argc=0;
char **argv;
int need_special = 0;
int use_agent = 0;
@@ -908,18 +917,33 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
/* fprintf (stderr, "build_argv: arg=`%s'\n", a->arg );*/
}
}
+
if (need_special)
argc++;
if (use_agent)
argc++;
+ if (*gpg->request_origin)
+ argc++;
+ if (gpg->auto_key_locate)
+ argc++;
+ if (gpg->trust_model)
+ argc++;
+ if (gpg->flags.no_symkey_cache)
+ argc++;
+ if (gpg->flags.ignore_mdc_error)
+ argc++;
+ if (gpg->flags.offline)
+ argc++;
if (gpg->pinentry_mode)
argc++;
if (!gpg->cmd.used)
- argc++; /* --batch */
- argc += 4; /* --no-sk-comments, --request-origin, --no-symkey-cache */
- /* --disable-dirmngr */
+ argc++; /* --batch */
+
+ argc++; /* --no-sk-comments */
argv = calloc (argc + 1, sizeof *argv);
+ allocated_argc = argc;
+
if (!argv)
return gpg_error_from_syserror ();
fd_data_map = calloc (datac + 1, sizeof *fd_data_map);
@@ -964,6 +988,8 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
}
argc++;
}
+ /* NOTE: If you add a new argument here. Ensure that
+ argc is counted up above to allocate enough memory. */
if (*gpg->request_origin)
{
@@ -1191,6 +1217,11 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
argc++;
}
}
+ /* Saveguard against adding a new argument without properly
+ counting up the argc used for allocation at the beginning
+ of this function. It would be better to use a dynamically
+ allocated array like ccparray in gnupg. */
+ assert (argc <= allocated_argc);
gpg->argv = argv;
gpg->fd_data_map = fd_data_map;
@@ -1681,6 +1712,9 @@ gpg_decrypt (void *engine,
if (!err && auto_key_retrieve)
err = add_arg (gpg, "--auto-key-retrieve");
+ if (!err && gpg->flags.auto_key_import)
+ err = add_arg (gpg, "--auto-key-import");
+
if (!err && override_session_key && *override_session_key)
{
if (have_gpg_version (gpg, "2.1.16"))
@@ -1695,12 +1729,15 @@ gpg_decrypt (void *engine,
strlen (override_session_key), 1);
if (!err)
{
- /* We add --no-keyring because a keyring is not required
- * when we are overriding the session key. It would
+ /* When we are not trying to verify signatures as well,
+ * we add --no-keyring because a keyring is not required
+ * for decryption when overriding the session key. It would
* work without that option but --no-keyring avoids that
* gpg return a failure due to a missing key log_error()
* diagnostic. --no-keyring is supported since 2.1.14. */
- err = add_arg (gpg, "--no-keyring");
+
+ if (!(flags & GPGME_DECRYPT_VERIFY))
+ err = add_arg (gpg, "--no-keyring");
if (!err)
err = add_arg (gpg, "--override-session-key-fd");
if (!err)
@@ -1826,8 +1863,13 @@ append_args_from_sender (engine_gpg_t gpg, gpgme_ctx_t ctx)
}
+#define NOTATION_FLAG_SIG 1 /* Use --sig-notation (default)*/
+#define NOTATION_FLAG_CERT 2 /* Use --cert-notation */
+#define NOTATION_FLAG_SET 3 /* Use --set-notation */
+
static gpgme_error_t
-append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */)
+append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */,
+ int flags)
{
gpgme_error_t err = 0;
gpgme_sig_notation_t notation;
@@ -1868,7 +1910,14 @@ append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */)
}
if (!err)
- err = add_arg (gpg, "--sig-notation");
+ {
+ if ((flags & NOTATION_FLAG_SET))
+ err = add_arg (gpg, "--set-notation");
+ else if ((flags & NOTATION_FLAG_CERT))
+ err = add_arg (gpg, "--cert-notation");
+ else
+ err = add_arg (gpg, "--sig-notation");
+ }
if (!err)
err = add_arg (gpg, arg);
@@ -1919,10 +1968,15 @@ gpg_edit (void *engine, int type, gpgme_key_t key, gpgme_data_t out,
gpgme_error_t err;
err = add_arg (gpg, "--with-colons");
+
+ if (!err && ctx->extended_edit)
+ err = add_arg (gpg, "--expert");
if (!err)
err = append_args_from_signers (gpg, ctx);
if (!err)
- err = add_arg (gpg, type == 0 ? "--edit-key" : "--card-edit");
+ err = append_args_from_sig_notations (gpg, ctx, NOTATION_FLAG_CERT);
+ if (!err)
+ err = add_arg (gpg, type == 0 ? "--edit-key" : "--card-edit");
if (!err)
err = add_data (gpg, out, 1, 1);
if (!err)
@@ -2134,6 +2188,9 @@ gpg_encrypt (void *engine, gpgme_key_t recp[], const char *recpstring,
&& have_gpg_version (gpg, "2.1.14"))
err = add_arg (gpg, "--mimemode");
+ if (!err && gpg->flags.include_key_block)
+ err = add_arg (gpg, "--include-key-block");
+
if (recp || recpstring)
{
/* If we know that all recipients are valid (full or ultimate trust)
@@ -2209,6 +2266,9 @@ gpg_encrypt_sign (void *engine, gpgme_key_t recp[],
&& have_gpg_version (gpg, "2.1.14"))
err = add_arg (gpg, "--mimemode");
+ if (!err && gpg->flags.include_key_block)
+ err = add_arg (gpg, "--include-key-block");
+
if (recp || recpstring)
{
/* If we know that all recipients are valid (full or ultimate trust)
@@ -2232,7 +2292,7 @@ gpg_encrypt_sign (void *engine, gpgme_key_t recp[],
err = append_args_from_sender (gpg, ctx);
if (!err)
- err = append_args_from_sig_notations (gpg, ctx);
+ err = append_args_from_sig_notations (gpg, ctx, NOTATION_FLAG_SIG);
/* Tell the gpg object about the data. */
if (!err)
@@ -2270,6 +2330,7 @@ export_common (engine_gpg_t gpg, gpgme_export_mode_t mode,
if ((mode & ~(GPGME_EXPORT_MODE_EXTERN
|GPGME_EXPORT_MODE_MINIMAL
+ |GPGME_EXPORT_MODE_SSH
|GPGME_EXPORT_MODE_SECRET)))
return gpg_error (GPG_ERR_NOT_SUPPORTED);
@@ -2285,6 +2346,15 @@ export_common (engine_gpg_t gpg, gpgme_export_mode_t mode,
if (err)
;
+ else if ((mode & GPGME_EXPORT_MODE_SSH))
+ {
+ if (have_gpg_version (gpg, "2.1.11"))
+ err = add_arg (gpg, "--export-ssh-key");
+ else
+ err = gpg_error (GPG_ERR_NOT_SUPPORTED);
+ if (!err)
+ err = add_data (gpg, keydata, 1, 1);
+ }
else if ((mode & GPGME_EXPORT_MODE_EXTERN))
{
err = add_arg (gpg, "--send-keys");
@@ -2937,7 +3007,15 @@ gpg_keylist_build_options (engine_gpg_t gpg, int secret_only,
err = add_arg (gpg, "--with-tofu-info");
if (!err && (mode & GPGME_KEYLIST_MODE_WITH_SECRET))
- err = add_arg (gpg, "--with-secret");
+ {
+ err = add_arg (gpg, "--with-secret");
+ err = add_arg (gpg, "--with-keygrip");
+ }
+ else if (!err && (mode & GPGME_KEYLIST_MODE_WITH_KEYGRIP))
+ {
+ /* Explicitly requests the keygrip. */
+ err = add_arg (gpg, "--with-keygrip");
+ }
if (!err
&& (mode & GPGME_KEYLIST_MODE_SIGS)
@@ -3201,12 +3279,14 @@ gpg_sign (void *engine, gpgme_data_t in, gpgme_data_t out,
}
}
+ if (!err && gpg->flags.include_key_block)
+ err = add_arg (gpg, "--include-key-block");
if (!err)
err = append_args_from_signers (gpg, ctx);
if (!err)
err = append_args_from_sender (gpg, ctx);
if (!err)
- err = append_args_from_sig_notations (gpg, ctx);
+ err = append_args_from_sig_notations (gpg, ctx, NOTATION_FLAG_SIG);
if (gpgme_data_get_file_name (in))
{
@@ -3233,29 +3313,6 @@ gpg_sign (void *engine, gpgme_data_t in, gpgme_data_t out,
}
static gpgme_error_t
-gpg_trustlist (void *engine, const char *pattern)
-{
- engine_gpg_t gpg = engine;
- gpgme_error_t err;
-
- err = add_arg (gpg, "--with-colons");
- if (!err)
- err = add_arg (gpg, "--list-trust-path");
-
- /* Tell the gpg object about the data. */
- if (!err)
- err = add_arg (gpg, "--");
- if (!err)
- err = add_arg (gpg, pattern);
-
- if (!err)
- err = start (gpg);
-
- return err;
-}
-
-
-static gpgme_error_t
gpg_verify (void *engine, gpgme_data_t sig, gpgme_data_t signed_text,
gpgme_data_t plaintext, gpgme_ctx_t ctx)
{
@@ -3263,6 +3320,8 @@ gpg_verify (void *engine, gpgme_data_t sig, gpgme_data_t signed_text,
gpgme_error_t err;
err = append_args_from_sender (gpg, ctx);
+ if (!err && gpg->flags.auto_key_import)
+ err = add_arg (gpg, "--auto-key-import");
if (!err && ctx->auto_key_retrieve)
err = add_arg (gpg, "--auto-key-retrieve");
@@ -3403,7 +3462,6 @@ struct engine_ops _gpgme_engine_ops_gpg =
gpg_keysign,
gpg_tofu_policy, /* tofu_policy */
gpg_sign,
- gpg_trustlist,
gpg_verify,
gpg_getauditlog,
NULL, /* opassuan_transact */
diff --git a/src/engine-gpgconf.c b/src/engine-gpgconf.c
index 303ba64..d4465e9 100644
--- a/src/engine-gpgconf.c
+++ b/src/engine-gpgconf.c
@@ -1304,7 +1304,6 @@ struct engine_ops _gpgme_engine_ops_gpgconf =
NULL, /* keysign */
NULL, /* tofu_policy */
NULL, /* sign */
- NULL, /* trustlist */
NULL, /* verify */
NULL, /* getauditlog */
NULL, /* opassuan_transact */
diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c
index ae5d8ef..671b385 100644
--- a/src/engine-gpgsm.c
+++ b/src/engine-gpgsm.c
@@ -2324,7 +2324,6 @@ struct engine_ops _gpgme_engine_ops_gpgsm =
NULL, /* keysign */
NULL, /* tofu_policy */
gpgsm_sign,
- NULL, /* trustlist */
gpgsm_verify,
gpgsm_getauditlog,
NULL, /* opassuan_transact */
diff --git a/src/engine-spawn.c b/src/engine-spawn.c
index 296d7f2..0eeaeb1 100644
--- a/src/engine-spawn.c
+++ b/src/engine-spawn.c
@@ -466,7 +466,6 @@ struct engine_ops _gpgme_engine_ops_spawn =
NULL, /* keysign */
NULL, /* tofu_policy */
NULL, /* sign */
- NULL, /* trustlist */
NULL, /* verify */
NULL, /* getauditlog */
NULL, /* opassuan_transact */
diff --git a/src/engine-uiserver.c b/src/engine-uiserver.c
index cb8e155..c908ad7 100644
--- a/src/engine-uiserver.c
+++ b/src/engine-uiserver.c
@@ -1437,7 +1437,6 @@ struct engine_ops _gpgme_engine_ops_uiserver =
NULL, /* keysign */
NULL, /* tofu_policy */
uiserver_sign,
- NULL, /* trustlist */
uiserver_verify,
NULL, /* getauditlog */
NULL, /* opassuan_transact */
diff --git a/src/engine.c b/src/engine.c
index 05979c1..ded2f4d 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -917,13 +917,12 @@ _gpgme_engine_op_sign (engine_t engine, gpgme_data_t in, gpgme_data_t out,
gpgme_error_t
_gpgme_engine_op_trustlist (engine_t engine, const char *pattern)
{
+ (void)pattern;
+
if (!engine)
return gpg_error (GPG_ERR_INV_VALUE);
- if (!engine->ops->trustlist)
- return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
-
- return (*engine->ops->trustlist) (engine->engine, pattern);
+ return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
}
diff --git a/src/export.c b/src/export.c
index abf260a..7e394df 100644
--- a/src/export.c
+++ b/src/export.c
@@ -123,6 +123,7 @@ export_start (gpgme_ctx_t ctx, int synchronous, const char *pattern,
if ((mode & ~(GPGME_EXPORT_MODE_EXTERN
|GPGME_EXPORT_MODE_MINIMAL
|GPGME_EXPORT_MODE_SECRET
+ |GPGME_EXPORT_MODE_SSH
|GPGME_EXPORT_MODE_RAW
|GPGME_EXPORT_MODE_NOUID
|GPGME_EXPORT_MODE_PKCS12)))
@@ -218,6 +219,7 @@ export_ext_start (gpgme_ctx_t ctx, int synchronous, const char *pattern[],
if ((mode & ~(GPGME_EXPORT_MODE_EXTERN
|GPGME_EXPORT_MODE_MINIMAL
|GPGME_EXPORT_MODE_SECRET
+ |GPGME_EXPORT_MODE_SSH
|GPGME_EXPORT_MODE_RAW
|GPGME_EXPORT_MODE_PKCS12)))
return gpg_error (GPG_ERR_INV_VALUE); /* Invalid flags in MODE. */
@@ -478,4 +480,3 @@ gpgme_op_export_keys (gpgme_ctx_t ctx,
return TRACE_ERR (err);
}
-
diff --git a/src/gpgme-json.c b/src/gpgme-json.c
index 7957659..bcaa1fc 100644
--- a/src/gpgme-json.c
+++ b/src/gpgme-json.c
@@ -2298,6 +2298,7 @@ static const char hlp_keylist[] =
"sigs: Add KEYLIST_MODE_SIGS.\n"
"notations: Add KEYLIST_MODE_SIG_NOTATIONS.\n"
"tofu: Add KEYLIST_MODE_WITH_TOFU.\n"
+ "keygrip: Add KEYLIST_MODE_WITH_KEYGRIP.\n"
"ephemeral: Add KEYLIST_MODE_EPHEMERAL.\n"
"validate: Add KEYLIST_MODE_VALIDATE.\n"
"locate: Add KEYLIST_MODE_LOCATE.\n"
@@ -2463,6 +2464,11 @@ op_keylist (cjson_t request, cjson_t result)
if (abool)
mode |= GPGME_KEYLIST_MODE_WITH_TOFU;
+ if ((err = get_boolean_flag (request, "keygrip", 0, &abool)))
+ goto leave;
+ if (abool)
+ mode |= GPGME_KEYLIST_MODE_WITH_KEYGRIP;
+
if ((err = get_boolean_flag (request, "ephemeral", 0, &abool)))
goto leave;
if (abool)
diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c
index 7a0bfcb..0dbc4a9 100644
--- a/src/gpgme-tool.c
+++ b/src/gpgme-tool.c
@@ -2149,7 +2149,7 @@ static const char hlp_include_certs[] =
"\n"
"With DEFAULT or N, set how many certificates should be\n"
"included in the next S/MIME signed message. See the\n"
- "GPGME documentation for details on the meaning of"
+ "GPGME documentation for details on the meaning of\n"
"various N. Without either, return the current setting.";
static gpg_error_t
cmd_include_certs (assuan_context_t ctx, char *line)
diff --git a/src/gpgme.c b/src/gpgme.c
index 65a2e30..8bc11d5 100644
--- a/src/gpgme.c
+++ b/src/gpgme.c
@@ -533,6 +533,14 @@ gpgme_set_ctx_flag (gpgme_ctx_t ctx, const char *name, const char *value)
if (!ctx->override_session_key)
err = gpg_error_from_syserror ();
}
+ else if (!strcmp (name, "include-key-block"))
+ {
+ ctx->include_key_block = abool;
+ }
+ else if (!strcmp (name, "auto-key-import"))
+ {
+ ctx->auto_key_import = abool;
+ }
else if (!strcmp (name, "auto-key-retrieve"))
{
ctx->auto_key_retrieve = abool;
@@ -566,6 +574,10 @@ gpgme_set_ctx_flag (gpgme_ctx_t ctx, const char *name, const char *value)
if (!ctx->trust_model)
err = gpg_error_from_syserror ();
}
+ else if (!strcmp (name, "extended-edit"))
+ {
+ ctx->extended_edit = abool;
+ }
else
err = gpg_error (GPG_ERR_UNKNOWN_NAME);
@@ -603,6 +615,14 @@ gpgme_get_ctx_flag (gpgme_ctx_t ctx, const char *name)
{
return ctx->override_session_key? ctx->override_session_key : "";
}
+ else if (!strcmp (name, "include-key-block"))
+ {
+ return ctx->include_key_block? "1":"";
+ }
+ else if (!strcmp (name, "auto-key-import"))
+ {
+ return ctx->auto_key_import? "1":"";
+ }
else if (!strcmp (name, "auto-key-retrieve"))
{
return ctx->auto_key_retrieve? "1":"";
@@ -623,6 +643,10 @@ gpgme_get_ctx_flag (gpgme_ctx_t ctx, const char *name)
{
return ctx->auto_key_locate? ctx->auto_key_locate : "";
}
+ else if (!strcmp (name, "extended-edit"))
+ {
+ return ctx->extended_edit ? "1":"";
+ }
else
return NULL;
}
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index 722ce68..b4f817b 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -313,7 +313,7 @@ typedef enum
gpgme_sig_mode_t;
-/* The available validities for a trust item or key. */
+/* The available validities for a key. */
typedef enum
{
GPGME_VALIDITY_UNKNOWN = 0,
@@ -379,6 +379,7 @@ gpgme_protocol_t;
#define GPGME_KEYLIST_MODE_SIG_NOTATIONS 8
#define GPGME_KEYLIST_MODE_WITH_SECRET 16
#define GPGME_KEYLIST_MODE_WITH_TOFU 32
+#define GPGME_KEYLIST_MODE_WITH_KEYGRIP 64
#define GPGME_KEYLIST_MODE_EPHEMERAL 128
#define GPGME_KEYLIST_MODE_VALIDATE 256
@@ -406,6 +407,7 @@ gpgme_pinentry_mode_t;
#define GPGME_EXPORT_MODE_RAW 32
#define GPGME_EXPORT_MODE_PKCS12 64
#define GPGME_EXPORT_MODE_NOUID 128 /* Experimental(!)*/
+#define GPGME_EXPORT_MODE_SSH 256
typedef unsigned int gpgme_export_mode_t;
@@ -600,7 +602,7 @@ struct _gpgme_subkey
/* The name of the curve for ECC algorithms or NULL. */
char *curve;
- /* The keygrip of the subkey in hex digit form or NULL if not availabale. */
+ /* The keygrip of the subkey in hex digit form or NULL if not available. */
char *keygrip;
};
typedef struct _gpgme_subkey *gpgme_subkey_t;
@@ -728,6 +730,9 @@ struct _gpgme_user_id
/* Time of the last refresh of this user id. 0 if unknown. */
unsigned long last_update;
+
+ /* The string to exactly identify a userid. Might be NULL. */
+ char *uidhash;
};
typedef struct _gpgme_user_id *gpgme_user_id_t;
@@ -1050,7 +1055,7 @@ typedef enum
GPGME_EVENT_START,
GPGME_EVENT_DONE,
GPGME_EVENT_NEXT_KEY,
- GPGME_EVENT_NEXT_TRUSTITEM
+ GPGME_EVENT_NEXT_TRUSTITEM /* NOT USED. */
}
gpgme_event_io_t;
@@ -1998,63 +2003,32 @@ gpgme_error_t gpgme_op_passwd (gpgme_ctx_t ctx, gpgme_key_t key,
/*
- * Trust items and operations.
+ * Trust items and operations. DO NOT USE.
+ * Note: This does not work because the experimental support in the
+ * GnuPG engine has been removed a very long time; for API and ABI
+ * compatibilty we keep the functions but let them return an error.
+ * See https://dev.gnupg.org/T4834
*/
-
-/* An object to hold data of a trust item.
- * This structure shall be considered read-only and an application
- * must not allocate such a structure on its own. */
struct _gpgme_trust_item
{
- /* Internal to GPGME, do not use. */
unsigned int _refs;
-
- /* The key ID to which the trust item belongs. */
char *keyid;
-
- /* Internal to GPGME, do not use. */
char _keyid[16 + 1];
-
- /* The type of the trust item, 1 refers to a key, 2 to a user ID. */
int type;
-
- /* The trust level. */
int level;
-
- /* The owner trust if TYPE is 1. */
char *owner_trust;
-
- /* Internal to GPGME, do not use. */
char _owner_trust[2];
-
- /* The calculated validity. */
char *validity;
-
- /* Internal to GPGME, do not use. */
char _validity[2];
-
- /* The user name if TYPE is 2. */
char *name;
};
typedef struct _gpgme_trust_item *gpgme_trust_item_t;
-
-/* Start a trustlist operation within CTX, searching for trust items
- which match PATTERN. */
gpgme_error_t gpgme_op_trustlist_start (gpgme_ctx_t ctx,
const char *pattern, int max_level);
-
-/* Return the next trust item from the trustlist in R_ITEM. */
gpgme_error_t gpgme_op_trustlist_next (gpgme_ctx_t ctx,
gpgme_trust_item_t *r_item);
-
-/* Terminate a pending trustlist operation within CTX. */
gpgme_error_t gpgme_op_trustlist_end (gpgme_ctx_t ctx);
-
-/* Acquire a reference to ITEM. */
void gpgme_trust_item_ref (gpgme_trust_item_t item);
-
-/* Release a reference to ITEM. If this was the last one the trust
- * item is destroyed. */
void gpgme_trust_item_unref (gpgme_trust_item_t item);
@@ -2736,22 +2710,16 @@ unsigned long gpgme_key_sig_get_ulong_attr (gpgme_key_t key, int uid_idx,
gpgme_error_t gpgme_op_import_ext (gpgme_ctx_t ctx, gpgme_data_t keydata,
int *nr) _GPGME_DEPRECATED(0,4);
-/* Release the trust item ITEM. Deprecated, use
- * gpgme_trust_item_unref. */
+/* DO NOT USE. */
void gpgme_trust_item_release (gpgme_trust_item_t item) _GPGME_DEPRECATED(0,4);
-/* Return the value of the attribute WHAT of ITEM, which has to be
- * representable by a string. Deprecated, use trust item structure
- * directly. */
+/* DO NOT USE. */
const char *gpgme_trust_item_get_string_attr (gpgme_trust_item_t item,
_gpgme_attr_t what,
const void *reserved, int idx)
_GPGME_DEPRECATED(0,4);
-/* Return the value of the attribute WHAT of KEY, which has to be
- * representable by an integer. IDX specifies a running index if the
- * attribute appears more than once in the key. Deprecated, use trust
- * item structure directly. */
+/* DO NOT USE. */
int gpgme_trust_item_get_int_attr (gpgme_trust_item_t item, _gpgme_attr_t what,
const void *reserved, int idx)
_GPGME_DEPRECATED(0,4);
diff --git a/src/key.c b/src/key.c
index e5dbdcb..e4b8577 100644
--- a/src/key.c
+++ b/src/key.c
@@ -385,6 +385,7 @@ gpgme_key_unref (gpgme_key_t key)
}
free (uid->address);
+ free (uid->uidhash);
free (uid);
uid = next_uid;
}
diff --git a/src/keylist.c b/src/keylist.c
index cdb115f..a4de3ad 100644
--- a/src/keylist.c
+++ b/src/keylist.c
@@ -621,8 +621,9 @@ keylist_colon_handler (void *priv, char *line)
/* Only look at signature and trust info records immediately
following a user ID. For this, clear the user ID pointer when
- encountering anything but a signature or trust record. */
- if (rectype != RT_SIG && rectype != RT_REV && rectype != RT_TFS)
+ encountering anything but a signature, trust record or subpacket. */
+ if (rectype != RT_SIG && rectype != RT_REV && rectype != RT_TFS &&
+ rectype != RT_SPK)
opd->tmp_uid = NULL;
/* Only look at subpackets immediately following a signature. For
@@ -830,6 +831,12 @@ keylist_colon_handler (void *priv, char *line)
if (field[1])
set_userid_flags (key, field[1]);
+ if (field[7] && *field[7])
+ {
+ gpgme_user_id_t uid = key->_last_uid;
+ assert (uid);
+ uid->uidhash = strdup (field[7]);
+ }
opd->tmp_uid = key->_last_uid;
if (fields >= 20)
{
diff --git a/src/posix-util.c b/src/posix-util.c
index 5c4f339..cf066d6 100644
--- a/src/posix-util.c
+++ b/src/posix-util.c
@@ -79,27 +79,18 @@ _gpgme_set_override_inst_dir (const char *dir)
return 0;
}
-
-/* Find an executable program PGM along the envvar PATH. */
+/* Find an executable program in the colon seperated paths. */
static char *
-walk_path (const char *pgm)
+walk_path_str (const char *path_str, const char *pgm)
{
- const char *orig_path, *path, *s;
+ const char *path, *s;
char *fname, *p;
-#ifdef FIXED_SEARCH_PATH
- orig_path = FIXED_SEARCH_PATH;
-#else
- orig_path = getenv ("PATH");
- if (!orig_path)
- orig_path = "/bin:/usr/bin";
-#endif
-
- fname = malloc (strlen (orig_path) + 1 + strlen (pgm) + 1);
+ fname = malloc (strlen (path_str) + 1 + strlen (pgm) + 1);
if (!fname)
return NULL;
- path = orig_path;
+ path = path_str;
for (;;)
{
for (s=path, p=fname; *s && *s != ':'; s++, p++)
@@ -114,14 +105,52 @@ walk_path (const char *pgm)
path = s + 1;
}
- _gpgme_debug (NULL, DEBUG_ENGINE, -1, NULL, NULL, NULL,
- "gpgme-walk_path: '%s' not found in '%s'",
- pgm, orig_path);
-
free (fname);
return NULL;
}
+/* Find an executable program PGM. */
+static char *
+find_executable (const char *pgm)
+{
+ const char *orig_path;
+ char *ret;
+
+#ifdef FIXED_SEARCH_PATH
+ orig_path = FIXED_SEARCH_PATH;
+#else
+ orig_path = getenv ("PATH");
+ if (!orig_path)
+ orig_path = "/bin:/usr/bin";
+#endif
+ ret = walk_path_str (orig_path, pgm);
+
+ if (!ret)
+ {
+ _gpgme_debug (NULL, DEBUG_ENGINE, -1, NULL, NULL, NULL,
+ "gpgme-walk_path: '%s' not found in '%s'",
+ pgm, orig_path);
+ }
+#ifdef __APPLE__
+ /* On apple, especially when started through gpgme-json via
+ the browser interface we should look into some additional
+ fallback paths. */
+ const char *additional_path = "/usr/local/bin:/usr/local/MacGPG2/bin";
+ if (!ret)
+ {
+ ret = walk_path_str (additional_path, pgm);
+ }
+ if (!ret)
+ {
+ _gpgme_debug (NULL, DEBUG_ENGINE, -1, NULL, NULL, NULL,
+ "gpgme-walk_path: '%s' not found in '%s'",
+ pgm, additional_path);
+ }
+#endif
+
+ return ret;
+}
+
/* Return the full file name of the GPG binary. This function is used
if gpgconf was not found and thus it can be assumed that gpg2 is
@@ -130,7 +159,7 @@ walk_path (const char *pgm)
char *
_gpgme_get_gpg_path (void)
{
- return walk_path (default_gpg_name? default_gpg_name : "gpg");
+ return find_executable (default_gpg_name? default_gpg_name : "gpg");
}
@@ -139,7 +168,7 @@ _gpgme_get_gpg_path (void)
char *
_gpgme_get_gpgconf_path (void)
{
- return walk_path (default_gpgconf_name? default_gpgconf_name : "gpgconf");
+ return find_executable (default_gpgconf_name? default_gpgconf_name : "gpgconf");
}
/* See w32-util.c */
diff --git a/src/verify.c b/src/verify.c
index 8aa9d28..81b2ff9 100644
--- a/src/verify.c
+++ b/src/verify.c
@@ -663,7 +663,7 @@ parse_trust (gpgme_signature_t sig, gpgme_status_code_t code, char *args)
{
while (*args == ' ')
args++;
- if (!strncmp (args, "chain", 2) && (args[2] == ' ' || !args[2]))
+ if (!strncmp (args, "chain", 5) && (args[5] == ' ' || !args[5]))
sig->chain_model = 1;
}
}
diff --git a/src/w32-io.c b/src/w32-io.c
index c5c21f5..80978f9 100644
--- a/src/w32-io.c
+++ b/src/w32-io.c
@@ -1643,7 +1643,7 @@ _gpgme_io_select (struct io_select_fd_s *fds, size_t nfds, int nonblock)
int i;
int any;
int count;
- void *dbg_help;
+ void *dbg_help = NULL;
TRACE_BEG (DEBUG_SYSIO, "_gpgme_io_select", fds,
"nfds=%u, nonblock=%u", nfds, nonblock);
diff --git a/src/w32-util.c b/src/w32-util.c
index 8207676..2631ae7 100644
--- a/src/w32-util.c
+++ b/src/w32-util.c
@@ -308,10 +308,11 @@ _gpgme_w32_cancel_synchronous_io (HANDLE thread)
if (func)
{
- if (!func (thread) && GetLastError() != ERROR_NOT_FOUND)
+ if (!func ((DWORD)thread) && GetLastError() != ERROR_NOT_FOUND)
{
TRACE (DEBUG_ENGINE, "gpgme:CancelSynchronousIo", NULL,
- "called for thread %p: ec=%d", thread, GetLastError ());
+ "called for thread %p: ec=%u",
+ thread, (unsigned int)GetLastError ());
}
}
else