diff options
Diffstat (limited to 'veracrypt/debian/patches')
-rw-r--r-- | veracrypt/debian/patches/001-indicator-support.patch | 194 | ||||
-rw-r--r-- | veracrypt/debian/patches/1001-port-to-libfuse3.patch | 109 | ||||
-rw-r--r-- | veracrypt/debian/patches/series | 2 |
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 |