Commit 4db58b26 authored by Daniel Salzman's avatar Daniel Salzman

libs: build cleanup, remove pykeymgr

parent edf16dee
......@@ -7,25 +7,13 @@
*.lo
*.rej
*.pyc
*.pc
.libs/
.deps/
.dirstamp
/tmp
/Knot.creator.user*
/Doxyfile
/Makefile
/Makefile.in
/src/Makefile
/src/Makefile.in
/src/libzscanner/Makefile
/src/libzscanner/Makefile.in
/python/Makefile
/python/Makefile.in
/samples/Makefile
/samples/Makefile.in
/samples/knot.sample.conf
/doc/Makefile
/doc/Makefile.in
/aclocal.m4
/ar-lib
/autoscan.log
......@@ -46,18 +34,19 @@
/src/config.h
/src/config.h.in
/src/stamp-*
/doc/html/
/INSTALL
/m4/libtool.m4
/m4/ltoptions.m4
/m4/ltsugar.m4
/m4/ltversion.m4
/m4/lt~obsolete.m4
/src/knotd.pc
/src/libknot/libknot.pc
/src/libknot/version.h
/src/knot/modules/static_modules.h
/test-driver
Makefile
Makefile.in
version.h
/samples/knot.sample.conf
/src/knot/modules/static_modules.h
# dnstap
/src/contrib/dnstap/Makefile
......@@ -66,9 +55,7 @@
/src/contrib/dnstap/dnstap.pb-c.h
# zscanner
/src/libzscanner/libzscanner.pc
/src/libzscanner/scanner.c
/src/libzscanner/version.h
# Binaries
/src/kdig
......@@ -80,7 +67,6 @@
/src/knsec3hash
/src/knsupdate
/src/kzonecheck
/src/utils/pykeymgr/pykeymgr
# Generated tarballs
/knot-*.tar.xz
......
......@@ -60,9 +60,9 @@ LT_INIT
PKG_PROG_PKG_CONFIG
m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], [AC_SUBST([pkgconfigdir], ['${libdir}/pkgconfig'])])
AC_CONFIG_FILES([src/knotd.pc
src/libknot/libknot.pc
src/libdnssec/libdnssec.pc
src/libzscanner/libzscanner.pc
src/libknot.pc
src/libdnssec.pc
src/libzscanner.pc
])
# Build Knot DNS daemon
......@@ -587,13 +587,9 @@ AC_CONFIG_FILES([Makefile
samples/Makefile
python/Makefile
src/Makefile
src/contrib/dnstap/Makefile
src/knot/modules/static_modules.h
src/libdnssec/Makefile
src/libzscanner/Makefile
])
AC_CONFIG_FILES([src/utils/pykeymgr/pykeymgr], [chmod +x src/utils/pykeymgr/pykeymgr])
AC_CONFIG_FILES([doc/modules.rst],
[cp doc/modules.rst ${srcdir}/doc/modules.rst 2>/dev/null;
ln -s -f $(readlink -f ${srcdir})/src/knot/modules ${srcdir}/doc 2>/dev/null])
......
......@@ -8,7 +8,6 @@
/man/knotc.8
/man/knotd.8
/man/keymgr.8
/man/pykeymgr.8
/man/kdig.1
/man/khost.1
/man/kjournalprint.1
......
......@@ -3,7 +3,6 @@ MANPAGES_IN = \
man/knotc.8in \
man/knotd.8in \
man/keymgr.8in \
man/pykeymgr.8in \
man/kdig.1in \
man/khost.1in \
man/kjournalprint.1in \
......@@ -15,7 +14,6 @@ MANPAGES_RST = \
man_knotc.rst \
man_knotd.rst \
man_keymgr.rst \
man_pykeymgr.rst \
man_kdig.rst \
man_khost.rst \
man_kjournalprint.rst \
......@@ -93,7 +91,6 @@ if HAVE_UTILS
if HAVE_DAEMON
man_MANS += \
man/keymgr.8 \
man/pykeymgr.8 \
man/kjournalprint.1 \
man/kzonecheck.1
endif # HAVE_DAEMON
......@@ -109,7 +106,6 @@ man/knot.conf.5: man/knot.conf.5in
man/knotc.8: man/knotc.8in
man/knotd.8: man/knotd.8in
man/keymgr.8: man/keymgr.8in
man/pykeymgr.8: man/pykeymgr.8in
man/kdig.1: man/kdig.1in
man/khost.1: man/khost.1in
man/kjournalprint.1: man/kjournalprint.1in
......
......@@ -222,7 +222,6 @@ man_pages = [
('man_knotc', 'knotc', 'Knot DNS control utility', author, 8),
('man_knotd', 'knotd', 'Knot DNS server daemon', author, 8),
('man_keymgr', 'keymgr', 'Knot DNS key management utility', author, 8),
('man_pykeymgr', 'pykeymgr', 'Knot DNS key management utility', author, 8),
('man_kdig', 'kdig', 'Advanced DNS lookup utility', author, 1),
('man_khost', 'khost', 'Simple DNS lookup utility', author, 1),
('man_kjournalprint', 'kjournalprint', 'Knot DNS journal print utility', author, 1),
......
.\" Man page generated from reStructuredText.
.
.TH "PYKEYMGR" "8" "@RELEASE_DATE@" "@VERSION@" "Knot DNS"
.SH NAME
pykeymgr \- Knot DNS key management utility
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.sp
\fBpykeymgr\fP [\fIglobal\-options\fP] [\fIcommand\fP\&...] [\fIarguments\fP\&...]
.SH DESCRIPTION
.sp
The \fBpykeymgr\fP utility serves for key management in Knot DNS server.
.sp
Functions for DNSSEC keys and KASP (Key And Signature Policy)
management are provided.
.sp
The DNSSEC and KASP configuration is stored in a so called KASP database.
The database is backed by LMDB.
.sp
The utility requires installed python LMDB module, installed e.g. by:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ pip install lmdb
.ft P
.fi
.UNINDENT
.UNINDENT
.SS Global options
.INDENT 0.0
.TP
\fB\-f\fP, \fB\-\-force\fP
Skip some of consistency checks and continue with performed action with a warning.
.TP
\fB\-h\fP, \fB\-\-help\fP
Print the program help.
.UNINDENT
.SS Main commands
.INDENT 0.0
.TP
\fB\-i\fP, \fB\-\-import\fP \fIKASP_db_dir\fP
Import the legacy JSON\-format KASP database into the current LMDB\-backed one.
(You can import multiple databases at once by repeating this option.)
.UNINDENT
.SS Parameters
.INDENT 0.0
.TP
\fIKASP_db_dir\fP
A path to the KASP db. It is the directory where \fIdata.mdb\fP and \fIlock.mdb\fP
files are usually stored as well as legacy JSON configuration and \fIkeys\fP
subdirectory containing PEM files.
.UNINDENT
.SH EXAMPLES
.INDENT 0.0
.IP 1. 3
Import legacy JSON\-based KASP db from Knot 2.4.x after upgrade:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
$ pykemgr \-i ${knot_data_dir}/keys
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.SH SEE ALSO
.sp
\fI\%RFC 6781\fP \- DNSSEC Operational Practices.
.sp
\fBknot.conf(5)\fP,
\fBknotc(8)\fP,
\fBknotd(8)\fP\&.
.SH AUTHOR
CZ.NIC Labs <http://www.knot-dns.cz>
.SH COPYRIGHT
Copyright 2010–2018, CZ.NIC, z.s.p.o.
.\" Generated by docutils manpage writer.
.
.. highlight:: console
pykeymgr – Key management utility
=================================
Synopsis
--------
:program:`pykeymgr` [*global-options*] [*command*...] [*arguments*...]
Description
-----------
The :program:`pykeymgr` utility serves for key management in Knot DNS server.
Functions for DNSSEC keys and KASP (Key And Signature Policy)
management are provided.
The DNSSEC and KASP configuration is stored in a so called KASP database.
The database is backed by LMDB.
The utility requires installed python LMDB module, installed e.g. by::
$ pip install lmdb
Global options
..............
**-f**, **--force**
Skip some of consistency checks and continue with performed action with a warning.
**-h**, **--help**
Print the program help.
Main commands
.............
**-i**, **--import** *KASP_db_dir*
Import the legacy JSON-format KASP database into the current LMDB-backed one.
(You can import multiple databases at once by repeating this option.)
Parameters
..........
*KASP_db_dir*
A path to the KASP db. It is the directory where `data.mdb` and `lock.mdb`
files are usually stored as well as legacy JSON configuration and `keys`
subdirectory containing PEM files.
Examples
--------
1. Import legacy JSON-based KASP db from Knot 2.4.x after upgrade::
$ pykemgr -i ${knot_data_dir}/keys
See Also
--------
:rfc:`6781` - DNSSEC Operational Practices.
:manpage:`knot.conf(5)`,
:manpage:`knotc(8)`,
:manpage:`knotd(8)`.
......@@ -39,7 +39,9 @@ KASP DB migration
Knot DNS version 2.4.x and earlier uses JSON files to store DNSSEC keys metadata,
one for each zone. 2.5.x versions store those in binary format in a LMDB, all zones
together. The migration is possible with ``pykeymgr`` script::
together. The migration is possible with the
`pykeymgr <https://gitlab.labs.nic.cz/knot/knot-dns/blob/2.6/src/utils/pykeymgr/pykeymgr.in>`_
script::
$ pykeymgr -i path/to/keydir
......
......@@ -12,7 +12,6 @@ the server. This section collects manual pages for all provided binaries:
man_kdig
man_keymgr
man_pykeymgr
man_khost
man_kjournalprint
man_knotc
......
This diff is collapsed.
noinst_LTLIBRARIES += libcontrib.la
libcontrib_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY)
libcontrib_la_LDFLAGS = $(AM_LDFLAGS) $(LDFLAG_EXCLUDE_LIBS)
EXTRA_DIST += \
contrib/licenses/0BSD \
contrib/licenses/BSD-3-Clause \
contrib/licenses/LGPL-2.0 \
contrib/licenses/OLDAP-2.8 \
contrib/lmdb/LICENSE \
contrib/openbsd/LICENSE \
contrib/ucw/LICENSE \
contrib/dnstap/dnstap.proto
libcontrib_la_SOURCES = \
contrib/asan.h \
contrib/base32hex.c \
contrib/base32hex.h \
contrib/base64.c \
contrib/base64.h \
contrib/ctype.h \
contrib/dynarray.h \
contrib/files.c \
contrib/files.h \
contrib/getline.c \
contrib/getline.h \
contrib/macros.h \
contrib/mempattern.c \
contrib/mempattern.h \
contrib/net.c \
contrib/net.h \
contrib/qp-trie/trie.c \
contrib/qp-trie/trie.h \
contrib/sockaddr.c \
contrib/sockaddr.h \
contrib/string.c \
contrib/string.h \
contrib/strtonum.h \
contrib/time.c \
contrib/time.h \
contrib/tolower.h \
contrib/trim.h \
contrib/wire_ctx.h \
contrib/openbsd/siphash.c \
contrib/openbsd/siphash.h \
contrib/openbsd/strlcat.c \
contrib/openbsd/strlcat.h \
contrib/openbsd/strlcpy.c \
contrib/openbsd/strlcpy.h \
contrib/ucw/array-sort.h \
contrib/ucw/binsearch.h \
contrib/ucw/heap.c \
contrib/ucw/heap.h \
contrib/ucw/lists.c \
contrib/ucw/lists.h \
contrib/ucw/mempool.c \
contrib/ucw/mempool.h
if !HAVE_LMDB
libcontrib_la_SOURCES += \
contrib/lmdb/lmdb.h \
contrib/lmdb/mdb.c \
contrib/lmdb/midl.c \
contrib/lmdb/midl.h
endif !HAVE_LMDB
if HAVE_DNSTAP
SUFFIXES = .proto .pb-c.c .pb-c.h
.proto.pb-c.c:
$(AM_V_GEN)@PROTOC_C@ --c_out=. -I$(srcdir) $<
.proto.pb-c.h:
$(AM_V_GEN)@PROTOC_C@ --c_out=. -I$(srcdir) $<
libcontrib_la_SOURCES += \
contrib/dnstap/convert.c \
contrib/dnstap/convert.h \
contrib/dnstap/dnstap.c \
contrib/dnstap/dnstap.h \
contrib/dnstap/message.c \
contrib/dnstap/message.h \
contrib/dnstap/reader.c \
contrib/dnstap/reader.h \
contrib/dnstap/writer.c \
contrib/dnstap/writer.h
nodist_libcontrib_la_SOURCES = \
contrib/dnstap/dnstap.pb-c.c \
contrib/dnstap/dnstap.pb-c.h
libcontrib_la_CPPFLAGS += $(DNSTAP_CFLAGS)
libcontrib_la_LDFLAGS += $(DNSTAP_LIBS)
BUILT_SOURCES += $(nodist_libcontrib_la_SOURCES)
CLEANFILES += $(nodist_libcontrib_la_SOURCES)
endif HAVE_DNSTAP
ACLOCAL_AMFLAGS = -I $(top_srcdir)/m4
AM_CPPFLAGS = \
-include $(top_builddir)/src/config.h \
-I$(top_srcdir)/src
EXTRA_DIST = \
dnstap.proto
if HAVE_DNSTAP
SUFFIXES = .proto .pb-c.c .pb-c.h
.proto.pb-c.c:
$(AM_V_GEN)@PROTOC_C@ --c_out=. -I$(srcdir) $<
.proto.pb-c.h:
$(AM_V_GEN)@PROTOC_C@ --c_out=. -I$(srcdir) $<
noinst_LTLIBRARIES = libdnstap.la
libdnstap_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(CFLAG_VISIBILITY)
libdnstap_la_CFLAGS = \
$(DNSTAP_CFLAGS)
libdnstap_la_LDFLAGS = \
$(DNSTAP_LIBS) \
$(LDFLAG_EXCLUDE_LIBS)
libdnstap_la_SOURCES = \
convert.c \
convert.h \
dnstap.c \
dnstap.h \
message.c \
message.h \
reader.c \
reader.h \
writer.c \
writer.h
nodist_libdnstap_la_SOURCES = \
dnstap.pb-c.c \
dnstap.pb-c.h
BUILT_SOURCES = $(nodist_libdnstap_la_SOURCES)
CLEANFILES = $(nodist_libdnstap_la_SOURCES)
endif
......@@ -14,18 +14,16 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "files.h"
#include <assert.h>
#include <dirent.h>
#include <fcntl.h>
#include <ftw.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
#include "contrib/files.h"
#include "contrib/string.h"
#include "libknot/errcode.h"
......
libknotd_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(systemd_CFLAGS) \
$(liburcu_CFLAGS) -DKNOTD_MOD_STATIC
libknotd_la_LDFLAGS = $(AM_LDFLAGS) -export-symbols-regex '^knotd_'
libknotd_la_LIBADD = libcontrib.la libknot.la libzscanner.la $(systemd_LIBS) \
$(liburcu_LIBS)
include_libknotddir = $(includedir)/knot
include_libknotd_HEADERS = \
knot/include/module.h
libknotd_la_SOURCES = \
knot/conf/base.c \
knot/conf/base.h \
knot/conf/conf.c \
knot/conf/conf.h \
knot/conf/confdb.c \
knot/conf/confdb.h \
knot/conf/confio.c \
knot/conf/confio.h \
knot/conf/migration.c \
knot/conf/migration.h \
knot/conf/module.h \
knot/conf/module.c \
knot/conf/schema.c \
knot/conf/schema.h \
knot/conf/tools.c \
knot/conf/tools.h \
knot/ctl/commands.c \
knot/ctl/commands.h \
knot/ctl/process.c \
knot/ctl/process.h \
knot/dnssec/context.c \
knot/dnssec/context.h \
knot/dnssec/ds_query.c \
knot/dnssec/ds_query.h \
knot/dnssec/kasp/kasp_db.c \
knot/dnssec/kasp/kasp_db.h \
knot/dnssec/kasp/kasp_zone.c \
knot/dnssec/kasp/kasp_zone.h \
knot/dnssec/kasp/keystate.c \
knot/dnssec/kasp/keystate.h \
knot/dnssec/kasp/keystore.c \
knot/dnssec/kasp/keystore.h \
knot/dnssec/kasp/policy.h \
knot/dnssec/key-events.c \
knot/dnssec/key-events.h \
knot/dnssec/nsec-chain.c \
knot/dnssec/nsec-chain.h \
knot/dnssec/nsec3-chain.c \
knot/dnssec/nsec3-chain.h \
knot/dnssec/policy.c \
knot/dnssec/policy.h \
knot/dnssec/rrset-sign.c \
knot/dnssec/rrset-sign.h \
knot/dnssec/zone-events.c \
knot/dnssec/zone-events.h \
knot/dnssec/zone-keys.c \
knot/dnssec/zone-keys.h \
knot/dnssec/zone-nsec.c \
knot/dnssec/zone-nsec.h \
knot/dnssec/zone-sign.c \
knot/dnssec/zone-sign.h \
knot/events/events.c \
knot/events/events.h \
knot/events/handlers.h \
knot/events/handlers/dnssec.c \
knot/events/handlers/expire.c \
knot/events/handlers/flush.c \
knot/events/handlers/freeze_thaw.c \
knot/events/handlers/load.c \
knot/events/handlers/notify.c \
knot/events/handlers/nsec3resalt.c \
knot/events/handlers/refresh.c \
knot/events/handlers/update.c \
knot/events/handlers/parent_ds_query.c \
knot/events/log.c \
knot/events/log.h \
knot/events/replan.c \
knot/events/replan.h \
knot/nameserver/axfr.c \
knot/nameserver/axfr.h \
knot/nameserver/chaos.c \
knot/nameserver/chaos.h \
knot/nameserver/internet.c \
knot/nameserver/internet.h \
knot/nameserver/ixfr.c \
knot/nameserver/ixfr.h \
knot/nameserver/log.h \
knot/nameserver/notify.c \
knot/nameserver/notify.h \
knot/nameserver/nsec_proofs.c \
knot/nameserver/nsec_proofs.h \
knot/nameserver/process_query.c \
knot/nameserver/process_query.h \
knot/nameserver/query_module.c \
knot/nameserver/query_module.h \
knot/nameserver/tsig_ctx.c \
knot/nameserver/tsig_ctx.h \
knot/nameserver/update.c \
knot/nameserver/update.h \
knot/nameserver/xfr.c \
knot/nameserver/xfr.h \
knot/query/capture.c \
knot/query/capture.h \
knot/query/layer.h \
knot/query/query.c \
knot/query/query.h \
knot/query/requestor.c \
knot/query/requestor.h \
knot/common/evsched.c \
knot/common/evsched.h \
knot/common/fdset.c \
knot/common/fdset.h \
knot/common/log.c \
knot/common/log.h \
knot/common/process.c \
knot/common/process.h \
knot/common/ref.c \
knot/common/ref.h \
knot/common/stats.c \
knot/common/stats.h \
knot/server/dthreads.c \
knot/server/dthreads.h \
knot/journal/journal.c \
knot/journal/journal.h \
knot/journal/serialization.c \
knot/journal/serialization.h \
knot/server/server.c \
knot/server/server.h \
knot/server/tcp-handler.c \
knot/server/tcp-handler.h \
knot/server/udp-handler.c \
knot/server/udp-handler.h \
knot/updates/acl.c \
knot/updates/acl.h \
knot/updates/apply.c \
knot/updates/apply.h \
knot/updates/changesets.c \
knot/updates/changesets.h \
knot/updates/ddns.c \
knot/updates/ddns.h \
knot/updates/zone-update.c \
knot/updates/zone-update.h \
knot/worker/pool.c \
knot/worker/pool.h \
knot/worker/queue.c \
knot/worker/queue.h \
knot/zone/contents.c \
knot/zone/contents.h \
knot/zone/node.c \
knot/zone/node.h \
knot/zone/semantic-check.c \
knot/zone/semantic-check.h \
knot/zone/serial.c \
knot/zone/serial.h \
knot/zone/timers.c \
knot/zone/timers.h \
knot/zone/zone-diff.c \
knot/zone/zone-diff.h \
knot/zone/zone-dump.c \
knot/zone/zone-dump.h \
knot/zone/zone-load.c \
knot/zone/zone-load.h \
knot/zone/zone-tree.c \
knot/zone/zone-tree.h \
knot/zone/zone.c \
knot/zone/zone.h \
knot/zone/zonedb-load.c \
knot/zone/zonedb-load.h \
knot/zone/zonedb.c \
knot/zone/zonedb.h \
knot/zone/zonefile.c \
knot/zone/zonefile.h
if HAVE_DAEMON
noinst_LTLIBRARIES += libknotd.la
pkgconfig_DATA += knotd.pc
endif HAVE_DAEMON
KNOTD_MOD_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY)
KNOTD_MOD_LDFLAGS = $(AM_LDFLAGS) -module -shared -avoid-version
pkglibdir = $(module_instdir)
pkglib_LTLIBRARIES =
include $(srcdir)/knot/modules/cookies/Makefile.inc
include $(srcdir)/knot/modules/dnsproxy/Makefile.inc
include $(srcdir)/knot/modules/dnstap/Makefile.inc
include $(srcdir)/knot/modules/noudp/Makefile.inc
include $(srcdir)/knot/modules/onlinesign/Makefile.inc
include $(srcdir)/knot/modules/rrl/Makefile.inc
include $(srcdir)/knot/modules/stats/Makefile.inc
include $(srcdir)/knot/modules/synthrecord/Makefile.inc
include $(srcdir)/knot/modules/whoami/Makefile.inc
......@@ -4,12 +4,12 @@ EXTRA_DIST += knot/modules/dnstap/dnstap.rst
if STATIC_MODULE_dnstap
libknotd_la_SOURCES += $(knot_modules_dnstap_la_SOURCES)
libknotd_la_CPPFLAGS += $(DNSTAP_CFLAGS)
libknotd_la_LIBADD += $(DNSTAP_LIBS) contrib/dnstap/libdnstap.la
libknotd_la_LIBADD += $(DNSTAP_LIBS) libcontrib.la
endif
if SHARED_MODULE_dnstap
knot_modules_dnstap_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_dnstap_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS) $(DNSTAP_CFLAGS)
knot_modules_dnstap_la_LIBADD = $(DNSTAP_LIBS) contrib/dnstap/libdnstap.la libcontrib.la
knot_modules_dnstap_la_LIBADD = $(DNSTAP_LIBS) libcontrib.la
pkglib_LTLIBRARIES += knot/modules/dnstap.la
endif
/libdnssec.pc
/Makefile
/Makefile.in
/version.h
AM_CPPFLAGS = \
-include $(top_builddir)/src/config.h \
-I$(top_srcdir)/src \
$(gnutls_CFLAGS)
noinst_LTLIBRARIES = libshared.la
lib_LTLIBRARIES = libdnssec.la
libshared_la_CPPFLAGS = \
$(AM_CPPFLAGS)
libshared_la_SOURCES = \
shared/bignum.c \
shared/bignum.h \
shared/binary_wire.h \
shared/dname.c \
shared/dname.h \
shared/fs.c \
shared/fs.h \
shared/hex.c \
shared/hex.h \
shared/keyid_gnutls.c \
shared/keyid_gnutls.h \
shared/pem.c \
shared/pem.h \