Commit Graph

908 Commits

Author SHA1 Message Date
Andrew V. Samoilov
687f435740 * xdirentry.h (linear_start): Use off_t for offset. 2004-10-06 18:04:15 +00:00
Andrew V. Samoilov
d0aeb947b4 * utilvfs.c(vfs_split_url): Add support for '@' in username. 2004-10-05 14:23:20 +00:00
Andrew V. Samoilov
320caad2e1 * smbfs.c (smbfs_forget): Check smbfs_connections[i].cli
to avoid possible segmentation fault.  Close
        https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=8974
2004-09-28 09:30:53 +00:00
Roland Illig
7b6f1db773 * vfs.c (_vfs_get_class): Reverted my last patch because
Leonard reported it to make mc crash.
2004-09-26 11:06:38 +00:00
Roland Illig
6f34e18e3e * ftpfs.c (ftpfs_find_machine): Added const qualifier.
* mcserv.c (do_auth): Likewise.
	* utilvfs.c (is_month): Likewise. (is_time): Likewise.
	(is_week): Likewise.
	* vfs.c (_vfs_get_class): Added const qualifier.
	(vfs_prefix_to_class): Added a string length parameter to
	reduce the use of g_strdup. (vfs_split): Changes due to the
	new string length parameter.
2004-09-25 14:06:27 +00:00
Andrew V. Samoilov
c060826178 * direntry.c (vfs_s_free_entry): g_free handles NULL argument too,
no need for the comparison.
        * extfs.c (extfs_free_archive): Likewise.
            (extfs_open_archive): Likewise.
            (extfs_read_archive): Likewise.
            (extfs_remove_entry): Likewise.
            (extfs_free_entry): Likewise.
        * fish.c (fish_open_archive): Likewise.
            (fish_archive_same): Likewise.
        * ftpfs.c (ftpfs_split_url):  Likewise.
        * local.c       (local_closedir): Likewise.
        * mcserv.c (close_handle): Likewise.
        * smbfs.c (smbfs_free_bucket): Likewise.
        * tar.c (tar_read_header): Likewise.
        * undelfs.c (undelfs_shutdown): Likewise.
        * vfs.c (vfs_shut): Likewise.
2004-09-24 23:00:18 +00:00
Roland Illig
e9fcc04816 * vfs.c (mc_open): Corrected FIXME. Now the "mode" parameter is
only accessed when flags contains O_CREAT.
2004-09-24 16:03:24 +00:00
Roland Illig
4bc786735e * cpio.c: Replaced NULL with (char *) NULL. Likewise for 0, where
NULL was meant.
	* direntry.c: Likewise.
	* extfs.c: Likewise.
	* fish.c: Likewise.
	* ftpfs.c: Likewise.
	* mcfs.c: Likewise.
	* tar.c: Likewise.
	* undelfs.c: Likewise.
	* vfs.c: Likewise.
2004-09-24 15:08:21 +00:00
Roland Illig
60465dace3 * cpio.c (cpio_read_bin_head): Replaced GUINT16_SWAP_LE_BE with
GUINT16_SWAP_LE_BE_CONSTANT, because GCC-3.3 emitted a warning about
	__asm__ __const__.
2004-09-23 14:58:40 +00:00
Roland Illig
a3cf3b2d5f * direntry.c (vfs_s_new_entry): see 2004-09-19. Additionally followed the advice
concerning g_strdup in /HACKING.
	(vfs_s_generate_entry): Likewise.
	(vfs_s_find_entry_linear): Likewise.
	(vfs_s_find_inode): Likewise.
	* xdirentry.h: Likewise.
2004-09-22 11:28:14 +00:00
Andrew V. Samoilov
c524515308 * direnty.c (vfs_s_new_entry): Revert last changes.
(vfs_s_generate_entry): Likewise.
        (vfs_s_find_entry_linear): Likewise.
        (vfs_s_find_inode): Likewise.
        * xdirentry.h: likewise.
2004-09-22 05:50:45 +00:00
Roland Illig
a9f9db7b6b * direntry.c: Added const qualifier to function declarations and
variables. Introduced local modifiable strings where necessary.
	* xdirentry.h: likewise.
2004-09-19 16:07:17 +00:00
Roland Illig
8335c0fab3 * smbfs.c (smbfs_init): Added a cast to avoid compiler warning. 2004-09-18 14:41:42 +00:00
Andrew V. Samoilov
312da833ff * extfs.c (extfs_open_archive): Fixes bug in extfs, which showed
'Inconsistent extfs archive' on small archives and diffs.
        QNX 6.x (QNX Neutrino) specific
