Viktor Dukhovni:
> On Thu, Aug 20, 2020 at 01:20:00PM -0400, Wietse Venema wrote:
> 
> > Viktor Dukhovni:
> >
> > > - &&TLS_DANE_BASED(state->client_start_props->tls_level))
> > > + && TLS_DANE_HASTA(state->client_start_props->dane))
> > > @@ -1427,7 +1427,7 @@ static void tlsp_get_request_event(int event, void 
> > > *context)
> > > -               TLS_DANE_BASED(state->client_start_props->tls_level));
> > > +               TLS_DANE_HASTA(state->client_start_props->dane));
> > 
> > This looks weird. I thought that the problem was with trust anchors, not 
> > DANE?
> 
> Yes, the problem is with trust anchors, but DANE is the general case of:
> 
>     * Policy-based end-entity cert matching:
> 
>         - DANE "_25._tcp.example.net. IN TLSA 3 ? ? ..." 
> 
>         - The Postfix "fingerprint" security level
> 
>     * Policy-based issuer CA cert matching:
> 
>         - DANE "_25._tcp.example.net. IN TLSA 2 ? ? ..." 
> 
>         - The Postfix verify/secure levels with a custom per-site
>           "tafile" .
> 
> Actual DANE TLSA RRsets can have either or both DANE-EE or DANE-TA
> records, with verification ultimately matching either or both.  The
> "fingerprint" level is mapped to DANE-EE, while "tafile" support is
> mapped to DANE-TA.
> 
> Thus actual DANE, fingerprint and secure/verify with a "tafile" are all
> handled via the "general case" of "some sort of DANE-like policy".
> 
> In Postfix 3.6, the job of validating "some sort DANE-like policy" is
> entirely delegated to OpenSSL.  You'll be pleased to know, that in
> Postfix 3.6 the TLS_DANE_HASTA() and TLS_DANE_HASEE() macros are gone.
> We no longer need to treat the various DANE-like matching differently.

As discussed offlist, I would have structured the code in a different
manner, such that trust-anchor support does not call into the DANE
stack, but DANE and trust anchors are entirely separate features that
call into a common infrastructure.

In any case most of that code is gone with Postfix 3.6.

        Wietse

Reply via email to