Compare commits
	
		
			2 Commits
		
	
	
		
			9126dadd22
			...
			5ad2f06773
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5ad2f06773 | |||
| 1dd86807fd | 
							
								
								
									
										17
									
								
								virtweb_backend/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								virtweb_backend/Cargo.lock
									
									
									
										generated
									
									
									
								
							| @@ -1930,6 +1930,17 @@ dependencies = [ | ||||
|  "syn", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "io-uring" | ||||
| version = "0.7.8" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" | ||||
| dependencies = [ | ||||
|  "bitflags 2.9.1", | ||||
|  "cfg-if", | ||||
|  "libc", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "ipnet" | ||||
| version = "2.11.0" | ||||
| @@ -3581,17 +3592,19 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "tokio" | ||||
| version = "1.45.0" | ||||
| version = "1.46.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" | ||||
| checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" | ||||
| dependencies = [ | ||||
|  "backtrace", | ||||
|  "bytes", | ||||
|  "io-uring", | ||||
|  "libc", | ||||
|  "mio", | ||||
|  "parking_lot", | ||||
|  "pin-project-lite", | ||||
|  "signal-hook-registry", | ||||
|  "slab", | ||||
|  "socket2", | ||||
|  "tokio-macros", | ||||
|  "windows-sys 0.52.0", | ||||
|   | ||||
| @@ -37,7 +37,7 @@ lazy-regex = "3.4.1" | ||||
| thiserror = "2.0.12" | ||||
| image = "0.25.6" | ||||
| rand = "0.9.1" | ||||
| tokio = { version = "1.45.0", features = ["rt", "time", "macros"] } | ||||
| tokio = { version = "1.46.0", features = ["rt", "time", "macros"] } | ||||
| futures = "0.3.31" | ||||
| ipnetwork = { version = "0.21.1", features = ["serde"] } | ||||
| num = "0.4.3" | ||||
|   | ||||
| @@ -27,10 +27,7 @@ impl LibVirtActor { | ||||
|     /// Connect to hypervisor | ||||
|     pub async fn connect() -> anyhow::Result<Self> { | ||||
|         let hypervisor_uri = AppConfig::get().hypervisor_uri.as_deref().unwrap_or(""); | ||||
|         log::info!( | ||||
|             "Will connect to hypvervisor at address '{}'", | ||||
|             hypervisor_uri | ||||
|         ); | ||||
|         log::info!("Will connect to hypvervisor at address '{hypervisor_uri}'",); | ||||
|         let conn = Connect::open(Some(hypervisor_uri))?; | ||||
|  | ||||
|         Ok(Self { m: conn }) | ||||
| @@ -102,7 +99,7 @@ impl Handler<GetDomainXMLReq> for LibVirtActor { | ||||
|         log::debug!("Get domain XML:\n{}", msg.0.as_string()); | ||||
|         let domain = Domain::lookup_by_uuid_string(&self.m, &msg.0.as_string())?; | ||||
|         let xml = domain.get_xml_desc(VIR_DOMAIN_XML_SECURE)?; | ||||
|         log::debug!("XML = {}", xml); | ||||
|         log::debug!("XML = {xml}"); | ||||
|         DomainXML::parse_xml(&xml) | ||||
|     } | ||||
| } | ||||
| @@ -131,7 +128,7 @@ impl Handler<DefineDomainReq> for LibVirtActor { | ||||
|     fn handle(&mut self, mut msg: DefineDomainReq, _ctx: &mut Self::Context) -> Self::Result { | ||||
|         let xml = msg.1.as_xml()?; | ||||
|  | ||||
|         log::debug!("Define domain:\n{}", xml); | ||||
|         log::debug!("Define domain:\n{xml}"); | ||||
|         let domain = Domain::define_xml(&self.m, &xml)?; | ||||
|         let uuid = XMLUuid::parse_from_str(&domain.get_uuid_string()?)?; | ||||
|  | ||||
| @@ -446,7 +443,7 @@ impl Handler<GetNetworkXMLReq> for LibVirtActor { | ||||
|         log::debug!("Get network XML:\n{}", msg.0.as_string()); | ||||
|         let network = Network::lookup_by_uuid_string(&self.m, &msg.0.as_string())?; | ||||
|         let xml = network.get_xml_desc(0)?; | ||||
|         log::debug!("XML = {}", xml); | ||||
|         log::debug!("XML = {xml}"); | ||||
|         NetworkXML::parse_xml(&xml) | ||||
|     } | ||||
| } | ||||
| @@ -602,7 +599,7 @@ impl Handler<GetNWFilterXMLReq> for LibVirtActor { | ||||
|         log::debug!("Get network filter XML:\n{}", msg.0.as_string()); | ||||
|         let filter = NWFilter::lookup_by_uuid_string(&self.m, &msg.0.as_string())?; | ||||
|         let xml = filter.get_xml_desc(0)?; | ||||
|         log::debug!("XML = {}", xml); | ||||
|         log::debug!("XML = {xml}"); | ||||
|         NetworkFilterXML::parse_xml(xml) | ||||
|     } | ||||
| } | ||||
| @@ -617,7 +614,7 @@ impl Handler<DefineNWFilterReq> for LibVirtActor { | ||||
|     fn handle(&mut self, mut msg: DefineNWFilterReq, _ctx: &mut Self::Context) -> Self::Result { | ||||
|         let xml = msg.1.into_xml()?; | ||||
|  | ||||
|         log::debug!("Define network filter:\n{}", xml); | ||||
|         log::debug!("Define network filter:\n{xml}"); | ||||
|         let filter = NWFilter::define_xml(&self.m, &xml)?; | ||||
|         let uuid = XMLUuid::parse_from_str(&filter.get_uuid_string()?)?; | ||||
|  | ||||
|   | ||||
| @@ -280,7 +280,7 @@ impl AppConfig { | ||||
|  | ||||
|     /// Get VM vnc sockets path for domain | ||||
|     pub fn vnc_socket_for_domain(&self, name: &str) -> PathBuf { | ||||
|         self.vnc_sockets_path().join(format!("vnc-{}", name)) | ||||
|         self.vnc_sockets_path().join(format!("vnc-{name}")) | ||||
|     } | ||||
|  | ||||
|     /// Get VM root disks storage directory | ||||
|   | ||||
| @@ -34,8 +34,7 @@ pub async fn upload(MultipartForm(mut form): MultipartForm<UploadDiskImageForm>) | ||||
|     if let Some(mime_type) = file.content_type { | ||||
|         if !constants::ALLOWED_DISK_IMAGES_MIME_TYPES.contains(&mime_type.as_ref()) { | ||||
|             return Ok(HttpResponse::BadRequest().json(format!( | ||||
|                 "Unsupported file type for disk upload: {}", | ||||
|                 mime_type | ||||
|                 "Unsupported file type for disk upload: {mime_type}" | ||||
|             ))); | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -52,7 +52,7 @@ pub async fn upload_file(MultipartForm(mut form): MultipartForm<UploadIsoForm>) | ||||
|     } | ||||
|  | ||||
|     let dest_file = AppConfig::get().iso_storage_path().join(file_name); | ||||
|     log::info!("Will save ISO file {:?}", dest_file); | ||||
|     log::info!("Will save ISO file {dest_file:?}"); | ||||
|  | ||||
|     if dest_file.exists() { | ||||
|         log::error!("Conflict with uploaded iso file name!"); | ||||
|   | ||||
| @@ -43,7 +43,7 @@ impl actix_web::error::ResponseError for HttpErr { | ||||
|         } | ||||
|     } | ||||
|     fn error_response(&self) -> HttpResponse<BoxBody> { | ||||
|         log::error!("Error while processing request! {}", self); | ||||
|         log::error!("Error while processing request! {self}"); | ||||
|  | ||||
|         HttpResponse::InternalServerError().body("Failed to execute request!") | ||||
|     } | ||||
|   | ||||
| @@ -109,7 +109,7 @@ fn extract_ip_mask<const V: usize>(n: Option<u8>) -> anyhow::Result<Option<u8>> | ||||
| fn extract_nw_filter_comment(n: &Option<String>) -> anyhow::Result<Option<String>> { | ||||
|     if let Some(comment) = n { | ||||
|         if comment.len() > 256 || comment.contains('\"') || comment.contains('\n') { | ||||
|             return Err(NetworkFilterExtraction(format!("Invalid comment! {}", comment)).into()); | ||||
|             return Err(NetworkFilterExtraction(format!("Invalid comment! {comment}")).into()); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -69,8 +69,7 @@ where | ||||
|  | ||||
|             if !AppConfig::get().is_allowed_ip(remote_ip.0) { | ||||
|                 log::error!( | ||||
|                     "An attempt to access VirtWeb from an unauthorized network has been intercepted! {:?}", | ||||
|                     remote_ip | ||||
|                     "An attempt to access VirtWeb from an unauthorized network has been intercepted! {remote_ip:?}" | ||||
|                 ); | ||||
|                 return Ok(req | ||||
|                     .into_response( | ||||
|   | ||||
| @@ -81,10 +81,10 @@ impl CloudInitConfig { | ||||
|         // Process metadata | ||||
|         let mut metadatas = vec![]; | ||||
|         if let Some(inst_id) = &self.instance_id { | ||||
|             metadatas.push(format!("instance-id: {}", inst_id)); | ||||
|             metadatas.push(format!("instance-id: {inst_id}")); | ||||
|         } | ||||
|         if let Some(local_hostname) = &self.local_hostname { | ||||
|             metadatas.push(format!("local-hostname: {}", local_hostname)); | ||||
|             metadatas.push(format!("local-hostname: {local_hostname}")); | ||||
|         } | ||||
|         if let Some(dsmode) = &self.dsmode { | ||||
|             metadatas.push(format!( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user