fix systemd-encoded upid strings in http client
since we systemd-encode parts of the upid string, and those can contain characters that are invalid in urls (e.g. '\'), we have to percent encode those add a 'percent_encode_component' helper, so that we can maybe change the AsciiSet for all uses at the same time Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
		
				
					committed by
					
						
						Dietmar Maurer
					
				
			
			
				
	
			
			
			
						parent
						
							21b552848a
						
					
				
				
					commit
					968a0ab261
				
			@ -12,7 +12,7 @@ use std::path::Path;
 | 
			
		||||
use anyhow::{bail, format_err, Error};
 | 
			
		||||
use serde_json::Value;
 | 
			
		||||
use openssl::hash::{hash, DigestBytes, MessageDigest};
 | 
			
		||||
use percent_encoding::AsciiSet;
 | 
			
		||||
use percent_encoding::{utf8_percent_encode, AsciiSet};
 | 
			
		||||
 | 
			
		||||
pub use proxmox::tools::fd::Fd;
 | 
			
		||||
 | 
			
		||||
@ -289,6 +289,11 @@ pub fn extract_cookie(cookie: &str, cookie_name: &str) -> Option<String> {
 | 
			
		||||
    None
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// percent encode a url component
 | 
			
		||||
pub fn percent_encode_component(comp: &str) -> String {
 | 
			
		||||
    utf8_percent_encode(comp, percent_encoding::NON_ALPHANUMERIC).to_string()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub fn join(data: &Vec<String>, sep: char) -> String {
 | 
			
		||||
    let mut list = String::new();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user