mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-03 19:13:43 +02:00
Build fixes and a fix to the UDP socket implementation.
This commit is contained in:
parent
7318a188b2
commit
6c504af012
5 changed files with 27 additions and 11 deletions
|
@ -2,6 +2,8 @@
|
|||
name = "zerotier-core-crypto"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
license = "MPL-2.0"
|
||||
authors = ["ZeroTier, Inc. <contact@zerotier.com>", "Adam Ierymenko <adam.ierymenko@zerotier.com>"]
|
||||
|
||||
[dependencies]
|
||||
rand_core = "0.5"
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
name = "zerotier-network-hypervisor"
|
||||
version = "2.0.0"
|
||||
edition = "2018"
|
||||
license = "MPL-2.0"
|
||||
authors = ["ZeroTier, Inc. <contact@zerotier.com>", "Adam Ierymenko <adam.ierymenko@zerotier.com>"]
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
|
|
|
@ -330,11 +330,17 @@ impl<const L: usize> Buffer<L> {
|
|||
/// Get the next variable length integer and advance the cursor by its length in bytes.
|
||||
#[inline(always)]
|
||||
pub fn read_varint(&self, cursor: &mut usize) -> std::io::Result<u64> {
|
||||
let mut a = &self.1[*cursor..];
|
||||
crate::util::varint::read(&mut a).map(|r| {
|
||||
*cursor += r.1;
|
||||
r.0
|
||||
})
|
||||
let c = *cursor;
|
||||
if c < self.0 {
|
||||
let mut a = &self.1[c..];
|
||||
crate::util::varint::read(&mut a).map(|r| {
|
||||
*cursor = c + r.1;
|
||||
debug_assert!(*cursor < self.0);
|
||||
r.0
|
||||
})
|
||||
} else {
|
||||
Err(std::io::Error::new(std::io::ErrorKind::UnexpectedEof, OVERFLOW_ERR_MSG))
|
||||
}
|
||||
}
|
||||
|
||||
/// Get the next u8 and advance the cursor.
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
[package]
|
||||
name = "zerotier-system-service"
|
||||
version = "0.1.0"
|
||||
authors = ["Adam Ierymenko <adam.ierymenko@zerotier.com>"]
|
||||
authors = ["ZeroTier, Inc. <contact@zerotier.com>", "Adam Ierymenko <adam.ierymenko@zerotier.com>"]
|
||||
edition = "2018"
|
||||
license = "MPL-2.0"
|
||||
|
||||
[profile.release]
|
||||
opt-level = 'z'
|
||||
|
@ -13,16 +14,16 @@ panic = 'abort'
|
|||
[dependencies]
|
||||
zerotier-network-hypervisor = { path = "../zerotier-network-hypervisor" }
|
||||
num_cpus = "^1"
|
||||
tokio = { version = "1", features = ["rt", "net", "time", "signal", "macros"] }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
tokio = { version = "^1", features = ["rt", "net", "time", "signal", "macros"] }
|
||||
serde = { version = "^1", features = ["derive"] }
|
||||
serde_json = "^1"
|
||||
futures = "0"
|
||||
clap = { version = "2", features = ["suggestions", "wrap_help"] }
|
||||
futures = "^0"
|
||||
clap = { version = "^2", features = ["suggestions", "wrap_help"] }
|
||||
chrono = "^0"
|
||||
lazy_static = "^1"
|
||||
num-traits = "^0"
|
||||
num-derive = "^0"
|
||||
hyper = { version = "0", features = ["http1", "runtime", "server", "client", "tcp", "stream"] }
|
||||
hyper = { version = "^0", features = ["http1", "runtime", "server", "client", "tcp", "stream"] }
|
||||
socket2 = { version = "^0", features = ["reuseport", "unix", "pair"] }
|
||||
dialoguer = "^0"
|
||||
digest_auth = "^0"
|
||||
|
|
|
@ -48,8 +48,13 @@ fn bind_udp_socket(_device_name: &str, address: &InetAddress) -> Result<FastUDPR
|
|||
|
||||
fl = 1;
|
||||
setsockopt_results |= libc::setsockopt(s, libc::SOL_SOCKET.as_(), libc::SO_REUSEPORT.as_(), (&mut fl as *mut c_int).cast(), fl_size);
|
||||
|
||||
fl = 0;
|
||||
setsockopt_results |= libc::setsockopt(s, libc::SOL_SOCKET.as_(), libc::SO_LINGER.as_(), (&mut fl as *mut c_int).cast(), fl_size);
|
||||
|
||||
//fl = 1;
|
||||
//setsockopt_results |= libc::setsockopt(s, libc::SOL_SOCKET, libc::SO_REUSEADDR, (&mut fl as *mut c_int).cast(), fl_size);
|
||||
|
||||
fl = 1;
|
||||
setsockopt_results |= libc::setsockopt(s, libc::SOL_SOCKET.as_(), libc::SO_BROADCAST.as_(), (&mut fl as *mut c_int).cast(), fl_size);
|
||||
if af == libc::AF_INET6 {
|
||||
|
|
Loading…
Add table
Reference in a new issue