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

418 Commits

Author SHA1 Message Date
Falk Werner
8ef90fb504
feature: create debian and source packages (#44)
Added cpack to create debian and source packages. There are 3 packages:

webfuse-VERSION-Source.tar.gz: packaged sources
webfuse_VERSION_ARCH.deb: install webfuse libraries
webfuse-dev_VERSION_ARCH.deb: install headers, depends on libraries
2020-02-11 22:23:51 +01:00
Falk Werner
8abeedff16
Merge pull request #43 from falk-werner/standalone_provider
feature: enable user to build webfuse libraries separately

webfuse consists of two more or less independent libraries: libwebfuse-adapter and libwebfuse-provider

A user should be able to build them separately. This goes especially libwebfuse-provider, which has lot less dependencies (e.g. libfuse).
2020-02-10 18:19:17 +01:00
Falk Werner
47eec1c9e1 chore: split monolithic CMakeLists.txt into separate parts 2020-02-10 17:35:27 +01:00
Falk Werner
39129bc4ba feature: adapter and provider libraries can be build separately 2020-02-10 16:58:04 +01:00
Falk Werner
7023fcd14a
Merge pull request #42 from falk-werner/remove-example
feature: removed example

To focus on webfuse library, daemon, provider and web based example are moved into separate repositories:

daemon: https://github.com/falk-werner/webfused
provider: https://github.com/falk-werner/webfuse-provider
example: https://github.com/falk-werner/webfuse-example
2020-02-10 16:21:45 +01:00
Falk Werner
0d0a070267 chore: removed WITHOUT_TEST option 2020-02-10 15:40:04 +01:00
Falk Werner
bd82b06c8a feature: removed example 2020-02-09 20:42:57 +01:00
Falk Werner
f504a01cb2
chore: update libfuse to 3.9.0
* updated libfuse to 3.9.0
2019-12-17 23:52:47 +01:00
Falk Werner
4cdf11ce33
chore(webfuse): update dependencies
* update libfuse to 3.8.0 (remain API compatibility 3.1+)
* update libwebsockes to 3.1.0
* update qemu-user-static to 4.1.0-1
* update qtest to 1.10.0
* update C++ standard to 14
* use own base64 implementatin instead of libwebsockets
* introduce new build type "Coverage"
* ignore test code for code coverage
2019-12-02 21:33:45 +01:00
Falk Werner
cae0e0613c be compatible to libfuse 3.1+ 2019-12-02 20:44:56 +01:00
Falk Werner
1e57523ef7 remove build dependencies during build (alpine) 2019-12-02 20:21:19 +01:00
Falk Werner
cc22bb6756 remove build dependencies during build (ubuntu) 2019-12-02 19:25:07 +01:00
Falk Werner
f63d6f6b6e fixed typo 2019-12-01 20:36:08 +01:00
Falk Werner
4e75868835 added codecov config: ignore tests 2019-12-01 20:35:51 +01:00
Falk Werner
494035e5a6 updated libfuse to 3.8.0 2019-12-01 20:27:10 +01:00
Falk Werner
7a79c5e8a9 updated qemu-user-static to 4.1.0-1 2019-12-01 19:01:40 +01:00
Falk Werner
9cd058a747 switched to own base64 implementation 2019-12-01 17:17:21 +01:00
Falk Werner
7f29a7987e workaround: lws decode base64 size requirements changed 2019-12-01 13:10:26 +01:00
Falk Werner
c98a214668 updated dependency versions 2019-12-01 12:16:20 +01:00
Falk Werner
63c2b06213 fix: run coverage tests without valgrind (SIGPROF) 2019-12-01 11:44:35 +01:00
Falk Werner
1f20115e66 updated libwebsockets to 3.2.0 2019-12-01 11:13:53 +01:00
Falk Werner
c34476ce38 updated gtest to 1.10.0 2019-12-01 11:10:17 +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
6bd682d27d
Merge pull request #39 from falk-werner/alpine
feat(webfuse): support alpine build
2019-05-29 06:51:16 +02:00
Falk Werner
ce6affd4a2 fixes type in define 2019-05-27 22:01:00 +02:00
Falk Werner
83c7feee82 fixes missing inode using stat and ls -i 2019-05-26 17:37:34 +02:00
Falk Werner
973f95f30b enables coverage generation again (but uses guard) 2019-05-26 17:37:34 +02:00
Falk Werner
47ef598fa6 replaces arm32v7-debian by arm32v7-alpine image 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
2ab4ce0c5c fixes crash using -h / --help arguments 2019-05-25 09:19:35 +02:00
Falk Werner
a0ae32caa6 fixes adding multiple files to same directory 2019-05-25 09:19:35 +02:00
Falk Werner
6f792cc368
removes unused scripts (#36) 2019-05-25 09:18:36 +02:00
Falk Werner
9434991184 enables coverage generation again (but uses guard) 2019-05-25 03:18:25 +02:00
Falk Werner
8ede6595d9 replaces arm32v7-debian by arm32v7-alpine image 2019-05-25 02:44:32 +02:00
Falk Werner
9c7fe85312 replaces amd64-debian with amd64-alpine image 2019-05-25 01:57:04 +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
a8a7ad28c1
fixes static filesystem example (#31) 2019-04-26 22:15:12 +02:00
Falk Werner
09df34debc
removes shutdown method (#27) 2019-04-26 20:51:24 +02:00
Falk Werner
9130f00289
improves slist implementation (#29) 2019-04-26 20:50:57 +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
a717248e80
chore(WF_CONTAINER_OF): makes WF_CONTAINER_OF use typeof, if available (#26)
* makes WF_CONTAINER_OF use typeof, if available

* convertss WF_CONTAINER_OF to lower case

* fixes include guard
2019-04-25 20:08:34 +02:00
Falk Werner
f4180224b2
fixes invalid read if www is not specified (#28) 2019-04-25 20:06:54 +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
nosamad
979ff1e689 refactor(mkdockerbuild): extracts common parts (#24)
* fixes mount of project in wrapper scripts, when not running in container

* refactors makefile in preparation to extract common parts

* refactors makefiles and scripts

* fix git ignore matches

* adds support to disable fetch

* update

* fixes docker warning about unused build argument

* adds support to force offline build

fixes shell escaping
changes paths to relative where possible

* moves make docker builder support files

* removes unnecessary configuration elements

* fixes initial download directory creation

* adds missing rule for initial download directory creation

* fixes docker error: unable to prepare context

copies dockerfile to build context, in order to remove dependency to
unsupported/new docker feature
2019-04-17 17:25:56 +02:00
nosamad
500353115c chore(webfuse): debian build support (#22)
* adds debian builder image

* adds arm32v7 debian based builder image

* sets the default build target to amd64-ubuntu-builder if MARCH is unset

* adds distro filter and set default to ubuntu for travis

disables debian builds for now

* fixes wrapper for non container hosts

* fixes distro selection and parallel mflags

* changes parallelization option

* fixes parallel flags and variable names

* enhances makefile

adds checksum for fetch dependencies

discovers necessary commands

fixes error when script get_container_id not found

* fixes copy artifacts to image

* fixes typo

* fixes another typo

* removes bash dependency

- simplifies scripts to support posix shell
- adds REGISTERY_PREFIX to support usage of local docker registry
- renames wrapper template
- adds discovery for tty and interactive for wrappers

* adds docker-compose wrapper

* adds ability to start wrapper in namespace of another container

* renames compose wrapper script

* adds support to retrieve source epoch date for svn

* fixes handling for positional arguments

* removes docker connection options

* removes dependency to readlink

* removes duplicate options
2019-04-06 08:09:21 +02:00
nosamad
b1527d5581 chore(webfuse): add debugging configurations and launch support (#21)
* 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
2019-04-02 22:21:02 +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