Use SystemTime for the certificate's time

Also don't use mem::forget() for the updater, because who knows, Rust
optimizations may be too aggressive.

Maybe
Fixes #13
pull/16/head
Frank Denis 5 years ago
parent 4d584d95e6
commit 48d0588337

@ -1,5 +1,5 @@
use crate::*;
use crate::errors::*;
use crate::*;
use byteorder::{BigEndian, ByteOrder};
use siphasher::sip128::Hasher128;

@ -6,17 +6,20 @@ use crate::globals::*;
use byteorder::{BigEndian, ByteOrder};
use clockpro_cache::ClockProCache;
use coarsetime::Clock;
use parking_lot::Mutex;
use std::mem;
use std::slice;
use std::sync::Arc;
use std::time::SystemTime;
pub const DNSCRYPT_CERTS_TTL: u32 = 86400;
pub const DNSCRYPT_CERTS_RENEWAL: u32 = 28800;
fn now() -> u32 {
Clock::recent_since_epoch().as_secs() as u32
SystemTime::now()
.duration_since(SystemTime::UNIX_EPOCH)
.expect("The clock is completely off")
.as_secs() as _
}
#[derive(Debug, Default, Clone, Serialize, Deserialize)]

@ -65,7 +65,6 @@ use std::collections::vec_deque::VecDeque;
use std::convert::TryFrom;
use std::fs::File;
use std::io::prelude::*;
use std::mem;
use std::net::SocketAddr;
use std::path::Path;
use std::sync::atomic::{AtomicU32, Ordering};
@ -461,9 +460,7 @@ fn main() -> Result<(), Error> {
.init();
crypto::init()?;
let updater = coarsetime::Updater::new(1000).start()?;
mem::forget(updater);
let time_updater = coarsetime::Updater::new(1000).start()?;
let matches = app_from_crate!()
.arg(
Arg::with_name("config")
@ -694,5 +691,6 @@ fn main() -> Result<(), Error> {
.map(|_| ()),
);
runtime.block_on(updater.run());
time_updater.stop()?;
Ok(())
}

Loading…
Cancel
Save