mirror of
				https://codeberg.org/slatian/service.echoip-slatecave.git
				synced 2025-10-30 00:18:05 +01:00 
			
		
		
		
	Update maxminddb dependency to 0.26 and adapt to breaking changes
This commit is contained in:
		
							
								
								
									
										5
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										5
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @@ -1403,14 +1403,15 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" | ||||
|  | ||||
| [[package]] | ||||
| name = "maxminddb" | ||||
| version = "0.25.0" | ||||
| version = "0.26.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "144de2546bf4846c6c84b7f76be035f7ebbc1e7d40cfb05810ba45c129508321" | ||||
| checksum = "2a197e44322788858682406c74b0b59bf8d9b4954fe1f224d9a25147f1880bba" | ||||
| dependencies = [ | ||||
|  "ipnetwork", | ||||
|  "log", | ||||
|  "memchr", | ||||
|  "serde", | ||||
|  "thiserror 2.0.12", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
|   | ||||
| @@ -20,7 +20,7 @@ hickory-resolver =  { version = "0.25", features = ["tls-ring","https-ring","qui | ||||
| http = "1.3" | ||||
| idna = "1.0" | ||||
| log = "0.4" | ||||
| maxminddb = "0.25" | ||||
| maxminddb = "0.26" | ||||
| mime = "0.3" | ||||
| parking_lot = "0.12" | ||||
| regex = "1.11" | ||||
|   | ||||
							
								
								
									
										13
									
								
								src/geoip.rs
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/geoip.rs
									
									
									
									
									
								
							| @@ -6,7 +6,6 @@ | ||||
| use log::{debug,info,warn,error}; | ||||
| use maxminddb::geoip2; | ||||
|  | ||||
| use maxminddb::MaxMindDBError::AddressNotFoundError; | ||||
| use parking_lot::RwLock; | ||||
|  | ||||
| use std::collections::BTreeMap; | ||||
| @@ -130,13 +129,13 @@ impl QueryAsn for MMDBCarrier { | ||||
| 		match &*mmdb { | ||||
| 			Some(mmdb) => { | ||||
| 				match  mmdb.lookup::<geoip2::Asn>(*address) { | ||||
| 					Ok(res) => { | ||||
| 					Ok(Some(res)) => { | ||||
| 						Some(AsnResult { | ||||
| 							asn: res.autonomous_system_number, | ||||
| 							name: res.autonomous_system_organization.map(ToString::to_string), | ||||
| 						}) | ||||
| 					}, | ||||
| 					Err(AddressNotFoundError(_)) => { | ||||
| 					Ok(None) => { | ||||
| 						// Log to the debug channel. | ||||
| 						// This isn't severe, and shouldn't be logged in production. | ||||
| 						debug!("ASN not found in database for {address}."); | ||||
| @@ -159,7 +158,7 @@ impl QueryLocation for MMDBCarrier { | ||||
| 		match &*mmdb { | ||||
| 			Some(mmdb) => { | ||||
| 				match  mmdb.lookup::<geoip2::City>(*address) { | ||||
| 					Ok(res) => { | ||||
| 					Ok(Some(res)) => { | ||||
| 						Some(LocationResult { | ||||
| 							continent: | ||||
| 								res.continent.map(|c| geoip2_continent_to_named_location(c, languages)), | ||||
| @@ -210,7 +209,7 @@ impl QueryLocation for MMDBCarrier { | ||||
| 							}, | ||||
| 						}) | ||||
| 					}, | ||||
| 					Err(AddressNotFoundError(_)) => { | ||||
| 					Ok(None) => { | ||||
| 						// Log to the debug channel. | ||||
| 						// This isn't severe, and shouldn't be logged in production. | ||||
| 						debug!("IP location not found in database for {address}"); | ||||
| @@ -236,14 +235,14 @@ impl MMDBCarrier { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	pub fn reload_database(&self) -> Result<(),maxminddb::MaxMindDBError> { | ||||
| 	pub fn reload_database(&self) -> Result<(),maxminddb::MaxMindDbError> { | ||||
| 		match &self.path { | ||||
| 			Some(path) => self.load_database_from_path(Path::new(&path)), | ||||
| 			None => Ok(()), | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	pub fn load_database_from_path(&self, path: &Path) -> Result<(),maxminddb::MaxMindDBError> { | ||||
| 	pub fn load_database_from_path(&self, path: &Path) -> Result<(),maxminddb::MaxMindDbError> { | ||||
| 		let mut mmdb = self.mmdb.write(); | ||||
| 		info!("Loading {} from '{}' ...", &self.name, path.display()); | ||||
| 		match maxminddb::Reader::open_readfile(path) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user