2004-09-17 11:44:43 +00:00
Andrew V. Samoilov
259bc3957b Typos 2004-09-10 09:53:15 +00:00
Andrew V. Samoilov
4d149bb08e * fish_file_store): Call get_interrupt instead of testing
whether got_interrupt is non-NULL (it always is).
2004-09-09 13:26:02 +00:00
Andrew V. Samoilov
c9f834b501 * vfs.c (vfs_cmp_handle): Fixing warnings on on 64-bit
platforms.
        (vfs_op):Likewise.
        (vfs_info):Likewise.
        (vfs_free_handle):Likewise.
        * extfs/rpm (mcrpmfs_run): Quote parameters to calls
        to system/open that spawn a shell.
        * direntry.c (vfs_s_find_entry_tree): Make "size"
        size_t.
2004-09-03 21:23:05 +00:00
Andrew V. Samoilov
d99d02c743 * mcfs.c (mcfs_readlink): Revert last change: readlink does not
append a NUL character to buf. Fix compilation.
2004-09-02 14:34:58 +00:00
Andrew V. Samoilov
fc3bf048e9 * local.c (local_readlink): Make "size" size_t.
* direntry.c (vfs_s_readlink): Revert last changes. Make "size"
        size_t.
        * sfs.c (sfs_readlink): Reformat function.
        * smbfs.c (smbfs_readlink): Reformat function.
2004-09-02 14:12:21 +00:00
Roland Illig
c44a4a4c31 * mcfs.c (mcfs_readlink): Fixed syntax error (usage of
undeclared variable). Simplified string copying.
2004-09-02 13:26:28 +00:00
Andrew V. Samoilov
ce4e912cbf * extfs/uzip.in (mczipfs_list): Add support for negative
compression ratio in archive listing.
2004-09-02 00:15:59 +00:00
Andrew V. Samoilov
15c6e5cae6 * direntry.c (vfs_s_readlink): Use g_strlcpy instead strncpy.
* ftpfs.c (ftpfs_get_reply): Use g_strlcpy instead strncpy.
* extfs.c (extfs_readlink): Fix return value. Use g_strlcpy
        instead strncpy.
* mcfs.c (mcfs_readlink): Fix return value. Use g_strlcpy
        instead strncpy.
* tar.c (tar_read_header): Add additional check for consistency.
        Fix memory leak.
* cpio.c (cpio_defer_find): Remove recursion.
        (cpio_free_archive): Fix memory leak.
        (cpio_read_bin_head): Use union for simplicity using of header
        structure. Add additional check for consistency.
        (cpio_read_oldc_head): Add additional check for consistency.
2004-09-02 00:09:02 +00:00
Andrew V. Samoilov
71ffc327b5 * fish.c (fish_get_reply): Use g_strlcpy instead
sequence strncpy(), name[len] = '\0'
* vfs.c (mc_get_current_wd): Likewise.
2004-09-01 18:39:48 +00:00
Andrew V. Samoilov
784158a520 E-mail fixes 2004-08-31 14:16:16 +00:00
Andrew V. Samoilov
d16aa745e8 * utilvfs.c (vfs_parse_ls_lga): Use atoll()/atof() instead of atol()
for st_size to show file sizes > 2G.
* fish.c (fish_dir_load): Likewise.
* extfs.c (struct inode): Use off_t for size.
2004-08-30 18:36:22 +00:00
Roland Illig
65ffa864b8 * Code cleanup: Added const qualifier for variables and
function declarations where possible. No functional changes.
2004-08-29 17:24:12 +00:00
Andrew V. Samoilov
3c4b2f8ff4 Fixed changelog entry - use parenthesis for explicit function name 2004-08-26 19:56:14 +00:00
Andrew V. Samoilov
81e4bdfe72 smbfs.c (smbfs_open_readwrite): Implement O_APPEND via smbfs_lseek(). 2004-08-26 19:51:38 +00:00
Roland Illig
f78fd52bfe * undelfs.c (undelfs_lstat): Adjusted declaration.
(undelfs_stat): Defined to undelfs_lstat.

	From Andrew V. Samoilov
