CVE and update status of the FreeBSD ports tree3,864 unaddressed CVEs in 671 portsAll times are CET
Port details

devel/libddwaf 2.1.0

Datadog WAF engine

Port info

Maintainer
sunpoet@FreeBSD.org
Packages
latest: 2.1.0
Upstream
up to date
Last update
to 2.1.0 · d3848aea41
Quarterly
2026Q4: 2.1.0
WWW
https://github.com/DataDog/libddwaf
Links
cgit · VuXML

Install

Package
# pkg install libddwaf
installs 2.1.0 from latest; from quarterly (2026Q4) 2.1.0
Port
# cd /usr/ports/devel/libddwaf && make install clean
Size
1,016 KiB download · 6.8 MiB installed
Depends on
devel/libac g20240916, devel/libinjection 4.0.0, devel/re2 20251105, textproc/utf8proc 2.12.0
License
APACHE20 or BSD3CLAUSE

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 162.1.02.1.0–
FreeBSD 152.1.02.1.0–
FreeBSD 142.1.02.1.02.1.0

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 152.1.02.1.0–
FreeBSD 142.1.02.1.02.1.0

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 2.1.0.

Fixed (0)

No VuXML entries for this package.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (39)

Po-Chuan Hsieh (sunpoet) · 2.1.0
devel/libddwaf: Update to 2.1.0

Changes:	https://github.com/DataDog/libddwaf/releases
d3848aea41
Po-Chuan Hsieh (sunpoet) · 2.0.1
devel/libddwaf: Update to 2.0.1

Changes:	https://github.com/DataDog/libddwaf/releases
7dc877e9c9
Po-Chuan Hsieh (sunpoet) · 2.0.0
devel/libddwaf: Update to 2.0.0

Changes:	https://github.com/DataDog/libddwaf/releases
8ae06c977d
Po-Chuan Hsieh (sunpoet) · 1.30.1_1
devel/libinjection: Update to 4.0.0

- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/libinjection/libinjection/releases
9564cf81b8
Dimitry Andric (dim) · 1.30.1
devel/libddwaf: fix build with clang 21

With clang 21 devel/libddwaf fails to build, with errors similar to:

    In file included from /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.cc:8:
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format-inl.h:61:19: error: call to consteval function 'ddwaf::fmt::basic_format_string<char, ddwaf::fmt::basic_string_view<char> &, const char (&)[3]>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
       61 |     format_to(it, FMT_STRING("{}{}"), message, SEP);
          |                   ^
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1905:23: note: expanded from macro 'FMT_STRING'
     1905 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
          |                       ^
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1882:3: note: expanded from macro 'FMT_STRING_IMPL'
     1882 |   [] {                                                                        \
          |   ^
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:688:54: note: subexpression not valid in a constant expression
      688 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
          |                                                   ~~~^~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2639:5: note: in call to 'this->context_.advance_to(&"{}{}"[1])'
     2639 |     context_.advance_to(begin);
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2634:5: note: in call to 'this->on_format_specs(0, &"{}{}"[1], &"{}{}"[1])'
     2634 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2459:5: note: in call to 'handler.on_replacement_field(0, &"{}{}"[1])'
     2459 |     handler.on_replacement_field(handler.on_arg_id(), begin);
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2491:21: note: in call to 'parse_replacement_field<char, ddwaf::fmt::detail::format_string_checker<char, ddwaf::fmt::basic_string_view<char>, char[3]> &>(&"{}{}"[1], &"{}{}"[4], checker(s))'
     2491 |         begin = p = parse_replacement_field(p - 1, end, handler);
          |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2742:7: note: in call to 'parse_format_string<true, char, ddwaf::fmt::detail::format_string_checker<char, ddwaf::fmt::basic_string_view<char>, char[3]>>({&"{}{}"[0], 4}, checker(s))'
     2742 |       detail::parse_format_string<true>(str_, checker(s));
          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format-inl.h:61:19: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
        struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
            using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("{}{}"[0])>;
            [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
                return fmt::detail_exported::compile_string_to_view<char_type>("{}{}");
            }
        };
        return FMT_COMPILE_STRING();
    }())'
       61 |     format_to(it, FMT_STRING("{}{}"), message, SEP);
          |                   ^~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1905:23: note: expanded from macro 'FMT_STRING'
     1905 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
          |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1882:3: note: expanded from macro 'FMT_STRING_IMPL'
     1882 |   [] {                                                                        \
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1883 |     /* Use the hidden visibility as a workaround for a GCC bug (#1973). */    \
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1884 |     /* Use a macro-like name to avoid shadowing warnings. */                  \
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1885 |     struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base {               \
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1886 |       using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t<decltype(s[0])>; \
          |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1887 |       FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit                                 \
          |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1888 |       operator fmt::basic_string_view<char_type>() const {                    \
          |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1889 |         return fmt::detail_exported::compile_string_to_view<char_type>(s);    \
          |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1890 |       }                                                                       \
          |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1891 |     };                                                                        \
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1892 |     return FMT_COMPILE_STRING();                                              \
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1893 |   }()
          |   ~~~

