Commit graph

38 commits

Author SHA1 Message Date
f588d409c9 Truncate "UDPConnection" to "UDPC" 2020-01-09 16:57:01 +09:00
40c4c9b2ba Fix potential non-null-terminated string bug 2020-01-09 16:45:57 +09:00
4d68715efb Add more documentation, some fixes 2020-01-08 20:50:56 +09:00
4c48dbb0cf Replace TSLQueue with std::deque where possible
Also added std::mutex for each new std::deque. cSendPkts is left as a
TSLQueue because it needs to support fast removal from the middle of the
data structure (mainly because the queued packets per ConnectionData has
an imposed limit of packets to hold).
2020-01-08 19:55:12 +09:00
e66e6c7b74 Minor fix to keysSet atomic_bool 2020-01-05 16:05:22 +09:00
e644cd86b1 Minor fixes 2020-01-05 15:39:25 +09:00
88ba670ce9 Fix usage of atomic_bool "keysSet" 2020-01-05 15:31:37 +09:00
1ecf9bff4f Minor refactoring/fix of use of atomic_bool 2020-01-05 15:12:13 +09:00
5c8480e5bc Refactor locking mutex during update 2020-01-05 15:05:23 +09:00
7996bd5c36 Client on connect fail now returns FAIL_CONNECT
Previously, returned event was DISCONNECT. FAIL_CONNECT is a new event
enum value.
2020-01-05 14:49:37 +09:00
3ade637205 Client now regenerates verif-time on con attempt 2020-01-05 14:42:57 +09:00
42fde9a2d0 Implement publickey whitelist (using libsodium)
Renamed "mutex" to "conMapMutex" since it is mainly used to lock access
to the connection map.

Removed UDPC_client_initiate_connection_pk() as publickey whitelisting
replaces its functionality.
2020-01-02 20:54:32 +09:00
26e8b95d94 Add verification of verification time server-side
Verification string is no longer a string but seconds since epoch.
2020-01-02 16:33:17 +09:00
db2c3fed97 Change: libsodium verification now on full packet 2020-01-02 13:12:40 +09:00
89bdc7e9ca Fix copying over data of received packet 2019-12-30 14:16:05 +09:00
1a39039065 Fix received packet storing unnecessary header
Added rtt (uint16_t) to UDPC_PacketInfo.
2019-12-27 13:35:28 +09:00
1af44db109 Minor refactorings
UDPC_update now locks the mutex to keep it thread-safe.
2019-12-19 11:39:34 +09:00
ffcc30bc64 Minor fixes 2019-12-18 14:34:53 +09:00
4b36d05ccc Minor fixes, improvements
When UDPC_ConnectionId is initialized, all of its bytes are now zeroed
out.
2019-12-18 14:20:29 +09:00
5ec344b733 Add way to get connection queued size
Requires locking the mutex for access to conMap.
2019-12-18 13:47:46 +09:00
62ac6e779f Bug fixes
Fixed not setting output int to 0 to specify zero connections when
returning connection IDs.
2019-12-17 20:58:44 +09:00
dbdade3b00 Impl disc. request (untested), del make_unique 2019-12-17 20:05:56 +09:00
a4efd98890 Replace "poor man's optional" with std::unique_ptr 2019-12-17 19:12:54 +09:00
aa59777f99 Fix create_id_easy not parsing ipv4 addr correctly 2019-12-17 12:52:10 +09:00
ece17e1aca Drop support from C++17 to C++11
std::optional replaced with Entry in TSLQueue (which is basically a poor
man's optional).
2019-12-11 20:00:48 +09:00
7c444cb460 Impl auth-policy for handling with(out) auth 2019-12-09 21:27:58 +09:00
d94b44e4de More documentation, fix constants to be #define'd 2019-12-06 20:49:30 +09:00
69256839ac Minor fixes/refactorings 2019-11-27 20:12:57 +09:00
04fa5ca017 Add is_valid_context(), fixes/refactorings 2019-11-27 19:47:51 +09:00
8d1dbead20 Add set_libsodium_key_easy(), fixes/refactorings 2019-11-27 19:41:38 +09:00
6b14d86822 Fixes for setting pub/sec keys
Added more to NetworkTest to test new changes.
2019-11-21 15:15:05 +09:00
c24273ea65 Add unset_libsodium_keys()
Still untested
2019-11-21 12:23:40 +09:00
240ed9821f Add set peer_pk, sk/pk, start/stop threaded update
Note, this code is UNTESTED.
2019-11-19 20:55:20 +09:00
4cfe35ecd1 libsodium support is now optional
Packet struture has been changed to support UDPC without libsodium
sending packets to UDPC with libsodium.
2019-11-18 17:37:03 +09:00
f2b4672318 Add way to specify sleep time for threaded update 2019-11-13 14:06:48 +09:00
f9e1bca4c1 Add UDPC_create_id_easy
UDPC_create_id_easy will detect if the input addr string is link local
or not, and will create the ipv6 address based on it.
2019-11-13 12:15:12 +09:00
7b5cf3b6f8 Add events, refactorings
Added event system to lessen the use of the main mutex and instead use
thread safe data structures (TSLQueue). Also can enable and check events
during execution (connect, disconnect, good mode, bad mode).

Fixes and refactorings.
2019-11-11 16:08:51 +09:00
00c1be07dc Replace c_impl, remove rust_binding, with cpp_impl 2019-11-11 13:08:36 +09:00
Renamed from cpp_impl/src/UDPConnection.cpp (Browse further)