2004-08-26 09:17:38 +00:00
Andrew V. Samoilov
a2d1d4e8dc * 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 08:47:50 +00:00
Roland Illig
c64cec997a * vfs.c (mc_chdir): Fixed memory leak. 2004-08-26 00:17:36 +00:00
Andrew V. Samoilov
201c30624e * 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 19:51:41 +00:00
Andrew V. Samoilov
acc5f18cfa Change e-mail for Leonard den Ottolander 2004-08-24 19:27:01 +00:00
Roland Illig
83c07852e9 * 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-24 15:56:24 +00:00
Roland Illig
6bd2914cc1 Added missing ChangeLog entries from 2004-08-16. 2004-08-24 14:01:12 +00:00
Andrew V. Samoilov
76a8893a53 * extfs/urar.in: Fix non-POSIX constructs. 2004-08-22 22:47:15 +00:00
Andrew V. Samoilov
dbedd885e6 * extfs/rpm: Modified workaround for spaces and single quotes in the path name. 2004-08-22 22:38:49 +00:00
Andrew V. Samoilov
8a410cf065 * 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.
2004-08-22 21:43:18 +00:00
Andrew V. Samoilov
b2706a92c6 Anti-spam protection e-mail address for Leonard den Ottolander 2004-08-22 12:02:14 +00:00
Andrew V. Samoilov
6478efd184 * samba/lib/util.c (tmpdir): Use MC_TMPDIR environment variable.
(automount_lookup): More secure code.
2004-08-20 21:05:02 +00:00
Roland Illig
a37fdaca96 * extfs/deb.in (mcdebfs_list): Separated the use of quoted and unquoted variables. (mcdebfs_copyout): likewise. (mcdebfs_run): likewise. From Leonard den Ottolander <leonard@den.ottolander.nl> 2004-08-19 17:37:01 +00:00
Roland Illig
2c4ca680bb * extfs/deba.in (list): Separated the use of quoted and unquoted variables. (copyout): likewise. (run): likewise. From Leonard den Ottolander <leonard@den.ottolander.nl> 2004-08-19 17:32:31 +00:00
Roland Illig
060898b092 * 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 <leonard@den.ottolander.nl> 2004-08-19 15:53:13 +00:00
Roland Illig
388442cf0c 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-19 12:05:54 +00:00
Andrew V. Samoilov
b328811d2a * extfs/rpm: Command line parameters fix for UPGRADE.
Fix mcrpmfs_copyout for INFO/OBSOLETES and INFO/LICENSE

        From Leonard den Ottolander <leonard@den.ottolander.nl>
