Make elements of TorClientConfig private.
This commit is contained in:
parent
b42a6712c9
commit
d245147c7f
|
@ -106,7 +106,7 @@ request_max_retries = 32
|
||||||
request_loyalty = "50 msec"
|
request_loyalty = "50 msec"
|
||||||
|
|
||||||
# Rules for client configuration
|
# Rules for client configuration
|
||||||
[client_config]
|
[addr_config]
|
||||||
|
|
||||||
# Should we allow attempts to make Tor connections to local addresses?
|
# Should we allow attempts to make Tor connections to local addresses?
|
||||||
allow_local_addrs = false
|
allow_local_addrs = false
|
||||||
|
|
|
@ -95,7 +95,6 @@ use std::sync::Arc;
|
||||||
use tor_client::{
|
use tor_client::{
|
||||||
config::circ::{CircMgrConfig, CircMgrConfigBuilder},
|
config::circ::{CircMgrConfig, CircMgrConfigBuilder},
|
||||||
config::dir::{DirMgrConfig, DirMgrConfigBuilder, DownloadScheduleConfig, NetworkConfig},
|
config::dir::{DirMgrConfig, DirMgrConfigBuilder, DownloadScheduleConfig, NetworkConfig},
|
||||||
config::ClientAddrConfig,
|
|
||||||
TorClient, TorClientConfig,
|
TorClient, TorClientConfig,
|
||||||
};
|
};
|
||||||
use tor_config::CfgPath;
|
use tor_config::CfgPath;
|
||||||
|
@ -105,7 +104,6 @@ use anyhow::Result;
|
||||||
use argh::FromArgs;
|
use argh::FromArgs;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::path::PathBuf;
|
|
||||||
use tracing::{info, warn};
|
use tracing::{info, warn};
|
||||||
use tracing_subscriber::layer::SubscriberExt;
|
use tracing_subscriber::layer::SubscriberExt;
|
||||||
use tracing_subscriber::prelude::*;
|
use tracing_subscriber::prelude::*;
|
||||||
|
@ -229,10 +227,7 @@ impl ArtiConfig {
|
||||||
async fn run<R: Runtime>(
|
async fn run<R: Runtime>(
|
||||||
runtime: R,
|
runtime: R,
|
||||||
socks_port: u16,
|
socks_port: u16,
|
||||||
statecfg: PathBuf,
|
client_config: TorClientConfig,
|
||||||
dircfg: DirMgrConfig,
|
|
||||||
circcfg: CircMgrConfig,
|
|
||||||
addrcfg: ClientAddrConfig,
|
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
use futures::FutureExt;
|
use futures::FutureExt;
|
||||||
futures::select!(
|
futures::select!(
|
||||||
|
@ -241,12 +236,7 @@ async fn run<R: Runtime>(
|
||||||
let client =
|
let client =
|
||||||
Arc::new(TorClient::bootstrap(
|
Arc::new(TorClient::bootstrap(
|
||||||
runtime.clone(),
|
runtime.clone(),
|
||||||
TorClientConfig {
|
client_config,
|
||||||
state_cfg: statecfg,
|
|
||||||
dir_cfg: dircfg,
|
|
||||||
circ_cfg: circcfg,
|
|
||||||
addr_cfg: addrcfg
|
|
||||||
}
|
|
||||||
).await?);
|
).await?);
|
||||||
proxy::run_socks_proxy(runtime, client, socks_port).await
|
proxy::run_socks_proxy(runtime, client, socks_port).await
|
||||||
}.fuse() => r,
|
}.fuse() => r,
|
||||||
|
@ -321,6 +311,13 @@ fn main() -> Result<()> {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let client_config = TorClientConfig::builder()
|
||||||
|
.state_cfg(statecfg)
|
||||||
|
.dir_cfg(dircfg)
|
||||||
|
.circ_cfg(circcfg)
|
||||||
|
.addr_cfg(addrcfg)
|
||||||
|
.build()?;
|
||||||
|
|
||||||
process::use_max_file_limit();
|
process::use_max_file_limit();
|
||||||
|
|
||||||
#[cfg(feature = "tokio")]
|
#[cfg(feature = "tokio")]
|
||||||
|
@ -329,7 +326,7 @@ fn main() -> Result<()> {
|
||||||
let runtime = tor_rtcompat::async_std::create_runtime()?;
|
let runtime = tor_rtcompat::async_std::create_runtime()?;
|
||||||
|
|
||||||
let rt_copy = runtime.clone();
|
let rt_copy = runtime.clone();
|
||||||
rt_copy.block_on(run(runtime, socks_port, statecfg, dircfg, circcfg, addrcfg))?;
|
rt_copy.block_on(run(runtime, socks_port, client_config))?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -140,13 +140,13 @@ impl Default for ConnectPrefs {
|
||||||
#[derive(Clone, Debug, Builder)]
|
#[derive(Clone, Debug, Builder)]
|
||||||
pub struct TorClientConfig {
|
pub struct TorClientConfig {
|
||||||
/// A directory suitable for storing persistent Tor state in.
|
/// A directory suitable for storing persistent Tor state in.
|
||||||
pub state_cfg: PathBuf,
|
state_cfg: PathBuf,
|
||||||
/// Configuration for the network directory manager.
|
/// Configuration for the network directory manager.
|
||||||
pub dir_cfg: DirMgrConfig,
|
dir_cfg: DirMgrConfig,
|
||||||
/// Configuration for the network circuit manager.
|
/// Configuration for the network circuit manager.
|
||||||
pub circ_cfg: CircMgrConfig,
|
circ_cfg: CircMgrConfig,
|
||||||
/// Other client configuration.
|
/// Other client configuration.
|
||||||
pub addr_cfg: ClientAddrConfig,
|
addr_cfg: ClientAddrConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TorClientConfig {
|
impl TorClientConfig {
|
||||||
|
|
Loading…
Reference in New Issue