Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						a0cb1945ae 
					 
					
						
						
							
							Merge pull request  #866  from fjl/p2p-last-minute  
						
						 
						
						... 
						
						
						
						Last minute p2p fixes 
						
						
					 
					
						2015-05-06 14:49:52 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						3e2a928caa 
					 
					
						
						
							
							p2p: stop dialing at half the maximum peer count  
						
						 
						
						
						
						
					 
					
						2015-05-06 23:44:51 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								obscuren 
							
						 
					 
					
						
						
							
						
						062fa049d0 
					 
					
						
						
							
							fixed merge issue  
						
						 
						
						
						
						
					 
					
						2015-05-06 22:54:21 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						4accc187d5 
					 
					
						
						
							
							eth, p2p: add trusted node list beside static list  
						
						 
						
						
						
						
					 
					
						2015-05-04 13:59:51 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						54db54931e 
					 
					
						
						
							
							p2p: add static node dialing test  
						
						 
						
						
						
						
					 
					
						2015-05-04 13:08:42 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						e82ddd9198 
					 
					
						
						
							
							p2p: correct a leftover trusted -> static  
						
						 
						
						
						
						
					 
					
						2015-04-30 19:34:33 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						413ace37d3 
					 
					
						
						
							
							eth, p2p: rename trusted nodes to static, drop inbound extra slots  
						
						 
						
						
						
						
					 
					
						2015-04-30 19:32:48 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						701591b403 
					 
					
						
						
							
							cmd, eth, p2p: fix review issues enumerated by Felix  
						
						 
						
						
						
						
					 
					
						2015-04-30 16:15:29 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						1528dbc171 
					 
					
						
						
							
							p2p: add trust check to handshake, test privileged connectivity  
						
						 
						
						... 
						
						
						
						Conflicts:
	p2p/server_test.go 
						
						
					 
					
						2015-04-30 16:06:47 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						14f32a0c3a 
					 
					
						
						
							
							p2p: reduce the severity of a debug log  
						
						 
						
						
						
						
					 
					
						2015-04-30 16:04:09 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						de0549fabb 
					 
					
						
						
							
							cmd/geth, cmd/mist, cmd/utils, eth, p2p: support trusted peers  
						
						 
						
						
						
						
					 
					
						2015-04-30 16:03:10 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						fc747ef4a6 
					 
					
						
						
							
							p2p/discover: new endpoint format  
						
						 
						
						... 
						
						
						
						This commit changes the discovery protocol to use the new "v4" endpoint
format, which allows for separate UDP and TCP ports and makes it
possible to discover the UDP address after NAT. 
						
						
					 
					
						2015-04-30 14:57:33 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						8646365b42 
					 
					
						
						
							
							cmd/bootnode, eth, p2p, p2p/discover: use a fancier db design  
						
						 
						
						
						
						
					 
					
						2015-04-24 18:04:41 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						6def110c37 
					 
					
						
						
							
							cmd/bootnode, eth, p2p, p2p/discover: clean up the seeder and mesh into eth.  
						
						 
						
						
						
						
					 
					
						2015-04-24 11:33:55 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5f735d6fce 
					 
					
						
						
							
							cmd, eth, p2p, p2p/discover: init and clean up the seed cache  
						
						 
						
						
						
						
					 
					
						2015-04-24 11:23:20 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						635b66acdc 
					 
					
						
						
							
							p2p: return zero node from Self if the server is not running  
						
						 
						
						... 
						
						
						
						This helps with fixing the tests for cmd/geth to run without networking. 
						
						
					 
					
						2015-04-22 12:31:19 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						5528abc795 
					 
					
						
						
							
							p2p: fix the dial timer  
						
						 
						
						... 
						
						
						
						The dial timer was not reset properly when the peer count reached
MaxPeers. 
						
						
					 
					
						2015-04-17 08:17:01 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								obscuren 
							
						 
					 
					
						
						
							
						
						474aa924ca 
					 
					
						
						
							
							p2p: added limiter function to limit package broadcasting  
						
						 
						
						
						
						
					 
					
						2015-04-14 12:47:31 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						b9929d289d 
					 
					
						
						
							
							p2p: fix unsynchronized map access during Server shutdown  
						
						 
						
						... 
						
						
						
						removePeer can be called even after listenLoop and dialLoop have returned. 
						
						
					 
					
						2015-04-13 17:37:32 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						c5332537f5 
					 
					
						
						
							
							p2p: limit number of lingering inbound pre-handshake connections  
						
						 
						
						... 
						
						
						
						This is supposed to apply some back pressure so Server is not accepting
