krsd
7 years agoDemonstration release of the principles underpinning krsd. master
Rick van Rein [Fri, 31 Jan 2014 09:25:22 +0000 (09:25 +0000)]
Demonstration release of the principles underpinning krsd.
This is based on rs-serve, present on https://github.com/remotestorage/rs-serve
It includes a demonstration from https://github.com/tastejs/todomvc

Changes relative to rs-serve are manyfold, thus leading to this fork:
 * It is made for virtual hosting, rather than local user accounts
 * It uses Kerberos authentication instead of explicit, JS-programmed OAuth
 * It uses a .k5remotestorage configfile on the filesystem for authorisation
 * It provides service for static web content

7 years agoWorking remoteStorage daemon towards Kerberos authentication. NOT YET WORKING.
Rick van Rein [Sun, 1 Dec 2013 21:28:46 +0000 (21:28 +0000)]
Working remoteStorage daemon towards Kerberos authentication.  NOT YET WORKING.

7 years agoupdate CHANGELOG
Niklas Cathor [Fri, 27 Sep 2013 14:55:08 +0000 (16:55 +0200)]
update CHANGELOG

7 years agoadded missing If-Match handling to DELETE requests, fixed version comparison for...
Niklas Cathor [Fri, 27 Sep 2013 14:51:51 +0000 (16:51 +0200)]
added missing If-Match handling to DELETE requests, fixed version comparison for If-Match in PUT

7 years agostarted refactoring file attributes (content-type, charset, ...) to also work without...
Niklas Cathor [Fri, 27 Sep 2013 14:48:03 +0000 (16:48 +0200)]
started refactoring file attributes (content-type, charset, ...) to also work without xattr support in the filesystem. Also started refactoring ETags towards using SHA1 sums instead of inaccurate file mtime.

7 years agocorrectly return 404 when trying to DELETE a file that doesn't exist
Niklas Cathor [Sat, 21 Sep 2013 12:17:04 +0000 (14:17 +0200)]
correctly return 404 when trying to DELETE a file that doesn't exist

7 years agoauth db: set DB_INIT_MPOOL env flag
Niklas Cathor [Sat, 21 Sep 2013 12:16:41 +0000 (14:16 +0200)]
auth db: set DB_INIT_MPOOL env flag

7 years agoadded note about auth backend server serving static files for the frontend
Niklas Cathor [Mon, 9 Sep 2013 21:20:36 +0000 (23:20 +0200)]
added note about auth backend server serving static files for the frontend

7 years agoreduced line length of README
Niklas Cathor [Mon, 9 Sep 2013 21:19:43 +0000 (23:19 +0200)]
reduced line length of README

7 years agoignore auth/bindings/build/
Niklas Cathor [Mon, 9 Sep 2013 21:15:00 +0000 (23:15 +0200)]
ignore auth/bindings/build/

7 years agoreturn success on logout, even if session token is invalid.
Niklas Cathor [Mon, 9 Sep 2013 21:13:36 +0000 (23:13 +0200)]
return success on logout, even if session token is invalid.

7 years agoauth backend: print listening address when starting
Niklas Cathor [Mon, 9 Sep 2013 21:13:12 +0000 (23:13 +0200)]
auth backend: print listening address when starting

7 years agoauth frontend: handle 'username' parameter to pre-fill the form
Niklas Cathor [Mon, 9 Sep 2013 21:11:20 +0000 (23:11 +0200)]
auth frontend: handle 'username' parameter to pre-fill the form

7 years agono more compiler warnings :)
Niklas Cathor [Mon, 9 Sep 2013 21:04:54 +0000 (23:04 +0200)]
no more compiler warnings :)

