aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake McGinty <me@jake.su>2018-02-20 15:24:33 +0000
committerJake McGinty <me@jake.su>2018-02-20 15:24:33 +0000
commiteffbde2f6c8500eac9aed1c9b943329456a46224 (patch)
tree3deb09106ecb1d596e0105c714a5ecb072f95528
parentbump mio-utun (diff)
downloadwireguard-rs-effbde2f6c8500eac9aed1c9b943329456a46224.tar.xz
wireguard-rs-effbde2f6c8500eac9aed1c9b943329456a46224.zip
use Failure crate in snow, get rid of nasty sync adaptors
-rw-r--r--Cargo.lock79
-rw-r--r--src/noise.rs6
-rw-r--r--src/peer.rs19
3 files changed, 21 insertions, 83 deletions
diff --git a/Cargo.lock b/Cargo.lock
index f5142b1..7608d55 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -18,15 +18,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "arrayvec"
-version = "0.3.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "odds 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "arrayvec"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
@@ -228,18 +219,6 @@ dependencies = [
[[package]]
name = "curve25519-dalek"
-version = "0.11.0"
-source = "git+https://github.com/isislovecruft/curve25519-dalek?branch=feature/montgomery-arithmetic#fcad6716d498265e2cda114b8bfa218fc8ea8e1d"
-dependencies = [
- "arrayref 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "subtle 0.2.0 (git+https://github.com/isislovecruft/subtle?branch=feature/conditional-swap_r1)",
-]
-
-[[package]]
-name = "curve25519-dalek"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
@@ -286,14 +265,6 @@ dependencies = [
]
[[package]]
-name = "error-chain"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "backtrace 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
name = "failure"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -503,7 +474,7 @@ dependencies = [
[[package]]
name = "mio-utun"
-version = "0.6.10"
+version = "0.6.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -585,11 +556,6 @@ dependencies = [
]
[[package]]
-name = "odds"
-version = "0.2.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
name = "pest"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -890,20 +856,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "snow"
version = "0.1.8-preview"
-source = "git+https://github.com/mcginty/snow?branch=wireguard#e1ad4763a6fb6c00e74da538c54e569a7a79cf06"
+source = "git+https://github.com/mcginty/snow?branch=wireguard#0fd04d9f441f8c190b1e98c5174b59ab431e611d"
dependencies = [
"arrayref 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "arrayvec 0.3.25 (registry+https://github.com/rust-lang/crates.io-index)",
+ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
"blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"chacha20-poly1305-aead 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
"ring 0.13.0-alpha (registry+https://github.com/rust-lang/crates.io-index)",
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc_version 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"static_slice 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "x25519-dalek 0.0.0 (git+https://github.com/isislovecruft/x25519-dalek)",
+ "x25519-dalek 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -945,14 +911,6 @@ dependencies = [
[[package]]
name = "subtle"
-version = "0.2.0"
-source = "git+https://github.com/isislovecruft/subtle?branch=feature/conditional-swap_r1#7e1add5a7c5a2e4679c1f8f6484fd82e451614b8"
-dependencies = [
- "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "subtle"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
@@ -1139,16 +1097,14 @@ dependencies = [
[[package]]
name = "tokio-utun"
-version = "0.1.4"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "bytes 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"mio 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio-utun 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mio-utun 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio-core 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -1235,7 +1191,7 @@ dependencies = [
"tokio-io 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio-uds 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-utun 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tokio-utun 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"treebitmap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"x25519-dalek 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -1280,15 +1236,6 @@ dependencies = [
[[package]]
name = "x25519-dalek"
-version = "0.0.0"
-source = "git+https://github.com/isislovecruft/x25519-dalek#8d1473a94099daa42e499a88bab0c7f06ec65201"
-dependencies = [
- "curve25519-dalek 0.11.0 (git+https://github.com/isislovecruft/curve25519-dalek?branch=feature/montgomery-arithmetic)",
- "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "x25519-dalek"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
@@ -1300,7 +1247,6 @@ dependencies = [
"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4"
"checksum ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455"
"checksum arrayref 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0fd1479b7c29641adbd35ff3b5c293922d696a92f25c8c975da3e0acbc87258f"
-"checksum arrayvec 0.3.25 (registry+https://github.com/rust-lang/crates.io-index)" = "06f59fe10306bb78facd90d28c2038ad23ffaaefa85bac43c8a434cde383334f"
"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"
"checksum atty 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8352656fd42c30a0c3c89d26dea01e3b77c0ab2af18230835c15e2e13cd51859"
"checksum backtrace 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ebbbf59b1c43eefa8c3ede390fcc36820b4999f7914104015be25025e0d62af2"
@@ -1324,14 +1270,12 @@ dependencies = [
"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3"
"checksum crossbeam-epoch 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "59796cc6cbbdc6bb319161349db0c3250ec73ec7fcb763a51065ec4e2e158552"
"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9"
-"checksum curve25519-dalek 0.11.0 (git+https://github.com/isislovecruft/curve25519-dalek?branch=feature/montgomery-arithmetic)" = "<none>"
"checksum curve25519-dalek 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4576702012648a8d7331c0ebb1a41a13723ef8d5bfc704a7ab4175a02e38906e"
"checksum daemonize 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0239832c1b4ca406d5ec73728cf4c7336d25cf85dd32db9e047e9e706ee0e935"
"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a"
"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"
"checksum either 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "740178ddf48b1a9e878e6d6509a1442a2d42fd2928aae8e7a6f8a36fb01981b3"
"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b"
-"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3"
"checksum failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "934799b6c1de475a012a02dab0ace1ace43789ee4b99bcfbf1a2e3e8ced5de82"
"checksum failure_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c7cdda555bb90c9bb67a3b670a0f42de8e73f5981524123ad8578aafec8ddb8b"
"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
@@ -1359,7 +1303,7 @@ dependencies = [
"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
"checksum mio 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "7da01a5e23070d92d99b1ecd1cd0af36447c6fd44b0fe283c2db199fa136724f"
"checksum mio-uds 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1731a873077147b626d89cc6c2a0db6288d607496c5d10c0cfcf3adc697ec673"
-"checksum mio-utun 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c296952f019f86e362ce9c9b3465bb97079fc42e9c00c387b5dcd0c9c1965b"
+"checksum mio-utun 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "5416c187b95bfa865cb1a13478a92dce69f428485f2d238e3e0ad751e2ed8859"
"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
"checksum net2 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09"
"checksum nix 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f"
@@ -1368,7 +1312,6 @@ dependencies = [
"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
"checksum num-traits 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e7de20f146db9d920c45ee8ed8f71681fd9ade71909b48c3acbd766aa504cf10"
"checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
-"checksum odds 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)" = "4eae0151b9dacf24fcc170d9995e511669a082856a91f958a2fe380bfab3fb22"
"checksum pest 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "47cb1554f1f0efadbd7196e99f19a11b975d10813a2cb26e8034ce5e7286cb34"
"checksum pest_derive 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "be11c37fe199edc626e97f27136f7f357b40cc36b63762d99c13448a7bd2df34"
"checksum pnet 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e866218222e997f8aeebbbda7761d29c3b75772573e65da68fff97c21c5754ad"
@@ -1411,7 +1354,6 @@ dependencies = [
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
"checksum structopt 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "783cb22d520b177a3772e520d04a3c7970d51c3b647ba80739f99be01131b54f"
"checksum structopt-derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4da119c9a7a1eccb7c6de0c1eb3f7ed1c11138624d092b3687222aeed8f1375c"
-"checksum subtle 0.2.0 (git+https://github.com/isislovecruft/subtle?branch=feature/conditional-swap_r1)" = "<none>"
"checksum subtle 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7a6bab57c3efd01ebd3d750f4244ae0af4cdd1fc505a7904a41603192b803c5"
"checksum subtle 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc7f6353c2ee5407358d063a14cccc1630804527090a6fb5a9489ce4924280fb"
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
@@ -1431,7 +1373,7 @@ dependencies = [
"checksum tokio-io 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b9532748772222bf70297ec0e2ad0f17213b4a7dd0e6afb68e0a0768f69f4e4f"
"checksum tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc"
"checksum tokio-uds 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "65ae5d255ce739e8537221ed2942e0445f4b3b813daebac1c0050ddaaa3587f9"
-"checksum tokio-utun 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d0b49c97e8595fbc2929d48eca798e200e3b0cbd897920eac7466c06a01cc892"
+"checksum tokio-utun 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "5352f613ebd4d3a9ec72c087da0a34480dd942529af6897788ff7fe2689936af"
"checksum treebitmap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1efcc0a760c155a5eff13249f6d3339b7000278f24360db9e4c80fab798c79c5"
"checksum typenum 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "13a99dc6780ef33c78780b826cf9d2a78840b72cae9474de4bcaf9051e60ebbd"
"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
@@ -1448,5 +1390,4 @@ dependencies = [
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-"checksum x25519-dalek 0.0.0 (git+https://github.com/isislovecruft/x25519-dalek)" = "<none>"
"checksum x25519-dalek 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "26a6680200ec1e504fc05234344f398e682517fd8ea355af87f3cdcc9ea471a3"
diff --git a/src/noise.rs b/src/noise.rs
index c8ef182..c88d135 100644
--- a/src/noise.rs
+++ b/src/noise.rs
@@ -14,15 +14,13 @@ fn new_foundation(local_privkey: &[u8]) -> NoiseBuilder {
}
pub fn build_initiator(local_privkey: &[u8], remote_pubkey: &[u8], psk: &Option<[u8; 32]>) -> Result<Session, Error> {
- Ok(new_foundation(local_privkey)
+ new_foundation(local_privkey)
.remote_public_key(remote_pubkey)
.psk(2, psk.as_ref().unwrap_or_else(|| &[0u8; 32]))
.build_initiator()
- .map_err(SyncFailure::new)?)
}
pub fn build_responder(local_privkey: &[u8]) -> Result<Session, Error> {
- Ok(new_foundation(local_privkey)
+ new_foundation(local_privkey)
.build_responder()
- .map_err(SyncFailure::new)?)
}
diff --git a/src/peer.rs b/src/peer.rs
index c5786c4..085fc0d 100644
--- a/src/peer.rs
+++ b/src/peer.rs
@@ -2,7 +2,7 @@ use anti_replay::AntiReplay;
use byteorder::{ByteOrder, LittleEndian};
use consts::{TRANSPORT_OVERHEAD, TRANSPORT_HEADER_SIZE, MAX_SEGMENT_SIZE, REJECT_AFTER_MESSAGES, PADDING_MULTIPLE};
use cookie;
-use failure::{Error, SyncFailure, err_msg};
+use failure::{Error, err_msg};
use interface::UtunPacket;
use ip_packet::IpPacket;
use noise;
@@ -160,7 +160,7 @@ impl Peer {
packet[0] = 1; /* Type: Initiation */
LittleEndian::write_u32(&mut packet[4..], session.our_index);
- session.noise.write_message(&*tai64n, &mut packet[8..]).map_err(SyncFailure::new)?;
+ session.noise.write_message(&*tai64n, &mut packet[8..])?;
{
let (mac_in, mac_out) = packet.split_at_mut(116);
cookie::build_mac1(&self.info.pub_key, mac_in, &mut mac_out[..16]);
@@ -178,7 +178,7 @@ impl Peer {
let mut noise = noise::build_responder(private_key)?;
let their_index = LittleEndian::read_u32(&packet[4..]);
- let len = noise.read_message(&packet[8..116], &mut timestamp).map_err(SyncFailure::new)?;
+ let len = noise.read_message(&packet[8..116], &mut timestamp)?;
ensure!(len == 12, "incorrect handshake payload length");
let timestamp = timestamp.into();
@@ -220,7 +220,7 @@ impl Peer {
packet[0] = 2;
LittleEndian::write_u32(&mut packet[4..], next_session.our_index);
LittleEndian::write_u32(&mut packet[8..], next_session.their_index);
- next_session.noise.write_message(&[], &mut packet[12..]).map_err(SyncFailure::new)?;
+ next_session.noise.write_message(&[], &mut packet[12..])?;
{
let (mac_in, mac_out) = packet.split_at_mut(60);
@@ -233,7 +233,7 @@ impl Peer {
pub fn process_incoming_handshake_response(&mut self, packet: &[u8]) -> Result<Option<u32>, Error> {
let their_index = LittleEndian::read_u32(&packet[4..]);
let mut session = mem::replace(&mut self.sessions.next, None).ok_or_else(|| err_msg("no next session"))?;
- let _ = session.noise.read_message(&packet[12..60], &mut []).map_err(SyncFailure::new)?;
+ let _ = session.noise.read_message(&packet[12..60], &mut [])?;
session.their_index = their_index;
@@ -259,8 +259,8 @@ impl Peer {
ensure!(session.noise.is_handshake_finished(), "session is not ready for transport packets");
session.anti_replay.update(nonce)?;
- session.noise.set_receiving_nonce(nonce).map_err(SyncFailure::new)?;
- let len = session.noise.read_message(&packet[16..], &mut raw_packet).map_err(SyncFailure::new)?;
+ session.noise.set_receiving_nonce(nonce)?;
+ let len = session.noise.read_message(&packet[16..], &mut raw_packet)?;
let len = IpPacket::new(&raw_packet[..len])
.ok_or_else(||format_err!("invalid IP packet (len {})", len))?
.length();
@@ -296,15 +296,14 @@ impl Peer {
let padded_len = packet.len() + padding;
let mut out_packet = vec![0u8; padded_len + TRANSPORT_OVERHEAD];
- let nonce = session.noise.sending_nonce().map_err(SyncFailure::new)?;
+ let nonce = session.noise.sending_nonce()?;
ensure!(nonce < REJECT_AFTER_MESSAGES, "exceeded maximum message count");
out_packet[0] = 4;
LittleEndian::write_u32(&mut out_packet[4..], session.their_index);
LittleEndian::write_u64(&mut out_packet[8..], nonce);
let padded_packet = &[packet, &vec![0u8; padding]].concat();
- let len = session.noise.write_message(padded_packet, &mut out_packet[16..])
- .map_err(SyncFailure::new)?;
+ let len = session.noise.write_message(padded_packet, &mut out_packet[16..])?;
self.tx_bytes += len as u64;
session.last_sent = Some(Instant::now());
out_packet.truncate(TRANSPORT_HEADER_SIZE + len);