[MC]: zip issues, ftp wants, and others (was: Re: Norton Commander?)
apz
apz at nofate.com
Sun Oct 20 07:04:33 UTC 2002
oops, forgot to include mailing list when sending this originally, sorry
Pavel that you haveto recieve this again, now throgh mailing list.
could the mailing list have reply-to:mc at gnome.org added to the headers
so that default behaviour, reply, is to mailing list?
Pavel Roskin wrote:
> >Other things like forgetting keys, crashing on bad archives,badbadftp
> >support I assume are being worked on so I dont want to waste time
> >raising these issues which most likely someone already did.
>
>
> Exactly that would not be a waste of time.
>
> Please don't assume that anything of that is worked on. Please look in
> src/TODO on CVS (http://cvs.gnome.org/lxr/source/mc/src/TODO?raw=1),
> but the descriptions there are very terse. Your problems can be
> trivial to solve and it can happen that they are not identical to
> those already reported.
Thanks for response. I am happy to have this great utility and dont want
to be a burden by going over and over things that might have already
been discussed (just joined).
Included
mc_duplicate_directories.zip -> shows duplicate directories problem
mc_segfault_and_coredump.zip -> crashes mc
There is another way that mc crashes than mc_segfault_and_coredump.zip
makes it to do, but I could not find in last hour a zip file that would
crash mc spectacularily, be valid, and be under 50k, will keep looking.
> Let me just comment on your short description to show you what the
> known problems are:
>
> 1) Forgetting keys. There are two known cases when it can happen.
> One is mc linked with ncurses, running on xterm under heavy load (e.g.
> unpacking a bzip2 archive). The other is running one mc from another
> and then switching to the first and to the second mc (i.e. press
> Ctrl-O Ctrl-O Ctrl-L).
could be happenning on either cases. I do alot of work with various
archivers (I like collecting useless junk), as well as all my Linuxen
are servers only so all my mc'ing is through ssh/screen (does that count
as xterm'ing?). Currently my sollution is to have mc alias that first
overwrites /.mc/ with contents from /.mc.good/ so that it never looses
my key settings.
> 2) Crashing on bad archives. I'm not aware of this problem. In fact,
> it can be a security risk. Many crashes can be exploited to run
> random code.
> Just imagine somebody sending specially crafted archives that make mc
> send that file by mail to further recipients - that would be an mc
> worm.
> Please report the problem is full detail - it's extremely important to
> fix this one.
Here is one, I will try to find a smaller zip that also crashes that I
could send without overloading your mailbox:
ls -lr New_ico.zip
-rw-r--r-- 1 apz apz 1684933 Oct 20 01:33 New_ico.zip
zip -T New_ico.zip
test of New_ico.zip OK
unzip New_ico.zip
## no errors
mc -h
The Midnight Commander 4.5.52
## Mandrake 8.0 beta
## Mandrake 8.2 final
Pressing f3 (view stats of the zip) no errors
Pressing enter (to pretend its just another directory) core dump:
----/ segfault on a New_ico.zip /---------------------------------------
Segmentation fault (core dumped) [^]
/usr/lib/mc/extfs/uzip: line 4: 20558 Broken pipe $XZIPINFO
-l "$1"
20559 | gawk -v uid=${UID-0} -v zipfile="$1"
-v xunzip=${XUNZIP-unzip} '
/^Archive/ { next }
/^[0-9]*\ file/ { next }
/(unx|fat|ntf)/ {
split($0,a,":")
nam = substr(a[2],4)
if ($1 ~ /^l/ ) {
arrow=" -> "
linkname=""
cmd=xunzip " -p " zipfile " " nam
cmd | getline linkname
} else {
arrow=""
linkname=""
}
#if ($1 ~ /^d/ ) -- not okay -- this would break empty directories --pavel
# next
if (length($1) == 7)
$1 = "-rw-r--r--"
if (nam ~ /^\^/)
nam=substr(nam, 2)
split($8, a, "-")
if (a[3] < 50)
a[3] = 2000 + a[3]
else
a[3] = 1900 + a[3]
printf "%s 1 %-8d %-8d %8d %3s %2d %4d %s %s%s%s\n", $1, uid, 0, $4,
a[2], a[1], a[3], $9, nam, arrow, linkname
next
}
{
exit 214
}' 2>/dev/null
----/ end of segfault on New_ico.zip /---------------------------------
when I tried it again I got:
Inconsistant EXTfs archive
some garbage in red color, and within few keystrokes mc segfaulted again.
Another wierd zip issue is that for some archives directory structure is
duplicated. I mean I will see:
/Ico
/Ico
file1
file2
So directory "Ico" is shown twice. From quick glancing at the zip file
through f3 I think the problem is that directory definition is at the
end of directory contents definition. That is, a well displayed archive
shows in f3:
/Ico/
/Ico/someSubDirFile
/Ico/AnotherSubDirFile
/Ico/SubDirFile3
while a zip file which shows duplicated directories under f3 shows:
/Ico/someSubDirFile
/Ico/AnotherSubDirFile
/Ico/SubDirFile3
/Ico/
maybe its some code which learns of new directories if it finds slashes
in filenames, or filename ends with a slash, but never checks if
directory was already discovered when finding one by checking filename
ending with slash, and adds it again, hence giving duplicate directories?
When I try to decompress (and mark both directories) I get error on
second directory that it cannot make a hard link.
I am able to create such zipfiles easily with Windows Commander.
Ok, found a zip file that I could get mc to segfault and coredump on. I
tried removing from the zipfile files to make it smaller while still
retaining ability of it to crash. This zipfile also tests ok with 'zip
-T' and unzip, so again somewhere mc is at fault.
However this test file (mc_segfault_and_coredump.zip) does not coredump
as nicely as the New_ico.zip (none of that nice source code listing).
> 3) Bad bad ftp support. Known problems are: starting in user's home
> directory without notifying the upper levels about the current
directory, inability to follow links on some servers, bad handling of
broken connection, inability to interrupt some operations, incorrect
parsing of file names beginning with a year number.
how about:
- cannot type own commands:
cd anything - instead of changing directory on server changes it
locally on file system, forcing trying to reconnect
site who - you just cant
- no ability to see the log of what really happends with communication
with server. Needed if such features as typing own commands is to be
allowed (like site who, or site kick, etc). Helps debugging as well
- file upload copies file first to some temp spot (why?) and then
really uploads it to server, annoying when tranferring large files
- disconnections are really trouble some, i haveto often pretend that
am connecting to completly new server for it to actually reconnect
(by trying different hostname)
- background mode, is there a way to see how background mode is doing?
is there one thread that does background mode, so everything that
is assigned to background mode is sent to background queue? or is
each background task started immidiatelly? Found this confusing
- wishlist:
- fxp support.
- tsl ftp support
- ftp remembered list
- possibility:
merge ftp capabilities with pFTP (http://pftp.suxx.sk/pftp/)
ofcourse I might be missing something, I am still to go through man/info
of mc, mostly I relate my mc usage to how it worked with either
wincmd/far/nc.95v2/nc5.
> That said, I cannot say that even those problems are being actively
> fixed. Nobody works on this project full-time.
I understand this, thats why I did not want to be really whining and
asking for fixing-bugs/adding features when I know someone else propably
will anyways.
Currently just got the 4.6.0.pre1 and trying to compile and read full
documentation to see if some features that am missing from wincmd are
there already. Advanced Rename Tool (cltr-t), directory synchronize
(like in wincmd), directory history (alt-down), directory bookmarks
(ctrl-d), easy volume/mount point switching (altf1/f2) (that also would
come in handy with working with ftps, where we could pretend that ftp is
a new fake mountpoint so that we can access it through the volume/mount
point switching). I started reading some of TTY docs which mention that
some key combinations are reserved by TTY for own transmission controll
(I believe that is the case with either alt or ctrl with f1/f2).
Anyways, whoever are the people who did work on mc, thank you, its the
only tool that makes linux managable. Without it I would never propably
bother with linux. Dont take my whining seriously, I love the tool, yet
I think that there can be much more done. I will try to send in some
patches once I get time to play with internals of mc, and catch up with
various c lingo and various libs that mc relies on (ncurses), but no
promises. Again, thanks for awesome tool.
/apz, Nothing is impossible for a man who doesn't have to do it himself
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mc_duplicate_directories.zip
Type: application/zip
Size: 374 bytes
Desc: not available
URL: <http://lists.midnight-commander.org/pipermail/mc/attachments/20021020/2fed37fd/attachment.zip>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mc_segfault_and_coredump.zip
Type: application/zip
Size: 38859 bytes
Desc: not available
URL: <http://lists.midnight-commander.org/pipermail/mc/attachments/20021020/2fed37fd/attachment-0001.zip>
More information about the mc
mailing list