1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-10-27 20:44:10 +00:00
Commit Graph

51 Commits

Author SHA1 Message Date
Falk Werner
9cd058a747 switched to own base64 implementation 2019-12-01 17:17:21 +01:00
Falk Werner
c598b983cb updated C++ standard to C++14 2019-12-01 11:05:50 +01:00
Falk Werner
b500ebeeaf introduced new build type "Coverage" 2019-12-01 11:01:00 +01:00
Falk Werner
973f95f30b enables coverage generation again (but uses guard) 2019-05-26 17:37:34 +02:00
Falk Werner
835cd1cb21 replaces amd64-debian with amd64-alpine image 2019-05-26 17:37:34 +02:00
Falk Werner
07e32757f8
chore(webfuse) Increase test coverage (#34)
* removes unnecessary code

* adds test of wf_status

* adds tests of wf_message

* adds tests of wf_message_queue

* changed branch of coverage badge to display correct results

* moves core tests into separate subdirectory

* increases coverage of timer test

* moves adapter specific tests into separate directory

* moves provider specific tests into separate directory

* adds tests of jsonrpc utilities

* adds tests of jsonrpc request

* adds test of jsonrpc response

* adds tests of jsonrpc server

* adds tests of jsonrpc proxy

* adds integration test (found some issues)

* disables problematic tests

* fixes resource leak: pending timer after cleanup proxy

* fixes order of cleanup to prevent processing pending requests after filesystem shut down

* fixes some memcheck and helgrind errors: initialization of lws_log; setup of client and server

* disabled a test

* fixes error in msleep utility

* fixes deadlock at IntegrationTest using valgrind

* removes unit test code from coverage report

* adds some integration tests

* makes badge show coverage of master

* fixes some coding style issues

* fixes eary trigger of is_connected (provider)

* fixes read error in 32 bit environments\n\ninode is always 64 bit, but variadic wf_impl_jsonrpc_proxy_invoke expects int
2019-05-19 14:33:42 +02:00
Falk Werner
9180ad3bb7
updates version to 0.2.0 (#33) 2019-04-27 12:34:45 +02:00
Falk Werner
b98a7e0425
feat(webfuse): provide code coverage (#32)
* added coverage generation

* adds script to create coverage report

* adds lcov to docker files

* moves coverage to .build

* uses cmake to generate coverage

* added trigger of codecov

* adds code coverage badge

* sets branch of coverage to master to prepare reintegration

* fixes some style issues
2019-04-27 09:49:43 +02:00
Falk Werner
fa78e23533
feat(webfuse): static file provider (#30)
* added API stub of static_filesystem

* added callback functions

* added basic directory listing

* resize filesystem if necessary

* added path stub

* adds imlementation and tests of path

* adds mock of wpf_request

* adds test implementation and some matchers

* added matcher of readdir results

* fixes default directory test

* adds implementation of static_filesystem_add and add_text

* added implementation of read

* adds implementation of filesystem_read

* corrects naming of some functions

* removes Flawfinder comments, since Flawfinder is disabled
2019-04-26 20:49:09 +02:00
Falk Werner
3a7c064af7 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)
2019-04-17 22:51:16 +02:00
Falk Werner
87f34fa768 feat(authentication): provide an authentication mechanism (#19)
* moves server into session

* renames jsonrpc server to jsonrpc proxy

* moves server into session

* renames jsonrpc server to jsonrpc proxy

* adds json rpc server

* removes obsolete proxy from protocol

* changes interface of jsonrpc_proxy_onresult to accept previously parsed messages

* adds infrastructure to process incoming requests; fixes invalid read of ill formatted responses

* adds description of authentication request

* adds authentication request

* adds userdb for authentication purposes

* removes debug code: console.log()

* fixes cmake build error (missing openssl symbols)

* fixes typo

* replaces ASCII art by UML diagram

* renames BAD_NOACCESS to BAD_ACCESS_DENIED

* fixes style

* adds docu of authentication

* ignored false positives of flawfinder

* fixes style issues

* fixes javascript style issues
2019-04-01 22:15:12 +02:00
Falk Werner
7447fb5dff renamed to webfuse 2019-03-26 23:04:53 +01:00
Falk Werner
1c9d1c8420
feat(API wrapper): separates implementation from public API
* moves implementation to impl subdirectory
* adds prefix _impl to implementation symbols
* removes double compilation for shared and static libraries
* fixes include guards
* fixes usage of extern "C"
2019-03-26 15:35:33 +01:00
Falk Werner
48185776b6
Feature/authentication (#14)
* makes wsfs_server_config opaque

* feature: try to create mount point, if not present

* fixes server start failure due to existing mountpoint

* added basic authentication infrastructure

* makes wsfs_server_config opaque

* feature: try to create mount point, if not present

* fixes server start failure due to existing mountpoint

* added basic authentication infrastructure

* added unit tests for credentials

* added unit tests for authenticators

* propagates authenticators to server protocol

* enabled username authentication in daemon example

* adds example to compute password hash

* adds infrastructure to execute commands

* added userdb to encapsulate authentication stuff

* adds session and session_manager

* fixes warning about unused param

* moves some logic from server_protocol to session

* makes wsfs_server_config opaque

* feature: try to create mount point, if not present

* fixes server start failure due to existing mountpoint

* added basic authentication infrastructure

* makes wsfs_server_config opaque

* added unit tests for credentials

* added unit tests for authenticators

* propagates authenticators to server protocol

* enabled username authentication in daemon example

* adds example to compute password hash

* adds infrastructure to execute commands

* added userdb to encapsulate authentication stuff

* adds session and session_manager

* fixes warning about unused param

* moves some logic from server_protocol to session

* updates libcrypto to version 1.1.0
2019-03-23 22:53:14 +01:00
nosamad
2f8d2a8724 adds valgrind support for amd64 architectures 2019-03-23 18:16:31 +01:00
nosamad
e30e73b506 fixes missing flag for arm32v7 and libfuse 2019-03-23 15:13:07 +01:00
nosamad
bf6077a942 adds dynamic test discover support 2019-03-20 19:55:34 +01:00
Falk Werner
d205d2f127 refactors provider client api (introduces client_config) 2019-03-04 21:17:37 +01:00
Falk Werner
2781aadf55 makes wsfs_status public (usable in provider example) 2019-03-04 19:19:04 +01:00
Falk Werner
5f9096914e added implementation of readdir 2019-03-03 13:34:43 +01:00
Falk Werner
bc38b5d9b1 refactored message creation; enhanced implementation of some operations 2019-03-03 12:48:58 +01:00
Falk Werner
1b4a3277b6 renamed export symbols 2019-02-25 21:39:41 +01:00
Falk Werner
af71bcbff3 moved message and message_queue to common library 2019-02-25 21:28:31 +01:00
Falk Werner
1976841334 reorganized project: prepared to extract common functionality 2019-02-25 20:17:13 +01:00
Falk Werner
c7c28416db added implementation of getattr stub 2019-02-24 20:06:16 +01:00
Falk Werner
3bc041877a refactor: moved default implementation of operations to their modules 2019-02-24 19:16:29 +01:00
Falk Werner
bc0dc2889d separated client opertation stubs 2019-02-24 18:03:22 +01:00
Falk Werner
d18150d305 added code to parse urls 2019-02-23 15:57:57 +01:00
Falk Werner
b1c72dab3c added more client stub (not functional yet) 2019-02-18 23:30:39 +01:00
Falk Werner
cc6a08ade5 added skeleton of provider example app 2019-02-17 14:31:04 +01:00
Falk Werner
4396dddd2b added example for provider 2019-02-16 16:28:14 +01:00
Falk Werner
561a9f4eb5 renamed library and example 2019-02-16 16:14:22 +01:00
Falk Werner
39874f733a added provider api 2019-02-16 16:08:17 +01:00
Falk Werner
95a0a4df59 changed build behavior: tests and example are enabled by default and can be disabled using cmake options 2019-02-15 16:16:24 +01:00
Falk Werner
bb917ab5c5 fixed issues regarding usleep 2019-02-13 20:49:05 +01:00
Falk Werner
d8525f1296 provide installable library 2019-02-10 15:06:46 +01:00
Falk Werner
cf1b57e86e project structure changed 2019-02-10 14:19:15 +01:00
Falk Werner
90b9f0f86d fix: force c++11 for unit tests 2019-02-10 09:38:31 +01:00
Falk Werner
da534a1cea fix: force c99 2019-02-10 09:22:58 +01:00
Falk Werner
d060017805 added shared library 2019-02-09 20:08:42 +01:00
Falk Werner
083ebbefe3 added timeout handling 2019-02-09 19:02:53 +01:00
Falk Werner
b698119079 made it single threaded (still buggy) 2019-02-09 03:08:02 +01:00
Falk Werner
b74c459942 use libwebsockets as loop for fuse fd; removed dependency to libuv, since it is not needed anymore; disabled jsonrpc temporary, until refactoring is finished (will not work properly) 2019-02-06 00:58:51 +01:00
Falk Werner
c9ec71ccd5 removed fuse high level API stuff 2019-02-03 19:10:05 +01:00
Falk Werner
32e325e72f added fuse low level operation stubs 2019-02-02 11:45:38 +01:00
Falk Werner
d8c783aa82 added libuv as dependency 2019-01-31 20:20:05 +01:00
Falk Werner
aa41fb3a6e made headers C++ compatible ; added basic server test 2019-01-30 22:28:50 +01:00
Falk Werner
7f8365811f switched tests to google test 2019-01-30 21:53:57 +01:00
Falk Werner
f47868ded7 added close operation 2019-01-29 23:47:08 +01:00
Falk Werner
1e4647356d refactoring: removed filesystem 2019-01-29 23:11:46 +01:00