Opened 6 years ago

Closed 6 years ago

#945 closed defect (fixed)

Host metadata does not confirm to spec (/.well-known/meta-data)

Reported by: Jessica Tallon Owned by:
Priority: major Milestone:
Component: programming Keywords: federation, pump.io, well-known, host meta, rfc6415, waiting-upstream
Cc: Parent Tickets:

Description (last modified by Jessica Tallon)

The /.well-known/host-meta endpoint is providing JSON when it should by default provide XML. According to the spec XML should be the default and JSON and lrdd should be given if requested.

This seems to be a problem with upstream pump.io as they only provide JOSN and not XML. As we're providing a upstream compatible interface this should be decided upstream and we will implement whatever is decided upstream.

The specific part of rfc6415 which deals with Host Meta is under section 2:

The host-meta document SHOULD be served with the

"application/xrd+xml" media type.

The JSON/JRD should be provided at /.well-known/host-meta.json (as per 6.2).

Upstream bug is: https://github.com/e14n/pump.io/issues/1048

Subtickets

Change History (3)

comment:1 Changed 6 years ago by Elrond

Note, section 3 allows for the json document on the host-meta (not .json) endpoint, if explicitly asked by the client:

   The server MAY offer alternative representations of any XRD document
   it serves (host-meta, LRDD, or other XRD-based documents).  The
   client MAY request a particular representation using the HTTP
   "Accept" request header field.  If no "Accept" request header field
   is included with the request, or if the client requests an
   "application/xrd+xml" representation, the server MUST respond using
   the REQUIRED XRD 1.0 XML representation described in Section 3.1.
...
   A JavaScript Object Notation (JSON) Resource Descriptor, known as
   JRD, is described in Appendix A.  It is RECOMMENDED that servers
   offer the JRD representation in addition to the XRD representation.

comment:2 Changed 6 years ago by Jessica Tallon

Description: modified (diff)
Keywords: waiting-upstream added
Status: newaccepted

comment:3 Changed 6 years ago by Jessica Tallon

Resolution: fixed
Status: acceptedclosed

I have written a fix to this which provides the lrdd lookup and XRD+XML output when JSON is not in the 'Accept' header as upstream. The fix and in master as of 899830.

Note: See TracTickets for help on using tickets.