Browse Source

Merge branch 'release-0.7.10' into develop

master
Neil Booth 8 years ago
parent
commit
81ee6d69ed
  1. 7
      RELEASE-NOTES
  2. 0
      docs/ACKNOWLEDGEMENTS
  3. 0
      docs/AUTHORS
  4. 23
      docs/ENV-NOTES
  5. 2
      server/protocol.py
  6. 2
      server/version.py

7
docs/RELEASE-NOTES → 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
-------------

0
ACKNOWLEDGEMENTS → docs/ACKNOWLEDGEMENTS

0
AUTHORS → docs/AUTHORS

23
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

2
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))

2
server/version.py

@ -1 +1 @@
VERSION = "ElectrumX 0.7.9"
VERSION = "ElectrumX 0.7.10"

Loading…
Cancel
Save