summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-12-06 13:06:53 -0200
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-12-11 11:24:41 -0200
commit795511e91636aea0977d89326e45f82302f4e725 (patch)
tree3f70d5562d5ff588f2935870a1446ba349bea0af
parent2ecd6c6557fa20f279fa2421bf6e8b00653fd187 (diff)
downloadmullvadvpn-795511e91636aea0977d89326e45f82302f4e725.tar.xz
mullvadvpn-795511e91636aea0977d89326e45f82302f4e725.zip
Add toggle for block when disconnected setting
-rw-r--r--gui/packages/desktop/src/renderer/components/AdvancedSettings.js15
-rw-r--r--gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js9
2 files changed, 24 insertions, 0 deletions
diff --git a/gui/packages/desktop/src/renderer/components/AdvancedSettings.js b/gui/packages/desktop/src/renderer/components/AdvancedSettings.js
index ddfcf5f2ce..a885849cac 100644
--- a/gui/packages/desktop/src/renderer/components/AdvancedSettings.js
+++ b/gui/packages/desktop/src/renderer/components/AdvancedSettings.js
@@ -21,10 +21,12 @@ const MAX_MSSFIX_VALUE = 1450;
type Props = {
enableIpv6: boolean,
+ blockWhenDisconnected: boolean,
protocol: string,
mssfix: ?number,
port: string | number,
setEnableIpv6: (boolean) => void,
+ setBlockWhenDisconnected: (boolean) => void,
setOpenVpnMssfix: (?number) => void,
onUpdate: (protocol: string, port: string | number) => void,
onClose: () => void,
@@ -98,6 +100,19 @@ export class AdvancedSettings extends Component<Props, State> {
</Cell.Container>
<Cell.Footer>Enable IPv6 communication through the tunnel.</Cell.Footer>
+ <Cell.Container>
+ <Cell.Label>Block when disconnected</Cell.Label>
+ <Switch
+ isOn={this.props.blockWhenDisconnected}
+ onChange={this.props.setBlockWhenDisconnected}
+ />
+ </Cell.Container>
+ <Cell.Footer>
+ {
+ "Unless connected, always block all network traffic, even when you've disconnected or quit the app."
+ }
+ </Cell.Footer>
+
<View style={styles.advanced_settings__content}>
<Selector
title={'Network protocols'}
diff --git a/gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js b/gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js
index f19fcd2f09..5a3cad6ed5 100644
--- a/gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js
+++ b/gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js
@@ -16,6 +16,7 @@ const mapStateToProps = (state: ReduxState) => {
return {
enableIpv6: state.settings.enableIpv6,
+ blockWhenDisconnected: state.settings.blockWhenDisconnected,
mssfix: state.settings.openVpn.mssfix,
...protocolAndPort,
};
@@ -73,6 +74,14 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) =>
}
},
+ setBlockWhenDisconnected: async (blockWhenDisconnected) => {
+ try {
+ await props.app.setBlockWhenDisconnected(blockWhenDisconnected);
+ } catch (e) {
+ log.error('Failed to update block when disconnected', e.message);
+ }
+ },
+
setOpenVpnMssfix: async (mssfix) => {
try {
await props.app.setOpenVpnMssfix(mssfix);