summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md3
-rwxr-xr-xbuild.sh16
-rw-r--r--dist-assets/windows/version.h4
-rw-r--r--mullvad-cli/Cargo.toml3
-rw-r--r--mullvad-cli/build.rs9
-rw-r--r--mullvad-cli/version.rc27
-rw-r--r--mullvad-daemon/Cargo.toml3
-rw-r--r--mullvad-daemon/build.rs7
-rw-r--r--mullvad-daemon/version.rc27
-rw-r--r--mullvad-problem-report/Cargo.toml3
-rw-r--r--mullvad-problem-report/build.rs7
-rw-r--r--mullvad-problem-report/version.rc27
-rw-r--r--talpid-openvpn-plugin/Cargo.toml3
-rw-r--r--talpid-openvpn-plugin/build.rs9
-rw-r--r--talpid-openvpn-plugin/version.rc25
-rw-r--r--windows/windns/src/windns/windns.rc25
-rw-r--r--windows/windns/src/windns/windns.vcxproj3
-rw-r--r--windows/windns/src/windns/windns.vcxproj.filters3
-rw-r--r--windows/winfw/src/winfw/winfw.rc25
-rw-r--r--windows/winfw/src/winfw/winfw.vcxproj3
-rw-r--r--windows/winfw/src/winfw/winfw.vcxproj.filters3
-rw-r--r--windows/winroute/src/winroute/winroute.rc25
-rw-r--r--windows/winroute/src/winroute/winroute.vcxproj3
-rw-r--r--windows/winroute/src/winroute/winroute.vcxproj.filters3
24 files changed, 266 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1741c30caf..d1f8b2da04 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -30,6 +30,9 @@ Line wrap the file at 100 chars. Th
- Add "auto-connect" setting in daemon, and make it configurable from CLI. Determines if the daemon
should secure the network and start establishing a tunnel directly when it starts on boot.
+#### Windows
+- Include version information (meta data) in executables and DLLs.
+
### Changed
- App now uses statically linked OpenSSL on all platforms.
- Add OpenVPN logs at the top of the problem report instead of middle, to aid support work.
diff --git a/build.sh b/build.sh
index 9dea5fbedf..8bd7971a18 100755
--- a/build.sh
+++ b/build.sh
@@ -72,6 +72,7 @@ function restore_metadata_backups() {
mv mullvad-daemon/Cargo.toml.bak mullvad-daemon/Cargo.toml || true
mv mullvad-cli/Cargo.toml.bak mullvad-cli/Cargo.toml || true
mv mullvad-problem-report/Cargo.toml.bak mullvad-problem-report/Cargo.toml || true
+ mv dist-assets/windows/version.h.bak dist-assets/windows/version.h || true
}
trap 'restore_metadata_backups' EXIT
@@ -85,6 +86,21 @@ sed -i.bak \
mullvad-daemon/Cargo.toml \
mullvad-cli/Cargo.toml \
mullvad-problem-report/Cargo.toml
+
+SEMVER_ARRAY=($(echo $SEMVER_VERSION | sed -r 's/[.-]+/ /g'))
+
+SEMVER_MAJOR=${SEMVER_ARRAY[0]}
+SEMVER_MINOR=${SEMVER_ARRAY[1]}
+SEMVER_PATCH=${SEMVER_ARRAY[2]}
+
+cp dist-assets/windows/version.h dist-assets/windows/version.h.bak
+
+cat <<EOF > dist-assets/windows/version.h
+#define MAJOR_VERSION $SEMVER_MAJOR
+#define MINOR_VERSION $SEMVER_MINOR
+#define PATCH_VERSION $SEMVER_PATCH
+#define PRODUCT_VERSION "$PRODUCT_VERSION"
+EOF
################################################################################
# Compile and link all binaries.
diff --git a/dist-assets/windows/version.h b/dist-assets/windows/version.h
new file mode 100644
index 0000000000..aee870e38a
--- /dev/null
+++ b/dist-assets/windows/version.h
@@ -0,0 +1,4 @@
+#define MAJOR_VERSION 1
+#define MINOR_VERSION 2
+#define PATCH_VERSION 3
+#define PRODUCT_VERSION "1.2.3-internal"
diff --git a/mullvad-cli/Cargo.toml b/mullvad-cli/Cargo.toml
index dbbe098aa5..f0ab1dd23c 100644
--- a/mullvad-cli/Cargo.toml
+++ b/mullvad-cli/Cargo.toml
@@ -19,3 +19,6 @@ mullvad-ipc-client = { path = "../mullvad-ipc-client" }
mullvad-types = { path = "../mullvad-types" }
talpid-types = { path = "../talpid-types" }
talpid-ipc = { path = "../talpid-ipc" }
+
+[target.'cfg(windows)'.build-dependencies]
+windres = "0.1"
diff --git a/mullvad-cli/build.rs b/mullvad-cli/build.rs
new file mode 100644
index 0000000000..b64f22f208
--- /dev/null
+++ b/mullvad-cli/build.rs
@@ -0,0 +1,9 @@
+#[cfg(windows)]
+extern crate windres;
+
+fn main() {
+ #[cfg(windows)]
+ {
+ windres::Build::new().compile("version.rc").unwrap();
+ }
+}
diff --git a/mullvad-cli/version.rc b/mullvad-cli/version.rc
new file mode 100644
index 0000000000..8f9db10b4d
--- /dev/null
+++ b/mullvad-cli/version.rc
@@ -0,0 +1,27 @@
+#include "../dist-assets/windows/version.h"
+
+IDI_MAIN ICON "../dist-assets/icon.ico"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Amagicom AB"
+ VALUE "FileDescription", "CLI for Mullvad VPN"
+ VALUE "FileVersion", PRODUCT_VERSION
+ VALUE "InternalName", "mullvad-cli"
+ VALUE "LegalCopyright", "(c) 2018 Amagicom AB"
+ VALUE "OriginalFilename", "mullvad.exe"
+ VALUE "ProductName", "Mullvad VPN"
+ VALUE "ProductVersion", PRODUCT_VERSION
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+ VALUE "Translation", 0x409, 1252
+END
+END
diff --git a/mullvad-daemon/Cargo.toml b/mullvad-daemon/Cargo.toml
index c40209c897..c24304c35e 100644
--- a/mullvad-daemon/Cargo.toml
+++ b/mullvad-daemon/Cargo.toml
@@ -41,3 +41,6 @@ simple-signal = "1.1"
ctrlc = "3.0"
windows-service = { git = "https://github.com/mullvad/windows-service-rs.git", rev = "55c5dfb372e6b3f5607a3159c5388d27b6b84ff6" }
winapi = "0.3"
+
+[target.'cfg(windows)'.build-dependencies]
+windres = "0.1"
diff --git a/mullvad-daemon/build.rs b/mullvad-daemon/build.rs
index f1f507670e..246b38d13d 100644
--- a/mullvad-daemon/build.rs
+++ b/mullvad-daemon/build.rs
@@ -3,6 +3,8 @@ use std::fs;
use std::path::PathBuf;
use std::process::Command;
+#[cfg(windows)]
+extern crate windres;
fn main() {
let out_dir = PathBuf::from(env::var_os("OUT_DIR").unwrap());
@@ -10,6 +12,11 @@ fn main() {
let product_version = env!("CARGO_PKG_VERSION").replacen(".0", "", 1);
fs::write(out_dir.join("product-version.txt"), product_version).unwrap();
fs::write(out_dir.join("git-commit-date.txt"), commit_date()).unwrap();
+
+ #[cfg(windows)]
+ {
+ windres::Build::new().compile("version.rc").unwrap();
+ }
}
fn commit_date() -> String {
diff --git a/mullvad-daemon/version.rc b/mullvad-daemon/version.rc
new file mode 100644
index 0000000000..70733c046b
--- /dev/null
+++ b/mullvad-daemon/version.rc
@@ -0,0 +1,27 @@
+#include "../dist-assets/windows/version.h"
+
+IDI_MAIN ICON "../dist-assets/icon.ico"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Amagicom AB"
+ VALUE "FileDescription", "Daemon that manages the VPN tunnel and system security"
+ VALUE "FileVersion", PRODUCT_VERSION
+ VALUE "InternalName", "mullvad-daemon"
+ VALUE "LegalCopyright", "(c) 2018 Amagicom AB"
+ VALUE "OriginalFilename", "mullvad-daemon.exe"
+ VALUE "ProductName", "Mullvad VPN"
+ VALUE "ProductVersion", PRODUCT_VERSION
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+ VALUE "Translation", 0x409, 1252
+END
+END
diff --git a/mullvad-problem-report/Cargo.toml b/mullvad-problem-report/Cargo.toml
index 66358a4a36..b0300bb516 100644
--- a/mullvad-problem-report/Cargo.toml
+++ b/mullvad-problem-report/Cargo.toml
@@ -18,3 +18,6 @@ uuid = { version = "0.6", features = ["v4"] }
mullvad-paths = { path = "../mullvad-paths" }
mullvad-rpc = { path = "../mullvad-rpc" }
+
+[target.'cfg(windows)'.build-dependencies]
+windres = "0.1"
diff --git a/mullvad-problem-report/build.rs b/mullvad-problem-report/build.rs
index f1f507670e..b07e8bbb1c 100644
--- a/mullvad-problem-report/build.rs
+++ b/mullvad-problem-report/build.rs
@@ -3,6 +3,8 @@ use std::fs;
use std::path::PathBuf;
use std::process::Command;
+#[cfg(windows)]
+extern crate windres;
fn main() {
let out_dir = PathBuf::from(env::var_os("OUT_DIR").unwrap());
@@ -10,6 +12,11 @@ fn main() {
let product_version = env!("CARGO_PKG_VERSION").replacen(".0", "", 1);
fs::write(out_dir.join("product-version.txt"), product_version).unwrap();
fs::write(out_dir.join("git-commit-date.txt"), commit_date()).unwrap();
+
+ #[cfg(windows)]
+ {
+ windres::Build::new().compile("version.rc").unwrap();
+ }
}
fn commit_date() -> String {
diff --git a/mullvad-problem-report/version.rc b/mullvad-problem-report/version.rc
new file mode 100644
index 0000000000..6c8930cec3
--- /dev/null
+++ b/mullvad-problem-report/version.rc
@@ -0,0 +1,27 @@
+#include "../dist-assets/windows/version.h"
+
+IDI_MAIN ICON "../dist-assets/icon.ico"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Amagicom AB"
+ VALUE "FileDescription", "Generate and submit a problem report for Mullvad VPN"
+ VALUE "FileVersion", PRODUCT_VERSION
+ VALUE "InternalName", "mullvad-problem-report"
+ VALUE "LegalCopyright", "(c) 2018 Amagicom AB"
+ VALUE "OriginalFilename", "problem-report.exe"
+ VALUE "ProductName", "Mullvad VPN"
+ VALUE "ProductVersion", PRODUCT_VERSION
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+ VALUE "Translation", 0x409, 1252
+END
+END
diff --git a/talpid-openvpn-plugin/Cargo.toml b/talpid-openvpn-plugin/Cargo.toml
index 2663141a3c..45751ff796 100644
--- a/talpid-openvpn-plugin/Cargo.toml
+++ b/talpid-openvpn-plugin/Cargo.toml
@@ -15,3 +15,6 @@ env_logger = "0.5"
openvpn-plugin = { version = "0.3", features = ["serde", "log"] }
talpid-ipc = { path = "../talpid-ipc" }
+
+[target.'cfg(windows)'.build-dependencies]
+windres = "0.1"
diff --git a/talpid-openvpn-plugin/build.rs b/talpid-openvpn-plugin/build.rs
new file mode 100644
index 0000000000..b64f22f208
--- /dev/null
+++ b/talpid-openvpn-plugin/build.rs
@@ -0,0 +1,9 @@
+#[cfg(windows)]
+extern crate windres;
+
+fn main() {
+ #[cfg(windows)]
+ {
+ windres::Build::new().compile("version.rc").unwrap();
+ }
+}
diff --git a/talpid-openvpn-plugin/version.rc b/talpid-openvpn-plugin/version.rc
new file mode 100644
index 0000000000..299c720f39
--- /dev/null
+++ b/talpid-openvpn-plugin/version.rc
@@ -0,0 +1,25 @@
+#include "../dist-assets/windows/version.h"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Amagicom AB"
+ VALUE "FileDescription", "Mullvad VPN OpenVPN plugin"
+ VALUE "FileVersion", PRODUCT_VERSION
+ VALUE "InternalName", "talpid-openvpn-plugin"
+ VALUE "LegalCopyright", "(c) 2018 Amagicom AB"
+ VALUE "OriginalFilename", "talpid_openvpn_plugin.dll"
+ VALUE "ProductName", "Mullvad VPN"
+ VALUE "ProductVersion", PRODUCT_VERSION
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+ VALUE "Translation", 0x409, 1252
+END
+END
diff --git a/windows/windns/src/windns/windns.rc b/windows/windns/src/windns/windns.rc
new file mode 100644
index 0000000000..baacc82c17
--- /dev/null
+++ b/windows/windns/src/windns/windns.rc
@@ -0,0 +1,25 @@
+#include "../../../../dist-assets/windows/version.h"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Amagicom AB"
+ VALUE "FileDescription", "Mullvad VPN DNS module"
+ VALUE "FileVersion", PRODUCT_VERSION
+ VALUE "InternalName", "windns"
+ VALUE "LegalCopyright", "(c) 2018 Amagicom AB"
+ VALUE "OriginalFilename", "windns.dll"
+ VALUE "ProductName", "Mullvad VPN"
+ VALUE "ProductVersion", PRODUCT_VERSION
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+ VALUE "Translation", 0x409, 1252
+END
+END
diff --git a/windows/windns/src/windns/windns.vcxproj b/windows/windns/src/windns/windns.vcxproj
index b495e10f0b..a5fb31bb55 100644
--- a/windows/windns/src/windns/windns.vcxproj
+++ b/windows/windns/src/windns/windns.vcxproj
@@ -203,6 +203,9 @@
<ClCompile Include="windns.cpp" />
<ClCompile Include="windnscontext.cpp" />
</ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="windns.rc" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
diff --git a/windows/windns/src/windns/windns.vcxproj.filters b/windows/windns/src/windns/windns.vcxproj.filters
index 07619150e9..3c10de37d9 100644
--- a/windows/windns/src/windns/windns.vcxproj.filters
+++ b/windows/windns/src/windns/windns.vcxproj.filters
@@ -24,4 +24,7 @@
<ClCompile Include="netsh.cpp" />
<ClCompile Include="interfaceconfig.cpp" />
</ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="windns.rc" />
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/windows/winfw/src/winfw/winfw.rc b/windows/winfw/src/winfw/winfw.rc
new file mode 100644
index 0000000000..a97437064d
--- /dev/null
+++ b/windows/winfw/src/winfw/winfw.rc
@@ -0,0 +1,25 @@
+#include "../../../../dist-assets/windows/version.h"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Amagicom AB"
+ VALUE "FileDescription", "Mullvad VPN firewall module"
+ VALUE "FileVersion", PRODUCT_VERSION
+ VALUE "InternalName", "winfw"
+ VALUE "LegalCopyright", "(c) 2018 Amagicom AB"
+ VALUE "OriginalFilename", "winfw.dll"
+ VALUE "ProductName", "Mullvad VPN"
+ VALUE "ProductVersion", PRODUCT_VERSION
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+ VALUE "Translation", 0x409, 1252
+END
+END
diff --git a/windows/winfw/src/winfw/winfw.vcxproj b/windows/winfw/src/winfw/winfw.vcxproj
index 3753f1d220..7f6a919cd2 100644
--- a/windows/winfw/src/winfw/winfw.vcxproj
+++ b/windows/winfw/src/winfw/winfw.vcxproj
@@ -66,6 +66,9 @@
<ItemGroup>
<None Include="winfw.def" />
</ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="winfw.rc" />
+ </ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{801E7DEB-2BD0-4E60-9E4B-74A5CA12ADCB}</ProjectGuid>
diff --git a/windows/winfw/src/winfw/winfw.vcxproj.filters b/windows/winfw/src/winfw/winfw.vcxproj.filters
index 40283172a8..a43d966614 100644
--- a/windows/winfw/src/winfw/winfw.vcxproj.filters
+++ b/windows/winfw/src/winfw/winfw.vcxproj.filters
@@ -86,4 +86,7 @@
<ItemGroup>
<None Include="winfw.def" />
</ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="winfw.rc" />
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/windows/winroute/src/winroute/winroute.rc b/windows/winroute/src/winroute/winroute.rc
new file mode 100644
index 0000000000..2da7924287
--- /dev/null
+++ b/windows/winroute/src/winroute/winroute.rc
@@ -0,0 +1,25 @@
+#include "../../../../dist-assets/windows/version.h"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Amagicom AB"
+ VALUE "FileDescription", "Mullvad VPN routing module"
+ VALUE "FileVersion", PRODUCT_VERSION
+ VALUE "InternalName", "winroute"
+ VALUE "LegalCopyright", "(c) 2018 Amagicom AB"
+ VALUE "OriginalFilename", "winroute.dll"
+ VALUE "ProductName", "Mullvad VPN"
+ VALUE "ProductVersion", PRODUCT_VERSION
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+ VALUE "Translation", 0x409, 1252
+END
+END
diff --git a/windows/winroute/src/winroute/winroute.vcxproj b/windows/winroute/src/winroute/winroute.vcxproj
index 4cd827e52d..1ed84cd53c 100644
--- a/windows/winroute/src/winroute/winroute.vcxproj
+++ b/windows/winroute/src/winroute/winroute.vcxproj
@@ -33,6 +33,9 @@
<ItemGroup>
<None Include="winroute.def" />
</ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="winroute.rc" />
+ </ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{89C5CDE8-04DB-4D9C-A8D8-7F786DAFB6D4}</ProjectGuid>
diff --git a/windows/winroute/src/winroute/winroute.vcxproj.filters b/windows/winroute/src/winroute/winroute.vcxproj.filters
index 0ca11ffdb2..62487f561b 100644
--- a/windows/winroute/src/winroute/winroute.vcxproj.filters
+++ b/windows/winroute/src/winroute/winroute.vcxproj.filters
@@ -15,4 +15,7 @@
<ItemGroup>
<None Include="winroute.def" />
</ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="winroute.rc" />
+ </ItemGroup>
</Project> \ No newline at end of file