Commit Graph

64 Commits

Author SHA1 Message Date
Dustin Sallings 6f5b0151f2 client: don't remember discovery errors permanently
fixes camlistore.org/issue/348

Change-Id: I689319cd03dbbcc035698a2ce58d4557c28d9ac0
2014-01-27 16:45:18 -08:00
Brad Fitzpatrick a70b554023 pkg/client, camput: don't stat each chunk before uploading
Trust the have cache for skipping uploads.

Reduces total number of HTTP requests.

Also, set Transport's MaxIdleConnsPerHost to be the same as
our HTTP concurrency level, to not keep re-creating TCP
connections.
2014-01-27 16:07:15 -08:00
Brad Fitzpatrick 798cd5e9d2 client: use syncutil.Gate instead doing it by hand 2014-01-27 14:08:05 -08:00
Brad Fitzpatrick 0072a5b325 client/android: instrument memory usage.
also try to GC and return memory to OS every 5 seconds, but
that barely makes a dent in the real problem.

more later.

Change-Id: I2979e099121bdcb8578124b1c45714313cc2ec09
2014-01-26 22:05:02 -08:00
Brad Fitzpatrick 2086406552 Client fixes and cleanups:
* Fix TODO about moving camput file's havecache up a layer into
  camput itself. So now it's used for all commands (camput permanode,
  camput attr, etc). Reduces HTTP requests.

* Fix camlistore.org/issue/343 -- don't do stats before uploads
  in cases where it's useless. Adds a field to UploadHandle.

* Fix camlistore.org/issue/344: upload the public key whenever
  uploading a signed blob. Usually this is a no-op because of the
  have cache.

* Use zero (or <=0 rather), not -1, to mean unknown on UploadHandle
  Size.

* More docs on public stuff.
2014-01-15 18:32:02 -08:00
Brad Fitzpatrick 94ff6ac141 pkg/search, pkg/client, cmd/camtool: add 'camtool claims' subcommand
Change-Id: Id9d8381facd97a946c3582b226d433ab59b18da7
2014-01-14 11:48:49 -08:00
mpl b5d29a181f client,camget: add -cert to specify trusted cert with share URLs
http://camlistore.org/issue/330

Change-Id: I6d060fe4804d6cf9baa3686243e3ab93839ec9ac
2014-01-09 12:05:38 -08:00
Brad Fitzpatrick 3237139992 Merge "pkg/client: better error handling propogation." 2014-01-08 18:03:33 +00:00
mpl 3f13d1a043 pkg/client: fix method to find a server in the config
http://camlistore.org/issue/325

Change-Id: I4aa6d5103848b73ed169ab7d7de3a60a33723b79
2014-01-07 18:52:48 -08:00
Bill Thiede fc3d238478 pkg/client: better error handling propogation.
Convert non-200 HTTP responses into proper error objects returned to
caller.

Change-Id: Ib04fb8cf2e04d8ae85908233adc5f9e5f7b32d01
2014-01-06 21:06:01 -08:00
mpl 10d863e323 Merge "pkg/client: multi servers config" 2014-01-06 07:24:52 +00:00
mpl bf8c463d0a pkg/client: multi servers config
http://camlistore.org/issue/309

Change-Id: I22bbbf6a808a772272f153b2535d693bd986d13a
2014-01-05 23:19:43 -08:00
mpl 9902305735 Merge "client: improved ignoredFiles" 2014-01-06 04:57:30 +00:00
mpl 7c21c617b6 client: improved ignoredFiles
also changed osutil.HomeDir for windows so it looks like an abs path for
filepath.IsAbs

http://camlistore.org/issue/290

Change-Id: I1b32c1c13e7d23a421a6da2c0f9d6b8b07f48b8d
2014-01-05 20:53:46 -08:00
Brad Fitzpatrick 3e725e2a98 Change self-signed cert fingerprint to 80 bits of SHA-256.
More secondary preimage resistance. Also better docs and less vague and less promoted Android
UI.

Feedback from Adam Langley, but likely misinterpreted.

Change-Id: I3bf1029b6fc07c0b8dab2af44926aa87b0d4cbad
2014-01-04 16:37:33 -08:00
Brad Fitzpatrick 19f4324066 client: fix constructor not setting authMode
Change-Id: I820079354291a67eb61dcc04fa8215037ec98ca8
2013-12-27 17:13:33 -08:00
Brad Fitzpatrick 7d4c86d0de client: add a Search method
Change-Id: Iec4c22bf6e4bbe40645ec178b5c2d23392ad270d
2013-12-27 16:22:06 -08:00
Brad Fitzpatrick 9fd329df80 Merge "cmd/camtool: (re)index command" 2013-12-26 17:29:03 +00:00
mpl 2d85e017ff cmd/camtool: (re)index command
http://camlistore.org/issue/193

