summaryrefslogtreecommitdiffhomepage
path: root/app
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2017-10-19 12:36:00 +0200
committerAndrej Mihajlov <and@mullvad.net>2017-10-19 14:19:04 +0200
commit5c9c856002f24dce160a1b4bc1329e920f682b06 (patch)
treea794f56d79a645ae639fd27afcb7961f454e98d7 /app
parent934f9287c6639ca6ffa761d7322666c85cec07f7 (diff)
downloadmullvadvpn-5c9c856002f24dce160a1b4bc1329e920f682b06.tar.xz
mullvadvpn-5c9c856002f24dce160a1b4bc1329e920f682b06.zip
Escape paths passed to ElectronSudo.spawn
Diffstat (limited to 'app')
-rw-r--r--app/main.js13
1 files changed, 7 insertions, 6 deletions
diff --git a/app/main.js b/app/main.js
index 22deb543cd..f39e5dc429 100644
--- a/app/main.js
+++ b/app/main.js
@@ -6,6 +6,7 @@ import log from 'electron-log';
import { app, BrowserWindow, ipcMain, Tray, Menu, nativeImage } from 'electron';
import TrayIconManager from './lib/tray-icon-manager';
import ElectronSudo from 'electron-sudo';
+import shellescape from 'shell-escape';
import { version } from '../package.json';
import { parseIpcCredentials } from './lib/backend';
@@ -120,7 +121,6 @@ const appDelegate = {
},
_startBackend: () => {
-
const backendIsRunning = appDelegate._rpcAddressFileExists();
if (backendIsRunning) {
log.info('Not starting the backend as it appears to already be running');
@@ -134,11 +134,12 @@ const appDelegate = {
name: 'Mullvad',
};
const sudo = new ElectronSudo(options);
- sudo.spawn( pathToBackend, [
- '-v' +
- ' --log "' + path.join(appDelegate._logFileLocation, 'backend.log"') +
- ' --tunnel-log "' + path.join(appDelegate._logFileLocation, 'openvpn.log"')
- ])
+ const backendCommand = shellescape([
+ pathToBackend, '-v',
+ '--log', path.join(appDelegate._logFileLocation, 'backend.log'),
+ '--tunnel-log', path.join(appDelegate._logFileLocation, 'openvpn.log')
+ ]);
+ sudo.spawn(backendCommand, [])
.then( p => {
appDelegate._setupBackendProcessListeners(p);
return p;