2004-08-29 Roland Illig * Code cleanup: Added const qualifier for variables and function declarations where possible. No functional changes. 2004-08-27 Andrew V. Samoilov * smbfs.c (smbfs_open_readwrite): Implement O_APPEND via smbfs_lseek(). 2004-08-26 Roland Illig * undelfs.c (undelfs_lstat): Adjusted declaration. (undelfs_stat): Defined to undelfs_lstat. From Andrew V. Samoilov 2004-08-26 Pavel S. Shirshov * direntry.c: Use g_strlcpy() instead strncpy() for fix buffer overrun * extfs.c: Likewise. * mcfs.c: Likewise. * smbfs.c: Likewise. * utilvfs.c: Likewise. 2004-08-26 Roland Illig * vfs.c (mc_chdir): Fixed memory leak. 2004-08-22 Leonard den Ottolander * vfs/extfs/a.in: Quote parameters to calls to system/open that spawn a shell. * vfs/extfs/apt.in: Likewise. * vfs/extfs/debd.in: Likewise. * vfs/extfs/dpkg.in: Likewise. * vfs/extfs/deba.in: Clean up earlier fixes to quotation of parameters. * vfs/extfs/deb.in: Likewise. 2004-08-24 Roland Illig * extfs.c (extfs_internal_stat): Fixed memory leaks introduced by my change from 2004-08-16. (extfs_unlink): likewise. * ftpfs.c (ftpfs_send_command): likewise. 2004-08-21 Pavel S. Shirshov * extfs/urar.in: Fix non-POSIX constructs. From Koblinger Egmont 2004-08-21 Pavel S. Shirshov * extfs/rpm: Modified workaround for spaces and single quotes in the path name. Based on patch from Jakub Jelinek 2004-08-21 Pavel S. Shirshov * extfs/rpm: Don't show cpio contents in main rpm view. Also avoids copying files from main view instead of from inside CONTENTS.cpio. The former is painfully slow as the whole file is rpm2cpio'd on each copy. From Jakub Jelinek 2004-08-21 Pavel S. Shirshov * samba/lib/util.c (tmpdir): Use MC_TMPDIR environment variable. (automount_lookup): More secure code. 2004-08-19 Roland Illig * extfs/deb.in (mcdebfs_list): Separated the use of quoted and unquoted variables. (mcdebfs_copyout): likewise. (mcdebfs_run): likewise. From Leonard den Ottolander 2004-08-19 Roland Illig * extfs/deba.in (list): Separated the use of quoted and unquoted variables. (copyout): likewise. (run): likewise. From Leonard den Ottolander 2004-08-19 Roland Illig * extfs/deba.in (bt): deleted. (ft): deleted. (fm): deleted. (ls): deleted. (list): correctly quoted shell command arguments. (copyout): likewise. (run): likewise. From Leonard den Ottolander 2004-08-19 Roland Illig * smbfs.c: Modified smbfs_convert_path based on a patch sent by Andrew V. Samoilov. Adjusted the calls to smbfs_convert_path. Simplified string handling by using free_after from src/util.h. Fixed one memory leak and one accidental modification. 2004-08-18 Pavel S. Shirshov * extfs/rpm: Command line parameters fix for UPGRADE. Fix mcrpmfs_copyout for INFO/OBSOLETES and INFO/LICENSE From Leonard den Ottolander 2004-08-16 Roland Illig * cpio.c: Renamed various variables called "stat" into "st" to avoid name conflicts with the POSIX function stat. No functional changes. * direntry.c: Added const modifier where appropriate. No functional changes. * extfs.c: Made the parameters constant, making local copies if needed. * fish.c: likewise. * ftpfs.c: Changed most char * parameters to const char *, creating local copies if necessary. * vfs.c: likewise. * local.c: Changed most char * parameters to const char *. No functional changes. * mcfs.c: likewise. * sfs.c: likewise. * smbfs.c: likewise. * utilvfs.c: likewise. * mcserv.c: Added guards around the #includes for and . No functional changes. * smbfs.h: Cleaned up header inclusion guard. * vfs.h: Has been split up into vfs.h (for clients) and vfs-impl.h (for filesystem implementors). 2004-08-16 Pavel S. Shirshov * extfs/deb.in: Security fix patch. Fix insecure temporary file and directory creations. (CAN-2004-0231). * extfs/uar.in: Likewise. * extfs/uha.in: Likewise. * extfs/ulha.in: Likewise. * extfs/urar.in: Likewise. * extfs/uzip.in: Likewise. * extfs/uzoo.in: Likewise. 2004-08-14 Andrew V. Samoilov * extfs.c (extfs_init): Fix possible off-by-one buffer underflow for empty lines in extfs.ini. * sfs.c (sfs_init): Fix possible buffer overflows for invalid sfs.ini. 2004-06-14 Pavel Roskin * tar.c: Eliminate struct hstat, use stack arguments instead. 2004-03-07 Andrew V. Samoilov * utilvfs.c (vfs_parse_ls_lga): Handle device without whitespace(s) between major and minor. * direntry.c (vfs_s_resolve_symlink): Check vfs_s_fullpath() return value to avoid NULL dereference. Reported by wwp . * vfs.c (mc_def_ungetlocalcopy): Fix missed "%s". * utilvfs.c (vfs_parse_ls_lga): Likewise. * samba/lib/debug.c (Debug1): Don't try to open/create logfile if debugf is empty string. 2004-01-27 Pavel Roskin * smbfs.c (smbfs_reconnect): Revert changes in a translated message. 2004-01-23 Andrew V. Samoilov * extfs/rpm: Workaround for spaces and single quotes in the path name. 2004-01-22 Pavel Roskin * mcserv.c: Use HAVE_CRYPT instead of USE_CRYPT. Remove references to HAVE_LIBCRYPT and HAVE_LIBCRYPT_I. Reported by Christian Laubscher * samba/configure.in: Rename to ... * samba/configure.ac: ... this. Adjust dependencies. 2003-12-05 Andrew V. Samoilov * fish.c (fish_open_archive_int): Save some stack and place -C flag before host. 2003-11-28 Pavel Roskin * undelfs.c: Use ext2fs/ext2_fs.h instead of linux/ext2_fs.h when possible. 2003-11-26 Pavel Roskin * gc.c (vfs_ncs_getid): Merge with vfs_getid(). * gc.c: Eliminate all code for timestamping parent filesystems. It's broken and undocumented. Adjust all dependencies. 2003-11-24 Andrew V. Samoilov * direntry.c (vfs_s_resolve_symlink): Eliminate g_strdup_printf(). (vfs_s_fullpath): Likewise. 2003-11-21 Pavel Roskin * ftpfs.c (ftpfs_login_server): Explicit password should have priority over the netrc password and the anonymous password. Reported by Jindrich Makovicka 2003-11-14 Andrew V. Samoilov * undelfs.c (undelfs_loaddel): Use g_try_malloc()/g_try_realloc() since we want to recover and not abort the program if we don't have enough memory. (com_err): Fix implementation. 2003-11-14 Pavel Roskin * vfs.c (vfs_split): Deconstify. * direntry.c (vfs_s_get_path_mangle): Likewise. "mangle" is in the name for a reason. Use vfs_s_get_path() instead where the path should be preserved. * extfs.c (extfs_get_path_mangle): Likewise. * sfs.c (sfs_vfmake): Protect against changes in vfs_split(). 2003-11-13 Pavel Roskin * vfs.h: Constify chdir() and opendir() methods. Adjust all dependencies. * vfs.c (mc_chdir): Constify, eliminate protection against broken implementations of chdir() method. (mc_opendir): Constify. * direntry.c (vfs_s_stamp_me): Generalize and move ... * gc.c (vfs_stamp_create): ... here. Use whenever possible. 2003-11-12 Pavel Roskin * gc.c: Use NULL instead of -1 for empty vfsid. Adjust all dependencies. * undelfs.c (undelfs_get_path): Don't shadow static ext2_fname. (undelfs_getid): Likewise. Use fs for non-empty vfsid. 2003-11-12 Andrew V. Samoilov * cpio.c (cpio_create_entry): Fix possible buffer underflow and memory leak. 2003-11-08 Pavel Roskin * gc.c: Make getid(), nothingisopen() and free() methods optional. Eliminate trivial implementations. (vfs_getid): New function - safe wrapper around getid(). Use it everywhere. (vfs_ncs_getid): Remove dead code, improve readability. 2003-11-07 Pavel Roskin * vfs.c: Split garbage collection code into ... * gc.c: ... this. * vfs.h: Corresponding code moved ... * gc.h: ... here. * Makefile.am: Adjustments for the above. 2003-11-05 Pavel Roskin * vfs.c: Eliminate MC_OP. Reorder other MC_* macros for readability. * vfs.c: Move all parsing code, vfs_die() and vfs_get_password() to utilvfs.c, vfs_print_stats() to direntry.c. * utilvfs.c (vfs_parse_ls_lga): Disable caching current date, it's done incorrectly. 2003-11-04 Pavel Roskin * vfs.c: Allocate handles dynamically. (get_bucket): Rewrite as vfs_new_handle(). (vfs_op): Make a function. (vfs_info): Likewise. (vfs_free_bucket): Replace with vfs_free_handle(). (mc_readdir): Expand, eliminate MC_DIROP. 2003-10-30 Pavel Roskin * HACKING: New file - technical documentation for VFS. * Makefile.am: Distribute it. * vfs.c (vfs_rmstamp): Rescan the tree after the parents have been removed. Otherwise using old data causes data corruption in some combinations (e.g. extfs inside tarfs). 2003-10-29 Pavel Roskin * extfs.c: Remove current_dir field, its role was purely decorative. Rename names starting with underscore. * extfs.h: Merge ... * extfs.c: ... here. * Makefile.am: Remove extfs.h. * ftpfs.c: Use HAVE_STRUCT_LINGER_L_LINGER instead of HAVE_STRUCT_LINGER. * Makefile.am: Compile utilvfs.c even without USE_VFS_NET. * utilvfs.c (vfs_split_url): Only compile with USE_NETCODE defined. 2003-10-28 Pavel Roskin * fish.c (fish_fh_open): Use vfs_mkstemps() for write buffers as well, since the file can be reopened for reading later. * ftpfs.c (ftpfs_fh_open): Likewise. * utilvfs.c (vfs_mkstemps): New function - create temporary file with the name resembling the original, but safe for scripts. * direntry.c (vfs_s_open): Use it. (vfs_s_retrieve_file): Likewise. * extfs.c (extfs_open): Likewise. * sfs.c (sfs_redirect): Likewise. * vfs.c (mc_ungetlocalcopy): Free local path here, not in class implementations. * vfs.h (struct vfs_s_class): Constify "local" argument for ungetlocalcopy. Adjust all implementations. * direntry.c (vfs_s_init_class): Use our getlocalcopy for remote filesystems that cache files, not for archives. (vfs_s_getlocalcopy): Corresponding changes. * direntry.c (vfs_s_init_class): Improve interface to allow more code reuse. Change all callers. (vfs_s_getlocalcopy): New implementation. Don't use mc_def_getlocalcopy(). Use vfs_s_open() to create local copy. (vfs_s_ungetlocalcopy): New function. * xdirentry.h: Add new field "flags" to struct vfs_s_subclass. * extfs.c (extfs_ungetlocalcopy): Don't use mc_def_ungetlocalcopy() in the dead branch. * vfs.c (mc_def_getlocalcopy): Make static. (mc_def_ungetlocalcopy): Likewise. 2003-10-27 Pavel Roskin * vfs.h: Constify some arguments for many functions. * xdirentry.h: Likewise. Adjust all dependencies. * *.c: Rename functions that don't have an a prefix indicating what file they are defined in. This simplifies debugging. * vfs.c (mc_def_getlocalcopy): Use O_LINEAR when retrieving the remote file. This avoids an extra temporary file. * cpio.c (cpio_ungetlocalcopy): Remove. * tar.c (tar_ungetlocalcopy): Likewise. * vfs.c (mc_def_ungetlocalcopy): Add support for read-only filesystems. 2003-10-26 Pavel Roskin * direntry.c (vfs_s_find_inode): Only allow search from root. Change second argument to superblock to prevent abuse. * direntry.c (vfs_s_find_entry_tree): Eliminate buffer of fixed size. Don't prepare path for vfs_s_resolve_symlink(). (vfs_s_resolve_symlink): Remove unused argument "path". * direntry.c (vfs_s_add_dots): Remove. Fix all callers. (vfs_s_free_inode): Remove support for "." and ".." entries. * ftpfs.c (dir_load): Likewise. Support for "." and ".." entries was a hack that could make the cache non-traversable from inodes to the root and cause infinite loop in vfs_s_fullpath(). Reported by Frédéric L. W. Meunier 2003-10-25 Pavel Roskin * tar.h: Merge into tar.c, as it doesn't provide any external interface. * Makefile.am: Remove tar.h. * vfs.h: Remove redundant declaration of init_localfs(). * mcserv.c: Don't use HAVE_CRYPT from extraconf.h. * samba/include/includes.h: Likewise. 2003-10-24 Pavel Roskin * ftpfs.c: Remove the rest of source routing code. * xdirentry.h: Likewise. * ftpfs.c (setup_source_route): Remove. It's a badly implemented hack that was never enabled. 2003-10-16 Pavel Roskin * direntry.c (vfs_s_find_entry_tree): Canonicalize path. * direntry.c (vfs_s_resolve_symlink): Don't use buffers of fixed size. This fixes a security hole. Always start from the root. Remove broken code for making symlinks relative. (vfs_s_find_entry_tree): Protect against long path, since this function uses a buffer of fixed size. (vfs_s_fullpath): Implement support for archives (real trees). 2003-10-16 Andrew V. Samoilov * vfs.c (mc_open): Fix rare memory leak on failure. 2003-10-16 Pavel Roskin * direntry.c (vfs_s_setctl): Implement VFS_SETCTL_FLUSH. * ftpfs.c: Remove ftpfs_flushdir. Use MEDATA->flush. * fish.c: Use MEDATA->flush. * direntry.c (vfs_s_setctl): Add support to VFS_SETCTL_LOGFILE. * ftpfs.c (ftpfs_set_debug): Remove. * names.c: Merge ... * utilvfs.c: ... here. * names.h: Merge ... * utilvfs.h: ... here. * Makefile.am: Remove references to names.c and names.h. * xdirentry.h: Rename vfs_s_data to vfs_s_subclass. * cpio.c: Initialize only non-zero fields in vfs_s_subclass. * fish.c: Likewise. * ftpfs.c: Likewise. * tar.c: Likewise. * vfs.h: Rename commands for mc_ctl() and mc_setctl() to make it clear which function they are used with. * vfs.c (mc_ctl): Change last argument to (void*). (mc_set): Likewise. Adjust all dependencies. * xdirentry.h: Move system includes to the files that need them. * xdirentry.h: Fix typos in field names. * xdirentry.h: Cleanup unused or write-only fields. Adjust all dependencies. * xdirentry.h: Remove magic numbers. Move some constants ... * ftpfs.c: ... here. 2003-10-15 Pavel Roskin * samba/lib/doscalls.c: Remove. Remove all references to it. 2003-10-14 Pavel Roskin * vfs.h: Remove all references to seekdir and telldir. Adjust all dependencies. 2003-10-13 Pavel Roskin * vfs.c (_vfs_add_noncurrent_stamps): Fix incorrect casts. 2003-10-12 Pavel Roskin * extfs.c: Switch to self-registration. * mcfs.c: Likewise. * sfs.c: Likewise. * smbfs.c: Likewise. * undelfs.c: Likewise. * vfs.s (_vfs_add_noncurrent_stamps): Temporary disable code that uses vfs_extfs_ops. (vfs_file_is_smb): Remove. * local.c: Switch to self-registration. * vfs.c: Cache localfs class for the use in vfs_get_class(). 2003-10-11 Pavel Roskin * xdirentry.h: Remove all typedefs, there is no need to hide the fact that structures are structures. Fix all dependencies. * vfs.h: Remove typedef vfs, it's too ambiguous. Massive changes to use struct vfs_class instead. * vfs.c (vfs_setup_wd): Initialize current_vfs here, not globally. (vfs_type_from_op): Rename to vfs_prefix_to_class(), avoid using vfs_local_fs. (vfs_strip_suffix_from_filename): Don't use vfs_local_fs. * vfs.h (ftpfs_hint_reread): Remove, it's unused. * vfs.c (vfs_add_noncurrent_stamps): Call vfs_rm_parents() at the end. Change all callers not to call it. (vfs_rm_parents): Make static. * direntry.c: Don't use vfs_local_fs directly, use VFSF_LOCAL. * extfs.c: Likewise. * vfs.c (vfs_addstamp): Likewise. (vfs_init): Register vfs_local_fs like other classes. * direntry.c: Make more functions static. They are filled in in vfs_s_init_class() now and don't need to be exported. * tarfs.c: Switch to self-registration. * extfs.c: Don't include xdirentry.h. * vfs.c: Likewise. * ftpfs.c: Switch to self-registration. * vfs.h: Remove parts used only when USE_VFS is not defined. * vfs.h: Introduce new VFS flags instead of the old unused ones. * vfs.c (vfs_file_class_flags): New function. (vfs_file_is_ftp): Eliminate. (vfs_file_is_smb): Likewise. (vfs_file_is_local): Likewise. (vfs_current_is_local): Use new VFSF_LOCAL flag. * vfs.c: Constify arguments of many functions. * undelfs.c (undelfs_get_path): Constify first argument. * vfs.h (struct vfs_class): Constify path. Fix all dependencies. * vfs.c (vfs_release_path): New function, code taken from _do_panel_cd(). (vfs_ncs_getid): Make static. * vfs.c (vfs_type): Rename to vfs_get_class(). Fix prototype to avoid using internal vfs type. Adjust all dependencies. (vfs_rosplit): Rename to _vfs_get_class(). * cpio.c (init_cpiofs): Set vfs_cpiofs_ops.setctl to NULL, or bad things happen after unsuccessful deletion. * vfs.h: Remove obsolete code. 2003-10-10 Pavel Roskin * vfs.c (vfs_flags): Eliminate, it's never assigned a non-zero value. * vfs.h: Eliminate unused VFS flags. * local.c (vfs_nil_ops): Eliminate, it's unused now. * fish.c: Convert to calling vfs_register_class(). * fish.h: Eliminate. Adjust all dependencies. * direntry.c (vfs_s_init_class): Add missing vfs_s_setctl(). * vfs.h: Rename "struct _vfs" to "struct vfs_class". Allow calling vfs_register() in the file defining the VFS class. * vfs.c (vfs_init): Register cpiofs in cpio.c. (vfs_register): Rename to vfs_register_class(), remove "static". * direntry.c (vfs_s_init_class): New function - generic VFS class registration for vfs_s descendants. * cpio.c: Register VFS class locally. 2003-10-07 Pavel Roskin * direntry.c: Make functions static when possible. * xdirentry.h: Remove unneeded declarations. 2003-09-28 Pavel Roskin * vfs.c (vfs_type_from_op): Check if vfs->prefix is NULL before calling strlen() on it. (vfs_strip_suffix_from_filename): Likewise. (mc_chdir): Don't panic if no chdir function is defined. This fixes "cd #gz". 2003-09-23 Pavel Roskin * vfs.c (vfs_canon): Remove tilde expansion. mc_chdir() should act like chdir() of localfs, which doesn't expand tilde. Reported by Doncho Gunchev 2003-09-22 Pavel Roskin * vfs.c (mc_get_current_wd): Use g_strlcpy() to avoid unneeded padding and silence Valgrind. 2003-09-09 Andrew V. Samoilov * samba/libsmb/namequery.c (_interpret_node_status): Comment out. 2003-09-03 Pavel Roskin * samba/include/charset.h: Remove declaration already present in proto.h. * samba/include/proto.h: Run through uniq. 2003-08-30 Pavel Roskin * samba/tests/summary.c: Remove. The test is now included ... * samba/configure.in: ... here. * samba/tests/README: Remove, it's irrelevant. * samba/architecture.doc: Likewise. * samba/include/dlinklist.h: Remove, it's unused. Adjust dependencies. * samba/libsmb/namequery.c (name_status): Remove, it's unused. * Makefile.am: Remove unused Samba files. * samba/include/smb.h: Remove unneeded includes. * samba/include/ntdomain.h: Remove, it's unused. * samba/include/rpc*.h: Likewise. * samba/lib/util_unistr.c: Remove unused code. * samba/include/proto.h: Regenerate. * Makefile.am: Remove unused Samba headers. 2003-08-29 Pavel Roskin * samba/lib/system.c: Remove all unused code. * samba/include/proto.h: Remove some unused prototypes. * samba/include/includes.h: Don't include sys/capability.h, it's not needed. * samba/configure.in: Remove tests for capabilities and groups, which are unused now. Also remove the trivial test. * Makefile.am: Remove unused Samba tests. 2003-08-29 Andrew V. Samoilov * direntry.c (vfs_s_dump): Commented out. * extfs.c (s_readlink): Fix return value and possible buffer overflow. * mcfs.c (mcfs_readlink): Fix return value. * mcserv.c (do_readlink): Fix possible off-by-one. (commands): Make const array and remove needless comma. 2003-08-29 Pavel Roskin * ftpfs.c (initconn): Use more portable initialization. * xdirentry.h: Use safer definition of ERRNOR. 2003-08-18 Oskar Liljeblad * extfs/uzip.in: Fix error in parsing size of files over 9999999 bytes long. 2003-08-08 Pavel Roskin * extfs/audio.in: Further portability fixes. Use current date for timestamps. Partly from Andrew V. Samoilov * extfs/audio.in: Fix non-POSIX constructs. From GoTaR 2003-07-28 Andrew V. Samoilov * ftpfs.c (login_server): Undo last change. 2003-07-23 Andrew V. Samoilov * ftpfs.c (login_server): Fix memory leak. (linear_abort): Close dsock before reconnect(). (ftpfs_done): Release no_proxy list. 2003-07-21 Andrew V. Samoilov * ftpfs.c (load_no_proxy_list): Fix infinitive loop if ferror(). (initconn): Reset variables if setup_passive() fails. (open_data_connection): Set my_errno to errno before close() syscall. (dir_load): Optimize cd_first calculation. 2003-06-24 Andrew V. Samoilov * extfs/lslR.in: Portability fixes. 2003-06-21 Jindrich Makovicka * ftpfs.c (command): Fix misuse of the status variable. Don't cache the value of SUP.sock before reconnect. 2003-06-05 Pavel Roskin * vfs.c: Rename mc_return_cwd() to _vfs_get_cwd(). Move related functions closer to each other, add comments. * ftpfs.c (ftpfs_done): New function. Free ftpfs_proxy_host and ftpfs_anonymous_passwd. 2003-05-30 Pavel Roskin * extfs/trpm: Fix compatibility with the secure temporary filenames used by extfs. Filter rpm messages from the listing. 2003-05-08 Pavel Roskin * fish.c (file_store): Use block size 1. It's slower, but much safer. GNU dd is not persistent enough when reading data. * extfs/rpm: If rpm doesn't support --info as in Red Hat 9, ignore it and don't show HEADER in the listing. 2003-04-29 Michael Shigorin * extfs/iso9660.in: Determine presence of Rock Ridge and Joliet extensions by running "isoinfo -R". Use current charset for Joliet extensions. 2003-04-29 Pavel Roskin * extfs/iso9660.in: New filesystem for ISO-9660 images. From Michael Shigorin * extfs/extfs.ini: Add iso9660. * extfs/Makefile.am: Add extfs/iso9660.in. 2003-04-03 Andrew V. Samoilov * smbfs.c (open_readwrite): New function to replace open_read() and open_write(). Use cli_close() if cli_qfileinfo() or cli_getattrE() fail. (smbfs_open): Use open_readwrite(). Free remote_handle if open_readwrite() fails. 2003-03-24 Adam Byrtek * extfs/patchfs.in: Treat '\ No newline at end of file' line as valid diff contents. 2003-03-14 Lorinczy Zsigmond * ftpfs.c (login_server): Ask user for account if the server asks for it. 2003-03-13 Andrew V. Samoilov * samba/libsmb/clientgen.c (cli_session_setup): Convert username from Unix to DOS codepage before sending. 2003-03-10 Adam Byrtek * extfs/patchfs.in: Minor cleanups. 2003-03-10 Pavel Roskin * extfs.c (extfs_cmd): Quote localname - it's based on the entry name, so it can contain dangerous symbols like "&". 2003-02-26 Adam Byrtek * extfs.c (extfs_open): Retain original filename as a suffix for the temporary filename. * vfs.c (mc_def_getlocalcopy): Likewise. 2003-02-24 Adam Byrtek * extfs/patchfs.in: rm and proper copyin support, more functions to make code more clear. 2003-02-19 Andrew V. Samoilov * smbfs.c (smbfs_lseek): Backport from Samba 2.2.7 Suite. (fake_server_stat): Warning fix for SunOS. Reformat function. (fake_share_stat): Likewise. (smbfs_mkdir): Likewise. * direntry.c (vfs_s_dump): Likewise. * vfs.c (is_localized_month): New function for locale's abbreviated month name as any 3 bytes long string without digits and control characters. (vfs_parse_filedate): Fallback to is_localized_month() if is_month() and is_dos_date() fail and set date to Jan 1 1970. (vfs_parse_ls_lga): Use is_localized_month(). 2003-01-24 Pavel Roskin * smbfs.c (smbfs_nothingisopen): Warning fix for 64-bit systems. (smbfs_free): Likewise. 2003-01-24 Andrew V. Samoilov * extfs/urar.in: Search $PATH for unrar, fallback to rar. 2003-01-13 Adam Byrtek * extfs/patchfs.in: context diff format support, regular expressions precompiled, some minor fixes. 2002-12-29 Andrew V. Samoilov * extfs/rpm: Use --nosignature only if rpm supports this. 2002-12-25 Pavel Roskin * extfs.c (read_archive): Free archive if the "list" command returned non-zero, return -1. Initial implementation from Adam Byrtek 2002-12-24 Pavel Roskin * direntry.c (vfs_s_open): If the filesystem is read-only, disable file creation. * vfs.c (mc_chdir): Don't change current directory until the low-level chdir succeeds. * vfs.c (vfs_name): Eliminate - it's unused and wrong. 2002-12-24 Andrew V. Samoilov * extfs/mailfs.in: Quote filename when opening mailbox. 2002-12-24 Adam Byrtek * extfs/apt.in, extfs/dpkg.in: Avoid stat on non-existing file. 2002-12-20 Andrew V. Samoilov * smbfs.c: Resurrect and use myumask for generated permissions. 2002-12-19 Adam Byrtek * extfs/patchfs.in: Fix patch size calculation. Use bytes to count size in bytes, not characters (in multibyte encodings char can be two or more bytes wide). 2002-12-19 Andrew V. Samoilov * extfs/patchfs.in: Don't rely on tell() - it doesn't always work on pipes. Determine patch size by adding together the line lengths. 2002-12-19 Adam Byrtek * extfs/patchfs.in: Allow diffs with function names after "@@". Don't consider an empty newline as the end of the diff. 2002-12-18 Andrew V. Samoilov * extfs/patchfs.in (openread): Use quoted $archive when opening archives. (list): Set $archive to quoted $_[0]. 2002-12-16 Pavel Roskin * extfs/rpm: Don't check package signatures - it creates a lot of noise on stderr if the signature is missing. 2002-12-14 Adam Byrtek * extfs/mailfs.in: Fixed bug when opening empty mailbox. Added proper message size (not number of lines, like before) counting. 2002-12-13 Pavel Roskin * extfs/uha.in (mchafs_list): Don't parse the month, use DD-MM-YYYY output. (mchafs_copyout): Use cat, not mv, because the files can be on different filesystems. Use "q" and don't suppress stderr. * extfs/ulha.in: Don't suppress stderr. * extfs/uzoo.in: Always use "q" option to avoid processing junk. Always create symlink, do it in a safer directory. * extfs/uarj.in: New script working with open-source ARJ. Contributed by Viatcheslav Odintsov. * extfs/uarj: Remove. * extfs/hp48: Rename to ... * extfs/hp48.in: ... this. It needs awk substitution. * extfs/Makefile.am: Adjust for the above. * extfs/ulha.in: Strengthen quoting. * extfs/uha.in: Strengthen quoting. Remove unnecessary space after filename. Update URL. Use safer temporary directory. * extfs/uarj: New list-only implementation that doesn't need patched unarj. * extfs/unarj.diff: Remove. * extfs/Makefile.am: Remove extfs/unarj.diff. 2002-12-13 Adam Byrtek * extfs/patchfs.in: "copyin" method added (with compressed files support). Files inside archive now have '.diff' extension. Temporary file not needed any more. Proper handling of "/dev/null" filenames, filename heuristics based on diff info page. Set files owner and group as the archive. * extfs/audio.in: CDDB_TIMEOUT variable added. 2002-12-12 Pavel Roskin * vfs.c (is_dos_date): Allow 4-digit years. (vfs_parse_filedate): Don't limit length of the year field for DOS dates, subtract 1900 if necessary. * extfs/apt.in: Fix Y2K bug. * extfs/deba.in: Likewise. * extfs/debd.in: Likewise. * extfs/dpkg.in: Likewise. Reported by Adam Byrtek * extfs/patchfs.in: Print 4-digit year. If str2time is not available, use current time, not 0. 2002-12-12 Andrew V. Samoilov * extfs/urar.in: rar lists directories after files, so sort "list" command output by names to prevent duplications. 2002-12-12 Pavel Roskin * extfs/urar.in: Strengthen quoting. Don't use full path to rar and unrar. Don't redirect stderr to /dev/null. * extfs/uar.in: Simplify "list" command, don't use current year. Use more careful quoting. 2002-12-12 Adam Byrtek * extfs/apt.in: Add non-interactive remove using dpkg. 2002-12-11 Adam Byrtek * extfs/apt.in: Add 1 to the month number. Perl localtime() uses range 0..11 while extfs expects range 1..12. * extfs/deba.in: Likewise. * extfs/debd.in: Likewise. * extfs/dpkg.in: Likewise. * extfs/audio: Move ... * extfs/audio.in: ... here. Add CDDB support. * extfs/Makefile.am: Adjust for the above. 2002-12-11 Pavel Roskin * extfs/mailfs: Try using UnixDate() from Date::Manip if it's available. Warning fix. 2002-12-11 Andrew V. Samoilov * extfs/patchfs: Use quotemeta() before giving filename to shell. * vfs.c (mc_stat): Make first argument const. (mc_lstat): Likewise. * vfs.h: Adjust declarations and remove some useless defines. 2002-12-10 Pavel Roskin * extfs/a: Enable Perl warnings. Ignore entries without a date. Warning fixes. Don't redirect stderr to /dev/null - it doesn't mess the screen now. 2002-12-09 Adam Byrtek * extfs/patchfs: Rewritten in Perl. File size is now displayed properly. 2002-12-09 Pavel Roskin * extfs/ftplist.in: Remove, it's obsoleted by the hotlist. * extfs/ucpio.in: Remove, it's obsoleted by cpio.c. * extfs/Makefile.am: Remove all references to them. * extfs/extfs.ini: Likewise. * extfs.c (__find_entry): When creating entries for regular files, set initial permissions to S_IFREG | 0666. This fixes problems with viewing and editing newly added files. * extfs/bpp: Fix file sizes, contents of INSTALL and UPGRADE. 2002-12-08 Pavel Roskin * extfs/uar.in: Fix "copyin" command. 2002-12-06 Pavel Roskin * extfs.c (extfs_open): Don't run "copyout" if the file just has been created or O_TRUNC is given in the flags. Reported by Adam Byrtek 'alpha' * extfs/uar.in: Implement "copyin" and "rm" commands. 2002-12-06 Andrew V. Samoilov * extfs.c: Don't include ../src/profile.h. (extfs_open): Remove local_filename if copyout fails. 2002-12-05 Pavel Roskin * extfs.h: Remove "extfsstat" from struct archive - it's unused outside open_archive(). Adjust the dependencies. * extfs.c: Make hstat local variable. * sfs.c: Remove "uid" from struct cachedfile - it's unused now. * vfs.h: Remove vfs_uid and vfs_gid. Fix all dependencies. 2002-12-05 Andrew V. Samoilov * extfs.c (open_archive): Use open_error_pipe before popen() and close_error_pipe() if popen() fails to handle stderr. (read_archive): Use close_error_pipe() after pclose(). 2002-12-05 Pavel Roskin * ftpfs.c: Define INADDR_NONE if it's not already defined. Needed for Solaris 9. Reported by Roman Dorokhin 2002-12-03 Andrew V. Samoilov * extfs.c (open_archive): Don't use open_error_pipe() and close_error_pipe() - it gets stuck on output that exceeds 4 kilobytes. 2002-12-01 Andrew V. Samoilov * extfs.c (open_archive): Use open_error_pipe() and close_error_pipe() to prevent stderr from extfs scripts pollute the screen. (extfs_cmd): New function to run extfs scripts and handle stderr in one place. (extfs_open): Use extfs_cmd(). (extfs_close): Likewise. (extfs_unlink): Likewise. (extfs_mkdir): Likewise. (extfs_rmdir): Likewise. 2002-12-01 Pavel Roskin * extfs/Makefile.am: Add uzip to EXTFS_OUT. 2002-11-16 Pavel Roskin * mcserv.c (do_classic_auth): Restore support for shadow passwords. Use crypt() instead of pw_encrypt() - the later is missing on Slackware 8.0. Reported by Christian Laubscher * Makefile.am: Consolidate mcserv libraries into MCSERVLIBS. 2002-11-15 Pavel Roskin * mcserv.c: Include getopt.h, don't redefine optarg. * names.c: Only leave actually used functions. * ftpfs.c (ftpfs_open_socket): Use INADDR_NONE, not -1. 2002-11-12 Pavel Roskin * fish.c (fish_which): Remove. 2002-11-12 Andrew V. Samoilov * ftpfs.c (linear_abort): Close data socket dsock. 2002-11-11 Pavel Roskin * vfs.h [USE_VFS] (mc_setctl): Specify argument types. * cpio.c (cpiofs_data): Warning fix in initialization. * tar.c (tarfs_data): Likewise. * vfs.c: Leave only necessary includes from ../src. 2002-11-10 Pavel Roskin * vfs.c: Make the last argument to MC_OP non-empty in the definition of MC_HANDLEOP. Needed for Mac OS X. Reported by Wim Rijnders 2002-11-08 Pavel Roskin * extfs/a: Set environment to force date and time format suitable for VFS. Fix support for long filenames with spaces. 2002-11-06 Andrew V. Samoilov * smbfs.c (new_dir_entry): Initialize st_ino, so recursive directory copying is possible now. * vfs.c (mc_get_current_wd): Make sure returned string is null terminated. 2002-11-03 Pavel Roskin * vfs.c: Remove unused code. * vfs.h: Define vfs_uid and vfs_gid as 0, they never change. 2002-11-01 Andrew V. Samoilov * fish.c: Use name_quote() to quote filenames. (file_store): Close localname on error. 2002-10-25 Jindrich Makovicka * ftpfs.c (linear_abort): Close data socket, ProFTPD 1.2.6 expects the client to close it. 2002-10-13 Pavel Roskin * vfs.h: Remove tar_gzipped_memlimit. From Christian Laubscher 2002-10-11 Andrew V. Samoilov * smbfs.c (fake_share_stat): Make sure share exists by smbfs_get_path() and fill buf with realistic data if current_share_info is NULL. Reformat function. (smbfs_get_path): Add const qualifier to path. 2002-10-09 Andrew V. Samoilov * smbfs.c: Allow username in URL (/#smb:[user@]machine) and reformat changed functions. (smbfs_get_host_and_username): Fix comment. (smbfs_fill_names): Add username@ before hostname. (smbfs_open_link): Use IPC$ if share is empty. (smbfs_get_path): Pass remote_path to smbfs_open_link(). (smbfs_stat): Copy username@ to server_url if passed. 2002-10-07 Jindrich Makovicka * ftpfs.c (linear_abort): Add a timeout after which a reconnect is performed instead of further fetching of the remaining data. 2002-10-07 Pavel Roskin * direntry.c (vfs_s_resolve_symlink): Use g_snprintf() instead of non-portable snprintf(). Reported by Xu Qiang 2002-10-04 Pavel Roskin * mcfs.c (mcfs_lseek): Explicitly cast offset to int. This fixes viewing and editing files on mcfs. * tcputil.c: Split mcfs-specific part to * mcfsutil.c: ... this. * tcputil.h: Split mcfs-specific part to * mcfsutil.h: ... this. * Makefile.am: Add mcfsutil.c and mcfsutil.h. * mcserv.c: Define own got_sigpipe, which is always 0, since mcserv doesn't call tcp_init(). * Makefile.am: Don't link mcserv with glib. It's unreasonable to require a glib port for embedded systems mcserv may run on. * mcserv.c: Replace all glib calls with standard libc calls. * tcputil.c (rpc_get): Likewise. * mcserv.c (get_client): Don't try to find the address family from the hostname. Always use AF_INET, because everything else is unsupported. 2002-10-04 Andrew V. Samoilov * sfs.c (vfmake): Use open_error_pipe() and close_error_pipe(). 2002-10-01 Andrew V. Samoilov * xdirentry.h: Comment out magic field everywhere. 2002-10-01 Pavel Roskin * Makefile.am (VFSHDRS): Remove container.h. * tcputil.c (check_hooks): Remove, it does nothing. Also remove all related data structures. * tcputil.c (get_remote_port): Move to mcfs.c. (send_string): Move to mcserv.c. (rpc_add_get_callback): Remove, it's unused. * container.h: Remove, it's unused. * utilvfs.c: Remove tests, since get_host_and_username() is missing. * mcfs.c (open_tcp_link): Make static. * tcputil.h: Remove unused definitions. 2002-09-29 Pavel Roskin * direntry.c (vfs_s_retrieve_file): Allow interrupt by Ctrl-C. From Jindrich Makovicka 2002-09-26 Pavel Roskin * sfs.c (sfs_init): Parametrize sfs.ini to allow reuse of the messages in other places. 2002-09-25 Pavel Roskin * vfs.c (vfs_parse_filemode): Fix parsing for filenames that begin with a number. From Jindrich Makovicka 2002-09-24 Andrew V. Samoilov * smbfs.c: Undef USE_NCURSES - no needs to include *curses.h. (smbfs_loaddir): Fix warning. 2002-09-21 Pavel Roskin * mcfs.c: Move config.h to the beginning. 2002-09-19 Andrew V. Samoilov * tcputil.c [!WITH_MCFS]: Disable mcfs related code. * mcfs.c [!WITH_MCFS]: Disable all code. 2002-09-16 Andrew V. Samoilov * smbfs.c: Don't define BOOL_DEFINED to fix compilation on SunOS 5.8. 2002-09-13 Andrew V. Samoilov * (get_stat_info): Fix some possible NULL dereferences. * smbfs.c (smbfs_set_debugf): New function to specify logfile. * smbfs.h: Declare smbfs_set_debugf(). 2002-09-12 Pavel Roskin * mcserv.c: Declare crypt if crypt.h is missing and we are not using PAM. 2002-09-11 Andrew V. Samoilov * smbfs.c (statfile_helper): Merge with loaddir_helper(). (get_remote_stat): Use loaddir_helper(). Care about single_entry instead of eliminated statfile_helper(). * samba/libsmb/clientgen.c (cli_NetServerEnum): Add void* parameter to (*fn)() and void *state parameter. (cli_list): Likewise. (cli_RNetShareEnum): Likewise. Return int. * samba/include/proto.h: Adjust declarations. * smbfs.c: Adjust all helpers and dependencies. From Samba patchsets. * smbfs.c (loaddir_helper): Remove write permissions if file has readonly attribute. Add execute permissions for directory. Reformat whole function. (statfile_helper): Likewise. (server_browsing_helper): Add execute permissions. Reformat. (browsing_helper): Likewise. 2002-09-10 Pavel Roskin * vfs.h: Remove BROKEN_PATHS, it's unused. * Make-alone.am: Get rid of all standalone code, it has been unmaintained for years. 2002-09-05 Pavel Roskin * direntry.c [!USE_NETCODE]: Disable functions used in networked filesystems only. * vfs.c (vfs_init) [!USE_NETCODE]: Don't register fish. * ftpfs.c: Check for existence of arpa/inet.h when using it. * mcfs.c: Likewise. * mcserv.c: Likewise. * tcputil.c: Likewise. * utilvfs.c: Likewise. 2002-09-03 Pavel Roskin * vfs.c (vfs_get_password): Use INPUT_PASSWORD to request a password reliably. 2002-09-02 Andrew V. Samoilov * smbfs.c (smbfs_close): Return -1 if cli->outbuf is NULL and set my_errno to EINVAL - temporary fix. Reformat function. 2002-09-01 Andrew V. Samoilov * samba/param/loadparm.c: Add global_scope variable. (parm_table): Add netbios scope parameter. * samba/lib/util.c: Remove scope variable. Use global_scope instead. * samba/libsmb/nmblib.c (make_nmb_name): Remove scope parameter and use global_scope instead. * samba/libsmb/namequery.c: Adjust make_nmb_name() calls. * samba/include/proto.h: Adjust make_nmb_name() declaration. From samba 2.0.7 patchset. * samba/param/loadparm.c (lp_adduser_script): Commented out. (lp_deluser_script): Likewise. (lp_add_printer): Likewise. (lp_add_one_printer): Likewise. * samba/lib/util.c (reduce_name): Likewise. (transfer_file): Likewise. * smbfs.c (smbfs_do_connect): Adjust make_nmb_name() calls. 2002-08-26 Pavel Roskin * extfs/urar.in: Use rar if unrar is missing. From PLD Linux Distribution. * extfs/a: Use more portable way to redirect all output to /dev/null. From PLD Linux Distribution. 2002-08-24 Pavel Roskin * vfs.c (vfs_parse_ls_lga): Better error message, avoid empty error messages. 2002-08-23 Pavel Roskin * Makefile.am: Use mcserv_LDFLAGS, not mcserv_LDADD for the libraries. 2002-08-22 Pavel Roskin * mcserv.c: Remove old-style Linux-only support for shadow passwords. * Makefile.am: Remove reference to SHADOWLIB. 2002-08-21 Andrew V. Samoilov * ftpfs.c (dir_load): Don't handle empty remote_path in special way. 2002-08-19 Pavel Roskin * direntry.c (vfs_s_get_line): Fix off-by-one buffer overflow. * fish.c (pipeopen): Use _exit(), not vfs_die() to terminate the child if execvp() fails. * sfs.c: Don't use flag EXECUTE_SETUID because it's being removed as insecure and EXECUTE_WAIT because it has no effect. * extfs.c: Likewise. * mcfs.c [!WITH_MCFS]: Disable most code. 2002-08-18 Pavel Roskin * vfs.h: Declare vfs_timeout and tar_gzipped_memlimit. 2002-08-15 Pavel Roskin * vfs.c (mc_def_getlocalcopy): Preserve existing extension. * direntry.c (vfs_s_getlocalcopy): Fix potentially dangerous strcpy(). * extfs.c (s_readdir): Simplify. * direntry.c (vfs_s_readdir): Use vfs_dirent. * mcfs.c (mcfs_readdir): Likewise. * smbfs.c (smbfs_readdir): Likewise. * undelfs.c (undelfs_readdir): Use vfs_dirent and compute_namelen(). * vfs.h: Introduce union vfs_dirent to ensure that we have enough space for the filename. * extfs.c (s_readdir): Use vfs_dirent. Avoid strcpy(). * direntry.c (vfs_s_readdir): Use compute_namelen(). * extfs.c (s_readdir): Likewise. * mcfs.c (mcfs_readdir): Likewise. * smbfs.c (smbfs_readdir): Likewise. 2002-08-14 Pavel Roskin * vfs.h [!USE_VFS]: Declare mc_setctl as static inline function to fix warnings. 2002-08-06 Andrew V. Samoilov * smbfs.c (myumask): Removed. It is only written and never read. (smbfs_init): Use PATH_SEP_STR and reformat. 2002-08-01 Pavel Roskin * mcserv.c: Remove all references to MAD. * vfs.c: Likewise. 2002-07-31 Andrew V. Samoilov * samba/libsmb/clientgen.c (cli_send_tconX): Add missing unix_to_dos() call. (cli_printjob_del): Commented out. (cli_print_queue): Ditto. * samba/lib/system.c (sys_waitpid): Ditto. * samba/lib/util.c (reg_split_key): Ditto. (reg_get_subkey): Ditto. 2002-07-29 Andrew V. Samoilov * samba/configure.in: Don't check for union semun. * samba/include/includes.h [!HAVE_UNION_SEMUN]: Don't declare union semun. 2002-07-26 Pavel Roskin * direntry.c (vfs_s_find_entry_linear): Canonicalize path before searching. 2002-07-25 Andrew V. Samoilov * xdirentry.h (vfs_s_fh.u.fish): Add append field. * fish.c (fish_fh_open): Care about append. (linear_open): Likewise. (fish_store): Append data to target file if append is true. * mcserv.c [HAVE_MAD]: Include "../src/mad.c" at the end of file to fix compilation. (main): Add mad_init() and mad_finalize(). 2002-07-19 Pavel Roskin * ftpfs.c: Don't use SUP.home, use SUP.cwdir. * fish.c: Likewise. (dir_load): Update SUP.cwdir. * xdirentry.h: Remove "home" field for fish and ftpfs. * xdirentry.h: Get rid of ifree(), it's equivalent to g_free(). * direntry.c: Likewise. * fish.c: Likewise. * ftpfs.c: Likewise. * fish.c (fish_fill_names): New function, replacement for generic vfs_s_fill_names() which didn't work right with fish. * undelfs.c (undelfs_opendir): Use parametrized messages without VFS name for success and failure. * fish.c (dir_load): Use new messages from undelfs.c, indicate success by printing "done". * ftpfs.c (dir_load): Likewise. 2002-07-15 Pavel Roskin * cpio.c (cpio_read_crc_head): Undo change in the error message. * ftpfs.c: Replace bzero and bcopy with memset and memcpy. * mcfs.c: Likewise. * mcserv.c: Likewise. * smbfs.c: Likewise. * tar.c: Likewise. 2002-07-14 Pavel Roskin * fish.c (open_archive_int): Don't combine "export" and assignment into one command - it's not portable. Set LC_TIME to "C" as well. * fish.c (open_archive_int): Set remote locale to C, otherwise timestamps cannot be parsed in some locales. 2002-07-12 Pavel Roskin * fish.c (file_store): Reduce input block size to 256 bytes, otherwise dd gets partial blocks. * ftpfs.c (login_server) [HSC_PROXY]: Fix crash. * ftpfs.c (ftp_split_url): Implement looking up password in .netrc for known user. * ftpfs.c (ftp_split_url): Don't expect lookup_netrc() to always return a username. (netrc_has_incorrect_mode): Don't free anything, it can result in freeing some variables twice. (find_machine): New function to find matching "machine" or "default" token. (lookup_netrc): Eliminate external loop - scan for login and password, but don't fallback to another string in case of trouble. * ftpfs.c: Introduce enum keyword_t to improve readability. (netrc_next): Fix return value for unknown keywords. (lookup_netrc): Remove special processing of "*netrc*". * ftpfs.c (ftp_split_url): Move protection against pass being NULL ... (lookup_netrc): ... here. 2002-07-11 Pavel Roskin * xdirentry.h: Eliminate use_proxy field. * ftpfs.c (open_archive_int): Use SUP.proxy instead of SUP.use_proxy. (open_archive): Set SUP.proxy to ftpfs_proxy_host. * ftpfs.h: Eliminate unused structures. * vfs.h: Rename URL_DEFAULTANON to URL_ALLOW_ANON. * utilvfs.c (vfs_split_url): Return NULL as username if URL_ALLOW_ANON is set and no username is found in the URL, otherwise use current name. * ftpfs.c (ftp_split_url): New function - split URL and look up username and password if needed. (login_server): Use ftp_split_url(). (archive_same): Likewise. 2002-07-10 Pavel Roskin * tcputil.h: Move use_netrc declaration ... * vfs.h: ... here. * ftpfs.c: Implement .netrc support unconditionally. (lookup_netrc): Make static. * utilvfs.c: Initialize default_is_netrc. From Thomas Zajic * direntry.c (vfs_s_open): Don't pass O_LINEAR to open() - this flag is for VFS only, and causes side effects in Cygwin. * extfs.c (extfs_open): Likewise. * sfs.c (sfs_open): Likewise. Reported by Pavel Tsekov 2002-07-03 Pavel Roskin * ftpfs.c (setup_passive): Cast arguments to isdigit() to unsigned char for compatibility with non-GNU libc. * tar.c (from_oct): Likewise with isspace(). Reported by Roland Illig <1illig@informatik.uni-hamburg.de> 2002-07-03 Andrew V. Samoilov * extfs.c (extfs_fill_names): Generate filename#vfsname/dir instead of #vfsname/filename/dir. Use PATH_SEP_STR. * sfs.c (sfs_free): Fix memory leak. (sfs_init): Use PATH_SEP_STR. 2002-07-03 Pavel Roskin * cpio.c (cpio_open_cpio_file): Fix type initialization. From Andrew V. Samoilov 2002-07-02 Pavel Roskin * Makefile.am: Add samba to SUBDIRS. Forcedly set DISTDIRS to extfs. Remove parts that are now handled by samba/Makefile. * samba/Makefile.in: Add more empty targets for Automake compatibility. * ftpfs.c (send_ftp_command): Use "anonymous@" as default anonymous password. From Eduardo Perez Ureta 2002-06-25 Pavel Roskin * vfs.c: Add protection against NULL strings to all is_*() functions. 2002-06-21 Andrew V. Samoilov * smbfs.c: Undefine PACKAGE_BUGREPORT, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME and PACKAGE_VERSION before including "samba/include/config.h" to prevent warnings. (smbfs_init): Set DEBUGLEVEL to 0. (do_connect): Rename to ... (smbfs_do_connect): ... this to avoid namespace clash and make static. Make server const. Adjust all callers. (smbfs_add_dots): Remove. (smbfs_stat): Remove code duplication. (smbfs_lstat): Define as smbfs_stat. * samba/lib/system.c (sys_ftruncate): Commented out. * samba/lib/util.c (set_filelen): Likewise. (setbuffer): Likewise. * Makefile.am (SAMBA_DIST): Remove tests/ftruncate.c * samba/tests/ftruncate.c: Removed. * samba/configure.in: Don't check if ftruncate() can extend a file. 2002-06-06 Andrew V. Samoilov * cpio.c (cpio_read_oldc_head): Use char[] for buf instead of char*[]. Remove unneeded casts. Fix error message. (cpio_create_entry): G_free name. Fix offset calculation for symbolic links. 2002-05-22 Pavel Roskin * Makefile.am (mcserv_SOURCES): Remove $(top_srcdir)/src/mad.c, it breaks "make distcheck". * Makefile.am: Set samba_libsamba_a_SOURCES to an empty value to override the default. 2002-05-22 Andrew V. Samoilov * xdirentry.h (vfs_s_fh.u.ftp): Add append field. (vfs_s_data.file_store): Change second argument to (vfs_s_fh *fh). * direntry.c (vfs_s_close): Adjust. * fish.c (file_store): Likewise. * ftpfs.c (file_store): Likewise. Use "APPE" if fh->u.ftp.append is true. (linear_start): Care about fh->u.ftp.append. (ftpfs_fh_open): Likewise. * fish.c (fish_fh_open): Generate fh->ino->localname if this one is NULL and file is opened for writing only. * ftpfs.c (ftpfs_fh_open): Likewise if control_connection_buzy is true. 2002-05-21 Andrew V. Samoilov * direntry.c (vfs_s_retrieve_file): Please, care about fish.local_stat ... * fish.c (linear_close): ... here. * ftpfs.c (linear_read): Unset control_connection_buzy on EOF. (ftpfs_fh_close): Call vfs_s_invalidate (). * fish.c (fish_fh_open): Don't retrieve file if it is opened for writing only. 2002-05-17 Andrew V. Samoilov * xdirentry.h (vfs_s_super): Add control_connection_buzy field to ftp struct. * ftpfs.c (linear_start): Set control_connection_buzy. (linear_abort): Unset control_connection_buzy. (ftpfs_fh_open): Don't retrieve file if it is opened for writing only. Open data connection as fh->handle and unlink/unset local temporary file if control connection isn't buzy. (ftpfs_fh_close): New function to serve opened in ftpfs_fh_open() data connection. Unset fh->changed to prevent MEDATA->file_store() call from vfs_s_close(). * direntry.c (vfs_s_read): Move MEDATA->linear_start() ... (vfs_s_open): ... here. * samba/include/includes.h: Eliminate all references to HAVE_LIBREADLINE. 2002-05-14 Andrew V. Samoilov * Makefile.am (noinst_LIBRARIES): Add samba/libsamba.a if USE_SAMBA_FS is true. (libvfs-mc.a): Don't merge object files with libsamba.a. 2002-05-13 Andrew V. Samoilov * Makefile.am (mcserv_SOURCES): Add $(top_srcdir)/src/mad.c. * vfs.c (MC_RENAMEOP): Make arguments const. * vfs.h (mc_rename): Adjust declaration. (mc_link): Likewise. 2002-05-11 Andrew V. Samoilov * samba/configure.in: Add AC_SYS_LARGEFILE. Don't check atexit, setreuid, setregid, setegid and setluid. 2002-04-31 Pavel Roskin * samba/acconfig.h: Remove. * Makefile.am: Remove references to samba/acconfig.h. * samba/Makefile.in: Likewise. * samba/aclocal.m4: Remove unused test AC_DIRENT_D_OFF. * samba/configure.in: Add descriptions to AC_DEFINE calls. Remove unused tests. * samba/include/includes.h: Cleanup for the symbols that samba/configure.in doesn't define. * samba/lib/netmask.c: Likewise. * samba/include/includes.h: Eliminate all references to HAVE_EXPLICIT_LARGEFILE_SUPPORT. * samba/lib/system.c: Likewise. 2002-04-24 Andrew V. Samoilov * vfs.c (vfs_print_stats): s/transfered/transferred/ * samba/lib/signal.c: Remove. * samba/lib/debug.c (sig_usr2): Commented out. (sig_usr1): Likewise. * samba/lib/util_file.c (gotalarm): Commented out. (gotalarm_sig): Likewise. (do_file_lock): Likewise. (file_lock): Likewise. (file_unlock): Likewise. (startfilepwent): Likewise. (endfilepwent): Likewise. * samba/Makefile.in (SAMBAFILES): Remove lib/signal.o. * Makefile.am (SAMBA_DIST): Remove lib/signal.c. 2002-04-19 Andrew V. Samoilov * vfs.c (vfs_init) [!WITH_MCFS]: Don't register mcfs. 2002-04-12 Pavel Roskin * extfs/trpm: update to work with rpm 4.x. Reported by m.lusini@palazzochigi.it https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=62306 2002-04-12 Andrew V. Samoilov * cpio.c (cpio_skip_padding): Handle old ASCII format. 2002-04-08 Pavel Roskin * samba/configure.in: Require Autoconf 2.52 to make Debian wrapper around Autoconf happy. From Björn Eriksson 2002-03-06 Andrew V. Samoilov * direntry.c (vfs_s_resolve_symlink): Comment out buggy code. (vfs_s_retrieve_file): Set fh->handle to -1. (vfs_s_read): Don't manipulate with FH->handle if it is -1. (vfs_s_write): Likewise. (vfs_s_close): Likewise. 2002-02-27 Andrew V. Samoilov * samba/lib/debug.c: Remove syslog support. 2002-02-19 Pavel Roskin * Makefile.am: Don't compile mcserv if VFS is disabled. * extfs/Makefile.am: Don't install anything if VFS is disabled. * extfs.c (extfs_open): Only create a new entry if it has not been found and O_CREAT is set. Consider file as changed only if it has been successfully created. (extfs_getlocalcopy): Open file only for reading. This prevents marking file as changed. Actually use the has_changed argument. Reported by Nerijus Baliunas 2002-02-12 Pavel Roskin * extfs/lslR.in: Fix parsing of old entries (with year number). From Daniel Skarda <0rfelyus@atrey.karlin.mff.cuni.cz> 2002-02-08 Andrew V. Samoilov * direntry.c (vfs_s_retrieve_file): Use off_t for total and stat_size. (vfs_s_resolve_symlink): Use snprintf instead of sprintf. * vfs.c (vfs_print_stats): Use off_t for have and need. Cast `have' to double to eliminate negative percent(s). Fix print_vfs_message string formats. * vfs.h (vfs_print_stats): Adjust declaration. * ftpfs.c (file_store): Use off_t for total. Fix print_vfs_message string format. 2002-02-07 Andrew V. Samoilov * ftpfs.c (dir_load): Speed up cd_first calculation. (ftpfs_flushdir): Resurrect. 2002-02-06 Andrew V. Samoilov * ftpfs.c (dir_load): Use "LIST -la" instead of "LIST -la ." to eliminate problem with wu-ftpd. Close sock on error. Eliminate goto. (ftpfs_chmod): Don't ignore errors. (reconnect): Restore cwdir if login_server fails. 2002-02-01 Andrew V. Samoilov * ftpfs.c (translate_path): Remove leading slash(es) more carefully. (initconn): Check getsockname() return value. Eliminate goto. (linear_abort): Make ipbuf const array. 2002-01-29 Andrew V. Samoilov * ftpfs.c (reconnect): New function to restore closed connection. (command): Use reconnect if EPIPE received. (dir_load): Eliminate recursion. (login_server): Constify netrcpass parameter. (is_same_dir): Constify path parameter. * samba/lib/charset.c (cp_850): Make const array. (cp_932): Ditto. (codepage_p): Likewise. * samba/lib/debug.c (priority_map): Make const array. * samba/lib/username.c (get_home_dir): Make pass auto. * samba/lib/util.c (become_daemon): Commented out. (yesno): Likewise. 2002-01-24 Pavel Roskin * cpio.c: Don't include glib.h directly. 2002-01-22 Pavel Roskin * extfs/uzip: Fix unsafe printf. Reported by Jari Karppinen 2002-01-22 Andrew V. Samoilov * ftpfs.c (ftpfs_chmod): Add missed '/'. 2002-01-21 Pavel Roskin * vfs.h: Remove all tricks with system headers, they all should be in global.h. * cpio.c: Include utilvfs.h earlier. * tar.c: Likewise. * vfs.h: Include dirent.h only if it's present. 2002-01-21 Andrew V. Samoilov * vfs.h: Spelled. * vfs.c (mc_return_cwd): Fix comment. Check whatever mc_stat returns. Make mc_return_cwd static const char *. Reorder if statement to eliminate unneeded mc_stat calls. 2002-01-17 Pavel Roskin * vfs.h: Remove OS/2 specific code. 2002-01-11 Andrew V. Samoilov * Makefile.am (AM_CFLAGS): Add -DCONFIGDIR=\""@configdir@"\" if smbfs support is enabled. * smbfs.c (smbfs_init): Use CONFIGDIR for smb.conf. 2002-01-02 Pavel Roskin * Makefile.am: Add *clean-local targets to take care of the samba directory. * samba/configure.in: Use explicit AC_CONFIG_AUX_DIR because this setting is not inherited from the top-level configure. 2001-12-31 Pavel Roskin * Make-mc.in: convert to ... * Makefile.am: ... this. * Makefile.am: rename to ... * Make-alone.am: ... this. Automake 1.5b doesn't allow Makefile and Makefile.am to coexist peacefully unless the former is generated from the later. * Make-mc.in: Remove all references to the standalone VFS. 2001-12-18 Pavel Roskin * extfs/ulha.in: Support for "[unknown]" and other permissions in brackets. Pass the date unchanged - mc can now deal with it. Use "lha lq" to list the archive and don't remove headers and footers of the listing. 2001-11-14 Pavel Roskin * undelfs.c: Use ext2_ino_t to avoid warnings with e2fsprogs 1.20 and newer. 2001-11-13 Andrew V. Samoilov * samba/acconfig.h: Remove WITH_SYSLOG. * samba/lib/system.c (sys_chroot): Removed. * samba/configure.in: Remove RUNPROG. Don't check for chroot and execl functions. Remove syslog logging support. Add --with-codepagedir and --with-configdir from samba 2.2.2. * samba/Makefile.in: Use configdir and codepagedir. 2001-11-08 Pavel Roskin * Make-mc.in (SAMBA_DIST): Remove lib/getsmbpass.c. 2001-11-05 Andrew V. Samoilov * smbfs.c (smbfs_add_dots): New function. Insert a "." and ".." entries into the linked list. (smbfs_loaddir): Call smbfs_add_dots() for shares or servers. (smbfs_get_free_bucket): Eliminate time. (fake_share_stat): Make path const. * samba/configure.in: Don't check whether getpass should be replaced. 2001-11-02 Andrew V. Samoilov * vfs.c (mc_return_cwd): Memory leak fixed. 2001-11-01 Andrew V. Samoilov * samba/smblib/pwd_cache.c (pwd_read): Commented out. * samba/Makefile.in (SAMBAFILES): Remove lib/getsmbpass.o. * samba/lib/getsmbpass.c: Removed. 2001-10-30 Andrew V. Samoilov * smbfs.c: Include before everything else. Don't include "tcputil.h". (myhostname): Declare extern. (loaddir): Simplify. (fake_share_stat): Declare server_url const. Use "%4o" for st_mode. (fake_server_stat): Likewise. Return -1 if server_list != True. (get_master_browser): Declare ipzero extern. By David Kaelbling . http://bugzilla.gnome.org/show_bug.cgi?id=60933 * cpio.c (cpio_read_bin_head): Release name if mc_read() fails. (cpio_read_crc_head): Likewise. 2001-10-25 Andrew V. Samoilov * cpio.c (cpio_read_crc_head): Fix buffer overflow. (cpio_read_oldc_head): Likewise. By David Kaelbling . http://bugzilla.gnome.org/show_bug.cgi?id=60933 * (cpio_read_oldc_head): Release name if mc_read() fails. 2001-10-24 Andrew V. Samoilov * tcputil.c (rpc_get): Add missing va_end()s. Fix memory leaking. * smbfs.h: Declare smbfs_set_debug(). 2001-10-20 Pavel Roskin * ftpfs.c (command): Declare with the printf attribute. * undelfs.c: Remove declaration of print_vfs_message(). * fish.c (file_store): Fix incorrect format string for print_vfs_message(). * ftpfs.c (file_store): Likewise. 2001-10-19 Pavel Roskin * fish.c (command): Declare with the printf attribute to enable warnings in gcc. (file_store): Cast all expressions with file sizes to unsigned long. This should fix uploading when large file support is on. File size is limited to 4096 * ULONG_MAX for now. 2001-10-18 Andrew V. Samoilov * samba/configure.in: Don't check readline.h, history.h and libreadline. 2001-10-16 Andrew V. Samoilov * samba/libsmb/clientgen.c (cli_RNetShareEnum): Fix Win2k "out of server memory" error. From samba 2.0.7 patchset. 2001-10-07 Pavel Roskin * vfs.c (vfs_parse_filetype): Fix fallback to fifo if sockets are not supported locally. Support Solaris doors, also fall back to fifo. 2001-10-02 Andrew V. Samoilov * sfc.c (sfs_getid): Don't use vfs_die(), return (vfsid)(-1) instead. 2001-10-01 Pavel Roskin * vfs.h [!USE_VFS]: Define macros with no effect to an empty statement "do { } while (0)". 2001-09-30 Pavel Roskin * samba/acconfig.h: Only leave symbols required by Autoconf-2.52. 2001-09-17 Pavel Roskin * vfs.c: Manually expand macros for mc_stat(), mc_lstat() and mc_fstat() because they don't expand correctly on Solaris 8 with large file support. 2001-09-10 Pavel Roskin * Make-mc.in: Use USE_VFS conditional instead of relying on LIBVFS. 2001-09-07 Pavel Roskin * Make-mc.in: Include necessary parts of Make.common to eliminate the later. 2001-08-23 Pavel Roskin * names.c (finduname): Don't use HAVE_GETPWUID - it's never defined. Don't redeclare getpwuid(). (findgname): Don't use HAVE_GETGRGID - it's never defined. Don't redeclare getgrgid(). * fish.c: Remove useless semicolons after functions. 2001-08-19 Pavel Roskin * vfs.c (vfs_parse_ls_lga): Warning fix if st_nlink is unsigned. Disallow st_nlink = 0. 2001-08-18 Pavel Roskin * cpio.c (cpio_read_head): Check return value of cpio_find_head, because it's not equal to super->u.cpio.type in case of errors. 2001-08-16 Pavel Roskin * direntry.c (vfs_s_free_super): Remove i18n on commented out developer-only code. * extfs.c (extfs_init): Internationalize error message, it's already in sfs.c. 2001-08-11 Pavel Roskin * sfs.c (sfs_init): Use g_free(), not free() on mc_sfsini. 2001-08-07 Pavel Roskin * extfs.h: Move private structures ... * extfs.c: ... here. * extfs.h (struct entry): Remove unused `has_changed' field. It's only written but never read. (struct inode): Likewise. * extfs.c: All dependencies changed. (extfs_open): Mark file as changed if it's open for writing. 2001-08-07 Oskar Liljeblad * extfs/uzip: Update to version 1.4.0. * extfs/README.uzip: Likewise. 2001-08-06 Andrew V. Samoilov * smbfs.c: Eliminate smbfs_get_free_bucket_init(). convert_path() gives malloc()ed filename, so this memory must be released after use. (reconnect): Fix segmentation fault. (smbfs_loaddir): Don't g_stirrup() path. (smbfs_get_free_bucket): Eliminate smbfs_get_free_bucket_init() and smbfs_connections initialization. (smbfs_open_link): Likewise. Release host after get_master_browser(). (get_stat_info): Fix unneeded g_startup/g_free calls. (smbfs_mkdir): Release path after use. (smbfs_mkdir): Likewise. (smbfs_open): Fix memory leak. (smbfs_unlink): Likewise. Fix error message. (smbfs_rename): Fix memory leaks. (smbfs_stat): Fix url parsing. * samba/lib/charging.c (unix2dos_format): Fix possible buffer overflow. (dos2unix_format): Likewise. * ftpfs.c (ftpfs_fill_names): New function. (vfs_ftpfs_ops): Use ftpfs_fill_names instead of vfs_s_fill_names. 2001-08-03 Andrew V. Samoilov * utilvfs.c, vfs.h (vfs_split_url): Make path parameter const. * xdirentry.h (struct vfs_s_super): Remove u.ftp.result_pending field. * ftpfs.h (struct connection): Remove result_pending field. * samba/libsmb/clientgen.c (cli_chkpath): Fix possible buffer overflow. * smbfs.c (new_dir_entry): New function with repeated code from browsing_helper(), loaddir_helper() and server_browsing_helper(). (browsing_helper): Use new_dir_entry(). (loaddir_helper): Likewise. (server_browsing_helper): Likewise. (cached_lstat_info): Eliminated. (smbfs_readdir): Make dirent_dest static const. Eliminate cached_lstat_info. (smbfs_open_link): Make user parameter const. Fix memory leak. (fake_server_stat): Make path parameter const. Simplify. (smbfs_fstat): Set my_errno to EFAULT before return. 2001-08-01 Pavel Roskin * Make-mc.in: Make it possible to run "make install" before "make all". Use more Automake-compatible target names. 2001-08-01 Andrew V. Samoilov * smbfs.c: Undefine VERSION to prevent warning. Comments fixes. (do_connect): Simplify. (get_stat_info): Simplify. Eliminate another fake_stat. (smbfs_chdir): Release remote_dir after use. (smbfs_stat): Likewise. Fix another 2 memory leaks. (smbfs_mkdir): Release remote_file after use. (smbfs_rmdir): Likewise. (smbfs_open): Likewise. Indentation fixes. (smbfs_unlink): Likewise. (smbfs_rename): Release rb and ra after use. (search_dir_entry): Make text parameter const. (smbfs_get_host_and_username): Make macro. 2001-07-20 Pavel Roskin * extfs.c (extfs_init) [GTK]: Use mc_home instead of LIBDIR. From Ludovic Drolez . 2001-07-17 Pavel Roskin * vfs.c (mc_return_cwd): Use g_get_current_dir(). 2001-07-15 Pavel Roskin * smbfs.c: Rename authinfo to smb_authinfo and authinfo_get_authinfo_from_user() to vfs_smb_get_authinfo() and remove their definitions. * vfs.h: Declare smb_authinfo and vfs_smb_get_authinfo(). 2001-07-10 Pavel Roskin * extfs.c: Include contents of shared_tar_ext.c - it's no longer shared. * shared_tar_ext.c: Remove. * Make-mc.in (VFSSRCS): Remove shared_tar_ext.c. * smbfs.c (vfs_smbfs_ops): Use short name "smbfs" for the filesystem. Don't translate it. 2001-07-09 Pavel Roskin * tar.c (ReadStatus): Fix compilation on AIX. From Dan McNichol . * extfs/mailfs: Strip trailing DOS newlines from mail files. From Christian Gennerat * fish.c (fish_chown): Do nothing and return success if getpwuid() or getgrgid() fails. 2001-07-05 Pavel Roskin * README.fish: Spelling fixes. 2001-06-29 Pavel Roskin * Make-mc.in: Don't ever link mcserv with libintl - it must not depend on it. 2001-06-27 Andrew V. Samoilov * smbfs.c: Include . Make all internal variables static. (get_stat_info): Eliminate fake_stat, memory leak fixed. (IPC, URL_HEADER): Make static const. (smbfs_stat): Fix segmentation violation. (statfile_helper): Allocate memory for single_entry once. It is never freed now, and only my_stat element of this structure is used. 2001-06-26 Pavel Roskin * vfs.h: Don't include . 2001-06-25 Pavel Roskin * cpio.c: Include before everything else. * direntry.c: Likewise. * fish.c: Likewise. * ftpfs.c: Likewise. * local.c: Likewise. * tar.c: Likewise. * utilvfs.h: Don't include - it should be included in all C files instead. * xdirentry.h: Likewise. 2001-06-19 Pavel Roskin * local.c (local_telldir): Warn and abort if telldir() is not available. (local_seekdir): Warn and abort if seekdir() is not available. 2001-06-18 Pavel Roskin * tcputil.c (sig_pipe): Use the same declaration with one int argument - it's used everywhere else and it fixes a warning on systems unlisted in the ifdef, e.g. OpenBSD. 2001-06-14 Pavel Roskin * ftpfs.c: Declare functions without declarations static. Don't omit `void' in declarations. * cpio.c: Likewise. * direntry.c: Likewise. * extfs.c: Likewise. * mcfs.c: Likewise. * tar.c: Likewise. * vfs.c: Likewise. * vfs.h: Likewise. * mcserv.c: Likewise. Remove unused functions. * util-alone.c: Use indented #error. * vfs.h: Use indented #warning instead of hiding it from non-gcc compilers. 2001-06-11 Pavel Roskin * cpio.c (vfs_cpiofs_ops): Use short name for the filesystem. This avoids creating long filenames in dirent.c when the "name" field is used. * extfs.c (vfs_extfs_ops): Likewise. * fish.c (vfs_fish_ops): Likewise. * ftpfs.c (vfs_ftpfs_ops): Likewise. * local.c (vfs_local_ops): Likewise. (vfs_nil_ops): Likewise. * mcfs.c (vfs_mcfs_ops): Likewise. * sfs.c (vfs_sfs_ops): Likewise. * tar.c (vfs_tarfs_ops): Likewise. * undelfs.c (vfs_undelfs_ops): Likewise. 2001-06-07 Pavel Roskin * sfs.c (sfs_init): Change some warning messages to simplify their translation. 2001-06-06 Pavel Roskin * shared_ftp_fish.c: Remove. * Make-mc.in: Remove shared_ftp_fish.c. * Makefile.am: Likewise. 2001-06-02 Pavel Roskin * vfs.c (vfs_canon): s/canonize/canonicalize/. 2001-06-01 Andrew V. Samoilov * ftpfs.h: Declare use_netrc, ftpfs_retry_seconds, ftpfs_first_cd_then_ls, ftpfs_use_passive_connections and ftpfs_use_unix_list_options. * vfs.c [VFS_STANDALONE]: Undefine WITH_SMBFS, they are mutually exclusive now. (is_week): Unmade week static. (is_month): Unmade month static. (vfs_parse_ls_lga): Optimize memory usage. * .cvsignore: *.sor added. * sfs.c (sfs_init): Optimized. * vfs/samba/lib/util_sock.c (socket_options): Made static const. 2001-05-30 Ludovic Drolez * sfs.c (sfs_init): Don't hardcode location of sfs.ini, use mc_home to make mc relocatable. * util-alone.c (shell): ... here 2001-05-27 Pavel Roskin * fish.c: Redirect stderr of all commands to /dev/null. 2001-05-25 Pavel Roskin * sfs.c (vfs_sfs_ops): Typo fix. 2001-05-22 Pavel Roskin * vfs.c (vfs_split_text): Fill `columns' with zeroes before writing new data into it. * fish.c (free_archive): Use `exit' instead of `logout' - the later fails under non-login shells. (pipeopen): Redirect stderr of ssh to /dev/null. From Rich Roth: (dir_load): Redirect stderr of ls to /dev/null. (linear_start): Likewise. 2001-05-22 Andrew V. Samoilov * Make-mc.in (mostlyclean): Remove $(VFSSOOBJS). (clean): Remove *.so. * smbfs.c: Include utilvfs.h instead of ../config.h, ../src/main.h, ../src/tty.h and ../src/global.h. (password, username): Made static. (is_error): Commented out. (loaddir_helper): Don't ignore hidden files, style fixes. (browsing_helper): typestr declared as char *, fstrcpy replaced by =. (do_connect): Call cli_shutdown() and authinfo_remove() if cli_session_setup() fails. It is not good idea to remember wrong username/password. (smbfs_free_dir): Nested between #ifdef SMBFS_FREE_DIR ... #endif. (smbfs_readdir): #ifdef SMBFS_FREE_DIR used instead of C comment. 2001-05-22 Pavel Roskin * sfs.c (redirect): Don't free the filename after failed mc_mkstemps() - it's not needed anymore. 2001-05-21 Pavel Roskin * direntry.c (vfs_s_open): Use mc_mkstemps. Create and close temporary file to reserve its name on the filesystem. (vfs_s_retrieve_file): Use mc_mkstemps(). (g_tempnam): Remove. * extfs.c (extfs_open): Use mc_mkstemps(). * sfs.c (redirect): Likewise. * shared_ftp_fish.c (_get_file_entry): Likewise. (retrieve_file): Likewise. * vfs.c (mc_def_getlocalcopy): Likewise. * xdirentry.h: Remove declaration of g_tempnam(). 2001-05-18 Pavel Roskin * vfs.c (vfs_addstamp): Rename st1 to last_stamp. Initialize it with NULL to suppress compiler warning. 2001-05-14 Pavel Roskin * ftpfs.c: Warning fixes. * utilvfs.h: Include background.h. * cpio.c: Include utilvfs.h. 2001-05-14 Pavel Machek * Make-mc.in: add possibility to build libvfs.so 2001-04-19 Pavel Roskin * extfs/rpm (mcrpmfs_list): Use cpio for the listing since the rpm output varies between versions. (mcrpmfs_copyout): Fix processing of CONTENTS.cpio. Match filenames beginning with "./" - they are used in the version 4 packages. 2001-04-17 Pavel Roskin * fish.c (open_archive_int): Redirect stderr of start_fish_server to stdout so we don't get confused if it doesn't exist. 2001-04-09 Andrew V. Samoilov * samba/includes/proto.h, samba/libsmb/nterr.c (get_nt_error): return NULL when suitable error message can't be found as it is expected in cli_errstr(). Return type changed to const char * * smbfs.c (smbfs_fill_names): implemented (smbfs_stat): unneeded g_strdup/g_free calls removed (smbfs_loaddir): memory leaking fixed * samba/libsmb/clientgen.c (rap_errmap, prots): constified 2001-04-06 Pavel Roskin * Make-mc.in: Use a single variable SAMBA_DIST to hold all distributable samba files. 2001-03-15 Andrew V. Samoilov * samba/libsmb/smbdes.c: Undefine uchar before redefine it * smbfs.c (smbfs_close): Honor changed semantics for return value (on error -1 is expected). * (fs): It is at least strange use char * for counter. Changed to int 2001-03-14 Pavel Roskin * Make-mc.in: Use Automake conditional USE_SAMBA_FS. Remove any knowledge of SAMBAFILES. Merge object files with libsamba.a if USE_SAMBA_FS is true. Propagate "mostlyclean" to the `samba' directory. Don't ignore errors from ranlib. * samba/Makefile.in: Make *clean targets Automake-compatible. Don't ignore errors from `rm'. * samba/configure.in: Use AC_CHECK_TOOL to find AR. * samba/Makefile.in: Remove useless rules, including defunct dependency tracking. Create libsamba.a from the object files. 2001-03-07 Pavel Roskin * cpio.c (cpio_skip_padding): Warning fix. * fish.c (dir_load): Likewise. * mcfs.c: Likewise. * extfs/uzip: New file from Oskar Liljeblad. * extfs/README.uzip: Likewise. * extfs/Makefile.am: Adjust for constant uzip. 2001-03-07 Pavel Machek * extfs/*uzip*: replace uzip with perl version by Oskar Liljeblad 2001-03-05 Andrew V. Samoilov * vfs.[ch] (vfs_parse_ls_lga, vfs_parse_filemode): p constified (vfs_strip_suffix_from_filename): filename constified (vfs_parse_ls_lga): memory leaking fixed when line can't be parsed, chomping unified 2001-03-04 Andrew V. Samoilov * extfs/patchfs: LANG overrides LC_TIME at least in glibc, so use LC_ALL=C to override any locale * smbfs.c (smbfs_open_link): service initialized * (my_forget): new features of vfs_split_url used 2001-03-01 Pavel Roskin * extfs/uzip.in (mczipfs_list): Allow filenames with colons. Reported by Christian Gennerat. 2001-02-28 Pavel Machek * vfs.c (mc_def_ungetlocalcopy): Cleanup of error handling. 2001-02-27 Pavel Machek * vfs.c (mc_ungetlocalcopy): Do not ignore errors. (Courtesy of "K. Leif D. Van Horn" ) 2001-02-23 Pavel Roskin * extfs/lslR (mclslRfs_list): Don't use gawk-specific features. Don't hardcode gawk. Don't rely on the date format occupying a fixed number of fields. * extfs/uzip.in (mczipfs_list): Don't check zipinfo support on the real file - check usage info instead. Use more robust checks for valid lines. Suppress stderr from unzip. Workaround for jar files - fix mode for files ending with slash. 2001-02-20 Pavel Roskin * vfs.h: Include sys/timeb.h if it's present. Include time.h and sys/time.h as recommended by Autoconf documentation. * cpio.c: Remove all time-related includes - they are in vfs.h. * extfs.c: Likewise. * ftpfs.c: Likewise. * mcfs.c: Likewise. * mcserv.c: Likewise. * tar.c: Likewise. * util-alone.c: Likewise. * vfs.c: Likewise. Include xdirentry.h. * extfs.c: Include xdirentry.h. Undefine ERRNOR before redefining it. 2001-02-19 Pavel Roskin * shared_tar_ext.c (__find_entry): Make sure that the parent is a directory even if the child is not. * extfs/mailfs (parse_date): Correctly handle two-digit years between 1970 and 1999. 2001-02-14 Pavel Roskin * vfs.c (vfs_parse_filedate): Don't reset got_year to 0 while checking for ctime() format. From Peter Daum. 2001-02-11 Pavel Roskin * extfs/mailfs (parse_date): Workaround for Y2K bugs. Support for dates found in AOLMail(SM) messages. Accept single-digit hours and missing seconds. Provide a fallback if cannot parse the date. (process_header): Typo fix. Use \s instead of space in regular expressions. 2001-02-10 Pavel Roskin * extfs/uzip.in: Preserve permissions of FAT and NTFS archives, including the directory bit. This fixes crashes on some FAT archives. 2001-02-09 Pavel Roskin * samba/configure.in: Remove more useless tests. * samba/tests/crypttest.c: Remove. * samba/tests/fcntl_lock.c: Likewise. * samba/tests/shared_mmap.c: Likewise. * samba/tests/sysv_ipc.c: Likewise. * samba/samba-files: Likewise. * samba/smbadduser: Likewise. * Make-mc.in: Adjust for the above. * samba/include/includes.h: Removed definitions related to the above tests. * Make-mc.in: Eliminate ubiqx. * samba/Makefile.in: Likewise. Remove some unused variables. * samba/include/includes.h: Eliminate dependency on ubiqx. * samba/include/nameserv.h: Likewise. * samba/include/proto.h: Remove prototypes from nmbd/*. * samba/ubiqx/*: Remove. * samba/configure.in: More useless stuff removed. * samba/Makefile.in: Likewise. * Make-mc.in: Remove samba/smbwrapper directory. * samba/smbwrapper/smbw.h: Remove. * samba/include/includes.h: Don't include smbw.h. * samba/configure.in: Don't check for things that are unused. Remove support for building shared libraries. * samba/Makefile.in: Remove support for shared libraries and quota. * samba/configure.in: Don't check for any 64-bit functions and syscall() - they are not needed. * samba/configure.in: Remove the test for HAVE_EXPLICIT_LARGEFILE_SUPPORT, since it's incompatible with the rest of the source that doesn't use explicit 64-bit calls. * Make-mc.in: Always check for samba/Makefile before descending there. Don't ever ignore errors from "cd". Use $(MAKE), not make. Formatting changes. 2001-02-08 Pavel Roskin * Make-mc.in: Undo previous fix. Don't run "make clean" in samba/ if samba/Makefile is missing. * Make-mc.in: Don't run "make clean" in samba/ as samba/Makefile may be missing. Clean using the rule from samba/Makefile.in. * cpio.c: Eliminate C++ comments. * fish.c: Likewise. * Make-mc.in: Use mkinstalldirs to create $(distdir)/extfs, since CVS Automake already creates that directory. * Make-mc.in: Don't add _LARGEFILE64_SOURCE to CFLAGS without testing - it breaks on HP-UX 10.20. 2001-02-07 Pavel Roskin * Make-mc.in: Don't distribute samba/tests/trapdoor.c and samba/tests/ftruncroot.c. * samba/configure.in: Remove tests for setresuid and setresgid. * samba/include/includes.h: Remove declarations of setresuid and setresgid. * samba/configure.in: Don't check for root permissions. Don't call tests/trapdoor.c and tests/ftruncroot.c. * samba/tests/trapdoor.c: Remove. * samba/tests/ftruncroot.c: Likewise. * samba/tests/summary.c: Don't warn about trapdoor uid systems. * Make-mc.in: Don't link container.o into libvfs-mc.a - it's not used. * samba/aclocal.m4: Fix underquoting. * samba/configure.in: Fix underquoting. Don't use loff_t as the second argument to AC_CHECK_TYPE - it's not a builtin type. * samba/configure.in: Remove checks for statvfs and friends - they are irrelevant to the client code. * samba/tests/summary.c: Likewise. 2000-12-15 Andrew V. Samoilov * extfs/urar.in (list): better solution to prevent duplication 2000-12-14 Andrew V. Samoilov * extfs/urar.in (LC_ALL): set to C to prevent localization, (mcrarfs_list): directories placed first to prevent duplication 2000-10-31 Pavel Machek * ftpfs.c (dir_load): From Roland Mainz : add '.' and '..' directories * *.c: From Roland: it is not possible to g_free() something allocated by strdup(), because g_malloc might be different for malloc. Therefore wrapped strdup into g_strdup() wrapper. 2000-10-22 Andrew V. Samoilov * samba/libsmb/nterr.c (nt_errs): constified * samba/libsmb/smberr.c (dos_msgs, server_msgs, hard_msgs, err_classes): ditto (smb_errstr): err constified to avoid warnings 2000-10-16 Andrew V. Samoilov * ftpfs.c (open_data_connection): don't generate //filename, some ftp servers can't store it; (command): g_strdup_vprintf() and g_strconcat() replaced by g_strdup_vprintf(), g_realloc() and strcpy() to reduce memory usage when trailing "\r\n" added; (ftpfs_set_debug, ftp_data): ftp_data.logfile assigned with logfile value to log servers replies 2000-10-09 Andrew V. Samoilov * sfs.c (redirect): temporary file unlinked on error; (sfs_init): warnings are localized 2000-10-05 Pavel Roskin * extfs/rpm: If rpm indicates an error create a virtual file ERROR and put error messages there. 2000-09-25 Pavel Machek * extfs/mcunarj.diff: better version from Christian Gennerat 2000-09-21 Pavel Roskin * extfs/uzoo.in: Suppress output from grep. Don't use '~', use $HOME instead - it's more portable. 2000-08-24 Pavel Roskin * extfs/Makefile.am: all scripts should be executable 2000-09-18 Pavel Machek * extfs/patchfs (LC_TIME): patch by Martin Bialasinski: override locale for dates 2000-09-14 Pavel Machek * vfs.c, extfs/{a,extfs.ini}: Improved /#a filesystem 2000-09-14 Pavel Roskin * Make-mc.in: direntry.c was listed twice in VFSSRCS * Make-mc.in: removed commands to build standalone libvfs - they are now in Makefile.am. Create links in the build directory - source directory may be read-only. Removed hack with mcservx - it's no longer needed. * ftpfs.h: include "xdirentry.h" instead of "vfs/xdirentry.h" 2000-09-05 Pavel Roskin * Make-mc.in: don't ignore errors in the distdir target 2000-08-24 Pavel Roskin * extfs/Makefile.am: new file * Make-mc.in: remove stuff pertinent to the extfs directory 2000-08-24 Pavel Roskin * Make-mc.in: don't ignore error installing mcserv. Create directories before installing into them. 2000-08-18 Pavel Roskin * Make-mc.in: adjusted lists of distributed files. Makefile rebuilding fixed. 2000-08-08 Pavel Machek * ftpfs.c (dir_load): taken it out, it needs to correctly provide parent, this way it breaks things. * uzip.in: change by Dmitry Borodaenko to display zip files in fat and ntf formats 2000-08-04 Pavel Machek * ftpfs.c (dir_load): add . and .. to ftpfs listings, courtesy of Roland.Mainz@informatik.med.uni-giessen.de * util-alone.c (message_1s1d): added missing function 2000-08-03 Pavel Roskin * undelfs.h: Removed 2000-08-02 Pavel Roskin * Make-mc.in: Filters apt, audio, deba, debd and dpkg are now distributed. Added some comments to prevent future errors. "make distclean" now cleans generated filters. * samba/configure.in: Fixed sloppy output. The fix also sent to the Samba team. * samba/include/stamp-h.in: Added to CVS. 2000-05-23 Andrew V. Samoilov * vfs.c (mc_[un]def_getlocalcopy): better error handling on writing 2000-05-18 Andrew V. Samoilov * ftpfs.c: (my_get_host_and_username) space between macro name and parentheses removed 2000-05-15 Andrew V. Samoilov * tar.c (read_header): memory leaking for empty symlink's names fixed * utilvfs.c (vfs_split_url): *host is not assigned if host is null * ftpfs.c (login_server): new features of vfs_split_url () used, my_get_host_and_username became macro * vfs.c (mc_opendir, mc_chdir): unneeded calls to concat_dir_and_file removed (vfs_canon removes trailing '/') * sfs.c (vfmake, redirect): allocated memory released on errors 2000-05-10 Pavel Machek * direntry.c (vfs_s_new_inode): Do not leave st_nlink uninitialized. 2000-05-08 Valery Kornienkov vfs/extfs/uha.in: add HSC type archives 2000-05-01 Pavel Machek * direntry.c (vfs_s_inode_from_path): fix for stating / directory done properly * vfs.c: == 0 is right test of eof. 2000-04-28 Pavel Machek * direntry.c (vfs_s_internal_stat): added ugly special case for / of archive to always exist. It seems I'm hiding some underlying problem :-(. 2000-04-26 Andrew V. Samoilov * direntry.c (vfs_s_find_entry_tree): segfault fixed when root is NULL (vfs_s_new_inode, vfs_s_new_entry): g_new replaced by g_new0 * ftpfs.c (dir_load): ent->name is free()d for "." and ".." (ftpfs_directory_timeout): default value changed to 900 (netrc_next): "const char * const keywords" go to rodata and is shared 2000-04-16 Pavel Machek * vfs.c (vfs_type): FL_NO_LOCALHASH for prevention of obscure deadlocks with podfuk * direntry.c: fix behavior when stating / directory of ftp archive 2000-04-15 Timur Bakeyev * ftpfs.c (netrc_next): "const char * keywords" is pretty nice. * ftpfs.c (dir_load): At last, found place, that broke handling directories with spaces in name. Problem was in prepending "/" to "." for current directory. Which was, obviously, wrong. Hacked to make just "LIST -la ." instead. 2000-04-12 Pavel Machek * extfs/lslR.in: Patch by tnovak@ipex.cz: allow spaces in filenames 2000-04-10 Pavel Machek * extfs/audio: Added a way to browse audio CDs conveniently * undelfs.c: use NULLs instead of 0s when you assign to pointers! 2000-04-05 Andrew V. Samoilov * utilfs.c (vfs_split_url): Don't assign *pass if pass is NULL * fish.c (archive_open, archive_same): memory allocated by vfs_split_url() must be released after use, don't strdup() values allocated by vfs_split_url() and NULL passed to vfs_split_url() when password value is unused * ftpfs.c (archive_open, archive_same): ditto plus same for ftpfs_get_proxy_host_and_port() 2000-04-06 Timur Bakeyev * ftpfs.c (netrc_next): Turned strange "const char * const keywords" into more alike "const char const * keywords". Still, think, it's too strict. * smbfs.c: Add #define BOOL_DEFINED before inclusion of samba headers. Libncurses(or slang?) defines BOOL and that can cause problems. (In fact, I can't find references to that const, but sure, I had a reason to do that:) * util-alone.h: Declare load_anon_passwd() to avoid warnings. 2000-03-31 Andrew V. Samoilov * vfs.c (mc_def_getlocalcopy): free() replaced by g_free() to prevent crashes with mad, thanks to Timur I. Bakeyev * fish.c (linear_start): Name wasn't freed after usage. * cpio.c (cpio_ungetlocalcopy): Return type changed to int, function return 0 now. * direntry.c (vfs_s_close, vfs_s_resolve_symlink): Memory allocated by vfs_s_fullpath() is freed after use. * ftpfs.c (linear_start): Ditto. 2000-04-03 Pavel Machek * ftpfs.c (send_ftp_command): return from vfs_s_get_path_mangle is not strdupped(), so it must not be g_free'd. 2000-03-29 Pavel Machek * fish.c: Patch by : make fish work better with files files like "this is sentence" 2000-03-28 Pavel Machek * extfs/*rpm: Patch by : set locale to C so that rpm does not confuse us 2000-03-06 Pavel Machek Patch by Andrew V. Samoilov * vfs.c (vfs_parse_ls_lga): Don't hard code st_ino and st_dev to 0's, these variables must be assigned in vfs_s_new_inode() or extfs layer, so ftpfs subdirectories now can be copied. 2000-02-25 Pavel Machek Patch by Andrew V. Samoilov * vfs.[ch] (vfs_canon, mc_open, vfs_file_is_local, mc_(un)?getlocalcopy): added const qualifier (mc_def_getlocalcopy): tempnam() returns malloc()ed buffer, so, free() it, not g_free(); (vfs_canon): prepend filename by cwd when tilde '~' cannot be expanded; 2000-02-23 Pavel Machek * cpio.c: cpio.h is missing, so don't try to include it. (It is not needed, anyway. Strange.) * Makefile.in (NONETFILES): cpio added to compilation list 2000-02-23 Norbert Warmuth * ftpfs.c: Definition of PORT changed in the middle of ftpfs.c with unexpected side effects (only when HSC_PROXY was defined). Introduce HSC_PROXY_PORT and FTP_COMMAND_PORT and use where appropriate. (dir_load): Do not hard code the directory cache timeout to 10 seconds. Instead use the setting from Options/Virtual VFS ... * fish.c (file_store): Honor changed semantics for return value (on error -1 is expected). * ftpfs.c (file_store): ditto 2000-02-22 Pavel Machek * cpio.c: added. Thanx to Jan Hudec , who wrote it using code from tarfs. 2000-02-21 Pavel Machek * extfs/uzip.in (nam): y2k fixes (workarounds) by christian.gennerat@vz.cit.alcatel.fr 2000-02-04 Pavel Machek * ftpfs.c (ftpfs_unlink, *): prepend / so that it actually works 2000-02-03 Andrew V. Samoilov * xdirentry.h: added prototype for vfs_s_retrieve_file 2000-01-31 Andrew V. Samoilov * direntry.c: (vfs_s_resolve_symlink, vfs_s_readlink) fixed segfaults for broken symlinks like 2001 -> The Space Oddysea. 2000-01-24 Pavel Machek * ftpfs.c: vfs semantics has some problems with ~s. What will happen if we just don't go to home directory of user? (We used to have /#ftp:hobit/~/ mean home directory of anonymous at hobit. Thats pretty broken.) * direntry.c (vfs_s_find_entry_linear): don't sleep after showing message * ftpfs.c: cosmetic fixes by Andrew V. Samoilov 2000-01-18 Pavel Machek * ftpfs.c: cosmetic fixes + killed ugly infinite loop, patch from Andrew V. Samoilov 2000-01-13 Pavel Machek * extfs.c (extfs_chdir): removed unneeded statement, plus applied cosmetics fixes from Andrew V. Samoilov 2000-01-02 Martin Bialasinski * extfs/deb.in: Change to the deb vfs. tar has changed, and depending on the version, it saves files as "./filename" or "filename". * From debian: added deba, debd, dpkg, apt script file systems. 1999-12-28 Andrew V. Samoilov * vfs.c (vfs_parse_filedate): don't decode last columns as year 1999-12-21 Pavel Roskin * vfs/vfs.h: use #warning only for gcc. Not all compilers understand it 1999-12-15 Pavel Machek * Merged changes by Andrew V. Samoilov . They are mostly internationalization + fixing stupid bugs of mine 1999-12-08 Pavel Machek * ftpfs.c: basically replaced ftpfs with new one. Unlike the previous one, this uses new direntry.c layer, so shared_ftp_fish.c can be killed. This is new code, so beware. 1999-11-11 Pavel Machek * shared_ftp_fish.c (s_ungetlocalcopy): need to supply some return value, too. This code is going to be killed, the sooner the better. * *.c (mc_[un]getlocalcopy): we really need some return value, because we can have errors * fish.c: don't use directory expiration, it does not work, use retrieve_file from direntry.c 1999-02-17 Pavel Machek * direntry.c (vfs_s_getlocalcopy): fixed segfault, getlocalcopy's name has to be malloced. 1999-10-07 Miguel de Icaza * ftpfs.c (linear_read): Applied patch from Alexander V. Lukyanov that makes the code compliant to RFC959 1999-08-30 Miguel de Icaza * ftpfs.c (insert_dots): Use g_new here. * shared_ftpfs_fish.c: Style fixes and small fixes 1999-09-22 Bjorn Eriksson * extfs/uzip.in: Better handling of zip-archives that contain files which contain spaces. 1999-09-19 Norbert Warmuth * ftpfs.c (ftpfs_set_debug), vfs.h: added const qualifier. * mcserv.c: removed definition of mad_strconcat which is also in mad.c. 1999-09-17 Federico Mena Quintero * smbfs.c: #define NO_CONFIG_H before including the samba includes; this way it will not re=define HAVE_LIBREADLINE. This situation sucks. Should we change the names of the widget.h history_*() functions? 1999-09-14 Norbert Warmuth * smbfs.c (various places): Store filenames in memory with the unix character set and convert it back to the dos character set when filenames are passed back to the samba server. If samba is configured correctly this will fix the problems with filenames which contain national characters. (bucket_set_authinfo): Set domain, username and password which will be used to log on and authenticate against the samba server and remember this information on a host/share basis. If set use PASSWD to get the password. If already authenticated against the host and share use this information. If already authenticated against host and IPC$ use this information. If neither of the former is true ask the user how to log on. (authinfo_get_authinfo_from_user): New function. Query the user for domain, username and password to use for authentication. (authinfo_free): New function. Free memory in authentication structure. (authinfo_free_all): New function. Free the list used to remember authentication information. (authinfo_compare_host_and_share, authinfo_compare_host): New functions. Helper functions used to search the authentication list. (authinfo_add): New function. Add one authentication entry to the authlist. (authinfo_remove): New function. Remove one entry from the authlist. (free_bucket): Free memory associated with one bucket. (smbfs_get_free_bucket): Initialize the complete connection array with 0. Free the memory allocated for a bucket and initialize the bucket before reusing it. (smbfs_open_link): use new functions to get authentication information (get_stat_info, smbfs_stat): remove unused variables. 1999-08-31 Federico Mena Quintero * extfs/uzip.in: Handle filenames with spaces better. Thanks to Spyridon Papadimitriou for the patch. 1999-08-30 Miguel de Icaza * ftpfs.c (translate_path): Remove static buffer from here. Return a strdupped string now. (send_ftp_command): Release translate_path result here. (open_data_connection): Release translate_path result here. (ftpfs_chdir_internal): Release it here too. 1999-08-30 Norbert Warmuth * shared_ftp_fish.c (get_line): Fixed off by one error ('\0' might have been written one slot past the supplied character array). * ftpfs.c (resolve_symlink_without_ls_options): Don't dump core on strange symlinks (ls -la doesn't reveal where the symlink points to and ls -lLa doesn't resolve the symlink either) Added protection against recursive symbolic links. 1999-08-19 Norbert Warmuth * smbfs.c: added missing include file (browsing_helper): use g_strdup instead of g_new + pstrcpy (Btw. this is an example why the handholding of smblib gives a false security feeling. pstrcpy limits the number of characters copied and is used with a buffer which is smaller than the hard coded limit in pstrcpy) (loaddir_helper): ditto (server_browsing_helper): ditto (get_remote_stat): fixed memory leaks (smbfs_loaddir): ditto (get_stat_info): ditto (smbfs_stat): ditto (convert_path): rewritten, now it's much cleaner what it does. This rewrite was necessary because gcc -O2 choked on glibc 2.1 systems. In that combination strncat is a macro which expands to strlen and strcat and in vfs/samba/include/includes.h the latter is defined to __ERROR__XX__NEVER_USE_STRCAT___;. 1999-08-18 Norbert Warmuth * direntry.c (vfs_s_getlocalcopy): There's an additional strdup needed. In rare cases a pointer was freed twice. Pavel Machek pointed this out a while ago but obviously it hasn't been fixed yet. * sfs.c (vfmake): Quote characters with a special meaning to the shell in filenames/paths (Fix Bug #1931, VFS will not work if your full path has the space character in it.). 1999-08-17 Kjartan Maraas * fish.c: Fix typo. 1999-08-15 David Martin * vfs.c (vfs_print_stats): Translate vfs stats * shared_ftp_fish.c (s_read, s_lseek): Mark strings for translation * fish.c: Translate messages 1999-08-06 Norbert Warmuth * tar.c (read_header): Don't segfault when a symlink points to the root directory. 1999-08-01 Norbert Warmuth * vfs.c: Don't close a function definition with "};". SunCC from 2.5.1 chokes on the extra semicolon (mc_munmap): Don't dereference function pointer when checking for NULL (this check is supposed to prevent a segfault instead of causing one). This haven't got noticed up to now because there's no file system with mmap but without munmap. Tue Jul 6 11:22:40 1999 Timur I. Bakeyev * samba/include/config.h: Removed. Should be generated. Tue Jul 6 11:18:45 1999 Timur I. Bakeyev * Make-mc.in (XCPPFLAGS): Add necessary paths to allow compile sambafs when builddir != srcdir. Removed some junk after not coherent patching. 1999-07-04 Federico Mena Quintero * Make-mc.in (distcopy): Added a bunch of new lists of files for the directories in vfs/samba. Use them in this rule, because plain wildcards will not work right. (SAMBA_DIST_TOPLEVEL): Added configure to the list of distributed files. Added smbfs.[ch] to the list of sources. 1999-07-02 Tuomas J. Lukka * Make-mc.in: $SAMBAFILES -> @SAMBAFILES@ in the rule as well as the dependencies. 1999-06-25 Miguel de Icaza * smbfs.c (get_remote_stat): Change debug level. (get_stat_info): 2 line fixes from Wayne to check the cache properly. WOOOOHOOOO! Works like a charm. 1999-06-14 Wayne Roberts * vfs/smbfs.c: New file. Implements the Samba-based file system. * vfs/vfs.h: Declare vfs_smbfs_ops, vfs_file_is_smb. * vfs/vfs.c (vfs_file_is_smb): implemented. (vfs_init) register smbfs. * vfs/samba: Incorporate SAMBA source code required for smbfs Fri Jun 18 11:49:05 1999 Norbert Warmuth * ftpfs.c (resolve_symlink_with_ls_options): Some ftp servers don't make a difference between "LIST -la" and "LIST -lLa". If we find such a server don't use -lLa when resolving symbolic links. 1999-05-12 Christian GENNERAT * urar.in, uzip.in: patches to use in #urar and #uzip the new features added in mc-4.5.31 (unlink, mkdir, rmdir) 1999-04-30 Pavel Machek * extfs/deb.in (mcdebfs_run): Quote string properly, fix suggested by debian maintainer 1999-04-25 Miguel de Icaza * extfs/uzip.in (nam): Handle new unzips. Fri Apr 23 21:02:32 1999 Norbert Warmuth * ftpfs.c (retrieve_dir): If we don't get any valid directory entry (i.e. not even "." and "..") check whether the directory is empty or non-existent (instead of failing with "ftpfs: failed"). 1999-04-23 Pavel Machek * vfs.c (vfs_parse_filemode): fix for solaris which uses 'l' instead of 'S'. (vfs_parse_ls_lga): do not silently ignore parsing errors. Wed Apr 21 21:59:50 1999 Norbert Warmuth * extfs.c (extfs_open): tempnam returns a malloced string, no need to strdup it (various places): use free instead of g_free to free string returned by tempnam. 1999-04-21 Pavel Machek * urar.in, uzip.in: rolled in patches from "christian.gennerat" for better handling of spaces and copyin-feature-addon. 1999-04-18 Miguel de Icaza * extfs.c (get_path_from_entry): Fix a crash here. 1999-04-12 Andrew T. Veliath * extfs.c (extfs_unlink): (extfs_mkdir): (extfs_rmdir): (remove_entry): New functions. (vfs_extfs_ops): Add unlink, mkdir and rmdir functions to table. Add descriptions for these to the extfs README. 1999-04-12 Pavel Machek * Make-mc.in (DISTVFS): try to distribute files needed for building libvfs.so alone (EXTFS_MISC): include uarj and unarj.diff in distribution 1999-04-08 Owen Taylor * extfs/deb.in extfs/ulha.in extfs/ucpio.in: Fix up "TMP RACE" comments so they are at least secure, if not terribly robust. 1999-03-31 Serge Winitzki * added copy_in capability to mtools filesystem 1999-03-30 Federico Mena Quintero * vfs.c (vfs_add_current_stamps): Only do stamping of the panels if they exist. * mcserv.c: #include (get_client): Put `#ifdef __EMX__' around an otherwise-unused variable. * utilvfs.c (vfs_split_url): Fix NULL <-> 0 confusion when comparing characters. * ftpfs.c (retrieve_dir): Removed unused variable dot_dot_found. * extfs.c (extfs_init): Assign `key' to c, not `&key'. Sun Mar 28 23:50:47 1999 Norbert Warmuth * vfs.h (vfs_translate_url): Fixed the macro which is used when compiling without vfs. 1999-03-22 David Martin * ftpfs.c: Internationalize the messages that are displayed as hints. 1999-03-22 Miguel de Icaza * extfs.c (extfs_init): Fix the code here: If the key is empty or only contains a new line, C would be pointing into an invalid location. Mon Mar 22 02:56:23 1999 Timur I. Bakeyev * Makefile-mc.in: s/$(libdir)\/extfs/$(extfsdir)/ Mon Mar 22 02:00:16 1999 Valery Kornienkov * extfs/uha.in: Add support for ha archives. 1999-03-12 Miguel de Icaza * vfs.c (vfs_parse_ls_lga): Handle stupid servers that send n_link set to zero. 1999-03-11 Miguel de Icaza * vfs.h: Make it compile in AIX. Boy do those guys pollute the name space. 1999-03-09 Shooby Ban * extfs/extfs.ini: Corrected rpms -> rpms: by Balazs Nagy 1999-03-09 Miguel de Icaza * vfs.c (parse_ls_lga): kill the messages on each error. Tue Feb 16 12:11:04 1999 Paul Sheer * mcserv.c, mcfs.c: mcserv and mcfs exchange st_dev instead of st_rdev. This makes stats on device files useless. Fixing this does not break anything, but adds the ability to copy device files properly. Ideally, both st_dev and st_rdev should be returned for those programs that use the vfs to properly recreate hardlinks. Whose idea was it to only return one of these??? 1999-02-12 Sergey Korshunoff * unlha.in: Fix the problem of having incorrect pathnames when pulling out files from the LHA file. Sat Feb 6 23:44:28 1999 Norbert Warmuth * tar.c (read_header): Treat hardlinks correctly. Mon Feb 1 19:32:12 1999 Norbert Warmuth * ftpfs.c (insert_dots): renamed from insert_dot. We have to insert ".." as well or directories from ftp servers which don't list "." and ".." are displayed with an additional "/". Mon Feb 1 02:55:07 1999 Timur I. Bakeyev * tcputil.c: One more my bug with '\0' -> NULL. Oops.. Mon Feb 1 01:45:08 1999 Timur I. Bakeyev * mcserv.c: If setuid() is available, use it, even, streuid() also present. (BTW, bsdi uses it's own auth system..) Sun Jan 31 20:51:17 1999 Alexander Savelyev * mcserv.c (do_auth): mcserv never auth properly on bsdi. (mc/vfs/mcserv.c do_auth() on bsdi we must use setuid() not setreuid()). * tcputil.c: use correct signal handler (void func(int)) on BSDI Sun Jan 31 20:41:00 1999 Norbert Warmuth * mcserv.c (do_link): Removed duplicate invocation of link. Thanks to Grzegorz Makarewicz for spotting this. Sun Jan 31 20:04:13 1999 Norbert Warmuth * vfs.c (vfs_strip_suffix_from_filename): Whoever replaces every occurrence of 0 with NULL should stop this stupidity. And replacing '\0' with NULL is plan wrong!!. Reverted this replacement. * ftpfs.c (load_no_proxy_list): ditto Sun Jan 31 19:57:24 1999 Norbert Warmuth * ftpfs.c (insert_dot): New function. Insert a "." into the linked list. Stat'ing the root directory of a ftpfs fails if the dot is missing. (retrieve_dir): insert "." into the linked list if the ftp server haven't send it. Sun Jan 31 19:50:24 1999 Norbert Warmuth * The following changes make ftpfs work with a remote AmiTCP server are the result of somehow longish EMail debugging session. I don't know any public server of this kind but I was told the combination Unix/Amiga boxes are often used in intranets. * ftpfs.c (translate_path): New function. Translate a Unix path, i.e. MC's internal path representation (e.g. /somedir/somefile) to a path valid for the remote server. Every path transfered to the remote server has to be mangled by this function right prior to sending it. Currently only Amiga ftp servers are handled in a special manner. * ftpfs.c (various places): use translate_path * ftpfs.c (login_server): Assume we have to mangle pathnames if the greetings string from the server contains the word Amiga. If this assumption is wrong I have to find another way to turn on path translation. * ftpfs.c (ftpfs_get_current_directory): Prepend a leading slash if it is missing. MC needs it as separator between hostname and path in its internal url representation. 1999-01-26 Pavel Machek * vfs.c (vfs_parse_ls_lga): attempt to correctly work against Notwell 4 Wed Jan 27 03:09:48 1999 Timur I. Bakeyev * All around the source: Changed copy_strings() to g_strconcat(). Modi- fy last parameter in concat_dir_and_file() to "" - to prevent stack from disbalancing. 1999-01-25 Federico Mena Quintero * Makefile.am (libvfs_la_SOURCES): Added utilvfs.h. * Make-mc.in (VFSHDRS): Likewise. Sat Jan 23 18:40:19 1999 Timur I. Bakeyev * utilvfs.c (append_path_sep): Removed - concat_dir_and_file(dir, NULL); gives the same effect. 1999-01-21 Federico Mena Quintero * utilvfs.c (append_path_sep): Fixed, it was broken for paths which already have a / at the end. Fri Jan 22 01:41:25 1999 Timur I. Bakeyev * undelfs.c: Found one more unconverted realloc() call. 1999-01-20 Miguel de Icaza * undelfs.c (undelfs_loaddel): Fix Timur's changes. Thu Jan 21 00:58:12 1999 Timur I. Bakeyev * Actually commit all changes :> Tue Jan 19 05:15:49 1999 Timur I. Bakeyev * Converted all occurrences of DIR_SEP_CHAR and "/" to PATH_SEP and PATH_SEP_STR. Additional cleanups of the memory code. * utilvfs.h: Added several definitions for common sizes for buffers. It seems, most of us experience problems, when inventing size for new buffer. This is much better and portable way to eliminate the problem. 1999-01-18 Miguel de Icaza * vfs.h: The correct thing to use is PATH_SEP and PATH_SEP_STR Sun Jan 17 16:19:48 1999 Timur I. Bakeyev * Converted memory management to Glib. Now we use g_new()/g_malloc()/ g_strdup()/g_free() routings. Also, copy_strings() replaced by g_strconcat(), and sprintf() by g_snprintf(). * utilvfs.h: New header file. Introduced as a stock header, which keeps all includes in a right order, to avoid order-dependence mistakes. Sun Jan 17 15:49:39 1999 Paul Sheer * direntry.c: vfs_s_find_entry_tree changed to follow symlinks properly. Symlinks are now always followed except for the last part of the filename. vfs_s_resolve_symlink() now converts absolute paths to ../../file notation so that they can be easily resolved within the tree. * tar.c: . and .. are missing from directory entries, making it impossible to resolve links - fixed. 1999-01-12 Miguel de Icaza * vfs.c (mc_get_current_wd): Do not die. Truncate the pathname. 1999-01-10 Miguel de Icaza * sfs.c (redirect): tempnam returns a malloc()ed buffer. Sat Jan 9 19:15:00 1999 Norbert Warmuth * vfs.c (vfs_timeout_handler): Guard from recursive invocation. Sat Jan 9 19:13:28 1999 Norbert Warmuth * sfs.c (sfs_free): Fixed wrong linked list handling (head was lost after the first iteration). (sfs_getid): ditto, return value was wrong. Sat Jan 9 22:49:02 1999 Timur I. Bakeyev * vfs.c (parse_ls_lga): Rewrite function to make it more straight. Also, fixed some bugs in parsing (and add new ones:), which disallowed proper parsing of device major and minor numbers. Some other fixes. Add several new is_*() functions to make code readable. 1999-01-08 Ilya Zakharevich * vfs.h (vfs_strip_suffix_from_filename): Typo fix. Include defines for non-vfs compilation. Fri Jan 8 20:03:36 1999 Andrej Borsenkow * vfs.c (vfs_parse_filedate): I forgot to set got_year in one place (where YY-MM-DD is parsed). Thu Jan 7 06:24:25 1999 Andrej Borsenkow * vfs.c (vfs_parse_filedate): If the date is less than 6 months in the past, it is shown without year. In this case MC assumed the current year which is wrong from Jan to Jun. Thu Jan 7 03:47:35 1999 Timur I. Bakeyev * vfs.c (parse_ls_lga): Fixed Y2K typo pointed by Alex. Thu Dec 31 08:47:15 1998 Norbert Warmuth * sfs.c (sfs_nothingisopen): Assume for now it's always save to free this filesystem and delete temporary files. This needs further investigation. * tar.c: deleted unused empty struct tar_super. Thu Dec 31 08:40:44 1998 Norbert Warmuth * direntry.c: Split fd_usage into fd_usage and ino_usage. fd_usage was used for external and internal reference count. This was wrong because we can free resources taken up by the vfs as soon as the external reference count (now fd_usage) is zero. The internal reference count (ino_usage) mustn't matter because the vfs has to clean up itself in the correct order. Fri Dec 25 21:48:51 1998 Norbert Warmuth * direntry.c (vfs_s_new_inode): Moved initialization of st_ino and st_dev from vfs_s_default_stat. (vfs_s_default_stat): initialize st_ino and st_dev to zero * tar.c (tar_open_archive): Make a new MEDATA->rdev for every new archive. Mon Dec 21 22:55:48 1998 Norbert Warmuth * tar.c: Deleted global variable tar_gzipped_memlimit. Wed Dec 16 06:36:42 1998 Norbert Warmuth * vfs.c (vfs_strip_suffix_from_filename): New function which strips known vfs suffixes from a filename and returns a malloced string which has to be freed. Possible improvement: strip vfs suffix from last path component. * extfs/*: added "umask 077" to every script. Tue Dec 15 16:41:50 1998 Pavel Machek * extfs.c (extfs_open), sfs.c (redirect): create files 0600 and safely w.r.t. symlinks in /tmp Mon Nov 30 23:49:11 1998 Pavel Machek * direntry.c: Hopefully got want_stale_data right... Wed Nov 25 23:54:23 1998 Pavel Machek * vfs.h: use ENETUNREACH if EREMOTEIO error code is not defined, this is necessary for Solaris and probably others Mon Nov 23 17:39:33 1998 Pavel Machek * vfs.c (vfs_type_from_op): removing unnecessary code Wed Dec 9 12:24:52 1998 Pavel Machek * extfs/rpm: commit fix for files with spaces in name by Marc Merlin (marcsoft@merlins.org) Mon Dec 7 11:04:57 1998 Pavel Machek * fish.c: default to normal ssh (open_archive_int): debugging hack killed 1998-12-02 Raja R Harinath * Makefile.am (EXTRA_DIST): Distribute files that the BUILT_SOURCES depend on. (mad.c, mad.h): Don't use GNU make specific features in rule. (libvfs_la_SOURCES): Update from Make-mc.in. 1998-12-02 Miguel de Icaza * direntry.c (vfs_s_insert_super): This routine does not return anything. 1998-12-02 Sebastian Wilhelmi * fish.c (FISH_OP): changed snprintf to g_snprintf, as glib is used anyway. * xdirentry.h (LINK_NO_FOLLOW): * tar.c (read_header): * direntry.c (vfs_s_resolve_symlink): (vfs_s_inode_from_path): (vfs_s_open): renamed NO_FOLLOW and FOLLOW to LINK_NO_FOLLOW and LINK_FOLLOW resp. to avoid problems on solaris, where FOLLOW and NO_FOLLOW are defined in an enum. * vfs.h (ELAST): define it to 300, if not already defined, thats a bad hack, but what can we do.... Wed Dec 2 14:06:49 KST 1998 Sung-Hyun Nam * direntry.c (vfs_s_new_super): Added the missing return value. Sun Nov 29 02:54:54 1998 Timur I. Bakeyev * vfs.h: (Temporary?) fix to the compiling error: Some of the error codes, defined here are Linux specific and unknown to other systems. Changed to #ifdef's with assigning new codes by means ELAST+offset. Tue 24 Nov 12:43:20 1998 Peter Kleiweg * vfs.c (vfs_parse_ls_lga): ignore trailing + in permission string which indicate a file with extended attributes (ACL) Mon Nov 23 21:19:43 1998 Norbert Warmuth * ftpfs.c (resolve_symlink_with_ls_options): that's resolve_symlinks we used up to release 4.1.35. It uses LIST -lLa to get symlink stats. (resolve_symlink_without_ls_options): that's resolve_symlinks we used in release 4.1.36 and 4.5.[01]. It gets symlink stats from the directory cache fetching directories if necessary. We got some complaints about slower ftpfs in the above releases. Now this method is no longer the default method to resolve symbolic links. It is still needed for ftp servers which don't understand the LIST -lLa command. (resolve_symlink): Dispatch between the two methods to resolve symlinks. Sat Nov 21 21:38:08 1998 Pavel Machek * vfs.c (vfs_parse_ls_lga): corrected stupid bug in parse_ls_lga, thanks to Pavel Roskin for reporting * direntry.c (vfs_s_lseek): -1 is invalid filehandle, not 0 * utilvfs.c (vfs_split_url): initialize variables so that we do not return garbage Sat Nov 7 20:19:14 1998 Pavel Machek * vfs.c: Converted g_return_if_fail into vfs_dies(), removed them where unnecessary. I do not see why passing NULL to vfs_add_stamp should be invalid -> removed check. Mon Nov 2 23:09:55 1998 Pavel Machek * direntry.c, xdirentry.h: should be now prepared to handle ftp-like filesystems. This is rather BIG change, although it does not look so. I hope I do not break too many things. Mon Nov 16 16:39:39 1998 Pavel Machek * vfs.c (vfs_parse_ls_lga): Report unrecognized lines. Thu Nov 12 11:28:48 1998 Pavel Roskin * extfs/rpm: Fix to display files belonging to users with excessively long usernames 1998-10-30 Miguel de Icaza * fish.c (command): Replace vnsprintf with g_strdup_vprintf. This is both safe and more correct, as there is no limit on the pathname. * ftpfs.c (command): Same as above. * util-alone.c (print_vfs_message): Same as above. Wed Oct 28 17:06:57 1998 Pavel Machek * ftpfs.c: report which directory you are listing, fix behavior with servers that don't like LIST //. (Nowell) Fix behavior even with NT. * direntry.c (vfs_s_automake): insert newly generated entry * direntry.c (vfs_s_free_entry): Debugging printf() killed. Mon Oct 26 00:38:30 1998 Norbert Warmuth * Make-mc.in: added xdirentry.h to VFSHDRS Fri Oct 23 12:29:48 1998 Pavel Machek * tar.c (tar_open_archive): do not double-free memory if you can not open archive, better error handling * Makefile.in: add direntry.o to list of NONETFILES so we actually compile * sfs.c, tar.c: remove debugging messages (which really should not escape from my tree) Thu Oct 22 22:24:44 1998 Pavel Machek * README: added. If you are using emacs or hacking libvfs, please read this one. * direntry.{c,h}: new library created, so that same entry/inode code does not have to be copied in every handler. * tar.c: converted to use direntry.c library, which means BIG changes. * ftpfs.c: small updates to make code look nicer Mon Oct 19 19:40:58 1998 Pavel Machek * vfs.h (&more): killed ERRNOR() from vfs.h and put it into files which actually need it. * extfs.c: extfs_current_dir killed - it was unnecessary. * mcfs.c (mcfs_get_path): It is possible for path not to begin with /#mc:, for example if user does /etc/#mc:. (It is not correct, of course). Return error, but do not vfs_die(). Sun Oct 18 23:48:00 1998 Pavel Machek * lib/mc.ext.in: cpio support fixed. It was broken since time we started to do #ext syntax. Sat Oct 17 20:43:20 1998 Pavel Machek * vfs.c (mc_open): die() if open is unsupported. If filesystem does not support open, it is probably stupid typo, so we want bug to be fixed. Thu Oct 22 20:30:28 1998 Norbert Warmuth * ftpfs.c (resolve_symlink, retrieve_dir): Don't timeout and free dcache while resolving symlinks (i.e. don't free some pointers which are in use by resolve_symlink). Mon Oct 19 11:44:47 1998 Pavel Machek * mcfs.c: prefix is mc:, not mcfs:. So now mcfs actually works. Thu Oct 15 17:17:17 1998 Pavel Machek * shared_ftp_fish.c (s_write): stupid bug fixed Tue Oct 13 00:22:52 1998 Pavel Machek * extfs/*: marked obvious security holes with FIXME: TMP RACE * vfs.c (mc_def_getlocalcopy): creat->open(..,O_EXCL), to prevent symlink attack, fixed memory leak along the path 1998-10-13 Miguel de Icaza * vfs.c, vfs.h: Indentation changes, ugly macros removed. I am going to split this file in the future. Tue Oct 13 18:43:18 1998 Pavel Machek * vfs.c (vfs_add_noncurrent_stamps): Fixed typo reported by Andrej Borsenkow Tue Oct 13 12:42:10 1998 Pavel Machek * vfs.h (vfs_struct): renamed to avoid namespace conflict Mon Oct 12 22:42:30 1998 Pavel Machek * sfs.c: reuse mmap from local.c * ftpfs.c, fish.c, shared_ftp_fish.c: horrible reget hack removed, and replaced with open(,O_LINEAR); lseek() combination Sun Oct 11 01:44:37 1998 Pavel Machek * mcfs.c (open_tcp_link): Moved: it used to be in utilvfs.c, but as it deals with portmapper, it is probably useful for mcfs * vfs.h (MCERR_*): these are no longer needed * vfs.c (vfs_translate_url): translating of url's moved to vfs code * all around: trying to reduce namespace pollution. All special functions (like extfs_run) should be done using mc_setctl() interface. At the end, all non-static functions in vfs layer should begin with vfs_ and should be declared in vfs.h (however that goal is far away). * all over the code: replace X_vfs_ops to vfs_X_ops Mon Oct 5 20:11:01 1998 Pavel Machek * vfs.c: added stat to avoid hiding files by naming them #ftp:localhost and similar. Vfs will not treat files as local if they already exists, regardless of name. Tue Oct 6 15:34:22 1998 Pavel Machek * vfs.h: disable BROKEN_PATHS by default. See if you can live without cd .. from ftp tree putting you to last directory. Sat Oct 3 14:28:57 1998 Norbert Warmuth * ftpfs.c (resolve_symlink): fixed cut'n paste error in my last change, i.e. make it compile) Sat Oct 3 01:03:37 1998 Norbert Warmuth * ftpfs.c (resolve_symlink): minor speed enhancement Thu Oct 1 18:39:52 1998 Pavel Roskin * vfs.h: vfs_force_expire() was incorrectly #define'd Tue Sep 29 17:23:03 1998 Pavel Machek * extfs.c, sfs.c: added few static's to prevent people from doing stupid things Mon Sep 28 21:43:16 1998 Norbert Warmuth * vfs.h (struct vfs): renamed errno to verrno because glibc2 defines errno as macro (#define errno (*__errno_location ())) Mon Sep 28 21:34:03 1998 Norbert Warmuth * Makefile.in: search config.status in builddir and not in srcdir/.., i. e. make it compile for builddir != srcdir Sun Sep 27 16:16:52 1998 Pavel Machek * COPYING.LGPL, all over the code: code is now under Library General Public License (instead of GPL), so non-free applications can link to it. Wed Sep 23 22:37:40 1998 Pavel Machek * all over the code: added (vfs *) as first argument for functions that have no other way to know what fs they belong to. This will be used by object-like tricks, which will allow us to do real code-sharing: I do not like #including of .c files. 1998-09-25 Miguel de Icaza * shared_ftp_fish.c: Addaed prototypes for linear_start, linear_read, linear_close Wed Sep 23 15:09:55 1998 Tom Tromey * vfs.h (MIN, MAX): Only define if not already defined; glib.h also defines them. Wed Sep 23 13:33:14 1998 Pavel Machek * ftpfs.c: Fixed segfault caused by uninitialized variable. Wed Sep 23 11:51:12 1998 Pavel Roskin * ftpfs.c, fish.c: added O_LINEAR mode to handle linear read of files in sane way. copy_file_file will make temporary files for a while (fix pending). * tar.c: fixed bzip/bzip2 compressed archives Wed Sep 18 12:51:51 1998 Pavel Machek * fish.c, vfs.c: created aliases /#ssh: and /#rsh: * vfs.h: created ERRNOR() macro which sets my_errno and returns, which makes vfs's _much_ more readable Fri Sep 18 10:37:28 1998 Pavel Roskin * ftpfs.c (ftp_use_unix_list_options): New global variable/option. If true we try to use 'LIST -la '. When it fails we use the two commands 'CWD ' and 'LIST' instead. (resolve_symlink): rewritten. Don't get a second directory listing with `LIST -lLa'. Instead use the cache to get the file stat of symbolic links. If the directory the symlink points to isn't already in the cache the directory listing will be fetched and stored in the directory cache (without resolving symlinks recursively). The new method to resolve symlinks is faster if symlinks the same directory or the directory the symlink points to is already in the cache. This function was small and nice until I discovered that it was broken for symlinks to symlinks. Now it looks ugly and perhaps I will revert it to use "LIST -lLa" again. With a fast connection it doesn't matter which method we use but with a slow connection I wouldn't hesitate to burn more CPU cycles on the client side. (retrieve_dir): Added parameter to tell whether to resolve symlinks (don't resolve symlinks in directory listings retrieved while resolving symlinks). When we don't get a directory listing with 'LIST -la ' then try to get it with `CWD ; LIST'. Tue Sep 15 20:27:29 1998 Norbert Warmuth * ftpfs.c (login_server): s/ftpfs_get_host/my_get_host/ (retrieve_file_start2): Don't create target file O_EXCL, in copy_file_file we check existence of the target file and know that we want to truncate it (this change was already done a while back but it was reverted with the vfs-split). Tue Sep 15 20:15:42 1998 Norbert Warmuth * ftpfs.h (struct connection): added boolean which indicates that the ftp server doesn't understand Unix ls options * ftpfs.h (struct dir): added enum to store symlink status of the in memory directory cache (directory has no symbolic links; symbolic links but not yet resolved; symbolic links which are resolved) Tue Sep 15 20:02:08 1998 Norbert Warmuth * shared_ftp_fish.c, fish.c: updated references to retrieve_dir to honor the additional boolean parameter Tue Sep 15 00:42:15 1998 Timur Bakeyev * vfs.h: add vfs_split() declaration, to make sfs.c happy. * Make-mc.in, Makefile.am: Updated to include fish.c 1998-09-14 Norbert Warmuth * sfs.c (sfs_free): assignment operator was used to check for equality Fri Sep 11 22:36:38 1998 Pavel Machek * sfs.c: memory leak fixed * vfs.c: split parse_ls_lga into more functions * fish.c added, now you can access files over rsh/ssh connection * shared*.c: reworked a bit not to include so many of ugly X_'s Wed Sep 2 13:59:47 1998 Pavel Machek * ftpfs.c: cleanup of code, few static's added * extfs/uarj: added, still, you need patches to unarj to make this work * util-alone.c: now includes code from libvfs.c, so we can kill libvfs.c (which is good thing as it was non-standard in Makefiles) Sun Aug 30 13:19:49 1998 Pavel Machek * undelfs.c: fixed, it has been broken for too long * vfs.c, ../src/cmd.c: necessary minor fixes to make undelfs work * vfs.c: made more fields in *_vfs_ops optional, cleanup of errno handling in case of NULL in *_vfs_ops. * extfs.c, ftpfs.c, tar.c: made use of above change * vfs.c: cleanup of macros generating mc_*() * libvfs.c: adding variable mc_home Thu Aug 27 19:45:31 1998 Pavel Roskin * extfs.c: mc_extfsdir was not defined in extfs_open() * Make-mc.in: sfs.c was not compiled, linked and copied out extfs/sfs.ini was not installed and copied out * Makefile.am: sfs.c was not linked to standalone VFS Tue Aug 25 17:54:17 1998 Pavel Machek * Added vfs_uid for use by libvfs.so users (rpc.nfsd) * Added single file filesystem (sfs) * Added vfs_flags so library users can disable selected filesystems * Minor shuffling of functions so garbage collection works for library 1998-08-20 Raja R Harinath * Makefile.am (mad.c, mad.h): Create symlinks to counterparts in `mc-src'. Wed Aug 12 19:04:48 1998 Pavel Roskin * extfs/patchfs: %k replaced with more portable %H in the format for "date" command * extfs/extfs.ini: Added patchfs and mailfs. Some comments changed Tue Aug 11 15:25:52 1998 Pavel Roskin * extfs/rpm: Fix for buggy "cut" on HP-UX 10.20 which ignores lines without end-of-line. Mon Jun 01 03:30:07 1998 Alexander Savelyev * tar.c (read_header): Support for linkflag on BSDI tar (pax), it is always 0. 1998-06-22 Miguel de Icaza * ftpfs.c (ftpfs_open_socket): Potential security break fix. 1998-08-06 Raja R Harinath * Makefile.am (BUILT_SOURCES): Make it `make dist' friendly. Don't try building this, yet. 1998-07-31 Nuno Ferreira * Make-mc.in (install.extfs): Split install of $(EXTFS_CONST) and $(EXTFS_OUT) because the first must be installed from $(srcdir) and the second from $(builddir). Fri Jul 24 00:22:30 1998 Tom Tromey * Make-mc.in (DISTVFS): Changed Makefile.in to Make-mc.in. * Makefile.am: New file. * Make-mc.in: Renamed from Makefile.in. * Makefile.in: Removed. Mon Jun 29 15:12:55 1998 Pavel Roskin * Makefile.in: Rewritten stuff concerning extfs files. Mon Jun 22 22:30:00 1998 Manish Vachharajani * Makefile.in: Remove arfs, since it doesn't seem to exist Wed Jun 17 Pavel Machek * Rename helper scripts (extfs/{rar|lha|...}.in), so their names are more logical (and so that things actually work, because new names are currently in extfs.ini). Wed Jun 17 Pavel Machek * Modified code to use tempnam() instead of tmpnam(), fixed tempnam() to use NULL instead of 0. Wed Jun 3 Pavel Machek * libvfs.c: adding libvfs.c which should contain things specific to stand-alone libvfs.so. (This file was missing from previous merge.) Mon Jun 1 16:00:19 1998 Norbert Warmuth * ftpfs.c (ftpfs_fill_names): use right character to separate prefix and username Mon Jun 1 14:19:20 1998 Bakeyev I. Timur * vfs.c (parse_ls_lga): allow a bit wider range of listings. * vfs.c (is_time, is_year): new functions Mon Jun 1 12:47:50 1998 Norbert Warmuth * ftpfs.c (ftpfs_forget): Use the new ftpfs prefix. Thu May 28 16:42:31 1998 Pavel Machek * extfs.c, shared.c, tar.c: I changed semantics in my previous patch - _get_path() now modifies strings passed to it. I thought that I were careful enough not to introduce bugs. You guessed it - I was not. [Many tar_ and extfs_ functions modify strings passed to them, but as they are only called from vfs layer, it does not matter much.] So I renamed function to alert everyone that semantics changed. Fixed bugs in timestamping (and segfaults) when you entered tar inside zip file or similar. * vfs.c (mc_open): Die if the filesystem doesn't support open ??? Pavel Machek * shared.c: Shared parts of extfs.c and tar.c are now in shared.c * util-alone.*: VFS should be able to compile stand-alone into libvfs.so usable by anyone. This is first step. * vfs.c & others: syntax change. We no longer use tar:/path.tar/file. Now, syntax is /path.tar#utar/file, which has better defined meaning. Similar changes are done to all other protocols. This change touched really _many_ places of code. 1998-05-26 Miguel de Icaza * vfs.c (MC_DIROP): Macro now returns the proper value. 1998-05-18 Tamasi Gyorgy (gt_cosy@usa.net) * Makefile.in ('install' target): 'mcserv' not installed, if net-code is not enabled by 'configure'. Thu May 14 02:05:52 1998 Norbert Warmuth * Makefile.in (LIBS): add @LINTL@ Sun May 10 14:51:03 1998 Norbert Warmuth * ftpfs.c (__ftpfs_chdir): CWD command wasn't sent at all. This optimization is wrong because for directories containing spaces we have to "CWD " and "LIST -la" instead of "LIST -la ". I implemented a different optimization. Now ftpfs_chdir only stores the new working directory and sets a flag. __ftpfs_chdir is called when we really want to change the directory on the ftp server. (resolve_symlink): Log the directory listing to the logfile. * ftpfs.h (struct ftpfs_connection): Added a (per connection) cwd_defered flag. Mon May 4 10:27:49 1998 Norbert Warmuth * Makefile.in: Links to mad.c and mad.h were created wrong when srcdir != builddir and directory depth to srcdir and builddir were different (e.g. srcdir=/src/mc and builddir=/src/compile/mc) * ftpfs.c (retrieve_file_start2): Don't create target file O_EXCL, in copy_file_file we check existence of the target file and know that we want to truncate it. 1998-04-29 Miguel de Icaza * tar.c (read_header): Mark regular files with S_IFREG. Tue Apr 28 06:06:03 1998 Norbert Warmuth * extfs.c (extfs_open, extfs_close): Changed my_system(1,...) to my_system(EXECUTE_AS_SHELL,...), this fixes the broken copyin and copyout of 4.1.32. 1998-04-23 Miguel de Icaza * ftpfs.c (retrieve_file_start2): Open file exclusively. (retrieve_file): likewise. 1998-03-31 Philippe De Muyter * vfs.h: compilation fix for m68k-motorola-sysv Wed Mar 25 19:01:48 1998 Norbert Warmuth * extfs/hp48: Added a usage summary Mon Mar 23 00:42:21 1998 Christofer Edvardsen * Makefile.in, extfs/extfs.ini, extfs/hp48: New external filesystem to view and copy files to/from the HP48. Wed Feb 11 14:09:02 1998 Oleg * extfs.c: Add support for writable external file systems. Required for the httpfs. Fri Jan 23 07:27:37 1998 Peter Daum * extfs.c (open_extfs_archive): Pass the quoted argument to the list command. * mailfs: new file system. 1997-12-21 Yuri Kuzmenko * tar.c: fix the bug which core dumps when trying to view tar file with many files (over 60000). Mon Jul 21 18:47:37 1997 Miguel de Icaza * vfs.c (mc_opendir): Do not make conversions between int/void * to make the code compile and work on the Alpha correctly. Allocate a pointer to an int and use that instead. Thu Jul 3 19:08:43 1997 Michele Marziani * extfs/rpm: Small fix for older RPM files. Mon Jun 9 19:00:30 1997 Norbert Warmuth * vfs/vfs.c (vfs_canon): Fix for the 'cd a:/somedir/..' problem * vfs/vfs.c (vfs_add_non_current_stamps): when leaving a mtools fs free the extfs buffers immediately instead of waiting for the vfs- timeout Thu May 29 14:50:41 1997 Miguel de Icaza * vfs.c (vfs_canon): the "local:" case was consuming one extra character. This fixes the bug reported by Andrej. Also, handle the non-canonical case of arguments to local: Tue May 27 20:38:28 1997 Miguel de Icaza * mcserv.c (get_client): The parent now waits for the first forked process, getting rid of the zombies. * utilvfs.c (open_tcp_link): If we can not contact the remote portmapper, set the protocol version to 1. Fri May 16 16:42:18 1997 Tomasz Kłoczko, * mc.spec: New spec file, this packages mc, mcserv and tkmc. * lib/mcserv.init, lib/mc.sh, lib/mcserv.pamd: added * vfs/ext/rpm: instead using sed and rpm -qpi use rpm queries, more info currently displayed (ChangeLog, OS, URL, packager). Tue May 13 18:14:49 1997 Wojtek Pilorz * vfs/Makefile.in (INSTALL_PROGRAM): Use -m flag for install to force vfs scripts to be executable on those systems that use install.sh * src/utilunix.c: Implement socketpair for SCO flavored systems. Mon Mar 17 12:03:50 1997 Norbert Warmuth * configure.in (--with-hsc): fix. * vfs/ftpfs.c (ftpfs_get_proxy_host_and_port): Fixed wrong parameter passing (HSC_DEFAULT_PORT was passed as pointer to char instead of passing it as integer) Tue Feb 25 20:21:00 1997 Joseph M. Hinkle * extfs/lha: Updated the lha filesystem and included a command for running an executable from within an lha archive suggested by Zdenek Kabelac * extfs/: Renamed cpio, deb, rar, rpm as *.in files and altered config.in to create these VFS's for cleaner compilation