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