blob: e03ca867a8c2872576f550e6921c66b510c2af36 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#!/usr/bin/env bash
set -eux
LOG_DIR=/var/log/mullvad-vpn
INSTALL_DIR=$2
mkdir -p $LOG_DIR
chmod 755 $LOG_DIR
exec 2>&1 > $LOG_DIR/preinstall.log
echo "Running preinstall at $(date)"
# Uninstall <=2018.1 versions of the app
OLD_INSTALL_DIR="/Applications/MullvadVPN.app"
if [ -d "$OLD_INSTALL_DIR" ]; then
echo "Found old Mullvad VPN install at $OLD_INSTALL_DIR. Stopping and uninstalling"
pkill MullvadVPN || echo "Unable to kill MullvadVPN, not running?"
pkill mullvad-daemon || echo "Unable to kill mullvad-daemon, not running?"
sleep 0.5
rm -r "$OLD_INSTALL_DIR"
fi
# Migrate settings from <=2018.1 paths
OLD_SETTINGS_DIR="$HOME/Library/Application Support/mullvad-daemon"
NEW_SETTINGS_DIR="/etc/mullvad-vpn"
if [ -d "$OLD_SETTINGS_DIR" ]; then
echo "Found old setting dir $OLD_SETTINGS_DIR. Moving to $NEW_SETTINGS_DIR"
mkdir -p "$NEW_SETTINGS_DIR"
mv "$OLD_SETTINGS_DIR/settings.json" "$NEW_SETTINGS_DIR/settings.json" || \
echo "Unable to migrate settings, not present in old dir?"
rm -rf "$OLD_SETTINGS_DIR"
fi
# Migrate settings from <=2018.2-betaX paths
OLD_SETTINGS_DIR="/etc/mullvad-daemon"
NEW_SETTINGS_DIR="/etc/mullvad-vpn"
if [ -d "$OLD_SETTINGS_DIR" ]; then
echo "Found old setting dir $OLD_SETTINGS_DIR. Moving to $NEW_SETTINGS_DIR"
mkdir -p "$NEW_SETTINGS_DIR"
mv "$OLD_SETTINGS_DIR/settings.json" "$NEW_SETTINGS_DIR/settings.json" || \
echo "Unable to migrate settings, not present in old dir?"
rm -rf "$OLD_SETTINGS_DIR"
fi
# Delete logs from <=2018.1 paths
OLD_LOG_DIR="$HOME/Library/Logs/MullvadVPN"
if [ -d "$OLD_LOG_DIR" ]; then
echo "Found old log dir $OLD_LOG_DIR. Deleting"
rm -rf "$OLD_LOG_DIR"
fi
# Delete logs from <=2018.2-betaX paths
OLD_LOG_DIR="/var/log/mullvad-daemon"
if [ -d "$OLD_LOG_DIR" ]; then
echo "Found old log dir $OLD_LOG_DIR. Deleting"
rm -rf "$OLD_LOG_DIR"
fi
# Migrate cache files from <=2018.1 paths
OLD_CACHE_DIR="$HOME/Library/Caches/mullvad-daemon"
NEW_CACHE_DIR="/var/root/Library/Caches/mullvad-vpn"
if [ -d "$OLD_CACHE_DIR" ]; then
echo "Found old cache dir at $OLD_CACHE_DIR, moving to $NEW_CACHE_DIR"
mkdir -p "$NEW_CACHE_DIR"
mv "$OLD_CACHE_DIR"/* "$NEW_CACHE_DIR/" || echo "Unable to migrate cache. No cache files?"
rm -rf "$OLD_CACHE_DIR"
fi
# Migrate cache files from <=2018.2-betaX paths
OLD_CACHE_DIR="/var/root/Library/Caches/mullvad-daemon"
NEW_CACHE_DIR="/var/root/Library/Caches/mullvad-vpn"
if [ -d "$OLD_CACHE_DIR" ]; then
echo "Found old cache dir at $OLD_CACHE_DIR, moving to $NEW_CACHE_DIR"
mkdir -p "$NEW_CACHE_DIR"
mv "$OLD_CACHE_DIR"/* "$NEW_CACHE_DIR/" || echo "Unable to migrate cache. No cache files?"
rm -rf "$OLD_CACHE_DIR"
fi
# Remove the existing relay list.
# There is a risk that it's incompatible with the format this version wants
rm "$NEW_CACHE_DIR/relays.json" || true
# Notify the running daemon that we are going to kill it and replace it with a newer version.
# This will make the daemon save it's state to a file and then lock the firewall to prevent
# leaks during the upgrade.
"$INSTALL_DIR/Mullvad VPN.app/Contents/Resources/mullvad-setup" prepare-restart || \
echo "Failed to send 'prepare-restart' command to old mullvad-daemon"
|