./_tools/libddwaf-updater/update.sh
Will upgrade from v1.14.0 to v1.15.0
... downloaded <repo-root>/Datadog/go-libddwaf/include/ddwaf.h
... downloaded <repo-root>/Datadog/go-libddwaf/lib/darwin-arm64/libddwaf.dylib
... downloaded <repo-root>/Datadog/go-libddwaf/lib/darwin-amd64/libddwaf.dylib
... downloaded <repo-root>/Datadog/go-libddwaf/lib/linux-arm64/libddwaf.so
... downloaded <repo-root>/Datadog/go-libddwaf/lib/linux-amd64/libddwaf.so
... downloaded <repo-root>/Datadog/go-libddwaf/lib/linux-armv7/libddwaf.so
... downloaded <repo-root>/Datadog/go-libddwaf/lib/linux-i386/libddwaf.so
All done! Don't forget to check in changes to include/ and lib/, check the libddwaf upgrade guide to update bindings!
DumpEmbeddedWAF for linux systems.
It creates a memfd and writes the embedded WAF library to it. Then it returns the path the /proc/self/fd/<fd> path
to the file. This trick makes us able to load the library without having to write it to disk.
Hence, making go-libddwaf work on full read-only filesystems.