more connections than it can actually handle. The current limit is 50.
This doesn't really need to be configurable, but we'll see how it
behaves in our test nodes and adjust accordingly. 
						
						
					 
					
						2015-04-10 17:24:41 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						56977c225e 
					 
					
						
						
							
							p2p: use RLock instead of Lock for pre-dial checks  
						
						 
						
						
						
						
					 
					
						2015-04-10 17:23:09 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						b3c058a9e4 
					 
					
						
						
							
							p2p: improve disconnect signaling at handshake time  
						
						 
						
						... 
						
						
						
						As of this commit, p2p will disconnect nodes directly after the
encryption handshake if too many peer connections are active.
Errors in the protocol handshake packet are now handled more politely
by sending a disconnect packet before closing the connection. 
						
						
					 
					
						2015-04-10 16:57:56 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						145330fdf2 
					 
					
						
						
							
							p2p: properly decrement peer wait group counter for setup errors  
						
						 
						
						
						
						
					 
					
						2015-04-10 13:26:27 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						22d1f0faf1 
					 
					
						
						
							
							p2p: improve peer selection logic  
						
						 
						
						... 
						
						
						
						This commit introduces a new (temporary) peer selection
strategy based on random lookups.
While we're here, also implement the TODOs in dialLoop. 
						
						
					 
					
						2015-04-10 13:26:27 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								obscuren 
							
						 
					 
					
						
						
							
						
						688d118c7e 
					 
					
						
						
							
							Updated logging  
						
						 
						
						
						
						
					 
					
						2015-04-07 14:57:04 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						5ba51594c7 
					 
					
						
						
							
							p2p: use package rlp to encode messages  
						
						 
						
						... 
						
						
						
						Message encoding functions have been renamed to catch any uses.
The switch to the new encoder can cause subtle incompatibilities.
If there are any users outside of our tree, they will at least be
alerted that there was a change.
NewMsg no longer exists. The replacements for EncodeMsg are called
Send and SendItems. 
						
						
					 
					
						2015-03-19 15:11:02 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								zelig 
							
						 
					 
					
						
						
							
						
						b3e133dd15 
					 
					
						
						
							
							Merge branch 'frontier/js' into frontier/nodeadmin.js  
						
						 
						
						
						
						
					 
					
						2015-03-16 22:50:29 +07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								obscuren 
							
						 
					 
					
						
						
							
						
						b523441361 
					 
					
						
						
							
							Moved ethutil => common  
						
						 
						
						
						
						
					 
					
						2015-03-16 11:27:38 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								zelig 
							
						 
					 
					
						
						
							
						
						e150832734 
					 
					
						
						
							
							p2p: server>discover table Self=Node exported  
						
						 
						
						
						
						
					 
					
						2015-03-15 13:38:41 +07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Taylor Gerring 
							
						 
					 
					
						
						
							
						
						485e37e889 
					 
					
						
						
							
							Move MakeName to ethutil  
						
						 
						
						
						
						
					 
					
						2015-03-11 14:29:07 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						215c763d53 
					 
					
						
						
							
							eth, p2p: delete p2p.Blacklist  
						
						 
						
						... 
						
						
						
						It is unused and untested right now. We can
bring it back later if required. 
						
						
					 
					
						2015-03-04 16:54:36 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						22659a7fea 
					 
					
						
						
							
							p2p: restore read/write timeouts  
						
						 
						
						... 
						
						
						
						They got lost in the transition to rlpxFrameRW. 
						
						
					 
					
						2015-03-04 16:42:00 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						7964f30dcb 
					 
					
						
						
							
							p2p: msg.Payload contains list data  
						
						 
						
						... 
						
						
						
						With RLPx frames, the message code is contained in the
