summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustOff <Off.Just.Off@gmail.com>2017-09-25 16:52:44 +0300
committerJustOff <Off.Just.Off@gmail.com>2017-09-25 16:52:44 +0300
commit5ffb6dc84dd3ee9ff708323cb8d9d69007ad633b (patch)
tree62069cc2d3dc42597b664eec3be67795a2a0413d
parent720953aac68d1b680851565571d3d0fbade68017 (diff)
downloadpalemoon-gre-5ffb6dc84dd3ee9ff708323cb8d9d69007ad633b.tar.gz
Expose extra network connection preferences in the UI
-rw-r--r--browser/components/preferences/connection.js23
-rw-r--r--browser/components/preferences/connection.xul30
-rw-r--r--browser/locales/en-US/chrome/browser/preferences/connection.dtd5
3 files changed, 40 insertions, 18 deletions
diff --git a/browser/components/preferences/connection.js b/browser/components/preferences/connection.js
index 0356d3ce5..c1dd1bb6d 100644
--- a/browser/components/preferences/connection.js
+++ b/browser/components/preferences/connection.js
@@ -42,11 +42,11 @@ var gConnectionsDialog = {
if ("@mozilla.org/system-proxy-settings;1" in Components.classes)
document.getElementById("systemPref").removeAttribute("hidden");
},
-
+
proxyTypeChanged: function ()
{
var proxyTypePref = document.getElementById("network.proxy.type");
-
+
// Update http
var httpProxyURLPref = document.getElementById("network.proxy.http");
httpProxyURLPref.disabled = proxyTypePref.value != 1;
@@ -58,16 +58,29 @@ var gConnectionsDialog = {
var shareProxiesPref = document.getElementById("network.proxy.share_proxy_settings");
shareProxiesPref.disabled = proxyTypePref.value != 1;
-
+
+ var autologinProxyPref = document.getElementById("signon.autologin.proxy");
+ autologinProxyPref.disabled = proxyTypePref.value == 0;
+
var noProxiesPref = document.getElementById("network.proxy.no_proxies_on");
noProxiesPref.disabled = proxyTypePref.value != 1;
-
+
var autoconfigURLPref = document.getElementById("network.proxy.autoconfig_url");
autoconfigURLPref.disabled = proxyTypePref.value != 2;
this.updateReloadButton();
},
+ updateDNSPref: function ()
+ {
+ var socksVersionPref = document.getElementById("network.proxy.socks_version");
+ var socksDNSPref = document.getElementById("network.proxy.socks_remote_dns");
+ var proxyTypePref = document.getElementById("network.proxy.type");
+ var isDefinitelySocks4 = !socksVersionPref.disabled && socksVersionPref.value == 4;
+ socksDNSPref.disabled = (isDefinitelySocks4 || proxyTypePref.value == 0);
+ return undefined;
+ },
+
updateReloadButton: function ()
{
// Disable the "Reload PAC" button if the selected proxy type is not PAC or
@@ -126,7 +139,7 @@ var gConnectionsDialog = {
}
var socksVersionPref = document.getElementById("network.proxy.socks_version");
socksVersionPref.disabled = proxyTypePref.value != 1 || shareProxiesPref.value;
-
+ this.updateDNSPref();
return undefined;
},
diff --git a/browser/components/preferences/connection.xul b/browser/components/preferences/connection.xul
index 24531261e..491bf4878 100644
--- a/browser/components/preferences/connection.xul
+++ b/browser/components/preferences/connection.xul
@@ -28,7 +28,8 @@
helpTopic="prefs-connection-settings">
<preferences>
- <preference id="network.proxy.type" name="network.proxy.type" type="int" onchange="gConnectionsDialog.proxyTypeChanged();"/>
+ <preference id="network.proxy.type" name="network.proxy.type" type="int"
+ onchange="gConnectionsDialog.proxyTypeChanged();"/>
<preference id="network.proxy.http" name="network.proxy.http" type="string"/>
<preference id="network.proxy.http_port" name="network.proxy.http_port" type="int"/>
<preference id="network.proxy.ftp" name="network.proxy.ftp" type="string"/>
@@ -37,17 +38,15 @@
<preference id="network.proxy.ssl_port" name="network.proxy.ssl_port" type="int"/>
<preference id="network.proxy.socks" name="network.proxy.socks" type="string"/>
<preference id="network.proxy.socks_port" name="network.proxy.socks_port" type="int"/>
- <preference id="network.proxy.socks_version" name="network.proxy.socks_version" type="int"/>
+ <preference id="network.proxy.socks_version" name="network.proxy.socks_version" type="int"
+ onchange="gConnectionsDialog.updateDNSPref();"/>
+ <preference id="network.proxy.socks_remote_dns" name="network.proxy.socks_remote_dns" type="bool"/>
<preference id="network.proxy.no_proxies_on" name="network.proxy.no_proxies_on" type="string"/>
<preference id="network.proxy.autoconfig_url" name="network.proxy.autoconfig_url" type="string"/>
- <preference id="network.proxy.share_proxy_settings"
- name="network.proxy.share_proxy_settings"
- type="bool"/>
-
+ <preference id="network.proxy.share_proxy_settings" name="network.proxy.share_proxy_settings" type="bool"/>
+ <preference id="signon.autologin.proxy" name="signon.autologin.proxy" type="bool"/>
<preference id="pref.advanced.proxies.disable_button.reload"
- name="pref.advanced.proxies.disable_button.reload"
- type="bool"/>
-
+ name="pref.advanced.proxies.disable_button.reload" type="bool"/>
<preference id="network.proxy.backup.ftp" name="network.proxy.backup.ftp" type="string"/>
<preference id="network.proxy.backup.ftp_port" name="network.proxy.backup.ftp_port" type="int"/>
<preference id="network.proxy.backup.ssl" name="network.proxy.backup.ssl" type="string"/>
@@ -55,7 +54,7 @@
<preference id="network.proxy.backup.socks" name="network.proxy.backup.socks" type="string"/>
<preference id="network.proxy.backup.socks_port" name="network.proxy.backup.socks_port" type="int"/>
</preferences>
-
+
<script type="application/javascript" src="chrome://browser/content/preferences/connection.js"/>
<stringbundle id="preferencesBundle" src="chrome://browser/locale/preferences/preferences.properties"/>
@@ -135,8 +134,8 @@
<spacer/>
<radiogroup id="networkProxySOCKSVersion" orient="horizontal"
preference="network.proxy.socks_version">
- <radio id="networkProxySOCKSVersion4" value="4" label="&socks4.label;" accesskey="&socks4.accesskey;" />
- <radio id="networkProxySOCKSVersion5" value="5" label="&socks5.label;" accesskey="&socks5.accesskey;" />
+ <radio id="networkProxySOCKSVersion4" value="4" label="&socks4.label;" accesskey="&socks4.accesskey;"/>
+ <radio id="networkProxySOCKSVersion5" value="5" label="&socks5.label;" accesskey="&socks5.accesskey;"/>
</radiogroup>
</row>
<label value="&noproxy.label;" accesskey="&noproxy.accesskey;" control="networkProxyNone"/>
@@ -154,7 +153,12 @@
preference="pref.advanced.proxies.disable_button.reload"/>
</hbox>
</radiogroup>
+ <separator class="thin"/>
+ <checkbox id="autologinProxy" preference="signon.autologin.proxy"
+ label="&autologinproxy.label;" accesskey="&autologinproxy.accesskey;"
+ tooltiptext="&autologinproxy.tooltip;"/>
+ <checkbox id="networkProxySOCKSRemoteDNS" preference="network.proxy.socks_remote_dns"
+ label="&socksRemoteDNS.label;" accesskey="&socksRemoteDNS.accesskey;"/>
</groupbox>
</prefpane>
</prefwindow>
-
diff --git a/browser/locales/en-US/chrome/browser/preferences/connection.dtd b/browser/locales/en-US/chrome/browser/preferences/connection.dtd
index 3ed2b605a..a63d0803f 100644
--- a/browser/locales/en-US/chrome/browser/preferences/connection.dtd
+++ b/browser/locales/en-US/chrome/browser/preferences/connection.dtd
@@ -32,6 +32,8 @@
<!ENTITY socks4.accesskey "K">
<!ENTITY socks5.label "SOCKS v5">
<!ENTITY socks5.accesskey "v">
+<!ENTITY socksRemoteDNS.label "Send DNS queries through the proxy when using SOCKS v5">
+<!ENTITY socksRemoteDNS.accesskey "d">
<!ENTITY port.label "Port:">
<!ENTITY HTTPport.accesskey "P">
<!ENTITY SSLport.accesskey "o">
@@ -42,3 +44,6 @@
<!ENTITY noproxyExplain.label "Example: .palemoon.org, .net.nz, 192.168.1.0/24">
<!ENTITY shareproxy.label "Use this proxy server for all protocols">
<!ENTITY shareproxy.accesskey "s">
+<!ENTITY autologinproxy.label "Do not prompt for authentication if password is saved">
+<!ENTITY autologinproxy.accesskey "i">
+<!ENTITY autologinproxy.tooltip "This option silently authenticates you to proxies when you have saved credentials for them. You will be prompted if authentication fails.">