Hi,

a few comments are below.

> >>      "dnssec-invalid": This would indicate that no valid records were
> >>      returned from the recursive resolver.  The request returned with
> >>      SERVFAIL for the requested TLSA record.  It should be noted that
> >>      if the reporter's systems are having problems resolving
> >>      destination DNS records due to DNSSEC failures, it's possible they
> >>      will also be unable to resolve the TLSRPT record, therefore these
> >>      types of reports may be rare.
> >>
> >> Unfortunately, failure to resolve TLSA records is not yet always a result 
> >> of a broader DNS outage.  A small
> fraction of systems have nameservers that are either behind firewalls which 
> implement misguided filtering of
> queries by RRtype (blocking TLSA and other "unusual"
> >> queries) or are buggy and mishandle authenticated denial of existence.
> >> Therefore, the "may be rare" sentence should I think be deleted.
> >
> > This seems to be a different type of operation issue.  If an admin can 
> > never resolve a TLSA record from an
> external site, there may be larger issues going on.  We can alter/remove the 
> sentence, but I don't think it will
> change the frequency of those types reports.

I think this sentence can be deleted, since what is really "rare" is highly 
personal and subjective.

> >> We could perhaps add a "dane-required" failure mode for cases where DANE 
> >> is mandatory (by mutual
> agreement perhaps), but then the receiving domain's TLSA records (really the 
> records for the underlying MX
> hosts) are unexpectedly removed, or become "insecure" if DNSSEC is disabled 
> (DS records removed from
> parent zone).
> >
> > I'd be inclined to say that this would appear in a "v2" of this draft.
> 
> Drafts don't have a "v2".  I don't expect to see a "bis" revision
> of the published RFC any time soon, the WG will soon be closed.
> There is still time to make some final changes.  I apologize for
> the belated "tlsrpt" feedback, I was too busy with STS and other
> matters to give any feedback on "tlsrpt", so here it is, "late",
> but not "never".

Victor, can you please provide a new text?

> >> I think this is a reasonable argument for camels over kebabs, any thoughts 
> >> on whether it is possible to
> revise the field names accordingly?
> >
> > The draft has been like this since the inception, and I can't say I'm 
> > inclined to change it.  If there's strong
> group consensus, we can do it.
> 
> Please do consider this.  I've lately been doing some Haskell
> programming, and it supports implicit generation of JSON encoders
> from structure type definitions, freeing the developer from having
> to write any code to get JSON output, but with "kebab-case" direct
> "deriving" of a JSON encoder is no longer possible and one would
> have to explicitly define some encoding rules.  I don't think that
> Haskell is unique in allowing camelCase identifiers and not
> "kebab-case" identifiers.

While having this feature would be nice, I don't think it justifies changing 
the document.
Note that RFC7469, from which this schema was derived, also uses "kebab" style.

> >> I notice that:
> >>
> >>     "failure-details": [
> >>       {
> >>         "result-type": result-type,
> >>         "sending-mta-ip": ip-address,
> >>         "receiving-mx-hostname": receiving-mx-hostname,
> >>         "receiving-mx-helo": receiving-mx-helo,
> >>         "failed-session-count": failed-session-count,
> >>         "additional-information": additional-info-uri,
> >>         "failure-reason-code": failure-reason-code
> >>         }
> >>       ]
> >>
> >> includes only the "receiving-mx-hostname" and not its IP address.  Some 
> >> sites have multiple hosts behind a
> single name, e.g. sometimes the IPv4 address for mail.example.com lands on a 
> different machine than the
> IPv6 address for the same name (and indeed they present different certificate 
> chains, ...).  Leaving out the
> address might make it more difficult to identify the problem receiving 
> machine.  Perhaps the intention here is
> that receiving systems should make an effort to assign different 
> "receiving-mx-helo" names in such to
> disambiguate these cases?  If so, perhaps that should be mentioned in the 
> text.
> >
> > We can add this, though, in the case of a front-end VIP, you're going to 
> > have the same target IP in many
> stanzas.  I understand the rationale, just wonder how useful it will be in 
> the end.
> 
> Yes, the IP will not always be sufficient to disambiguate
> all problems, but load-balanced MX-pools are more typical
> of large providers that presumably have more operational
> discipline and one hopes will rarely if ever mess up. On
> the other hand, smaller SOHO domains do make mistakes from
> time to time, and it is among these that I in fact sometimes
> see TLS working for (say) IPv4 and not (say) IPv6 of the
> "same" MX host, which turns out to be the "same" in name
> only.

I think this makes sense.

