Accepting request 226074 from home:dnh:branches:Base:System
Just so we get this upstream(ed) (security) fix in B:S, even though fish is and should stay disabled for now (bnc#856501 / mc ticket #3128). I'm committing this so that we have a common ground to work from. OBS-URL: https://build.opensuse.org/request/show/226074 OBS-URL: https://build.opensuse.org/package/show/Base:System/mc?expand=0&rev=88
This commit is contained in:
parent
a0f20b3289
commit
71d2e0462f
120
mc-vfs-fish-deleted_source_file.patch
Normal file
120
mc-vfs-fish-deleted_source_file.patch
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
diff -rup mc-4.8.11.orig/src/filemanager/file.c mc-4.8.11/src/filemanager/file.c
|
||||||
|
--- mc-4.8.11.orig/src/filemanager/file.c 2013-11-29 19:27:07.000000000 +0100
|
||||||
|
+++ mc-4.8.11/src/filemanager/file.c 2014-01-14 00:09:30.540439661 +0100
|
||||||
|
@@ -1914,6 +1914,8 @@ copy_file_file (FileOpTotalContext * tct
|
||||||
|
continue;
|
||||||
|
if (temp_status == FILE_ABORT)
|
||||||
|
return_status = temp_status;
|
||||||
|
+ if (temp_status == FILE_SKIP)
|
||||||
|
+ return_status = temp_status;
|
||||||
|
if (temp_status == FILE_SKIPALL)
|
||||||
|
ctx->skip_all = TRUE;
|
||||||
|
break;
|
||||||
|
@@ -1924,6 +1926,8 @@ copy_file_file (FileOpTotalContext * tct
|
||||||
|
temp_status = file_error (_("Cannot close target file \"%s\"\n%s"), dst_path);
|
||||||
|
if (temp_status == FILE_RETRY)
|
||||||
|
continue;
|
||||||
|
+ if (temp_status == FILE_SKIP)
|
||||||
|
+ return_status = temp_status;
|
||||||
|
if (temp_status == FILE_SKIPALL)
|
||||||
|
ctx->skip_all = TRUE;
|
||||||
|
return_status = temp_status;
|
||||||
|
@@ -1957,10 +1961,10 @@ copy_file_file (FileOpTotalContext * tct
|
||||||
|
if (temp_status == FILE_SKIPALL)
|
||||||
|
{
|
||||||
|
ctx->skip_all = TRUE;
|
||||||
|
- return_status = FILE_CONT;
|
||||||
|
+ return_status = FILE_SKIPALL;
|
||||||
|
}
|
||||||
|
if (temp_status == FILE_SKIP)
|
||||||
|
- return_status = FILE_CONT;
|
||||||
|
+ return_status = FILE_SKIP;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1977,10 +1981,10 @@ copy_file_file (FileOpTotalContext * tct
|
||||||
|
if (temp_status == FILE_SKIPALL)
|
||||||
|
{
|
||||||
|
ctx->skip_all = TRUE;
|
||||||
|
- return_status = FILE_CONT;
|
||||||
|
+ return_status = FILE_SKIPALL;
|
||||||
|
}
|
||||||
|
if (temp_status == FILE_SKIP)
|
||||||
|
- return_status = FILE_CONT;
|
||||||
|
+ return_status = FILE_SKIP;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff -rup mc-4.8.11.orig/src/vfs/fish/fishdef.h mc-4.8.11/src/vfs/fish/fishdef.h
|
||||||
|
--- mc-4.8.11.orig/src/vfs/fish/fishdef.h 2013-04-10 22:04:31.000000000 +0200
|
||||||
|
+++ mc-4.8.11/src/vfs/fish/fishdef.h 2014-01-13 23:54:30.773582204 +0100
|
||||||
|
@@ -145,13 +145,19 @@
|
||||||
|
"FILESIZE=${FISH_FILESIZE}\n" \
|
||||||
|
"#STOR $FILESIZE $FILENAME\n" \
|
||||||
|
"echo \"### 001\"\n" \
|
||||||
|
+"touch $FILENAME 2>/dev/null\n" \
|
||||||
|
+"if [ -f $FILENAME ]; then\n" \
|
||||||
|
+"rm $FILENAME\n" \
|
||||||
|
"{\n" \
|
||||||
|
" while [ $FILESIZE -gt 0 ]; do\n" \
|
||||||
|
" cnt=`expr \\( $FILESIZE + 255 \\) / 256`\n" \
|
||||||
|
" n=`dd bs=256 count=$cnt | tee -a \"${FILENAME}\" | wc -c`\n" \
|
||||||
|
" FILESIZE=`expr $FILESIZE - $n`\n" \
|
||||||
|
" done\n" \
|
||||||
|
-"}; echo \"### 200\"\n"
|
||||||
|
+"}; echo \"### 200\"\n" \
|
||||||
|
+"else\n" \
|
||||||
|
+" echo \"### 500\"\n" \
|
||||||
|
+"fi\n"
|
||||||
|
|
||||||
|
/* default 'appe' script */
|
||||||
|
#define FISH_APPEND_DEF_CONTENT "" \
|
||||||
|
diff -rup mc-4.8.11.orig/src/vfs/fish/helpers/chmod mc-4.8.11/src/vfs/fish/helpers/chmod
|
||||||
|
--- mc-4.8.11.orig/src/vfs/fish/helpers/chmod 2013-04-10 22:04:31.000000000 +0200
|
||||||
|
+++ mc-4.8.11/src/vfs/fish/helpers/chmod 2014-01-13 23:54:30.773582204 +0100
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
#CHMOD $FISH_FILEMODE $FISH_FILENAME
|
||||||
|
-if chmod ${FISH_FILEMODE} "/${FISH_FILENAME}" 2>/dev/null; then
|
||||||
|
- echo "### 000"
|
||||||
|
-else
|
||||||
|
+chmod ${FISH_FILEMODE} "/${FISH_FILENAME}" 2>/dev/null
|
||||||
|
+if [ $? -ne 0 ]; then
|
||||||
|
echo "### 500"
|
||||||
|
+else
|
||||||
|
+ echo "### 000"
|
||||||
|
fi
|
||||||
|
diff -rup mc-4.8.11.orig/src/vfs/fish/helpers/chown mc-4.8.11/src/vfs/fish/helpers/chown
|
||||||
|
--- mc-4.8.11.orig/src/vfs/fish/helpers/chown 2013-04-10 22:04:31.000000000 +0200
|
||||||
|
+++ mc-4.8.11/src/vfs/fish/helpers/chown 2014-01-13 23:54:30.774582155 +0100
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
#CHOWN $FISH_FILEOWNER:$FISH_FILEGROUP $FISH_FILENAME
|
||||||
|
-if chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} "/${FISH_FILENAME}" ; then
|
||||||
|
- echo "### 000"
|
||||||
|
-else
|
||||||
|
+chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} "/${FISH_FILENAME}"
|
||||||
|
+if [ $? -ne 0 ]; then
|
||||||
|
echo "### 500"
|
||||||
|
+else
|
||||||
|
+ echo "### 000"
|
||||||
|
fi
|
||||||
|
diff -rup mc-4.8.11.orig/src/vfs/fish/helpers/send mc-4.8.11/src/vfs/fish/helpers/send
|
||||||
|
--- mc-4.8.11.orig/src/vfs/fish/helpers/send 2013-04-10 22:04:31.000000000 +0200
|
||||||
|
+++ mc-4.8.11/src/vfs/fish/helpers/send 2014-01-13 23:54:30.774582155 +0100
|
||||||
|
@@ -1,6 +1,9 @@
|
||||||
|
#STOR $FISH_FILESIZE $FISH_FILENAME
|
||||||
|
FILENAME="/${FISH_FILENAME}"
|
||||||
|
echo "### 001"
|
||||||
|
+touch $FILENAME 2>/dev/null
|
||||||
|
+if [ -f $FILENAME ]; then
|
||||||
|
+rm $FILENAME 2>/dev/null
|
||||||
|
{
|
||||||
|
> "${FILENAME}"
|
||||||
|
bss=4096
|
||||||
|
@@ -15,3 +18,6 @@ echo "### 001"
|
||||||
|
FISH_FILESIZE=`expr $FISH_FILESIZE - $n`
|
||||||
|
done
|
||||||
|
}; echo "### 200"
|
||||||
|
+else
|
||||||
|
+ echo "### 500"
|
||||||
|
+fi
|
||||||
|
|
18
mc-vfs_fish_helpers_ls-formatstring.diff
Normal file
18
mc-vfs_fish_helpers_ls-formatstring.diff
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- src/vfs/fish/helpers/ls.orig 2013-04-10 22:04:31.000000000 +0200
|
||||||
|
+++ src/vfs/fish/helpers/ls 2014-03-15 15:35:18.000000000 +0100
|
||||||
|
@@ -137,9 +137,13 @@
|
||||||
|
if (S_ISLNK ($mode)) {
|
||||||
|
my $linkname = readlink ("$dirname/$filename");
|
||||||
|
$linkname =~ $strutils_shell_escape_regex;
|
||||||
|
- printf("R%%o %%o $uid.$gid\nS$size\nd$mloctime\n:\"$e_filename\" -> \"$linkname\"\n\n", S_IMODE($mode), S_IFMT($mode));
|
||||||
|
+ printf("R%%o %%o %%i.%%i\nS%%lld\nd%%s\n:\"%%s\" -> \"%%s\"\n\n",
|
||||||
|
+ S_IMODE($mode), S_IFMT($mode),
|
||||||
|
+ $uid, $gid, $size, $mloctime, $e_filename, $linkname);
|
||||||
|
} else {
|
||||||
|
- printf("R%%o %%o $uid.$gid\nS$size\nd$mloctime\n:\"$e_filename\"\n\n", S_IMODE($mode), S_IFMT($mode));
|
||||||
|
+ printf("R%%o %%o %%i.%%i\nS%%lld\nd%%s\n:\"%%s\"\n\n",
|
||||||
|
+ S_IMODE($mode), S_IFMT($mode),
|
||||||
|
+ $uid, $gid, $size, $mloctime, $e_filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("### 200\n");
|
22
mc.changes
22
mc.changes
@ -1,9 +1,31 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Mar 15 15:35:23 UTC 2014 - dnh@opensuse.org
|
||||||
|
|
||||||
|
- fix bug ("%i" is not an appropriate format for off_t) in
|
||||||
|
mc-vfs_fish_helpers_ls-formatstring.diff, thanks to andrew_b
|
||||||
|
of upstream in mc-ticket:2983
|
||||||
|
|
||||||
|
Sat Mar 15 13:58:42 UTC 2014 - dnh@opensuse.org
|
||||||
|
|
||||||
|
- add mc-vfs_fish_helpers_ls-formatstring.diff
|
||||||
|
fixing possible format-string attack via filename
|
||||||
|
http://www.midnight-commander.org/ticket/2983
|
||||||
|
until http://www.midnight-commander.org/ticket/3128
|
||||||
|
is fixed, fish should stay disabled though!
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jan 30 21:47:13 UTC 2014 - jengelh@inai.de
|
Thu Jan 30 21:47:13 UTC 2014 - jengelh@inai.de
|
||||||
|
|
||||||
- Spec metadata update, remove redundant %clean section,
|
- Spec metadata update, remove redundant %clean section,
|
||||||
do parallel build with %_smp_mflags
|
do parallel build with %_smp_mflags
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 14 03:37:35 UTC 2014 - dnh@opensuse.org
|
||||||
|
|
||||||
|
- add preliminary patch by Sebastian Siebert
|
||||||
|
mc-vfs-fish-deleted_source_file.patch
|
||||||
|
bnc#856501 and http://www.midnight-commander.org/ticket/3128
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jan 10 20:51:29 UTC 2014 - dnh@opensuse.org
|
Fri Jan 10 20:51:29 UTC 2014 - dnh@opensuse.org
|
||||||
|
|
||||||
|
11
mc.spec
11
mc.spec
@ -45,11 +45,20 @@ Patch17: mc-rpm.patch
|
|||||||
Patch20: mc-f-keys.patch
|
Patch20: mc-f-keys.patch
|
||||||
Patch21: mc-extfs-helpers-deb.patch
|
Patch21: mc-extfs-helpers-deb.patch
|
||||||
|
|
||||||
|
# add patch. bnc#856501
|
||||||
|
# http://www.midnight-commander.org/ticket/3128
|
||||||
|
Patch22: mc-vfs-fish-deleted_source_file.patch
|
||||||
|
|
||||||
# add mc-extfs-iso9660-xorriso.patch
|
# add mc-extfs-iso9660-xorriso.patch
|
||||||
# fixing iso9660 extfs directory handling using xorriso
|
# fixing iso9660 extfs directory handling using xorriso
|
||||||
# http://www.midnight-commander.org/ticket/3122
|
# http://www.midnight-commander.org/ticket/3122
|
||||||
Patch23: mc-extfs-iso9660-xorriso.patch
|
Patch23: mc-extfs-iso9660-xorriso.patch
|
||||||
|
|
||||||
|
# add mc-vfs_fish_helpers_ls-formatstring.diff
|
||||||
|
# fixing possible format-string attack via filename
|
||||||
|
# bnc#850803, http://www.midnight-commander.org/ticket/2983
|
||||||
|
Patch25: mc-vfs_fish_helpers_ls-formatstring.diff
|
||||||
|
|
||||||
#debian fixes for vfs
|
#debian fixes for vfs
|
||||||
Patch24: 02_ignore_ftp_chmod_error.patch
|
Patch24: 02_ignore_ftp_chmod_error.patch
|
||||||
#Debian fixes
|
#Debian fixes
|
||||||
@ -118,6 +127,8 @@ isoinfo (from mkisofs) or xorriso for the iso:// extension.
|
|||||||
%patch18
|
%patch18
|
||||||
%patch20
|
%patch20
|
||||||
%patch21
|
%patch21
|
||||||
|
%patch22 -p1
|
||||||
|
%patch25
|
||||||
%patch23 -p1
|
%patch23 -p1
|
||||||
%patch24
|
%patch24
|
||||||
%patch31
|
%patch31
|
||||||
|
Loading…
x
Reference in New Issue
Block a user