| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Tox.Onion.Tunnel
Synopsis
- newtype OnionIPPort = OnionIPPort {}
- data OnionRequest0 = OnionRequest0 {}
- data OnionRequestRelay = OnionRequestRelay {}
- data OnionRequestPayload = OnionRequestPayload {}
- data OnionResponse = OnionResponse {}
- wrapOnion0 :: Keyed m => KeyPair -> PublicKey -> Nonce -> OnionRequestPayload -> m OnionRequest0
- unwrapOnion0 :: Keyed m => KeyPair -> OnionRequest0 -> m (Maybe OnionRequestPayload)
- wrapOnionRelay :: Keyed m => KeyPair -> PublicKey -> Nonce -> OnionRequestPayload -> Nonce -> CipherText -> m OnionRequestRelay
- unwrapOnionRelay :: Keyed m => KeyPair -> OnionRequestRelay -> m (Maybe (OnionRequestPayload, Nonce, CipherText))
Documentation
newtype OnionIPPort Source #
Onion IP_Port format (fixed 19 bytes).
Constructors
| OnionIPPort | |
Fields | |
Instances
data OnionRequest0 Source #
Initial Onion Request (0x80).
Constructors
| OnionRequest0 | |
Fields | |
Instances
data OnionRequestRelay Source #
Intermediate Onion Request (0x81, 0x82).
Constructors
| OnionRequestRelay | |
Instances
data OnionRequestPayload Source #
Inner payload of an Onion Request (once decrypted).
Constructors
| OnionRequestPayload | |
Instances
data OnionResponse Source #
Intermediate Onion Response (0x8c, 0x8d, 0x8e).
Constructors
| OnionResponse | |
Instances
wrapOnion0 :: Keyed m => KeyPair -> PublicKey -> Nonce -> OnionRequestPayload -> m OnionRequest0 Source #
Wrap a payload for Onion Request layer 0.
unwrapOnion0 :: Keyed m => KeyPair -> OnionRequest0 -> m (Maybe OnionRequestPayload) Source #
Unwrap an Onion Request layer 0.
wrapOnionRelay :: Keyed m => KeyPair -> PublicKey -> Nonce -> OnionRequestPayload -> Nonce -> CipherText -> m OnionRequestRelay Source #
Wrap an inner payload for intermediate layers.
unwrapOnionRelay :: Keyed m => KeyPair -> OnionRequestRelay -> m (Maybe (OnionRequestPayload, Nonce, CipherText)) Source #
Unwrap an intermediate Onion Request layer.