]> git.ipfire.org Git - thirdparty/kea.git/log
thirdparty/kea.git
3 years ago[#2537] document logging inheritance more clearly
Andrei Pavel [Fri, 19 Aug 2022 10:56:33 +0000 (13:56 +0300)] 
[#2537] document logging inheritance more clearly

3 years ago[#2537] put root logger specification at the front
Andrei Pavel [Fri, 26 Aug 2022 14:36:48 +0000 (17:36 +0300)] 
[#2537] put root logger specification at the front

When multiple loggers are configured, it is possible that a child logger is
processed before the root logger. The order that is in `loggers` configuration
seems to be respected. This could have been a feature in itself, but to keep
it simple and according to the documentation, the root logger was placed in
front of the list on `applyLoggingCfg()`. The root logger that is currently
configured is now always the one that is inherited.

Deleting the root logger is another scenario that could have been problematic.
However, all the specifications are processed through a locally declared
`LoggerManager`. When it goes out of scope it destructs, causing `delete impl_`
which resets `root_spec_`. So when reconfiguration comes, it's like the
previous root logger was never there. We benefit from this default behavior,
and there is no other redundant resetting of root_spec_.

3 years ago[#2537] add inheritance of output_options
Andrei Pavel [Fri, 19 Aug 2022 10:06:55 +0000 (13:06 +0300)] 
[#2537] add inheritance of output_options

Unlike severity and debug level that have inheritance support embedded
in log4cplus, output_options do not. This commit adds support for this
inheritance by storing a copy of the root logger's specification and
using it on child loggers if they don't have a specification themselves.

3 years ago[#2537] allow logger severity inheritance
Andrei Pavel [Thu, 18 Aug 2022 16:26:25 +0000 (19:26 +0300)] 
[#2537] allow logger severity inheritance

Inheritance of severity + debug level is already supported by log4cplus.
This is already tested in:
* LoggerTest.SeverityInheritance
* LoggerTest.EffectiveSeverityInheritance
* LoggerTest.DebugLevelInheritance

To benefit from inheritance, the user first has to be able to omit the
severity. As a result, a missing severity no longer throws an
exception. The exception did not even do a good job of preventing wrong
severity values. Try configuring "severity": "FOO" to see that it does
not get caught on this point.

3 years ago[#2537] add space in error message
Andrei Pavel [Fri, 19 Aug 2022 10:14:34 +0000 (13:14 +0300)] 
[#2537] add space in error message

There was a missing space after colon in the following error message:

DHCP4_CONFIG_LOAD_FAIL configuration error using file: <file>, reason:
Error while processing command 'config-set':loggers entry does not
have a mandatory 'severity' element

3 years ago[#2527] added ChangeLog entry
Razvan Becheriu [Fri, 26 Aug 2022 15:07:16 +0000 (18:07 +0300)] 
[#2527] added ChangeLog entry

3 years ago[#2527] added options 151-157 from RFC6926
Razvan Becheriu [Mon, 22 Aug 2022 15:13:55 +0000 (18:13 +0300)] 
[#2527] added options 151-157 from RFC6926

3 years ago[#2450] Review changes
Thomas Markwalder [Fri, 26 Aug 2022 13:32:42 +0000 (09:32 -0400)] 
[#2450] Review changes

    Minor editing changes

3 years ago[#2450] updated rbac hook documentation
Wlodek Wencel [Fri, 26 Aug 2022 12:40:31 +0000 (14:40 +0200)] 
[#2450] updated rbac hook documentation

3 years ago[#2510] hammer.py: fix the name of debian freeradius-client packages
Andrei Pavel [Fri, 26 Aug 2022 12:22:03 +0000 (15:22 +0300)] 
[#2510] hammer.py: fix the name of debian freeradius-client packages

3 years ago[#2528] updated bump-lib-versions script for latest versioning model
Razvan Becheriu [Thu, 25 Aug 2022 10:57:45 +0000 (13:57 +0300)] 
[#2528] updated bump-lib-versions script for latest versioning model

3 years ago[#2510] hammer.py: export the name of FreeRADIUS client packages used while building...
Andrei Pavel [Tue, 26 Jul 2022 19:01:31 +0000 (22:01 +0300)] 
[#2510] hammer.py: export the name of FreeRADIUS client packages used while building packages

3 years ago[#2534] Changelog wrapped
Tomek Mrugalski [Fri, 26 Aug 2022 08:42:47 +0000 (10:42 +0200)] 
[#2534] Changelog wrapped

3 years ago[#2534] ChangeLog added
Tomek Mrugalski [Fri, 26 Aug 2022 08:12:53 +0000 (10:12 +0200)] 
[#2534] ChangeLog added

3 years ago[#2534] Added log about detected python ver
Tomek Mrugalski [Fri, 26 Aug 2022 07:59:08 +0000 (09:59 +0200)] 
[#2534] Added log about detected python ver

3 years ago[#2534] Dynamic python ver detection
Tomek Mrugalski [Fri, 26 Aug 2022 07:48:13 +0000 (09:48 +0200)] 
[#2534] Dynamic python ver detection

 patch by Andrei Pavel

3 years ago[#2534] FreeBSD 13/sphinx/python version fix
Tomek Mrugalski [Thu, 18 Aug 2022 12:22:57 +0000 (14:22 +0200)] 
[#2534] FreeBSD 13/sphinx/python version fix

3 years ago[#2471] Updated doc
Francis Dupont [Fri, 5 Aug 2022 14:02:42 +0000 (16:02 +0200)] 
[#2471] Updated doc

3 years ago[#2541] reverted path in upgrade scripts and added admin-utils.sh.in
Razvan Becheriu [Fri, 19 Aug 2022 15:02:00 +0000 (18:02 +0300)] 
[#2541] reverted path in upgrade scripts and added admin-utils.sh.in

3 years ago[#2516] add support for CentOS Stream 9 in hammer.py
Andrei Pavel [Fri, 29 Jul 2022 06:51:10 +0000 (09:51 +0300)] 
[#2516] add support for CentOS Stream 9 in hammer.py

3 years ago[#2071] remove unused using namespace statement to allow compilation without MySQL...
Andrei Pavel [Thu, 11 Aug 2022 06:20:41 +0000 (09:20 +0300)] 
[#2071] remove unused using namespace statement to allow compilation without MySQL and PostgreSQL

3 years ago[#2401] change to vector to allow brace-enclosed initializer list in tests
Andrei Pavel [Thu, 11 Aug 2022 06:08:26 +0000 (09:08 +0300)] 
[#2401] change to vector to allow brace-enclosed initializer list in tests

3 years ago[#2071] added ChangeLog
Razvan Becheriu [Tue, 9 Aug 2022 10:40:19 +0000 (13:40 +0300)] 
[#2071] added ChangeLog

3 years ago[#2071] Fixed globing vs find
Francis Dupont [Mon, 8 Aug 2022 14:47:39 +0000 (16:47 +0200)] 
[#2071] Fixed globing vs find

3 years ago[#2071] Reverted clean-local rule
Francis Dupont [Mon, 8 Aug 2022 14:23:39 +0000 (16:23 +0200)] 
[#2071] Reverted clean-local rule

3 years ago[#2071] Check existence of file vs of a parent directory
Francis Dupont [Fri, 5 Aug 2022 09:51:04 +0000 (11:51 +0200)] 
[#2071] Check existence of file vs of a parent directory

3 years ago[#2071] Replaced ${@} by $@ for dash
Francis Dupont [Fri, 5 Aug 2022 08:44:17 +0000 (10:44 +0200)] 
[#2071] Replaced ${@} by $@ for dash

3 years ago[#2071] Fixed wipe script paths
Francis Dupont [Fri, 5 Aug 2022 00:29:52 +0000 (02:29 +0200)] 
[#2071] Fixed wipe script paths

3 years ago[#2071] addressed comments
Razvan Becheriu [Thu, 4 Aug 2022 14:54:50 +0000 (17:54 +0300)] 
[#2071] addressed comments

3 years ago[#2071] fixed distcheck
Razvan Becheriu [Fri, 29 Jul 2022 10:41:01 +0000 (13:41 +0300)] 
[#2071] fixed distcheck

3 years ago[#2071] fixed rebase
Razvan Becheriu [Thu, 28 Jul 2022 19:14:08 +0000 (22:14 +0300)] 
[#2071] fixed rebase

3 years ago[#2071] fixed CI
Razvan Becheriu [Mon, 20 Jun 2022 18:22:33 +0000 (21:22 +0300)] 
[#2071] fixed CI

3 years ago[#2071] fixed rebase
Razvan Becheriu [Mon, 20 Jun 2022 15:46:43 +0000 (18:46 +0300)] 
[#2071] fixed rebase

3 years ago[#2071] fixed use of valgrind
Razvan Becheriu [Mon, 20 Jun 2022 15:31:45 +0000 (18:31 +0300)] 
[#2071] fixed use of valgrind

3 years ago[#2071] fixed paths for distcheck to work
Razvan Becheriu [Thu, 2 Jun 2022 14:19:57 +0000 (17:19 +0300)] 
[#2071] fixed paths for distcheck to work

3 years ago[#2071] propagate all flags from configure to distcheck
Razvan Becheriu [Mon, 30 May 2022 16:02:18 +0000 (19:02 +0300)] 
[#2071] propagate all flags from configure to distcheck

3 years ago[#2401] Addressed comments
Francis Dupont [Wed, 10 Aug 2022 13:53:21 +0000 (15:53 +0200)] 
[#2401] Addressed comments

3 years ago[#2401] Moved to a multi-index list/unorderd set for relay address list
Francis Dupont [Thu, 28 Jul 2022 16:35:28 +0000 (18:35 +0200)] 
[#2401] Moved to a multi-index list/unorderd set for relay address list

3 years ago[#2401] Extra space
Francis Dupont [Thu, 28 Jul 2022 15:21:46 +0000 (17:21 +0200)] 
[#2401] Extra space

3 years ago[#2503] Workaround to fix alpine 3.16 packaging by fetching sphinx from pip
Dan Theisen [Tue, 26 Jul 2022 22:58:37 +0000 (15:58 -0700)] 
[#2503] Workaround to fix alpine 3.16 packaging by fetching sphinx from pip

3 years ago[#2503] Ensure Alpine has real gzip installed
Dan Theisen [Fri, 22 Jul 2022 08:27:39 +0000 (01:27 -0700)] 
[#2503] Ensure Alpine has real gzip installed

3 years ago[#2503] Remove skip-networking from Alpine mariadb configuration in hammer
Dan Theisen [Fri, 22 Jul 2022 08:14:23 +0000 (01:14 -0700)] 
[#2503] Remove skip-networking from Alpine mariadb configuration in hammer

3 years ago[#2211] Edited ChangeLog entry
Thomas Markwalder [Wed, 3 Aug 2022 19:20:14 +0000 (15:20 -0400)] 
[#2211] Edited ChangeLog entry

3 years ago[#2211] Added ChangeLog entry
Francis Dupont [Wed, 3 Aug 2022 13:42:00 +0000 (15:42 +0200)] 
[#2211] Added ChangeLog entry

3 years ago[#2211] Set broadcast HW address when flag is set and packet not relayed
Francis Dupont [Wed, 15 Jun 2022 15:32:38 +0000 (17:32 +0200)] 
[#2211] Set broadcast HW address when flag is set and packet not relayed

3 years agoApply 1 suggestion(s) to 1 file(s)
Dan Theisen [Thu, 4 Aug 2022 07:45:22 +0000 (07:45 +0000)] 
Apply 1 suggestion(s) to 1 file(s)

3 years agoAdded note to split expression
Marcin Godzina [Thu, 4 Aug 2022 07:25:54 +0000 (07:25 +0000)] 
Added note to split expression

3 years ago[#2517] Updated unit tests
Francis Dupont [Wed, 3 Aug 2022 10:50:51 +0000 (12:50 +0200)] 
[#2517] Updated unit tests

3 years ago[#2517] Wording
Francis Dupont [Tue, 2 Aug 2022 22:24:50 +0000 (00:24 +0200)] 
[#2517] Wording

3 years ago[#2517] Added unit tests
Francis Dupont [Tue, 2 Aug 2022 16:44:04 +0000 (18:44 +0200)] 
[#2517] Added unit tests

3 years ago[#2517] Checkpoint: addressed comments in code, doing new unit tests
Francis Dupont [Tue, 2 Aug 2022 14:48:49 +0000 (16:48 +0200)] 
[#2517] Checkpoint: addressed comments in code, doing new unit tests

3 years ago[#2517] Updating doc
Francis Dupont [Mon, 1 Aug 2022 15:26:59 +0000 (17:26 +0200)] 
[#2517] Updating doc

3 years ago[#2517] Added unit tests
Francis Dupont [Mon, 1 Aug 2022 15:08:15 +0000 (17:08 +0200)] 
[#2517] Added unit tests

3 years ago[#2517] Adding multiple requested vendor options
Francis Dupont [Sun, 31 Jul 2022 19:16:53 +0000 (21:16 +0200)] 
[#2517] Adding multiple requested vendor options

3 years ago[#2517] Revamped option sending
Francis Dupont [Sun, 31 Jul 2022 18:05:41 +0000 (20:05 +0200)] 
[#2517] Revamped option sending

3 years ago[#2517] Added getList for option descriptors
Francis Dupont [Sun, 31 Jul 2022 14:23:48 +0000 (16:23 +0200)] 
[#2517] Added getList for option descriptors

3 years ago[#2235] Removed archives from libload tests
Francis Dupont [Wed, 27 Jul 2022 18:59:21 +0000 (20:59 +0200)] 
[#2235] Removed archives from libload tests

3 years agoFix PostgreSQL for RHEL 9 in hammer.py
manu [Fri, 29 Jul 2022 08:45:33 +0000 (10:45 +0200)] 
Fix PostgreSQL for RHEL 9 in hammer.py

3 years ago[#2235] Moved [in]valid load test implementations to header
Francis Dupont [Wed, 27 Jul 2022 16:04:38 +0000 (18:04 +0200)] 
[#2235] Moved [in]valid load test implementations to header

3 years ago[#2235] Fixed minor and not visible bug
Francis Dupont [Wed, 27 Jul 2022 15:17:42 +0000 (17:17 +0200)] 
[#2235] Fixed minor and not visible bug

3 years ago[#2513] add ChangeLog entry
Andrei Pavel [Wed, 27 Jul 2022 13:02:41 +0000 (16:02 +0300)] 
[#2513] add ChangeLog entry

3 years ago[#2513] disable smartquotes in sphinx configuration
Andrei Pavel [Wed, 27 Jul 2022 12:11:40 +0000 (15:11 +0300)] 
[#2513] disable smartquotes in sphinx configuration

3 years ago[#2513] add a missing word in the ARM
Andrei Pavel [Wed, 27 Jul 2022 12:11:05 +0000 (15:11 +0300)] 
[#2513] add a missing word in the ARM

3 years ago[#2235] Refactored remaining hooks lib libloadtests
Thomas Markwalder [Tue, 26 Jul 2022 19:35:35 +0000 (15:35 -0400)] 
[#2235] Refactored remaining hooks lib libloadtests

src/hooks/dhcp/flex_option/libloadtests/Makefile.am
src/hooks/dhcp/flex_option/libloadtests/load_unload_unittests.cc

src/hooks/dhcp/high_availability/libloadtests/Makefile.am
src/hooks/dhcp/high_availability/libloadtests/load_unload_unittests.cc

src/hooks/dhcp/run_script/libloadtests/Makefile.am
src/hooks/dhcp/run_script/libloadtests/load_unload_unittests.cc

src/lib/testutils/lib_load_test_fixture.h
    LibLoadTest added SetUp() and  validConfigParams()

3 years ago[#2235] Addressed some changes
Francis Dupont [Tue, 26 Jul 2022 16:47:07 +0000 (18:47 +0200)] 
[#2235] Addressed some changes

3 years ago[#2235] Added library load tests to core hooks
Thomas Markwalder [Thu, 14 Jul 2022 20:18:29 +0000 (16:18 -0400)] 
[#2235] Added library load tests to core hooks

Extended the LibLoadTest class added recently,
new file:
    src/lib/testutils/lib_load_test_fixture.cc

Added libloadest directory and tests:

src/hooks/dhcp/bootp/libloadtests/.gitignore
src/hooks/dhcp/bootp/libloadtests/Makefile.am
src/hooks/dhcp/bootp/libloadtests/load_unload_unittests.cc
src/hooks/dhcp/bootp/libloadtests/run_unittests.cc

src/hooks/dhcp/lease_cmds/libloadtests/.gitignore
src/hooks/dhcp/lease_cmds/libloadtests/Makefile.am
src/hooks/dhcp/lease_cmds/libloadtests/load_unload_unittests.cc
src/hooks/dhcp/lease_cmds/libloadtests/run_unittests.cc

src/hooks/dhcp/mysql_cb/libloadtests/.gitignore
src/hooks/dhcp/mysql_cb/libloadtests/Makefile.am
src/hooks/dhcp/mysql_cb/libloadtests/load_unload_unittests.cc
src/hooks/dhcp/mysql_cb/libloadtests/run_unittests.cc

src/hooks/dhcp/pgsql_cb/libloadtests/.gitignore
src/hooks/dhcp/pgsql_cb/libloadtests/Makefile.am
src/hooks/dhcp/pgsql_cb/libloadtests/load_unload_unittests.cc
src/hooks/dhcp/pgsql_cb/libloadtests/run_unittests.cc

src/hooks/dhcp/stat_cmds/libloadtests/.gitignore
src/hooks/dhcp/stat_cmds/libloadtests/Makefile.am
src/hooks/dhcp/stat_cmds/libloadtests/load_unload_unittests.cc
src/hooks/dhcp/stat_cmds/libloadtests/run_unittests.cc

3 years ago[#2235] Removed duplicated include
Francis Dupont [Wed, 15 Jun 2022 21:36:43 +0000 (23:36 +0200)] 
[#2235] Removed duplicated include

3 years ago[#2235] Added process name checks for hooks
Francis Dupont [Wed, 15 Jun 2022 14:06:25 +0000 (16:06 +0200)] 
[#2235] Added process name checks for hooks

3 years ago[#2512] bump version in configure.ac to 2.3.0-git
Andrei Pavel [Wed, 27 Jul 2022 09:17:56 +0000 (12:17 +0300)] 
[#2512] bump version in configure.ac to 2.3.0-git

3 years ago[#2505] release changes
Andrei Pavel [Mon, 25 Jul 2022 15:51:51 +0000 (18:51 +0300)] 
[#2505] release changes

3 years ago[#2474] regenerate parsers
Andrei Pavel [Fri, 22 Jul 2022 19:13:46 +0000 (22:13 +0300)] 
[#2474] regenerate parsers

3 years ago[#2474] fixed unittests for different compilation flags
Razvan Becheriu [Fri, 22 Jul 2022 13:35:35 +0000 (16:35 +0300)] 
[#2474] fixed unittests for different compilation flags

3 years ago[#2474] fixed comments
Razvan Becheriu [Fri, 22 Jul 2022 12:31:19 +0000 (15:31 +0300)] 
[#2474] fixed comments

3 years ago[#2474] added unittests which load and validate example files
Razvan Becheriu [Tue, 19 Jul 2022 20:04:46 +0000 (23:04 +0300)] 
[#2474] added unittests which load and validate example files

3 years ago[#2504] bump lib versions for 2.2.0
Thomas Markwalder [Fri, 22 Jul 2022 17:16:58 +0000 (13:16 -0400)] 
[#2504] bump lib versions for 2.2.0

3 years ago[#2504] Addressed review comment
Thomas Markwalder [Fri, 22 Jul 2022 17:50:34 +0000 (13:50 -0400)] 
[#2504] Addressed review comment

3 years ago[#2504] bump lib versions for 2.2.0
Thomas Markwalder [Fri, 22 Jul 2022 17:16:58 +0000 (13:16 -0400)] 
[#2504] bump lib versions for 2.2.0

3 years ago[#2484] Updated default/unknown role doc
Francis Dupont [Thu, 21 Jul 2022 16:04:28 +0000 (18:04 +0200)] 
[#2484] Updated default/unknown role doc

3 years ago[#2406] Grammar
Francis Dupont [Fri, 22 Jul 2022 13:39:11 +0000 (15:39 +0200)] 
[#2406] Grammar

3 years ago[#2406] Added doc for new GSS flags
Francis Dupont [Wed, 29 Jun 2022 18:30:24 +0000 (20:30 +0200)] 
[#2406] Added doc for new GSS flags

3 years ago[#2452] Addressed review comments
Thomas Markwalder [Fri, 22 Jul 2022 13:28:43 +0000 (09:28 -0400)] 
[#2452] Addressed review comments

share/database/scripts/pgsql/dhcpdb_create.pgsql
share/database/scripts/pgsql/upgrade_012_to_013.sh.in
    Removed extraneous index

3 years ago[#2452] Updated ChangeLog
Thomas Markwalder [Fri, 22 Jul 2022 10:36:20 +0000 (06:36 -0400)] 
[#2452] Updated ChangeLog

3 years ago[#2452] Added ChangeLog
Thomas Markwalder [Thu, 21 Jul 2022 17:00:00 +0000 (13:00 -0400)] 
[#2452] Added ChangeLog

3 years ago[#2452] Fixed diff in postgresql scripts
Thomas Markwalder [Wed, 20 Jul 2022 16:00:32 +0000 (12:00 -0400)] 
[#2452] Fixed diff in postgresql scripts

3 years ago[#2452] Improve postgresl indexes on hosts table
Thomas Markwalder [Wed, 20 Jul 2022 15:53:27 +0000 (11:53 -0400)] 
[#2452] Improve postgresl indexes on  hosts table

src/share/database/scripts/pgsql/dhcpdb_create.pgsql
src/share/database/scripts/pgsql/upgrade_012_to_013.sh.in
    Added host index for dhcp identifier + type only - v4 and v6
    Modified existing host index to include subnet-id = 0 - v4 and v6

3 years ago[#2475] addressed review
Razvan Becheriu [Fri, 22 Jul 2022 12:14:21 +0000 (15:14 +0300)] 
[#2475] addressed review

3 years ago[#2475] Added optional handle reset
Francis Dupont [Fri, 22 Jul 2022 08:38:19 +0000 (10:38 +0200)] 
[#2475] Added optional handle reset

3 years ago[#2434] fix typos
Andrei Pavel [Fri, 22 Jul 2022 11:44:36 +0000 (14:44 +0300)] 
[#2434] fix typos

3 years ago[#2434] add ChangeLog entry
Andrei Pavel [Fri, 22 Jul 2022 11:43:35 +0000 (14:43 +0300)] 
[#2434] add ChangeLog entry

3 years ago[#2434] document socket status in status-get
Andrei Pavel [Thu, 21 Jul 2022 10:09:12 +0000 (13:09 +0300)] 
[#2434] document socket status in status-get

3 years ago[#2434] add tests for socket status in status-get
Andrei Pavel [Thu, 21 Jul 2022 10:23:10 +0000 (13:23 +0300)] 
[#2434] add tests for socket status in status-get

3 years ago[#2434] add socket status in response to status-get
Andrei Pavel [Thu, 21 Jul 2022 10:08:09 +0000 (13:08 +0300)] 
[#2434] add socket status in response to status-get

3 years ago[#2476] Fixed ChangeLog entry
Thomas Markwalder [Fri, 22 Jul 2022 11:23:55 +0000 (07:23 -0400)] 
[#2476] Fixed ChangeLog entry

3 years ago[#2476] Addressed review comments
Thomas Markwalder [Fri, 22 Jul 2022 10:45:56 +0000 (06:45 -0400)] 
[#2476] Addressed review comments

3 years ago[#2476] Updated control channel response doc
Thomas Markwalder [Thu, 21 Jul 2022 18:12:35 +0000 (14:12 -0400)] 
[#2476] Updated control channel response doc

doc/sphinx/arm/ctrl-channel.rst
    Added section "Control Agent Command Response Format"

3 years ago[#2224] added missing parameters including TLS connection parameters to YANG models
Razvan Becheriu [Wed, 20 Jul 2022 16:45:31 +0000 (19:45 +0300)] 
[#2224] added missing parameters including TLS connection parameters to YANG models

3 years agofixed pipeline after ChangeLog edit
Wlodek Wencel [Thu, 21 Jul 2022 16:07:48 +0000 (18:07 +0200)] 
fixed pipeline after ChangeLog edit

3 years agoText edits
Suzanne Goldlust [Thu, 21 Jul 2022 13:53:17 +0000 (13:53 +0000)] 
Text edits

3 years ago[#2454] Compilation fix
Tomek Mrugalski [Wed, 20 Jul 2022 20:32:36 +0000 (22:32 +0200)] 
[#2454] Compilation fix

3 years ago[#2454] Renamed ctrl socket template to appease doxygen
Tomek Mrugalski [Wed, 20 Jul 2022 07:49:10 +0000 (09:49 +0200)] 
[#2454] Renamed ctrl socket template to appease doxygen