diff --git a/web/implementation-reports/svnmentions-hook.md b/web/implementation-reports/svnmentions-hook.md new file mode 100644 index 0000000..ae680c4 --- /dev/null +++ b/web/implementation-reports/svnmentions-hook.md @@ -0,0 +1,96 @@ +# SVNmentions-hook + +Implementation Home Page URL: https://github.com/carrvo/SVNmentions-hook + +Version: v1.0 + +Source Code repo URL(s) (optional): +* [ ] 100% open source implementation + +Programming Language(s): PHP + +Developer(s): carrvo + +Implementation Classes (Sender and/or Receiver): Sender + + +## Sending + +### Discovery Tests (3.1.1) + +MUST + +* [ ] [Discovery Test #1](https://webmention.rocks/test/1) - HTTP Link header, unquoted rel, relative URL +* [ ] [Discovery Test #2](https://webmention.rocks/test/2) - HTTP Link header, unquoted rel, absolute URL +* [x] [Discovery Test #3](https://webmention.rocks/test/3) - HTML tag, relative URL +* [x] [Discovery Test #4](https://webmention.rocks/test/4) - HTML tag, absolute URL +* [x] [Discovery Test #5](https://webmention.rocks/test/5) - HTML tag, relative URL +* [x] [Discovery Test #6](https://webmention.rocks/test/6) - HTML tag, absolute URL +* [ ] [Discovery Test #7](https://webmention.rocks/test/7) - HTTP Link header with strange casing +* [x] [Discovery Test #8](https://webmention.rocks/test/8) - HTTP Link header, quoted rel +* [ ] [Discovery Test #9](https://webmention.rocks/test/9) - Multiple rel values on a tag +* [ ] [Discovery Test #10](https://webmention.rocks/test/10) - Multiple rel values on a Link header +* [x] [Discovery Test #11](https://webmention.rocks/test/11) - Multiple Webmention endpoints advertised: Link, , +* [ ] [Discovery Test #12](https://webmention.rocks/test/12) - Checking for exact match of rel=webmention +* [ ] [Discovery Test #13](https://webmention.rocks/test/13) - False endpoint inside an HTML comment +* [ ] [Discovery Test #14](https://webmention.rocks/test/14) - False endpoint in escaped HTML +* [ ] [Discovery Test #15](https://webmention.rocks/test/15) - Webmention href is an empty string +* [x] [Discovery Test #16](https://webmention.rocks/test/16) - Multiple Webmention endpoints advertised: , +* [x] [Discovery Test #17](https://webmention.rocks/test/17) - Multiple Webmention endpoints advertised: , +* [ ] [Discovery Test #18](https://webmention.rocks/test/18) - Multiple HTTP Link headers +* [ ] [Discovery Test #19](https://webmention.rocks/test/19) - Single HTTP Link header with multiple values +* [ ] [Discovery Test #20](https://webmention.rocks/test/20) - Link tag with no href attribute +* [x] [Discovery Test #21](https://webmention.rocks/test/21) - Webmention endpoint has query string parameters +* [x] [Discovery Test #22](https://webmention.rocks/test/22) - Webmention endpoint is relative to the path +* [ ] [Discovery Test #23](https://webmention.rocks/test/23) - Webmention target is a redirect and the endpoint is relative + +#### Implementation Notes + +(Add implementation notes here, or remove this section) + + +### Sending Tests (3.1.2) + +MUST + +* [x] Accepts HTTP 200 response as a success +* [x] Accepts HTTP 201 response as a success +* [x] Accepts HTTP 202 response as a success + + +### Update Tests (3.1.3) + +SHOULD + +* [ ] [Update Test #1](https://webmention.rocks/update/1) - Simple update +* [ ] [Update Test #2](https://webmention.rocks/update/2) - Removing a link + +#### Implementation Notes + +(Add implementation notes here, or remove this section) + + +### Delete Tests (3.1.4) + +SHOULD + +* [ ] [Delete Test #1](https://webmention.rocks/delete/1) - Simple delete + +#### Implementation Notes + +(Add implementation notes here, or remove this section) + + +### Security Considerations (4) + +* [ ] The sender avoids sending a Webmention to a loopback address (SHOULD) + + +### Extensions + +This implementation has also implemented the following extensions. + +* [ ] [Salmention](http://indiewebcamp.com/Salmention) +* [ ] [Vouch](http://indiewebcamp.com/Vouch) +* [ ] [Private Webmention](http://indiewebcamp.com/Private-Webmention) +* [ ] Other: _______ diff --git a/web/implementation-reports/svnmentions.md b/web/implementation-reports/svnmentions.md new file mode 100644 index 0000000..18d0f6b --- /dev/null +++ b/web/implementation-reports/svnmentions.md @@ -0,0 +1,110 @@ +# SVNmentions + +Implementation Home Page URL: https://github.com/carrvo/SVNmentions + +Version: v1.0 + +Source Code repo URL(s) (optional): +* [ ] 100% open source implementation + +Programming Language(s): PHP + +Developer(s): carrvo + +Implementation Classes (Sender and/or Receiver): Receiver + + +## Receiving + +Indicate which type of response the receiver provides: + +* [x] HTTP 200 - Receiver synchronously processes the Webmention request (not recommended) +* [ ] HTTP 201 - Receiver creates a status URL the sender can use to check the status of the Webmention +* [ ] HTTP 202 - Receiver processes the Webmention asynchronously + +Describe the response body (if any) which is returned in the request: + + +### Request Verification (3.2.1) + +* [x] Verifies source and target are valid URLs, rejecting with HTTP 400 (MUST) +* [x] Verifies that target is a valid resource for which the receiver accepts Webmentions, rejecting with HTTP 400 (SHOULD) +* [x] Ignores fragment when checking if target is supported (SHOULD) + +### Webmention Verification (3.2.2) + +* [ ] Verification is processed asynchronously (SHOULD) +* [x] Follows at least one HTTP redirect on source URL (MUST) +* [x] Respects a self-imposed limit on number of HTTP redirects to follow (MUST) + +#### Source URL content-types supported + +Please list the content types that your implementation supports when checking if the source document links to the target URL. + +* [x] HTML +* [ ] Other: ______ + + +### HTML Verification (3.2.2) + +The tests below apply when the source document is HTML. + +* [x] Accepts a Webmention where the target URL is in an `` tag +* [x] Accepts a Webmention where the target URL is in an `` tag +* [x] Accepts a Webmention where the target URL is in an `` tag **inside an HTML comment** +* [x] Rejects a Webmention where the target URL is not in the document + + +### Webmention Display/Use + +* [ ] The receiver displays data from the source URL on the target post (MAY) + +* [x] The receiver recognizes that the source URL is a "comment" or "reply" to the post + * [ ] using HTML markup: __________ +* [ ] The receiver recognizes that the source URL is a "like" of the post + * [ ] using HTML markup: __________ +* [ ] The receiver recognizes that the source URL is a "repost" of the post + * [ ] using HTML markup: __________ +* [ ] The receiver recognizes that the source URL is an "RSVP" to the post + * [ ] using HTML markup: __________ +* [ ] The receiver recognizes additional response types, using markup: + * [ ] Response: __________ using HTML markup: __________ + * (Please add lines like above for additional response types the receiver has implemented) + +Please describe any other ways the Webmention is displayed or used if applicable. + + +### Update Tests (3.2.4) + +* [x] Does not display an update Webmention as a new response (SHOULD) +* [ ] Removes the response when an update Webmention is sent and the source URL returns 200 and no link is found (SHOULD) +* [ ] Updates and stores the information from the primary object at the source URL (MUST) +* [ ] Updates and stores the information from children or descendant objects at the source URL (MAY) + + +### Delete Tests (3.2.4) + +* [ ] Recognizes an HTTP 410 response as a delete, and removes the response (SHOULD) + + +### Security Considerations (4) + +* [ ] Webmentions are moderated before being displayed (MAY) +* [ ] Webmentions are periodically re-verified (MAY) +* [ ] The receiver ensures any displayed data it properly encoded/filtered to prevent XSS attacks (MUST) +* [x] Respects a self-imposed limit on the time spent fetching the source URL (SHOULD) +* [ ] Respects a self-imposed limit on the number of bytes fetched from the source URL (SHOULD) +* [ ] The receiver accepts additional parameters or headers, and so has CSRF protection (SHOULD) + + +### Extensions + +This implementation has also implemented the following extensions. + +* [ ] [Salmention](http://indiewebcamp.com/Salmention) +* [ ] [Vouch](http://indiewebcamp.com/Vouch) +* [ ] [Private Webmention](http://indiewebcamp.com/Private-Webmention) +* [ ] Other: _______