update
[midnight-commander.git] / vfs / ChangeLog
blob19dbcb6466cd5c4de5a018cf42c007a8055a4bc9
1 Tue Feb 16 12:11:04 1999 Paul Sheer <psheer@obsidian.co.za>
3         * mcserv.c, mcfs.c: mcserv and mcfs exchange st_dev instead
4         of st_rdev. This makes stats on device files useless. Fixing
5         this does not break anything, but adds the ability to copy
6         device files properly. Ideally, both st_dev and st_rdev should
7         be returned for those programs that use the vfs to properly 
8         recreate hardlinks. Whose idea was it to only return one of
9         these???
11 1999-02-12  Sergey Korshunoff <seyko@p5.f434.n5020.z2.fidonet.org>
13         * unlha.in: Fix the problem of having incorrect pathnames when
14         pulling out files from the LHA file.
16 Sat Feb  6 23:44:28 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
18         * tar.c (read_header): Treat hardlinks correctly.
20 Mon Feb  1 19:32:12 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
22         * ftpfs.c (insert_dots): renamed from insert_dot. We have to 
23         insert ".." as well or directories from ftp servers which don't 
24         list "." and ".." are displayed with an additional "/".
26 Mon Feb  1 02:55:07 1999  Timur I. Bakeyev <mc@bat.ru>
28         * tcputil.c: One more my bug with '\0' -> NULL. Oops..
30 Mon Feb  1 01:45:08 1999  Timur I. Bakeyev <mc@bat.ru>
32         * mcserv.c: If setuid() is avaliable, use it, even, streuid() also
33         present. (BTW, bsdi uses it's own auth system..)
35 Sun Jan 31 20:51:17 1999  Alexander Savelyev <fano@vcom.kiev.ua>
37         * mcserv.c (do_auth): mcserv never auth properly on bsdi.
38         (mc/vfs/mcserv.c do_auth() on bsdi we must use setuid() not
39         setreuid()).
41         * tcputil.c: use correct signal handler (void func(int)) on BSDI
43 Sun Jan 31 20:41:00 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
45         * mcserv.c (do_link): Removed duplicate invokation of link. Thanks 
46         to Grzegorz Makarewicz <mak@mikroplan.com.pl> for spotting this.
47         
48 Sun Jan 31 20:04:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
50         * vfs.c (vfs_strip_suffix_from_filename): Whoever replaces every 
51         occurance of 0 with NULL should stop this stupidy. And replacing
52         '\0' with NULL is plan wrong!!. Reverted this replacement.
54         * ftpfs.c (load_no_proxy_list): ditto
56 Sun Jan 31 19:57:24 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
58         * ftpfs.c (insert_dot): New function. Insert a "." into the linked
59         list. Stat'ing the root directory of a ftpfs fails if the dot is
60         missing.
62         (retrieve_dir): insert "." into the linked list if the ftp server
63         haven't send it.
65 Sun Jan 31 19:50:24 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
66         
67         * The following changes make ftpfs work with a remote AmiTCP
68         server are the result of somehow longish EMail debugging session. I 
69         don't know any public server of this kind but I was told the
70         combination Unix/Amiga boxes are often used in intranets. 
72         * ftpfs.c (translate_path): New function. Translate a Unix path, 
73         i.e. MC's internal path representation (e.g. /somedir/somefile) to 
74         a path valid for the remote server. Every path transfered to the
75         remote server has to be mangled by this function right prior to
76         sending it. Currently only Amiga ftp servers are handled in a
77         special manner.
79         * ftpfs.c (various places): use translate_path
81         * ftpfs.c (login_server): Assume we have to mangle pathnames if
82         the greatings string from the server contains the word Amiga. If
83         this assumption is wrong I have to find another way to turn on
84         path translation.
85         
86         * ftpfs.c (ftpfs_get_current_directory): Prepend a leading slash
87         if it is missing. MC needs it as seperator between hostname and
88         path in its internal url representation.
90 1999-01-26  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
92         * vfs.c (vfs_parse_ls_lga): attempt to correctly work against
93         Notwell 4
95 Wed Jan 27 03:09:48 1999  Timur I. Bakeyev <mc@bat.ru>
97         * All around the source: Changed copy_strings() to g_strconcat(). Modi-
98         fy last parameter in concat_dir_and_file() to "" - to prevent stack from
99         disbalancing.
100         
101 1999-01-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
103         * Makefile.am (libvfs_la_SOURCES): Added utilvfs.h.
104         * Make-mc.in (VFSHDRS): Likewise.
106 Sat Jan 23 18:40:19 1999  Timur I. Bakeyev <mc@bat.ru>
108         * utilvfs.c (append_path_sep): Removed - concat_dir_and_file(dir, NULL);
109         gives the same effect.
111 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
113         * utilvfs.c (append_path_sep): Fixed, it was broken for paths
114         which already have a / at the end.
116 Fri Jan 22 01:41:25 1999  Timur I. Bakeyev <mc@bat.ru>
118         * undelfs.c: Found one more unconverted realloc() call.
120 1999-01-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
122         * undelfs.c (undelfs_loaddel): Fix Timur's changes.
124 Thu Jan 21 00:58:12 1999  Timur I. Bakeyev <mc@bat.ru>
126         * Actually commit all changes :>
127         
128 Tue Jan 19 05:15:49 1999  Timur I. Bakeyev <mc@bat.ru>
130         * Converted all occurences of DIR_SEP_CHAR and "/" to PATH_SEP and
131         PATH_SEP_STR. Additionall cleanups of the memory code.
132         
133         * utilvfs.h: Added several defenitions for common sizes for buffers.
134         It seems, most of us experience problems, when inventing size for new
135         buffer. This is much better and portable way to eliminate the problem.
137 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
139         * vfs.h: The correct thing to use is PATH_SEP and PATH_SEP_STR 
141 Sun Jan 17 16:19:48 1999  Timur I. Bakeyev <mc@bat.ru>
143         * Converted memory managment to Glib. Now we use g_new()/g_malloc()/
144         g_strdup()/g_free() routings. Also, copy_strings() replaced by 
145         g_strconcat(), and sprintf() by g_snprintf().
146         
147         * utilvfs.h: New header file. Introduced as a stock header, which keeps
148         all includes in a right order, to avoid order-dependence mistakes.
150 Sun Jan 17 15:49:39 1999  Paul Sheer <psheer@obsidian.co.za>
152         * direntry.c: vfs_s_find_entry_tree changed to follow
153         symlinks properly. Symlinks are now always followed
154         except for the last part of the filename.
155         vfs_s_resolve_symlink() now converts absolute paths to
156         ../../file notation so that they can be easily resolved
157         within the tree.
159         * tar.c: . and .. are missing from directory entries,
160         making it impossible to resolve links - fixed.
162 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
164         * vfs.c (mc_get_current_wd): Do not die.  Truncate the pathname.
166 1999-01-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
168         * sfs.c (redirect): tempnam returns a malloc()ed buffer.
170 Sat Jan  9 19:15:00 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
172         * vfs.c (vfs_timeout_handler): Guard from recursive invocation.
174 Sat Jan  9 19:13:28 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
176         * sfs.c (sfs_free): Fixed wrong linked list handling (head was
177         lost after the first iteration).
179         (sfs_getid): dito, return value was wrong.
181 Sat Jan  9 22:49:02 1999  Timur I. Bakeyev <mc@bat.ru>
183         * vfs.c (parse_ls_lga): Rewrite function to make it more stright.
184         Also, fixed some bugs in parsing (and add new ones:), which diasallowed
185         proper parsing of device major and minor numbers. Some other fixes. Add
186         several new is_*() functions to make code readable.
188 1999-01-08  Ilya Zakharevich <ilya@math.ohio-state.edu>
190         * vfs.h (vfs_strip_suffix_from_filename): Typo fix.  Include
191         defines for non-vfs compilation.
193 Fri Jan  8 20:03:36 1999  Andrej Borsenkow <borsenkow.msk@sni.de>
195         * vfs.c (vfs_parse_filedate): I forgot to set got_year in one place 
196         (where YY-MM-DD is parsed).
198 Thu Jan  7 06:24:25 1999  Andrej Borsenkow <borsenkow.msk@sni.de>
200         * vfs.c (vfs_parse_filedate): If the date is less than 6 months 
201         in the past, it is shown without year. In this case MC assumed
202         the current year which is wrong from Jan to Jun.
204 Thu Jan  7 03:47:35 1999  Timur I. Bakeyev <mc@bat.ru>
206         * vfs.c (parse_ls_lga): Fixed Y2K typo pointed by Alex.
208 Thu Dec 31 08:47:15 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
210         * sfs.c (sfs_nothingisopen): Assume for now it's always save to free
211         this filesystem and delete temporary files. This needs further 
212         investigation.
214         * tar.c: deleted unused empty struct tar_super.
216 Thu Dec 31 08:40:44 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
218         * direntry.c: Split fd_usage into fd_usage and ino_usage. fd_usage
219         was used for external and internal reference count. This was wrong
220         because we can free resources taken up by the vfs as soon as the
221         external reference count (now fd_usage) is zero. The internal
222         reference count (ino_usage) mustn't matter because the vfs has to
223         clean up itself in the correct order.
225 Fri Dec 25 21:48:51 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
227         * direntry.c (vfs_s_new_inode): Moved initialization of st_ino
228         and st_dev from vfs_s_default_stat.
230         (vfs_s_default_stat): initialize st_ino and st_dev to zero
232         * tar.c (tar_open_archive): Make a new MEDATA->rdev for every
233         new archive.
235 Mon Dec 21 22:55:48 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
237         * tar.c: Deleted global variable tar_gzipped_memlimit.
239 Wed Dec 16 06:36:42 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
241         * vfs.c (vfs_strip_suffix_from_filename): New function which strips
242         known vfs suffixes from a filename and returns a malloced string
243         which has to be freed. Possible improvement: strip vfs suffix from
244         last path component.
246         * extfs/*: added "umask 077" to every script.
248 Tue Dec 15 16:41:50 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
250         * extfs.c (extfs_open), sfs.c (redirect): create files 0600 and
251         safely w.r.t. symlinks in /tmp
253 Mon Nov 30 23:49:11 1998  Pavel Machek  <pavel@bug.ucw.cz>
255         * direntry.c: Hopefully got want_stale_data right...
257 Wed Nov 25 23:54:23 1998  Pavel Machek  <pavel@bug.ucw.cz>
259         * vfs.h: use ENETUNREACH if EREMOTEIO error code is not defined,
260         this is neccessary for Solaris and probably others
262 Mon Nov 23 17:39:33 1998  Pavel Machek  <pavel@bug.ucw.cz>
264         * vfs.c (vfs_type_from_op): removing unneccessary code
266 Wed Dec  9 12:24:52 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
268         * extfs/rpm: commit fix for files with spaces in name by Marc
269         Merlin (marcsoft@merlins.org)
271 Mon Dec  7 11:04:57 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
273         * fish.c: default to normal ssh
274         (open_archive_int): debugging hack killed
276 1998-12-02  Raja R Harinath  <harinath@cs.umn.edu>
278         * Makefile.am (EXTRA_DIST): Distribute files that the
279         BUILT_SOURCES depend on.
280         (mad.c, mad.h): Don't use GNU make specific features in rule.
281         (libvfs_la_SOURCES): Update from Make-mc.in.
283 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
285         * direntry.c (vfs_s_insert_super): This routine does not return
286         anything. 
288 1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
290         * fish.c (FISH_OP): changed snprintf to g_snprintf, as glib is
291         used anyway.
293         * xdirentry.h (LINK_NO_FOLLOW): 
294         * tar.c (read_header): 
295         * direntry.c (vfs_s_resolve_symlink):
296         (vfs_s_inode_from_path):
297         (vfs_s_open): renamed NO_FOLLOW and FOLLOW to LINK_NO_FOLLOW and
298         LINK_FOLLOW resp. to avoid problems on solaris, where FOLLOW and
299         NO_FOLLOW are defined in an enum.
301         * vfs.h (ELAST): define it to 300, if not already defined, thats a
302         bad hack, but what can we do....
304 Wed Dec  2 14:06:49 KST 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
306         * direntry.c (vfs_s_new_super): Added the missing return value.
308 Sun Nov 29 02:54:54 1998  Timur I. Bakeyev <mc@bat.ru>
310         * vfs.h: (Temporary?) fix to the compiling error: Some of the error
311         codes, defined here are Linux specific and unknown to other systems.
312         Changed to #ifdef's with assigning new codes by means ELAST+offset.
313         
314 Tue 24 Nov 12:43:20 1998  Peter Kleiweg  <kleiweg@let.rug.nl>
316         * vfs.c (vfs_parse_ls_lga): ignore trailing + in permission string
317         which indicate a file with extented attributes (ACL)
319 Mon Nov 23 21:19:43 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
321         * ftpfs.c (resolve_symlink_with_ls_options): that's resolve_symlinks
322         we used up to release 4.1.35. It uses LIST -lLa to get symlink stats.
324         (resolve_symlink_without_ls_options): that's resolve_symlinks
325         we used in release 4.1.36 and 4.5.[01]. It gets symlink stats from the
326         directory cache fetching directories if necessary. We got some 
327         complaints about slower ftpfs in the above releases. Now this methode
328         is no longer the default methode to resolve symbolic links. It is still
329         needed for ftp servers which don't understand the LIST -lLa command.
330         
331         (resolve_symlink): Dispatch between the two methods to
332         resolve symlinks.
334 Sat Nov 21 21:38:08 1998  Pavel Machek  <pavel@bug.ucw.cz>
336         * vfs.c (vfs_parse_ls_lga): corrected stupid bug in parse_ls_lga,
337         thanks to Pavel Roskin for reporting
339         * direntry.c (vfs_s_lseek): -1 is invalid filehandle, not 0
341         * utilvfs.c (vfs_split_url): initialize variables so that we do
342         not return garbage
344 Sat Nov  7 20:19:14 1998  Pavel Machek  <pavel@bug.ucw.cz>
346         * vfs.c: Converted g_return_if_fail into vfs_dies(), removed them
347         where unneccessary. I do not see why passing NULL to vfs_add_stamp
348         should be invalid -> removed check.
350 Mon Nov  2 23:09:55 1998  Pavel Machek  <pavel@bug.ucw.cz>
352         * direntry.c, xdirentry.h: should be now prepared to handle
353         ftp-like filesystems. This is rather BIG change, altrough it does
354         not look so. I hope I do not break too many things.
356 Mon Nov 16 16:39:39 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
358         * vfs.c (vfs_parse_ls_lga): Report unrecognized lines.
360 Thu Nov 12 11:28:48 1998  Pavel Roskin  <pavel_roskin@geocities.com>
362         * extfs/rpm: Fix to display files belonging to users with
363         excessively long usernames
365 1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
367         * fish.c (command): Replace vnsprintf with g_strdup_vprintf.  This
368         is both safe and more correct, as there is no limit on the
369         pathname. 
370         
371         * ftpfs.c (command): Same as above.
373         * util-alone.c (print_vfs_message): Same as above.
374         
375 Wed Oct 28 17:06:57 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
377         * ftpfs.c: report which directory you are listing, fix behaviour
378         with servers that don't like LIST //. (Nowell) Fix behaviour even
379         with NT.
381         * direntry.c (vfs_s_automake): insert newly generated entry
383         * direntry.c (vfs_s_free_entry): Debugging printf() killed.
385 Mon Oct 26 00:38:30 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
387         * Make-mc.in: added xdirentry.h to VFSHDRS
389 Fri Oct 23 12:29:48 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
391         * tar.c (tar_open_archive): do not double-free memory if you can
392         not open archive, better error handling
394         * Makefile.in: add direntry.o to list of NONETFILES so we actually compile
396         * sfs.c, tar.c: remove debugging messages (which really should not
397         escape from my tree)
399 Thu Oct 22 22:24:44 1998  Pavel Machek  <pavel@bug.ucw.cz>
401         * README: added. If you are using emacs or hacking libvfs, please
402         read this one.
404         * direntry.{c,h}: new library created, so that same entry/inode
405         code does not have to be copied in every handler. 
407         * tar.c: converted to use direntry.c library, which means BIG changes. 
409         * ftpfs.c: small updates to make code look nicer
410         
411 Mon Oct 19 19:40:58 1998  Pavel Machek  <pavel@bug.ucw.cz>
413         * vfs.h (&more): killed ERRNOR() from vfs.h and put it into files
414         which actually need it.
416         * extfs.c: extfs_current_dir killed - it was unneccessary.
418         * mcfs.c (mcfs_get_path): It is possible for path not to begin
419         with /#mc:, for example if user does /etc/#mc:. (It is not
420         correct, of course). Return error, but do not vfs_die().
422 Sun Oct 18 23:48:00 1998  Pavel Machek  <pavel@bug.ucw.cz>
424         * lib/mc.ext.in: cpio support fixed. It was broken since time we
425         started to do #ext syntax.
427 Sat Oct 17 20:43:20 1998  Pavel Machek  <pavel@bug.ucw.cz>
429         * vfs.c (mc_open): die() if open is unsupported. If filesytem does
430         not support open, it is probably stupid typo, so we want bug to be
431         fixed.
433 Thu Oct 22 20:30:28 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
435         * ftpfs.c (resolve_symlink, retrieve_dir): Don't timeout and
436         free dcache while resolving symlinks (i.e. don't free some
437         pointers which are in use by resolve_symlink). 
439 Mon Oct 19 11:44:47 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
441         * mcfs.c: prefix is mc:, not mcfs:. So now mcfs actually works.
443 Thu Oct 15 17:17:17 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
445         * shared_ftp_fish.c (s_write): stupid bug fixed
447 Tue Oct 13 00:22:52 1998  Pavel Machek  <pavel@bug.ucw.cz>
449         * extfs/*: marked obvious security holes with FIXME: TMP RACE
451         * vfs.c (mc_def_getlocalcopy): creat->open(..,O_EXCL), to prevent
452         symlink attack, fixed memory leak along the path
454 1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
456         * vfs.c, vfs.h: Indentation chages, ugly macros removed.  I am
457         going to split this file in the future.
459 Tue Oct 13 18:43:18 1998  Pavel Machek  <pavel@lomikel.karlin.mff.cuni.cz>
461         * vfs.c (vfs_add_noncurrent_stamps): Fixed typo reported by Andrej
462         Borsenkow <borsenkow.msk@sni.de>
464 Tue Oct 13 12:42:10 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
466         * vfs.h (vfs_struct): renamed to avoid namespace conflict
468 Mon Oct 12 22:42:30 1998  Pavel Machek  <pavel@bug.ucw.cz>
470         * sfs.c: reuse mmap from local.c
472         * ftpfs.c, fish.c, shared_ftp_fish.c: horrible reget hack removed,
473         and replaced with open(,O_LINEAR); lseek() combination
475 Sun Oct 11 01:44:37 1998  Pavel Machek  <pavel@bug.ucw.cz>
477         * mcfs.c (open_tcp_link): Moved: it used to be in utilvfs.c, but
478         as it deals with portmapper, it is probably usefull for mcfs
480         * vfs.h (MCERR_*): these are no longer needed
482         * vfs.c (vfs_translate_url): translating of url's moved to vfs
483         code
485         * all around: trying to reduce namespace pollution. All special
486         functions (like extfs_run) should be done using mc_setctl()
487         interface. At the end, all non-static functions in vfs layer
488         should begin with vfs_ and should be declared in vfs.h (however
489         that goal is far away).
491         * all over the code: replace X_vfs_ops to vfs_X_ops
492         
493 Mon Oct  5 20:11:01 1998  Pavel Machek  <pavel@bug.ucw.cz>
495         * vfs.c: added stat to avoid hiding files by naming them
496         #ftp:localhost and similar. Vfs will not treat files as local if
497         they already exists, regardless of name.
499 Tue Oct  6 15:34:22 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
501         * vfs.h: disable BROKEN_PATHS by default. See if you can live
502         without cd .. from ftp tree putting you to last directory.
504 Sat Oct  3 14:28:57 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
506         * ftpfs.c (resolve_symlink): fixed cut'n paste error in my last
507         change, i.e. make it compile)
508         
509 Sat Oct  3 01:03:37 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
511         * ftpfs.c (resolve_symlink): minor speed enhancement
513 Thu Oct  1 18:39:52 1998  Pavel Roskin  <pavel_roskin@geocities.com>
515         * vfs.h: vfs_force_expire() was incorrectly #define'd
517 Tue Sep 29 17:23:03 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
519         * extfs.c, sfs.c: added few static's to prevent people from doing
520         stupid things
522 Mon Sep 28 21:43:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
524         * vfs.h (struct vfs): renamed errno to verrno because glibc2 
525         defines errno as macro (#define errno (*__errno_location ()))
527 Mon Sep 28 21:34:03 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
529         * Makefile.in: search config.status in builddir and not in srcdir/.., 
530         i. e. make it compile for builddir != srcdir
532 Sun Sep 27 16:16:52 1998  Pavel Machek  <pavel@bug.ucw.cz>
534         * COPYING.LGPL, all over the code: code is now under Library
535         General Public License (instead of GPL), so non-free applications
536         can link to it.
538 Wed Sep 23 22:37:40 1998  Pavel Machek  <pavel@bug.ucw.cz>
540         * all over the code: added (vfs *) as first argument for functions
541         that have no other way to know what fs they belong to. This will
542         be used by object-like tricks, which will allow us to do real
543         code-sharing: I do not like #including of .c files.
545 1998-09-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
547         * shared_ftp_fish.c: Addaed prototypes for linear_start, linear_read,
548         linear_close 
550 Wed Sep 23 15:09:55 1998  Tom Tromey  <tromey@cygnus.com>
552         * vfs.h (MIN, MAX): Only define if not already defined; glib.h
553         also defines them.
555 Wed Sep 23 13:33:14 1998  Pavel Machek <pavel@ucw.cz>
557         * ftpfs.c: Fixed segfault caused by unitialized varialble 
559 Wed Sep 23 11:51:12 1998  Pavel Roskin <pavel_roskin@geocities.com)
561         * ftpfs.c: Special characters were printed via print_vfs_message.
562         This caused funny effects if "XTerm hintbar" was on.
564 Mon Sep 21 11:40:30 1998  Pavel Machek <pavel@ucw.cz>
565         
566         * ftpfs.c, fish.c: added O_LINEAR mode to handle linear read of
567         files in sane way. copy_file_file will make temporary files for a
568         while (fix pending).
570         * tar.c: fixed bzip/bzip2 compressed archives
572 Wed Sep 18 12:51:51 1998  Pavel Machek <pavel@ucw.cz>
573         
574         * fish.c, vfs.c: created aliases /#ssh: and /#rsh:
576         * vfs.h: created ERRNOR() macro which sets my_errno and returns,
577         which makes vfs's _much_ more readable
579 Fri Sep 18 10:37:28 1998  Pavel Roskin <pavel_roskin@geocities.com)
581         * extfs.c: free() was called twice for the same place in memory
582         in extfs_open()
584 Tue Sep 15 20:31:32 1998  Norbert Warmuth  <k3190@fh-sw.de>
586         * ftpfs.c (ftp_use_unix_list_options): New global variable/option. 
587         If true we try to use 'LIST -la <path>'. When it fails we use the 
588         two commands 'CWD <path>' and 'LIST' instead. 
590         (resolve_symlink): rewritten. Don't get a second directory listing 
591         with `LIST -lLa'. Instead use the cache to get the file stat of
592         symbolic links. If the directory the symlink points to isn't
593         already in the cache the directory listing will be fetched and 
594         stored in the directory cache (without resolving symlinks
595         recursively).
596         The new method to resolve symlinks is faster if symlinks
597         the same directory or the directory the symlink points to
598         is already in the cache.
599         This function was small and nice until I discovered that it was
600         broken for symlinks to symlinks. Now it looks ugly and perhaps I
601         will revert it to use "LIST -lLa" again. With a fast connection it 
602         doesn't matter which methode we use but with a slow connection I
603         wouldn't hesitate to burn more cpu cycles on the client side.
605         (retrieve_dir): Added parameter to tell whether to resolve
606         symlinks (don't resolve symlinks in directory listings retrieved 
607         while resolving symlinks).
608         When we don't get a directory listing with 'LIST -la <path>' then
609         try to get it with `CWD <path>; LIST'.
611 Tue Sep 15 20:27:29 1998  Norbert Warmuth  <k3190@fh-sw.de>
613         * ftpfs.c (login_server): s/ftpfs_get_host/my_get_host/
614         
615         (retrieve_file_start2): Don't create target file O_EXCL, in 
616         copy_file_file we check existance of the target file and know
617         that we want to truncate it (this change was already done a 
618         while back but it was reverted with the vfs-split).
620 Tue Sep 15 20:15:42 1998  Norbert Warmuth  <k3190@fh-sw.de>
622         * ftpfs.h (struct connection): added boolean which indicates that
623         the ftp server doesn't understand Unix ls options
625         * ftpfs.h (struct dir): added enum to store symlink status of the
626         in memory directory cache (directory has no symbolic links;
627         symbolic links but not yet resolved; symbolic links which are resolved)
629 Tue Sep 15 20:02:08 1998  Norbert Warmuth  <k3190@fh-sw.de>
631         * shared_ftp_fish.c, fish.c: updated references to retrieve_dir to
632         honour the additional boolean parameter
634 Tue Sep 15 00:42:15 1998  Timur Bakeyev <mc@bat.ru>
636         * vfs.h: add vfs_split() declaration, to make sfs.c happy.
638         * Make-mc.in, Makefile.am: Updated to include fish.c
640 1998-09-14  Norbert Warmuth  <k3190@fh-sw.de>
642         * sfs.c (sfs_free): assignment operator was used to check for equality
644 Fri Sep 11 22:36:38 1998  Pavel Machek <pavel@ucw.cz>
646         * sfs.c: memory leak fixed
648         * vfs.c: split parse_ls_lga into more functions
650         * fish.c added, now you can access files over rsh/ssh connection
652         * shared*.c: reworked a bit not to include so many of ugly X_'s
654 Wed Sep  2 13:59:47 1998  Pavel Machek <pavel@ucw.cz>
656         * ftpfs.c: cleanup of code, few static's added
658         * extfs/uarj: added, still, you need patches to unarj to make this
659         work
661         * util-alone.c: now includes code from libvfs.c, so we can kill
662         libvfs.c (which is good thing as it was non-standard in Makefiles)
663         
664 Sun Aug 30 13:19:49 1998  Pavel Machek <pavel@ucw.cz>
666         * undelfs.c: fixed, it has been broken for too long
668         * vfs.c, ../src/cmd.c: neccessary minor fixes to make undelfs work
670         * vfs.c: made more fields in *_vfs_ops optional, cleanup of errno
671         handling in case of NULL in *_vfs_ops.
673         * extfs.c, ftpfs.c, tar.c: made use of above change
675         * vfs.c: cleanup of macros generating mc_*()
677         * libvfs.c: adding variable mc_home
679 Thu Aug 27 19:45:31 1998  Pavel Roskin <pavel_roskin@geocities.com>
681         * extfs.c: mc_extfsdir was not defined in extfs_open()
683         * Make-mc.in: sfs.c was not compiled, linked and copied out
684         extfs/sfs.ini was not installed and copied out
686         * Makefile.am: sfs.c was not linked to standalone VFS
688 Tue Aug 25 17:54:17 1998  Pavel Machek <pavel@ucw.cz>
689         
690         * Added vfs_uid for use by libvfs.so users (rpc.nfsd)
692         * Added single file filesystem (sfs)
694         * Added vfs_flags so library users can disable selected
695         filesystems
697         * Minor shuffling of functions so garbage collection works for
698         library
699         
700 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
702         * Makefile.am (mad.c, mad.h): Create symlinks to counterparts in
703         `mc-src'. 
705 Wed Aug 12 19:04:48 1998  Pavel Roskin <pavel_roskin@geocities.com>
707         * extfs/patchfs: %k replaced with more portable %H in the format
708         for "date" command
710         * extfs/extfs.ini: Added patchfs and mailfs. Some comments
711         changed
713 Tue Aug 11 15:25:52 1998  Pavel Roskin <pavel_roskin@geocities.com>
715         * extfs/rpm: Fix for buggy "cut" on HP-UX 10.20 which ignores
716         lines without enf-of-line.
718 Mon Jun 01 03:30:07 1998  Alexander Savelyev <fano@vcom.kiev.ua>
720         * tar.c (read_header): Support for linkflag on BSDI tar (pax), it
721         is always 0.
723 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
725         * ftpfs.c (ftpfs_open_socket): Potential security break fix.
727 1998-08-06  Raja R Harinath  <harinath@cs.umn.edu>
729         * Makefile.am (BUILT_SOURCES): Make it `make dist' friendly.
730         Don't try building this, yet.
732 1998-07-31  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
734         * Make-mc.in (install.extfs): Splitted install of $(EXTFS_CONST)
735         and $(EXTFS_OUT) because the first must be installed from
736         $(srcdir) and the second from $(builddir).
738 Fri Jul 24 00:22:30 1998  Tom Tromey  <tromey@cygnus.com>
740         * Make-mc.in (DISTVFS): Changed Makefile.in to Make-mc.in.
742         * Makefile.am: New file.
743         * Make-mc.in: Renamed from Makefile.in.
744         * Makefile.in: Removed.
746 Mon Jun 29 15:12:55 1998  Pavel Roskin <pavel_roskin@geocities.com>
748         * Makefile.in: Rewritten stuff concerning extfs files.
750 Mon Jun 22 22:30:00 1998  Manish Vachharajani <mvachhar@vger.rutgers.edu>
752         * Makefile.in: Remove arfs, since it doesn't seem to exist
754 Wed Jun 17 Pavel Machek <pavel@ucw.cz>
755         * Rename helper scripts (extfs/{rar|lha|...}.in), so their names
756         are more logical (and so that things actually work, because new
757         names are currently in extfs.ini). 
758         
759 Wed Jun 17 Pavel Machek <pavel@ucw.cz>
760         * Modified code to use tempnam() instead of tmpnam(), fixed
761         tempnam() to use NULL instead of 0. 
763 Wed Jun  3 Pavel Machek <pavel@ucw.cz>
765         * libvfs.c: adding libvfs.c which should contain things specific
766         to stand-alone libvfs.so. (This file was missing from previous
767         merge.)
768         
769 Mon Jun  1 16:00:19 1998  Norbert Warmuth  <k3190@fh-sw.de>
771         * ftpfs.c (ftpfs_fill_names): use right character to seperate
772         prefix and username
774 Mon Jun  1 14:19:20 1998  Bakeyev I. Timur <mc@bat.ru>
775         * vfs.c (parse_ls_lga): allow a bit wider range of listings.
777         * vfs.c (is_time, is_year): new functions
779 Mon Jun  1 12:47:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
781         * ftpfs.c (ftpfs_forget): Use the new ftpfs prefix.
783 Thu May 28 16:42:31 1998  Pavel Machek <pavel@ucw.cz>
785         * extfs.c, shared.c, tar.c: I changed semantics in my previous
786         patch - _get_path() now modifies strings passed to it. I thought
787         that I were carefull enough not to introduce bugs. You guessed it -
788         I was not. [Many tar_ and extfs_ functions modify strings passed 
789         to them, but as they are only called from vfs layer, it does not 
790         matter much.]
791         So I renamed function to alert everyone that semantics changed. 
793         Fixed bugs in timestamping (and segfaults) when you entered tar 
794         inside zip file or similar.
796         * vfs.c (mc_open): Die if the filesystem doesn't support open
798 ???         Pavel Machek <pavel@ucw.cz>
799         
800         * shared.c: Shared parts of extfs.c and tar.c are now in shared.c
802         * util-alone.*: VFS should be able to compile stand-alone into
803         libvfs.so usable by anyone. This is first step.
805         * vfs.c & others: syntax change. We no longer use
806         tar:/path.tar/file. Now, syntax is /path.tar#utar/file, which has
807         better defined meaning. Similar changes are done to all other
808         protocols. This change touched really _many_ places of code.
811 1998-05-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
813         * vfs.c (MC_DIROP): Macro now returns the proper value. 
815 1998-maj-18  Tamasi Gyorgy (gt_cosy@usa.net)
817         * Makefile.in ('install' target): 'mcserv' not installed, if
818         net-code is not enabled by 'configure'.
820 Thu May 14 02:05:52 1998  Norbert Warmuth  <k3190@fh-sw.de>
822         * Makefile.in (LIBS): add @LINTL@
824 Sun May 10 14:51:03 1998  Norbert Warmuth  <k3190@fh-sw.de>
826         * ftpfs.c (__ftpfs_chdir): CWD command wasn't sent at all. This
827         optimation is wrong because for directories containing spaces we
828         have to "CWD <pathname>" and "LIST -la" instead of 
829         "LIST -la <pathname>".
830         I implemented a different optimation. Now ftpfs_chdir only stores
831         the new working directory and sets a flag. __ftpfs_chdir is called 
832         when we really want to change the directory on the ftp server. 
834         (resolve_symlink): Log the directory listing to the logfile.
836         * ftpfs.h (struct ftpfs_connection): Added a (per connection)
837         cwd_defered flag.
839 Mon May  4 10:27:49 1998  Norbert Warmuth  <k3190@fh-sw.de>
841         * Makefile.in: Links to mad.c and mad.h were created wrong when
842         srcdir != builddir and directory depth to srcdir and builddir were 
843         different (e.g. srcdir=/src/mc and builddir=/src/compile/mc)
845         * ftpfs.c (retrieve_file_start2): Don't create target file O_EXCL, 
846         in copy_file_file we check existance of the target file and know
847         that we want to truncate it.
849 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
851         * tar.c (read_header): Mark regular files with S_IFREG.
853 Tue Apr 28 06:06:03 1998  Norbert Warmuth  <k3190@fh-sw.de>
855         * extfs.c (extfs_open, extfs_close): Changed my_system(1,...) to
856         my_system(EXECUTE_AS_SHELL,...), this fixes the broken copyin and
857         copyout of 4.1.32.
858         
859 1998-04-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
861         * ftpfs.c (retrieve_file_start2): Open file exclusively.
862         (retrieve_file): likewise.
864 1998-03-31  Philippe De Muyter <phdm@macqel.be>
866         * vfs.h: compilation fix for m68k-motorola-sysv
868 Wed Mar 25 19:01:48 1998  Norbert Warmuth  <k3190@fh-sw.de>
870         * extfs/hp48: Added a usage summary
872 Mon Mar 23 00:42:21 1998  Christofer Edvardsen <ce@earthling.net>
874         * Makefile.in, extfs/extfs.ini, extfs/hp48: New external
875         filesystem to view and copy files to/from the HP48.
877 Wed Feb 11 14:09:02 1998  Oleg <oleg@pobox.com>
879         * extfs.c: Add support for writtable external file systems.
880         Required for the httpfs. 
882 Fri Jan 23 07:27:37 1998  Peter Daum <gator@cs.tu-berlin.de>
884         * extfs.c (open_extfs_archive): Pass the quoted argument to the
885         list command. 
887         * mailfs: new file system.
888         
889 1997-12-21  Yuri Kuzmenko <Yuri.Kuzmenko@f169.n463.z2.fidonet.org>
891         * tar.c: fix the bug which core dumps when trying to view tar file
892         with many files (over 60000).
894 Mon Jul 21 18:47:37 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
896         * vfs.c (mc_opendir): Do not make conversions between int/void *
897         to make the code compile and work on the Alpha correctly.
898         Allocate a pointer to an int and use that instead.
900 Thu Jul  3 19:08:43 1997  Michele Marziani <marziani@axpfe1.fe.infn.it>
902         * extfs/rpm: Small fix for older RPM files.
904 Mon Jun  9 19:00:30 1997  Norbert Warmuth <k3190@fh-sw.de>
905         
906         * vfs/vfs.c (vfs_canon): Fix for the 'cd a:/somedir/..' problem
908         * vfs/vfs.c (vfs_add_non_current_stamps): when leaving a mtools fs
909         free the extfs buffers immediatly instead of waiting for the vfs-
910         timeout
912 Thu May 29 14:50:41 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
914         * vfs.c (vfs_canon): the "local:" case was consuming one extra
915         character.  This fixes the bug reported by Andrej.  Also, handle
916         the non-canonical case of arguments to  local:
918 Tue May 27 20:38:28 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
920         * mcserv.c (get_client): The parent now waits for the first forked
921         process, getting rid of the zombies.
923         * utilvfs.c (open_tcp_link): If we can not contact the remote
924         portmapper, set the protocol version to 1.
926 Fri May 16 16:42:18 1997  Tomasz K³oczko, <kloczek@rudy.mif.pg.gda.pl>
928         * mc.spec: New spec file, this packages mc, mcserv and tkmc.
930         * lib/mcserv.init, lib/mc.sh, lib/mcserv.pamd: added
931         
932         * vfs/ext/rpm: instead using sed and rpm -qpi use rpm queries,
933         more info currently displayed (changeslogs, Os, URL, packager 
935 Tue May 13 18:14:49 1997  Wojtek Pilorz <wpilorz@bdk.lublin.pl>
937         * vfs/Makefile.in (INSTALL_PROGRAM): Use -m flag for install to
938         force vfs scripts to be executable on those systems that use
939         install.sh 
941         * src/utilunix.c: Implement socketpair for SCO flavored systems.
942         
943 Mon Mar 17 12:03:50 1997  Norbert Warmuth <k3190@fh-sw.de>
945         * configure.in (--with-hsc): fix.
946         
947         * vfs/ftpfs.c (ftpfs_get_proxy_host_and_port): Fixed wrong parameter
948         passing (HSC_DEFAULT_PORT was passed as pointer to char instead of
949         passing it as integer)
951 Tue Feb 25 20:21:00 1997  Joseph M. Hinkle <jhinkle@rockisland.com>
953         * extfs/lha: Updated the lha filesystem and included a command
954         for running an executable from within an lha archive suggested
955         by Zdenek Kabelac <kabi@informatics.muni.cz>
957         * extfs/: Renamed cpio, deb, rar, rpm as *.in files and altered
958         config.in to create these VFS's for cleaner compilation 
959