This is caused by an outdated vendored version of the fmt library, from
<https://github.com/fmtlib/fmt>. Upstream libddwaf updated their
vendored copy in <https://github.com/DataDog/libddwaf/commit/d9dd3eb>,
which is a bit large due to the vendor update, but the patch applies
with a minimum of fuzz, and makes libddwaf build with clang 21.

PR:		293165
Approved by:	sunpoet (maintainer)
MFH:		2026Q1
76122faa9d
Po-Chuan Hsieh (sunpoet) · 1.30.1
devel/libddwaf: Update to 1.30.1

Changes:	https://github.com/DataDog/libddwaf/releases
83371b9de4
Po-Chuan Hsieh (sunpoet) · 1.30.0
devel/libddwaf: Update to 1.30.0

Changes:	https://github.com/DataDog/libddwaf/releases
aac22cbefc
Po-Chuan Hsieh (sunpoet) · 1.29.0
devel/libddwaf: Update to 1.29.0

Changes:	https://github.com/DataDog/libddwaf/releases
0e673de6ed
Po-Chuan Hsieh (sunpoet) · 1.28.1
devel/libddwaf: Update to 1.28.1

Changes:	https://github.com/DataDog/libddwaf/releases
4ed23b4562
Po-Chuan Hsieh (sunpoet) · 1.27.0
devel/libddwaf: Update to 1.27.0

Changes:	https://github.com/DataDog/libddwaf/releases
ba3f6c6bb9
Po-Chuan Hsieh (sunpoet) · 1.26.0
devel/libddwaf: Update to 1.26.0

Changes:	https://github.com/DataDog/libddwaf/releases
aa56c7d5f6
Po-Chuan Hsieh (sunpoet) · 1.25.1
devel/libddwaf: Update to 1.25.1

Changes:	https://github.com/DataDog/libddwaf/releases
06015aaf7e
Po-Chuan Hsieh (sunpoet) · 1.24.1
devel/libddwaf: Update to 1.24.1

Changes:	https://github.com/DataDog/libddwaf/releases
b8ea7ff4ea
Po-Chuan Hsieh (sunpoet) · 1.23.0
devel/libddwaf: Update to 1.23.0

Changes:	https://github.com/DataDog/libddwaf/releases
fd95b8efe0
Po-Chuan Hsieh (sunpoet) · 1.22.0
devel/libddwaf: Update to 1.22.0

Changes:	https://github.com/DataDog/libddwaf/releases
939c4f08d1
Po-Chuan Hsieh (sunpoet) · 1.21.0
devel/libddwaf: Update to 1.21.0

Changes:	https://github.com/DataDog/libddwaf/releases
2dab6c1e74
Po-Chuan Hsieh (sunpoet) · 1.20.1
devel/libddwaf: Update to 1.20.1

Changes:	https://github.com/DataDog/libddwaf/releases
520db3d624
Po-Chuan Hsieh (sunpoet) · 1.20.0
devel/libddwaf: Update to 1.20.0

Changes:	https://github.com/DataDog/libddwaf/releases
6b9ae8789c
Po-Chuan Hsieh (sunpoet) · 1.19.1
devel/libddwaf: Update to 1.19.1

Changes:	https://github.com/DataDog/libddwaf/releases
7f4213093d
Po-Chuan Hsieh (sunpoet) · 1.19.0
devel/libddwaf: Update to 1.19.0

