src/config/remote.rs: add fingerprint
This commit is contained in:
		| @ -50,6 +50,10 @@ pub fn list_remotes( | ||||
|             password: { | ||||
|                 schema: remote::REMOTE_PASSWORD_SCHEMA, | ||||
|             }, | ||||
|             fingerprint: { | ||||
|                 optional: true, | ||||
|                 schema: CERT_FINGERPRINT_SHA256_SCHEMA, | ||||
|             }, | ||||
|         }, | ||||
|     }, | ||||
| )] | ||||
| @ -118,6 +122,10 @@ pub fn read_remote(name: String) -> Result<Value, Error> { | ||||
|                 optional: true, | ||||
|                 schema: remote::REMOTE_PASSWORD_SCHEMA, | ||||
|             }, | ||||
|             fingerprint: { | ||||
|                 optional: true, | ||||
|                 schema: CERT_FINGERPRINT_SHA256_SCHEMA, | ||||
|             }, | ||||
|             digest: { | ||||
|                 optional: true, | ||||
|                 schema: PROXMOX_CONFIG_DIGEST_SCHEMA, | ||||
| @ -132,6 +140,7 @@ pub fn update_remote( | ||||
|     host: Option<String>, | ||||
|     userid: Option<String>, | ||||
|     password: Option<String>, | ||||
|     fingerprint: Option<String>, | ||||
|     digest: Option<String>, | ||||
| ) -> Result<(), Error> { | ||||
|  | ||||
| @ -158,6 +167,9 @@ pub fn update_remote( | ||||
|     if let Some(userid) = userid { data.userid = userid; } | ||||
|     if let Some(password) = password { data.password = password; } | ||||
|  | ||||
|     // fixme: howto delete a fingeprint? | ||||
|     if let Some(fingerprint) = fingerprint { data.fingerprint = Some(fingerprint); } | ||||
|  | ||||
|     config.set_data(&name, "remote", &data)?; | ||||
|  | ||||
|     remote::save_config(&config)?; | ||||
|  | ||||
| @ -476,7 +476,9 @@ pub fn complete_remote_datastore_name(_arg: &str, param: &HashMap<String, String | ||||
|         let client = HttpClient::new( | ||||
|             &remote.host, | ||||
|             &remote.userid, | ||||
|             Some(remote.password) | ||||
|             Some(remote.password), | ||||
|             remote.fingerprint, | ||||
|             false, | ||||
|         )?; | ||||
|  | ||||
|         let mut rt = tokio::runtime::Runtime::new().unwrap(); | ||||
|  | ||||
| @ -35,6 +35,10 @@ pub const REMOTE_PASSWORD_SCHEMA: Schema = StringSchema::new("Password or auth t | ||||
|         password: { | ||||
|             schema: REMOTE_PASSWORD_SCHEMA, | ||||
|         }, | ||||
|         fingerprint: { | ||||
|             optional: true, | ||||
|             schema: CERT_FINGERPRINT_SHA256_SCHEMA, | ||||
|         }, | ||||
|     } | ||||
| )] | ||||
| #[derive(Serialize,Deserialize)] | ||||
| @ -45,6 +49,7 @@ pub struct Remote { | ||||
|     pub host: String, | ||||
|     pub userid: String, | ||||
|     pub password: String, | ||||
|     pub fingerprint: Option<String>, | ||||
| } | ||||
|  | ||||
| fn init() -> SectionConfig { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user