|
|
@ -1,3 +1,4 @@ |
|
|
|
use base64::Engine;
|
|
|
|
use daemonize::Daemonize;
|
|
|
|
use std::fs::File;
|
|
|
|
use std::io::prelude::*;
|
|
|
@ -9,12 +10,6 @@ pub mod logs; |
|
|
|
#[cfg(test)]
|
|
|
|
mod tests;
|
|
|
|
|
|
|
|
const URL_SAFE_NO_PAD: base64::engine::fast_portable::FastPortable =
|
|
|
|
base64::engine::fast_portable::FastPortable::from(
|
|
|
|
&base64::alphabet::URL_SAFE,
|
|
|
|
base64::engine::fast_portable::NO_PAD,
|
|
|
|
);
|
|
|
|
|
|
|
|
macro_rules! exit_match {
|
|
|
|
($e: expr) => {
|
|
|
|
match $e {
|
|
|
@ -45,11 +40,11 @@ pub fn to_idna(domain_name: &str) -> Result<String, error::Error> { |
|
|
|
}
|
|
|
|
|
|
|
|
pub fn b64_encode<T: ?Sized + AsRef<[u8]>>(input: &T) -> String {
|
|
|
|
base64::encode_engine(input, &URL_SAFE_NO_PAD)
|
|
|
|
base64::engine::general_purpose::URL_SAFE_NO_PAD.encode(input)
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn b64_decode<T: ?Sized + AsRef<[u8]>>(input: &T) -> Result<Vec<u8>, error::Error> {
|
|
|
|
let res = base64::decode_engine(input, &URL_SAFE_NO_PAD)?;
|
|
|
|
let res = base64::engine::general_purpose::URL_SAFE_NO_PAD.decode(input)?;
|
|
|
|
Ok(res)
|
|
|
|
}
|
|
|
|
|
|
|
|