aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-11-15 18:30:35 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-11-15 18:30:35 +0100
commit8da7f7be442f04cdc94eb49b2762e776904f1e55 (patch)
treecbf429f50c72fcfc25874b59a055a41f0e741766 /src
parent8897cc6ec411d519a6446073c0da42398ba1bea1 (diff)
move error handling to binary
Diffstat (limited to 'src')
-rw-r--r--src/error.rs23
-rw-r--r--src/lib.rs2
-rw-r--r--src/main.rs24
3 files changed, 22 insertions, 27 deletions
diff --git a/src/error.rs b/src/error.rs
deleted file mode 100644
index 551c94e..0000000
--- a/src/error.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-use thiserror::Error;
-
-use std::io;
-
-#[derive(Debug, Error)]
-pub enum Error {
- #[error("failed to send whole packet (expected {0}, got {1})")]
- PartialSend(usize, usize),
-
- #[error("io error: {0}")]
- Io(#[from] io::Error),
-
- #[error("dns_message_parser decode error: {0}")]
- DnsDecode(#[from] dns_message_parser::DecodeError),
- #[error("dns_message_parser encode error: {0}")]
- DnsEncode(#[from] dns_message_parser::EncodeError),
- #[error("serde_json error: {0}")]
- SerdeJson(#[from] serde_json::Error),
- #[error("hickory_proto error: {0}")]
- HickoryProto(#[from] hickory_proto::error::ProtoError),
-}
-
-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 b9b1076..587c475 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,7 +1,6 @@
-use rsdsl_dnsd::{Error, Result};
-
use std::cell::RefCell;
use std::fs::{self, File};
+use std::io;
use std::net::{IpAddr, SocketAddr, UdpSocket};
use std::str::FromStr;
use std::sync::{Arc, RwLock};
@@ -17,9 +16,30 @@ use hickory_proto::rr::Name;
use ipnet::IpNet;
use rsdsl_dhcp4d::lease::Lease;
use signal_hook::{consts::SIGUSR1, iterator::Signals};
+use thiserror::Error;
const UPSTREAM: &str = "[2620:fe::fe]:53";
+#[derive(Debug, Error)]
+pub enum Error {
+ #[error("failed to send whole packet (expected {0}, got {1})")]
+ PartialSend(usize, usize),
+
+ #[error("io error: {0}")]
+ Io(#[from] io::Error),
+
+ #[error("dns_message_parser decode error: {0}")]
+ DnsDecode(#[from] dns_message_parser::DecodeError),
+ #[error("dns_message_parser encode error: {0}")]
+ DnsEncode(#[from] dns_message_parser::EncodeError),
+ #[error("serde_json error: {0}")]
+ SerdeJson(#[from] serde_json::Error),
+ #[error("hickory_proto error: {0}")]
+ HickoryProto(#[from] hickory_proto::error::ProtoError),
+}
+
+pub type Result<T> = std::result::Result<T, Error>;
+
fn refresh_leases(cache: Arc<RwLock<Vec<Lease>>>) -> Result<()> {
let mut signals = Signals::new([SIGUSR1])?;
for _ in signals.forever() {