pub struct CookieRequest {
pub pk: PublicKey,
pub nonce: Nonce,
pub payload: Vec<u8>,
}
Expand description
CookieRequest packet struct. According to https://zetok.github.io/tox-spec/#net-crypto
CookieRequest packet (145 bytes):
[uint8_t 24] [Sender’s DHT Public key (32 bytes)] [Random nonce (24 bytes)] [Encrypted message containing: [Sender’s real public key (32 bytes)] [padding (32 bytes)] [uint64_t echo id (must be sent back untouched in cookie response)] ]
Serialized form:
Length | Content |
---|---|
1 | 0x18 |
32 | DHT Public Key |
24 | Random nonce |
88 | Payload |
where Payload is encrypted CookieRequestPayload
Fields§
§pk: PublicKey
DHT public key
nonce: Nonce
Random nonce
payload: Vec<u8>
Encrypted payload of CookieRequest
Implementations§
Source§impl CookieRequest
impl CookieRequest
Sourcepub fn new(
shared_secret: &PrecomputedKey,
pk: &PublicKey,
payload: &CookieRequestPayload,
) -> CookieRequest
pub fn new( shared_secret: &PrecomputedKey, pk: &PublicKey, payload: &CookieRequestPayload, ) -> CookieRequest
Create CookieRequest
from CookieRequestPayload
encrypting it with shared_key
Sourcepub fn get_payload(
&self,
shared_secret: &PrecomputedKey,
) -> Result<CookieRequestPayload, GetPayloadError>
pub fn get_payload( &self, shared_secret: &PrecomputedKey, ) -> Result<CookieRequestPayload, GetPayloadError>
Decrypt payload with secret key and try to parse it as CookieRequestPayload
.
Returns Error
in case of failure:
- fails to decrypt
- fails to parse
CookieRequestPayload
Trait Implementations§
Source§impl Clone for CookieRequest
impl Clone for CookieRequest
Source§fn clone(&self) -> CookieRequest
fn clone(&self) -> CookieRequest
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CookieRequest
impl Debug for CookieRequest
Source§impl FromBytes for CookieRequest
impl FromBytes for CookieRequest
Source§fn from_bytes(i: &[u8]) -> IResult<&[u8], CookieRequest, (&[u8], ErrorKind)>
fn from_bytes(i: &[u8]) -> IResult<&[u8], CookieRequest, (&[u8], ErrorKind)>
Deserialize struct using
nom
from raw bytesSource§impl PartialEq for CookieRequest
impl PartialEq for CookieRequest
Source§impl ToBytes for CookieRequest
impl ToBytes for CookieRequest
impl Eq for CookieRequest
impl StructuralPartialEq for CookieRequest
Auto Trait Implementations§
impl Freeze for CookieRequest
impl RefUnwindSafe for CookieRequest
impl Send for CookieRequest
impl Sync for CookieRequest
impl Unpin for CookieRequest
impl UnwindSafe for CookieRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more