]>
git.deb.at Git - rhonda/impostor.hazel.git/log
Matthew Endsley [Wed, 3 Feb 2021 10:02:12 +0000 (02:02 -0800)]
Modify ConnectionId to key on both an endpoint and serial
Matthew Endsley [Wed, 3 Feb 2021 10:17:22 +0000 (02:17 -0800)]
Remove NetworkConnection.RemoteEndPoint
This field was originally created to provide a non-generic alternative
to the Connection class' EndPoint field. However, we've replaced the
generic ConnectionEndPoint with IPEndPoint in the Connection class.
Since the bas class has a less-generic alias, it is now safe to remove
RemoteEndPoint from NetworkConnection in favor of always using
Connection.EndPoint
Matthew Endsley [Wed, 3 Feb 2021 10:11:28 +0000 (02:11 -0800)]
Use IPEndPoint internally in ThreadLimitedUdpConnectionListener
Matthew Endsley [Wed, 3 Feb 2021 09:53:23 +0000 (01:53 -0800)]
Use ConnectionId as key to connection map
Matthew Endsley [Wed, 3 Feb 2021 09:18:14 +0000 (01:18 -0800)]
Update error message to reflect new function source
Matthew Endsley [Wed, 3 Feb 2021 09:15:10 +0000 (01:15 -0800)]
Use consuming enumerator for queue processing
This changes avoids us needing to write the proper error-checking code
to see if a queue has been completed vs some unrelated failure.
Matthew Endsley [Wed, 3 Feb 2021 09:14:36 +0000 (01:14 -0800)]
Initialize the keep-alive timer before sending packets
Matthew Endsley [Wed, 3 Feb 2021 09:14:05 +0000 (01:14 -0800)]
Ensure disconnect message is encrypted with DTLS
Matthew Endsley [Wed, 3 Feb 2021 08:22:14 +0000 (00:22 -0800)]
Attempt to resend reliable packets during connection loop
Matthew Endsley [Wed, 3 Feb 2021 22:27:33 +0000 (14:27 -0800)]
Fix outgoing sequence numbers from DTLS connection listener
Matthew Endsley [Tue, 2 Feb 2021 14:17:23 +0000 (06:17 -0800)]
Add DTLS connection tests
Matthew Endsley [Tue, 2 Feb 2021 15:07:52 +0000 (07:07 -0800)]
Only join threads if we were active
Matthew Endsley [Tue, 2 Feb 2021 15:06:35 +0000 (07:06 -0800)]
Do not clear spans of zero length
Matthew Endsley [Tue, 2 Feb 2021 14:17:05 +0000 (06:17 -0800)]
Merge branch 'dtls_client' into dtls
Matthew Endsley [Mon, 1 Feb 2021 23:35:28 +0000 (15:35 -0800)]
Implement client-side DTLS handshake
Matthew Endsley [Mon, 1 Feb 2021 21:53:52 +0000 (13:53 -0800)]
Add stub DTLS client connection
Matthew Endsley [Sun, 24 Jan 2021 18:06:49 +0000 (10:06 -0800)]
Merge branch 'dtls_listener' into dtls
Matthew Endsley [Tue, 12 Jan 2021 15:10:12 +0000 (07:10 -0800)]
Implement server-side DTLS handshake
Matthew Endsley [Thu, 17 Dec 2020 18:25:22 +0000 (10:25 -0800)]
Add stub DTLS listener
Matthew Endsley [Sun, 24 Jan 2021 17:24:04 +0000 (09:24 -0800)]
Allow subclasses to mark a connection as stale
These connections will be disconnected at the next call to DisconnectOldConnections
Matthew Endsley [Sun, 24 Jan 2021 17:30:35 +0000 (09:30 -0800)]
Use abstract connection identifier
This change lays the groundwork for the
ThreadLimitedUdpConnectionListener to distinguish different logical
sessions from the same remote address.
Matthew Endsley [Fri, 22 Jan 2021 18:39:08 +0000 (10:39 -0800)]
Add null record protection implementation
Matthew Endsley [Wed, 13 Jan 2021 18:32:09 +0000 (10:32 -0800)]
Merge branch 'dtls_listener_update' into dtls
Matthew Endsley [Thu, 17 Dec 2020 18:00:50 +0000 (10:00 -0800)]
Allow TL connection listener to override incoming message processing
Matthew Endsley [Wed, 13 Jan 2021 12:25:01 +0000 (04:25 -0800)]
Merge branch 'dtls_record_protection' into dtls
Matthew Endsley [Sat, 19 Dec 2020 01:19:38 +0000 (17:19 -0800)]
Update SendMessageInfo to hold byte span
Matthew Endsley [Wed, 13 Jan 2021 07:58:16 +0000 (23:58 -0800)]
Add AesGcm record protection
Matthew Endsley [Tue, 12 Jan 2021 15:14:53 +0000 (07:14 -0800)]
Allow derived listener classes access to the logger
Matthew Endsley [Wed, 13 Jan 2021 09:35:12 +0000 (01:35 -0800)]
Merge branch 'dtls_record' into dtls
Matthew Endsley [Wed, 13 Jan 2021 18:37:06 +0000 (10:37 -0800)]
Add interface for record protection
Matthew Endsley [Wed, 13 Jan 2021 08:56:28 +0000 (00:56 -0800)]
Merge branch 'dtls_psuedo_random_function' into dtls
Matthew Endsley [Wed, 13 Jan 2021 09:30:55 +0000 (01:30 -0800)]
Add record wire format conversions
Matthew Endsley [Wed, 13 Jan 2021 08:41:11 +0000 (00:41 -0800)]
Add common PRF labels as constants
Matthew Endsley [Wed, 13 Jan 2021 08:39:21 +0000 (00:39 -0800)]
Add ExpandSecret variant that takes label as a byte span
Matthew Endsley [Sat, 19 Dec 2020 06:33:57 +0000 (22:33 -0800)]
Merge branch 'key_exchange' into dtls
Matthew Endsley [Wed, 13 Jan 2021 08:18:45 +0000 (00:18 -0800)]
Add the psuedoranomm function P_SHA256
Matthew Endsley [Sat, 23 Jan 2021 23:55:52 +0000 (15:55 -0800)]
Merge branch 'crypto_primitives' into dtls_new
Matthew Endsley [Sat, 19 Dec 2020 02:32:30 +0000 (18:32 -0800)]
Add x25519 version of ECDHE_RSA_256 cipher suite
This the portion of the cipher suite used during connection negotiation.
Matthew Endsley [Sat, 19 Dec 2020 02:21:34 +0000 (18:21 -0800)]
Add initial cipher suite interfaces
Matthew Endsley [Sat, 19 Dec 2020 02:10:32 +0000 (18:10 -0800)]
Add AES_GCM primitive
Matthew Endsley [Sat, 19 Dec 2020 01:59:52 +0000 (17:59 -0800)]
Add x25519 primitive
Matthew Endsley [Sat, 19 Dec 2020 02:02:49 +0000 (18:02 -0800)]
Add a few constant-time utilities
Matthew Endsley [Thu, 17 Dec 2020 23:55:07 +0000 (15:55 -0800)]
Add ByteSpan utility
Matthew Endsley [Wed, 16 Dec 2020 22:45:08 +0000 (14:45 -0800)]
Merge branch 'cleanup_tests' into fewerThreads2
Matthew Endsley [Wed, 16 Dec 2020 21:30:45 +0000 (13:30 -0800)]
Initialize keepalive timer in constructor
Matthew Endsley [Wed, 16 Dec 2020 21:30:24 +0000 (13:30 -0800)]
Fix disposal issues in ThreadLimitedUdpConnectionListener
Forest [Tue, 15 Dec 2020 01:03:54 +0000 (17:03 -0800)]
Add the ability to start a MessageWriter in the middle of a MessageReader
Forest [Thu, 5 Nov 2020 07:00:13 +0000 (23:00 -0800)]
A bit of testing and pushing abstractions around. Readers and Writers now clear their buffer upon get.
Forest [Sat, 31 Oct 2020 23:00:40 +0000 (16:00 -0700)]
Merge branch 'rewritepkts' into fewerThreads2
Forest [Sat, 31 Oct 2020 22:58:10 +0000 (15:58 -0700)]
Test UnityUdpClientConnection a little
Forest [Sat, 31 Oct 2020 22:31:26 +0000 (15:31 -0700)]
A little tidy
Forest [Wed, 14 Oct 2020 05:42:18 +0000 (22:42 -0700)]
Cleanup old, unused doc project and fix #7
Forest [Sat, 31 Oct 2020 22:15:08 +0000 (15:15 -0700)]
Merge remote-tracking branch 'origin/fewerThreads2'
Forest [Sat, 31 Oct 2020 22:07:30 +0000 (15:07 -0700)]
Remove documentation project
Forest [Sat, 31 Oct 2020 22:04:38 +0000 (15:04 -0700)]
Add functionality to rewrite packets
Forest [Wed, 14 Oct 2020 05:42:18 +0000 (22:42 -0700)]
Cleanup old, unused doc project and fix #7
Forest [Thu, 8 Oct 2020 07:02:00 +0000 (00:02 -0700)]
Merge pull request #6 from willardf/bug-5
Test and fix bug #5: A malformed packet can be used to leak old packets
Forest [Thu, 8 Oct 2020 00:42:46 +0000 (17:42 -0700)]
Merge branch 'bug-5' into fewerThreads2
Forest [Thu, 8 Oct 2020 00:37:28 +0000 (17:37 -0700)]
Test and fix bug #5: A malformed packet can be used to leak old packets
Forest [Thu, 8 Oct 2020 00:02:36 +0000 (17:02 -0700)]
A couple subtle changes
Forest [Thu, 24 Sep 2020 17:35:01 +0000 (10:35 -0700)]
Poll for socket avail and handle send errors
Forest [Sun, 6 Sep 2020 18:46:42 +0000 (11:46 -0700)]
Acceptable. Time to improve
Forest [Thu, 3 Sep 2020 22:31:52 +0000 (15:31 -0700)]
Hazel pretty good. 2020.9.1
Forest [Wed, 19 Aug 2020 21:50:55 +0000 (14:50 -0700)]
Add more tests, fix a bug when recycling unaware hello messages
Forest [Mon, 6 Jul 2020 22:04:15 +0000 (15:04 -0700)]
More testing, some fixes
Forest [Wed, 29 Apr 2020 22:46:21 +0000 (15:46 -0700)]
Fix a severe issue with redundant acks
Fix a potential issue in ObjectPool on Unity IL2CPP
Improve naming of thread limited classes.
Forest [Thu, 2 Apr 2020 23:07:08 +0000 (16:07 -0700)]
Add 8x redundancy to acks
Forest [Fri, 17 Jan 2020 23:04:20 +0000 (15:04 -0800)]
Remove unused timeout param from ConnectAsync
Forest [Wed, 15 Jan 2020 21:08:15 +0000 (13:08 -0800)]
Added a listener with a fixed number of threads. Still testing how that works in practice
Forest [Sat, 11 Jan 2020 23:37:26 +0000 (15:37 -0800)]
Add some UPnP capabilities, add an intercept for internal disconnect messages
Forest [Thu, 2 Jan 2020 22:16:50 +0000 (14:16 -0800)]
Merge remote-tracking branch 'origin/master'
Forest [Tue, 17 Dec 2019 21:05:31 +0000 (13:05 -0800)]
Create a separate client connection better suited to unity. Tidy up a great many things
Forest [Fri, 18 Oct 2019 19:39:19 +0000 (12:39 -0700)]
Merge pull request #2 from shaunthesheep644/LoggerNullRefFix
Fix a null-ref if not using the logger Action and a server receive completes synchronously.
Forest [Fri, 18 Oct 2019 19:27:31 +0000 (12:27 -0700)]
* Fix some issues that popped up in Hazel-Examples because of overzealous refactoring.
* Add more data into the early AcceptConnectionCheck to benefit IP-based connection rejection.
* Add a metric for message resends
* Tune message resends a little more
Max Tiganov [Sat, 21 Sep 2019 11:47:09 +0000 (14:47 +0300)]
logger nullref fix
Forest [Thu, 5 Sep 2019 21:14:26 +0000 (14:14 -0700)]
Improve broadcast listener debugging and ignore some infrequent exceptions
Forest [Tue, 20 Aug 2019 22:33:13 +0000 (15:33 -0700)]
Better enable very early connection validation
Tidy up some broadcaster stuff
Fix a misreported statistic
Some logging for suspect stuff
Forest [Thu, 25 Jul 2019 23:42:40 +0000 (16:42 -0700)]
Revert some bad code that caused OnNewConnection to be called multiple times for some connections
Forest [Thu, 25 Jul 2019 21:47:08 +0000 (14:47 -0700)]
Lots of code clean up, fixed an issue were a latent connection could cause packet spamming
Forest [Thu, 20 Jun 2019 21:38:47 +0000 (14:38 -0700)]
Fix and test disconnect message feature
Forest [Thu, 20 Jun 2019 21:30:09 +0000 (14:30 -0700)]
Fix some flaky tests, clean up some style
Forest [Thu, 20 Jun 2019 21:13:36 +0000 (14:13 -0700)]
Add the ability to send extra data along side a disconnect message
Forest [Thu, 13 Jun 2019 23:07:35 +0000 (16:07 -0700)]
Improve debuggability, and maybe fix a case where the disconnect handler wasn't getting called
Forest [Thu, 6 Jun 2019 21:20:56 +0000 (14:20 -0700)]
Clean up a slow leak of ping packets when connections are dispose
Forest [Wed, 29 May 2019 04:26:52 +0000 (21:26 -0700)]
Clean up some stuff, fix some bugs, add a new type of copy to MessageReader, add a new stat counter. Revise pings so they aren't so chatty over lossy connections.
Forest [Fri, 26 Apr 2019 19:26:53 +0000 (12:26 -0700)]
Re-remove TCP (this time for good), add a counter to track potentionally fragmented (by MTU) packets, catch a small crash-causer caused by disposing client connections
Forest [Mon, 15 Apr 2019 23:35:15 +0000 (16:35 -0700)]
Remove obvious allocation from UdpClientConnection. How did I miss that?
Forest [Mon, 15 Apr 2019 23:09:00 +0000 (16:09 -0700)]
Remove the accidentally added benchmark project
Forest [Wed, 10 Apr 2019 19:53:34 +0000 (12:53 -0700)]
Make TCP dispose consistent
Forest [Wed, 10 Apr 2019 19:50:49 +0000 (12:50 -0700)]
Update README.md
Forest [Thu, 4 Apr 2019 23:20:09 +0000 (16:20 -0700)]
Remove unneeded lock, optimize connection statistics to be more x86 friendly
Forest [Mon, 25 Mar 2019 21:41:04 +0000 (14:41 -0700)]
Resolve an iOS bug due to setting buffers too large, standardize some socket shutdown, relax some reliable message disconnect defaults/tolerances
Forest [Sun, 17 Mar 2019 21:44:38 +0000 (14:44 -0700)]
Fix a very dumb Position < Length bug, put a semaphore around something that supposedly could be a bug
Forest [Thu, 7 Mar 2019 04:00:02 +0000 (20:00 -0800)]
Clean up some stuff, fix a thing where 0 retries wasn't infinite
Forest [Tue, 8 Jan 2019 22:58:06 +0000 (14:58 -0800)]
Fix some tests, fix a bug in UDP client where reliable packets were being forgotten
Forest [Sat, 5 Jan 2019 00:57:43 +0000 (16:57 -0800)]
Readd TCP capability, this helps deal with the lack of fragmented messaging in UDP. My usage is only server side when connections should be very reliable. I'll never use TCP in a game.
Forest [Wed, 2 Jan 2019 19:27:16 +0000 (11:27 -0800)]
Clean up some stuff
Forest [Mon, 31 Dec 2018 05:02:44 +0000 (21:02 -0800)]
Slight optimizations to disconnect
Forest [Mon, 31 Dec 2018 03:55:01 +0000 (19:55 -0800)]
Remove extraneous wrapper around IPEndpoint
Forest [Fri, 28 Dec 2018 07:23:03 +0000 (23:23 -0800)]
Fix some tests I didn't notice I broke