Matthias Radestock
13fc0bf720
add some tests for Peers
...
extracted from #313
2015-01-24 10:56:44 +00:00
Matthias Radestock
b137f3b639
oops
2015-01-24 10:37:03 +00:00
Matthias Radestock
55f55a59bc
refactor: promote connection lifecycle methods from LocalPeer to Peer
...
They are sufficiently generic, and having them on Peer is useful for
testing.
2015-01-23 20:04:09 +00:00
Matthias Radestock
1dde9bfe0b
cosmetic
2015-01-23 16:58:59 +00:00
Matthias Radestock
0c02e0ac12
Merge remote-tracking branch 'upstream/master'
2015-01-23 16:27:10 +00:00
Matthias Radestock
4cb306e714
refactor: eliminate dependency of Peers on MacCache
2015-01-23 16:24:41 +00:00
rade
1926bc7b71
Merge pull request #357 from errordeveloper/split-create-bridge-command
...
Add create-bridge command
2015-01-22 18:37:00 +00:00
Ilya Dmitrichenko
dfd7d0fe54
Add create-bridge command
2015-01-22 18:04:22 +00:00
Matthias Radestock
86c5e22fa8
another assert
2015-01-22 16:43:07 +00:00
Matthias Radestock
3baa3c09a4
revamp error handling on tcp connection receive loop
...
- treat crypto decoding errors as errors instead of warnings
- introduce helper for handling protocol messages
- put conn.Shutdown in one place
2015-01-22 16:21:48 +00:00
Matthias Radestock
6253be6ecf
cosmetic: nuke stray whitespace
2015-01-22 14:49:00 +00:00
Matthias Radestock
8af2a1c25d
refactor: make tie breaking part of the Connection interface
...
and thus eliminate all knowledge of LocalConnection from the
LocalPeer.handle* methods
2015-01-21 21:44:22 +00:00
Matthias Radestock
99525ebf85
refactor: LocalConnection.CheckFatal be gone!
...
use Shutdown instead, which is in the Connection interface, thus
further reducing dependency on LocalConnection.
2015-01-21 21:23:59 +00:00
Matthias Radestock
9a27299562
cosmetic: consistent method order
2015-01-21 20:55:51 +00:00
Matthias Radestock
fe07a41dc3
refactor: make LocalConnection uid 'private'
...
which makes sense now that we've abstracted tie breaking
2015-01-21 20:46:45 +00:00
Matthias Radestock
9302105a2e
refactor: abstract away connection tie breaking
...
So we don't need to carry that logic in LocalPeer
2015-01-21 20:42:27 +00:00
Matthias Radestock
6efa794ab4
some testing improvements
...
- show complete call stack of failures (this does include some of the
testing machinery, but a) is simple, and b) is guaranteed to not
miss important stack frames)
- add helper to run test with a timeout
- add AssertEqualuint64
2015-01-21 18:45:37 +00:00
Bryan Boreham
b7b5fd3dd2
Merge pull request #356 from rade/forgive_protocol_decoding_errors
...
LGTM.
2015-01-21 17:54:07 +00:00
Matthias Radestock
04f9fab78b
don't ignore EOF when decoding peer connections
...
Even when there are no connections, we still expect the decoding to
succeed.
2015-01-21 17:44:54 +00:00
Matthias Radestock
f5a9f07026
forgive all protocol decoding errors
...
log an error and close the connection, instead of blowing up
2015-01-21 15:01:43 +00:00
Matthias Radestock
8eed483c6e
set permissons on 110_encryption_test.sh same as everything else
2015-01-21 14:18:17 +00:00
Bryan Boreham
bdb8b4625b
Merge pull request #355 from rade/protocol_sender
...
LGTM.
2015-01-21 11:48:54 +00:00
Matthias Radestock
c6f5e7ec94
introduce ProtocolSender interface
2015-01-20 23:41:42 +00:00
Matthias Radestock
76e44afdea
cosmetic
2015-01-20 23:36:02 +00:00
Matthias Radestock
ac95d5ab29
rename and lift ProtocolMsg into API
2015-01-20 23:23:59 +00:00
Matthias Radestock
d089900632
fix crypto
2015-01-20 23:22:44 +00:00
Matthias Radestock
1181a0cb33
better APIs for sending protocol messages
...
no longer tagging requiring the caller to construct them
2015-01-20 22:31:16 +00:00
Matthias Radestock
644697977b
refactor: make protocol message tags a separate type
2015-01-20 21:51:18 +00:00
Matthias Radestock
a1ef2def2b
refactor: extract pdu statics into separate file
2015-01-20 21:41:08 +00:00
Matthias Radestock
9daf753d8a
cosmetic: remove types.go
2015-01-20 21:21:58 +00:00
Matthias Radestock
cdf8e906d1
cosmetic: move Interaction from types.go to utils.go
2015-01-20 21:21:32 +00:00
Matthias Radestock
44c8533632
cosmetic: move packet i/o types from types.go into router.go
2015-01-20 21:20:28 +00:00
Matthias Radestock
e82ed423c1
cosmetic: move ForwardedFrame type from types.go to forwarder.go
2015-01-20 21:15:50 +00:00
Matthias Radestock
2102fc8529
cosmetic: move UDPPacket type from types.go to router.go
2015-01-20 21:14:45 +00:00
Matthias Radestock
e171088fac
cosmetic: remove unused type
2015-01-20 21:02:48 +00:00
Matthias Radestock
62da72e26d
cosmetic: move a bunch of error types to where they belong
2015-01-20 21:01:50 +00:00
Matthias Radestock
c6b68dd2bd
cosmetic: move Router type from types.go to router.go
2015-01-20 20:49:23 +00:00
Matthias Radestock
74563c6e3a
cosmetic: move connection types from types.go to connection.go
2015-01-20 20:44:35 +00:00
Matthias Radestock
a649d45085
cosmetic: move Forwarder type from types.go to forwarder.go
2015-01-20 20:41:13 +00:00
Matthias Radestock
1bc27c303e
cosmetic: move EthernetDecoder type from types.go to ethernet_decoder.go
2015-01-20 20:35:36 +00:00
Matthias Radestock
f5dc851ebe
cosmetic: move udp sender types from types.go to udp_sender.go
2015-01-20 20:30:25 +00:00
Matthias Radestock
be4dca5bf7
cosmetic: move crypto types from types.go into crypto.go
2015-01-20 20:27:59 +00:00
Matthias Radestock
5dd62b2ecf
bound check on protocol message receipt
...
and some refactoring to extract protocol message payload in common place
2015-01-20 20:06:29 +00:00
Matthias Radestock
1b3d65476c
refactor: simplify
2015-01-20 11:51:01 +00:00
Matthias Radestock
1a31748e40
refactor: extract some helpers useful for testing
2015-01-19 21:25:28 +00:00
Matthias Radestock
c7701a20b5
refactor: if->switch
2015-01-19 17:01:20 +00:00
Bryan Boreham
404c7a1ad4
When printing call-stacks from SIGQUIT, trim the buffer to remove garbage at the end
2015-01-19 16:54:40 +00:00
Matthias Radestock
24bd0a9a75
refactor: separate MacCache creation from activation
2015-01-19 16:45:06 +00:00
Matthias Radestock
1a85990bdc
cosmetic: move a comment
2015-01-19 14:51:59 +00:00
Matthias Radestock
b95d5ee182
refactor: split out a helper function
2015-01-19 14:02:22 +00:00