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
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
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.
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
62 (retrieve_dir): insert "." into the linked list if the ftp server
65 Sun Jan 31 19:50:24 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
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
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
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
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
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 :>
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.
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().
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
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
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
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
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
288 1998-12-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
290 * fish.c (FISH_OP): changed snprintf to g_snprintf, as glib is
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.
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.
331 (resolve_symlink): Dispatch between the two methods to
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
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
371 * ftpfs.c (command): Same as above.
373 * util-alone.c (print_vfs_message): Same as above.
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
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
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
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
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
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
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
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)
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
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
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,
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
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>
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
570 * tar.c: fixed bzip/bzip2 compressed archives
572 Wed Sep 18 12:51:51 1998 Pavel Machek <pavel@ucw.cz>
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
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
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/
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
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)
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>
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
697 * Minor shuffling of functions so garbage collection works for
700 1998-08-20 Raja R Harinath <harinath@cs.umn.edu>
702 * Makefile.am (mad.c, mad.h): Create symlinks to counterparts in
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
710 * extfs/extfs.ini: Added patchfs and mailfs. Some comments
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
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).
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
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
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
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>
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)
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
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
887 * mailfs: new file system.
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>
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-
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
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
941 * src/utilunix.c: Implement socketpair for SCO flavored systems.
943 Mon Mar 17 12:03:50 1997 Norbert Warmuth <k3190@fh-sw.de>
945 * configure.in (--with-hsc): fix.
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