Skip to content
This repository was archived by the owner on May 16, 2019. It is now read-only.

Commit 95dbb43

Browse files
author
Tom Galloway
committed
Merge remote-tracking branch 'upstream/master'
2 parents d93d424 + e3a269b commit 95dbb43

File tree

4 files changed

+23
-12
lines changed

4 files changed

+23
-12
lines changed

api/restapi.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -596,14 +596,23 @@ def delete_contract(self, request):
596596
return server.NOT_DONE_YET
597597

598598
@GET('^/api/v1/shutdown')
599-
@authenticated
600599
def shutdown(self, request):
601-
vendor_store = self.db.VendorStore()
602-
for vendor in self.protocol.vendors.values():
603-
vendor_store.save_vendor(vendor.id.encode("hex"), vendor.getProto().SerializeToString())
604-
PortMapper().clean_my_mappings(self.kserver.node.port)
605-
self.protocol.shutdown()
606-
reactor.stop()
600+
session = request.getSession()
601+
if session not in self.authenticated_sessions and request.getHost().host != "127.0.0.1":
602+
session.expire()
603+
request.setResponseCode(401)
604+
request.write('<html><body><div><span style="color:red">Authorization Error</span></div>'
605+
'<h2>Permission Denied</h2></body></html>')
606+
request.finish()
607+
return server.NOT_DONE_YET
608+
else:
609+
vendor_store = self.db.VendorStore()
610+
for vendor in self.protocol.vendors.values():
611+
vendor_store.save_vendor(vendor.id.encode("hex"), vendor.getProto().SerializeToString())
612+
PortMapper().clean_my_mappings(self.kserver.node.port)
613+
self.protocol.shutdown()
614+
reactor.stop()
615+
return
607616

608617
@POST('^/api/v1/make_moderator')
609618
@authenticated

market/contracts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -822,7 +822,7 @@ def on_tx_received(self, address_version, address_hash, height, block_hash, tx):
822822
for outpoint in outpoints:
823823
self.amount_funded += outpoint["value"]
824824
self.received_txs.append(tx)
825-
self.outpoints.extend(outpoint)
825+
self.outpoints.append(outpoint)
826826
if self.amount_funded >= amount_to_pay: # if fully funded
827827
self.blockchain.unsubscribe_address(
828828
self.contract["buyer_order"]["order"]["payment"]["address"], self.on_tx_received)

openbazaard.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import argparse
44
import json
55
import platform
6-
import requests
76
import socket
87
import stun
98
import sys
109
import time
10+
import urllib2
1111
from api.ws import WSFactory, AuthenticatedWebSocketProtocol, AuthenticatedWebSocketFactory
1212
from api.restapi import RestAPI
1313
from config import DATA_FOLDER, KSIZE, ALPHA, LIBBITCOIN_SERVER,\
@@ -263,10 +263,13 @@ def stop(self):
263263
description="Shutdown the server and disconnect",
264264
usage='''usage:
265265
python openbazaard.py stop''')
266-
parser.parse_args(sys.argv[2:])
266+
parser.add_argument('-r', '--restapiport', help="set the rest api port to shutdown cleanly",
267+
default=18469)
268+
args = parser.parse_args(sys.argv[2:])
267269
print "OpenBazaar server stopping..."
268270
try:
269-
requests.get("http://localhost:18469/api/v1/shutdown")
271+
request = urllib2.build_opener()
272+
request.open('http://localhost:' + args.restapiport + '/api/v1/shutdown')
270273
except Exception:
271274
self.daemon.stop()
272275

requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ txrestapi==0.2
99
txws==0.9.1
1010
python-libbitcoinclient==0.3.2
1111
python-bitcoinlib==0.5.0
12-
requests==2.7.0
1312
pyopenssl==0.15.1
1413
miniupnpc==1.9
1514
bleach==1.4.2

0 commit comments

Comments
 (0)