mirror of
https://github.com/falk-werner/webfuse-provider
synced 2026-03-02 04:09:18 +00:00
feat(webfuse): add multiclient support (#23)
* fixes verbosity option when set through command line * adds support for build type and allows to run gdb in container * adds missing toolchain headers to project * renames container macros * adds gdbserver * fixes verbosity option when set through command line * adds support for build type and allows to run gdb in container * adds missing toolchain headers to project * renames container macros * adds gdbserver * removes language settings, which contains alternating values * adds wrapper script to launch gdbserver * fix docker command in wrapper script * fixes run in dind setup * replaces docker's init through dump-init * moves filesystem to session * fixes verbosity option when set through command line * adds support for build type and allows to run gdb in container * renames container macros * adds gdbserver * fixes verbosity option when set through command line * adds support for build type and allows to run gdb in container * renames container macros * adds gdbserver * adds wrapper script to launch gdbserver * fix docker command in wrapper script * fixes run in dind setup * replaces docker's init through dump-init * moves filesystem to session * adds container_of * added dlist * allows multiple clients to connect * removes directory when session is closed * adds dependecy to uuid-dev * allow clients to register filesystems * updates documentation * moves mountpoint handling into filesystem: mountpoints are removed during session cleanup * adds filesystem name/id to request parameters * fixes security issue: add_filesystem did not check name * removes default link, if it is broken * recreates symlink "default", if filesystem is gone * updates documentation * fixes memory leak * makes authentication work .. again * updates provider to support changed protocol * removes execute right of hello.txt * fixes style issues * fixes javascript style issues * fixes flase positive from Flawfinder * fixes some javascript style issues * removes use of PATH_MAX * removes use of GNU extensions in container_of implementation * ignores findings of flawfinder * replaces dlist by slist * removes duplicate implementation of slist (message_queue)
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 28 KiB |
@@ -1,12 +1,10 @@
|
||||
@startuml
|
||||
participant "Filesystem Provider\n(e.g. Webbrowser)" as provider
|
||||
participant "webfuse\ndaemon" as daemon
|
||||
actor "user" as user
|
||||
|
||||
group directory listing fails without authentication
|
||||
user -> daemon : ls
|
||||
daemon -> daemon : is_authenticated
|
||||
daemon -->x user : error: no entry
|
||||
group add filesystem fails without authentication
|
||||
provider -> daemon : add_filesystem
|
||||
daemon -->x provider : error: access denied
|
||||
end
|
||||
|
||||
|
||||
@@ -17,12 +15,10 @@ daemon -> daemon: check(credentials)
|
||||
daemon --> provider: result
|
||||
end
|
||||
|
||||
group directory listing succeeds after authentication
|
||||
user -> daemon : ls
|
||||
daemon -> daemon : is_authenticated
|
||||
daemon -> provider : readdir
|
||||
provider --> daemon : readdir_resp
|
||||
daemon --> user : [., ..]
|
||||
group add filesystem succeeds after authentication
|
||||
provider -> daemon: add_filesystem
|
||||
daemon -> daemon : fuse_mount
|
||||
daemon -> provider: okay
|
||||
end
|
||||
|
||||
@enduml
|
||||
BIN
doc/concept.png
BIN
doc/concept.png
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 33 KiB |
@@ -4,7 +4,6 @@ participant "webfuse\ndaemon" as daemon
|
||||
actor "user" as user
|
||||
|
||||
group startup
|
||||
daemon -> daemon : fuse_mount
|
||||
daemon -> daemon : start ws
|
||||
end
|
||||
...
|
||||
@@ -16,9 +15,15 @@ provider -> daemon : connect
|
||||
daemon -> daemon: check credentials
|
||||
daemon --> provider: okay
|
||||
end
|
||||
|
||||
provider -> daemon: add_filesystem
|
||||
daemon -> daemon : fuse_mount
|
||||
daemon -> provider: okay
|
||||
|
||||
end
|
||||
...
|
||||
|
||||
|
||||
group directory listing
|
||||
user -> daemon : ls
|
||||
daemon -> provider : readdir
|
||||
|
||||
BIN
doc/filesystem.png
Normal file
BIN
doc/filesystem.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
16
doc/filesystem.uml
Normal file
16
doc/filesystem.uml
Normal file
@@ -0,0 +1,16 @@
|
||||
@startuml
|
||||
|
||||
salt
|
||||
{
|
||||
{T
|
||||
+ mount_point
|
||||
++ fwupdate
|
||||
+++ default -> 7c029f81-6bdf-4d3c-82dc-26f748164012
|
||||
+++ 7c029f81-6bdf-4d3c-82dc-26f748164012
|
||||
++++ update.raucb
|
||||
+++ f93de23b-4535-4a47-a287-a381b78a11b8
|
||||
++++ update.raucb
|
||||
}
|
||||
}
|
||||
|
||||
@enduml
|
||||
Reference in New Issue
Block a user