2004-08-18 21:18:07 +00:00
Andrew V. Samoilov
b93ffeaa80 Security fix patch. Fix insecure temporary file and directory creations. (CAN-2004-0231). 2004-08-17 08:24:59 +00:00
Andrew V. Samoilov
e9be8219a0 * sfs.c (sfs_init): Fix possible buffer overflows for invalid sfs.ini. 2004-08-14 10:56:09 +00:00
Andrew V. Samoilov
5b290ada65 * extfs.c (extfs_init): Fix possible off-by-one buffer underflow
for empty lines in extfs.ini.
2004-08-14 10:51:00 +00:00
Andrew V. Samoilov
622e6a368e Fix missed name_status() function name. 2004-08-09 14:09:52 +00:00
Pavel Roskin
8ab694ba2d * tar.c: Eliminate struct hstat, use stack arguments instead. 2004-06-14 16:04:07 +00:00
Andrew V. Samoilov
b55db9788b * samba/lib/debug.c (Debug1): Don't try to open/create logfile if debugf is empty string. 2004-03-07 06:40:28 +00:00
Andrew V. Samoilov
722f4e684a * utilvfs.c (vfs_parse_ls_lga): Handle device without whitespace(s)
between major and minor.
2004-03-07 06:17:12 +00:00
Andrew V. Samoilov
02db8a9660 * direntry.c (vfs_s_resolve_symlink): Check vfs_s_fullpath()
return value to avoid NULL dereference.
Reported by wwp <subscript@free.fr>.
2004-03-07 06:12:49 +00:00
Andrew V. Samoilov
2f7bbc2c31 * vfs.c (mc_def_ungetlocalcopy): Fix missed "%s".
* utilvfs.c (vfs_parse_ls_lga): Likewise.
2004-03-07 06:07:43 +00:00
Pavel Roskin
05e6a61834 * smbfs.c (smbfs_reconnect): Revert changes in a translated
message.
2004-01-28 00:01:30 +00:00
Pavel Roskin
79b4c398de * extfs/rpm: Workaround for spaces and single quotes in the path
name.
2004-01-24 00:48:46 +00:00
Pavel Roskin
a8261b28d6 * mcserv.c: Use HAVE_CRYPT instead of USE_CRYPT. Remove
references to HAVE_LIBCRYPT and HAVE_LIBCRYPT_I.  Reported by
Christian Laubscher <christian.laubscher@tiscalinet.ch>
2004-01-22 08:44:20 +00:00
Pavel Roskin
8db3838b57 * samba/configure.in: Rename to ...
* samba/configure.ac: ... this.  Adjust dependencies.
2004-01-22 06:30:30 +00:00
Pavel Roskin
fe12438ed6 * fish.c (fish_open_archive_int): Save some stack and place -C
flag before host.
2003-12-06 04:24:56 +00:00
Pavel Roskin
e9827066d1 * undelfs.c: Use ext2fs/ext2_fs.h instead of linux/ext2_fs.h
when possible.
2003-11-28 06:20:57 +00:00
Pavel Roskin
fc9bf6040f * gc.c (vfs_ncs_getid): Merge with vfs_getid(). 2003-11-26 21:25:30 +00:00
Pavel Roskin
6ffd35bf07 * gc.c: Eliminate all code for timestamping parent filesystems.
It's broken and undocumented.  Adjust all dependencies.
2003-11-26 21:10:42 +00:00
Pavel Roskin
8ed2cc4594 * direntry.c (vfs_s_resolve_symlink): Eliminate
g_strdup_printf().
(vfs_s_fullpath): Likewise.
2003-11-24 20:30:30 +00:00
Pavel Roskin
ffb686bfa9 * ftpfs.c (ftpfs_login_server): Explicit password should have
priority over the netrc password and the anonymous password.
Reported by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
2003-11-21 06:57:37 +00:00
Pavel Roskin
3ba446981a Typo fix. 2003-11-20 18:40:11 +00:00
Pavel Roskin
2eeab44b93 * undelfs.c (undelfs_loaddel): Use g_try_malloc()/g_try_relloc()
since we want to recover and not abort the program if we don't
have enough memory.
(com_err): Fix implementation.
2003-11-14 21:36:35 +00:00
Pavel Roskin
8147825da3 Typo fixes from Andrew. 2003-11-14 16:55:35 +00:00
Pavel Roskin
54b8c9aaad * 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-14 08:25:50 +00:00
Pavel Roskin
30c4bd1b6d * 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.
2003-11-13 08:29:37 +00:00
Pavel Roskin
4b5a2a0b62 * direntry.c (vfs_s_stamp_me): Generalize and move ...
* gc.c (vfs_stamp_create): ... here.  Use whenever possible.
2003-11-13 08:03:03 +00:00
Pavel Roskin
de12104436 * 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 23:00:16 +00:00
Pavel Roskin
d2e2f5c544 * cpio.c (cpio_create_entry): Fix possible buffer underflow
and memory leak.
2003-11-12 17:10:48 +00:00
Pavel Roskin
4eab382dba * 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, inprove readability.
2003-11-08 23:53:00 +00:00
Pavel Roskin
b33f2cbb47 * 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-07 23:43:55 +00:00
Pavel Roskin
106a90ae99 * vfs.c: Eliminate MC_OP. Reorder other MC_* macros for
readability.
2003-11-05 06:34:20 +00:00
Pavel Roskin
0318ed5d0b * 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-05 06:08:16 +00:00
Pavel Roskin
c468c1b6e9 * 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-11-05 00:12:25 +00:00
Pavel Roskin
f613c51eb5 * HACKING: New file - technical documentation for VFS.
* Makefile.am: Distribute it.
2003-10-30 06:00:41 +00:00
Pavel Roskin
24dd87b714 * 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 tatfs).
2003-10-30 05:58:06 +00:00
Pavel Roskin
cb2aaf4c16 * extfs.c: Remove current_dir field, its role was purely
decorative.  Rename names starting with underscore.
2003-10-29 23:16:31 +00:00
Pavel Roskin
f2550b08ee * extfs.h: Merge ...
* extfs.c: ... here.
* Makefile.am: Remove extfs.h.
2003-10-29 23:05:27 +00:00
Pavel Roskin
cea13079c3 * ftpfs.c: Use HAVE_STRUCT_LINGER_L_LINGER instead of
HAVE_STRUCT_LINGER.
2003-10-29 17:23:35 +00:00
Pavel Roskin
6b4f397f5b * Makefile.am: Compile utilvfs.c even without USE_VFS_NET.
* utilvfs.c (vfs_split_url): Only compile with USE_NETCODE
defined.
2003-10-29 07:19:25 +00:00
Pavel Roskin
cd644b527c * 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.
2003-10-29 01:35:36 +00:00
Pavel Roskin
edce41facd * 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.
2003-10-29 00:50:36 +00:00
Pavel Roskin
77bcdc8127 * 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.
2003-10-28 21:52:06 +00:00
Pavel Roskin
67cd859ea3 * direntry.c (vfs_s_init_class): Use our getlocalcopy for remote
filesystems that cache files, not for archives.
(vfs_s_getlocalcopy): Corresponding changes.
2003-10-28 08:20:30 +00:00
Pavel Roskin
8e3a0c9d65 * 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-28 07:09:39 +00:00
Pavel Roskin
7d16d65e35 * vfs.h: Constify some arguments for many functions.
* xdirentry.h: Likewise.  Adjust all dependencies.
2003-10-28 02:10:33 +00:00
Pavel Roskin
5bc20fd294 * *.c: Rename functions that don't have an a prefix indicating
what file they are defined in.  This simplifies debugging.
2003-10-28 00:57:02 +00:00
Pavel Roskin
520f6ddb6c * vfs.c (mc_def_getlocalcopy): Use O_LINEAR when retrieving the
remote file.  This avoids an extra temporary file.
2003-10-27 21:55:06 +00:00
Pavel Roskin
4ee3f26133 * cpio.c (cpio_ungetlocalcopy): Remove.
* tar.c (tar_ungetlocalcopy): Likewise.
* vfs.c (mc_def_ungetlocalcopy): Add support for read-only
filesystems.
2003-10-27 21:01:00 +00:00
Pavel Roskin
bc455d5840 * direntry.c (vfs_s_find_inode): Only allow search from root.
Change second argument to superblock to prevent abuse.
2003-10-27 03:09:40 +00:00
Pavel Roskin
ad670bade6 * 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".
2003-10-27 02:54:59 +00:00
Pavel Roskin
cc09ee51f1 Typo fixes. 2003-10-27 01:55:50 +00:00
Pavel Roskin
511321bcfd * 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-traversible from inodes to the root and cause infinite
loop in vfs_s_fullpath().
Reported by Frdric L. W. Meunier <lists1@pervalidus.net>
2003-10-27 01:26:18 +00:00
Pavel Roskin
7cc31809be * tar.h: Merge into tar.c, as it doesn't provide any external
interface.
* Makefile.am: Remove tar.h.
2003-10-26 03:34:42 +00:00
Pavel Roskin
a828849d50 * vfs.h: Remove redundant declaration of init_localfs(). 2003-10-26 01:51:28 +00:00
Pavel Roskin
5a0b2b0806 * mcserv.c: Don't use HAVE_CRYPT from extraonf.h.
* samba/include/includes.h: Likewise.
2003-10-25 22:37:08 +00:00
Pavel Roskin
be3fa535ba * ftpfs.c: Remove the rest of source routing code.
* xdirentry.h: Likewise.
2003-10-24 20:08:38 +00:00
Pavel Roskin
79d3e0a85f * ftpfs.c (setup_source_route): Remove. It's a badly
implemented hack that was never enabled.
2003-10-24 19:03:27 +00:00
Pavel Roskin
274a5a1c41 * direntry.c (vfs_s_find_entry_tree): Canonicalize path. 2003-10-17 03:25:43 +00:00
Pavel Roskin
e09739368e * 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 23:58:43 +00:00
Pavel Roskin
3b2e731d3d * vfs.c (mc_open): Fix rare memory leak on failure. 2003-10-16 20:46:08 +00:00
Pavel Roskin
7c4fc715da * direntry.c (vfs_s_setctl): Implement VFS_SETCTL_FLUSH.
* ftpfs.c: Remove ftpfs_flushdir.  Use MEDATA->flush.
* fish.c: Use MEDATA->flush.
2003-10-16 18:51:41 +00:00
Pavel Roskin
e9ffcceae5 * direntry.c (vfs_s_setctl): Add support to VFS_SETCTL_LOGFILE.
* ftpfs.c (ftpfs_set_debug): Remove.
2003-10-16 17:08:38 +00:00
Pavel Roskin
0b99804da2 * names.c: Merge ...
* utilvfs.c: ... here.
* names.h: Merge ...
* utilvfs.h: ... here.
* Makefile.am: Remove references to names.c and names.h.
2003-10-16 16:50:09 +00:00
Pavel Roskin
63740624ea * 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.
2003-10-16 16:40:11 +00:00
Pavel Roskin
52844a3092 * 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.
2003-10-16 16:12:19 +00:00
Pavel Roskin
fc7267906f * xdirentry.h: Move system includes to the files that need them. 2003-10-16 08:47:33 +00:00
Pavel Roskin
dcd2b9e8fc * xdirentry.h: Fix typos in field names. 2003-10-16 06:05:39 +00:00
Pavel Roskin
a6754ce841 * xdirentry.h: Cleanup unused or write-only fields. Adjust all
dependencies.
2003-10-16 05:47:23 +00:00
Pavel Roskin
b7efdfa380 * xdirentry.h: Remove magic numbers. Move some constants ...
* ftpfs.c: ... here.
2003-10-16 05:06:24 +00:00
Pavel Roskin
26ce05dfa3 * samba/lib/doscalls.c: Remove. Remove all references to it. 2003-10-15 07:32:45 +00:00
Pavel Roskin
426c1836d5 * vfs.h: Remove all references to seekdir and telldir. Adjust
all dependencies.
2003-10-14 22:24:26 +00:00
Pavel Roskin
600891d8d5 * vfs.c (_vfs_add_noncurrent_stamps): Fix incorrect casts. 2003-10-13 06:56:31 +00:00
Pavel Roskin
72c64a60e2 * 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.
2003-10-12 22:25:53 +00:00
Pavel Roskin
2e524d3cad * local.c: Switch to self-registration.
* vfs.c: Cache localfs class for the use in vfs_get_class().
2003-10-12 19:57:27 +00:00
Pavel Roskin
6cf97f4069 * xdirentry.h: Remove all typedefs, there is no need to hide the
fact that structures are structures.  Fix all dependencies.
2003-10-12 01:00:44 +00:00
Pavel Roskin
00b57fd4bf * vfs.h: Remove typedef vfs, it's too ambiguous. Massive
changes to use struct vfs_class instead.
2003-10-12 00:24:00 +00:00
Pavel Roskin
4b1ec7399b * 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.
2003-10-11 22:17:52 +00:00
Pavel Roskin
4de9d4d10e * vfs.h (ftpfs_hint_reread): Remove, it's unused. 2003-10-11 20:58:22 +00:00
Pavel Roskin
6e6fd9b352 * 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.
2003-10-11 17:30:54 +00:00
Pavel Roskin
3fb8e46501 * 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.
2003-10-11 16:54:46 +00:00
Pavel Roskin
523589cddc * direntry.c: Make more functions static. They are filled in in
vfs_s_init_class() now and don't need to be exported.
2003-10-11 10:13:36 +00:00
Pavel Roskin
5cad1eb493 * tarfs.c: Switch to self-registration. 2003-10-11 09:55:13 +00:00
Pavel Roskin
b2486a2b71 * extfs.c: Don't include xdirentry.h.
* vfs.c: Likewise.
2003-10-11 09:36:29 +00:00
Pavel Roskin
c028805b33 * ftpfs.c: Switch to self-registration. 2003-10-11 09:27:37 +00:00
Pavel Roskin
7081d35409 * vfs.h: Remove parts used only when USE_VFS is not defined. 2003-10-11 09:05:49 +00:00
Pavel Roskin
1d6e00faf0 * 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.
2003-10-11 08:21:16 +00:00
Pavel Roskin
60bab59379 * vfs.c: Constify arguments of many functions. 2003-10-11 07:38:05 +00:00
Pavel Roskin
091023c37a * undelfs.c (undelfs_get_path): Constify first argument.
* vfs.h (struct vfs_class): Constify path.  Fix all dependencies.
2003-10-11 07:20:53 +00:00
Pavel Roskin
5659c0f5ee * vfs.c (vfs_release_path): New function, code taken from
_do_panel_cd().
(vfs_ncs_getid): Make static.
2003-10-11 06:43:59 +00:00
Pavel Roskin
9d1f2aae71 * 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().
2003-10-11 06:25:29 +00:00
Pavel Roskin
9632550889 * cpio.c (init_cpiofs): Set vfs_cpiofs_ops.setctl to NULL, or
bad things happen after unsuccessful deletion.
2003-10-11 05:50:34 +00:00
Pavel Roskin
14b3775e71 * vfs.h: Remove obsolete code. 2003-10-11 05:46:50 +00:00
Pavel Roskin
617bf6880a * 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.
2003-10-10 23:49:44 +00:00
Pavel Roskin
413f8cbabd * 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().
2003-10-10 23:38:03 +00:00
Pavel Roskin
b2edfddd7e * 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 registraction for vfs_s descendants.
* cpio.c: Register VFS class locally.
2003-10-10 23:13:09 +00:00
Pavel Roskin
b1aba35e22 * direntry.c: Make functions static when possible.
* xdirentry.h: Remove unneeded declarations.
2003-10-07 22:38:28 +00:00
Pavel Roskin
9ddf2306e5 * 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-28 20:35:08 +00:00
Pavel Roskin
525deb6fc7 * vfs.c (vfs_canon): Remove tilde expansion. mc_chdir() should
act like chdir() of localfs, which doesn't expand tilde.
Reported by Doncho Gunchev <mr700@globalnet.bg>
2003-09-23 05:18:50 +00:00
Pavel Roskin
cdd8f8ce86 * vfs.c (mc_get_current_wd): Use g_strlcpy() to avoid unneeded
padding and silence Valgrind.
2003-09-22 19:43:41 +00:00
Pavel Roskin
ecce86674c * samba/libsmb/namequery.c (_interpret_node_status): Comment
out.
2003-09-10 00:21:52 +00:00
Pavel Roskin
0e77501e9c * samba/include/charset.h: Remove declaration already present in
proto.h.
* samba/include/proto.h: Run through uniq.
2003-09-03 19:21:41 +00:00
Pavel Roskin
31ed57778b * 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.
2003-08-30 07:14:54 +00:00
Pavel Roskin
c037f013a3 * 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-30 06:29:39 +00:00
Pavel Roskin
3bff4a829d * 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 23:40:37 +00:00
Pavel Roskin
94e14aacfb * 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 22:48:25 +00:00
Pavel Roskin
ef9371e3fa * ftpfs.c (initconn): Use more portable initialization.
* xdirentry.h: Use safer definition of ERRNOR.
2003-08-29 22:32:21 +00:00
Pavel Roskin
780609f437 * extfs/uzip.in: Fix error in parsing size of files over 9999999
bytes long.
2003-08-18 05:17:25 +00:00
Pavel Roskin
10fb3f22f6 * extfs/audio.in: Further portability fixes. Use current date
for timestamps.
Partly from Andrew V. Samoilov <sav@bcs.zp.ua>
2003-08-08 22:07:16 +00:00
Pavel Roskin
0a0ac18aae * extfs/audio.in: Fix non-POSIX constructs.
From GoTaR <gotar@poczta.onet.pl>
2003-08-08 07:58:09 +00:00
Pavel Roskin
e25db8514a * ftpfs.c (login_server): Undo last change. 2003-07-28 16:17:30 +00:00
Pavel Roskin
5efb620cb8 * ftpfs.c (login_server): Fix memory leak.
(linear_abort): Close dsock before reconnect().
(ftpfs_done): Release no_proxy list.
2003-07-23 16:19:33 +00:00
Pavel Roskin
67e50fcb06 * 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-07-21 04:17:39 +00:00
Pavel Roskin
b0b8f65cdc * extfs/lslR.in: Portability fixes. 2003-06-22 09:54:19 +00:00
Pavel Roskin
f40cf73bbd * ftpfs.c (command): Fix misuse of the status variable. Don't
cache the value of SUP.sock before reconnect.
2003-06-22 07:47:33 +00:00
Pavel Roskin
ab84c14503 * vfs.c: Rename mc_return_cwd() to _vfs_get_cwd(). Move
related functions closer to each other, add comments.
2003-06-06 00:50:22 +00:00
Pavel Roskin
68183f4727 * ftpfs.c (ftpfs_done): New function. Free ftpfs_proxy_host and
ftpfs_anonymous_passwd.
2003-06-06 00:16:50 +00:00
Pavel Roskin
a5959b02f9 Typos and britainisms. 2003-06-02 19:31:14 +00:00
Pavel Roskin
92c3ee02ab Fix spelling of necessary. 2003-06-02 17:52:50 +00:00
Pavel Roskin
a3708077d1 * extfs/trpm: Fix compatibility with the secure temporary
filenames used by extfs.  Filter rpm messages from the listing.
2003-05-30 20:27:07 +00:00
Pavel Roskin
295c631c2c * fish.c (file_store): Use block size 1. It's slower, but much
safer.  GNU dd is not persistent enough when reading data.
2003-05-08 06:04:04 +00:00
Pavel Roskin
3a3e1b2c34 * extfs/rpm: If rpm doesn't support --info as in Red Hat 9,
ignore it and don't show HEADER in the listing.
2003-05-08 05:19:57 +00:00
Pavel Roskin
0a6c496e40 * extfs/iso9660.in: Determine presence of Rock Ridge and Joliet
extensions by running "isoinfo -R".  Use current charset for
Joliet extensions.
2003-04-29 18:21:40 +00:00
Pavel Roskin
f9fd075f21 * extfs/iso9660.in: New filesystem for ISO-9660 images.
From Michael Shigorin <mike@altlinux.org>
* extfs/extfs.ini: Add iso9660.
* extfs/Makefile.am: Add extfs/iso9660.in.
2003-04-29 16:03:11 +00:00
Andrew V. Samoilov
6f188101cf * 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-04-03 10:45:03 +00:00
Andrew V. Samoilov
8ed2f5ac10 * extfs/patchfs.in: Treat '\ No newline at end of file' line
as valid diff contents.  By Adam Byrtek <alpha@debian.org>.
2003-03-27 16:10:42 +00:00
Pavel Roskin
66a0f1a957 * ftpfs.c (login_server): Ask user for account if the server
asks for it.
2003-03-14 16:33:02 +00:00
Andrew V. Samoilov
e2ae450cf0 * samba/libsmb/clientgen.c (cli_session_setup): Convert
username from Unix to DOS codepage before sending.
2003-03-13 14:45:48 +00:00
Andrew V. Samoilov
5e267e2ab6 * extfs/patchfs.in: Minor cleanups by Adam Byrtek <alpha@debian.org>. 2003-03-11 07:14:03 +00:00
Pavel Roskin
4d548cc4b1 * extfs.c (extfs_cmd): Quote localname - it's based on the entry
name, so it can contain dangerous symbols like "&".
2003-03-11 00:01:56 +00:00
Pavel Roskin
6df9219f85 * extfs.c (extfs_open): Retain original filename as a suffix
for the temporary filename.
* vfs.c (mc_def_getlocalcopy): Likewise.
2003-02-26 17:43:18 +00:00
Andrew V. Samoilov
9ec797a024 * extfs/patchfs.in: rm and proper copyin support, more
functions to make code more clear.
2003-02-26 15:08:37 +00:00
Andrew V. Samoilov
55ccd00c73 * direntry.c (vfs_s_dump): SunOS 5.8 warning fix. Reformat function. 2003-02-19 14:04:35 +00:00
Andrew V. Samoilov
cbe4a1adf4 * smbfs.c (smbfs_lseek): Backport from Samba 2.2.7 Suite.
(fake_server_stat): Warning fix for AIX.  Reformat function.
(fake_share_stat): Likewise.
(smbfs_mkdir): Likewise.
2003-02-19 12:56:03 +00:00
Andrew V. Samoilov
004ae18d9e * 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-02-19 08:38:49 +00:00
Pavel Roskin
4d4294fdb4 * smbfs.c (smbfs_nothingisopen): Warning fix for 64-bit systems.
(smbfs_free): Likewise.
2003-01-24 20:55:55 +00:00
Pavel Roskin
a25ad31daf * extfs/urar.in: Search $PATH for unrar, fallback to rar. 2003-01-24 07:10:02 +00:00
Andrew V. Samoilov
1dfc24bd42 2002-12-24 Adam Byrtek <alpha@debian.org>
* extfs/patchfs.in: context diff format support, regular
	expressions precompiled, some minor fixes
