Wireguard Configuration in SQLite (#263)

#241
This commit is contained in:
Jett Chen 2024-04-22 06:01:47 +08:00 committed by GitHub
parent df549d48e6
commit abf1101484
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
43 changed files with 988 additions and 325 deletions

View file

@ -1,11 +1,13 @@
use std::{io::{Error, IoSlice}, mem, net::{Ipv4Addr, SocketAddrV4}, os::fd::{AsRawFd, FromRawFd, RawFd}, ptr};
use std::net::{IpAddr, Ipv6Addr, SocketAddrV6};
use std::ptr::addr_of;
use std::{
io::{Error, IoSlice},
mem,
net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddrV4},
os::fd::{AsRawFd, FromRawFd, RawFd},
};
use byteorder::{ByteOrder, NetworkEndian};
use fehler::throws;
use libc::{c_char, iovec, writev, AF_INET, AF_INET6, sockaddr_in6};
use nix::sys::socket::SockaddrIn6;
use libc::{c_char, iovec, writev, AF_INET, AF_INET6};
use socket2::{Domain, SockAddr, Socket, Type};
use tracing::{self, instrument};
@ -69,11 +71,11 @@ impl TunInterface {
#[throws]
fn configure(&self, options: TunOptions) {
for addr in options.address{
for addr in options.address {
if let Ok(addr) = addr.parse::<IpAddr>() {
match addr {
IpAddr::V4(addr) => {self.set_ipv4_addr(addr)?}
IpAddr::V6(addr) => {self.set_ipv6_addr(addr)?}
IpAddr::V4(addr) => self.set_ipv4_addr(addr)?,
IpAddr::V6(addr) => self.set_ipv6_addr(addr)?,
}
}
}
@ -146,7 +148,7 @@ impl TunInterface {
}
#[throws]
pub fn set_ipv6_addr(&self, addr: Ipv6Addr) {
pub fn set_ipv6_addr(&self, _addr: Ipv6Addr) {
// let addr = SockAddr::from(SocketAddrV6::new(addr, 0, 0, 0));
// println!("addr: {:?}", addr);
// let mut iff = self.in6_ifreq()?;