+
+
+
+silcsftp_fs.html
+
+
+
+
+
+
+SFTP Filesystems Interface Header: silcsftp_fs.h
+
+
+DESCRIPTION
+
+
+ SILC SFTP Filesystem interface defines filesystems for the SFTP server
+ usage. The filesystems may be for example virtual memory filesystem
+ or real filesystem access.
+
+ Currently only implemented filesystem is memory file system.
+
+ Memory Filesystem:
+
+ Memory filesystem is a virtual filesystem which provides safe access
+ to files without actually revealing the underlaying physical filesystem
+ hierarchy or real filenames. Virtual directories can be added to the
+ filesystem and freely create filesystem hierarchy. The directories
+ can have subdirectories and files. The filesystem also provides limited
+ status information for files. The files in the filesystem are
+ virtual but they include the path to the real file. The real path
+ includes always a schema which indicates where the file really is
+ available. The only supported schema currently is "file://". In
+ the future it could support various others like "http://" and "ldap://".
+
+ The filesystem also provides security and permission handling for
+ directories and files. Normal POSIX style permissions can be set
+ giving thus rights to reading, writing and/or executing. They behave
+ same way as defined in POSIX. It is also guaranteed that if the
+ writing to a file is not allowed in the memory filesystem, but it is
+ allowed in real physical filesystem the file still cannot be written.
+ However, the real physical filesystem permissions still matter, for
+ example if writing is enabled in the memory filesystem but it is not
+ enabled on physical filesystem, the file cannot be written.
+
+ The directories cannot be removed from remote access using the
+ filesystem access function sftp_rmdir. This is because the filesystem
+ is one-user filesystem and differentiating between users is not
+ possible. Thus, it would allow anyone to remove directories and
+ their contents. Removing directories is possible only locally using
+ the silc_sftp_fs_memory_del_dir function. The same thing is with
+ removing files as well. Files too can be removed only locally using
+ the silc_sftp_fs_memory_del_file function. Also, files can not ever
+ be executed from remote access.
+
+ Also some of the file operation flags are not supported, such as
+ SILC_SFTP_FXF_CREAT, SILC_SFTP_FXF_TRUNC and SILC_SFTP_FXF_EXCL
+ since they would require access to a real filesystem file which does
+ not exist yet, or would mean destroying the file. However, the
+ SILC_SFTP_FXF_WRITE is supported since the file aready exists.
+
+ The memory filesystem does not provide symbolic links.
+
+ SilcSFTPFilesystemOps
+SilcSFTPFilesystem
+SilcSFTPFSMemoryPerm
+silc_sftp_fs_memory_alloc
+silc_sftp_fs_memory_free
+silc_sftp_fs_memory_add_dir
+silc_sftp_fs_memory_del_dir
+silc_sftp_fs_memory_add_file
+silc_sftp_fs_memory_del_file
+
+
+ |
+