frame and is no longer part of the encoded data.
EncodeMsg, Msg.Decode have been updated to match.
Code that decodes RLP directly from Msg.Payload will need
to change. 
						
						
					 
					
						2015-03-04 12:27:24 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						736e632215 
					 
					
						
						
							
							p2p: use RLPx frames for messaging  
						
						 
						
						
						
						
					 
					
						2015-03-04 12:27:23 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						3719db352a 
					 
					
						
						
							
							p2p: emit JSON connect/disconnect events  
						
						 
						
						
						
						
					 
					
						2015-02-19 17:09:33 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						dd871e791c 
					 
					
						
						
							
							p2p: initialize Server.ourHandshake before accepting connections  
						
						 
						
						
						
						
					 
					
						2015-02-19 17:08:18 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						73f94f3755 
					 
					
						
						
							
							p2p: disable encryption handshake  
						
						 
						
						... 
						
						
						
						The diff is a bit bigger than expected because the protocol handshake
logic has moved out of Peer. This is necessary because the protocol
handshake will have custom framing in the final protocol. 
						
						
					 
					
						2015-02-19 16:54:53 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								obscuren 
							
						 
					 
					
						
						
							
						
						09e53367a2 
					 
					
						
						
							
							Use a mutex write-lock for a write operation  
						
						 
						
						
						
						
					 
					
						2015-02-15 02:13:24 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						5cc1256fd6 
					 
					
						
						
							
							p2p: ensure we don't dial ourself  
						
						 
						
						... 
						
						
						
						addPeer doesn't allow self connects, but we can avoid opening
connections in the first place. 
						
						
					 
					
						2015-02-13 15:06:47 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						7101f44998 
					 
					
						
						
							
							p2p: add I/O timeout for encrytion handshake  
						
						 
						
						
						
						
					 
					
						2015-02-13 15:06:47 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						22ee366ed6 
					 
					
						
						
							
							p2p: fix goroutine leak for invalid peers  
						
						 
						
						... 
						
						
						
						The deflect logic called Disconnect on the peer, but the peer never ran
and wouldn't process the disconnect request. 
						
						
					 
					
						2015-02-13 15:06:46 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						170eb3ac68 
					 
					
						
						
							
							p2p/discover: map listening port using configured mechanism  
						
						 
						
						
						
						
					 
					
						2015-02-13 11:39:32 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						d0a2e655c9 
					 
					
						
						
							
							cmd/ethereum, cmd/mist, eth, p2p: use package p2p/nat  
						
						 
						
						... 
						
						
						
						This deletes the old NAT implementation. 
						
						
					 
					
						2015-02-13 11:39:31 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						028775a086 
					 
					
						
						
							
							cmd/ethereum, cmd/mist: add flag for discovery bootstrap nodes  
						
						 
						
						
						
						
					 
					
						2015-02-07 00:52:49 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						2cf4fed11b 
					 
					
						
						
							
							cmd/mist, eth, javascript, p2p: use Node URLs for peer suggestions  
						
						 
						
						
						
						
					 
					
						2015-02-07 00:46:56 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						e34d134102 
					 
					
						
						
							
							p2p: fixes for actual connections  
						
						 
						
						... 
						
						
						
						The unit test hooks were turned on 'in production'. 
						
						
					 
					
						2015-02-07 00:43:52 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						8564eb9f7e 
					 
					
						
						
							
							p2p/discover: add node URL functions, distinguish TCP/UDP ports  
						
						 
						
						... 
						
						
						
						The discovery RPC protocol does not yet distinguish TCP and UDP ports.
But it can't hurt to do so in our internal model. 
						
						
					 
					
						2015-02-07 00:12:23 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Felix Lange 
							
						 
					 
					
						
						
							
						
						5bdc115943 
					 
					
						
						
							
							p2p: integrate p2p/discover  
						
						 
						
						... 
						
						
						
						Overview of changes:
- ClientIdentity has been removed, use discover.NodeID
- Server now requires a private key to be set (instead of public key)
- Server performs the encryption handshake before launching Peer
- Dial logic takes peers from discover table
- Encryption handshake code has been cleaned up a bit
- baseProtocol is gone because we don't exchange peers anymore
- Some parts of baseProtocol have moved into Peer instead 
						
						
					 
					
						2015-02-06 00:00:36 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								obscuren 
							
						 
					 
					
						
						
							
						
						8d1637f567 
					 
					
						
						
							
							Moved connection errors to DebugDetail level  
						
						 
						
						
						
						
					 
					
						2015-01-19 11:21:46 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								obscuren 
							
						 
					 
					
						
						
							
						
						6abf8ef78f 
					 
					
						
						
							
							Merge  
						
						 
						
						
						
						
					 
					
						2015-01-05 17:10:42 +01:00