Skip to content

Commit

Permalink
completely removed unix socket based DNS resolving
Browse files Browse the repository at this point in the history
  • Loading branch information
zonyitoo committed Dec 24, 2020
1 parent 4cf5473 commit 8dfc2a3
Show file tree
Hide file tree
Showing 11 changed files with 82 additions and 377 deletions.
8 changes: 0 additions & 8 deletions bin/common/validator/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

use std::net::SocketAddr;

#[cfg(feature = "local-dns")]
use shadowsocks_service::config::NameServerAddr;
use shadowsocks_service::shadowsocks::{relay::socks5::Address, ManagerAddr, ServerAddr, ServerConfig};

macro_rules! validate_type {
Expand All @@ -31,12 +29,6 @@ validate_type!(
ManagerAddr,
"should be either ip:port, domain:port or /path/to/unix.sock"
);
#[cfg(feature = "local-dns")]
validate_type!(
validate_name_server_addr,
NameServerAddr,
"should be either ip:port, domain:port or /path/to/unix.sock"
);
validate_type!(validate_u64, u64, "should be unsigned integer");
validate_type!(validate_u32, u32, "should be unsigned integer");

Expand Down
12 changes: 3 additions & 9 deletions bin/sslocal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ fn main() {
#[cfg(feature = "local-dns")]
{
app = clap_app!(@app (app)
(@arg LOCAL_DNS_ADDR: --("local-dns-addr") +takes_value required_if("PROTOCOL", "dns") {validator::validate_name_server_addr} "Specify the address of local DNS server, send queries directly")
(@arg LOCAL_DNS_ADDR: --("local-dns-addr") +takes_value required_if("PROTOCOL", "dns") {validator::validate_socket_addr} "Specify the address of local DNS server, send queries directly")
(@arg REMOTE_DNS_ADDR: --("remote-dns-addr") +takes_value required_if("PROTOCOL", "dns") {validator::validate_address} "Specify the address of remote DNS server, send queries through shadowsocks' tunnel")
(@arg DNS_LOCAL_ADDR: --("dns-addr") +takes_value requires_all(&["REMOTE_DNS_ADDR"]) {validator::validate_server_addr} "DNS address, listen to this address if specified")
);
Expand Down Expand Up @@ -240,10 +240,10 @@ fn main() {

#[cfg(feature = "local-dns")]
{
use shadowsocks_service::config::NameServerAddr;
use std::net::SocketAddr;

if let Some(local_dns_addr) = matches.value_of("LOCAL_DNS_ADDR") {
let addr = local_dns_addr.parse::<NameServerAddr>().expect("local dns address");
let addr = local_dns_addr.parse::<SocketAddr>().expect("local dns address");
config.local_dns_addr = Some(addr);
}

Expand All @@ -263,12 +263,6 @@ fn main() {
// A socket `protect_path` in CWD
// Same as shadowsocks-libev's android.c
config.outbound_vpn_protect_path = Some(From::from("protect_path"));

// Set default config.local_dns_addr
#[cfg(feature = "local-dns")]
if config.local_dns_addr.is_none() {
config.local_dns_addr = Some(From::from("local_dns_path"));
}
}

if let Some(local_addr) = matches.value_of("LOCAL_ADDR") {
Expand Down
2 changes: 1 addition & 1 deletion crates/shadowsocks-service/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ dns-over-tls = ["trust-dns", "trust-dns-resolver/dns-over-tls", "trust-dns-resol
dns-over-https = ["trust-dns", "trust-dns-resolver/dns-over-https"]

# Enable DNS-relay
local-dns = ["local", "trust-dns-proto", "rand"]
local-dns = ["local", "trust-dns", "trust-dns-proto", "rand"]
# Backward compatibility, DO NOT USE
local-dns-relay = ["local-dns"]
# Enable client flow statistic report
Expand Down
4 changes: 1 addition & 3 deletions crates/shadowsocks-service/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,6 @@ use shadowsocks::{
use trust_dns_resolver::config::{NameServerConfig, Protocol, ResolverConfig};

use crate::acl::AccessControl;
#[cfg(feature = "local-dns")]
pub use crate::local::dns::config::NameServerAddr;

#[cfg(feature = "trust-dns")]
#[derive(Serialize, Deserialize, Debug)]
Expand Down Expand Up @@ -576,7 +574,7 @@ pub struct Config {
///
/// Sending DNS query directly to this address
#[cfg(feature = "local-dns")]
pub local_dns_addr: Option<NameServerAddr>,
pub local_dns_addr: Option<SocketAddr>,
/// Remote DNS's address
///
/// Sending DNS query through proxy to this address
Expand Down
1 change: 1 addition & 0 deletions crates/shadowsocks-service/src/local/dns/client_cache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ impl DnsClientCache {
}

#[cfg(unix)]
#[allow(dead_code)]
pub async fn lookup_unix_stream<P: AsRef<Path>>(&self, ns: &P, msg: Message) -> Result<Message, ProtoError> {
let mut last_err = None;

Expand Down
67 changes: 0 additions & 67 deletions crates/shadowsocks-service/src/local/dns/config.rs

This file was deleted.

220 changes: 0 additions & 220 deletions crates/shadowsocks-service/src/local/dns/dns_resolver.rs

This file was deleted.

2 changes: 0 additions & 2 deletions crates/shadowsocks-service/src/local/dns/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,5 @@
pub use self::server::Dns;

mod client_cache;
pub mod config;
pub mod dns_resolver;
pub mod server;
mod upstream;
Loading

0 comments on commit 8dfc2a3

Please sign in to comment.