[arch-commits] Commit in xarchiver/trunk (5 files)

Balló György bgyorgy at nymeria.archlinux.org
Fri Jan 24 08:23:36 UTC 2014


    Date: Friday, January 24, 2014 @ 09:23:36
  Author: bgyorgy
Revision: 104651

Add some more important fixes for xarchiver

Added:
  xarchiver/trunk/xarchiver-0.5.2-fix-double-escaping.patch
  xarchiver/trunk/xarchiver-0.5.2-fix-non-existent-archive.patch
  xarchiver/trunk/xarchiver-0.5.2-segfault-password-protected.patch
Modified:
  xarchiver/trunk/PKGBUILD
  xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch

---------------------------------------------------+
 PKGBUILD                                          |   17 +++++++
 xarchiver-0.5.2-add_mime_types.patch              |    2 
 xarchiver-0.5.2-fix-double-escaping.patch         |   32 ++++++++++++++
 xarchiver-0.5.2-fix-non-existent-archive.patch    |   26 ++++++++++++
 xarchiver-0.5.2-segfault-password-protected.patch |   43 ++++++++++++++++++++
 5 files changed, 118 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-01-24 08:01:25 UTC (rev 104650)
+++ PKGBUILD	2014-01-24 08:23:36 UTC (rev 104651)
@@ -25,7 +25,10 @@
         xarchiver-0.5.2-segfault-open-with.patch
         xarchiver-0.5.2-fix_7z_support.patch
         xarchiver-0.5.2-drag-n-drop_escaped_path.patch
+        xarchiver-0.5.2-fix-double-escaping.patch
+        xarchiver-0.5.2-fix-non-existent-archive.patch
         xarchiver-0.5.2-segfault-delete-file.patch
