UDP-WG Implementation
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 NcryptoThe cryptographic implementations for WireGuard
 CkeypairA simple private-public keypair
 CstringA cryptographically secure string
 NnetworkThe core networking namespace
 CqueueA thread-safe queue
 NsharedThe shared namespace
 Cconnection
 Csys_packetA system packet
 NudpThis namespace includes the UDP implementation,
 CpacketA UDP Packet
 NwireguardThis namespace includes the WireGuard implementation,
 CconfigA WireGuard Configuration
 CCookiePacket
 CInitPacketThe initial packet sent from initiator to responder
 CPacketFor both security and ease of use, we want to use crypto::string as much as possible. This makes it easy to run all our cryptographic functions on the handshake and transport, but it raises an issue in that these objects are not contiguous values in memory (Or, they are, but casting it into a character array isn't going to get you the bytes). If you tried to just cast the string and send it across the wire, you'd get garbage. Instead, we need to Serialize and Expand from a collection of crypto::strings making up a packet (Whether that be the handshake packets or transport packets), so that we can work with crypto::string, but be able to serialize it down when we need to send it, and construct it back from bytes when receiving it. To unify this functionality, the Packet object contains a list of crypto::string's in a vector and will serialize the contents of it, and construct a itself from bytes. Other objects derive from this class, and specify the size of the vector and its elements, and values to access specific parts
 CResponsePacketThe packet sent by the responder to the initiator during the handshake
 CRmA controlled wrapper for the secret random value used for the WireGuard cookies
 CTransportPacketA WireGuard packet for sending Transport Messages