Change-Id: I498f92bdc153f44dc84d4b47f03c47a8e7b54ad9
2013-12-26 18:23:15 +01:00
Brad Fitzpatrick 6793ce3d93 client: fix one of the constructors that allowed logger to be uninitialized
Change-Id: Id864716cd5c821fbb2446bab7a42ed9b89a6983e
2013-12-26 08:28:15 -08:00
mpl 6e7eacea4a Merge "pkg/client: some cleanup, doc on the website" 2013-12-23 22:31:45 +00:00
mpl 1e8d46ee45 pkg/client: some cleanup, doc on the website
Changed some keys to be consistent with the server config, and removed
some others.

We're now using jsonconfig to get the keys and validate the config.

Removed some unused funcs/methods, moved some global vars as members of a client.

Also, having two possible defaults for the secret keyring
(.config/camlistore/identity-secring.gpg and .gnupg/secring.gpg)
was annoying and confusing imho, so I removed the latter.

http://camlistore.org/issue/259

Change-Id: Icf79fa8822b62b5d91843698861dd19cb553607a
2013-12-23 20:23:21 +01:00
jakubbrzeski 33e925ffa1 camput: allow ignoring files NOT only if --filenodes used
Change-Id: I7856c5f6602e6b439ebcebbcb83eddb1d1865e88
2013-12-16 16:52:59 +01:00
Brad Fitzpatrick dcf5f6abe7 client: clean up. finish moving all Android stuff to pkg/client/android
Change-Id: Ia3d19a323d9c734a01ec9a12509b115191afcfdd
2013-10-26 11:08:34 -07:00
Brad Fitzpatrick cf15b2be90 client: use the schema.Signer API, remove Client.SignBlob method
Change-Id: I177c78f4f7f4ca54afd021d4ada866a35eea06eb
2013-10-22 07:26:44 -07:00
Brad Fitzpatrick 63b4f390cb client: upload public key if necessary whenever uploading a signed blob
Change-Id: I2e61da4fa2eeae2332c67902f8dd5f064b027835
2013-09-22 19:38:42 +01:00
mpl 99aaf3b55e client: take into account "selfPubKeyDir" from config when signing
http://camlistore.org/issue/210

Change-Id: Id6d75393a90bdf3141acc10fddc2b3cedee64422
2013-08-23 21:31:03 +02:00
Brad Fitzpatrick 9c42969138 client: cleanup. use blob.Ref as map key, not its String form
Change-Id: I52d7e6db891b9f92054088701374896750f42390
2013-08-23 09:06:40 -05:00
mpl 31df3635a4 camput: ignore files like .DS_Store with -filenodes
Also made initTrustedCertsOnce a field of the Client
object, as it is a similar change.

http://camlistore.org/issue/104

Change-Id: Iabbd7f06e06d31265f390a23c4bdaac956f856f7
2013-08-19 17:21:10 +02:00
mpl 860f136019 client: on android, do not parse config file
http://camlistore.org/issue/189

Change-Id: I9de22ce16950e4844ad82d97ff48207a80586a34
2013-08-12 18:21:53 +02:00
Brad Fitzpatrick 0bdf20884b all: delete pkg/blobref; convert all from *blobref.BlobRef to new blob.Ref
Change-Id: Id2dfb7f19452bedf4f3c9310b36227fd8117b225
2013-08-03 19:54:30 -07:00
mpl 257fd29afa camget: allow insecure TLS with shared URLs
Change-Id: I22f610009edfecea932019c35310ae62b0613cb8
2013-07-16 15:56:32 +02:00
Brad Fitzpatrick 02d38b07ca camput, client: move lot of camput's code into pkg/client
so cammount can use it.

Change-Id: I1bd513e6dfe6faab785c856abbd0d1337e978dd9
2013-07-11 16:46:23 +10:00
Brad Fitzpatrick 4a404a3c60 search: clean up describe handler and DescribeRequest
Change-Id: I4e6184765b6139de3bdc153d27a12d3cb205a55e
2013-07-11 10:35:06 +10:00
Andrew Gerrand 64153d9f02 client,search: add withattr and describe to client
Change-Id: I9d55a7283bc7c99560e61aea80024c8f80dacc05
2013-07-10 21:10:18 +10:00
Andrew Gerrand ba3d7f7e34 fix comment
Change-Id: Ibf210640039cfbe1a7e33f0013d7c59734f59cef
2013-07-10 19:58:55 +10:00
Brad Fitzpatrick cf0d9aca6e More docs
Change-Id: I5c21f240c85bcf91fb67487cc172bf3faeb49fff
2013-07-07 18:52:14 -07:00
mpl b24ac50965 client: factorize the transport setup, and use it in camget
Fixes http://camlistore.org/issue/153

