summaryrefslogtreecommitdiff
path: root/veracrypt/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'veracrypt/debian/patches')
-rw-r--r--veracrypt/debian/patches/001-indicator-support.patch194
-rw-r--r--veracrypt/debian/patches/1001-port-to-libfuse3.patch109
-rw-r--r--veracrypt/debian/patches/series2
3 files changed, 110 insertions, 195 deletions
diff --git a/veracrypt/debian/patches/001-indicator-support.patch b/veracrypt/debian/patches/001-indicator-support.patch
deleted file mode 100644
index 54414c7..0000000
--- a/veracrypt/debian/patches/001-indicator-support.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From: Stefan Sundin <stefan@stefansundin.com>, Unit 193 <unit193@ubuntu.com>
-Date: Fri, 06 July 2017
-Subject: Add support for Ubuntu and Ayatana application indicators.
-
-This patch adds compile-time support for application indicators.
-
-Forwarded: no
-
-Signed-off-by: Unit 193 <unit193@ubuntu.com>
-
-Index: veracrypt/src/Main/Forms/MainFrame.cpp
-===================================================================
---- veracrypt.orig/src/Main/Forms/MainFrame.cpp
-+++ veracrypt/src/Main/Forms/MainFrame.cpp
-@@ -46,6 +46,9 @@ namespace VeraCrypt
- DEFINE_EVENT_TYPE(wxEVT_COMMAND_SHOW_WARNING)
-
- MainFrame::MainFrame (wxWindow* parent) : MainFrameBase (parent),
-+#ifdef HAVE_INDICATORS
-+ indicator (NULL),
-+#endif
- ListItemRightClickEventPending (false),
- SelectedItemIndex (-1),
- SelectedSlotNumber (0),
-@@ -1557,6 +1560,32 @@ namespace VeraCrypt
- }
- }
-
-+#ifdef HAVE_INDICATORS
-+ void MainFrame::SetBusy (bool busy)
-+ {
-+ gtk_widget_set_sensitive(indicator_item_mountfavorites, !busy);
-+ gtk_widget_set_sensitive(indicator_item_dismountall, !busy);
-+ gtk_widget_set_sensitive(indicator_item_prefs, !busy);
-+ gtk_widget_set_sensitive(indicator_item_exit, !busy /*&& CanExit()*/);
-+ }
-+
-+ static void IndicatorOnShowHideMenuItemSelected (GtkWidget *widget, MainFrame *self) { Gui->SetBackgroundMode (!Gui->IsInBackgroundMode()); }
-+ static void IndicatorOnMountAllFavoritesMenuItemSelected (GtkWidget *widget, MainFrame *self) { self->SetBusy(true); self->MountAllFavorites (); self->SetBusy(false); }
-+ static void IndicatorOnDismountAllMenuItemSelected (GtkWidget *widget, MainFrame *self) { self->SetBusy(true); Gui->DismountAllVolumes(); self->SetBusy(false); }
-+ static void IndicatorOnPreferencesMenuItemSelected (GtkWidget *widget, MainFrame *self) {
-+ self->SetBusy(true);
-+ PreferencesDialog dialog (self);
-+ dialog.ShowModal();
-+ self->SetBusy(false);
-+ }
-+ static void IndicatorOnExitMenuItemSelected (GtkWidget *widget, MainFrame *self) {
-+ self->SetBusy(true);
-+ if (Core->GetMountedVolumes().empty() || Gui->AskYesNo (LangString ["CONFIRM_EXIT"], false, true))
-+ self->Close (true);
-+ self->SetBusy(false);
-+ }
-+
-+#endif
- void MainFrame::ShowTaskBarIcon (bool show)
- {
- if (!show && mTaskBarIcon->IsIconInstalled())
-@@ -1566,8 +1595,47 @@ namespace VeraCrypt
- else if (show && !mTaskBarIcon->IsIconInstalled())
- {
- #ifndef TC_MACOSX
-+#ifndef HAVE_INDICATORS
- mTaskBarIcon->SetIcon (Resources::GetVeraCryptIcon(), L"VeraCrypt");
- #endif
-+#endif
-+#ifdef HAVE_INDICATORS
-+ if (indicator == NULL) {
-+ indicator = app_indicator_new ("veracrypt", "veracrypt", APP_INDICATOR_CATEGORY_APPLICATION_STATUS);
-+ app_indicator_set_status (indicator, APP_INDICATOR_STATUS_ACTIVE);
-+
-+ GtkWidget *menu = gtk_menu_new();
-+
-+ indicator_item_showhide = gtk_menu_item_new_with_label (LangString[Gui->IsInBackgroundMode() ? "SHOW_TC" : "HIDE_TC"].mb_str());
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_showhide);
-+ g_signal_connect (indicator_item_showhide, "activate", G_CALLBACK (IndicatorOnShowHideMenuItemSelected), this);
-+
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new());
-+
-+ indicator_item_mountfavorites = gtk_menu_item_new_with_label ("Mount All Favorite Volumes");
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_mountfavorites);
-+ g_signal_connect (indicator_item_mountfavorites, "activate", G_CALLBACK (IndicatorOnMountAllFavoritesMenuItemSelected), this);
-+
-+ indicator_item_dismountall = gtk_menu_item_new_with_label ("Dismount All Mounted Volumes");
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_dismountall);
-+ g_signal_connect (indicator_item_dismountall, "activate", G_CALLBACK (IndicatorOnDismountAllMenuItemSelected), this);
-+
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new());
-+
-+ indicator_item_prefs = gtk_menu_item_new_with_label ("Preferences...");
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_prefs);
-+ g_signal_connect (indicator_item_prefs, "activate", G_CALLBACK (IndicatorOnPreferencesMenuItemSelected), this);
-+
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new());
-+
-+ indicator_item_exit = gtk_menu_item_new_with_label ("Exit");
-+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_exit);
-+ g_signal_connect (indicator_item_exit, "activate", G_CALLBACK (IndicatorOnExitMenuItemSelected), this);
-+
-+ gtk_widget_show_all (menu);
-+ app_indicator_set_menu (indicator, GTK_MENU (menu));
-+ }
-+#endif
- }
- }
-
-Index: veracrypt/src/Main/Forms/MainFrame.h
-===================================================================
---- veracrypt.orig/src/Main/Forms/MainFrame.h
-+++ veracrypt/src/Main/Forms/MainFrame.h
-@@ -13,6 +13,16 @@
- #ifndef TC_HEADER_Main_Forms_MainFrame
- #define TC_HEADER_Main_Forms_MainFrame
-
-+#ifdef HAVE_INDICATORS
-+#define GSocket GlibGSocket
-+#ifdef UBUNTU_INDICATOR
-+#include <libappindicator/app-indicator.h>
-+#elif AYATANA_INDICATOR
-+#include <libayatana-appindicator/app-indicator.h>
-+#endif
-+#undef GSocket
-+#endif
-+
- #include "Forms.h"
- #include "ChangePasswordDialog.h"
- #ifdef TC_MACOSX
-@@ -38,6 +48,18 @@ namespace VeraCrypt
- static FilePath GetShowRequestFifoPath () { return Application::GetConfigFilePath (L".show-request-queue", true); }
- #endif
-
-+ void MountAllFavorites ();
-+
-+#ifdef HAVE_INDICATORS
-+ AppIndicator *indicator;
-+ GtkWidget *indicator_item_showhide;
-+ GtkWidget *indicator_item_mountfavorites;
-+ GtkWidget *indicator_item_dismountall;
-+ GtkWidget *indicator_item_prefs;
-+ GtkWidget *indicator_item_exit;
-+ void SetBusy (bool busy);
-+
-+#endif
- protected:
- enum
- {
-@@ -71,7 +93,6 @@ namespace VeraCrypt
- void LoadFavoriteVolumes ();
- void LoadPreferences ();
- void MountAllDevices ();
-- void MountAllFavorites ();
- void MountVolume ();
- void OnAboutMenuItemSelected (wxCommandEvent& event);
- void OnQuit(wxCommandEvent& event) { Close(true); }
-Index: veracrypt/src/Main/GraphicUserInterface.cpp
-===================================================================
---- veracrypt.orig/src/Main/GraphicUserInterface.cpp
-+++ veracrypt/src/Main/GraphicUserInterface.cpp
-@@ -1754,6 +1754,10 @@ namespace VeraCrypt
- }
-
- BackgroundMode = state;
-+
-+#ifdef HAVE_INDICATORS
-+ gtk_menu_item_set_label ((GtkMenuItem*) ((MainFrame*) mMainFrame)->indicator_item_showhide, LangString[Gui->IsInBackgroundMode() ? "SHOW_TC" : "HIDE_TC"].mb_str());
-+#endif
- }
-
- void GraphicUserInterface::SetListCtrlColumnWidths (wxListCtrl *listCtrl, list <int> columnWidthPermilles, bool hasVerticalScrollbar) const
-Index: veracrypt/src/Makefile
-===================================================================
---- veracrypt.orig/src/Makefile
-+++ veracrypt/src/Makefile
-@@ -58,6 +58,21 @@ export WXCONFIG_CFLAGS :=
- export WXCONFIG_CXXFLAGS :=
- WX_ROOT ?= ..
-
-+ifneq (,$(findstring gtk3,$(shell $(WX_CONFIG) --selected-config)))
-+ INDICATOR_LIBRARY=appindicator3-0.1
-+else
-+ INDICATOR_LIBRARY=appindicator-0.1
-+endif
-+
-+ifeq ($(shell pkg-config --exists $(INDICATOR_LIBRARY) && echo $$?),0)
-+ export C_CXX_FLAGS += -DHAVE_INDICATORS -DUBUNTU_INDICATOR
-+ export LIBS += $(shell pkg-config --libs $(INDICATOR_LIBRARY))
-+ C_CXX_FLAGS += $(shell pkg-config --cflags $(INDICATOR_LIBRARY))
-+else ifeq ($(shell pkg-config --exists ayatana-$(INDICATOR_LIBRARY) && echo $$?),0)
-+ export C_CXX_FLAGS += -DHAVE_INDICATORS -DAYATANA_INDICATOR
-+ export LIBS += $(shell pkg-config --libs ayatana-$(INDICATOR_LIBRARY))
-+ C_CXX_FLAGS += $(shell pkg-config --cflags ayatana-$(INDICATOR_LIBRARY))
-+endif
-
- export TC_BUILD_CONFIG := Release
-
diff --git a/veracrypt/debian/patches/1001-port-to-libfuse3.patch b/veracrypt/debian/patches/1001-port-to-libfuse3.patch
new file mode 100644
index 0000000..9325f08
--- /dev/null
+++ b/veracrypt/debian/patches/1001-port-to-libfuse3.patch
@@ -0,0 +1,109 @@
+Description: Port from libfuse2 to libfuse3.
+From: Unit 193 <unit193@unit193.net>
+Forwarded: https://github.com/veracrypt/VeraCrypt/issues/528
+
+---
+ src/Driver/Fuse/Driver.make | 2 +-
+ src/Driver/Fuse/FuseService.cpp | 26 +++++++++-----------------
+ src/Main/Main.make | 2 +-
+ 3 files changed, 11 insertions(+), 19 deletions(-)
+
+--- a/src/Main/Main.make 2021-10-07 03:51:22.964715592 -0400
++++ b/src/Main/Main.make 2021-10-07 03:51:22.948715727 -0400
+@@ -102,7 +102,7 @@
+
+ #------ FUSE configuration ------
+
+-FUSE_LIBS = $(shell pkg-config fuse --libs)
++FUSE_LIBS = $(shell pkg-config fuse3 --libs)
+
+ #------ Executable ------
+
+--- a/src/Driver/Fuse/Driver.make 2021-10-07 03:51:22.964715592 -0400
++++ b/src/Driver/Fuse/Driver.make 2021-10-07 03:51:22.948715727 -0400
+@@ -15,6 +15,6 @@
+ OBJS :=
+ OBJS += FuseService.o
+
+-CXXFLAGS += $(shell pkg-config fuse --cflags)
++CXXFLAGS += $(shell pkg-config fuse3 --cflags)
+
+ include $(BUILD_INC)/Makefile.inc
+--- a/src/Driver/Fuse/FuseService.cpp 2021-10-07 03:51:22.964715592 -0400
++++ b/src/Driver/Fuse/FuseService.cpp 2021-10-07 03:51:22.948715727 -0400
+@@ -13,7 +13,7 @@
+ #ifdef TC_OPENBSD
+ #define FUSE_USE_VERSION 26
+ #else
+-#define FUSE_USE_VERSION 25
++#define FUSE_USE_VERSION 30
+ #endif
+
+ #include <errno.h>
+@@ -56,11 +56,7 @@
+ return 0;
+ }
+
+-#ifdef TC_OPENBSD
+- static void *fuse_service_init (struct fuse_conn_info *)
+-#else
+- static void *fuse_service_init ()
+-#endif
++ static void *fuse_service_init (struct fuse_conn_info *, struct fuse_config *config)
+ {
+ try
+ {
+@@ -104,7 +100,7 @@
+ }
+ }
+
+- static int fuse_service_getattr (const char *path, struct stat *statData)
++ static int fuse_service_getattr (const char *path, struct stat *statData, struct fuse_file_info *fi)
+ {
+ try
+ {
+@@ -261,7 +257,7 @@
+ return -ENOENT;
+ }
+
+- static int fuse_service_readdir (const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi)
++ static int fuse_service_readdir (const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi, enum fuse_readdir_flags fl)
+ {
+ try
+ {
+@@ -271,10 +267,10 @@
+ if (strcmp (path, "/") != 0)
+ return -ENOENT;
+
+- filler (buf, ".", NULL, 0);
+- filler (buf, "..", NULL, 0);
+- filler (buf, FuseService::GetVolumeImagePath() + 1, NULL, 0);
+- filler (buf, FuseService::GetControlPath() + 1, NULL, 0);
++ filler (buf, ".", NULL, 0, (enum fuse_fill_dir_flags)0);
++ filler (buf, "..", NULL, 0, (enum fuse_fill_dir_flags)0);
++ filler (buf, FuseService::GetVolumeImagePath() + 1, NULL, 0, (enum fuse_fill_dir_flags)0);
++ filler (buf, FuseService::GetControlPath() + 1, NULL, 0, (enum fuse_fill_dir_flags)0);
+ }
+ catch (...)
+ {
+@@ -450,7 +446,7 @@
+ }
+
+ ExecFunctor execFunctor (openVolume, slotNumber);
+- Process::Execute ("fuse", args, -1, &execFunctor);
++ Process::Execute ("fusermount3", args, -1, &execFunctor);
+
+ for (int t = 0; true; t++)
+ {
+@@ -592,11 +588,7 @@
+
+ SignalHandlerPipe->GetWriteFD();
+
+-#ifdef TC_OPENBSD
+ _exit (fuse_main (argc, argv, &fuse_service_oper, NULL));
+-#else
+- _exit (fuse_main (argc, argv, &fuse_service_oper));
+-#endif
+ }
+
+ VolumeInfo FuseService::OpenVolumeInfo;
diff --git a/veracrypt/debian/patches/series b/veracrypt/debian/patches/series
index b3dc56a..8518785 100644
--- a/veracrypt/debian/patches/series
+++ b/veracrypt/debian/patches/series
@@ -1,2 +1,2 @@
-001-indicator-support.patch
+1001-port-to-libfuse3.patch
vc_devuan.patch
bgstack15