- Added Bind Address configuration variable.
This commit is contained in:
@@ -16,6 +16,7 @@ class ConfigActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
internal lateinit var autoStart: CheckBox
|
internal lateinit var autoStart: CheckBox
|
||||||
internal lateinit var listenAddr: EditText
|
internal lateinit var listenAddr: EditText
|
||||||
|
internal lateinit var bindAddr: EditText
|
||||||
internal lateinit var preferIPv6: CheckBox
|
internal lateinit var preferIPv6: CheckBox
|
||||||
internal lateinit var dnsServers: EditText
|
internal lateinit var dnsServers: EditText
|
||||||
internal lateinit var certificateFile: CheckBox
|
internal lateinit var certificateFile: CheckBox
|
||||||
@@ -29,6 +30,7 @@ class ConfigActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
private var oldAutoStart = ""
|
private var oldAutoStart = ""
|
||||||
private var oldListenAddr = ""
|
private var oldListenAddr = ""
|
||||||
|
private var oldBindAddr = ""
|
||||||
private var oldPreferIPv6 = ""
|
private var oldPreferIPv6 = ""
|
||||||
private var oldDnsServers = ""
|
private var oldDnsServers = ""
|
||||||
private var oldCertificateFile = false
|
private var oldCertificateFile = false
|
||||||
@@ -59,6 +61,11 @@ class ConfigActivity : AppCompatActivity() {
|
|||||||
oldListenAddr = if (laCv.size == 0) "" else laCv[0]
|
oldListenAddr = if (laCv.size == 0) "" else laCv[0]
|
||||||
listenAddr.setText(oldListenAddr)
|
listenAddr.setText(oldListenAddr)
|
||||||
|
|
||||||
|
bindAddr = findViewById(R.id.BindAddress) as EditText
|
||||||
|
val baCv = Config.variable("net_interface")
|
||||||
|
oldBindAddr = if (baCv.size == 0) "" else baCv[0]
|
||||||
|
bindAddr.setText(oldBindAddr)
|
||||||
|
|
||||||
preferIPv6 = findViewById(R.id.PreferIPv6) as CheckBox
|
preferIPv6 = findViewById(R.id.PreferIPv6) as CheckBox
|
||||||
val piCv = Config.variable("net_prefer_ipv6")
|
val piCv = Config.variable("net_prefer_ipv6")
|
||||||
oldPreferIPv6 = if (piCv.size == 0) "no" else piCv[0]
|
oldPreferIPv6 = if (piCv.size == 0) "no" else piCv[0]
|
||||||
@@ -177,6 +184,19 @@ class ConfigActivity : AppCompatActivity() {
|
|||||||
restart = true
|
restart = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val bindAddr = bindAddr.text.toString().trim()
|
||||||
|
if (bindAddr != oldBindAddr) {
|
||||||
|
if ((bindAddr != "") && !Utils.checkIp(bindAddr) && !Utils.checkIfName(bindAddr)) {
|
||||||
|
Utils.alertView(this, getString(R.string.notice),
|
||||||
|
"${getString(R.string.invalid_bind_address)}: $bindAddr")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
Config.remove("net_interface")
|
||||||
|
if (bindAddr != "") Config.add("net_interface", bindAddr)
|
||||||
|
save = true
|
||||||
|
restart = true
|
||||||
|
}
|
||||||
|
|
||||||
var preferIPv6String = "no"
|
var preferIPv6String = "no"
|
||||||
if (preferIPv6.isChecked) preferIPv6String = "yes"
|
if (preferIPv6.isChecked) preferIPv6String = "yes"
|
||||||
if (oldPreferIPv6 != preferIPv6String) {
|
if (oldPreferIPv6 != preferIPv6String) {
|
||||||
@@ -375,6 +395,10 @@ class ConfigActivity : AppCompatActivity() {
|
|||||||
Utils.alertView(this, getString(R.string.listen_address),
|
Utils.alertView(this, getString(R.string.listen_address),
|
||||||
getString(R.string.listen_address_help))
|
getString(R.string.listen_address_help))
|
||||||
}
|
}
|
||||||
|
findViewById(R.id.BindAddressTitle) as TextView-> {
|
||||||
|
Utils.alertView(this, getString(R.string.bind_address),
|
||||||
|
getString(R.string.bind_address_help))
|
||||||
|
}
|
||||||
findViewById(R.id.PreferIPv6Title) as TextView-> {
|
findViewById(R.id.PreferIPv6Title) as TextView-> {
|
||||||
Utils.alertView(this, getString(R.string.prefer_ipv6),
|
Utils.alertView(this, getString(R.string.prefer_ipv6),
|
||||||
getString(R.string.prefer_ipv6_help))
|
getString(R.string.prefer_ipv6_help))
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ object Utils {
|
|||||||
checkIpV6(bracketedIp.substring(1, bracketedIp.length - 2))
|
checkIpV6(bracketedIp.substring(1, bracketedIp.length - 2))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkIp(ip: String): Boolean {
|
fun checkIp(ip: String): Boolean {
|
||||||
return checkIpV4(ip) || checkIpV6(ip)
|
return checkIpV4(ip) || checkIpV6(ip)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -215,6 +215,13 @@ object Utils {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun checkIfName(name: String): Boolean {
|
||||||
|
if ((name.length < 2) || !name.first().isLetter()) return false
|
||||||
|
for (c in name)
|
||||||
|
if (!c.isLetterOrDigit()) return false
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
fun implode(list: List<String>, sep: String): String {
|
fun implode(list: List<String>, sep: String): String {
|
||||||
var res = ""
|
var res = ""
|
||||||
for (s in list) {
|
for (s in list) {
|
||||||
|
|||||||
@@ -64,6 +64,26 @@
|
|||||||
android:importantForAutofill="no" >
|
android:importantForAutofill="no" >
|
||||||
</EditText>
|
</EditText>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/BindAddressTitle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:onClick="onClick"
|
||||||
|
android:text="@string/bind_address"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="18sp" >
|
||||||
|
</TextView>
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/BindAddress"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="12dp"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:inputType="textUri"
|
||||||
|
android:importantForAutofill="no" >
|
||||||
|
</EditText>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|||||||
@@ -169,6 +169,12 @@
|
|||||||
osoitteilla.
|
osoitteilla.
|
||||||
</string>
|
</string>
|
||||||
<string name="invalid_listen_address">Virheellinen kuunteluosoite</string>
|
<string name="invalid_listen_address">Virheellinen kuunteluosoite</string>
|
||||||
|
<string name="bind_address">Verkko-osoite</string>
|
||||||
|
<string name="bind_address_help">Verkkoliitännän nimi tai IP-osoite,
|
||||||
|
jota baresip käyttää lähdeliitäntänä tai -osoitteena. Normaalisti
|
||||||
|
tätä ei tarvitse asettaa.
|
||||||
|
</string>
|
||||||
|
<string name="invalid_bind_address">Virheellinen verkko-osoite</string>
|
||||||
<string name="prefer_ipv6">Suosi IPv6-protokollaa</string>
|
<string name="prefer_ipv6">Suosi IPv6-protokollaa</string>
|
||||||
<string name="prefer_ipv6_help">Jos merkitty, baresip suosii
|
<string name="prefer_ipv6_help">Jos merkitty, baresip suosii
|
||||||
IPv6-protokollaa, mikäli sekä IPv4 että IPv6 ovat käytettävissä.</string>
|
IPv6-protokollaa, mikäli sekä IPv4 että IPv6 ovat käytettävissä.</string>
|
||||||
|
|||||||
@@ -158,6 +158,11 @@
|
|||||||
</string>
|
</string>
|
||||||
<string name="invalid_listen_address">Invalid Listen Address</string>
|
<string name="invalid_listen_address">Invalid Listen Address</string>
|
||||||
<string name="_0_0_0_0_5060" translatable="false">0.0.0.0:5060</string>
|
<string name="_0_0_0_0_5060" translatable="false">0.0.0.0:5060</string>
|
||||||
|
<string name="bind_address">Bind Address</string>
|
||||||
|
<string name="bind_address_help">IP address or name of interface that baresip uses as source
|
||||||
|
IP address. Usually there is no need to set this.
|
||||||
|
</string>
|
||||||
|
<string name="invalid_bind_address">Invalid Bind Address</string>
|
||||||
<string name="prefer_ipv6">Prefer IPv6</string>
|
<string name="prefer_ipv6">Prefer IPv6</string>
|
||||||
<string name="prefer_ipv6_help">Prefer IPv6 if both IPv4 and IPv6 are available.</string>
|
<string name="prefer_ipv6_help">Prefer IPv6 if both IPv4 and IPv6 are available.</string>
|
||||||
<string name="dns_servers">DNS Servers</string>
|
<string name="dns_servers">DNS Servers</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user