constructor rename
This commit is contained in:
parent
6cdc220406
commit
1c57214786
@ -63,7 +63,7 @@ enum Pbkdf2ParseError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl KdfPbkdf2Params {
|
impl KdfPbkdf2Params {
|
||||||
fn new(json: &BTreeMap<String, Json>) -> Result<KdfPbkdf2Params, Pbkdf2ParseError> {
|
fn from_json(json: &BTreeMap<String, Json>) -> Result<KdfPbkdf2Params, Pbkdf2ParseError> {
|
||||||
Ok(KdfPbkdf2Params{
|
Ok(KdfPbkdf2Params{
|
||||||
salt: match try!(json.get("salt").ok_or(Pbkdf2ParseError::MissingParameter("salt"))).as_string() {
|
salt: match try!(json.get("salt").ok_or(Pbkdf2ParseError::MissingParameter("salt"))).as_string() {
|
||||||
None => { return Err(Pbkdf2ParseError::InvalidParameter("salt")) },
|
None => { return Err(Pbkdf2ParseError::InvalidParameter("salt")) },
|
||||||
@ -120,7 +120,7 @@ enum ScryptParseError {
|
|||||||
fn json_from_u32(number: u32) -> Json { Json::U64(number as u64) }
|
fn json_from_u32(number: u32) -> Json { Json::U64(number as u64) }
|
||||||
|
|
||||||
impl KdfScryptParams {
|
impl KdfScryptParams {
|
||||||
fn new(json: &BTreeMap<String, Json>) -> Result<KdfScryptParams, ScryptParseError> {
|
fn from_json(json: &BTreeMap<String, Json>) -> Result<KdfScryptParams, ScryptParseError> {
|
||||||
Ok(KdfScryptParams{
|
Ok(KdfScryptParams{
|
||||||
salt: match try!(json.get("salt").ok_or(ScryptParseError::MissingParameter("salt"))).as_string() {
|
salt: match try!(json.get("salt").ok_or(ScryptParseError::MissingParameter("salt"))).as_string() {
|
||||||
None => { return Err(ScryptParseError::InvalidParameter("salt")) },
|
None => { return Err(ScryptParseError::InvalidParameter("salt")) },
|
||||||
@ -160,7 +160,7 @@ struct KeyFileCrypto {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl KeyFileCrypto {
|
impl KeyFileCrypto {
|
||||||
fn new(json: &Json) -> Result<KeyFileCrypto, CryptoParseError> {
|
fn from_json(json: &Json) -> Result<KeyFileCrypto, CryptoParseError> {
|
||||||
let as_object = match json.as_object() {
|
let as_object = match json.as_object() {
|
||||||
None => { return Err(CryptoParseError::InvalidJsonFormat); }
|
None => { return Err(CryptoParseError::InvalidJsonFormat); }
|
||||||
Some(obj) => obj
|
Some(obj) => obj
|
||||||
@ -190,12 +190,12 @@ impl KeyFileCrypto {
|
|||||||
let kdf = match (as_object["kdf"].as_string(), as_object["kdfparams"].as_object()) {
|
let kdf = match (as_object["kdf"].as_string(), as_object["kdfparams"].as_object()) {
|
||||||
(None, _) => { return Err(CryptoParseError::NoKdfType); },
|
(None, _) => { return Err(CryptoParseError::NoKdfType); },
|
||||||
(Some("scrypt"), Some(kdf_params)) =>
|
(Some("scrypt"), Some(kdf_params)) =>
|
||||||
match KdfScryptParams::new(kdf_params) {
|
match KdfScryptParams::from_json(kdf_params) {
|
||||||
Err(scrypt_params_error) => { return Err(CryptoParseError::Scrypt(scrypt_params_error)); },
|
Err(scrypt_params_error) => { return Err(CryptoParseError::Scrypt(scrypt_params_error)); },
|
||||||
Ok(scrypt_params) => KeyFileKdf::Scrypt(scrypt_params)
|
Ok(scrypt_params) => KeyFileKdf::Scrypt(scrypt_params)
|
||||||
},
|
},
|
||||||
(Some("pbkdf2"), Some(kdf_params)) =>
|
(Some("pbkdf2"), Some(kdf_params)) =>
|
||||||
match KdfPbkdf2Params::new(kdf_params) {
|
match KdfPbkdf2Params::from_json(kdf_params) {
|
||||||
Err(pbkdf2_params_error) => { return Err(CryptoParseError::KdfPbkdf2(pbkdf2_params_error)); },
|
Err(pbkdf2_params_error) => { return Err(CryptoParseError::KdfPbkdf2(pbkdf2_params_error)); },
|
||||||
Ok(pbkdf2_params) => KeyFileKdf::Pbkdf2(pbkdf2_params)
|
Ok(pbkdf2_params) => KeyFileKdf::Pbkdf2(pbkdf2_params)
|
||||||
},
|
},
|
||||||
@ -311,7 +311,7 @@ impl KeyDirectory {
|
|||||||
|
|
||||||
match ::std::str::from_utf8(&json_data) {
|
match ::std::str::from_utf8(&json_data) {
|
||||||
Ok(ut8_string) => match Json::from_str(ut8_string) {
|
Ok(ut8_string) => match Json::from_str(ut8_string) {
|
||||||
Ok(json) => match KeyFileContent::new(&json) {
|
Ok(json) => match KeyFileContent::from_json(&json) {
|
||||||
Ok(key_file_content) => Ok(key_file_content),
|
Ok(key_file_content) => Ok(key_file_content),
|
||||||
Err(parse_error) => Err(KeyLoadError::FileParseError(parse_error))
|
Err(parse_error) => Err(KeyLoadError::FileParseError(parse_error))
|
||||||
},
|
},
|
||||||
@ -351,7 +351,7 @@ enum KeyFileParseError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl KeyFileContent {
|
impl KeyFileContent {
|
||||||
fn new(json: &Json) -> Result<KeyFileContent, KeyFileParseError> {
|
fn from_json(json: &Json) -> Result<KeyFileContent, KeyFileParseError> {
|
||||||
let as_object = match json.as_object() {
|
let as_object = match json.as_object() {
|
||||||
None => { return Err(KeyFileParseError::InvalidJsonFormat); },
|
None => { return Err(KeyFileParseError::InvalidJsonFormat); },
|
||||||
Some(obj) => obj
|
Some(obj) => obj
|
||||||
@ -371,7 +371,7 @@ impl KeyFileContent {
|
|||||||
|
|
||||||
let crypto = match as_object.get("crypto") {
|
let crypto = match as_object.get("crypto") {
|
||||||
None => { return Err(KeyFileParseError::NoCryptoSection); }
|
None => { return Err(KeyFileParseError::NoCryptoSection); }
|
||||||
Some(crypto_json) => match KeyFileCrypto::new(crypto_json) {
|
Some(crypto_json) => match KeyFileCrypto::from_json(crypto_json) {
|
||||||
Ok(crypto) => crypto,
|
Ok(crypto) => crypto,
|
||||||
Err(crypto_error) => { return Err(KeyFileParseError::Crypto(crypto_error)); }
|
Err(crypto_error) => { return Err(KeyFileParseError::Crypto(crypto_error)); }
|
||||||
}
|
}
|
||||||
@ -424,7 +424,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
match KeyFileContent::new(&json) {
|
match KeyFileContent::from_json(&json) {
|
||||||
Ok(key_file) => {
|
Ok(key_file) => {
|
||||||
assert_eq!(KeyFileVersion::V3(3), key_file.version)
|
assert_eq!(KeyFileVersion::V3(3), key_file.version)
|
||||||
},
|
},
|
||||||
@ -458,7 +458,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
match KeyFileContent::new(&json) {
|
match KeyFileContent::from_json(&json) {
|
||||||
Ok(key_file) => {
|
Ok(key_file) => {
|
||||||
match key_file.crypto.kdf {
|
match key_file.crypto.kdf {
|
||||||
KeyFileKdf::Scrypt(scrypt_params) => {},
|
KeyFileKdf::Scrypt(scrypt_params) => {},
|
||||||
@ -494,7 +494,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
match KeyFileContent::new(&json) {
|
match KeyFileContent::from_json(&json) {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
panic!("Should be error of no crypto section, got ok");
|
panic!("Should be error of no crypto section, got ok");
|
||||||
},
|
},
|
||||||
@ -513,7 +513,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
match KeyFileContent::new(&json) {
|
match KeyFileContent::from_json(&json) {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
panic!("Should be error of no identifier, got ok");
|
panic!("Should be error of no identifier, got ok");
|
||||||
},
|
},
|
||||||
@ -548,7 +548,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
match KeyFileContent::new(&json) {
|
match KeyFileContent::from_json(&json) {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
panic!("should be error of unsupported version, got ok");
|
panic!("should be error of unsupported version, got ok");
|
||||||
},
|
},
|
||||||
@ -584,7 +584,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
"#).unwrap();
|
"#).unwrap();
|
||||||
|
|
||||||
match KeyFileContent::new(&json) {
|
match KeyFileContent::from_json(&json) {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
panic!("should be error of invalid initial vector, got ok");
|
panic!("should be error of invalid initial vector, got ok");
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user