2003-01-13 12:07:45 +00:00
Pavel Roskin
325bf57d86 Typo fix. 2002-12-30 23:19:14 +00:00
Andrew V. Samoilov
196dd0c1de * extfs/rpm: Use --nosignature only if rpm supports this. 2002-12-29 09:19:36 +00:00
Pavel Roskin
9dc4fc6342 * extfs.c (read_archive): Free archive if the "list" command
returned non-zero, return -1.
Initial implemntation from Adam Byrtek <alpha@debian.org>
2002-12-25 21:42:59 +00:00
Pavel Roskin
ddf2ad1612 * direntry.c (vfs_s_open): If the filesystem is read-only,
disable file creation.
2002-12-25 04:57:26 +00:00
Pavel Roskin
075d359907 * vfs.c (mc_chdir): Don't change current directory until the
low-level chdir succeeds.
2002-12-25 04:02:34 +00:00
Pavel Roskin
3a377a802d * vfs.c (vfs_name): Eliminate - it's unused and wrong. 2002-12-25 02:47:21 +00:00
Andrew V. Samoilov
6fec66eb87 * extfs/mailfs.in: Quote filename when openning mailbox. 2002-12-24 06:56:16 +00:00
Andrew V. Samoilov
1edcc92829 * extfs/apt.in, extfs/dpkg.in: Avoid stat on non-existing file. 2002-12-24 06:33:46 +00:00
Andrew V. Samoilov
f5dc73aa71 * smbfs.c: Resurrect and use myumask for generated permissions. 2002-12-20 18:16:45 +00:00
Andrew V. Samoilov
b6aa32d9b2 * 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 18:20:11 +00:00
Pavel Roskin
1df0641954 * 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 17:36:58 +00:00
Pavel Roskin
6ee35e2c55 * extfs/patchfs.in: Allow diffs with function names after "@@".
Don't consider an empty newline as the end of the diff.
2002-12-19 16:51:04 +00:00
Andrew V. Samoilov
76a86209d4 * extfs/patchfs.in (openread): Use quoted $archive when opening
archives.
(list): Set $archive to quoted $_[0].
2002-12-18 14:31:54 +00:00
Pavel Roskin
1f05866c5e * extfs/rpm: Don't check package signatures - it creates a lot
of noise on stderr if the signature is missing.
2002-12-17 00:32:38 +00:00
Pavel Roskin
90821fb2b8 * extfs/mailfs.in: Fixed bug when opening empty mailbox. Added
proper message size (not number of lines, like before) counting.
2002-12-14 20:05:29 +00:00
Pavel Roskin
9b4e62ef79 * 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.
2002-12-14 05:10:52 +00:00
Pavel Roskin
6c465b4a6f * extfs/ulha.in: Don't suppress stderr. 2002-12-14 04:39:09 +00:00
Pavel Roskin
f7a80d36ba * extfs/uzoo.in: Always use "q" option to avoid processing junk.
Always create symlink, do it in a safer directory.
2002-12-14 04:29:12 +00:00
Pavel Roskin
9a8ba89854 * 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.
2002-12-14 02:46:03 +00:00