Commit cd9f34a8 authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰
Browse files

Merge branch 'master' into trac3599

parents 8502a73c e292fe03
......@@ -66,6 +66,10 @@ We have received the following contributions:
- Nicolas Chaigneau, Capgemini
2014-09: Fix for interfaces with multiple addresses in perfdhcp
- Marcin Wyszynki, Facebook
2014-11: Export CalloutManager headers for testing statically linked
libraries.
Kea uses log4cplus (http://sourceforge.net/projects/log4cplus/) for logging,
Boost (http://www.boost.org/) library for almost everything, and can use Botan
(http://botan.randombit.net/) or OpenSSL (https://www.openssl.org/) for
......
861. [func] marcin
The configuration parameters for a DHCPv4 and DHCPv6 options are now
optional.
(Trac #3467, git 7bf8cef161e6dd00a7f2b2fe8ec04e1958d6db3f)
860. [bug] marcin
Fixed calculation of the Client FQDN option length for the ASCII
domain name encoding.
(Trac #3624, git 5a120d9bf85e27ea5b2674d35af0f2774e4cd2a7)
859. [func] marcin
Implemented Host Manager, which can retrieve host reservations
specified in the server's configuration. Future tickets will
extend Host Manager to retrieve reservations from other sources,
e.g. SQL databases.
(Trac #3561, git faac5e9746dbf82eb04ffef95658e4b4c7d64a4a)
858. [bug] marcin
Added missing "lease-database" entry to the default DHCPv6
server configuration, in kea.conf.
(Trac #3630, git 0f7ff732ea2add45a24e040eae8a0dda27532a31)
857. [func] fdupont
Improve the cryptolink code, for instance use a constant
time comparison.
(Trac #3602, git 0c1f433da650330b40fe1a67bae4716c9184f636)
856. [build] marcinw
callout_manager.h and server_hooks.h headers are now exported,
so statically linked libraries can be tested.
(Github #4, git 00b5f3fa0369c13021bf4fb78c6450e524e4e411)
855. [build] fdupont
Use convenience archives for objects used in a makefile and
its parent makefile: before sources were compiled twice using
the broken subdir-objects option of automake, now objects
are put into a convenience static library (so an archive).
(Trac #3631, git d7954b4234114d8fa41aa51f671d4faa1724b748)
854. [bug] marcin
Corrected a regression on "make distcheck" which appeared after
implementation of #3162 (partial fix).
(Trac #3629, git 9bb6b76a24e4356b30e59631e76e32c3096fb515)
853. [func] tomek
Lease6 now is able to store MAC/hardware address information. Memfile
memfile backend has been updated to store/retrieve that additional
......@@ -11,8 +55,8 @@
(Trac #3549, git d92e76860e6931477b3e60e5be8978302973f88f)
851. [bug] tmark
Corrected a segmentation fault that was occurring under OS-X during D2 module
shutdown.
Corrected a segmentation fault that was occurring under OS-X
during D2 module shutdown.
(Trac #3470, git f7822568abd04c12faa3cde34fadaac238a373d3)
850. [build] fdupont
......
......@@ -4,8 +4,10 @@ EXTRA_DIST = version.ent.in differences.txt Doxyfile Doxyfile-xml
nobase_dist_doc_DATA = examples/kea4/single-subnet.json
nobase_dist_doc_DATA += examples/kea4/several-subnets.json
nobase_dist_doc_DATA += examples/kea4/multiple-options.json
nobase_dist_doc_DATA += examples/kea6/simple.json
nobase_dist_doc_DATA += examples/kea6/several-subnets.json
nobase_dist_doc_DATA += examples/kea6/multiple-options.json
nobase_dist_doc_DATA += examples/ddns/sample1.json
nobase_dist_doc_DATA += examples/ddns/template.json
......
......@@ -88,6 +88,7 @@
* - @subpage libdhcpsrv
* - @subpage leasemgr
* - @subpage cfgmgr
* - @subpage hostmgr
* - @subpage optionsConfig
* - @subpage allocengine
* - @subpage libdhcp_ddns
......
# This is an example configuration file for the DHCPv4 server in Kea.
# It demonstrates simple configuration of the options for a subnet.
{ "Dhcp4":
{
# Kea is told to listen on eth0 interface only.
"interfaces": [ "eth0" ],
# We need to specify lease type. As of May 2014, three backends are supported:
# memfile, mysql and pgsql. We'll just use memfile, because it doesn't require
# any prior set up.
"lease-database": {
"type": "memfile"
},
# Addresses will be assigned with valid lifetimes being 4000. Client
# is told to start renewing after 1000 seconds. If the server does not respond
# after 2000 seconds since the lease was granted, client is supposed
# to start REBIND procedure (emergency renewal that allows switching
# to a different server).
"valid-lifetime": 4000,
# Renew and rebind timers are commented out. This implies that options
# 58 and 59 will not be sent to the client. In this case it is up to
# the client to pick the timer values according to RFC2131. Uncomment the
# timers to send these options to the client.
# "renew-timer": 1000,
# "rebind-timer": 2000,
# Defining a subnet. There are 3 DHCP options returned to the
# clients connected to this subnet. The first two options are
# identified by the name. The third option is identified by the
# option code.
"subnet4": [
{
"pools": [ { "pool": "192.0.2.10 - 192.0.2.200" } ],
"subnet": "192.0.2.0/24",
"interface": "eth0",
"option-data": [
{
"name": "domain-name-servers",
"data": "192.0.2.1, 192.0.2.2"
},
{
"name": "routers",
"data": "192.0.2.1"
},
{
"code": 15,
"data": "example.org"
}
]
}
]
},
# The following configures logging. It assumes that messages with at least
# informational level (info, warn, error) will will be logged to stdout.
"Logging": {
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "stdout"
}
],
"severity": "INFO"
}
]
}
}
# This is an example configuration file for DHCPv6 server in Kea.
# It demonstrates simple configuration of the options for a subnet.
{ "Dhcp6":
{
# Kea is told to listen on eth0 interface only.
"interfaces": [ "eth0" ],
# We need to specify lease type. As of May 2014, three backends are supported:
# memfile, mysql and pgsql. We'll just use memfile, because it doesn't require
# any prior set up.
"lease-database": {
"type": "memfile"
},
# Addresses will be assigned with preferred and valid lifetimes
# being 3000 and 4000, respectively. Client is told to start
# renewing after 1000 seconds. If the server does not repond
# after 2000 seconds since the lease was granted, client is supposed
# to start REBIND procedure (emergency renewal that allows switching
# to a different server).
"preferred-lifetime": 3000,
"valid-lifetime": 4000,
"renew-timer": 1000,
"rebind-timer": 2000,
# Defining a subnet. There are 2 DHCP options returned to the
# clients connected to this subnet. The first option is identified
# by the name. The second option is identified by the code.
"subnet6": [
{
"pools": [ { "pool": "2001:db8:1::/80" } ],
"subnet": "2001:db8:1::/64",
"interface": "eth0",
"option-data": [
{
"name": "dns-servers",
"data": "2001:db8:2::45, 2001:db8:2::100"
},
{
"code": 12,
"data": "2001:db8:1:0:ff00::1"
},
]
}
]
},
# The following configures logging. Kea will log all debug messages
# to /var/log/kea-debug.log file.
"Logging": {
"loggers": [
{
"name": "kea-dhcp6",
"output_options": [
{
"output": "/var/log/kea-debug.log"
}
],
"debuglevel": 99,
"severity": "DEBUG"
}
]
}
}
......@@ -6,8 +6,8 @@
<chapter id="kea-config">
<title>Kea configuration</title>
<para>Depending on configuration backend chosen (see <xref
linkend="dhcp-config-backend"/>), configuration mechanisms are different. The
<para>Depending on the configuration backend chosen (see <xref
linkend="dhcp-config-backend"/>), the configuration mechanisms are different. The
following sections describe details of the different configuration backends. Note
that only one configuration backend can be used and its selection is
made when the configure script is run.</para>
......@@ -27,7 +27,7 @@
It assumes that the servers are started from the command line
(either directly or using a script, e.g. <filename>keactrl</filename>).
The JSON backend uses certain signals to influence Kea. The
configuration file is specified upon startup using -c parameter.</para>
configuration file is specified upon startup using the -c parameter.</para>
<section id="json-format">
<title>JSON syntax</title>
......@@ -106,7 +106,7 @@
rest of this guide will showcase only the subset of parameters appropriate for a given
context. For example, when discussing the IPv6 subnets configuration in
DHCPv6, only subnet6 parameters will be mentioned. It is implied that
remaining elements (the global map that holds Dhcp6, Logging and possibly
the remaining elements (the global map that holds Dhcp6, Logging and possibly
DhcpDdns) are present, but they are omitted for clarity. Usually, locations
where extra parameters may appear are denoted with an ellipsis.</para>
</section>
......@@ -114,11 +114,11 @@
<section>
<title>Simplified Notation</title>
<para>It is sometimes convenient to refer to specific element in the
<para>It is sometimes convenient to refer to a specific element in the
configuration hierarchy. Each hierarchy level is separated by a slash.
If there is an array, a specific instance within that array is referred by
If there is an array, a specific instance within that array is referenced by
a number in square brackets (with numbering starting at zero). For example, in the above configuration the
valid-lifetime in Dhcp6 component can be referred to as
valid-lifetime in the Dhcp6 component can be referred to as
Dhcp6/valid-lifetime, the first interface for the DHCPv4 server as
Dhcp4/interfaces[0] and the pool in the first subnet defined in the DHCPv6
configuration as Dhcp6/subnet6[0]/pool.</para>
......
......@@ -16,7 +16,7 @@
necessary conversation with those servers to update the DNS data.
</para>
<para>
In order to match a request to appropriate DNS servers, D2 must have a
In order to match a request to the appropriate DNS servers, D2 must have a
catalog of servers from which to select. In fact, D2 has two such catalogs,
one for forward DNS and one for reverse DNS; these catalogs are referred
to as DDNS Domain Lists. Each list consists of one or more named DDNS
......@@ -55,7 +55,7 @@
<command>kea-dhcp-ddns</command> is the Kea DHCP-DDNS server
and, due to the nature of DDNS, it is run alongside either the
DHCPv4 or DHCPv6 components (or both). Like other parts of
Kea, is a separate binary that can be run on its own or through
Kea, it is a separate binary that can be run on its own or through
<command>keactrl</command> (see <xref linkend="keactrl"/>). In
normal operation, controlling <command>kea-dhcp-ddns</command>
with <command>keactrl</command> is recommended. However, it is also
......@@ -74,7 +74,7 @@
<simpara>
<command>-d</command> - specifies whether the server
logging should be switched to debug/verbose mode. In verbose mode,
the logging severity and debuglevel specified in a configuration
the logging severity and debuglevel specified in the configuration
file are ignored and "debug" severity and the maximum debuglevel
(99) are assumed. The flag is convenient, for temporarily
switching the server into maximum verbosity, e.g. when
......@@ -330,7 +330,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
"DhcpDdns": {
"tsig_keys": [
<userinput> {
"name": "key.four.example.com",
"name": "key.four.example.com.",
"algorithm": "HMAC-SHA224",
"secret": "bZEG7Ow8OgAUPfLWV3aAUQ=="
}</userinput>
......@@ -376,7 +376,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
by zone and a DDNS Domain only defines a single zone.
</para>
<para>
The section describes how to add Forward DDNS Domains. Repeat these
This section describes how to add Forward DDNS Domains. Repeat these
steps for each Forward DDNS Domain desired. Each Forward DDNS Domain
has the following parameters:
<itemizedlist>
......@@ -418,7 +418,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
"forward_ddns": {
"ddns_domains": [
<userinput>{
"name": "other.example.com",
"name": "other.example.com.",
"key_name": "",
"dns_servers": [
]
......@@ -437,7 +437,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
<section id="add-forward-dns-servers">
<title>Adding Forward DNS Servers</title>
<para>
The section describes how to add DNS servers to a Forward DDNS Domain.
This section describes how to add DNS servers to a Forward DDNS Domain.
Repeat them for as many servers as desired for a each domain.
</para>
<para>
......@@ -468,7 +468,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
</listitem>
</itemizedlist>
To create a new forward DNS Server, one must add a new server
element to the domain and fill its parameters. If for
element to the domain and fill in its parameters. If for
example the service is running at "172.88.99.10", then set it as
follows:
<screen>
......@@ -476,7 +476,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
"forward_ddns": {
"ddns_domains": [
{
"name": "other.example.com",
"name": "other.example.com.",
"key_name": "",
"dns_servers": [
<userinput>{
......@@ -535,7 +535,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
single zone.
</para>
<para>
The section describes how to add Reverse DDNS Domains. Repeat these
This section describes how to add Reverse DDNS Domains. Repeat these
steps for each Reverse DDNS Domain desired. Each Reverse DDNS Domain
has the following parameters:
<itemizedlist>
......@@ -603,8 +603,8 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
<section id="add-reverse-dns-servers">
<title>Adding Reverse DNS Servers</title>
<para>
The section describes how to add DNS servers to a Reverse DDNS Domain.
Repeat them for as many servers as desired for a each domain.
This section describes how to add DNS servers to a Reverse DDNS Domain.
Repeat them for as many servers as desired for each domain.
</para>
<para>
Reverse DNS Server entries represents a actual DNS servers which
......@@ -633,7 +633,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
</listitem>
</itemizedlist>
To create a new reverse DNS Server, one must first add a new server
element to the domain and fill its parameters. If for
element to the domain and fill in its parameters. If for
example the service is running at "172.88.99.10", then set it as
follows:
<screen>
......
This diff is collapsed.
This diff is collapsed.
......@@ -310,7 +310,7 @@ Debian and Ubuntu:
<para>
For additional instructions concerning the building and installation of
Kea for various databases, see <xref linkend="dhcp-install-configure"/>.
For additional instructions concerning configuration backends, see
For additional instructions concerning the configuration backends, see
<xref linkend="dhcp-config-backend" />.
</para>
</note>
......@@ -389,7 +389,7 @@ Debian and Ubuntu:
<section id="dhcp-config-backend">
<title>Selecting the Configuration Backend</title>
<para>Kea 0.9 introduces configuration backends that are
switchable during compilation phase. The backend is chosen using
switchable during the compilation phase. The backend is chosen using
the --with-kea-config switch when running the configure script. It
currently supports two values: BUNDY and JSON. JSON is the default.
</para>
......@@ -415,8 +415,8 @@ Debian and Ubuntu:
<varlistentry>
<term>JSON</term>
<listitem>
<simpara>JSON is a new default configuration backend
that causes Kea to read JSON configuration file from
<simpara>JSON is the new default configuration backend
that causes Kea to read JSON configuration files from
disk. It does not require any framework and thus is
considered more lightweight. It will allow dynamic
on-line reconfiguration, but will lack remote capabilities
......
......@@ -107,7 +107,7 @@ kea_verbose=no
<para>
By default, Kea servers managed by <command>keactrl</command> are
located in <filename>[kea-install-dir]/sbin</filename>. This
should work for most of the installations. If the default
should work for most installations. If the default
location needs to be altered for any reason, the paths
specified with the <parameter>dhcp4_srv</parameter>,
<parameter>dhcp6_srv</parameter> and <parameter>dhcp_ddns_srv</parameter>
......
......@@ -264,7 +264,7 @@
Each logger can have zero or more
<option>output_options</option>. These specify where log
messages are sent to. These are explained in detail below.
messages are sent. These are explained in detail below.
</para>
......@@ -583,7 +583,7 @@ file be created.</para>
<varlistentry>
<term>KEA_LOCKFILE_DIR</term>
<listitem><para>
Specifies a directory where logging system should create its
Specifies a directory where the logging system should create its
lock file. If not specified, it is
<replaceable>prefix</replaceable>/var/run/kea, where
<replaceable>prefix</replaceable> defaults to /usr/local.
......
......@@ -61,7 +61,7 @@ $ <userinput>./configure [your extra parameters]</userinput></screen>
</listitem>
<listitem>
<para>Edit configuration file which is by default installed in
<para>Edit the configuration file which by default is installed in
<filename>[kea-install-dir]/etc/kea/kea.conf</filename> and contains
configuration for all Kea services. Configuration choices for DHCPv4
and DHCPv6 services are described in <xref linkend="dhcp4-configuration"/> and <xref linkend="dhcp6-configuration"/>, respectively.</para>
......
......@@ -45,41 +45,48 @@ s-messages: d2_messages.mes
BUILT_SOURCES = spec_config.h d2_messages.h d2_messages.cc
sbin_PROGRAMS = kea-dhcp-ddns
kea_dhcp_ddns_SOURCES = main.cc
kea_dhcp_ddns_SOURCES += d_process.h
kea_dhcp_ddns_SOURCES += d_controller.cc d_controller.h
kea_dhcp_ddns_SOURCES += d_cfg_mgr.cc d_cfg_mgr.h
kea_dhcp_ddns_SOURCES += d2_asio.h
kea_dhcp_ddns_SOURCES += d2_log.cc d2_log.h
kea_dhcp_ddns_SOURCES += d2_process.cc d2_process.h
kea_dhcp_ddns_SOURCES += d2_config.cc d2_config.h
kea_dhcp_ddns_SOURCES += d2_cfg_mgr.cc d2_cfg_mgr.h
kea_dhcp_ddns_SOURCES += d2_queue_mgr.cc d2_queue_mgr.h
kea_dhcp_ddns_SOURCES += d2_update_message.cc d2_update_message.h
kea_dhcp_ddns_SOURCES += d2_update_mgr.cc d2_update_mgr.h
kea_dhcp_ddns_SOURCES += d2_zone.cc d2_zone.h
kea_dhcp_ddns_SOURCES += dns_client.cc dns_client.h
kea_dhcp_ddns_SOURCES += io_service_signal.cc io_service_signal.h
kea_dhcp_ddns_SOURCES += labeled_value.cc labeled_value.h
kea_dhcp_ddns_SOURCES += nc_add.cc nc_add.h
kea_dhcp_ddns_SOURCES += nc_remove.cc nc_remove.h
kea_dhcp_ddns_SOURCES += nc_trans.cc nc_trans.h
kea_dhcp_ddns_SOURCES += state_model.cc state_model.h
# convenience archive
noinst_LTLIBRARIES = libd2.la
libd2_la_SOURCES =
libd2_la_SOURCES += d_process.h
libd2_la_SOURCES += d_controller.cc d_controller.h
libd2_la_SOURCES += d_cfg_mgr.cc d_cfg_mgr.h
libd2_la_SOURCES += d2_asio.h
libd2_la_SOURCES += d2_log.cc d2_log.h
libd2_la_SOURCES += d2_process.cc d2_process.h
libd2_la_SOURCES += d2_config.cc d2_config.h
libd2_la_SOURCES += d2_cfg_mgr.cc d2_cfg_mgr.h
libd2_la_SOURCES += d2_queue_mgr.cc d2_queue_mgr.h
libd2_la_SOURCES += d2_update_message.cc d2_update_message.h
libd2_la_SOURCES += d2_update_mgr.cc d2_update_mgr.h
libd2_la_SOURCES += d2_zone.cc d2_zone.h
libd2_la_SOURCES += dns_client.cc dns_client.h
libd2_la_SOURCES += io_service_signal.cc io_service_signal.h
libd2_la_SOURCES += labeled_value.cc labeled_value.h
libd2_la_SOURCES += nc_add.cc nc_add.h
libd2_la_SOURCES += nc_remove.cc nc_remove.h
libd2_la_SOURCES += nc_trans.cc nc_trans.h
libd2_la_SOURCES += state_model.cc state_model.h
if CONFIG_BACKEND_BUNDY
kea_dhcp_ddns_SOURCES += bundy_d2_controller.cc bundy_d2_controller.h
libd2_la_SOURCES += bundy_d2_controller.cc bundy_d2_controller.h
else
if CONFIG_BACKEND_JSON
kea_dhcp_ddns_SOURCES += d2_controller.cc d2_controller.h
libd2_la_SOURCES += d2_controller.cc d2_controller.h
endif
endif
nodist_kea_dhcp_ddns_SOURCES = d2_messages.h d2_messages.cc
nodist_libd2_la_SOURCES = d2_messages.h d2_messages.cc
EXTRA_DIST += d2_messages.mes
kea_dhcp_ddns_LDADD = $(top_builddir)/src/lib/log/libkea-log.la
sbin_PROGRAMS = kea-dhcp-ddns
kea_dhcp_ddns_SOURCES = main.cc
kea_dhcp_ddns_LDADD = libd2.la
kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/asiodns/libkea-asiodns.la
......
AUTOMAKE_OPTIONS = subdir-objects
SHTESTS =
# The test of dynamic reconfiguration based on signals will work only
# if we are using file based configuration approach.
......@@ -52,26 +50,7 @@ if HAVE_GTEST
TESTS += d2_unittests
d2_unittests_SOURCES = ../d2_asio.h
d2_unittests_SOURCES += ../d2_log.h ../d2_log.cc
d2_unittests_SOURCES += ../d_process.h
d2_unittests_SOURCES += ../d_controller.cc ../d_controller.h
d2_unittests_SOURCES += ../d_cfg_mgr.cc ../d_cfg_mgr.h
d2_unittests_SOURCES += ../d2_process.cc ../d2_process.h
d2_unittests_SOURCES += ../d2_config.cc ../d2_config.h
d2_unittests_SOURCES += ../d2_cfg_mgr.cc ../d2_cfg_mgr.h
d2_unittests_SOURCES += ../d2_queue_mgr.cc ../d2_queue_mgr.h
d2_unittests_SOURCES += ../d2_update_message.cc ../d2_update_message.h
d2_unittests_SOURCES += ../d2_update_mgr.cc ../d2_update_mgr.h
d2_unittests_SOURCES += ../d2_zone.cc ../d2_zone.h
d2_unittests_SOURCES += ../dns_client.cc ../dns_client.h
d2_unittests_SOURCES += ../io_service_signal.cc ../io_service_signal.h
d2_unittests_SOURCES += ../labeled_value.cc ../labeled_value.h
d2_unittests_SOURCES += ../nc_add.cc ../nc_add.h
d2_unittests_SOURCES += ../nc_remove.cc ../nc_remove.h
d2_unittests_SOURCES += ../nc_trans.cc ../nc_trans.h
d2_unittests_SOURCES += ../state_model.cc ../state_model.h
d2_unittests_SOURCES += d_test_stubs.cc d_test_stubs.h
d2_unittests_SOURCES = d_test_stubs.cc d_test_stubs.h
d2_unittests_SOURCES += d2_unittests.cc
d2_unittests_SOURCES += d2_process_unittests.cc
d2_unittests_SOURCES += d_cfg_mgr_unittests.cc
......@@ -88,14 +67,11 @@ d2_unittests_SOURCES += nc_remove_unittests.cc
d2_unittests_SOURCES += nc_test_utils.cc nc_test_utils.h
d2_unittests_SOURCES += nc_trans_unittests.cc
d2_unittests_SOURCES += state_model_unittests.cc
nodist_d2_unittests_SOURCES = ../d2_messages.h ../d2_messages.cc
if CONFIG_BACKEND_BUNDY
d2_unittests_SOURCES += ../bundy_d2_controller.cc ../bundy_d2_controller.h
d2_unittests_SOURCES += bundy_d2_controller_unittests.cc
else
if CONFIG_BACKEND_JSON
d2_unittests_SOURCES += ../d2_controller.cc ../d2_controller.h
d2_unittests_SOURCES += d2_controller_unittests.cc
d2_unittests_SOURCES += d_controller_unittests.cc
endif
......@@ -104,6 +80,7 @@ endif
d2_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
d2_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)
d2_unittests_LDADD = $(GTEST_LDADD)
d2_unittests_LDADD += $(top_builddir)/src/bin/d2/libd2.la
d2_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
d2_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
d2_unittests_LDADD += $(top_builddir)/src/lib/asiodns/libkea-asiodns.la
......
......@@ -45,26 +45,33 @@ s-messages: dhcp4_messages.mes
BUILT_SOURCES = spec_config.h dhcp4_messages.h dhcp4_messages.cc
sbin_PROGRAMS = kea-dhcp4
# convenience archive
kea_dhcp4_SOURCES = main.cc
kea_dhcp4_SOURCES += ctrl_dhcp4_srv.cc ctrl_dhcp4_srv.h
kea_dhcp4_SOURCES += json_config_parser.cc json_config_parser.h
kea_dhcp4_SOURCES += dhcp4_log.cc dhcp4_log.h
kea_dhcp4_SOURCES += dhcp4_srv.cc dhcp4_srv.h
noinst_LTLIBRARIES = libdhcp4.la
libdhcp4_la_SOURCES =
libdhcp4_la_SOURCES += ctrl_dhcp4_srv.cc ctrl_dhcp4_srv.h
libdhcp4_la_SOURCES += json_config_parser.cc json_config_parser.h
libdhcp4_la_SOURCES += dhcp4_log.cc dhcp4_log.h
libdhcp4_la_SOURCES += dhcp4_srv.cc dhcp4_srv.h
if CONFIG_BACKEND_BUNDY
kea_dhcp4_SOURCES += bundy_controller.cc
libdhcp4_la_SOURCES += bundy_controller.cc
endif
if CONFIG_BACKEND_JSON
kea_dhcp4_SOURCES += kea_controller.cc
libdhcp4_la_SOURCES += kea_controller.cc
endif
nodist_kea_dhcp4_SOURCES = dhcp4_messages.h dhcp4_messages.cc
nodist_libdhcp4_la_SOURCES = dhcp4_messages.h dhcp4_messages.cc
EXTRA_DIST += dhcp4_messages.mes
kea_dhcp4_LDADD = $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
sbin_PROGRAMS = kea-dhcp4
kea_dhcp4_SOURCES = main.cc
kea_dhcp4_LDADD = libdhcp4.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la