summaryrefslogtreecommitdiffhomepage
path: root/talpid-core/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-11-21 20:54:26 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-12-16 12:36:00 +0000
commitfb5d6a7fcb0df75554431eba1720378e7b434d3f (patch)
tree5fcb4b6ce9c3bc22a01479f59cd682d03c477bf1 /talpid-core/src
parent4be0d0eaaf23ce277972470a610fa7f3ec4bfbf9 (diff)
downloadmullvadvpn-fb5d6a7fcb0df75554431eba1720378e7b434d3f.tar.xz
mullvadvpn-fb5d6a7fcb0df75554431eba1720378e7b434d3f.zip
Add `CreateTunResult.InvalidDnsServers` variant
Diffstat (limited to 'talpid-core/src')
-rw-r--r--talpid-core/src/tunnel/tun_provider/android/mod.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/talpid-core/src/tunnel/tun_provider/android/mod.rs b/talpid-core/src/tunnel/tun_provider/android/mod.rs
index 762f5e4382..b9385f13a7 100644
--- a/talpid-core/src/tunnel/tun_provider/android/mod.rs
+++ b/talpid-core/src/tunnel/tun_provider/android/mod.rs
@@ -40,6 +40,12 @@ pub enum Error {
FindMethod(&'static str, #[error(source)] jnix::jni::errors::Error),
#[error(
+ display = "Attempt to configure the tunnel with an invalid DNS server address(es): {:?}",
+ _0
+ )]
+ InvalidDnsServers(Vec<IpAddr>),
+
+ #[error(
display = "Received an invalid result from TalpidVpnService.{}: {}",
_0,
_1
@@ -379,6 +385,7 @@ impl Default for TunConfig {
#[jnix(package = "net.mullvad.talpid")]
enum CreateTunResult {
Success { tun_fd: i32 },
+ InvalidDnsServers { addresses: Vec<IpAddr> },
PermissionDenied,
TunnelDeviceError,
}
@@ -387,6 +394,9 @@ impl From<CreateTunResult> for Result<RawFd, Error> {
fn from(result: CreateTunResult) -> Self {
match result {
CreateTunResult::Success { tun_fd } => Ok(tun_fd),
+ CreateTunResult::InvalidDnsServers { addresses } => {
+ Err(Error::InvalidDnsServers(addresses))
+ }
CreateTunResult::PermissionDenied => Err(Error::PermissionDenied),
CreateTunResult::TunnelDeviceError => Err(Error::TunnelDeviceError),
}