Commit Graph

41 Commits

Author SHA1 Message Date
mpl 7291617da7 pkg/server: add share handler prefix to discovery
Change-Id: I5354e3ea375d73d837b5432b63c78a78d1a5bc10
2016-11-10 00:59:19 +01:00
mpl@serenity 5522ebbeb1 webUI: disable tokenAuth when auth is None
This allows deferring HTTP authentication and authorization to a proxy
(such as nginx) between Camlistore and the rest of the world, without
breaking the web UI.

Fixes #816

Change-Id: Ia4b5be8f2236ddac68dc0d3a09f0f24e588c4995
2016-06-28 01:56:08 +02:00
mpl 46cf811f43 pkg/server: update home page and doc about /setup
wizard under /setup is gone, we should not advertize it anymore.

Change-Id: I7c5384481db9b3f37f1c8b0a6f5a8fe482c4d99b
2016-06-09 17:50:03 +02:00
Mathieu Lonjaret 2c20c02597 Merge "ui: use authentication token instead of Basic Auth" 2016-02-10 16:00:44 +00:00
mpl e03d0af04f ui: use authentication token instead of Basic Auth
Since issue #660 showed that we could not rely on Basic Auth for some
very particular cases (of POST requests), we wanted to replace Basic
Auth with a pre-generated token based authentication mechanism for these
cases.

However, as there already is such a mechanism used to authenticate
websocket connections, we simply extended the use of that mechanism.
Therefore, the token that is initially generated for websocket
connections is also now a valid token to authenticate any other
connection. The relevant types and method names have been changed to
reflect that. The javascript code pertaining to the sensitive cases
mentioned above has been changed to use that token.

Some doc has been added to point out how security-sensitive the
OpDiscovery permission is, since it gives access to the auth token.

Fixes issue #660

Change-Id: Iafed3b6e4804364ca2559414c8d87dc4a30f6637
2016-02-10 16:58:34 +01:00
mpl e0d719ba21 pkg/types: remove
Most of it replaced with vendor/go4.org/types and
vendor/go4.org/readerutil

