aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gpg-wks.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-06-29 10:00:22 +0000
committerWerner Koch <[email protected]>2016-06-29 10:04:11 +0000
commit5d6c83deaa11327366b0038928200b9f9f85b426 (patch)
treeeb9ea558716455ebea601d56abe18077be387be5 /tools/gpg-wks.h
parentbuild: Improve GNUPG_BUILD_PROGRAM macro. (diff)
downloadgnupg-5d6c83deaa11327366b0038928200b9f9f85b426.tar.gz
gnupg-5d6c83deaa11327366b0038928200b9f9f85b426.zip
tools: Add gpg-wks-client and gpg-wks-server.
* configure.ac: Add option --enable-wks-tools * tools/gpg-wks-client.c: New. * tools/gpg-wks-server.c: New. * tools/gpg-wks.h: new. * tools/wks-receive.c: New. * tools/call-dirmngr.c, tools/call-dirmngr.h: New. -- Note that this is just a starting point and not a finished implementation. Here is how to test the system using [email protected] as example. Prepare: mkdir /var/lib/gnupg/wks chmod o-rwx /var/lib/gnupg/wks mkdir /var/lib/gnupg/wks/test.gnupg.org Run the protocol: ./gpg-wks-client -v --send FPR USERID >x ./gpg-wks-server -v --receive <x >y ./gpg-wks-client --receive <y >z ./gpg-wks-server -v --receive <z You should also setup a cron job to rsync /var/lib/gnupg/wks/test.gnupg.org/hu/* to the webserver. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tools/gpg-wks.h')
-rw-r--r--tools/gpg-wks.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/gpg-wks.h b/tools/gpg-wks.h
new file mode 100644
index 000000000..249b10af5
--- /dev/null
+++ b/tools/gpg-wks.h
@@ -0,0 +1,53 @@
+/* gpg-wks.h - Common definitions for wks server and client.
+ * Copyright (C) 2016 g10 Code GmbH
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GNUPG_GPG_WKS_H
+#define GNUPG_GPG_WKS_H
+
+#include "../common/util.h"
+#include "../common/strlist.h"
+
+/* We keep all global options in the structure OPT. */
+struct
+{
+ int verbose;
+ unsigned int debug;
+ int quiet;
+ const char *gpg_program;
+ const char *directory;
+} opt;
+
+/* Debug values and macros. */
+#define DBG_CRYPTO_VALUE 4 /* Debug low level crypto. */
+#define DBG_MEMORY_VALUE 32 /* Debug memory allocation stuff. */
+#define DBG_MEMSTAT_VALUE 128 /* Show memory statistics. */
+#define DBG_IPC_VALUE 1024 /* Debug assuan communication. */
+#define DBG_EXTPROG_VALUE 16384 /* debug external program calls */
+
+
+/*-- wks-receive.c --*/
+gpg_error_t wks_receive (estream_t fp,
+ gpg_error_t (*result_cb)(void *opaque,
+ const char *mediatype,
+ estream_t data),
+ void *cb_data);
+
+
+
+#endif /*GNUPG_GPG_WKS_H*/