I've been looking at our authentication scheme implementations, and I noticed that the Digest implementation doesn't appear to conform to RFC 7616. Things like:

 * Authorization header parameters values are always quoted, when 3.4
   clearly says:

   For historical reasons, a sender MUST only generate the quoted
   string syntax for the following parameters: username, realm, nonce,
   uri, response, cnonce, and opaque.

   For historical reasons, a sender MUST NOT generate the quoted string
   syntax for the following parameters: algorithm, qop, and nc.

 * Usernames aren't properly encoded, e.g., a username that contains a
   " would break the header.

And so on.

Since all the tests use hand-crafted requests and responses, they only verify that the implementation does what we expect it to do, not that it actually works in real life. Does anyone know if digest auth with Serf is used anywhere, is there a standard way to test it? Comments in the code say something about googlecode.com which is a) dead and b) was probably never a representative implementation anyway.

Thoughts?

-- Brane

Reply via email to