Commit Graph

23 Commits

Author SHA1 Message Date
3cbe520916 Edited Makefile to compite ui socket. 2024-12-25 17:06:56 +01:00
e2014f03f1 Basic socket communication 2024-12-25 11:00:35 +01:00
dadcc6476b Added the ui-socket.h.
Two new issues to solve:

* Should the ui communication component also be the one that manages
  permissions?
* The format of data sent (protocol) needs definition.
2024-12-20 08:48:21 +01:00
1646b2fe3f Resolved merge conflict in favor of basic-passthrough 2024-12-17 10:29:56 +01:00
bfc22c79e0 Implemented the passthrough.
Passthrough is usable now. There have been issues with the `access`
operation: it's unclear what it must return, since the answer isn't
known at the time when it is called. If it always returns "denied", many
applications would finish without trying to open a file, thinking the
access would not be granted after `access` call. Although always
returning "permitted" seems like a better choice, it still might cause unexpected
behaviour. Perhaps one way to solve this, is actually asking user
whether to allow access. In any case, this issue needs to be looked
into.
2024-12-17 10:11:59 +01:00
1ddbef6a65 Used the libfuse example as a foundation.
The main.c was completely replaced by one of the libfuse examples:
[passthrough_fh.c](https://github.com/libfuse/libfuse/blob/master/example/passthrough_fh.c)
. This choice is made based on that there is little point in spending
time on reinventing the wheel by reimplementing passthrough all over
again. Also, the [passthrough_hp.cc](https://github.com/libfuse/libfuse/blob/master/example/passthrough_hp.cc) wasn't used because it uses a vastly different and much more comlex API, even though the authors claim it to be faster.
2024-12-15 15:41:28 +01:00
3e2aeea810 Added opendir and readdir. 2024-12-03 18:10:50 +01:00
ff6a8713d3 Removed useless comments from main.c. 2024-11-20 10:35:58 +01:00
8fcfebe3f9 Implemented getattr and source_stat.
Now filesystem implements getattr through source_stat,
which is a wrapper for an fstatat with
`dirfd == handle.root_path`.
2024-11-20 10:32:33 +01:00
e48cbc62f1 Added source files initialization.
Now source files handling is delegated to functions defined
in `sourcefs.c` file. By encapsulating methods for managing
the underlying source files structure we ensure that all
code changes to the source file protection strategy will be
localized to `sourcefs.c` file.

Also changed Makefile to use more sane way of handling
options and build flags.
2024-11-20 09:28:20 +01:00
424543cd99 Updated Makefile to use gcc instead of g++. 2024-11-18 18:46:30 +01:00
64aee2d9e5 Moved from C++ to C.
After some consideration I decided to use C instead of C++ because:
* `libfuse` is written in C.
* C is simpler.
* My original concerns with using C turned out to be BS.
2024-11-18 18:42:52 +01:00
5916e89e41 Added clean rule to the Makefile 2024-11-18 17:44:00 +01:00
4e9eb08d0c Fixed gitignore doing nothing 2024-11-17 20:30:09 +01:00
560bf8a7e0 Added main and .gitignore 2024-11-17 20:23:57 +01:00
5b4651c759 Reformatted README 2024-11-17 20:23:00 +01:00
b6bc440f5a Basic Makefile 2024-11-17 20:21:56 +01:00
c705f9adca Added newline to credit 2024-11-14 10:16:54 +01:00
feb2e6a07e Added credit 2024-11-14 10:14:42 +01:00
5501825d2e Added links to old docs 2024-11-13 20:16:31 +01:00
BritishTeapot
a786c44b90 Added old docs 2024-11-13 16:27:09 +01:00
b0e4422f62 Added a more detailed description 2024-11-13 15:29:10 +01:00
dbafdca2de Initial commit 2024-11-13 15:26:45 +01:00