aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-11-15 15:31:01 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-11-15 15:31:01 +0100
commit4f4b766c8368ba945f108d54f8c19c6e16512bb3 (patch)
tree8d7be987f25ff44c464a33ab32cd2a79c4b2656a
parent7bd05e8079a1a72772f707a41c8dc196d98e9b85 (diff)
move error handling to binary
-rw-r--r--src/error.rs25
-rw-r--r--src/lib.rs2
-rw-r--r--src/main.rs26
3 files changed, 24 insertions, 29 deletions
diff --git a/src/error.rs b/src/error.rs
deleted file mode 100644
index 4e20f07..0000000
--- a/src/error.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-use std::io;
-
-use thiserror::Error;
-
-#[derive(Debug, Error)]
-pub enum Error {
- #[error("no address associated with aftr name")]
- NoDnsRecord,
- #[error("not enough ipv6 subnets")]
- NotEnoughIpv6Subnets,
-
- #[error("io: {0}")]
- Io(#[from] io::Error),
-
- #[error("ipnet prefix len: {0}")]
- IpnetPrefixLen(#[from] ipnet::PrefixLenError),
- #[error("netlinklib error: {0}")]
- Netlinklib(#[from] rsdsl_netlinklib::Error),
- #[error("serde_json: {0}")]
- SerdeJson(#[from] serde_json::Error),
- #[error("trust_dns_resolver resolve: {0}")]
- TrustDnsResolverResolve(#[from] trust_dns_resolver::error::ResolveError),
-}
-
-pub type Result<T> = std::result::Result<T, Error>;
diff --git a/src/lib.rs b/src/lib.rs
deleted file mode 100644
index 7edf3bf..0000000
--- a/src/lib.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-mod error;
-pub use error::*;
diff --git a/src/main.rs b/src/main.rs
index dad2847..46864f5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,6 +1,5 @@
-use rsdsl_dslite::{Error, Result};
-
use std::fs::File;
+use std::io;
use std::net::{Ipv6Addr, SocketAddr};
use std::thread;
use std::time::Duration;
@@ -10,12 +9,35 @@ use rsdsl_netlinklib::tunnel::IpIp6;
use rsdsl_pd_config::PdConfig;
use signal_hook::{consts::SIGUSR1, iterator::Signals};
use sysinfo::{ProcessExt, Signal, System, SystemExt};
+use thiserror::Error;
use trust_dns_resolver::config::{NameServerConfig, Protocol, ResolverConfig, ResolverOpts};
use trust_dns_resolver::Resolver;
const MAX_ATTEMPTS: usize = 3;
const BACKOFF: u64 = 900;
+#[derive(Debug, Error)]
+pub enum Error {
+ #[error("no address associated with aftr name")]
+ NoDnsRecord,
+ #[error("not enough ipv6 subnets")]
+ NotEnoughIpv6Subnets,
+
+ #[error("io: {0}")]
+ Io(#[from] io::Error),
+
+ #[error("ipnet prefix len: {0}")]
+ IpnetPrefixLen(#[from] ipnet::PrefixLenError),
+ #[error("netlinklib error: {0}")]
+ Netlinklib(#[from] rsdsl_netlinklib::Error),
+ #[error("serde_json: {0}")]
+ SerdeJson(#[from] serde_json::Error),
+ #[error("trust_dns_resolver resolve: {0}")]
+ TrustDnsResolverResolve(#[from] trust_dns_resolver::error::ResolveError),
+}
+
+pub type Result<T> = std::result::Result<T, Error>;
+
fn main() -> Result<()> {
println!("[info] init");