Commit Graph

562 Commits

Author SHA1 Message Date
LaoDC
5e92feb8a6 Add new variables to BANNER(_TOR)
$SERVER_VER will return the version number (eg: 1.0.10)
$SERVER_SUBVERSION will return the full version string (eg: ElectrumX 1.0.10)

$VERSION is kept for legacy which is the same as $SERVER_SUBVERSION
2017-05-03 17:09:52 +07:00
Neil Booth
2fe67932c5 Prepare 1.0.10 2017-04-28 22:44:48 +09:00
Neil Booth
e9acb685ab Display hosts in diagnostic 2017-04-09 14:32:45 +09:00
Neil Booth
d216d5111b Prepare 1.0.9 2017-04-09 14:20:17 +09:00
Neil Booth
8a2821d542 Reject invalid hostnames in Env 2017-04-09 14:15:10 +09:00
Neil Booth
b6d8b86dd6 Ignore hosts not appearing in their own features 2017-04-09 14:02:32 +09:00
Neil Booth
c0ff2c0c20 Bump to 1.0.8b 2017-04-06 07:36:04 +09:00
Neil Booth
f3de91180e Add tests for server/env.py 2017-04-06 07:27:48 +09:00
Neil Booth
30df09534f Bump to 1.0.8a 2017-04-03 21:40:02 +09:00
Neil Booth
2c43e89b05 Only set last_good if successfully verified
Rename last_connect to last_good
2017-04-03 21:37:51 +09:00
Neil Booth
e0a79c313c Prepare 1.0.8 2017-04-03 20:13:35 +09:00
Neil Booth
7b17d99c5a Put log on one line 2017-04-03 20:10:42 +09:00
Neil Booth
9f27ea875c Fix peer replacement logic
- drop the IP address peer
- update the remaining peer with fresh info
2017-04-03 20:07:46 +09:00
Neil Booth
2656fd78a4 Clarify that we may not have a clearnet peer 2017-04-02 21:25:02 +09:00
Neil Booth
e96b8f0421 Prepare 1.0.7 2017-04-02 15:12:50 +09:00
Neil Booth
a94d320e5d New feature: force peer discovery via proxy
Set FORCE_PROXY to non-empty to force peer discovery to go
through the proxy.  See docs/ENVIRONMENT.rst

Wait for an attempt at proxy discovery to be made before beginning
peer discovery.
2017-04-02 15:06:29 +09:00
Neil Booth
77a441ad06 Improve proxy handling
Have a background proxy detection loop; removes need to check
specific peers at startup.
Consider proxy down once attempts to use it fail 3 times in a row.
Regularly attempt to rediscover a proxy if it is down.
2017-04-02 14:27:49 +09:00
Neil Booth
178de6c396 Tighten restrictions on HOST
- private IP not allowed if intending for public use
- localhost not allowed
2017-04-02 10:58:55 +09:00
Neil Booth
81e6577838 Catch address resolution failure exceptions 2017-04-01 22:55:16 +09:00
Neil Booth
321315ace0 Fix typo 2017-04-01 15:17:17 +09:00
Neil Booth
d1894356d0 Prepare 1.0.6 2017-04-01 12:10:18 +09:00
Neil Booth
9abc1dc11e REPORT_HOST no longer defaults to HOST
Cleanup of identity handling.  It is now possible to specify
a Tor identity and no clearnet identity.
2017-04-01 12:03:53 +09:00
Neil Booth
abba36ac6c Relax the get_chunk restriction based on client
Closes #162
2017-04-01 11:17:57 +09:00
Neil Booth
55cedfea9c Have Daemon work with aiohttp 1 and 2
Fixes #163
2017-04-01 10:43:34 +09:00
Neil Booth
594b66236f Prepare 1.0.5 2017-03-28 12:30:06 +09:00
Neil Booth
8e00affc1a Fix the diagnostic looping in PeerSession
Fixes #160
2017-03-28 11:14:50 +09:00
Neil Booth
23a408c572 More logging 2017-03-27 13:04:59 +09:00
Neil Booth
860a4e8e93 Prepare 1.0.4 2017-03-26 11:51:18 +09:00
Neil Booth
2650459012 Peer discovery fixes
Change last_connect to mean last connection as its name implies,
not last connection that wasn't bad.
Keep bad peers around for 3 tries.

Improve diagnostic
2017-03-26 11:42:23 +09:00
Neil Booth
79bce5335e Fix missing self 2017-03-25 20:52:26 +09:00
Neil Booth
fa1a5bd3e4 Prepare 1.0.3 2017-03-25 20:27:33 +09:00
Neil Booth
3236989165 Fix bad peer looping
JWU42 pointed out an issue where peer discovery could get in a
failure loop for bad peers; this fixes the the root cause and
the immediate retries
2017-03-25 20:22:38 +09:00
Neil Booth
7b263c5c49 Prepare 1.0.2 2017-03-25 13:28:43 +09:00
Neil Booth
e4947cb9ef Sanitize the maximum number of sessions
Reduce the maximum number of sessions to permit if running with
a tight rlimit, to avoid hitting open file limits.  Log when
doing so.

Closes #158
2017-03-25 13:28:42 +09:00
Neil Booth
f04ff6f5b3 Don't add_peer to ourself 2017-03-25 13:28:42 +09:00
Neil Booth
8236aaf234 Be more strict on form of features dictionary 2017-03-25 13:28:42 +09:00
Neil Booth
be5397a853 Validate hostnames before accepting a new peer
Don't retain non-public addresses

Closes #157
2017-03-25 11:58:54 +09:00
Neil Booth
7a2f29aabe Be stricter accepting add_peer requests
- rate-limit onion add_peer requests
- for clearnet peers only accept if the peer resolves to the
  source address
2017-03-25 11:36:14 +09:00
Neil Booth
84c201f665 Improve diagnostic 2017-03-25 11:35:56 +09:00
John L. Jegutanis
a820829e0e Dynamic header support
Block headers can have a dynamic size that is being indexed on a
new meta file "headers_offsets".

The offsets are 64 bits in order to accommodate coins with big
headers that will accumulate GBs of header data after some years.

Closes #128
2017-03-25 11:35:55 +09:00
Neil Booth
37602d4eae A couple of tweaks to the prior commit. 2017-03-25 11:35:55 +09:00
John L. Jegutanis
ed7d8a319d Refactor block parsing API 2017-03-25 11:35:55 +09:00
Neil Booth
127b4de745 Add new RPC method: add_peer 2017-03-25 11:35:54 +09:00
Neil Booth
060d32211f Check height for all peers
Closes #152
2017-03-25 11:35:54 +09:00
Neil Booth
d198b95798 Reduce new peers per source limit to 2 by default 2017-03-25 11:35:54 +09:00
Neil Booth
9238fe397d Drop ports from top level of features 2017-03-25 11:35:54 +09:00
Neil Booth
e0fd64d29a Rate-limit add_peer calls randomly
Prepare 1.0.1
2017-03-22 07:59:56 +09:00
Neil Booth
294212d421 Fix discovery of base of reorgs 2017-03-21 22:17:01 +09:00
Neil Booth
5f56689e9c Don't permit common invalid REPORT_HOST values 2017-03-21 22:17:01 +09:00
Neil Booth
30bb832ef8 Prepare 1.0 2017-03-05 13:22:09 +09:00