Switch to Mutex from parking_lot to avoid poisoning

Signed-off-by: trivernis <trivernis@protonmail.com>
pull/1/head
trivernis 4 years ago
parent b73f41f67d
commit 5affe0e93e
Signed by: Trivernis
GPG Key ID: DFFFCC2C7A02DB45

1
Cargo.lock generated

@ -382,6 +382,7 @@ dependencies = [
"mime 0.3.16",
"msgrpc",
"num_cpus",
"parking_lot",
"postgres",
"r2d2",
"r2d2_postgres",

@ -30,4 +30,5 @@ chrono = "0.4.15"
r2d2 = "0.8.9"
r2d2_postgres = "0.16.0"
scheduled-thread-pool = "0.2.5"
num_cpus = "1.13.0"
num_cpus = "1.13.0"
parking_lot = "0.11.0"

@ -5,7 +5,8 @@ use crate::database::{DatabaseResult, PostgresPool, Table};
use crate::utils::error::DBError;
use crate::utils::{create_salt, hash_password};
use std::sync::{Arc, Mutex};
use parking_lot::Mutex;
use std::sync::Arc;
use zeroize::{Zeroize, Zeroizing};
const DEFAULT_ADMIN_PASSWORD: &str = "flotte-admin";
@ -94,7 +95,7 @@ impl Users {
let id: i32 = row.get(0);
let tokens = SessionTokens::new(id);
tokens.store(&mut self.token_store.lock().unwrap())?;
tokens.store(&mut self.token_store.lock())?;
Ok(tokens)
} else {
@ -103,7 +104,7 @@ impl Users {
}
pub fn validate_request_token(&self, token: &String) -> DatabaseResult<(bool, i32)> {
let store = self.token_store.lock().unwrap();
let store = self.token_store.lock();
let entry = store.get_request_token(&token);
if let Some(entry) = entry {
@ -114,7 +115,7 @@ impl Users {
}
pub fn validate_refresh_token(&self, token: &String) -> DatabaseResult<(bool, i32)> {
let store = self.token_store.lock().unwrap();
let store = self.token_store.lock();
let entry = store.get_refresh_token(&token);
if let Some(entry) = entry {
@ -125,7 +126,7 @@ impl Users {
}
pub fn refresh_tokens(&self, refresh_token: &String) -> DatabaseResult<SessionTokens> {
let mut token_store = self.token_store.lock().unwrap();
let mut token_store = self.token_store.lock();
let tokens = token_store.get_refresh_token(refresh_token);
if let Some(mut tokens) = tokens.and_then(|t| SessionTokens::from_entry(t)) {
tokens.refresh();

Loading…
Cancel
Save