+        xarchiver-0.5.2-segfault-password-protected.patch
         xarchiver-0.5.2-disable-rar-support.patch
         xarchiver-0.5.2-add_mime_types.patch)
 md5sums=('2bc7f06403cc6582dd4a8029ec9d038d'
@@ -34,9 +37,12 @@
          'f9036a44157b318cbc59ed012b04974b'
          '782f55c1f1021dc02c7739bf8a47336e'
          'fcd9e04222c5e0ef459977bd7cd0ae4e'
+         '6178d7ab679b761469c880a8db991907'
+         '22ed2783e72684a102243c5834bf5ca3'
          'e518b1e0bc4407383aae2783c0c19a04'
+         'c46daf2ee9fce7ece608eca33174db6b'
          '10f7f24b177d273dd3153785db8678a2'
-         '573592f04479ed710d3530ca8501f948')
+         '36a4c3181230aab1e0ce1596acc5ef88')
 
 prepare() {
   cd $pkgname-$pkgver
@@ -59,9 +65,18 @@
   # Fix extraction when the Drag'n'Drop target path contains spaces
   patch -Np1 -i ../xarchiver-0.5.2-drag-n-drop_escaped_path.patch
 
+  # Fix error when trying to create archives with spaces
+  patch -Np1 -i ../xarchiver-0.5.2-fix-double-escaping.patch
+
+  # Fix segfault when non-existent archive specified
+  patch -Np1 -i ../xarchiver-0.5.2-fix-non-existent-archive.patch
+
   # Fix segfault when deleting a file
   patch -Np1 -i ../xarchiver-0.5.2-segfault-delete-file.patch
 
+  # Fix segfault when handling password protected files
+  patch -Np1 -i ../xarchiver-0.5.2-segfault-password-protected.patch
+
   # Tempolary disable rar support due to incompatiblity with rar 5.0
   patch -Np1 -i ../xarchiver-0.5.2-disable-rar-support.patch
 

Modified: xarchiver-0.5.2-add_mime_types.patch
===================================================================
--- xarchiver-0.5.2-add_mime_types.patch	2014-01-24 08:01:25 UTC (rev 104650)
+++ xarchiver-0.5.2-add_mime_types.patch	2014-01-24 08:23:36 UTC (rev 104651)
@@ -6,4 +6,4 @@
  Categories=GTK;Archiving;Utility;
  StartupNotify=true
 -MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;
-+MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm;
++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm;

Added: xarchiver-0.5.2-fix-double-escaping.patch
===================================================================
--- xarchiver-0.5.2-fix-double-escaping.patch	                        (rev 0)
+++ xarchiver-0.5.2-fix-double-escaping.patch	2014-01-24 08:23:36 UTC (rev 104651)
@@ -0,0 +1,32 @@
+From: =?UTF-8?q?Guido=20Berh=C3=B6rster?= <gber at opensuse.org>
+Date: Sat, 19 Jan 2013 09:27:36 +0100
+Subject: fix-double-escaping
+
+Do not escape file names twice. Fixes an error when trying to create archives
+with spaces.
+
+Bug: http://bugs.debian.org/697493.
+---
+ src/main.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index a13d737..a6a7f93 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -208,13 +208,13 @@ int main (int argc, char **argv)
+ 				g_free(_current_dir);
+ 				GSList *files = NULL;
+ 				_current_dir = g_path_get_basename(add_files);
+-				files = g_slist_append(files,xa_escape_filename(_current_dir,"$'`\"\\!?* ()[]&|:;<>#"));
++				files = g_slist_append(files,g_strdup(_current_dir));
+ 				g_free(_current_dir);
+ 				g_free(add_files);
+ 				for (x = 1; x< argc; x++)
+ 				{
+ 					_current_dir = g_path_get_basename(argv[x]);
+-					files = g_slist_append(files,xa_escape_filename(_current_dir,"$'`\"\\!?* ()[]&|:;<>#"));
++					files = g_slist_append(files,g_strdup(_current_dir));
+ 					g_free (_current_dir);
+ 				}
+ 				xa_execute_add_commands(archive,files,NULL);

Added: xarchiver-0.5.2-fix-non-existent-archive.patch
===================================================================
--- xarchiver-0.5.2-fix-non-existent-archive.patch	                        (rev 0)
+++ xarchiver-0.5.2-fix-non-existent-archive.patch	2014-01-24 08:23:36 UTC (rev 104651)
@@ -0,0 +1,26 @@
+From: Markus Koschany <apo at gambaru.de>
+Date: Thu, 28 Feb 2013 17:45:50 +0100
+Subject: fix segfault non-existent archive cmdl switch x
+
+If using the command line switch -x, the user needs to specify a valid/existent
+archive. If the name of the archive is mistyped, xarchiver will segfault. This
+patch fixes the issue.
+
+Bug: http://bugs.debian.org/701909
+---
+ src/main.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/main.c b/src/main.c
+index a6a7f93..a6e05e3 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -141,7 +141,7 @@ int main (int argc, char **argv)
+ 		/* Switch -x */
+ 		if (extract_path != NULL)
+ 		{
+-			if (argv[1] == NULL)
++			if (argv[1] == NULL || archive == NULL)
+ 			{
+ 				response = xa_show_message_dialog (NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't extract files from the archive:"),_("You missed the archive name!\n"));
+ 				return -1;

Added: xarchiver-0.5.2-segfault-password-protected.patch
===================================================================
--- xarchiver-0.5.2-segfault-password-protected.patch	                        (rev 0)
+++ xarchiver-0.5.2-segfault-password-protected.patch	2014-01-24 08:23:36 UTC (rev 104651)
@@ -0,0 +1,43 @@
+diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c
+--- xarchiver-0.5.2.orig/src/window.c	2014-01-24 08:10:09.305990000 +0100
++++ xarchiver-0.5.2/src/window.c	2014-01-24 08:42:45.110729290 +0100
+@@ -1694,7 +1694,7 @@
+ 		{
+ 			if (archive->passwd == NULL)
+ 			{
+-				archive->passwd = xa_create_password_dialog(NULL);
++				archive->passwd = xa_create_password_dialog(archive);
+ 				if ( archive->passwd == NULL)
+ 				{
+ 					gtk_drag_finish (dc,FALSE,FALSE,t);
+@@ -2702,9 +2702,12 @@
+ 
+ 	if (entry->is_encrypted)
+ 	{
+-		archive[idx]->passwd = xa_create_password_dialog(archive[idx]);
+ 		if (archive[idx]->passwd == NULL)
+-			return;
++		{
++			archive[idx]->passwd = xa_create_password_dialog(archive[idx]);
++			if (archive[idx]->passwd == NULL)
++				return;
++		}
+ 	}
+ 	filename = g_strconcat(archive[idx]->tmp,"/",entry->filename,NULL);
+ 	if (g_file_test(filename,G_FILE_TEST_EXISTS))
+@@ -2766,6 +2769,15 @@
+ 	/* The selected entry it's not a dir so extract it to the tmp dir and send it to xa_determine_program_to_run() */
+ 	else
+ 	{
++		if (entry->is_encrypted)
++		{
++			if (archive->passwd == NULL)
++			{
++				archive->passwd = xa_create_password_dialog(archive);
++				if (archive->passwd == NULL)
++					return;
++			}
++		}
+ 	   	if (archive->extraction_path)
+ 	   	{
+ 	   		dummy = g_strdup(archive->extraction_path);




More information about the arch-commits mailing list