25 Commits

Author SHA1 Message Date
matt335672 5dc4fdbc2c Add support for statvfs() to FUSE
Some desktop environments are now checking for free space before
copying files to a destination.

To support this, the FUSE filesystem needs to convert the statvfs()
system call to the relevent PDUs from [MS-RDPEFS]
2024-11-08 15:57:40 +00:00
matt335672 b87b7f9ee8 Add xfuse_path_in_xfuse_fs() 2021-10-25 16:16:54 +01:00
Alexandre Quesnel 52707ac686 Fixing formatting with astyle 2021-05-08 16:58:11 +00:00
matt335672 a3d429b4f7 Minor fixes to drive redirection 2020-03-03 16:14:24 +00:00
matt335672 3820d279e2 Added includes for C/POSIX types referenced in chansrv_fuse.h to chansrv_fuse.h 2019-12-22 12:37:38 +00:00
matt335672 3ef2e7ce49 CI Fixes 2019-12-05 16:44:52 +00:00
matt335672 4d8f2b5a31 Significant remote file system improvements
- Reimplemented inode store in separate module chansrv_xfs.[hc]
- Allowed atimes and mtimes to be written to Windows side
- Mapped file user write bit to (inverted) Windows FILE_ATTRIBUTE_READONLY bit
- Mapped file user execute bit to Windows FILE_ATTRIBUTE_SYSTEM bit
- Implemented improved security for remotely mounted drives
- Implemented USB device removal, allowing hot-plug/remove of memory sticks
- Fixed pagefile.sys breaking Ubuntu file browser
- Fixed write offset bug
- Allowed renaming of open files
- Improved reported error codes
- Fixed various memory leaks
- Addressed valgrind errors related to struct fuse_file_info pointers.
2019-12-05 11:41:32 +00:00
matt335672 d154df5059 Add remote drive lookup functionality to fuse
- Replace xfuse_cb_enum_dir() directory callback for adding files with
  more general xfuse_devredir_add_file_or_dir() to be called from a
  directory or a lookup operation.
- Moved XRDP_INODE out of public interface for chansrv_fuse, and replaced
  with simpler struct file_attr to pass to
  xfuse_devredir_add_file_or_dir()
- Allow a struct file_attr to be placed in an IRP for assembly of file
  attributes over multiple IRP_MJ_QUERY_INFORMATION requats.
- Add dev_redir_lookup_entry() to public interface for devredir.c
- Add xfuse_devredir_cb_lookup_entry() callback to public interface for
  chansrv-fuse.c
2019-04-01 14:15:12 +01:00
matt335672 ef9013b4d9 Implement O_WRONLY option for open file
Allows files to be overwritten on Linux without EIO
Logging improved on failed write
2019-04-01 14:14:46 +01:00
matt335672 c43c9cd551 Code tidyups
- Remove unused 'is_synced' member from struct xrdp_inode
- Move prototype for xfuse_devredir_cb_write_file() to correct file
- Add const correctness to dev_redir_strings_ends_with() function
- Add const correctness to fuse_reverse_pathname() function
- Moved devredir_proc_cid_* functions out of devredir.h and made static
- Added XFUSE_DUMP_ADDED_ENTRIES maro for debugging
- Removed duplicate code path in xfuse_remove_dir_or_file()
- Removed duplicate code path in xfuse_cb_rename()
- Removed duplicate code path in xfuse_create_dir_or_file()
- Removed duplicate code path in xfuse_cb_open()
- Removed duplicate code path in xfuse_proc_opendir_req()
2019-04-01 14:14:22 +01:00
Pavel Roskin e35b5a4708 Constify string arguments in xrdp-chansrv sources 2017-01-22 22:39:10 -08:00
Pavel Roskin 6664aac00f Use "void" for empty argument list in declarations
In C, an empty argument list in a declaration means that the function
can accept any arguments. Use "void" instead, it means "no arguments".

C++ treats void and empty list as "no arguments".
2017-01-05 17:27:20 -08:00
Laxmikant Rashinkar 0311a82c0a coverity: copy into fixed sized buffer 2014-07-27 12:42:12 -07:00
Laxmikant Rashinkar 3bb31876e7 coverity: fixed resolution leak issues 2014-07-19 11:56:00 -07:00
Laxmikant Rashinkar 23433c9c7e fuse: added support for detecting files/directories deleted locally 2013-08-09 19:43:45 -07:00
Laxmikant Rashinkar 6ad1d7f78d folder redirection: fixed language issues 2013-06-08 18:44:21 -07:00
Laxmikant Rashinkar 0f15c482e1 file system redirection:
o vi now works when connected via freerdp but does not fully work with rdesktop
2013-05-19 17:23:18 -07:00
Laxmikant Rashinkar 771e2248b2 file system redirection: made changes to support rdesktop 2013-05-05 18:42:17 -07:00
Laxmikant Rashinkar 58158e6a3b hooked up clipboard code with FUSE 2013-04-26 18:55:28 -07:00
Laxmikant Rashinkar debdb031f1 o in file system redirection, added support for renaming files and directories 2013-03-24 12:08:55 -07:00
Laxmikant Rashinkar 5acc54cd1d o added support for deleteing files and directories 2013-03-18 19:43:20 -07:00
Laxmikant Rashinkar 78d4e19258 o early checkin for drive redirection
o basic drive redirection is working
o functions currently supported: open:
  read, write, create, get/set attribute
o requires latest NeutrinoRDP to work
o note: clipboard is broken because of the move from
        linked lists to inodes in the FUSE code
2013-03-08 15:37:30 -08:00
Jay Sorg e2ef19098b chansrv: work on clipboard file copy 2012-11-04 13:52:33 -08:00
Jay Sorg 900d66dc6e chansrv: work on clipboard file copy paste 2012-11-03 18:47:04 -07:00
Jay Sorg 6e25a5e600 chansrv: work on clipboard 2012-10-29 20:12:24 -07:00