7 years agoauthorizations: Use a DB environment instead of a single DB and use DB_INIT_CDB flag...
Niklas Cathor [Mon, 9 Sep 2013 21:03:10 +0000 (23:03 +0200)]
authorizations: Use a DB environment instead of a single DB and use DB_INIT_CDB flag when opening the env to deal with concurrent write operations (e.g. from add-token tool or via the nodeJS bindings) while rs-serve is running and reading from the DB (fixes #3)

7 years agogitignore
Niklas Cathor [Mon, 9 Sep 2013 20:41:17 +0000 (22:41 +0200)]
gitignore

7 years agoadded more logging to auth handler
Niklas Cathor [Sat, 7 Sep 2013 16:08:23 +0000 (18:08 +0200)]
added more logging to auth handler

7 years agoremoved all that login_token stuff.
Niklas Cathor [Mon, 2 Sep 2013 12:06:41 +0000 (14:06 +0200)]
removed all that login_token stuff.

7 years agoMerge pull request #2 from peacekeeper/master
Niklas Cathor [Mon, 9 Sep 2013 20:53:33 +0000 (13:53 -0700)]
Merge pull request #2 from peacekeeper/master

i had to apt-get these extra packages: libssl-dev libdb-dev pkg-config

7 years agoauth frontend: handle request errors more gracefully
Niklas Cathor [Mon, 2 Sep 2013 11:48:28 +0000 (13:48 +0200)]
auth frontend: handle request errors more gracefully

7 years agodisabled login token verification for now
Niklas Cathor [Mon, 2 Sep 2013 11:46:19 +0000 (13:46 +0200)]
disabled login token verification for now

7 years agoserve the auth frontend from the backend server as well, so you don't need an additio...
Niklas Cathor [Mon, 2 Sep 2013 11:37:48 +0000 (13:37 +0200)]
serve the auth frontend from the backend server as well, so you don't need an additional port for the simple usecase.

7 years agoadded node-unixlib as a submodule to get tweaked version that is compatible with...
Niklas Cathor [Sun, 1 Sep 2013 17:24:02 +0000 (19:24 +0200)]
added node-unixlib as a submodule to get tweaked version that is compatible with nodejs >0.8

7 years agoadded package.json to make installing deps of auth server easier
Niklas Cathor [Sun, 1 Sep 2013 16:20:35 +0000 (18:20 +0200)]
added package.json to make installing deps of auth server easier

7 years agoauth bindings: tried to work around C++ compiler issues
Niklas Cathor [Sun, 1 Sep 2013 16:16:45 +0000 (18:16 +0200)]
auth bindings: tried to work around C++ compiler issues

7 years agoauth bindings: added missing #include
Niklas Cathor [Sun, 1 Sep 2013 16:14:02 +0000 (18:14 +0200)]
auth bindings: added missing #include

7 years agoi had to apt-get these extra packages: libssl-dev libdb-dev pkg-config
peacekeeper [Sun, 1 Sep 2013 13:53:35 +0000 (15:53 +0200)]
i had to apt-get these extra packages: libssl-dev libdb-dev pkg-config

7 years agoupdated README with info about auth server
Niklas Cathor [Sat, 31 Aug 2013 12:30:32 +0000 (14:30 +0200)]
updated README with info about auth server

7 years agoadded authorization frontend app
Niklas Cathor [Sat, 31 Aug 2013 12:22:42 +0000 (14:22 +0200)]
added authorization frontend app

7 years agoMakefile: added headers as deps for some targets, added task to build nodejs bindings
Niklas Cathor [Sat, 31 Aug 2013 12:22:11 +0000 (14:22 +0200)]
Makefile: added headers as deps for some targets, added task to build nodejs bindings

7 years agoauth backend: added logout
Niklas Cathor [Sat, 31 Aug 2013 12:21:46 +0000 (14:21 +0200)]
auth backend: added logout

7 years agonodejs bindings: tweak root scope when adding an authorization
Niklas Cathor [Sat, 31 Aug 2013 12:21:17 +0000 (14:21 +0200)]
nodejs bindings: tweak root scope when adding an authorization

7 years agofixed add-token / list-token tools
Niklas Cathor [Sat, 31 Aug 2013 12:19:38 +0000 (14:19 +0200)]
fixed add-token / list-token tools

7 years agonodejs auth backend server
Niklas Cathor [Thu, 29 Aug 2013 16:39:57 +0000 (18:39 +0200)]
nodejs auth backend server

7 years agonodejs bindings for auth
Niklas Cathor [Thu, 29 Aug 2013 16:39:07 +0000 (18:39 +0200)]
nodejs bindings for auth

7 years agoprepared auth code for JS bindings
Niklas Cathor [Thu, 29 Aug 2013 16:37:23 +0000 (18:37 +0200)]
prepared auth code for JS bindings

7 years agotools/list-tokens: added optional 'username' parameter, to list tokens for a single...
Niklas Cathor [Fri, 9 Aug 2013 12:38:46 +0000 (14:38 +0200)]
tools/list-tokens: added optional 'username' parameter, to list tokens for a single user.
also changed output format to JSON.

7 years agostarted unit test for auth backend
Niklas Cathor [Wed, 31 Jul 2013 19:05:43 +0000 (21:05 +0200)]
started unit test for auth backend

7 years agoauth.h: removed old function
Niklas Cathor [Wed, 31 Jul 2013 19:04:45 +0000 (21:04 +0200)]
auth.h: removed old function

7 years agoauth: removed deprecated code
Niklas Cathor [Sun, 28 Jul 2013 20:44:10 +0000 (22:44 +0200)]
auth: removed deprecated code

7 years agoRS_AUTH_FILE_PATH -> RS_AUTH_DB_PATH
Niklas Cathor [Sun, 28 Jul 2013 20:43:06 +0000 (22:43 +0200)]
RS_AUTH_FILE_PATH -> RS_AUTH_DB_PATH

7 years agoFIXME note about invalid path cleaning
Niklas Cathor [Sun, 28 Jul 2013 20:42:38 +0000 (22:42 +0200)]
FIXME note about invalid path cleaning

7 years agotweak
Niklas Cathor [Sun, 28 Jul 2013 20:42:19 +0000 (22:42 +0200)]
tweak

7 years agofixed auth handler
Niklas Cathor [Sun, 28 Jul 2013 20:42:14 +0000 (22:42 +0200)]
fixed auth handler

7 years agoauth: fixed remove_authorization
Niklas Cathor [Sun, 28 Jul 2013 20:42:00 +0000 (22:42 +0200)]
auth: fixed remove_authorization

7 years agogitignore
Niklas Cathor [Sun, 28 Jul 2013 20:41:52 +0000 (22:41 +0200)]
gitignore

7 years agoMakefile: added 'lookup-token' tool to "install" target
Niklas Cathor [Sun, 28 Jul 2013 20:41:19 +0000 (22:41 +0200)]
Makefile: added 'lookup-token' tool to "install" target

7 years agoadded lookup-token tool for testing, ported most of the auth tools to berkeley DB.
Niklas Cathor [Sun, 28 Jul 2013 15:50:57 +0000 (17:50 +0200)]
added lookup-token tool for testing, ported most of the auth tools to berkeley DB.
So far working:
- add-token
- lookup-token
- list-tokens

7 years agoMakefile:
Niklas Cathor [Sun, 28 Jul 2013 15:50:02 +0000 (17:50 +0200)]
Makefile:
- simplified tool targets
- added flags to link against bdb

7 years agomake GET and HEAD requests return 403 instead of 412, when If-None-Match is present...
() [Wed, 3 Jul 2013 17:36:53 +0000 (19:36 +0200)]
make GET and HEAD requests return 403 instead of 412, when If-None-Match is present and the conditions fails (refs #1)

8 years agoset Access-Control-Expose-Headers
() [Tue, 25 Jun 2013 07:48:38 +0000 (09:48 +0200)]
set Access-Control-Expose-Headers

8 years agostorage handler: return status code instead of calling evhtp_send_reply() directly
() [Tue, 18 Jun 2013 14:40:42 +0000 (16:40 +0200)]
storage handler: return status code instead of calling evhtp_send_reply() directly

8 years agoclose() file after GET
() [Tue, 18 Jun 2013 14:37:16 +0000 (16:37 +0200)]
close() file after GET

8 years agochown() file after checking that it was opened correctly
() [Tue, 18 Jun 2013 14:37:08 +0000 (16:37 +0200)]
chown() file after checking that it was opened correctly

8 years agonull-terminate values retrieved via getxattr correctly
() [Tue, 18 Jun 2013 14:32:29 +0000 (16:32 +0200)]
null-terminate values retrieved via getxattr correctly

8 years agoset SSL dummy callbacks
() [Tue, 18 Jun 2013 13:02:38 +0000 (15:02 +0200)]
set SSL dummy callbacks

8 years agoset a few more SSL settings (defaults don't seem to do the trick)
() [Tue, 18 Jun 2013 12:48:54 +0000 (14:48 +0200)]
set a few more SSL settings (defaults don't seem to do the trick)

8 years agoargh! set RS_AUTH_FILE_PATH correctly again (we should really have a command line...
() [Tue, 18 Jun 2013 12:40:59 +0000 (14:40 +0200)]
argh! set RS_AUTH_FILE_PATH correctly again (we should really have a command line option for this...)

8 years agoadded SSL support
() [Tue, 18 Jun 2013 12:36:28 +0000 (14:36 +0200)]
added SSL support

8 years agoonly install /etc/default/rs-serve if it doesn't exist
() [Tue, 18 Jun 2013 12:10:01 +0000 (14:10 +0200)]
only install /etc/default/rs-serve if it doesn't exist

8 years agoset correct RS_AUTH_FILE_PATH again
() [Tue, 18 Jun 2013 12:06:47 +0000 (14:06 +0200)]
set correct RS_AUTH_FILE_PATH again

8 years agoMerge remote-tracking branch 'origin/master'
() [Tue, 18 Jun 2013 12:06:17 +0000 (14:06 +0200)]
Merge remote-tracking branch 'origin/master'

8 years agoadded --experimental option. HEAD requests only work, when that is set
() [Tue, 18 Jun 2013 12:05:49 +0000 (14:05 +0200)]
added --experimental option. HEAD requests only work, when that is set

8 years agoadded TODO for SSL support
() [Tue, 18 Jun 2013 12:05:28 +0000 (14:05 +0200)]
added TODO for SSL support

8 years agoadd -lpthread
Michiel de Jong [Tue, 18 Jun 2013 11:09:45 +0000 (13:09 +0200)]
add -lpthread

8 years agoadded a few TODOs
() [Tue, 18 Jun 2013 10:18:21 +0000 (12:18 +0200)]
added a few TODOs

8 years agoversion: 0.1
() [Tue, 18 Jun 2013 10:12:57 +0000 (12:12 +0200)]
version: 0.1

8 years agoimplemented If-None-Match handling for GET / HEAD requests
() [Tue, 18 Jun 2013 09:57:14 +0000 (11:57 +0200)]
implemented If-None-Match handling for GET / HEAD requests

8 years agoadded "notes" target to Makefile, to print all TODO: and FIXME: markers.
() [Tue, 18 Jun 2013 09:48:59 +0000 (11:48 +0200)]
added "notes" target to Makefile, to print all TODO: and FIXME: markers.

8 years ago--detach option works again (also removed some useless logging and fflush() after...
() [Tue, 18 Jun 2013 09:48:28 +0000 (11:48 +0200)]
--detach option works again (also removed some useless logging and fflush() after each log line)

8 years agoRevert "removed currently disfunctional --detach option from config"
() [Tue, 18 Jun 2013 09:35:06 +0000 (11:35 +0200)]
Revert "removed currently disfunctional --detach option from config"

This reverts commit 8f877fae61ea689e3bb9341c93498dd62dd38a6d.

8 years agochown() files and directories correctly after creation through PUT
() [Tue, 18 Jun 2013 09:00:48 +0000 (11:00 +0200)]
chown() files and directories correctly after creation through PUT

8 years agoadded --auth-uri option. webfinger is disabled now, when --auth-uri is not given...
() [Mon, 17 Jun 2013 22:20:03 +0000 (00:20 +0200)]
added --auth-uri option. webfinger is disabled now, when --auth-uri is not given (because it wouldn't work right anyway)

8 years agoadded *_config prototypes to config.h (used to be in rs-serve.h)
() [Mon, 17 Jun 2013 21:54:37 +0000 (23:54 +0200)]
added *_config prototypes to config.h (used to be in rs-serve.h)

8 years agoremoved currently disfunctional --detach option from config
() [Mon, 17 Jun 2013 21:53:57 +0000 (23:53 +0200)]
removed currently disfunctional --detach option from config

8 years agoset default port to 80, as documentation says.
() [Mon, 17 Jun 2013 21:51:24 +0000 (23:51 +0200)]
set default port to 80, as documentation says.

8 years agoreorganized some code
() [Mon, 17 Jun 2013 21:50:43 +0000 (23:50 +0200)]
reorganized some code

8 years agoremoved old file
() [Mon, 17 Jun 2013 21:36:23 +0000 (23:36 +0200)]
removed old file

8 years agosome more macros for readability
() [Mon, 17 Jun 2013 21:31:25 +0000 (23:31 +0200)]
some more macros for readability

8 years agoREADME: added note about /public/
() [Mon, 17 Jun 2013 21:19:40 +0000 (23:19 +0200)]
README: added note about /public/

8 years agomem.
() [Mon, 17 Jun 2013 21:15:22 +0000 (23:15 +0200)]
mem.

8 years agorepaired file vs. directory handling (HEADs on directories that were actually files...
() [Mon, 17 Jun 2013 21:13:46 +0000 (23:13 +0200)]
repaired file vs. directory handling (HEADs on directories that were actually files would reply with 500 status, because stat() fails, when it encounters a file, but the path contains a trailing slash)

8 years agofix HEAD requests
() [Mon, 17 Jun 2013 20:59:43 +0000 (22:59 +0200)]
fix HEAD requests

8 years agolots of documentation.
() [Mon, 17 Jun 2013 20:44:02 +0000 (22:44 +0200)]
lots of documentation.

8 years agoadded webfinger handler to Makefile
() [Mon, 17 Jun 2013 20:43:54 +0000 (22:43 +0200)]
added webfinger handler to Makefile

8 years agofixed --help output
() [Mon, 17 Jun 2013 20:43:43 +0000 (22:43 +0200)]
fixed --help output

8 years agoadd cors headers everywhere
() [Mon, 17 Jun 2013 20:43:34 +0000 (22:43 +0200)]
add cors headers everywhere

8 years agoa bit more tidy up in handle_storage() (this also fixes the weird issue that evhtp...
() [Mon, 17 Jun 2013 18:37:33 +0000 (20:37 +0200)]
a bit more tidy up in handle_storage() (this also fixes the weird issue that evhtp used to send HTTP/1.0 replies in certain cases)

8 years agogeneral cleanup, clarify request lifecycle (pretty much all error responses end up...
() [Mon, 17 Jun 2013 18:27:08 +0000 (20:27 +0200)]
general cleanup, clarify request lifecycle (pretty much all error responses end up in handle_storage now - this is required because otherwise evhtp won't tidy up the request correctly and we end up with closed connections & client timeouts)

8 years agoa bit of cleanup, removed unnecessary double-buffering in some places
() [Mon, 17 Jun 2013 18:26:15 +0000 (20:26 +0200)]
a bit of cleanup, removed unnecessary double-buffering in some places

8 years agoadvertise remotestorage-01 support
() [Mon, 17 Jun 2013 18:25:34 +0000 (20:25 +0200)]
advertise remotestorage-01 support

8 years agoimproved JSON generator, added webfinger stuff
() [Mon, 17 Jun 2013 18:25:06 +0000 (20:25 +0200)]
improved JSON generator, added webfinger stuff

8 years agoPUT requests: added support for If-Match and If-None-Match headers
() [Mon, 17 Jun 2013 13:37:33 +0000 (15:37 +0200)]
PUT requests: added support for If-Match and If-None-Match headers

8 years agoseparate assembling of directory listing and json writing
() [Mon, 17 Jun 2013 13:17:51 +0000 (15:17 +0200)]
separate assembling of directory listing and json writing

8 years agominimalistic JSON generator
() [Mon, 17 Jun 2013 13:17:27 +0000 (15:17 +0200)]
minimalistic JSON generator

8 years agomore sane output of tools add-token & remove-token
() [Mon, 17 Jun 2013 12:32:55 +0000 (14:32 +0200)]
more sane output of tools add-token & remove-token

8 years agoREADME: added "libattr" dependency
() [Sun, 16 Jun 2013 21:07:25 +0000 (23:07 +0200)]
README: added "libattr" dependency

8 years agoperror -> log_error
() [Sun, 16 Jun 2013 21:07:11 +0000 (23:07 +0200)]
perror -> log_error

8 years agoadded missing license headers
() [Sun, 16 Jun 2013 20:57:26 +0000 (22:57 +0200)]
added missing license headers

8 years agoremoved obsolete file (how did it get in here again?)
() [Sun, 16 Jun 2013 20:55:22 +0000 (22:55 +0200)]
removed obsolete file (how did it get in here again?)