aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-11-03 13:19:52 +0000
committerChristian Grothoff <christian@grothoff.org>2011-11-03 13:19:52 +0000
commit29c724d2a7764f83fe846b418d09540348b86983 (patch)
treedafaff8e37ba51355b22b6f38d856ae49e145006 /src
parentb303961f38c9b578f30248ee364ed4e5ffdcd06c (diff)
implementing #1747
Diffstat (limited to 'src')
-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
53 files changed, 716 insertions, 10 deletions
diff --git a/src/arm/Makefile.am b/src/arm/Makefile.am
index bd6e7e0e75..9ed8bbe159 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 0000000000..beb3d30c83
--- /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 5cba4fccb1..0db590a81a 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 0000000000..f5d6c77653
--- /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 4522966136..96b66c3eeb 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 0000000000..dbae438b7a
--- /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 dcf1f5a2d5..859e8f1f1c 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 0000000000..61d551e166
--- /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 b2629a567b..13054d15a3 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 0000000000..1d7815ad60
--- /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 5d8da2d34a..b3b7450958 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 8e4f265cdb..5a3d22bbb8 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 0000000000..fb850f39fd
--- /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 cecda89b43..cab08bc0fb 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 0000000000..ed44036c7e
--- /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 2af5c53152..e2911fc2d5 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 952e828d34..ad1d05d25f 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 0000000000..50c25daac9
--- /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 d505e31c41..c0e826a2ca 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 0000000000..8fbf236598
--- /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 85e3a4539a..3e94e91826 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 0000000000..7e3fecd7b0
--- /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 5e54e15ea1..f71a120618 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 8af1d4a7fe..f764f2fbe7 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 0000000000..3f8c142277
--- /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 473ac2a95c..08c58b963e 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 bfec0d5b44..f6546a586c 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 0000000000..922275368e
--- /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 5adab1ae58..ed3a1545ae 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 0000000000..e446122895
--- /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 af16a420de..48844bfc07 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 0000000000..318fd15fd4
--- /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 d584257303..13a763b476 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 0000000000..1b300ca4b4
--- /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 a15aba9fb2..80110bbec8 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 0000000000..e54c51963f
--- /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 35a4b433e8..1769191e7a 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 0000000000..522721fb67
--- /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 7e594e46ed..88102e112c 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 5195882b4f..c4810c3032 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 0000000000..1604ebc3a0
--- /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 3b69627e35..261be86190 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 0000000000..39f29219dd
--- /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 110b43cdff..e5230410c2 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 e2e03a0a9f..60a65dec59 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 0000000000..ded8e304d5
--- /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 d816bc42c4..98af8383a8 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 adfd4ea5aa..a269ed0361 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 2021d6493a..12f985791b 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 0000000000..a2690fcc36
--- /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 0000000000..ba9dfec70c
--- /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 d0abc65220..c6b390acab 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 0000000000..0baaa838ae
--- /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