From 9544170c55d94f31ac5ecc2936eff65bed284d33 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Sat, 26 Nov 2016 09:53:47 +0900 Subject: [PATCH] Prepare release-0.7.10 --- docs/RELEASE-NOTES => RELEASE-NOTES | 7 +++++++ ACKNOWLEDGEMENTS => docs/ACKNOWLEDGEMENTS | 0 AUTHORS => docs/AUTHORS | 0 docs/ENV-NOTES | 23 +++++++++++++---------- server/protocol.py | 2 +- server/version.py | 2 +- 6 files changed, 22 insertions(+), 12 deletions(-) rename docs/RELEASE-NOTES => RELEASE-NOTES (97%) rename ACKNOWLEDGEMENTS => docs/ACKNOWLEDGEMENTS (100%) rename AUTHORS => docs/AUTHORS (100%) diff --git a/docs/RELEASE-NOTES b/RELEASE-NOTES similarity index 97% rename from docs/RELEASE-NOTES rename to RELEASE-NOTES index a793349..b1ff9c0 100644 --- a/docs/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -1,3 +1,10 @@ +version 0.7.10 +-------------- + +- replaced MAX_HIST environment variable with MAX_SEND, see docs/ENV-NOTES. + Large requests are blocked and logged. The logs should help you determine + if the requests are genuine (perhaps requiring a higher MAX_SEND) or abuse. + version 0.7.9 ------------- diff --git a/ACKNOWLEDGEMENTS b/docs/ACKNOWLEDGEMENTS similarity index 100% rename from ACKNOWLEDGEMENTS rename to docs/ACKNOWLEDGEMENTS diff --git a/AUTHORS b/docs/AUTHORS similarity index 100% rename from AUTHORS rename to docs/AUTHORS diff --git a/docs/ENV-NOTES b/docs/ENV-NOTES index c93d15e..c12bb11 100644 --- a/docs/ENV-NOTES +++ b/docs/ENV-NOTES @@ -45,17 +45,20 @@ each and are processed efficiently. I feel the defaults are low and encourage you to raise them. MAX_SEND - maximum size of a response message to send over the wire, - in bytes. Defaults to 250,000. The current Electrum - protocol has a flaw in that address histories must be - served all at once or not at all, an obvious avenue for - abuse. This limit is a stop-gap until the protocol is - improved to admit incremental history requests. - Each history entry is appoximately 100 bytes so the - default is equivalent to a history limit of around 2,500 + in bytes. Defaults to 350,000 and will treat smaller + values as the same because standard Electrum protocol + header chunk requests are nearly that large. + The Electrum protocol has a flaw in that address + histories must be served all at once or not at all, + an obvious avenue for abuse. MAX_SEND is a + stop-gap until the protocol is improved to admit + incremental history requests. Each history entry + is appoximately 100 bytes so the default is + equivalent to a history limit of around 3,500 entries, which should be ample for most legitimate - users. Increasing by a single-digit factor is likely fine - but bear in mind one client can request history for - multiple addresses. + users. Increasing by a single-digit factor is + likely fine but bear in mind one client can request + history for multiple addresses. MAX_SUBS - maximum number of address subscriptions across all sessions. Defaults to 250,000. MAX_SESSION_SUBS - maximum number of address subscriptions permitted to a diff --git a/server/protocol.py b/server/protocol.py index 0e5bbf8..b9f1884 100644 --- a/server/protocol.py +++ b/server/protocol.py @@ -227,7 +227,7 @@ class ServerManager(util.LoggedClass): self.max_subs = env.max_subs self.subscription_count = 0 self.futures = [] - env.max_send = max(1000, env.max_send) + env.max_send = max(350000, env.max_send) self.logger.info('max response size {:,d} bytes'.format(env.max_send)) self.logger.info('max subscriptions across all sessions: {:,d}' .format(self.max_subs)) diff --git a/server/version.py b/server/version.py index e2b598b..8b4837f 100644 --- a/server/version.py +++ b/server/version.py @@ -1 +1 @@ -VERSION = "ElectrumX 0.7.9" +VERSION = "ElectrumX 0.7.10"