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

235 Commits

Author SHA1 Message Date
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
nosamad
1d413456a2 fix(webfuse): fix macros (#18)
* fixes return code on error

* fixes macro usage

* adds clean target

* fixes file mode

* fixes image name

* adds registry prefix to allow usage of custom registry (on-premise)

* changes syntax in travis file for package installation

* fixes duplicate settings discovery
2019-03-29 13:23:17 +01:00
nosamad
0ac03b6150 feat(webfuse): eclipse cdt project (#17)
adds convenience run and discovery targets (for first build target)
allows usage of host container (volume mount/ dind)
fixes portable workspace configuration
adds makefile targets to CDT configuration
fixes localization

* adds eclipse-cdt project and necessary discovery for toolchain settings

* extends targets and fixes discovery

* renames CDT Eclipse project

* enables portable workspace docker-build on build server
2019-03-28 07:43:21 +01:00
nosamad
66a585ecf1
Merge pull request #16 from falk-werner/rename-project
renamed to webfuse
2019-03-28 00:44:52 +01:00
Falk Werner
70c9697712 renamed html example 2019-03-27 00:05:44 +01: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
de9095a978
Merge pull request #13 from falk-werner/docker-build
Docker build
2019-03-23 21:08:58 +01:00
nosamad
2f8d2a8724 adds valgrind support for amd64 architectures 2019-03-23 18:16:31 +01:00
nosamad
7d1632df25 adds run target to simplify entering container 2019-03-23 17:18:33 +01:00
nosamad
25590695f3 fixes parallel build when building multiple architectures 2019-03-23 16:45:28 +01:00
nosamad
e30e73b506 fixes missing flag for arm32v7 and libfuse 2019-03-23 15:13:07 +01:00
nosamad
48fc766d28 reorganizes Makefile 2019-03-23 04:07:47 +01:00
nosamad
3acf2ceecf renames folder and adds support for reproducible builds 2019-03-23 03:48:15 +01:00
nosamad
d4487d2e28 adds build targets for auto completion 2019-03-23 02:38:52 +01:00
nosamad
5031ed6726 formating 2019-03-23 02:31:32 +01:00
nosamad
6d7f38baa0 refactors docker build
fixes issue when upgrading dependency versions
makes container workspace configurable
2019-03-23 02:17:44 +01:00
nosamad
740b247250 moves download of artifacts to bootstrapping makefile 2019-03-21 00:43:53 +01:00
nosamad
38a2240b65 moves build to before_script travis life-cycle 2019-03-20 19:57:53 +01:00
nosamad
365fbb36ac Merge branch 'docker-build' of https://github.com/falk-werner/fuse-wsfs.git into docker-build 2019-03-20 19:55:49 +01:00
nosamad
ebb3371b85 changes user id mapping 2019-03-20 19:55:34 +01:00
nosamad
af0e355351 changes to use docker multiarch build 2019-03-20 19:55:34 +01:00
nosamad
df10ae14f5 removes binary dependency to qemu from project 2019-03-20 19:55:34 +01:00
nosamad
bf6077a942 adds dynamic test discover support 2019-03-20 19:55:34 +01:00
nosamad
4fc51d3382 fixes docker output directory 2019-03-20 19:55:34 +01:00
nosamad
6218de5ae9 removes multilib support 2019-03-20 19:55:34 +01:00
nosamad
660df474eb adds initial multi-platform docker build support 2019-03-20 19:55:34 +01:00
nosamad
12e7af6df7 changes user id mapping 2019-03-20 01:32:55 +01:00
nosamad
1d82e0a71f changes to use docker multiarch build 2019-03-20 00:59:03 +01:00
nosamad
fc2648c915 removes binary dependency to qemu from project 2019-03-20 00:58:06 +01:00
Falk Werner
40eafc19d7
Document the main use case (#10)
* fixes typo

* adds motivation

* fixes link in contents

* fixes some style issues

* fixes heading

* fixes typo and inconsistent use of fuse-wsfs
2019-03-12 15:49:28 +01:00
Falk Werner
7934319d73
Merge pull request #9 from falk-werner/feature-provider
integrates provider
2019-03-05 15:35:04 +01:00
Falk Werner
c4ef4f126b fixes flawfinder findings (ignores them) 2019-03-04 21:42:45 +01:00