Changes:	https://github.com/DataDog/libddwaf/releases
1af18ee1a5
Po-Chuan Hsieh (sunpoet) · 1.18.0
devel/libddwaf: Update to 1.18.0

Changes:	https://github.com/DataDog/libddwaf/releases
9da1103306
Po-Chuan Hsieh (sunpoet) · 1.17.0
devel/libddwaf: Update to 1.17.0

Changes:	https://github.com/DataDog/libddwaf/releases
bd517ed2fc
Po-Chuan Hsieh (sunpoet) · 1.16.1
devel/libddwaf: Update to 1.16.1

Changes:	https://github.com/DataDog/libddwaf/releases
25e609b3b1
Po-Chuan Hsieh (sunpoet) · 1.16.0
devel/libddwaf: Update to 1.16.0

- Clean up LIB_DEPENDS

Changes:	https://github.com/DataDog/libddwaf/releases
946604ae19
Po-Chuan Hsieh (sunpoet) · 1.15.1_1
devel/libfmt: Update to 10.1.1

- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/fmtlib/fmt/releases
ec5f6e2261
Po-Chuan Hsieh (sunpoet) · 1.15.1
devel/libddwaf: Update to 1.15.1

Changes:	https://github.com/DataDog/libddwaf/releases
1a7c8c2749
Po-Chuan Hsieh (sunpoet) · 1.15.0
devel/libddwaf: Update to 1.15.0

Changes:	https://github.com/DataDog/libddwaf/releases
20d1ed50cf
Daniel Engberg (diizzy) · 1.14.0_2
*/*: Treewide: Bump consumers of textproc/utf8proc

...after commit a71f6f1f41195fc156071640e2cd200541c21e52

Reported by:	vvd
b63a90c49c
Po-Chuan Hsieh (sunpoet) · 1.14.0_1
devel/re2: Update to 20230801

- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/google/re2/releases
0c509fb2dc
Po-Chuan Hsieh (sunpoet) · 1.14.0
devel/libddwaf: Update to 1.14.0

Changes:	https://github.com/DataDog/libddwaf/releases
65c756fec1
Po-Chuan Hsieh (sunpoet) · 1.13.1
devel/libddwaf: Update to 1.13.1

Changes:	https://github.com/DataDog/libddwaf/releases
cf08fa4e9d
Po-Chuan Hsieh (sunpoet) · 1.13.0
devel/libddwaf: Update to 1.13.0

Changes:	https://github.com/DataDog/libddwaf/releases
7763ad8dc1
Po-Chuan Hsieh (sunpoet) · 1.12.0
devel/libddwaf: Update to 1.12.0

Changes:	https://github.com/DataDog/libddwaf/releases
daaa4bf356
Tobias Kortkamp (tobik) · 1.11.0
devel/libddwaf: Spell CMAKE_ON correctly

LIBDDWAF_BUILD_SHARED and LIBDDWAF_BUILD_STATIC are already on by
default.

Reported by:	portfmt scan
04310ee1d6
Po-Chuan Hsieh (sunpoet) · 1.11.0
devel/libddwaf: Update to 1.11.0

Changes:	https://github.com/DataDog/libddwaf/releases
35f40735a0
Po-Chuan Hsieh (sunpoet) · 1.10.0
devel/libddwaf: Update to 1.10.0

Changes:	https://github.com/DataDog/libddwaf/releases
2013ec8f18
Po-Chuan Hsieh (sunpoet) · 1.9.0_1
devel/re2: Update to 20230301

- Bump PORTREVISION of dependent ports for shlib change

Changes:	https://github.com/google/re2/releases
94713bad76
Po-Chuan Hsieh (sunpoet) · 1.9.0
devel/libddwaf: Update to 1.9.0

Changes:	https://github.com/DataDog/libddwaf/releases
95625128ac
Po-Chuan Hsieh (sunpoet) · 1.8.2
devel/libddwaf: Add libddwaf 1.8.2

libddwaf is Datadog's implementation of a Web Application Firewall (WAF) engine,
with a goal of low performance and memory overhead, and embeddability in a wide
variety of language runtimes through a C API.
bca243c240