summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README4
-rw-r--r--contrib/Makefile.am3
-rw-r--r--contrib/defaults.conf505
-rw-r--r--contrib/test_gnunet_prefix.c2
-rw-r--r--src/arm/Makefile.am5
-rw-r--r--src/arm/arm.conf23
-rw-r--r--src/ats/Makefile.am5
-rw-r--r--src/ats/ats.conf24
-rw-r--r--src/block/Makefile.am5
-rw-r--r--src/block/block.conf2
-rw-r--r--src/chat/Makefile.am5
-rw-r--r--src/chat/chat.conf22
-rw-r--r--src/core/Makefile.am5
-rw-r--r--src/core/core.conf25
-rw-r--r--src/core/test_core_defaults.conf3
-rw-r--r--src/datacache/Makefile.am5
-rw-r--r--src/datacache/datacache.conf8
-rw-r--r--src/datastore/Makefile.am5
-rw-r--r--src/datastore/datastore.conf33
-rw-r--r--src/datastore/test_defaults.conf3
-rw-r--r--src/dht/Makefile.am5
-rw-r--r--src/dht/dht.conf38
-rw-r--r--src/dv/Makefile.am5
-rw-r--r--src/dv/dv.conf15
-rw-r--r--src/fs/Makefile.am5
-rw-r--r--src/fs/fs.conf32
-rw-r--r--src/fs/test_fs_defaults.conf3
-rw-r--r--src/hostlist/Makefile.am5
-rw-r--r--src/hostlist/hostlist.conf14
-rw-r--r--src/hostlist/test_hostlist_defaults.conf3
-rw-r--r--src/mesh/Makefile.am5
-rw-r--r--src/mesh/mesh.conf13
-rw-r--r--src/nat/Makefile.am5
-rw-r--r--src/nat/nat.conf54
-rw-r--r--src/nse/Makefile.am5
-rw-r--r--src/nse/nse.conf24
-rw-r--r--src/peerinfo/Makefile.am5
-rw-r--r--src/peerinfo/peerinfo.conf24
-rw-r--r--src/statistics/Makefile.am4
-rw-r--r--src/statistics/statistics.conf22
-rw-r--r--src/template/Makefile.am5
-rw-r--r--src/template/template.conf21
-rw-r--r--src/testing/Makefile.am5
-rw-r--r--src/testing/test_testing_defaults.conf3
-rw-r--r--src/testing/testing.conf11
-rw-r--r--src/topology/Makefile.am5
-rw-r--r--src/topology/topology.conf10
-rw-r--r--src/transport/Makefile.am5
-rw-r--r--src/transport/test_transport_defaults.conf3
-rw-r--r--src/transport/transport.conf66
-rw-r--r--src/util/Makefile.am5
-rw-r--r--src/util/configuration.c46
-rw-r--r--src/util/disk.c1
-rw-r--r--src/util/resolver.conf22
-rw-r--r--src/util/util.conf16
-rw-r--r--src/vpn/Makefile.am5
-rw-r--r--src/vpn/vpn.conf33
57 files changed, 720 insertions, 520 deletions
diff --git a/README b/README
index 978ae2916..7c6470b26 100644
--- a/README
+++ b/README
@@ -123,8 +123,8 @@ The defaults that are shipped with the installation are usually ok,
you may want to adjust the limitations (space consumption, bandwidth,
etc.) though. The configuration files are human-readable. Note that
you MUST create "~/.gnunet/gnunet.conf" explicitly before starting
-GNUnet. You can either copy "defaults.conf" or simply create an empty
-file.
+GNUnet. You can either run gnunet-setup (available as part of the
+gnunet-gtk source package) or simply create an empty file.
Usage
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 5efbe5a32..0ee7c4922 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -14,8 +14,7 @@ noinst_SCRIPTS = \
gnunet_janitor.py
dist_pkgdata_DATA = \
- gnunet-logo-color.png \
- defaults.conf
+ gnunet-logo-color.png
EXTRA_DIST = \
coverage.sh \
diff --git a/contrib/defaults.conf b/contrib/defaults.conf
deleted file mode 100644
index 25bbf539e..000000000
--- a/contrib/defaults.conf
+++ /dev/null
@@ -1,505 +0,0 @@
-[PATHS]
-SERVICEHOME = ~/.gnunet/
-# SERVICEHOME = /var/lib/gnunet/
-# DEFAULTCONFIG = /etc/gnunet.conf
-# If 'DEFAULTCONFIG' is not defined, the current
-# configuration file is assumed to be the default,
-# which is what we want by default...
-
-[gnunetd]
-HOSTKEY = $SERVICEHOME/.hostkey
-
-[TESTING]
-WEAKRANDOM = NO
-# How long before failing a connection?
-CONNECT_TIMEOUT = 30
-# How many connect attempts should we make?
-CONNECT_ATTEMPTS = 3
-# How many connections can happen simultaneously?
-MAX_OUTSTANDING_CONNECTIONS = 50
-
-# Should we clean up the files on peer group shutdown?
-DELETE_FILES = YES
-
-[client]
-HOME = $SERVICEHOME
-
-[nat]
-# Are we behind NAT?
-BEHIND_NAT = NO
-
-# Is the NAT hole-punched?
-PUNCHED_NAT = NO
-
-# Enable UPNP by default?
-ENABLE_UPNP = NO
-
-# Use addresses from the local network interfaces (inluding loopback, but also others)
-USE_LOCALADDR = YES
-
-# Use address obtained from a DNS lookup of our hostname
-USE_HOSTNAME = NO
-
-# External IP address of the NAT box (if known); IPv4 dotted-decimal ONLY at this time (should allow DynDNS!)
-# normal interface IP address for non-NATed peers;
-# possibly auto-detected (using UPnP) if possible if not specified
-# EXTERNAL_ADDRESS =
-
-# Should we use ICMP-based NAT traversal to try connect to NATed peers
-# or, if we are behind NAT, to allow connections to us?
-ENABLE_ICMP_CLIENT = NO
-ENABLE_ICMP_SERVER = NO
-
-# IP address of the interface connected to the NAT box; IPv4 dotted-decimal ONLY;
-# normal interface IP address for non-NATed peers;
-# likely auto-detected (via interface list) if not specified (!)
-# INTERNAL_ADDRESS =
-
-# Disable IPv6 support
-DISABLEV6 = NO
-
-# How often do we query the DNS resolver
-# for our hostname (to get our own IP), in ms
-HOSTNAME_DNS_FREQUENCY = 1200000
-
-# How often do we iterate over our
-# network interfaces to check for changes
-# in our IP address? in ms
-IFC_SCAN_FREQUENCY = 3000000
-
-# How often do we query the DNS resolver
-# for our hostname (to get our own IP), in ms
-DYNDNS_FREQUENCY = 140000
-
-# Do we use addresses from localhost address ranges? (::1, 127.0.0.0/8)
-RETURN_LOCAL_ADDRESSES = NO
-
-[gnunet-nat-server]
-HOSTNAME = gnunet.org
-PORT = 5724
-
-[transport-tcp]
-# Use 0 to ONLY advertise as a peer behind NAT (no port binding)
-PORT = 2086
-ADVERTISED_PORT = 2086
-
-# Maximum number of open TCP connections allowed
-MAX_CONNECTIONS = 128
-
-TIMEOUT = 5000
-
-# ACCEPT_FROM =
-# ACCEPT_FROM6 =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# BINDTO =
-
-MAX_CONNECTIONS = 128
-
-
-[transport-udp]
-PORT = 2086
-#BROADCAST = YES
-#BROADCAST_PORT = 20089
-#BROADCAST_INTERVAL = 30000
-
-
-MAX_BPS = 1000000
-
-
-[transport-http]
-PORT = 1080
-MAX_CONNECTIONS = 128
-
-[transport-https]
-PORT = 4433
-CRYPTO_INIT = NORMAL
-KEY_FILE = https.key
-CERT_FILE = https.cert
-MAX_CONNECTIONS = 128
-
-
-[transport-wlan]
-# Name of the interface in monitor mode (typically monX)
-INTERFACE = mon0
-# Real hardware, no testing
-TESTMODE = 0
-
-
-[arm]
-PORT = 2087
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-arm
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-DEFAULTSERVICES = topology hostlist
-UNIXPATH = /tmp/gnunet-service-arm.sock
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-# GLOBAL_POSTFIX = -l $SERVICEHOME/{}-logs
-# GLOBAL_PREFIX =
-# USERNAME =
-# MAXBUF =
-# TIMEOUT =
-# DISABLEV6 =
-# BINDTO =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# PREFIX =
-
-[statistics]
-AUTOSTART = YES
-PORT = 2088
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-statistics
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-UNIXPATH = /tmp/gnunet-service-statistics.sock
-UNIX_MATCH_UID = NO
-UNIX_MATCH_GID = YES
-# DISABLE_SOCKET_FORWARDING = NO
-# USERNAME =
-# MAXBUF =
-# TIMEOUT =
-# DISABLEV6 =
-# BINDTO =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# PREFIX =
-
-[resolver]
-AUTOSTART = YES
-PORT = 2089
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-resolver
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-UNIXPATH = /tmp/gnunet-service-resolver.sock
-UNIX_MATCH_UID = NO
-UNIX_MATCH_GID = NO
-# DISABLE_SOCKET_FORWARDING = NO
-# USERNAME =
-# MAXBUF =
-# TIMEOUT =
-# DISABLEV6 =
-# BINDTO =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# PREFIX =
-
-[peerinfo]
-AUTOSTART = YES
-PORT = 2090
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-peerinfo
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-UNIXPATH = /tmp/gnunet-service-peerinfo.sock
-UNIX_MATCH_UID = NO
-UNIX_MATCH_GID = YES
-# DISABLE_SOCKET_FORWARDING = NO
-# USERNAME =
-# MAXBUF =
-# TIMEOUT =
-# DISABLEV6 =
-# BINDTO =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# PREFIX =
-HOSTS = $SERVICEHOME/data/hosts/
-
-
-[transport]
-AUTOSTART = YES
-PORT = 2091
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-transport
-#PREFIX = valgrind
-NEIGHBOUR_LIMIT = 50
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-PLUGINS = tcp
-UNIXPATH = /tmp/gnunet-service-transport.sock
-BLACKLIST_FILE = $SERVICEHOME/blacklist
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-# DISABLE_SOCKET_FORWARDING = NO
-# USERNAME =
-# MAXBUF =
-# TIMEOUT =
-# DISABLEV6 =
-# BINDTO =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# PREFIX =
-
-[ats]
-AUTOSTART = YES
-PORT = 2098
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-ats
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-UNIXPATH = /tmp/gnunet-service-ats.sock
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-
-TOTAL_QUOTA_IN = 65536
-TOTAL_QUOTA_OUT = 65536
-# ATS options
-DUMP_MLP = NO
-DUMP_SOLUTION = NO
-DUMP_OVERWRITE = NO
-DUMP_MIN_PEERS = 0
-DUMP_MIN_ADDRS = 0
-DUMP_OVERWRITE = NO
-ATS_MIN_INTERVAL = 15000
-ATS_EXEC_INTERVAL = 30000
-
-
-[core]
-AUTOSTART = YES
-PORT = 2092
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-core
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-# quotas are in bytes per second now!
-TOTAL_QUOTA_IN = 65536
-TOTAL_QUOTA_OUT = 65536
-UNIXPATH = /tmp/gnunet-service-core.sock
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-# DISABLE_SOCKET_FORWARDING = NO
-# DEBUG = YES
-# USERNAME =
-# MAXBUF =
-# TIMEOUT =
-# DISABLEV6 =
-# BINDTO =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# PREFIX =
-
-
-[topology]
-MINIMUM-FRIENDS = 0
-FRIENDS-ONLY = NO
-AUTOCONNECT = YES
-TARGET-CONNECTION-COUNT = 16
-FRIENDS = $SERVICEHOME/friends
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-daemon-topology
-
-[hostlist]
-# port for hostlist http server
-HTTPPORT = 8080
-HOME = $SERVICEHOME
-HOSTLISTFILE = $SERVICEHOME/hostlist/learned.data
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-daemon-hostlist
-# consider having "-e" as default as well once implemented
-OPTIONS = -b
-SERVERS = http://v9.gnunet.org:58080/
-# proxy for downloading hostlists
-HTTP-PROXY =
-
-
-[datastore]
-AUTOSTART = YES
-UNIXPATH = /tmp/gnunet-service-datastore.sock
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-PORT = 2093
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-datastore
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-QUOTA = 100000000
-BLOOMFILTER = $SERVICEHOME/fs/bloomfilter
-DATABASE = sqlite
-# DISABLE_SOCKET_FORWARDING = NO
-
-[datastore-sqlite]
-FILENAME = $SERVICEHOME/datastore/sqlite.db
-
-[datastore-postgres]
-CONFIG = connect_timeout=10; dbname=gnunet
-
-[datastore-mysql]
-DATABASE = gnunet
-CONFIG = ~/.my.cnf
-# USER = gnunet
-# PASSWORD =
-# HOST = localhost
-# PORT = 3306
-
-[datacache-mysql]
-DATABASE = gnunetcheck
-CONFIG = ~/.my.cnf
-# USER = gnunet
-# PASSWORD =
-# HOST = localhost
-# PORT = 3306
-
-
-[fs]
-AUTOSTART = YES
-INDEXDB = $SERVICEHOME/idxinfo.lst
-TRUST = $SERVICEHOME/data/credit/
-IDENTITY_DIR = $SERVICEHOME/identities/
-STATE_DIR = $SERVICEHOME/persistence/
-UPDATE_DIR = $SERVICEHOME/updates/
-PORT = 2094
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-fs
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-
-DELAY = YES
-CONTENT_CACHING = YES
-CONTENT_PUSHING = YES
-
-UNIXPATH = /tmp/gnunet-service-fs.sock
-UNIX_MATCH_UID = NO
-UNIX_MATCH_GID = YES
-# DISABLE_SOCKET_FORWARDING = NO
-# DEBUG = YES
-MAX_PENDING_REQUESTS = 65536
-# Maximum frequency we're allowed to poll the datastore
-# for content for migration (can be used to reduce
-# GNUnet's disk-IO rate)
-MIN_MIGRATION_DELAY = 100
-EXPECTED_NEIGHBOUR_COUNT = 128
-
-[dht]
-AUTOSTART = YES
-PORT = 2095
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-dht
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-BUCKET_SIZE = 4
-UNIXPATH = /tmp/gnunet-service-dht.sock
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-# DISABLE_SOCKET_FORWARDING = NO
-# DEBUG = YES
-# USERNAME =
-# MAXBUF =
-# TIMEOUT =
-# DISABLEV6 =
-# BINDTO =
-# REJECT_FROM =
-# REJECT_FROM6 =
-# PREFIX =
-# DO_FIND_PEER =
-# STRICT_KADEMLIA =
-# USE_MAX_HOPS =
-# MAX_HOPS =
-# REPUBLISH = YES
-# REPLICATION_FREQUENCY = 60
-# STOP_ON_CLOSEST =
-# STOP_FOUND =
-# CONVERGE_MODIFIER =
-
-
-[dhtcache]
-DATABASE = sqlite
-QUOTA = 1024000
-
-[block]
-PLUGINS = fs dht test dns
-
-[mesh]
-AUTOSTART = YES
-PORT = 2096
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-mesh
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-UNIXPATH = /tmp/gnunet-service-mesh.sock
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-
-[nse]
-AUTOSTART = YES
-PORT = 2097
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-nse
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-UNIXPATH = /tmp/test-nse-service-nse.unix
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-PROOFFILE = $SERVICEHOME/.nse-proof
-HISTOGRAM = $SERVICEHOME/nse-history.log
-
-# How 'slowly' should the proof-of-work be constructed (delay
-# between rounds in ms); sane values between 0 and ~1000.
-WORKDELAY = 5
-
-# Note: changing any of the values below will make this peer
-# completely incompatible with other peers!
-INTERVAL = 3600000
-WORKBITS = 20
-
-
-[vpn]
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-daemon-vpn
-IPV6ADDR = 1234::1
-IPV6PREFIX = 32
-IPV4ADDR = 10.11.10.1
-IPV4MASK = 255.255.0.0
-VIRTDNS = 10.11.10.2
-VIRTDNS6 = 1234::17
-IFNAME = vpn-gnunet
-
-[exit]
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-daemon-exit
-IPV6ADDR = 1234:1::1
-IPV6PREFIX = 32
-IPV4ADDR = 10.10.1.1
-IPV4MASK = 255.255.0.0
-IFNAME = exit-gnunet
-ENABLE_UDP = NO
-ENABLE_TCP = NO
-
-[dns]
-AUTOSTART = YES
-PORT = 0
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-CONFIG = $DEFAULTCONFIG
-BINARY = gnunet-service-dns
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-UNIXPATH = /tmp/gnunet-service-dns.sock
-PROVIDE_EXIT = NO
-
diff --git a/contrib/test_gnunet_prefix.c b/contrib/test_gnunet_prefix.c
index ea8137107..732e8ebac 100644
--- a/contrib/test_gnunet_prefix.c
+++ b/contrib/test_gnunet_prefix.c
@@ -43,7 +43,7 @@ main (int argc,
_("Testcases will not work!\n"));
return 1;
}
- dirname = DIR_SEPARATOR_STR "share" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR "defaults.conf";
+ dirname = DIR_SEPARATOR_STR "share" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR "config.d";
{
char tmp[strlen (basename) + strlen (dirname) + 1];
sprintf (tmp, "%s%s", basename, dirname);
diff --git a/src/arm/Makefile.am b/src/arm/Makefile.am
index bd6e7e0e7..9ed8bbe15 100644
--- a/src/arm/Makefile.am
+++ b/src/arm/Makefile.am
@@ -1,5 +1,10 @@
INCLUDES = -I$(top_srcdir)/src/include
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ arm.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/arm/arm.conf b/src/arm/arm.conf
new file mode 100644
index 000000000..beb3d30c8
--- /dev/null
+++ b/src/arm/arm.conf
@@ -0,0 +1,23 @@
+
+[arm]
+PORT = 2087
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-arm
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+DEFAULTSERVICES = topology hostlist
+UNIXPATH = /tmp/gnunet-service-arm.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# GLOBAL_POSTFIX = -l $SERVICEHOME/{}-logs
+# GLOBAL_PREFIX =
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX = \ No newline at end of file
diff --git a/src/ats/Makefile.am b/src/ats/Makefile.am
index 5cba4fccb..0db590a81 100644
--- a/src/ats/Makefile.am
+++ b/src/ats/Makefile.am
@@ -1,5 +1,10 @@
INCLUDES = -I$(top_srcdir)/src/include
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ ats.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/ats/ats.conf b/src/ats/ats.conf
new file mode 100644
index 000000000..f5d6c7765
--- /dev/null
+++ b/src/ats/ats.conf
@@ -0,0 +1,24 @@
+[ats]
+AUTOSTART = YES
+PORT = 2098
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-ats
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-ats.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+
+TOTAL_QUOTA_IN = 65536
+TOTAL_QUOTA_OUT = 65536
+# ATS options
+DUMP_MLP = NO
+DUMP_SOLUTION = NO
+DUMP_OVERWRITE = NO
+DUMP_MIN_PEERS = 0
+DUMP_MIN_ADDRS = 0
+DUMP_OVERWRITE = NO
+ATS_MIN_INTERVAL = 15000
+ATS_EXEC_INTERVAL = 30000
diff --git a/src/block/Makefile.am b/src/block/Makefile.am
index 452296613..96b66c3ee 100644
--- a/src/block/Makefile.am
+++ b/src/block/Makefile.am
@@ -2,6 +2,11 @@ INCLUDES = -I$(top_srcdir)/src/include
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ block.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/block/block.conf b/src/block/block.conf
new file mode 100644
index 000000000..dbae438b7
--- /dev/null
+++ b/src/block/block.conf
@@ -0,0 +1,2 @@
+[block]
+PLUGINS = fs dht test dns \ No newline at end of file
diff --git a/src/chat/Makefile.am b/src/chat/Makefile.am
index dcf1f5a2d..859e8f1f1 100644
--- a/src/chat/Makefile.am
+++ b/src/chat/Makefile.am
@@ -1,5 +1,10 @@
INCLUDES = -I$(top_srcdir)/src/include
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ chat.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/chat/chat.conf b/src/chat/chat.conf
new file mode 100644
index 000000000..61d551e16
--- /dev/null
+++ b/src/chat/chat.conf
@@ -0,0 +1,22 @@
+[chat]
+AUTOSTART = YES
+PORT = 2090
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-chat
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-chat.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
diff --git a/src/core/Makefile.am b/src/core/Makefile.am
index b2629a567..13054d15a 100644
--- a/src/core/Makefile.am
+++ b/src/core/Makefile.am
@@ -1,5 +1,10 @@
INCLUDES = -I$(top_srcdir)/src/include
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ core.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/core/core.conf b/src/core/core.conf
new file mode 100644
index 000000000..1d7815ad6
--- /dev/null
+++ b/src/core/core.conf
@@ -0,0 +1,25 @@
+[core]
+AUTOSTART = YES
+PORT = 2092
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-core
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+# quotas are in bytes per second now!
+TOTAL_QUOTA_IN = 65536
+TOTAL_QUOTA_OUT = 65536
+UNIXPATH = /tmp/gnunet-service-core.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# DEBUG = YES
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
diff --git a/src/core/test_core_defaults.conf b/src/core/test_core_defaults.conf
index 5d8da2d34..b3b745095 100644
--- a/src/core/test_core_defaults.conf
+++ b/src/core/test_core_defaults.conf
@@ -43,3 +43,6 @@ AUTOSTART = NO
[nse]
AUTOSTART = NO
+
+[dv]
+AUTOSTART = NO \ No newline at end of file
diff --git a/src/datacache/Makefile.am b/src/datacache/Makefile.am
index 8e4f265cd..5a3d22bbb 100644
--- a/src/datacache/Makefile.am
+++ b/src/datacache/Makefile.am
@@ -2,6 +2,11 @@ INCLUDES = -I$(top_srcdir)/src/include
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ datacache.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/datacache/datacache.conf b/src/datacache/datacache.conf
new file mode 100644
index 000000000..fb850f39f
--- /dev/null
+++ b/src/datacache/datacache.conf
@@ -0,0 +1,8 @@
+[datacache-mysql]
+DATABASE = gnunetcheck
+CONFIG = ~/.my.cnf
+# USER = gnunet
+# PASSWORD =
+# HOST = localhost
+# PORT = 3306
+
diff --git a/src/datastore/Makefile.am b/src/datastore/Makefile.am
index cecda89b4..cab08bc0f 100644
--- a/src/datastore/Makefile.am
+++ b/src/datastore/Makefile.am
@@ -2,6 +2,11 @@ INCLUDES = -I$(top_srcdir)/src/include
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ datastore.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/datastore/datastore.conf b/src/datastore/datastore.conf
new file mode 100644
index 000000000..ed44036c7
--- /dev/null
+++ b/src/datastore/datastore.conf
@@ -0,0 +1,33 @@
+[datastore]
+AUTOSTART = YES
+UNIXPATH = /tmp/gnunet-service-datastore.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+PORT = 2093
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-datastore
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+QUOTA = 100000000
+BLOOMFILTER = $SERVICEHOME/fs/bloomfilter
+DATABASE = sqlite
+# DISABLE_SOCKET_FORWARDING = NO
+
+[datastore-sqlite]
+FILENAME = $SERVICEHOME/datastore/sqlite.db
+
+[datastore-postgres]
+CONFIG = connect_timeout=10; dbname=gnunet
+
+[datastore-mysql]
+DATABASE = gnunet
+CONFIG = ~/.my.cnf
+# USER = gnunet
+# PASSWORD =
+# HOST = localhost
+# PORT = 3306
+
+
+
diff --git a/src/datastore/test_defaults.conf b/src/datastore/test_defaults.conf
index 2af5c5315..e2911fc2d 100644
--- a/src/datastore/test_defaults.conf
+++ b/src/datastore/test_defaults.conf
@@ -13,3 +13,6 @@ AUTOSTART = NO
[nse]
AUTOSTART = NO
+
+[dv]
+AUTOSTART = NO \ No newline at end of file
diff --git a/src/dht/Makefile.am b/src/dht/Makefile.am
index 952e828d3..ad1d05d25 100644
--- a/src/dht/Makefile.am
+++ b/src/dht/Makefile.am
@@ -5,6 +5,11 @@ endif
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ dht.conf
+
if HAVE_ZLIB
ZLIB_LNK = -lz
endif
diff --git a/src/dht/dht.conf b/src/dht/dht.conf
new file mode 100644
index 000000000..50c25daac
--- /dev/null
+++ b/src/dht/dht.conf
@@ -0,0 +1,38 @@
+[dht]
+AUTOSTART = YES
+PORT = 2095
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-dht
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+BUCKET_SIZE = 4
+UNIXPATH = /tmp/gnunet-service-dht.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# DEBUG = YES
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+# DO_FIND_PEER =
+# STRICT_KADEMLIA =
+# USE_MAX_HOPS =
+# MAX_HOPS =
+# REPUBLISH = YES
+# REPLICATION_FREQUENCY = 60
+# STOP_ON_CLOSEST =
+# STOP_FOUND =
+# CONVERGE_MODIFIER =
+
+
+[dhtcache]
+DATABASE = sqlite
+QUOTA = 1024000
+
diff --git a/src/dv/Makefile.am b/src/dv/Makefile.am
index d505e31c4..c0e826a2c 100644
--- a/src/dv/Makefile.am
+++ b/src/dv/Makefile.am
@@ -11,6 +11,11 @@ endif
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ dv.conf
+
lib_LTLIBRARIES = libgnunetdv.la
plugin_LTLIBRARIES = libgnunet_plugin_transport_dv.la
diff --git a/src/dv/dv.conf b/src/dv/dv.conf
new file mode 100644
index 000000000..8fbf23659
--- /dev/null
+++ b/src/dv/dv.conf
@@ -0,0 +1,15 @@
+[dv]
+AUTOSTART = YES
+DEBUG = NO
+ACCEPT_FROM6 = ::1;
+ACCEPT_FROM = 127.0.0.1;
+BINARY = gnunet-service-dv
+CONFIG = $DEFAULTCONFIG
+HOME = $SERVICEHOME
+HOSTNAME = localhost
+PORT = 2571
+# ACCEPT_FROM =
+# ACCEPT_FROM6 =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# BINDTO =
diff --git a/src/fs/Makefile.am b/src/fs/Makefile.am
index 85e3a4539..3e94e9182 100644
--- a/src/fs/Makefile.am
+++ b/src/fs/Makefile.am
@@ -9,6 +9,11 @@ if USE_COVERAGE
XLIB = -lgcov
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ fs.conf
+
lib_LTLIBRARIES = libgnunetfs.la
diff --git a/src/fs/fs.conf b/src/fs/fs.conf
new file mode 100644
index 000000000..7e3fecd7b
--- /dev/null
+++ b/src/fs/fs.conf
@@ -0,0 +1,32 @@
+[fs]
+AUTOSTART = YES
+INDEXDB = $SERVICEHOME/idxinfo.lst
+TRUST = $SERVICEHOME/data/credit/
+IDENTITY_DIR = $SERVICEHOME/identities/
+STATE_DIR = $SERVICEHOME/persistence/
+UPDATE_DIR = $SERVICEHOME/updates/
+PORT = 2094
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-fs
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+
+DELAY = YES
+CONTENT_CACHING = YES
+CONTENT_PUSHING = YES
+
+UNIXPATH = /tmp/gnunet-service-fs.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# DEBUG = YES
+MAX_PENDING_REQUESTS = 65536
+# Maximum frequency we're allowed to poll the datastore
+# for content for migration (can be used to reduce
+# GNUnet's disk-IO rate)
+MIN_MIGRATION_DELAY = 100
+EXPECTED_NEIGHBOUR_COUNT = 128
+
+
diff --git a/src/fs/test_fs_defaults.conf b/src/fs/test_fs_defaults.conf
index 5e54e15ea..f71a12061 100644
--- a/src/fs/test_fs_defaults.conf
+++ b/src/fs/test_fs_defaults.conf
@@ -71,3 +71,6 @@ AUTOSTART = NO
[nse]
AUTOSTART = NO
+
+[dv]
+AUTOSTART = NO \ No newline at end of file
diff --git a/src/hostlist/Makefile.am b/src/hostlist/Makefile.am
index 8af1d4a7f..f764f2fbe 100644
--- a/src/hostlist/Makefile.am
+++ b/src/hostlist/Makefile.am
@@ -1,5 +1,10 @@
INCLUDES = -I$(top_srcdir)/src/include
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ hostlist.conf
+
if USE_COVERAGE
AM_CFLAGS = --coverage -O0
endif
diff --git a/src/hostlist/hostlist.conf b/src/hostlist/hostlist.conf
new file mode 100644
index 000000000..3f8c14227
--- /dev/null
+++ b/src/hostlist/hostlist.conf
@@ -0,0 +1,14 @@
+[hostlist]
+# port for hostlist http server
+HTTPPORT = 8080
+HOME = $SERVICEHOME
+HOSTLISTFILE = $SERVICEHOME/hostlist/learned.data
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-hostlist
+# consider having "-e" as default as well once implemented
+OPTIONS = -b
+SERVERS = http://v9.gnunet.org:58080/
+# proxy for downloading hostlists
+HTTP-PROXY =
+
+
diff --git a/src/hostlist/test_hostlist_defaults.conf b/src/hostlist/test_hostlist_defaults.conf
index 473ac2a95..08c58b963 100644
--- a/src/hostlist/test_hostlist_defaults.conf
+++ b/src/hostlist/test_hostlist_defaults.conf
@@ -48,3 +48,6 @@ AUTOSTART = NO
[dht]
AUTOSTART = NO
+
+[dv]
+AUTOSTART = NO \ No newline at end of file
diff --git a/src/mesh/Makefile.am b/src/mesh/Makefile.am
index bfec0d5b4..f6546a586 100644
--- a/src/mesh/Makefile.am
+++ b/src/mesh/Makefile.am
@@ -9,6 +9,11 @@ if USE_COVERAGE
XLIB = -lgcov
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ mesh.conf
+
AM_CLFAGS = -g
bin_PROGRAMS = \
diff --git a/src/mesh/mesh.conf b/src/mesh/mesh.conf
new file mode 100644
index 000000000..922275368
--- /dev/null
+++ b/src/mesh/mesh.conf
@@ -0,0 +1,13 @@
+[mesh]
+AUTOSTART = YES
+PORT = 2096
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-mesh
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-mesh.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+
diff --git a/src/nat/Makefile.am b/src/nat/Makefile.am
index 5adab1ae5..ed3a1545a 100644
--- a/src/nat/Makefile.am
+++ b/src/nat/Makefile.am
@@ -7,6 +7,11 @@ if MINGW
NATCLIENT = gnunet-helper-nat-client-windows.c
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ nat.conf
+
if ENABLE_TEST_RUN
nattest = $(bindir)/gnunet-nat-server
diff --git a/src/nat/nat.conf b/src/nat/nat.conf
new file mode 100644
index 000000000..e44612289
--- /dev/null
+++ b/src/nat/nat.conf
@@ -0,0 +1,54 @@
+[nat]
+# Are we behind NAT?
+BEHIND_NAT = NO
+
+# Is the NAT hole-punched?
+PUNCHED_NAT = NO
+
+# Enable UPNP by default?
+ENABLE_UPNP = NO
+
+# Use addresses from the local network interfaces (inluding loopback, but also others)
+USE_LOCALADDR = YES
+
+# Use address obtained from a DNS lookup of our hostname
+USE_HOSTNAME = NO
+
+# External IP address of the NAT box (if known); IPv4 dotted-decimal ONLY at this time (should allow DynDNS!)
+# normal interface IP address for non-NATed peers;
+# possibly auto-detected (using UPnP) if possible if not specified
+# EXTERNAL_ADDRESS =
+
+# Should we use ICMP-based NAT traversal to try connect to NATed peers
+# or, if we are behind NAT, to allow connections to us?
+ENABLE_ICMP_CLIENT = NO
+ENABLE_ICMP_SERVER = NO
+
+# IP address of the interface connected to the NAT box; IPv4 dotted-decimal ONLY;
+# normal interface IP address for non-NATed peers;
+# likely auto-detected (via interface list) if not specified (!)
+# INTERNAL_ADDRESS =
+
+# Disable IPv6 support
+DISABLEV6 = NO
+
+# Do we use addresses from localhost address ranges? (::1, 127.0.0.0/8)
+RETURN_LOCAL_ADDRESSES = NO
+
+# How often do we query the DNS resolver
+# for our hostname (to get our own IP), in ms
+HOSTNAME_DNS_FREQUENCY = 1200000
+
+# How often do we iterate over our
+# network interfaces to check for changes
+# in our IP address? in ms
+IFC_SCAN_FREQUENCY = 3000000
+
+# How often do we query the DNS resolver
+# for our hostname (to get our own IP), in ms
+DYNDNS_FREQUENCY = 140000
+
+[gnunet-nat-server]
+HOSTNAME = gnunet.org
+PORT = 5724
+
diff --git a/src/nse/Makefile.am b/src/nse/Makefile.am
index af16a420d..48844bfc0 100644
--- a/src/nse/Makefile.am
+++ b/src/nse/Makefile.am
@@ -9,6 +9,11 @@ if USE_COVERAGE
XLIB = -lgcov
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ nse.conf
+
lib_LTLIBRARIES = libgnunetnse.la
diff --git a/src/nse/nse.conf b/src/nse/nse.conf
new file mode 100644
index 000000000..318fd15fd
--- /dev/null
+++ b/src/nse/nse.conf
@@ -0,0 +1,24 @@
+[nse]
+AUTOSTART = YES
+PORT = 2097
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-nse
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/test-nse-service-nse.unix
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+PROOFFILE = $SERVICEHOME/.nse-proof
+HISTOGRAM = $SERVICEHOME/nse-history.log
+
+# How 'slowly' should the proof-of-work be constructed (delay
+# between rounds in ms); sane values between 0 and ~1000.
+WORKDELAY = 5
+
+# Note: changing any of the values below will make this peer
+# completely incompatible with other peers!
+INTERVAL = 3600000
+WORKBITS = 20
+
diff --git a/src/peerinfo/Makefile.am b/src/peerinfo/Makefile.am
index d58425730..13a763b47 100644
--- a/src/peerinfo/Makefile.am
+++ b/src/peerinfo/Makefile.am
@@ -1,5 +1,10 @@
INCLUDES = -I$(top_srcdir)/src/include
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ peerinfo.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols -lole32 -lshell32 -liconv -lstdc++ -lcomdlg32 -lgdi32
endif
diff --git a/src/peerinfo/peerinfo.conf b/src/peerinfo/peerinfo.conf
new file mode 100644
index 000000000..1b300ca4b
--- /dev/null
+++ b/src/peerinfo/peerinfo.conf
@@ -0,0 +1,24 @@
+[peerinfo]
+AUTOSTART = YES
+PORT = 2090
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-peerinfo
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-peerinfo.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+HOSTS = $SERVICEHOME/data/hosts/
+
+
diff --git a/src/statistics/Makefile.am b/src/statistics/Makefile.am
index a15aba9fb..80110bbec 100644
--- a/src/statistics/Makefile.am
+++ b/src/statistics/Makefile.am
@@ -9,6 +9,10 @@ if USE_COVERAGE
XLIB = -lgcov
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ statistics.conf
lib_LTLIBRARIES = libgnunetstatistics.la
diff --git a/src/statistics/statistics.conf b/src/statistics/statistics.conf
new file mode 100644
index 000000000..e54c51963
--- /dev/null
+++ b/src/statistics/statistics.conf
@@ -0,0 +1,22 @@
+[statistics]
+AUTOSTART = YES
+PORT = 2088
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-statistics
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-statistics.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
diff --git a/src/template/Makefile.am b/src/template/Makefile.am
index 35a4b433e..1769191e7 100644
--- a/src/template/Makefile.am
+++ b/src/template/Makefile.am
@@ -1,5 +1,10 @@
INCLUDES = -I$(top_srcdir)/src/include
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ template.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
diff --git a/src/template/template.conf b/src/template/template.conf
new file mode 100644
index 000000000..522721fb6
--- /dev/null
+++ b/src/template/template.conf
@@ -0,0 +1,21 @@
+[template]
+AUTOSTART = NO
+PORT = 9999
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-template
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-template.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
diff --git a/src/testing/Makefile.am b/src/testing/Makefile.am
index 7e594e46e..88102e112 100644
--- a/src/testing/Makefile.am
+++ b/src/testing/Makefile.am
@@ -9,6 +9,11 @@ if USE_COVERAGE
XLIB = -lgcov
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ testing.conf
+
if HAVE_EXPENSIVE_TESTS
EXPENSIVE_TESTS = \
test_testing_topology_stability \
diff --git a/src/testing/test_testing_defaults.conf b/src/testing/test_testing_defaults.conf
index 5195882b4..c4810c303 100644
--- a/src/testing/test_testing_defaults.conf
+++ b/src/testing/test_testing_defaults.conf
@@ -58,3 +58,6 @@ AUTOSTART = NO
[fs]
AUTOSTART = NO
+
+[dv]
+AUTOSTART = NO
diff --git a/src/testing/testing.conf b/src/testing/testing.conf
new file mode 100644
index 000000000..1604ebc3a
--- /dev/null
+++ b/src/testing/testing.conf
@@ -0,0 +1,11 @@
+[TESTING]
+# How long before failing a connection?
+CONNECT_TIMEOUT = 30
+# How many connect attempts should we make?
+CONNECT_ATTEMPTS = 3
+# How many connections can happen simultaneously?
+MAX_OUTSTANDING_CONNECTIONS = 50
+
+# Should we clean up the files on peer group shutdown?
+DELETE_FILES = YES
+
diff --git a/src/topology/Makefile.am b/src/topology/Makefile.am
index 3b69627e3..261be8619 100644
--- a/src/topology/Makefile.am
+++ b/src/topology/Makefile.am
@@ -4,6 +4,11 @@ if USE_COVERAGE
AM_CFLAGS = --coverage -O0
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ topology.conf
+
bin_PROGRAMS = \
gnunet-daemon-topology
diff --git a/src/topology/topology.conf b/src/topology/topology.conf
new file mode 100644
index 000000000..39f29219d
--- /dev/null
+++ b/src/topology/topology.conf
@@ -0,0 +1,10 @@
+[topology]
+MINIMUM-FRIENDS = 0
+FRIENDS-ONLY = NO
+AUTOCONNECT = YES
+TARGET-CONNECTION-COUNT = 16
+FRIENDS = $SERVICEHOME/friends
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-topology
+
+
diff --git a/src/transport/Makefile.am b/src/transport/Makefile.am
index 110b43cdf..e5230410c 100644
--- a/src/transport/Makefile.am
+++ b/src/transport/Makefile.am
@@ -2,6 +2,11 @@ INCLUDES = -I$(top_srcdir)/src/include -I$(top_builddir)/src/include
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ transport.conf
+
if HAVE_MHD
GN_LIBMHD = -lmicrohttpd
diff --git a/src/transport/test_transport_defaults.conf b/src/transport/test_transport_defaults.conf
index e2e03a0a9..60a65dec5 100644
--- a/src/transport/test_transport_defaults.conf
+++ b/src/transport/test_transport_defaults.conf
@@ -32,6 +32,9 @@ AUTOSTART = NO
[dns]
AUTOSTART = NO
+[dv]
+AUTOSTART = NO
+
[nat]
DISABLEV6 = YES
BINDTO = 127.0.0.1
diff --git a/src/transport/transport.conf b/src/transport/transport.conf
new file mode 100644
index 000000000..ded8e304d
--- /dev/null
+++ b/src/transport/transport.conf
@@ -0,0 +1,66 @@
+[transport]
+AUTOSTART = YES
+PORT = 2091
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-transport
+#PREFIX = valgrind
+NEIGHBOUR_LIMIT = 50
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+PLUGINS = tcp
+UNIXPATH = /tmp/gnunet-service-transport.sock
+BLACKLIST_FILE = $SERVICEHOME/blacklist
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
+[transport-tcp]
+# Use 0 to ONLY advertise as a peer behind NAT (no port binding)
+PORT = 2086
+ADVERTISED_PORT = 2086
+
+# Maximum number of open TCP connections allowed
+MAX_CONNECTIONS = 128
+
+TIMEOUT = 5000
+# ACCEPT_FROM =
+# ACCEPT_FROM6 =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# BINDTO =
+MAX_CONNECTIONS = 128
+
+[transport-udp]
+PORT = 2086
+#BROADCAST = YES
+#BROADCAST_PORT = 20089
+#BROADCAST_INTERVAL = 30000
+MAX_BPS = 1000000
+
+[transport-http]
+PORT = 1080
+MAX_CONNECTIONS = 128
+
+[transport-https]
+PORT = 4433
+CRYPTO_INIT = NORMAL
+KEY_FILE = https.key
+CERT_FILE = https.cert
+MAX_CONNECTIONS = 128
+
+[transport-wlan]
+# Name of the interface in monitor mode (typically monX)
+INTERFACE = mon0
+# Real hardware, no testing
+TESTMODE = 0
+
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index d816bc42c..98af8383a 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -2,6 +2,11 @@ INCLUDES = -I$(top_srcdir)/src/include -I$(top_builddir)/src/include
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ util.conf resolver.conf
+
if MINGW
noinst_LTLIBRARIES = \
libgnunetutilwin.la
diff --git a/src/util/configuration.c b/src/util/configuration.c
index adfd4ea5a..a269ed036 100644
--- a/src/util/configuration.c
+++ b/src/util/configuration.c
@@ -1215,6 +1215,25 @@ GNUNET_CONFIGURATION_remove_value_filename (struct GNUNET_CONFIGURATION_Handle
/**
+ * Wrapper around GNUNET_CONFIGURATION_parse.
+ *
+ * @param cls the cfg
+ * @param filename file to parse
+ * @return GNUNET_OK on success
+ */
+static int
+parse_configuration_file (void *cls,
+ const char *filename)
+{
+ struct GNUNET_CONFIGURATION_Handle *cfg = cls;
+ int ret;
+
+ ret = GNUNET_CONFIGURATION_parse (cfg, filename);
+ return ret;
+}
+
+
+/**
* Load configuration (starts with defaults, then loads
* system-specific configuration).
*
@@ -1233,17 +1252,24 @@ GNUNET_CONFIGURATION_load (struct GNUNET_CONFIGURATION_Handle *cfg,
if (ipath == NULL)
return GNUNET_SYSERR;
baseconfig = NULL;
- GNUNET_asprintf (&baseconfig, "%s%s%s", ipath, DIR_SEPARATOR_STR,
- "defaults.conf");
+ GNUNET_asprintf (&baseconfig, "%s%s", ipath,
+ "config.d");
GNUNET_free (ipath);
- if ((GNUNET_OK != GNUNET_CONFIGURATION_parse (cfg, baseconfig)) ||
- (!((filename == NULL) ||
- (GNUNET_OK == GNUNET_CONFIGURATION_parse (cfg, filename)))))
- {
- GNUNET_free (baseconfig);
- return (filename == NULL) ? GNUNET_OK : GNUNET_SYSERR;
- }
- GNUNET_free (baseconfig);
+ if (GNUNET_SYSERR ==
+ GNUNET_DISK_directory_scan (baseconfig,
+ &parse_configuration_file,
+ cfg))
+ {
+ GNUNET_free (baseconfig);
+ return GNUNET_SYSERR; /* no configuration at all found */
+ }
+ GNUNET_free (baseconfig);
+ if ( (filename != NULL) &&
+ (GNUNET_OK != GNUNET_CONFIGURATION_parse (cfg, filename)) )
+ {
+ /* specified configuration not found */
+ return GNUNET_SYSERR;
+ }
if (((GNUNET_YES !=
GNUNET_CONFIGURATION_have_value (cfg, "PATHS", "DEFAULTCONFIG"))) &&
(filename != NULL))
diff --git a/src/util/disk.c b/src/util/disk.c
index 2021d6493..12f985791 100644
--- a/src/util/disk.c
+++ b/src/util/disk.c
@@ -795,6 +795,7 @@ GNUNET_DISK_fn_write (const char *fn, const void *buffer, size_t n,
return ret;
}
+
/**
* Scan a directory for files.
*
diff --git a/src/util/resolver.conf b/src/util/resolver.conf
new file mode 100644
index 000000000..a2690fcc3
--- /dev/null
+++ b/src/util/resolver.conf
@@ -0,0 +1,22 @@
+[resolver]
+AUTOSTART = YES
+PORT = 2089
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-resolver
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-resolver.sock
+UNIX_MATCH_UID = NO
+UNIX_MATCH_GID = NO
+# DISABLE_SOCKET_FORWARDING = NO
+# USERNAME =
+# MAXBUF =
+# TIMEOUT =
+# DISABLEV6 =
+# BINDTO =
+# REJECT_FROM =
+# REJECT_FROM6 =
+# PREFIX =
+
diff --git a/src/util/util.conf b/src/util/util.conf
new file mode 100644
index 000000000..ba9dfec70
--- /dev/null
+++ b/src/util/util.conf
@@ -0,0 +1,16 @@
+[PATHS]
+SERVICEHOME = ~/.gnunet/
+# SERVICEHOME = /var/lib/gnunet/
+# DEFAULTCONFIG = /etc/gnunet.conf
+# If 'DEFAULTCONFIG' is not defined, the current
+# configuration file is assumed to be the default,
+# which is what we want by default...
+
+[gnunetd]
+HOSTKEY = $SERVICEHOME/.hostkey
+
+[client]
+HOME = $SERVICEHOME
+
+[TESTING]
+WEAKRANDOM = NO
diff --git a/src/vpn/Makefile.am b/src/vpn/Makefile.am
index d0abc6522..c6b390aca 100644
--- a/src/vpn/Makefile.am
+++ b/src/vpn/Makefile.am
@@ -8,6 +8,11 @@ if USE_COVERAGE
AM_CFLAGS = --coverage -O0
endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ vpn.conf
+
if LINUX
VPNBIN = gnunet-helper-vpn
HIJACKBIN = gnunet-helper-hijack-dns
diff --git a/src/vpn/vpn.conf b/src/vpn/vpn.conf
new file mode 100644
index 000000000..0baaa838a
--- /dev/null
+++ b/src/vpn/vpn.conf
@@ -0,0 +1,33 @@
+[vpn]
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-vpn
+IPV6ADDR = 1234::1
+IPV6PREFIX = 32
+IPV4ADDR = 10.11.10.1
+IPV4MASK = 255.255.0.0
+VIRTDNS = 10.11.10.2
+VIRTDNS6 = 1234::17
+IFNAME = vpn-gnunet
+
+[exit]
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-daemon-exit
+IPV6ADDR = 1234:1::1
+IPV6PREFIX = 32
+IPV4ADDR = 10.10.1.1
+IPV4MASK = 255.255.0.0
+IFNAME = exit-gnunet
+ENABLE_UDP = NO
+ENABLE_TCP = NO
+
+[dns]
+AUTOSTART = YES
+PORT = 0
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-dns
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-dns.sock
+PROVIDE_EXIT = NO