ISC Open Source Projects issueshttps://gitlab.isc.org/groups/isc-projects/-/issues2018-11-26T16:55:46Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/177serialize netconf tests2018-11-26T16:55:46ZFrancis Dupontserialize netconf testsNetconf has both unit tests and shell tests which interfere badly when run in parallel.
The obvious round about is to not call make check with a -j parameter including make distcheck.
IMHO the problem belongs in Sysrepo which was not d...Netconf has both unit tests and shell tests which interfere badly when run in parallel.
The obvious round about is to not call make check with a -j parameter including make distcheck.
IMHO the problem belongs in Sysrepo which was not designed to support parallel activities on same objects.
If nobody (Stephen?) proposes something simpler I'll put the shell script into a separated directory.
Note I leave the classification of this to QA, i.e. is the constraint to not run make distcheck in parallel is a problem.Kea1.5-beta2https://gitlab.isc.org/isc-projects/kea/-/issues/176Update to sysrepo 0.7.6 release2018-11-19T14:53:29ZFrancis DupontUpdate to sysrepo 0.7.6 releaseSome comments:
- avoid to overload #65
- if it is mainly about src/lib/yang there are impacts on src/bin/netconf too
- explicitly do not put in 1.5 milestoneSome comments:
- avoid to overload #65
- if it is mainly about src/lib/yang there are impacts on src/bin/netconf too
- explicitly do not put in 1.5 milestoneKea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/158reservation is allowed for out-of-subnet address and/or non-existent subnet-id2020-05-27T08:08:16ZCathy Almondreservation is allowed for out-of-subnet address and/or non-existent subnet-idReported by a Support customer:
https://support.isc.org/Ticket/Display.html?id=13626
---
name: Bug report
about: Kea 1.4.0 P1
---
kea-dhcp4 API accepts the creation of reservations for non-existent subnet-IDs and/or for out-of-subnet ...Reported by a Support customer:
https://support.isc.org/Ticket/Display.html?id=13626
---
name: Bug report
about: Kea 1.4.0 P1
---
kea-dhcp4 API accepts the creation of reservations for non-existent subnet-IDs and/or for out-of-subnet ip addresses, tested with mysql backend for hosts.
To reproduce:
1) create a new subnet 192.0.0.0/24, with subnet id 999
REQUEST:
{
"arguments": {
"subnet4": [
{
"id": 999,
"match-client-id": true,
"option-data": [
{
"always-send": false,
"code": 3,
"csv-format": false,
"data": "c0000001",
"name": "routers",
"space": "dhcp4"
}
],
"pools": [
{
"pool": "192.0.0.2-192.0.0.254"
}
],
"rebind-timer": 2970,
"relay": {
"ip-addresses": [
"192.0.0.1"
]
},
"renew-timer": 1800,
"reservation-mode": "all",
"subnet": "192.0.0.0/24",
"valid-lifetime": 3600
}
]
},
"command": "subnet4-add",
"service": [
"dhcp4"
]
}
RESPONSE:
[ { "arguments": { "subnets": [ { "id": 999, "subnet": "192.0.0.0/24" } ] }, "result": 0, "text": "IPv4 subnet added" } ]
2) create a reservation for out-of-subnet address using 1.2.3.4 as IP and 999 as subnet-id
REQUEST:
{
"arguments": {
"reservation": {
"hw-address": "ca:fe:ca:fe:ca:fe",
"ip-address": "1.2.3.4",
"subnet-id": 999
}
},
"command": "reservation-add",
"service": [
"dhcp4"
]
}
RESPONSE:
[ { "result": 0, "text": "Host added." } ]
3) create a reservation for a non-existent subnet-id using 192.0.0.10 as IP and 123 as subnet-id
REQUEST:
{
"arguments": {
"reservation": {
"hw-address": "fa:ce:fa:ce:fa:ce",
"ip-address": "192.0.0.10",
"subnet-id": 123
}
},
"command": "reservation-add",
"service": [
"dhcp4"
]
}
RESPONSE:
[ { "result": 0, "text": "Host added." } ]
4) verify the presence of both reservations in the "hosts" tableKea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/136Add global host reservation examples2018-11-27T21:38:10ZFrancis DupontAdd global host reservation examplesFor at least 1.5-beta: there is no kea4 or kea6 examples with global host reservations.For at least 1.5-beta: there is no kea4 or kea6 examples with global host reservations.Kea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/130Provide sample ('complete') json configuration files with all the keys presen...2018-10-24T13:12:45ZCathy AlmondProvide sample ('complete') json configuration files with all the keys present, demonstrating their usageA Support customer asked (in ticket https://support.isc.org/Ticket/Display.html?id=13388):
```
I would like to have a complete json configuration file with all the "keys" present. Is this something you can help me with?
i have searched...A Support customer asked (in ticket https://support.isc.org/Ticket/Display.html?id=13388):
```
I would like to have a complete json configuration file with all the "keys" present. Is this something you can help me with?
i have searched but not found a complete configuration for kea 1.3 & 1.4
```
The engineering response was to craft a v4 configuration containing all keys or almost all keys. It comes with the following warning:
`Note that this configuration may not be valid, even though it is valid JSON, because usually we don't specify all keys. It is meant to be an example of what parameters can be specified at what level.`
This feature request is to formalise the need for such a document, and to extend it to cover other areas of Kea Configuration, starting with v6, and potentially extending to the control agent.
Meanwhile, here is what was generated for v4:
```
{
"Dhcp4": {
"next-server": "192.0.2.123",
"boot-file-name": "/dev/null",
"client-classes": [
{
"boot-file-name": "",
"name": "phones_server1",
"next-server": "0.0.0.0",
"option-data": [],
"option-def": [],
"server-hostname": "",
"test": "member('HA_server1')"
},
{
"boot-file-name": "",
"name": "phones_server2",
"next-server": "0.0.0.0",
"option-data": [],
"option-def": [],
"server-hostname": "",
"test": "member('HA_server2')"
},
{
"boot-file-name": "",
"name": "laptops_server1",
"next-server": "0.0.0.0",
"option-data": [],
"option-def": [],
"server-hostname": "",
"test": "member('HA_server1')"
},
{
"boot-file-name": "",
"name": "laptops_server2",
"next-server": "0.0.0.0",
"option-data": [],
"option-def": [],
"server-hostname": "",
"test": "member('HA_server2')"
}
],
"control-socket": {
"socket-name": "/tmp/kea-dhcp4-ctrl.sock",
"socket-type": "unix"
},
"decline-probation-period": 86400,
"dhcp-ddns": {
"always-include-fqdn": false,
"enable-updates": false,
"generated-prefix": "myhost",
"hostname-char-replacement": "",
"hostname-char-set": "",
"max-queue-size": 1024,
"ncr-format": "JSON",
"ncr-protocol": "UDP",
"override-client-update": false,
"override-no-update": false,
"qualifying-suffix": "",
"replace-client-name": "never",
"sender-ip": "0.0.0.0",
"sender-port": 0,
"server-ip": "127.0.0.1",
"server-port": 53001
},
"dhcp4o6-port": 0,
"echo-client-id": true,
"expired-leases-processing": {
"flush-reclaimed-timer-wait-time": 25,
"hold-reclaimed-time": 3600,
"max-reclaim-leases": 100,
"max-reclaim-time": 250,
"reclaim-timer-wait-time": 10,
"unwarned-reclaim-cycles": 5
},
"hooks-libraries": [
{
"library": "/home/marcin/devel/kea-build/lib/hooks/libdhcp_lease_cmds.so",
"parameters": {}
},
{
"library": "/home/marcin/devel/kea-build/lib/hooks/libdhcp_ha.so",
"parameters": {
"high-availability": [
{
"heartbeat-delay": 10000,
"max-ack-delay": 5000,
"max-response-delay": 10000,
"max-unacked-clients": 0,
"mode": "load-balancing",
"peers": [
{
"auto-failover": true,
"name": "server1",
"role": "primary",
"url": "http://192.168.56.33:8080/"
},
{
"auto-failover": true,
"name": "server2",
"role": "secondary",
"url": "http://192.168.56.66:8080/"
}
],
"send-lease-updates": true,
"state-machine": {
"states": [
{
"pause": "always",
"state": "waiting"
},
{
"pause": "once",
"state": "partner-down"
}
]
},
"sync-leases": true,
"sync-timeout": 60000,
"this-server-name": "server1"
}
]
}
}
],
"host-reservation-identifiers": [
"hw-address",
"duid",
"circuit-id",
"client-id"
],
"interfaces-config": {
"dhcp-socket-type": "udp",
"interfaces": [
"enp0s8"
],
"re-detect": true
},
"lease-database": {
"lfc-interval": 3600,
"name": "/home/marcin/devel/kea-build/kea-dhcp4.csv",
"persist": true,
"type": "memfile"
},
"option-data": [
{
"always-send": false,
"code": 6,
"csv-format": true,
"data": "192.0.3.1, 192.0.3.2",
"name": "domain-name-servers",
"space": "dhcp4"
}
],
"option-def": [],
"rebind-timer": 40,
"renew-timer": 30,
"sanity-checks": {
"lease-checks": "warn"
},
"shared-networks": [
{
"match-client-id": true,
"name": "my-secret-network",
"option-data": [],
"relay": {
"ip-addresses": []
},
"reservation-mode": "all",
"require-client-classes": [ "Client_foo" ],
"subnet4": [
{
"4o6-interface": "",
"4o6-interface-id": "",
"4o6-subnet": "",
"boot-file-name": "",
"id": 1,
"match-client-id": true,
"next-server": "0.0.0.0",
"option-data": [
{
"always-send": false,
"code": 3,
"csv-format": true,
"data": "192.0.3.1",
"name": "routers",
"space": "dhcp4"
}
],
"pools": [
{
"client-class": "phones_server1",
"option-data": [],
"pool": "192.1.0.1/16"
},
{
"client-class": "laptops_server1",
"option-data": [],
"pool": "192.2.0.1/16"
},
{
"client-class": "phones_server2",
"option-data": [],
"pool": "192.3.0.1/16"
},
{
"client-class": "laptops_server2",
"option-data": [],
"pool": "192.4.0.1/16"
}
],
"rebind-timer": 40,
"relay": {
"ip-addresses": [
"192.168.56.1"
]
},
"renew-timer": 30,
"reservation-mode": "all",
"reservations": [],
"require-client-classes": [ "Client_foo" ],
"server-hostname": "",
"subnet": "192.0.0.0/8",
"valid-lifetime": 6000
}
]
}
],
"subnet4": [],
"valid-lifetime": 6000
},
"Logging": {
"loggers": [
{
"debuglevel": 99,
"name": "kea-dhcp4",
"output_options": [
{
"flush": true,
"maxsize": 10240000,
"maxver": 1,
"output": "stdout"
}
],
"severity": "INFO"
},
{
"debuglevel": 99,
"name": "kea-dhcp4.ha_hooks",
"output_options": [
{
"flush": true,
"maxsize": 10240000,
"maxver": 1,
"output": "stdout"
}
],
"severity": "INFO"
},
{
"debuglevel": 99,
"name": "kea-dhcp4.commands",
"output_options": [
{
"flush": true,
"maxsize": 10240000,
"maxver": 1,
"output": "stdout"
}
],
"severity": "INFO"
},
{
"debuglevel": 99,
"name": "kea-dhcp4.http",
"output_options": [
{
"flush": true,
"maxsize": 10240000,
"maxver": 1,
"output": "stdout"
}
],
"severity": "INFO"
}
]
}
}
```Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/87Kea memory leak (radius)2018-12-06T23:26:42ZGhost UserKea memory leak (radius)we have 2 kea servers (1.4.0 P1) that work with one mysql server as the lease database.
host-cache + flex_id + radius hooks loaded.
Only one server is active.
My Users are stable,
About 1330 users and + 50 new users each day.
If I ...we have 2 kea servers (1.4.0 P1) that work with one mysql server as the lease database.
host-cache + flex_id + radius hooks loaded.
Only one server is active.
My Users are stable,
About 1330 users and + 50 new users each day.
If I reload the kea-dhcp4 process the memory goes down to 0.4%.
the host-cache fills up pretty fast to 1330 records, most of my users has lease "renew-timer": 200.
From that point the memory consumption rises about 3% each hour
[root@kea1rvt log]# date
Thu Aug 9 14:09:56 IDT 2018
[root@kea1rvt log]# ps -auxw | grep kea-dhcp4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 21929 6.1 5.1 380612 200848 pts/1 S 12:36 5:46 /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
[root@kea1rvt log]# date
Thu Aug 9 14:57:04 IDT 2018
[root@kea1rvt log]# ps -auxw | grep kea-dhcp4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 21929 6.1 7.4 468052 288272 pts/1 S 12:36 8:40 /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
[root@kea1rvt log]# date
Thu Aug 9 15:09:16 IDT 2018
[root@kea1rvt log]# ps -auxw | grep kea-dhcp4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 21929 6.1 8.1 494848 315096 pts/1 R 12:36 9:25 /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
itayKea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/85stat commands missing in `List of available hooks libraries` table2018-12-06T23:24:04ZGhost Userstat commands missing in `List of available hooks libraries` tableThere are 9 entries in the table but 10 hooks described in the `Available Hooks Libraries'` section: the missing hook is `stat_cmds`.There are 9 entries in the table but 10 hooks described in the `Available Hooks Libraries'` section: the missing hook is `stat_cmds`.Kea1.5-beta2https://gitlab.isc.org/isc-projects/kea/-/issues/75RADIUS documentation needs an update2018-11-27T13:35:28ZGhost UserRADIUS documentation needs an updateI've spotted couple small issues in section 14.4.8:
- It still mentions --with-tier2
- STEP 2 the last sentence misses word "download": To and compile this version, please use the following steps:
- The last sentence in Step 3 says tha...I've spotted couple small issues in section 14.4.8:
- It still mentions --with-tier2
- STEP 2 the last sentence misses word "download": To and compile this version, please use the following steps:
- The last sentence in Step 3 says that boost has no explicit make install step. But it has b2 install, so that remark doesn't make much sense.
Also, need to provide links to the bug fixes Francis reported back to FreeRADIUS.Kea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/59configure.ac log message "checking for premium hooks..." is confusing to users2018-11-27T12:30:17ZGhost Userconfigure.ac log message "checking for premium hooks..." is confusing to usersThe configure script emits text like the following:
checking for premium hook forensic_log availability...... found
checking for premium hook flex_id availability...... found
checking for premium hook host_cmds availability...... found
...The configure script emits text like the following:
checking for premium hook forensic_log availability...... found
checking for premium hook flex_id availability...... found
checking for premium hook host_cmds availability...... found
checking for premium hook subnet_cmds availability...... no
checking for premium hook radius availability...... no
checking for premium hook host_cache availability...... no
The word "premium" here is confusing, as the list being checked for includes all non-open source hooks (i.e. premium, subscriber...). People purchasing the Premium tar ball think things are missing.
We should either remove the message or the word "premium". We've had at least one user contact us, thinking there is an issue.Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/57Fixes as a result of profiling the HTTP code and control channel2018-11-15T12:24:25ZGhost UserFixes as a result of profiling the HTTP code and control channelThere are the following issues pertaining to JSONFeed and Http parsers which per my profiling tests seems to be first candidates for fixing:
* JSONFeed::postBuffer expensive because of making new allocations all the time
* JSONFeed::pop...There are the following issues pertaining to JSONFeed and Http parsers which per my profiling tests seems to be first candidates for fixing:
* JSONFeed::postBuffer expensive because of making new allocations all the time
* JSONFeed::popNextFromBuffer makes many buffer de-allocations
* JSONFeed::innerJSONHandler should not transition if the state remains the same
* HttpResponseParser body handler is inefficient as it reads characters one by one
* Connection::doTransaction should not reinitialize the parser all the time as it triggers expensive reinitialization of the state machineKea1.5-beta2https://gitlab.isc.org/isc-projects/kea/-/issues/53Problems with maria database, fields in store proc wrong2018-11-21T20:46:59ZGhost UserProblems with maria database, fields in store proc wrongI have just upgraded to Opensuse 15, and since there are problems with boost in previous versions, I upgraded to the 14 beta.
However, with a mysql database, trying to populate the lease4 & lease6 tables fail with...
2018-05-28 11:53:0...I have just upgraded to Opensuse 15, and since there are problems with boost in previous versions, I upgraded to the 14 beta.
However, with a mysql database, trying to populate the lease4 & lease6 tables fail with...
2018-05-28 11:53:09.332 ERROR [kea-dhcp6.alloc-engine/11431] ALLOC_ENGINE_V6_ALLOC_ERROR duid=[00:01:00:01:1e:da:f1:1b:b8:27:eb:8f:fe:67], tid=0x2cec69: error during attempt to allocate an IPv6 address: unable to bind parameters for <INSERT INTO lease6(address, duid, valid_lifetime, expire, subnet_id, pref_lifetime, lease_type, iaid, prefix_len, fqdn_fwd, fqdn_rev, hostname, hwaddr, hwtype, hwaddr_source, state) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)>, reason: (error code 0)
&
2018-05-28 11:54:01.657 ERROR [kea-dhcp4.alloc-engine/11424] ALLOC_ENGINE_V4_ALLOC_ERROR [hwtype=1 b8:27:eb:da:12:3b], cid=[ff:eb:da:12:3b:00:01:00:01:1e:da:f1:13:b8:27:eb:8f:47:6e], tid=0xde2380dc: error during attempt to allocate an IPv4 address: unable to bind parameters for <INSERT INTO lease4(address, hwaddr, client_id, valid_lifetime, expire, subnet_id, fqdn_fwd, fqdn_rev, hostname, state) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)>, reason: (error code 0)
There seemed to be a similar problem mentioned in the forums, but there does not seem to anything which matches this.
It was mentioned something to do with timers, but I have them now set to:
"reclaim-timer-wait-time": 100,
"flush-reclaimed-timer-wait-time": 250,
"hold-reclaimed-time": 36000,
"max-reclaim-leases": 1000,
"max-reclaim-time": 2500,
"unwarned-reclaim-cycles": 5
...
"valid-lifetime": 36000,
"renew-timer": 9000,
"rebind-timer": 18000,
What is strange though, when I take a tcpdump of the connection, I see a number of packets setting SOME of the bind fields, most seem to be set to the the IP address which kea attempts to assign.
It's as if all the bind fields are corrupted.Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/27CqlHostDataSource::del4 () and del6() fail when given a non-existent host res...2018-11-28T09:21:55ZThomas MarkwalderCqlHostDataSource::del4 () and del6() fail when given a non-existent host reservationNeither function checks for the case of host not found, and causes the server to SIGABRT. They should both be modified to simply return true if the host does not exist. This is in keeping with our philosophy that attempting to delete an...Neither function checks for the case of host not found, and causes the server to SIGABRT. They should both be modified to simply return true if the host does not exist. This is in keeping with our philosophy that attempting to delete an object that does not exist equates to a successful delete.
There are apparently no unit tests for this scenario and there most certainly should be. We need to verify that MySQL and PostgreSQL behave properly and have unit tests for this.Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/62Missing header files in installation directories and bump up lib version numb...2018-11-28T16:40:11ZGhost UserMissing header files in installation directories and bump up lib version numbers for Kea 1.5.0-beta2We appear not to be installing the various *_message.h files when doing a "make install".We appear not to be installing the various *_message.h files when doing a "make install".Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/294Linux packet filter send() emits valgrind error2018-11-28T16:53:54ZThomas MarkwalderLinux packet filter send() emits valgrind errorOn the first packet send, the linux packet filter emits the following valgrind error:
```
2018-11-28 10:57:04.527 DEBUG [kea-dhcp4.packets/12342] DHCP4_RESPONSE_DATA [hwtype=1 08:00:27:25:d3:f4], cid=[32:32:32:32], tid=0x91bfb7: respond...On the first packet send, the linux packet filter emits the following valgrind error:
```
2018-11-28 10:57:04.527 DEBUG [kea-dhcp4.packets/12342] DHCP4_RESPONSE_DATA [hwtype=1 08:00:27:25:d3:f4], cid=[32:32:32:32], tid=0x91bfb7: responding with packet DHCPOFFER (type 2), packet details: local_address=178.16.1.30:67, remote_address=178.16.1.78:68, msg_type=DHCPOFFER (2), transid=0x91bfb7,
options:
type=001, len=004: 4294967040 (uint32)
type=051, len=004: 7200 (uint32)
type=053, len=001: 2 (uint8)
type=054, len=004: 178.16.1.30
type=061, len=004: 32:32:32:32
==12342== Syscall param socketcall.sendto(to.sa_data) points to uninitialised byte(s)
==12342== at 0x80FADC3: ??? (syscall-template.S:81)
==12342== by 0x64E2C21: isc::dhcp::PktFilterLPF::send(isc::dhcp::Iface const&, unsigned short, boost::shared_ptr<isc::dhcp::Pkt4> const&) (in /labspace/var/kea/radius-150-b2/lib/libkea-dhcp++.so.9.0.0)
==12342== by 0x64478CB: isc::dhcp::IfaceMgr::send(boost::shared_ptr<isc::dhcp::Pkt4> const&) (in /labspace/var/kea/radius-150-b2/lib/libkea-dhcp++.so.9.0.0)
==12342== by 0x4AC873: isc::dhcp::Dhcpv4Srv::sendPacket(boost::shared_ptr<isc::dhcp::Pkt4> const&) (in /labspace/var/kea/radius-150-b2/sbin/kea-dhcp4)
==12342== by 0x4B0167: isc::dhcp::Dhcpv4Srv::processPacketBufferSend(boost::shared_ptr<isc::hooks::CalloutHandle>&, boost::shared_ptr<isc::dhcp::Pkt4>&) (in /labspace/var/kea/radius-150-b2/sbin/kea-dhcp4)
==12342== by 0x4ACD98: isc::dhcp::Dhcpv4Srv::run_one() (in /labspace/var/kea/radius-150-b2/sbin/kea-dhcp4)
==12342== by 0x4AC890: isc::dhcp::Dhcpv4Srv::run() (in /labspace/var/kea/radius-150-b2/sbin/kea-dhcp4)
==12342== by 0x4833F5: main (in /labspace/var/kea/radius-150-b2/sbin/kea-dhcp4)
==12342== Address 0x1ffefffa58 is on thread 1's stack
==12342== in frame #1, created by isc::dhcp::PktFilterLPF::send(isc::dhcp::Iface const&, unsigned short, boost::shared_ptr<isc::dhcp::Pkt4> const&) (???:)
==12342==
```
It may not be harmful but it is distraction and something any user doing testing would point out. The fix is a one liner:
```
diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc
index ba64b00..158754d 100644
--- a/src/lib/dhcp/pkt_filter_lpf.cc
+++ b/src/lib/dhcp/pkt_filter_lpf.cc
@@ -305,6 +305,7 @@ PktFilterLPF::send(const Iface& iface, uint16_t sockfd, const Pkt4Ptr& pkt) {
buf.writeData(pkt->getBuffer().getData(), pkt->getBuffer().getLength());
sockaddr_ll sa;
+ memset(&sa, 0x0, sizeof(sa));
sa.sll_family = AF_PACKET;
sa.sll_ifindex = iface.getIndex();
sa.sll_protocol = htons(ETH_P_IP);
```Kea1.5-beta2Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/270Update docs bison to the last version2018-11-17T21:57:54ZFrancis DupontUpdate docs bison to the last versionKea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/252Salvage anything useful from removed FAQ section.2018-11-07T20:02:05ZTomek MrugalskiSalvage anything useful from removed FAQ section.Issue #118 removed FAQ section from Kea User's Guide. It was old and not maintained at all. Before burning it with fire, I saved a copy here: $507. We should review it and see if there's anything worth turning into KB article.Issue #118 removed FAQ section from Kea User's Guide. It was old and not maintained at all. Before burning it with fire, I saved a copy here: $507. We should review it and see if there's anything worth turning into KB article.Kea1.5-beta2https://gitlab.isc.org/isc-projects/kea/-/issues/197global host reservations example2018-10-30T11:30:28ZTomek Mrugalskiglobal host reservations exampleWe need to update examples do doc/examples with global reservation mechanisms. Yes, it's already explained in the User's Guide, but there are two reasons to also have the examples updated. First, some people don't read the docs. Second, ...We need to update examples do doc/examples with global reservation mechanisms. Yes, it's already explained in the User's Guide, but there are two reasons to also have the examples updated. First, some people don't read the docs. Second, we use examples in unit-tests, so they could potentially uncover problems.Kea1.5-beta2Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/190incorrectly closed bracket in kea-dhcp4/6-server.yang model forcing to use co...2018-11-22T09:47:03ZWlodzimierz Wencelincorrectly closed bracket in kea-dhcp4/6-server.yang model forcing to use corrupted XML fileRight now if user want to configure Kea using sysrepo with XML (and probably error will propagate to JSON)
with logger included user have to use two XML files combined. e.g:
```
<config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp4-serve...Right now if user want to configure Kea using sysrepo with XML (and probably error will propagate to JSON)
with logger included user have to use two XML files combined. e.g:
```
<config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp4-server">
<subnet4>
<subnet4>
<id>1</id>
<pools>
<pool>
<start-address>192.168.50.1</start-address>
<end-address>192.168.50.1</end-address>
</pool>
</pools>
<subnet>192.168.50.0/24</subnet>
<interface>eth2</interface>
</subnet4>
</subnet4>
<interfaces-config>
<interfaces>eth2</interfaces>
</interfaces-config>
<valid-lifetime>4000</valid-lifetime>
<renew-timer>1000</renew-timer>
<rebind-timer>2000</rebind-timer>
<lease-database>
<database-type>memfile</database-type>
</lease-database>
</config>
<logging xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp4-server">
<loggers>
<logger>
<name>kea-dhcp4.dhcp4</name>
<output-options>
<option>
<output>/home/test/jenkins_lab/var/area_A/var/kea/kea.log</output>
</option>
</output-options>
<severity>INFO</severity>
</logger>
</loggers>
</logging>
```
This file has improper XML syntax (two main containers config and logging), and will break any automated generator/reader/validator... container 'logging' should be included within 'config'.
Correct file should look like this:
```
<config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp4-server">
<subnet4>
<subnet4>
<id>1</id>
<pools>
<pool>
<start-address>192.168.50.1</start-address>
<end-address>192.168.50.1</end-address>
</pool>
</pools>
<subnet>192.168.50.0/24</subnet>
<interface>eth2</interface>
</subnet4>
</subnet4>
<interfaces-config>
<interfaces>eth2</interfaces>
</interfaces-config>
<valid-lifetime>4000</valid-lifetime>
<renew-timer>1000</renew-timer>
<rebind-timer>2000</rebind-timer>
<lease-database>
<database-type>memfile</database-type>
</lease-database>
<logging>
<loggers>
<logger>
<name>kea-dhcp4.dhcp4</name>
<output-options>
<option>
<output>/home/test/jenkins_lab/var/area_A/var/kea/kea.log</output>
</option>
</output-options>
<severity>INFO</severity>
</logger>
</loggers>
</logging>
</config>
```
Incorrectly closed bracket in files:
./src/lib/yang/models/kea-dhcp6-server.yang
./src/lib/yang/models/kea-dhcp4-server.yang
cause this situation.
Fix is simple closing bracket of container 'config' should be moved below container 'logging':
```
diff --git a/src/lib/yang/models/kea-dhcp4-server.yang b/src/lib/yang/models/kea-dhcp4-server.yang
index e997dfbed..fd15885eb 100644
--- a/src/lib/yang/models/kea-dhcp4-server.yang
+++ b/src/lib/yang/models/kea-dhcp4-server.yang
@@ -405,15 +405,13 @@ module kea-dhcp4-server {
description "Global host reservations.";
}
}
- }
-
- container logging {
+ container logging {
// config true;
description "Logging";
uses logging:configuration;
}
-
+}
/*
* State data
*/
diff --git a/src/lib/yang/models/kea-dhcp6-server.yang b/src/lib/yang/models/kea-dhcp6-server.yang
index e39847382..c39a83cb0 100644
--- a/src/lib/yang/models/kea-dhcp6-server.yang
+++ b/src/lib/yang/models/kea-dhcp6-server.yang
@@ -447,15 +447,13 @@ module kea-dhcp6-server {
description "Global host reservations.";
}
}
- }
-
- container logging {
+ container logging {
// config true;
description "Logging";
uses logging:configuration;
}
-
+}
/*
* State data
*/
```
Tested, with this change sysrepo accept correctly formatted XML file.Kea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/bind9/-/issues/773BIND 9.13.5 Release2018-12-13T05:21:46ZOndřej SurýBIND 9.13.5 Release## Release Checklist
- [x] (Manager) Check for the presence of a milestone for the release:
- If there is a milestone, are all the issues for the milestone resolved? (other than this checklist).
- [x] (Manager) Inform Support/Mark...## Release Checklist
- [x] (Manager) Check for the presence of a milestone for the release:
- If there is a milestone, are all the issues for the milestone resolved? (other than this checklist).
- [x] (Manager) Inform Support/Marketing of impending release (and give estimated release dates).
- (SwEng) Prepare the sources for tarball generation:
- [x] Check perflab to ensure there has been no unexplained drop in performance for the version being released.
- [x] Ensure that there are no outstanding merge requests in the private repository (subscription version only).
- [x] Update API files for libraries with new version information.
- [x] Change software version and library versions in configure.in (new major release only).
- [x] Rebuild configure using autoconf on docs.isc.org.
- [x] Update CHANGES.
- [x] Update "version".
- [x] Update "readme.md".
- Check the release notes are correct:
- [ ] Compare content with merge requests for the release.
- [ ] Check formatting.
- [x] Build documentation on docs.isc.org.
- [x] Commit changes and make sure the gitlab-ci tests are passing.
- [x] Push the changes and tag ("alphatag" is an optional string such as "b1", "rc1" etc.). (```git tag -u <DEVELOPER_KEYID> -a -s -m "BIND 9.X.Y[alphatag]" v9_X_Y[alphatag]```)
- [ ] If this is the first tag for a release (e.g. beta), create a release branch named `release_v9_X_Y` (this allows development to continue on the release branch whilst release engineering continues).
- [x] (SwEng) Run the "make release" Jenkins job to produce the tarballs and zips.
- [x] (SwEng) Ask QA to sanity check the tarball and zips (passing to them the number of the Jenkins job).
- [x] (QA) Sanity check the tarballs.
- [x] (QA) Request the signature on the tarballs.
- [ ] (QA) Check signatures on tarballs.
- [ ] (QA) Tell Support to handle notification of release.
- [x] (Manager) Inform Marketing of the release
- [x] (Manager) Update the internal [BIND release dates wiki page](https://wiki.isc.org/bin/view/Main/BindReleaseDates) when public announcement has been made.
- [ ] (SwEng) Update DEB and RPM packages
- [ ] (SwEng) Merge the automatically prepared `prep 9.X.Y` commit which updates `version` and documentation on the release branch into the relevant maintenance branch (`v9_X`)
## Support
- [x] Make tarballs and signatures available to download.
- [x] Write release email to bind9-announce.
- [ ] Write email to bind9-users (if a major release).
- [x] Update tickets in case of waiting support customers.
## Marketing
- [x] Post short note to Twitter.
- [x] Update [Wikipedia entry for BIND](http://en.wikipedia.org/wiki/BIND).
- [x] Write blog article (if a major release). (I would love a blog from Witold on the networking refactoring, but I don't have it and can't make it up)BIND-9.13.5Curtis BlackburnCurtis Blackburnhttps://gitlab.isc.org/isc-projects/bind9/-/issues/744Fix a race in socket code2018-12-05T12:19:33ZWitold KrecickiFix a race in socket codein socket.c we have:
```
if (SOCK_DEAD(sock)) { /* Sock is being closed, bail */
goto unlock_fd;
}
isc_refcount_increment(&sock->references);
```
However, if between SOCK_DEAD and isc_refcount_inc...in socket.c we have:
```
if (SOCK_DEAD(sock)) { /* Sock is being closed, bail */
goto unlock_fd;
}
isc_refcount_increment(&sock->references);
```
However, if between SOCK_DEAD and isc_refcount_increment something will close the socket (decreasing refcount to 0) we'll have an ugly race.
The proper way to fix it should be to hold a reference for socket in thread->fds[fd].BIND-9.13.5Witold KrecickiWitold Krecicki