aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/service/VpnServiceBuilderExtensions.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/service/VpnServiceBuilderExtensions.kt')
-rw-r--r--app/src/main/java/org/pacien/tincapp/service/VpnServiceBuilderExtensions.kt46
1 files changed, 0 insertions, 46 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/service/VpnServiceBuilderExtensions.kt b/app/src/main/java/org/pacien/tincapp/service/VpnServiceBuilderExtensions.kt
deleted file mode 100644
index 22edff9..0000000
--- a/app/src/main/java/org/pacien/tincapp/service/VpnServiceBuilderExtensions.kt
+++ /dev/null
@@ -1,46 +0,0 @@
1package org.pacien.tincapp.service
2
3/**
4 * @author pacien
5 */
6
7import android.net.VpnService
8import org.pacien.tincapp.utils.applyIgnoringException
9
10fun VpnService.Builder.addAddress(cidr: CidrAddress): VpnService.Builder = addAddress(cidr.address, cidr.prefix)
11fun VpnService.Builder.addRoute(cidr: CidrAddress): VpnService.Builder = addRoute(cidr.address, cidr.prefix)
12fun VpnService.Builder.allowBypass(allow: Boolean): VpnService.Builder = if (allow) allowBypass() else this
13fun VpnService.Builder.overrideMtu(mtu: Int?): VpnService.Builder = if (mtu != null) setMtu(mtu) else this
14
15fun VpnService.Builder.addAddresses(cidrList: List<CidrAddress>): VpnService.Builder =
16 cidrList.fold(this, { net, cidr -> net.addAddress(cidr) })
17
18fun VpnService.Builder.addRoutes(cidrList: List<CidrAddress>): VpnService.Builder =
19 cidrList.fold(this, { net, cidr -> net.addRoute(cidr) })
20
21fun VpnService.Builder.addDnsServers(dnsList: List<String>): VpnService.Builder =
22 dnsList.fold(this, { net, dns -> net.addDnsServer(dns) })
23
24fun VpnService.Builder.addSearchDomains(domainList: List<String>): VpnService.Builder =
25 domainList.fold(this, { net, domain -> net.addSearchDomain(domain) })
26
27fun VpnService.Builder.allowFamilies(familyList: List<Int>): VpnService.Builder =
28 familyList.fold(this, { net, family -> net.allowFamily(family) })
29
30fun VpnService.Builder.addAllowedApplications(apps: List<String>): VpnService.Builder =
31 apps.fold(this, { net, app -> applyIgnoringException(net::addAllowedApplication, app, net)!! })
32
33fun VpnService.Builder.addDisallowedApplications(apps: List<String>): VpnService.Builder =
34 apps.fold(this, { net, app -> applyIgnoringException(net::addDisallowedApplication, app, net)!! })
35
36fun VpnService.Builder.apply(cfg: VpnInterfaceConfiguration): VpnService.Builder = this
37 .addAddresses(cfg.addresses)
38 .addRoutes(cfg.routes)
39 .addDnsServers(cfg.dnsServers)
40 .addSearchDomains(cfg.searchDomains)
41 .addAllowedApplications(cfg.allowedApplications)
42 .addDisallowedApplications(cfg.disallowedApplications)
43 .allowFamilies(cfg.allowedFamilies)
44 .allowBypass(cfg.allowBypass)
45 .setBlocking(cfg.blocking)
46 .overrideMtu(cfg.mtu)