> >> The format for DANE "policy-string" values is both under-specified, and 
> >> needlessly complex:
> >>
> >>      "policy-string": A string representation of the policy, whether
> >>      TLSA record ([RFC6698] section 2.3) or MTA-STS policy.  Examples:
> >>      TLSA: ""_25._tcp.mx.example.com.  IN TLSA ( 3 0 1 \
> >>      1F850A337E6DB9C609C522D136A475638CC43E1ED424F8EEC8513D7 47D1D085D
> >>      )""...
> >>
> >> It should be more clear whether the "TLSA:" prefix is part of of the 
> >> string (I believe it is not), and what the
> pair of consecutive double quotes is about, and how multiple TLSA records are 
> represented.  The JSON policy
> includes "\n" separators (which JSON maps to actual newlines), are TLSA 
> records to be separated with similar
> logical newlines?
> >>
> >> More importantly, the form:
> >>
> >>  _25._tcp.mx.example.com. IN TLSA ( 3 0 1
> 1F850A337E6DB9C609C522D136A475638CC43E1ED424F8EEC8513D7 47D1D085D)
> >>
> >> carries much unnecessary syntax.  It should instead be a simple quintuple 
> >> (qname, usage, selector, mtype,
> data):
> >>
> >>   _25._tcp.mx.example.com. 3 0 1
> 1F850A337E6DB9C609C522D136A475638CC43E1ED424F8EEC8513D747D1D085D
> >>
> >> with the implied "IN TLSA" and "(" ")" removed, and the hex data presented 
> >> without any internal
> whitespace.  With that simplified it remains only to specify clearly how 
> present a complete TLSA RRset.
> >
> > The intent was to have the record and the result.  Your changes are 
> > acceptable, and we can make the
> alterations.    In the case of multiple record results, how would you like 
> that to be displayed?  Separated with a
> semicolon is sufficient I would think.  We'll firm up the examples.
> 
> The "(" and ")" are entirely optional, the TLSA record is well-formed
> without them.  Since the policy type is TLSA, why repeat "IN TLSA",
> it is redundant.  Internal optional white-space in the data payload
> needlessly and significantly complicates parsing.  As for separators,
> I would much prefer newline ("\n" just like in the STS policy blob).
> 
> This portion of the spec really should be more formal, it presently
> just presents a free-form example, rather than a well-defined syntax.
> What's the intent of the consecutive double-quote characters for
> example?

Can you please provide an alternate format?

> >> Why in Section 5.1 is there a "report filename"?  Surely the processing
> >> and storage of reports is entirely up to the receiving system, which
> >> should ignore filename hints from the sender.
> >
> > This is the filename upon delivery. The receiver can rename the file to
> > anything they'd like.
> 
> A JSON report is NOT a file.  It makes no sense to have to specify
> a filename and just creates security issues when one is processed
> by poorly thought out receiving software.  If the intended purpose
> of the filename is to carry useful metadata (rather than suggest
> a storage location), such metadata should be encoded via additional
> MIME attributes of the media type.

I tend to agree.

> >> Why is the Content-Encoding (gzip or not) specified via a filename and not 
> >> the standard header used for
> this purpose?
> >
> > It's specified as both the attached filename and in the Content-Type header.
> 
> I see this as a mistake.  There is only one media type involved
> here, which may have a Content-Encoding.  A receiving system may
> always decompress any compressed form as it comes in (or just
> use uncompressed inputs as-is) parse the JSON and load the data
> into a database.  Another receiving system may always compress
> any uncompressed inputs and save the reports into a file store
> for archival or onward delivery.  This is up to the receiving
> system, but either way I see only the one media type here.
> 
> The issue is perhaps that while "HTTP" has "Content-Encoding",
> MIME as defined in RFC-2045 does not:
> 
>     https://www.ucolick.org/~sla/fits/mime/inetstds.html
> 
>        MIME media types and the WWW
>        ...
>        Section 14.11 gives the proper means of describing the HTTP
>        transmission of a file which is already compressed
> 
>        The Content-Encoding entity-header field is used as a modifier
>        to the media-type. When present, its value indicates what
>        additional content codings have been applied to the entity-body,
>        and thus what decoding mechanisms must be applied in order to
>        obtain the media-type referenced by the Content-Type header field.
>        Content-Encoding is primarily used to allow a document to be
>        compressed without losing the identity of its underlying media
>        type. Unfortunately it seems reasonably clear that Content-Encoding
>        cannot be applied as if it were a MIME "Optional parameter" with the
>        expectation that it could be used when transferring compressed files
>        via e-mail. This observation is based upon section 19.4.4. It appears
>        that a complete description of compressed files transmitted via e-mail
>        requires a new RFC enhancing the MIME standard.
> 
>     https://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.4.4
> 
>         19.4.4 Introduction of Content-Encoding
> 
>         RFC 2045 does not include any concept equivalent to HTTP/1.1's
>         Content-Encoding header field. Since this acts as a modifier on
>         the media type, proxies and gateways from HTTP to MIME-compliant
>         protocols MUST either change the value of the Content-Type header
>         field or decode the entity-body before forwarding the message.
>         (Some experimental applications of Content-Type for Internet mail
>         have used a media-type parameter of ";conversions=<content-coding>"
>         to perform a function equivalent to Content-Encoding. However, this
>         parameter is not part of RFC 2045.)
> 
> Thus, at the very least for HTTP, there should be just one media type,
> and Content-Encoding should be used to signal compression.  For email,
> since we're introducing a new "multipart/report" subtype, and 
> "Content-Encoding"
> is not a standard MIME header, an appropriate media-type parameter (what
> I earlier referred to as MIME "attribute") should be defined for
> "application/tlsrpt".  It could be the above "; conversions=gzip" or
> something similar.  The "application/tlsrpt" being a new media type,
> you're free to define appropriate additional metadata.

Again, can you please provide a text?

Regards,
Valery.

> 
> --
>       Viktor.
> 
> _______________________________________________
> Uta mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/uta

_______________________________________________
Uta mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/uta

Reply via email to