From af878b593597dd6dc8b9f28b8a4c6d123cd8ec81 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Sun, 30 Jun 2013 15:19:45 -0400 Subject: [PATCH] avoid breaking asicminer BE blade with too-long getwork response --- p2pool/bitcoin/worker_interface.py | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/p2pool/bitcoin/worker_interface.py b/p2pool/bitcoin/worker_interface.py index 600c556..7ae1951 100644 --- a/p2pool/bitcoin/worker_interface.py +++ b/p2pool/bitcoin/worker_interface.py @@ -97,7 +97,14 @@ class WorkerInterface(object): if p2pool.DEBUG: print 'POLL %i END identifier=%i' % (id, self.worker_bridge.new_work_event.times) - defer.returnValue(res.getwork(identifier=str(self.worker_bridge.new_work_event.times), submitold=True)) + extra_params = {} + if request.getHeader('User-Agent') == 'Jephis PIC Miner': + # ASICMINER BE Blades apparently have a buffer overflow bug and + # can't handle much extra in the getwork response + extra_params = {} + else: + extra_params = dict(identifier=str(self.worker_bridge.new_work_event.times), submitold=True) + defer.returnValue(res.getwork(**extra_params)) class CachingWorkerBridge(object): def __init__(self, inner): -- 1.7.1