hkp: fix creation time in index

Fixes #141
This commit is contained in:
Vincent Breitmoser 2020-02-19 11:17:27 +01:00
parent 46debf3d49
commit 122c8dbc0c
No known key found for this signature in database
GPG Key ID: 7BD18320DEADFA11
2 changed files with 7 additions and 3 deletions

View File

@ -1,5 +1,7 @@
use std::fmt;
use std::time::SystemTime;
use rocket::Data;
use rocket::Outcome;
use rocket::http::{ContentType, Status};
@ -223,7 +225,7 @@ fn key_to_hkp_index(db: rocket::State<KeyDatabase>, query: Query)
let mut out = String::default();
let p = tpk.primary();
let ctime = format!("{}", p.creation_time().elapsed().unwrap().as_secs());
let ctime = format!("{}", p.creation_time().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs());
let is_rev =
if tpk.revoked(None) != RevocationStatus::NotAsFarAsWeKnow {
"r"
@ -250,7 +252,7 @@ fn key_to_hkp_index(db: rocket::State<KeyDatabase>, query: Query)
let ctime = uid
.binding_signature(None)
.and_then(|x| x.signature_creation_time())
.and_then(|time| time.elapsed().ok())
.and_then(|time| time.duration_since(SystemTime::UNIX_EPOCH).ok())
.map(|x| format!("{}", x.as_secs()))
.unwrap_or_default();
let is_rev = if uid.revoked(None)

View File

@ -568,6 +568,8 @@ pub mod tests {
use sequoia_openpgp::parse::Parse;
use sequoia_openpgp::serialize::Serialize;
use std::time::SystemTime;
use crate::database::*;
use super::*;
@ -1074,7 +1076,7 @@ pub mod tests {
let algo: u8 = tpk.primary().pk_algo().into();
assert!(body.contains(&format!("pub:{}:{}:", primary_fpr, algo)));
let creation_time = tpk.primary().creation_time().elapsed().unwrap().as_secs();
let creation_time = tpk.primary().creation_time().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs();
assert!(body.contains(&format!(":{}:", creation_time)));
}