Edit prop279 to support alternative name representations and non-English languages

Attached is a git diff patch with edits to torspec.git/proposals/279-naming-layer-api.txt (patch on 13cbcbc). Inspired by discussion on tor-dev:

https://lists.torproject.org/pipermail/tor-dev/2017-December/012743.html

https://lists.torproject.org/pipermail/tor-dev/2017-December/012746.html

Brief conceptual overview of the most significant changes:

  • Support Name System API plugins which transform self-contained alternative representations of the data in .onion names. These can be safely configured for a global wildcard '*', then sandboxed with neither network nor filesystem access.

  • Add UTF-8 support, so as not restrict the Name System API to users of American English.

  • Specify failure status codes which will cause name resolution attempts to stop, even if the name may match the TLD for other plugins at a lower priority. This is useful if a plugin configured for a '*' TLD definitively recognizes that a name is invalid, e.g. due to checksum failure.

  • Other changes which support the foregoing objectives.

Please review and commit.

Trac:
Username: nullius

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information