Change-Id: If393b34bbfcf4a6282357c9c57ebb85bae8741a3
2013-06-25 23:37:41 +02:00
mpl c9905c246a discovery: use c.newRequest
Change-Id: I69f5fa86f70872a43326f9815b500eac0c122db4
2013-06-05 01:13:53 +02:00
Brad Fitzpatrick 6be77f09e4 Merge "Allow HTTPS with a self-signed certificate." 2013-05-01 02:30:23 +00:00
mpl ac431439f3 Allow HTTPS with a self-signed certificate.
A new client configuration parameter, "trustedCerts" (list of strings)
is introduced. A certificate fingerprint is defined as the 10 digits
prefix of the sha1 of the whole certificate (in ASN1. DER form).
trustedCerts should contain the list of fingerprints of the
certificates we trust. If not empty, the server's certificate
is checked against that list, instead of using the full x509 validation
on it.

-added a dial function and tls configuration, which check if we're using
SSL, and if we're in "trustedCerts" mode.
pkg/client/client.go
pkg/client/config.go

-moved android specific hacks from camput to the client layer, so that
the dial and tls config could reuse/access them. Also allows future
reuse for other commands, such as camget.
pkg/client/android.go

-adapted camput to the above changes:
cmd/camput/android.go
cmd/camput/camput.go
cmd/camput/files.go

-server prints a hint when it generates the self-signed:
pkg/misc/misc.go
server/camlistored/camlistored.go

-camliactivity:
clients/android/res/xml/preferences.xml
clients/android/src/org/camlistore/Preferences.java
clients/android/src/org/camlistore/SettingsActivity.java
clients/android/src/org/camlistore/UploadService.java
clients/android/src/org/camlistore/UploadThread.java

http://camlistore.org/issue/131

Change-Id: I6be20161549a69aafc8eb7b9e96e9351dc1c5b09
2013-04-23 17:10:37 +02:00
mpl 0830902ffb schema: add Share type
This changes allows to get rid of the use of map[string]interface{} in
pkg/server/share.go

Change-Id: Ifeae6b194ff4db679be63d0087cb6d1c5df2f3ca
2013-03-11 21:53:56 +01:00
mpl f21cea5131 share: refactored
-pkg/server/share.go handles share(d) blobs.
-pkg/blobserver/gethandler no longer deals with share blobs
and has been rewritten like the other handlers (no more auth
in there).
-client and signhandler changed accordingly.
-serverconfig: auth moved up in makeCamliHandler
-share parameter added to the user level and low level config.
-share URL is now http(s)://host[:port]/[prefix/]share/sha1-xxxx.

Addresses http://camlistore.org/issue/107

Change-Id: I0a2c07ac1a1e435b141702e0ff06dc8182721d65
2013-03-06 19:11:00 +01:00
Brad Fitzpatrick e867ea7dc0 client, search, fs: cammount now getting search queries back
Change-Id: I68541e9f9d54fa4240872d440972ad39f6bad33f
2013-02-07 21:55:17 -08:00
Brad Fitzpatrick 9e34a07b91 client: batch and split stat requests
Change-Id: I40e64cc2de58040bb67c6560a64ba108c421b18d
2013-02-02 21:51:08 -08:00
Brad Fitzpatrick 0490df5b2a client: remove TODO
Change-Id: Ie2ae66a44cb87e8f48d94da29fcfc607a8c0dd70
2013-01-28 07:32:51 -08:00
Brad Fitzpatrick c7bbccf435 config: Rename blobServer config key and flag to just server. use auth from environment when an explicit server is given
Change-Id: I07cfe3df3b644e143fcb92456e56d238bbbdd52e
2013-01-25 16:23:31 -08:00
Brad Fitzpatrick f9ac0ab109 pkg/client: stop using Superset for sharing
Change-Id: I4f034b73584413d3d37f399680c67330783951b2
2013-01-22 09:52:01 -08:00
mpl bb665b9584 camsync: added --all flag
and some guessing/discovery for --src.

This option enables camsync to discover the sync handlers on the
source server, and use that information to run all possible syncs.

Change-Id: Ie1f3c309780a168372a674c6c3a18f679a67d804
2013-01-17 00:37:40 +01:00
Brad Fitzpatrick 827feaa3ac camget, client, schema: start of camget --shared support. see flag docs.
Change-Id: I5dd43129cb0032821a5913a8f20da0ddb38c63da
2013-01-02 12:55:12 -08:00