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.