Hello,

See below for an update to net/kea from 1.0.0 to 1.1.0.

>From the release statement
(https://kb.isc.org/article/AA-01428/0/Kea-1.1.0-Release-Notes.html):
===

* Additional Database Backend - Kea 1.1.0 has added preliminary support for
  Cassandra as a database backend.  In this release of Kea it can only be used
  to store lease information, it is not able store host reservations.
  Cassandra support is currently considered experimental. Use with caution.

* Host Reservations - Kea 1.0 contained limited support for storing host
  reservations in the database backend.  Kea 1.1.0 has expanded that
  capability, allowing host reservations to be stored in a MySQL or
  PostgreSQL database. In particular, Kea 1.1.0:
  - Adds host reservation (DHCPv4 and DHCPv6) using the PostgreSQL backend.
  - Adds host reservation for DHCPv6 to the existing MySQL support.
  - Significantly extends the existing host reservation capabilities to
    include reservations of specific DHCP options, reservations of siaddr,
    sname, and file fields within DHCPv4 messages, and reservations of
    multiple IPv6 addresses/prefixes.
  - Allows the MySQL or PostgreSQL host reservation database to be configured
    read-only, in which case Kea will be able to retrieve reservations from it,
    but not insert or update existing reservations. This feature is useful
    when a database (or database view) exists for the particular deployment
    and the administrator doesn't want to grant read-write access for security
    reasons.

* Client Classification - In Kea 1.1 the client classification system has been
  expanded. A class definition contains a name and a test expression of
  arbitrary complexity; if the test expression evaluates to "true" the client
  is a member of that class.  A client may be a member of multiple classes and
  can acquire options from different classes.   If the configuration contains
  multiple definitions for data for an option in two or more of the global,
  class, subnet or host entries, the server will choose the definition from
  the most specific entry.

  There are a number of objects and operators available for use in the test
  expression.
  - Operators include: equal, not, and, or, substring, concat
  - Objects include:
   - literals: string, hexadecimal, IP address and integer
   - options: existence and content
   - relay options for DHCPv4 and DHCPv6: existence and content
   - subfields within vendor and vendor class options: existence,
     enterprise-id value and content
   - selected fields from DHCPv4 and DHCPv6 packets
  - Classes may be used to select subnets
  - Classes and class specific subnets may contain option data to serve to
    clients within that class

* Hook Library Parameters - It is now possible to specify parameters for hook
  libraries in the Kea configuration file. In earlier versions of Kea, hook
  library authors had to use a external mechanism (such as file of a known
  name) to pass information across.

* DHCPv4-over-DHCPv6 - RFC7341 (https://tools.ietf.org/html/rfc7341) defines
  an architecture that allows dual-stack clients to communicate with DHCPv4
  server in IPv6-only networks. Kea 1.1 introduces support for this mode of
  operation. It requires running both DHCPv4 and DHCPv6 servers in special
  mode, where DHCPv6 component does not allocate anything, but decapsulates
  incoming DHCPv4 messages, sends the to the DHCPv4 server and then relay
  back the responses.
===

Note that I have not addded any build options for the cassandra version, since
there is no cassandra port available.

This also brings up another question of mine: where to place logs.

Currently the default setup creates logs in the following places:
/var/kea/kea.log
/var/log/kea-ddns.log
/var/log/kea-dhcp4.log
/var/log/kea-dhcp6.log

Of course the port does not do anything to setup rotation of these logs. Any
input how this should be handled? There are currently some problems with the
syslog code (formatting of the messages and problems with setting the syslog
facility) that is stopping me from making that the default configuration.

These questions apply for the version currently in-tree, so not a new
problem introduced by the update.

The syslog issues as well as the added patches for fixing the test suite are
being discussed upstream in this thread:
https://lists.isc.org/pipermail/kea-users/2016-September/000547.html
https://lists.isc.org/pipermail/kea-users/2016-October/000560.html

Other then that the library versions of the port have been bumped based on
shared_libs.log in WRKSRC.

-- 
Patrik Lundin

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/kea/Makefile,v
retrieving revision 1.5
diff -u -p -u -r1.5 Makefile
--- Makefile    14 Mar 2016 06:46:24 -0000      1.5
+++ Makefile    9 Oct 2016 21:10:57 -0000
@@ -2,28 +2,28 @@
 
 COMMENT=       high-performance and extensible DHCP server engine from ISC
 
-VERSION=       1.0.0
+VERSION=       1.1.0
 
 DISTNAME=      kea-${VERSION}
 PKGNAME=       ${DISTNAME:S/-P/pl/}
 
 SHARED_LIBS +=  kea-asiodns               0.0 # 0.0
-SHARED_LIBS +=  kea-asiolink              0.0 # 2.0
+SHARED_LIBS +=  kea-asiolink              1.0 # 3.0
 SHARED_LIBS +=  kea-cc                    0.0 # 1.0
-SHARED_LIBS +=  kea-cfgclient             0.0 # 2.0
+SHARED_LIBS +=  kea-cfgclient             0.1 # 2.1
 SHARED_LIBS +=  kea-cryptolink            0.0 # 1.0
-SHARED_LIBS +=  kea-dhcp++                0.0 # 3.0
-SHARED_LIBS +=  kea-dhcp_ddns             0.0 # 1.0
-SHARED_LIBS +=  kea-dhcpsrv               0.0 # 4.0
+SHARED_LIBS +=  kea-dhcp++                1.0 # 4.1
+SHARED_LIBS +=  kea-dhcp_ddns             0.1 # 1.1
+SHARED_LIBS +=  kea-dhcpsrv               1.0 # 6.0
 SHARED_LIBS +=  kea-dns++                 0.0 # 2.0
-SHARED_LIBS +=  kea-eval                  0.0 # 3.0
+SHARED_LIBS +=  kea-eval                  1.0 # 4.0
 SHARED_LIBS +=  kea-exceptions            0.0 # 0.0
-SHARED_LIBS +=  kea-hooks                 0.0 # 1.0
-SHARED_LIBS +=  kea-log                   0.0 # 1.0
+SHARED_LIBS +=  kea-hooks                 1.0 # 2.0
+SHARED_LIBS +=  kea-log                   1.0 # 2.0
 SHARED_LIBS +=  kea-stats                 0.0 # 1.0
-SHARED_LIBS +=  kea-threads               0.0 # 0.0
+SHARED_LIBS +=  kea-threads               1.0 # 1.0
 SHARED_LIBS +=  kea-util-io               0.0 # 0.0
-SHARED_LIBS +=  kea-util                  0.0 # 1.0
+SHARED_LIBS +=  kea-util                  1.0 # 2.0
 
 CATEGORIES=    net
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/kea/distinfo,v
retrieving revision 1.2
diff -u -p -u -r1.2 distinfo
--- distinfo    3 Jan 2016 14:41:11 -0000       1.2
+++ distinfo    9 Oct 2016 21:10:57 -0000
@@ -1,2 +1,2 @@
-SHA256 (kea-1.0.0.tar.gz) = lphP6Rj5Ez0I0xFerAEtKIFNjM+vJSiUmfAo3lYTWv4=
-SIZE (kea-1.0.0.tar.gz) = 4559334
+SHA256 (kea-1.1.0.tar.gz) = w9l67k+qGWU//m0355fi+/YyEkzQuYu1Avm5e1o4PC0=
+SIZE (kea-1.1.0.tar.gz) = 4934875
Index: patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in
===================================================================
RCS file: patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in
diff -N patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in 9 Oct 2016 
21:10:57 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- src/bin/dhcp4/tests/dhcp4_process_tests.sh.in.orig Sun Sep 25 20:58:05 2016
++++ src/bin/dhcp4/tests/dhcp4_process_tests.sh.in      Mon Oct  3 21:04:41 2016
+@@ -318,7 +318,7 @@ lfc_timer_test() {
+     sleep 1
+ 
+     # Modify the interval.
+-    LFC_CONFIG=$(printf "${CONFIG}" | sed -e 's/\"lfc-interval\": 
1/\"lfc-interval\": 2/g')
++    LFC_CONFIG=$(printf "${LFC_CONFIG}" | sed -e 's/\"lfc-interval\": 
1/\"lfc-interval\": 2/g')
+     # Create new configuration file.
+     create_config "${LFC_CONFIG}"
+ 
Index: patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in
===================================================================
RCS file: patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in
diff -N patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in 9 Oct 2016 
21:10:57 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- src/bin/dhcp6/tests/dhcp6_process_tests.sh.in.orig Sun Sep 25 20:58:05 2016
++++ src/bin/dhcp6/tests/dhcp6_process_tests.sh.in      Mon Oct  3 21:04:41 2016
+@@ -321,7 +321,7 @@ lfc_timer_test() {
+     sleep 1
+ 
+     # Modify the interval.
+-    LFC_CONFIG=$(printf "${CONFIG}" | sed -e 's/\"lfc-interval\": 
1/\"lfc-interval\": 2/g')
++    LFC_CONFIG=$(printf "${LFC_CONFIG}" | sed -e 's/\"lfc-interval\": 
1/\"lfc-interval\": 2/g')
+     # Create new configuration file.
+     create_config "${LFC_CONFIG}"
+ 
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/kea/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -u -r1.2 PLIST
--- pkg/PLIST   3 Jan 2016 14:41:11 -0000       1.2
+++ pkg/PLIST   9 Oct 2016 21:10:57 -0000
@@ -5,6 +5,8 @@
 include/kea/
 include/kea/asiolink/
 include/kea/asiolink/io_address.h
+include/kea/cc/
+include/kea/cc/data.h
 include/kea/config.h
 include/kea/dhcp/
 include/kea/dhcp/classify.h
@@ -137,17 +139,26 @@ share/doc/kea/examples/ddns/
 share/doc/kea/examples/ddns/sample1.json
 share/doc/kea/examples/ddns/template.json
 share/doc/kea/examples/kea4/
+share/doc/kea/examples/kea4/backends.json
+share/doc/kea/examples/kea4/classify.json
 share/doc/kea/examples/kea4/hooks.json
 share/doc/kea/examples/kea4/leases-expiration.json
 share/doc/kea/examples/kea4/multiple-options.json
+share/doc/kea/examples/kea4/mysql-reservations.json
+share/doc/kea/examples/kea4/pgsql-reservations.json
 share/doc/kea/examples/kea4/reservations.json
 share/doc/kea/examples/kea4/several-subnets.json
 share/doc/kea/examples/kea4/single-subnet.json
 share/doc/kea/examples/kea6/
 share/doc/kea/examples/kea6/advanced.json
+share/doc/kea/examples/kea6/backends.json
+share/doc/kea/examples/kea6/classify.json
+share/doc/kea/examples/kea6/duid.json
 share/doc/kea/examples/kea6/hooks.json
 share/doc/kea/examples/kea6/leases-expiration.json
 share/doc/kea/examples/kea6/multiple-options.json
+share/doc/kea/examples/kea6/mysql-reservations.json
+share/doc/kea/examples/kea6/pgsql-reservations.json
 share/doc/kea/examples/kea6/reservations.json
 share/doc/kea/examples/kea6/several-subnets.json
 share/doc/kea/examples/kea6/simple.json
@@ -181,14 +192,21 @@ share/kea/dhcp4.spec
 share/kea/dhcp6.spec
 share/kea/scripts/
 share/kea/scripts/admin-utils.sh
+share/kea/scripts/cql/
+share/kea/scripts/cql/dhcpdb_create.cql
+share/kea/scripts/cql/dhcpdb_drop.cql
 share/kea/scripts/mysql/
 share/kea/scripts/mysql/dhcpdb_create.mysql
+share/kea/scripts/mysql/dhcpdb_drop.mysql
 share/kea/scripts/mysql/upgrade_1.0_to_2.0.sh
 share/kea/scripts/mysql/upgrade_2.0_to_3.0.sh
 share/kea/scripts/mysql/upgrade_3.0_to_4.0.sh
 share/kea/scripts/mysql/upgrade_4.0_to_4.1.sh
+share/kea/scripts/mysql/upgrade_4.1_to_5.0.sh
 share/kea/scripts/pgsql/
 share/kea/scripts/pgsql/dhcpdb_create.pgsql
+share/kea/scripts/pgsql/dhcpdb_drop.pgsql
 share/kea/scripts/pgsql/upgrade_1.0_to_2.0.sh
 @sample ${LOCALSTATEDIR}/kea/
+share/kea/scripts/pgsql/upgrade_2.0_to_3.0.sh
 @rcscript ${RCDIR}/kea

Reply via email to