Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2020-12-21T14:05:18Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/1575warnings on raspian2020-12-21T14:05:18ZFrancis Dupontwarnings on raspianhttps://gitlab.isc.org/isc-projects/kea/-/issues/1568#note_178684https://gitlab.isc.org/isc-projects/kea/-/issues/1568#note_178684outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1573fix warnings when compiling with -pedantic or -Wpedantic2021-09-28T09:40:55ZAndrei Pavelandrei@isc.orgfix warnings when compiling with -pedantic or -Wpedanticonly if the problem that the compiler reports is real and if an agreeable fix can be done, of course
shouldn't be too big of an effort
i think we already are warning-free for `-Wall` and `-Wextra`
```
export CXXFLAGS='-pedantic'
./con...only if the problem that the compiler reports is real and if an agreeable fix can be done, of course
shouldn't be too big of an effort
i think we already are warning-free for `-Wall` and `-Wextra`
```
export CXXFLAGS='-pedantic'
./configure
make
```outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1571make uninstall leaves manuals and sample configuration files behind2021-06-18T09:56:20ZAndrei Pavelandrei@isc.orgmake uninstall leaves manuals and sample configuration files behind```
$ find /opt/kea -type f
/opt/kea/share/man/man8/kea-admin.8
/opt/kea/share/man/man8/kea-ctrl-agent.8
/opt/kea/share/man/man8/kea-dhcp4.8
/opt/kea/share/man/man8/kea-dhcp6.8
/opt/kea/share/man/man8/kea-dhcp-ddns.8
/opt/kea/share/man/m...```
$ find /opt/kea -type f
/opt/kea/share/man/man8/kea-admin.8
/opt/kea/share/man/man8/kea-ctrl-agent.8
/opt/kea/share/man/man8/kea-dhcp4.8
/opt/kea/share/man/man8/kea-dhcp6.8
/opt/kea/share/man/man8/kea-dhcp-ddns.8
/opt/kea/share/man/man8/kea-lfc.8
/opt/kea/share/man/man8/kea-netconf.8
/opt/kea/share/man/man8/kea-shell.8
/opt/kea/share/man/man8/keactrl.8
/opt/kea/share/man/man8/perfdhcp.8
/opt/kea/etc/kea/keactrl.conf
/opt/kea/etc/kea/kea-dhcp4.conf
/opt/kea/etc/kea/kea-dhcp6.conf
/opt/kea/etc/kea/kea-dhcp-ddns.conf
/opt/kea/etc/kea/kea-ctrl-agent.conf
```
is this intended?outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1569link warnings on MacOs2020-12-21T13:53:04ZRazvan Becheriulink warnings on MacOsfound during #1565
```
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: .libs/libkea-dhcp++.a(libkea_dhcp___la-iface_mgr_linux.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: .libs/libkea-dhcp++.a(lib...found during #1565
```
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: .libs/libkea-dhcp++.a(libkea_dhcp___la-iface_mgr_linux.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: .libs/libkea-dhcp++.a(libkea_dhcp___la-iface_mgr_sun.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: .libs/libkea-dhcp++.a(libkea_dhcp___la-iface_mgr_linux.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: .libs/libkea-dhcp++.a(libkea_dhcp___la-iface_mgr_sun.o) has no symbols
```outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1465Get rid of --with-gtest2021-10-19T07:33:30ZFrancis DupontGet rid of --with-gtestIt is universally known that to provide a system wide gtest is not the best idea, for instance on macOS homebrew says:
```
% brew search gtest
Installing gtest system-wide is not recommended; it should be vendored
in your projects that u...It is universally known that to provide a system wide gtest is not the best idea, for instance on macOS homebrew says:
```
% brew search gtest
Installing gtest system-wide is not recommended; it should be vendored
in your projects that use it.
```
We have both --with-gtest and --with-gtest-source so one should be removed: clearly --with-gtest should be removed and --with-gtest-source used by all persons wanting unit tests.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1328Kea and link time optimization2023-09-28T08:09:49ZFrancis DupontKea and link time optimizationThis ticket addressed two different goals:
- first to investigate if/how Kea can be build using -flto
- second fix bugs revealed by the -flto optionsThis ticket addressed two different goals:
- first to investigate if/how Kea can be build using -flto
- second fix bugs revealed by the -flto optionsoutstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1326Move more code to std::chrono2022-11-02T15:10:19ZFrancis DupontMove more code to std::chronoFollowup of #1174Followup of #1174backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/1317Remove boost code that's available in c++112022-11-02T15:10:17ZTomek MrugalskiRemove boost code that's available in c++11We moved to C++11 quite a long time ago. However, there are still many constructs in the code that use boost equivalents:
- [ ] BOOST_FOREACH => for (var : container)
- [ ] bind placeholdersWe moved to C++11 quite a long time ago. However, there are still many constructs in the code that use boost equivalents:
- [ ] BOOST_FOREACH => for (var : container)
- [ ] bind placeholdersbackloghttps://gitlab.isc.org/isc-projects/kea/-/issues/1164kea installed from rpm/deb is returning 'tarball' as version2022-11-02T15:10:17ZWlodzimierz Wencelkea installed from rpm/deb is returning 'tarball' as versionkea installed from deb:
```
wlodek@ubuntu1804-64-2:~$ kea-dhcp6 -V
1.7.6
tarball
linked with:
log4cplus 1.1.2
OpenSSL 1.1.1 11 Sep 2018
database:
MySQL backend 9.1, library 5.7.29
PostgreSQL backend 6.0, library 100012
Memfile backend 2...kea installed from deb:
```
wlodek@ubuntu1804-64-2:~$ kea-dhcp6 -V
1.7.6
tarball
linked with:
log4cplus 1.1.2
OpenSSL 1.1.1 11 Sep 2018
database:
MySQL backend 9.1, library 5.7.29
PostgreSQL backend 6.0, library 100012
Memfile backend 2.1
```
we are versioning deb/rpms a bit differently than tarballs - we could change output of `-V` optionbackloghttps://gitlab.isc.org/isc-projects/kea/-/issues/1001configure tweaks2022-02-21T16:09:52ZTomek Mrugalskiconfigure tweaksThere are several things we could tweak in the configure script:
- several help instances show defaults in double brackets `[[default=no]]`, but others show in single brackets `[default=no]` and others as `(default=no)` , e.g. --with-we...There are several things we could tweak in the configure script:
- several help instances show defaults in double brackets `[[default=no]]`, but others show in single brackets `[default=no]` and others as `(default=no)` , e.g. --with-werror.
- unknown (e.g. misspelled) parameters are ignored (e.g. `--with-gtest-sources=..`). There's a warning at the top, but it should either be error or at least made more prominent.
- sphinx-build is being printed twice
- the expression "building docs in PDF" is awkward, should be "building PDF docs"
- there are old checks for __SUNPRO_CC - we don't and won't support Solaris
- with-aix-soname - why do we have option like this?
- the options are split into "optional features" and "optional packages" in seemingly random fashion (perfdhcp, static link and disable-rpath are in packages section, mysql, werror checking and some weird AIX options in "packages")outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/990Better support for recent Botan (configure, warnings)2022-11-02T15:10:18ZFrancis DupontBetter support for recent Botan (configure, warnings)Recent versions of Botan display some warnings:
```
In file included from botan_hash.cc:14:
/usr/local/Cellar/botan/2.12.1/include/botan-2/botan/lookup.h:35:1: warning: this header is deprecated [-W#pragma-messages]
BOTAN_DEPRECATED_HEAD...Recent versions of Botan display some warnings:
```
In file included from botan_hash.cc:14:
/usr/local/Cellar/botan/2.12.1/include/botan-2/botan/lookup.h:35:1: warning: this header is deprecated [-W#pragma-messages]
BOTAN_DEPRECATED_HEADER(lookup.h)
^
/usr/local/Cellar/botan/2.12.1/include/botan-2/botan/compiler.h:104:42: note: expanded from macro 'BOTAN_DEPRECATED_HEADER'
#define BOTAN_DEPRECATED_HEADER(hdr) _Pragma("message \"this header is deprecated\"")
^
<scratch space>:214:2: note: expanded from here
message "this header is deprecated"
^
1 warning generated.
In file included from botan_hmac.cc:14:
/usr/local/Cellar/botan/2.12.1/include/botan-2/botan/hmac.h:14:1: warning: this header will be made internal in the future [-W#pragma-messages]
BOTAN_FUTURE_INTERNAL_HEADER(hmac.h)
^
/usr/local/Cellar/botan/2.12.1/include/botan-2/botan/compiler.h:107:49: note: expanded from macro 'BOTAN_FUTURE_INTERNAL_HEADER'
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr) _Pragma("message \"this header will be made internal in the future\"")
^
<scratch space>:214:2: note: expanded from here
message "this header will be made internal in the future"
^
In file included from botan_hmac.cc:15:
/usr/local/Cellar/botan/2.12.1/include/botan-2/botan/lookup.h:35:1: warning: this header is deprecated [-W#pragma-messages]
BOTAN_DEPRECATED_HEADER(lookup.h)
^
/usr/local/Cellar/botan/2.12.1/include/botan-2/botan/compiler.h:104:42: note: expanded from macro 'BOTAN_DEPRECATED_HEADER'
#define BOTAN_DEPRECATED_HEADER(hdr) _Pragma("message \"this header is deprecated\"")
^
<scratch space>:216:2: note: expanded from here
message "this header is deprecated"
^
2 warnings generated.
```
BTW these warnings are only displayed: the quote is from a --with-werror build.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/951Move Changelog to markdown2019-11-28T16:44:25ZTomek MrugalskiMove Changelog to markdownWe have issue numbers, MR links and commit-ids in the changelog. If we rename the file to ChangeLog.md, gitlab will turn them into clickable links.We have issue numbers, MR links and commit-ids in the changelog. If we rename the file to ChangeLog.md, gitlab will turn them into clickable links.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/926configure failed since cannot find stdlib.h on Yocto Poky Linux2022-06-23T08:57:27ZGhost Userconfigure failed since cannot find stdlib.h on Yocto Poky Linuxcongfigure kea with --boost_include_path may cause stdlib.h cannot be found
it is caused by below commit:
https://github.com/isc-projects/kea/commit/98e64a69d5271db2a6f4944b7c377ee6488a1a42
Change of ax_boost_for_kea.m4:
- BOOST_INCL...congfigure kea with --boost_include_path may cause stdlib.h cannot be found
it is caused by below commit:
https://github.com/isc-projects/kea/commit/98e64a69d5271db2a6f4944b7c377ee6488a1a42
Change of ax_boost_for_kea.m4:
- BOOST_INCLUDES="-I${boost_include_path}"
+ BOOST_INCLUDES="-isystem ${boost_include_path}"
and -isystem could cause this problem, refer: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129
and https://stackoverflow.com/questions/37218953/isystem-on-a-system-include-directory-causes-errorsoutstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/906man pages should be conditional on built binary2022-11-02T15:10:19Ztoppkman pages should be conditional on built binaryhere's a trivial patch to not generate kea-netconf(8) man page if sysrepo support is not enabled.
[0005-disablenetconf.patch](/uploads/c5c6042137f849a29567e421007a2077/0005-disablenetconf.patch)here's a trivial patch to not generate kea-netconf(8) man page if sysrepo support is not enabled.
[0005-disablenetconf.patch](/uploads/c5c6042137f849a29567e421007a2077/0005-disablenetconf.patch)backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/860on macOS 10.14.6 when configuring --with-lcov libssl is not recognized2022-11-02T15:10:19ZRazvan Becheriuon macOS 10.14.6 when configuring --with-lcov libssl is not recognized```
checking for OpenSSL library... yes
checking OpenSSL version... OpenSSL 1.0.2s 28 May 2019
checking support of SHA-2... configure: error: missing EVP entry for SHA-2
```
however, without --with-lcov works fine```
checking for OpenSSL library... yes
checking OpenSSL version... OpenSSL 1.0.2s 28 May 2019
checking support of SHA-2... configure: error: missing EVP entry for SHA-2
```
however, without --with-lcov works finebackloghttps://gitlab.isc.org/isc-projects/kea/-/issues/835on FreeBSD Kea should prefer clang instead of gcc2021-10-20T09:44:18ZMichal Nowikowskion FreeBSD Kea should prefer clang instead of gccas it fails on linking with log4cplus.
It could be done in configure.ac this way:
```
if uname="FreeBSD"
# override configure preference for gcc
AC_PROG_CC(clang llvm-gcc gcc)
AC_PROG_CXX(clang++ llvm-g++ g++)
else
AC_PROG_CC
...as it fails on linking with log4cplus.
It could be done in configure.ac this way:
```
if uname="FreeBSD"
# override configure preference for gcc
AC_PROG_CC(clang llvm-gcc gcc)
AC_PROG_CXX(clang++ llvm-g++ g++)
else
AC_PROG_CC
AC_PROG_CXX
fi
```
this is based on: https://lists.freebsd.org/pipermail/freebsd-toolchain/2013-September/001038.htmloutstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/669the order of dependencies libraries in Makefile.am in src/bin/* is not consis...2022-11-02T15:10:20ZRazvan Becheriuthe order of dependencies libraries in Makefile.am in src/bin/* is not consistentkea_lfc_LDADD = liblfc.la
kea_lfc_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
kea_lfc_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
kea_lfc_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
kea_lfc_LDADD += $(to...kea_lfc_LDADD = liblfc.la
kea_lfc_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
kea_lfc_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
kea_lfc_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
kea_lfc_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
kea_lfc_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
kea_lfc_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
kea_lfc_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
kea_lfc_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
if HAVE_MYSQL
kea_lfc_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
endif
if HAVE_PGSQL
kea_lfc_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la
endif
if HAVE_CQL
kea_lfc_LDADD += $(top_builddir)/src/lib/cql/libkea-cql.la
endif
kea_lfc_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
kea_lfc_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
kea_lfc_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
kea_lfc_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
kea_lfc_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
kea_lfc_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
kea_lfc_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
kea_lfc_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
kea_lfc_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
kea_lfc_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
kea_lfc_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS)
kea_dhcp4_LDADD = libdhcp4.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
if HAVE_MYSQL
kea_dhcp4_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
endif
if HAVE_PGSQL
kea_dhcp4_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la
endif
if HAVE_CQL
kea_dhcp4_LDADD += $(top_builddir)/src/lib/cql/libkea-cql.la
endif
kea_dhcp4_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
kea_dhcp4_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
kea_dhcp4_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS)
kea_dhcp6_LDADD = libdhcp6.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
if HAVE_MYSQL
kea_dhcp6_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
endif
if HAVE_PGSQL
kea_dhcp6_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la
endif
if HAVE_CQL
kea_dhcp6_LDADD += $(top_builddir)/src/lib/cql/libkea-cql.la
endif
kea_dhcp6_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
kea_dhcp6_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
kea_dhcp6_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS)
and similar diffsbackloghttps://gitlab.isc.org/isc-projects/kea/-/issues/568Handle Debian/Ubuntu multiple architecture support2023-01-12T15:28:56ZFrancis DupontHandle Debian/Ubuntu multiple architecture supportCurrently in configure we look for libraries in .../lib and .../lib64 directories. It is not enough on Debian/Ubuntu which uses an architecture triplet so e.g we have to add .../lib/x86_64-linux-gnu to the directory list.
Two notes:
- ...Currently in configure we look for libraries in .../lib and .../lib64 directories. It is not enough on Debian/Ubuntu which uses an architecture triplet so e.g we have to add .../lib/x86_64-linux-gnu to the directory list.
Two notes:
- freeradius client library already uses this with the ARCH_TRIPLET variable (set to ```/x86_64-linux-gnu``` with a leading /.
- the triplet is returned by ```g++ -dumpmachine``` with only one -.
As the path can be given I am not sure there is no round around today but now the issue is identified there is no need to wait to be caught by it.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/304poc: replace autotools with meson2022-11-02T15:08:40ZMichal Nowikowskipoc: replace autotools with mesonbacklogMichal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/kea/-/issues/200Remove obsolete and duplicate exceptions2022-11-02T15:08:41ZTomek MrugalskiRemove obsolete and duplicate exceptionsThere are currently 179 different types of exceptions Kea can throw. See $439 for details. We should review then and remove duplicates. For example we have 6 different ParserError exception, 4 ConfigError exceptions, 7 Type exceptions, 4...There are currently 179 different types of exceptions Kea can throw. See $439 for details. We should review then and remove duplicates. For example we have 6 different ParserError exception, 4 ConfigError exceptions, 7 Type exceptions, 4 socket errors. I'm sure there are many other duplicates.backlog