u32 went where needed in pkg/blobserver/*
invertedBool went in pkg/types/serverconfig
atomics64 went in pkg/fs

Change-Id: I230426cda35be4b45ed67e869f14e6fdae89be22
2016-02-05 18:28:47 +01:00
mpl 40be4d8da2 vendor: go4.org/jsonconfig (and errorutil)
Previously pkg/jsonconfig and pkg/errorutil

Copied from go4.org at rev d1b8a2fb2de6160036e4801aa5e4d855571078b8

Change-Id: I673ed55b0825baa2607289b6082f205100261d7a
2015-12-01 17:21:49 +01:00
Mario Russo 7b1903d5b1 pkg/server: added help handler
- Available at '/help/'
- Loads and parses server config upon init and generates the necessary client config for access
- Links to 'Downloadable Tools' are not functional (task is not yet completed)
- A link was added to the default server page as well as a 'Help' option to the Piggy menu

Issue: #536

Change-Id: I10629de034c908ebc76f6feacbbfca1df7bf1c2b
2015-05-28 10:02:17 +02:00
Mathieu Lonjaret 6570d9ea94 Merge "pkg/server: decouple sign handler from UI, replace JSON maps with structs" 2015-05-25 16:52:40 +00:00
Fabian Reinartz 76a445a956 pkg/server: decouple sign handler from UI, replace JSON maps with structs
Signhandler was moved from the ui to the root handler and genconfig
adjusted accordingly.
New discovery struct types to replace the JSON maps are defined in
pkg/types/camtypes. The changes are related to Issue #539.

Change-Id: Ib3f12feeaf6fa81107de2d468cab491723e590ae
2015-05-25 09:28:07 +02:00
mpl 89488a3cf4 pkg/server: redirect "/" to "/ui/"
Fixes #593

Change-Id: I6d98c3560aa329e9fd8a30012a8f283903d7d274
2015-05-07 17:39:42 +02:00
Brad Fitzpatrick af36d78bd7 env: add IsDev and use it everywhere
Change-Id: I5547ce989c05f1f48774f24abee41c489326baa0
2015-04-02 05:55:01 -07:00
mpl dfe854e168 blob, server: show hash functions in discovery
Issue #122

Change-Id: Iddc3edd4d10065b4cf94f4d554cc6c24ca78a26c
2015-03-02 18:45:58 +01:00
Aaron Boodman 16085b9a4d Move importerRoot from status.json to discovery.
It seems to make more sense there...

Change-Id: I8450f1cb30ed331cfe15ddb49f55438c5bf9fd5b
2014-08-30 09:09:05 -07:00
Brad Fitzpatrick 81b4417e8c server: ignore errors looking up optional username.
Change-Id: I457f604c60726beaf9d263c07fb0283035696fd2
2014-08-15 18:24:23 -07:00
mpl a34f9e2669 publisher app
http://camlistore.org/issue/365

Change-Id: I281fdcbbe6a2bdf15607e75a21bc93b453f82c85
2014-06-15 00:03:03 +02:00
Brad Fitzpatrick bf28dd4488 More status handler HTML+JSON, more sync status.
Change-Id: I0381853191d5b871af649d102b976e592def791f
2014-03-16 20:14:57 -07:00
Bill Thiede 58b6497b14 ui: Add QR code for configuring mobile clients.
Creates new page @ /ui/mobile.html for generating a QR code that
embeds configuration data for setting up mobile clients.

Imports code.google.com/p/rsc/{gf256,qr} version:

parent: 149:a3cbaf2339c4 tip

This addresses the server and web components of
https://camlistore.org/issue/372

Change-Id: If9239dd138707080afd7dedb5770d04893cbf0ba
2014-02-21 19:58:54 -08:00
Brad Fitzpatrick 30c7d8859a thumbnails: add a cache-busting URL component, support ETag
And quiet noisy logging on normal write failures.

We can now stress test the thumbnail generation by setting
CAMLI_DISABLE_THUMB_CACHE=1 which will make all the thumbnails in the
browsers be unique, and not write them to cache on the server.

Then, when we're happy with the thumbnails, we just increment the
thumbnailVersion string and that busts all the browser- and
server-side caches.

Change-Id: I3cda8e85ab8b1b0b2c9113f6dff613dfbf736028
2013-12-16 20:27:49 -08:00
Brad Fitzpatrick 617bbf5295 replica: support blobserver.Generationer
Change-Id: Iad3a0e040fcffa7bee2cfe5ff7ce8904d4ded36c
2013-12-13 11:24:34 +04:00
Brad Fitzpatrick 61deeffef5 Make WebSockets work over https/wss, and make Auth work with WebSockets too.
Change-Id: I321f9d7fe80bf4c88771cbb925f3712229cc09ee
2013-12-12 15:13:44 +04:00
Brad Fitzpatrick dbb93fd888 Don't link to /setup handler for dev server.
Change-Id: Ic0c27718b3a06c2a6dff21a24744b1dce2944617
2013-08-26 11:25:11 -05:00
mpl e682cda008 appengine: fix build issues
split pkg/jsonconfig/sign.go and pkg/server/root.go
because of unsupported stuff on appengine

Change-Id: I6f97ec2e043dabbe54971a88dc401a45ba36a60a
2013-08-11 19:42:57 +02:00
mpl 8b8d573c27 root page: added link to ui
Change-Id: Ie9d0f7dba380a72f727ea1ed29685a0a01abfc1c
2013-06-11 16:42:02 +02:00
mpl 7059a616c0 show server status on index page
We're only showing build version for now.
Next step would be status handler.

See http://camlistore.org/issue/111

Change-Id: I9e0792abe9ffed8139d38478d186b6e75f99de7e
2013-06-09 18:46:24 +02:00
Brad Fitzpatrick 392640da89 camli.js: global cleanup. remove onConfiguration.
Change-Id: I1a74298ea1f333e060cebcf1221008705bcdb8ec
2013-01-20 12:46:50 -08:00
mpl 1248dfd4da auth: added OpDiscovery
Change-Id: I71ce44732206f5ec84cc2c1db4457d49eb906b0e
2013-01-15 15:02:51 +01:00
Brad Fitzpatrick 2ce7b7f719 Add a favicon to the server.
Change-Id: I123b897bad6e34d36458c9f128eafa6807c3e3be
2013-01-12 21:25:55 -08:00
mpl 3129e70380 discovery: add synchandlers
Change-Id: I2934c4a7d926770eaf59cb82f0fe48b6c8deb225
2013-01-12 01:55:32 +01:00
Brad Fitzpatrick 446f03619c root: lazily load the search handler as needed. Don't block start-up.
This means we can prevent cycles elsewhere in load.

Change-Id: I670b7563b50818ef489a7f2fc832489e4bc659c8
2013-01-11 10:39:14 -08:00
mpl 12213c058e Changed auth to take into account not only the credentials,
but the requested operation/action too.

This allows to restrict vivify credentials to only upload
(as well as get and stat, because they're needed) to the
blobserver.

Change-Id: Idaed60d1f0d679cb9795ba9a11f094f964774335
2013-01-04 22:17:12 +01:00
Brad Fitzpatrick 0cbf38b29a root discovery: drop var, so things are on window.
Change-Id: Ib84203a1135d3254d1596d7d82ec1389f0a94475
2012-12-23 14:19:14 -08:00
Brad Fitzpatrick 8931c24e4c root discory: allow 'var' parameter to set a variable.
Change-Id: Ic1d24f16b9b09508aec0d10574a4500b61277b83
2012-12-23 14:17:14 -08:00
Brad Fitzpatrick abb0e307d6 Show owner name on index page
Change-Id: Ic845283da88eea57a43a13ea13b2993070856102
2012-12-11 18:41:23 -08:00
Brad Fitzpatrick 71d7cf9e88 Implement storage generations, init and discovery 2012-11-07 21:14:56 +01:00
Brad Fitzpatrick bccf8ed575 Move discovery up from the UI handler to the Root handler. 2012-11-07 18:57:43 +01:00
Brad Fitzpatrick df5eee936d Make discory work with an Accept header on the root 2012-11-07 18:04:40 +01:00
Brad Fitzpatrick 618efee2f5 Add discovery handler on root.
Change-Id: If816ff0dd5bb57d52445aff8cc67b8c801b606a8
2012-05-13 12:16:59 -07:00
mpl f7448ec758 restrict setup access to localhost
Change-Id: I889b9debfc65e25084c1e9715e7d14621f009039
2012-04-15 20:09:51 +02:00
mpl 8466cd9e44 wip: setup wizard
Change-Id: I9989f7ff3981eb7c9025bbb9bd174cc92862af35
2012-04-06 19:29:58 +02:00
Brad Fitzpatrick 0714a463c9 Update from r60 to [almost] Go 1.
A lot is still broken, but most stuff at least compiles now.

The directory tree has been rearranged now too.  Go libraries are now
under "pkg".  Fully qualified, they are e.g. "camlistore.org/pkg/jsonsign".

The go tool cannot yet fetch from arbitrary domains, but discussion is
happening now on which mechanism to use to allow that.

For now, put the camlistore root under $GOPATH/src.  Typically $GOPATH
is $HOME, so Camlistore should be at $HOME/src/camlistore.org.

Then you can:

$ go build ./server/camlistored

... etc

The build.pl script is currently disabled.  It'll be resurrected at
some point, but with a very different role (helping create a fake
GOPATH and running the go build command, if things are installed at
the wrong place, and/or running fileembed generators).

Many things are certainly broken.

Many things are disabled.  (MySQL, all indexing, etc).

Many things need to be moved into
camlistore.org/third_party/{code.google.com,github.com} and updated
from their r60 to Go 1 versions, where applicable.

The GoMySQL stuff should be updated to use database/sql and the ziutek
library implementing database/sql/driver.

Help wanted.

Change-Id: If71217dc5c8f0e70dbe46e9504ca5131c6eeacde
2012-02-18 21:53:06 -08:00