Commit Graph

541 Commits

Author SHA1 Message Date
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
Neil Booth
90d1d2641b Prepare 0.99.4 2017-03-04 11:08:03 +09:00
Neil Booth
27f94cfb04 Take up to 2 peers randomly from each bucket
Bumped up from 1.
Restore STALE_SECS to 1 day
2017-03-01 20:20:30 +09:00
Neil Booth
51c1e9a59b Prepare 0.99.3 2017-03-01 07:32:28 +09:00
Neil Booth
39bcdb1b6a Require Python 3.5.3
3.5.2 has various socket and API issues affecting peer discovery

Closes #135
2017-03-01 07:23:11 +09:00
Neil Booth
be9d063457 Rename function 2017-03-01 06:44:38 +09:00
Neil Booth
31b978f21e Remove debug logging and peers semaphore.
Increase STALE_SECS to 4 hrs.  Will revert to 1 day soon.
2017-02-28 07:27:36 +09:00
Neil Booth
ddbc13653f Merge branch 'develop' 2017-02-27 19:20:04 +09:00
Neil Booth
2c1481859f More verbose peer logging
Force more reconnects.  Restrict semaphore to 2.
2017-02-27 19:15:07 +09:00
Neil Booth
9bc326430d Import JSONRPC 2017-02-27 19:14:56 +09:00
John L. Jegutanis
472c738479 fix crash in IRC initialization (#141) 2017-02-27 07:24:20 +09:00
Neil Booth
be95697002 Prepare 0.99.2 2017-02-26 15:29:52 +09:00
Neil Booth
e2d640dcb3 Don't announce self if not public
Show all hosts add_peer gives
2017-02-26 15:26:11 +09:00
Neil Booth
b3005fbb3e Fix typo 2017-02-26 13:18:06 +09:00
Neil Booth
b0039a25a7 Prepare 0.99.1 2017-02-26 10:49:27 +09:00
Neil Booth
0145098165 Add debug output
Idea is to help understand #135
2017-02-26 10:42:32 +09:00
Neil Booth
d36d222489 Maintain more than one self-identity
Rather than just retaining our clearnet identity from the environment,
maintain any tor one as well.  This is a little cleaner and avoids
confusion over port assignment when converting to real names.

Fixes #136
2017-02-26 10:22:22 +09:00
Neil Booth
04e7dbe99e Only serve chunks in forward direction
This disconnects bad clients that are on the wrong network
for some reason, before they consume enormous bandwidth.

Closes #132
2017-02-26 10:16:09 +09:00
fr3aker
4c8b5a6439 fix tor coin peers always scheduled for check (#139)
fixes #138
2017-02-26 10:16:08 +09:00
Neil Booth
5bcbdea16a Only set last_connect if the connection was good 2017-02-20 05:37:53 +09:00
Neil Booth
6f32f99a06 Prepare 0.99 2017-02-19 19:42:26 +09:00
Neil Booth
5662f1fa88 Add facility to disable peer discovery
and/or self announcement.
2017-02-19 19:02:01 +09:00