diff options
author | Werner Koch <[email protected]> | 2016-06-29 10:00:22 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-06-29 10:04:11 +0000 |
commit | 5d6c83deaa11327366b0038928200b9f9f85b426 (patch) | |
tree | eb9ea558716455ebea601d56abe18077be387be5 /tools/gpg-wks.h | |
parent | build: Improve GNUPG_BUILD_PROGRAM macro. (diff) | |
download | gnupg-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.h | 53 |
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*/ |