Correct loading/truncation of secret key files

pmeunier
Feb 23, 2023, 8:16 PM
OTEE57H2YMEBB2JRHYYAIW4GNXQPV4XEWC4TCI3RXXVU7QTU7TXQC

Dependencies

  • [2] DOEG3V7U Only re-write identity data when changed
  • [3] 4OJWMSOW Fully replace crate::Identity
  • [4] 4KJ45IJL Implement new identity management

Change contents

  • edit in pijul/src/identity/load.rs at line 8
    [3.22565][3.22565:22586]()
    use std::path::Path;
  • edit in pijul/src/identity/load.rs at line 104
    [3.25630][3.25630:26039]()
    #[cfg(unix)]
    pub fn open_secret_file(path: &Path) -> Result<std::fs::File, std::io::Error> {
    use std::fs::OpenOptions;
    use std::os::unix::fs::OpenOptionsExt;
    OpenOptions::new()
    .write(true)
    .create(true)
    .mode(0o600)
    .open(path)
    }
    #[cfg(not(unix))]
    pub fn open_secret_file(path: &Path) -> Result<std::fs::File, std::io::Error> {
    std::fs::File::create(path)
    }
  • replacement in pijul/src/identity/create.rs at line 276
    [2.564][2.564:662]()
    let mut key_file = super::load::open_secret_file(&identity_dir.join("secret_key.json"))?;
    [2.564]
    [2.662]
    let mut key_file = std::fs::File::create(&identity_dir.join("secret_key.json"))?;