diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2017-10-19 12:36:00 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2017-10-19 14:19:04 +0200 |
| commit | 5c9c856002f24dce160a1b4bc1329e920f682b06 (patch) | |
| tree | a794f56d79a645ae639fd27afcb7961f454e98d7 | |
| parent | 934f9287c6639ca6ffa761d7322666c85cec07f7 (diff) | |
| download | mullvadvpn-5c9c856002f24dce160a1b4bc1329e920f682b06.tar.xz mullvadvpn-5c9c856002f24dce160a1b4bc1329e920f682b06.zip | |
Escape paths passed to ElectronSudo.spawn
| -rw-r--r-- | app/main.js | 13 | ||||
| -rw-r--r-- | package.json | 1 | ||||
| -rw-r--r-- | yarn.lock | 4 |
3 files changed, 12 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; diff --git a/package.json b/package.json index 2604d7e12c..627d074903 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "react-transition-group": "^1.2.0", "redux": "^3.0.0", "redux-thunk": "^2.2.0", + "shell-escape": "^0.2.0", "uuid": "^3.0.1", "validated": "^1.1.0" }, @@ -5116,6 +5116,10 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" +shell-escape@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/shell-escape/-/shell-escape-0.2.0.tgz#68fd025eb0490b4f567a027f0bf22480b5f84133" + shell-quote@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" |
