mirror of
				https://codeberg.org/slatian/service.echoip-slatecave.git
				synced 2025-10-31 00:48:07 +01:00 
			
		
		
		
	Deduplication for dns records
This commit is contained in:
		| @@ -41,13 +41,13 @@ pub struct DnsLookupResult { | ||||
| 	timeout:     bool, | ||||
| } | ||||
|  | ||||
| #[derive(serde::Deserialize, serde::Serialize, Clone)] | ||||
| #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq)] | ||||
| pub struct MxRecord { | ||||
| 	preference: u16, | ||||
| 	exchange:   String, | ||||
| } | ||||
|  | ||||
| #[derive(serde::Deserialize, serde::Serialize, Clone)] | ||||
| #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq)] | ||||
| pub struct SoaRecord { | ||||
| 	mname:   String, | ||||
| 	rname:   String, | ||||
| @@ -58,7 +58,7 @@ pub struct SoaRecord { | ||||
| 	minimum: u32, | ||||
| } | ||||
|  | ||||
| #[derive(serde::Deserialize, serde::Serialize, Clone)] | ||||
| #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq)] | ||||
| pub struct SrvRecord { | ||||
| 	priority: u16, | ||||
| 	weight: u16, | ||||
| @@ -95,12 +95,12 @@ pub async fn reverse_lookup( | ||||
| 	}	 | ||||
| } | ||||
|  | ||||
| pub fn opush<T>(opt_vec: &mut Option<Vec<T>>, data: T) { | ||||
| pub fn opush<T: std::cmp::PartialEq>(opt_vec: &mut Option<Vec<T>>, data: T) { | ||||
| 	if opt_vec.is_none() { | ||||
| 		*opt_vec = Some(Default::default()); | ||||
| 	} | ||||
| 	match opt_vec { | ||||
| 		Some(vec) => vec.push(data), | ||||
| 		Some(vec) => if !vec.contains(&data) { vec.push(data) }, | ||||
| 		None => {}, | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user