URI: 
       tadded check for out of range block header request - electrum-personal-server - Maximally lightweight electrum server for a single user
  HTML git clone https://git.parazyd.org/electrum-personal-server
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR commit c8dbdd8bd4b0c37e210e174a42c0daa7b5883235
   DIR parent b8aab06cf37cf2e2c0831d42c929135ce5a1f346
  HTML Author: chris-belcher <chris-belcher@users.noreply.github.com>
       Date:   Sun,  8 Apr 2018 18:08:18 +0100
       
       added check for out of range block header request
       
       Diffstat:
         M server.py                           |      17 ++++++++++++++---
       
       1 file changed, 14 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/server.py b/server.py
       t@@ -70,6 +70,11 @@ def send_update(sock, update):
            sock.sendall(json.dumps(update).encode('utf-8') + b'\n')
            debug('<= ' + json.dumps(update))
        
       +def send_error(sock, nid, error):
       +    payload = {"error": error, "jsonrpc": "2.0", "id": nid}
       +    sock.sendall(json.dumps(query).encode('utf-8') + b'\n')
       +    debug('<= ' + json.dumps(query))
       +
        def on_heartbeat_listening(txmonitor):
            debug("on heartbeat listening")
            txmonitor.check_for_updated_txes()
       t@@ -149,9 +154,15 @@ def handle_query(sock, line, rpc, txmonitor):
                new_bestblockhash, header = get_current_header(rpc)
                send_response(sock, query, header)
            elif method == "blockchain.block.get_header":
       -        blockhash = rpc.call("getblockhash", [query["params"][0]])
       -        header = get_block_header(rpc, blockhash)
       -        send_response(sock, query, header)
       +        height = query["params"][0]
       +        try:
       +            blockhash = rpc.call("getblockhash", [height])
       +            header = get_block_header(rpc, blockhash)
       +            send_response(sock, query, header)
       +        except JsonRpcError:
       +            error = {"message": "height " + str(height) + " out of range",
       +                "code": -1}
       +            send_error(sock, query["id"], error)
            elif method == "blockchain.block.get_chunk":
                RETARGET_INTERVAL = 2016
                index = query["params"][0]