Branch: refs/heads/master
  Home:   https://github.com/conformal/btcwallet
  Commit: 4f1d2e7121605b7f73fcce97e347eb1b951cec0b
      
https://github.com/conformal/btcwallet/commit/4f1d2e7121605b7f73fcce97e347eb1b951cec0b
  Author: Josh Rickmar <[email protected]>
  Date:   2014-03-20 (Thu, 20 Mar 2014)

  Changed paths:
    M sockets.go

  Log Message:
  -----------
  Add support for the authenticate extension request.

Just like btcd, this commit adds support for the authenticate request
allowing clients unable to set the HTTP Authorization header to
authenticate to use the RPC server.  The rules for the authenticate
request are as follows:

1) Authentication make clients stateful.  Clients may either be flagged
   as authenticated or unauthenticated.

2) Clients may authenticate by exactly one of two possible ways,
   either by setting the Authorization header or by sending a JSON-RPC
   authenticate request as follows:

   {
     "jsonrpc":"1.0",
     "id":0,
     "method":"authenticate",
     "params":["rpcuser", "rpcpass"]
   }

3) When not authenticated by the Authorization header, the first request
   must be an authenticate request.

4) Sending an authenticate request after a client has already
   successfully authenticated (either by the Authorization header or a
   previous authentication request) is invalid.

5) The result used in the response to a successful authenticate request
   is a JSON null.  For any unsuccessful or invalid authenticate
   requests, the connection is terminated.

This change also orders all incoming requests for a client.  This was
required to ensure that any authentication requests are processed
first.


Reply via email to