Skip to content

fix: declare opendmarc_policy_fetch_fo() in dmarc.h.in (#407)#408

Merged
thegushi merged 13 commits into
trusteddomainproject:developfrom
thegushi:fix/fetch-fo-missing-declaration
Jun 6, 2026
Merged

fix: declare opendmarc_policy_fetch_fo() in dmarc.h.in (#407)#408
thegushi merged 13 commits into
trusteddomainproject:developfrom
thegushi:fix/fetch-fo-missing-declaration

Conversation

@thegushi

@thegushi thegushi commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • opendmarc_policy_fetch_fo() was implemented in libopendmarc/opendmarc_policy.c and documented, but its declaration was never added to dmarc.h.in
  • Clang 15+ treats implicit function declarations as a hard error (previously a warning), causing build failures on macOS with Apple Clang 21 and any other toolchain at that threshold
  • One-line fix: add the declaration alongside the other opendmarc_policy_fetch_* int-out-param functions

Closes #407

Test plan

  • Clean build on macOS with Apple Clang 21
  • Clean build on FreeBSD/Linux with Clang 15+

thegushi added 13 commits June 5, 2026 23:18
…project#407)

The function was implemented and documented but never declared in the
public header, causing a build failure on Clang 15+ where implicit
function declarations are an error rather than a warning.
Catches Clang-strict build failures (like the missing opendmarc_policy_fetch_fo
declaration in issue trusteddomainproject#407) that go undetected on the Linux/GCC job.
libmilter is not a standalone Homebrew formula; it comes from sendmail.
Neither libmilter nor sendmail exist as Homebrew formulae; build from
the sendmail source tarball instead.
libmilter.a builds in the current directory, not obj.*/; only mfapi.h
and mfdef.h need to be installed, not the internal sendmail.h.
mfapi.h typedef's bool which conflicts with C23 where bool is a keyword.
Same mfapi.h bool conflict as miltertest; gcc defaults to gnu23 on this runner.
@thegushi thegushi merged commit 78d9556 into trusteddomainproject:develop Jun 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant