Y4NVVY56QZE3I2NEJUUFKANBL5SCCUDALSTDVZ4YOPH6AXJYQT5QC
D4SBRY6KHEAMGUEVWSUYHNCRYXCOC5JJ3N3DQ47ZXOXQGT73VERAC
LE34RHBBMJT2BWLU5BHZJSHNMHQWX66QQNM2MAEDWEARCWOCSYLAC
use crate::Keyalgorithm_;
use crate::repository::{channel_spec, ChannelSpec, RepositoryId};use crate::Keyalgorithm_;
use crate::repository::{channel_spec, ChannelSpec, RepositoryId};
use crate::repository::{ChannelSpec, RepositoryId, channel_spec};
use diesel_async::scoped_futures::ScopedFutureExt;
use libpijul::pristine::{Base32, ChannelTxnT, DepsTxnT, GraphTxnT, TxnT};
use thrussh::server::*;
gen: std::time::SystemTime::UNIX_EPOCH,
g: std::time::SystemTime::UNIX_EPOCH,
gen: std::time::SystemTime,
g: std::time::SystemTime,
return Ok(ProtocolResult::State { disc, pos })
return Ok(ProtocolResult::State { disc, pos });
self.random_challenge.gen = std::time::SystemTime::now();
self.random_challenge.g = std::time::SystemTime::now();
if self.random_challenge.gen.elapsed()? > std::time::Duration::from_secs(10) {
if self.random_challenge.g.elapsed()? > std::time::Duration::from_secs(10) {
debug!("repo");
debug!("repo doesn't have {:?}", hash);
debug!("repo n = {:?}", n);
debug!("apply {:?}", hash);
debug!("parts {:?}", parts);
error!("grain error {:?}", e);
error!("error {:?}", e);
debug!("resp {:?} body {:?}", resp, body.len());
let h = format!("{:?}", headers); tracing::debug_span!("request", %method, %uri, matched_path, %h)
let h = format!("{:?}", headers);
tracing::debug_span!("request", %method, %uri, matched_path, %h)
tracing::debug_span!("request", %method, %uri, matched_path)