Commit Graph

303 Commits

Author SHA1 Message Date
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 c67b53465a camliactivity: catch invalid server format
Fixes https://code.google.com/p/camlistore/issues/detail?id=120

Change-Id: I602946b80c5a084242f80992b79503052853a4a4
2013-02-25 19:05:41 +01:00
mpl 3f81be742c android: config changes to build with ant
Change-Id: I6c7030bcc6a2f3bb882af706a8cab2a126faef8c
2013-02-23 00:05:01 +01:00
Brad Fitzpatrick 8128b51bb7 android: add Version menu option
Change-Id: I64aeacf18421edd51517c92ec8782b4bb62ca1b1
2013-02-03 10:39:20 -08:00
Brad Fitzpatrick e398532b4a buildinfo: include dirty + flag in version
Change-Id: Idc4763de41fdfa055fed5c06a36db9e9539f60bc
2013-02-03 10:14:21 -08:00
Brad Fitzpatrick ed40fc89f7 Clean up the clients dir a bit
Change-Id: I1fb8e188044e8a552aa02acedb92c1c9b1d75330
2013-02-02 09:02:43 -08:00
Brad Fitzpatrick e8ef81c626 android/camput: more stats
Change-Id: I668b8ee0b7c32d33075e421445af2973be1f576a
2013-01-30 17:22:53 -08:00
Brad Fitzpatrick 957c06d46c android: keep armgo build environment separate
Change-Id: Ie55fdd43813beb5f81ba9f8a41be8012932b1cc1
2013-01-30 17:22:45 -08:00
Brad Fitzpatrick 0825772d49 android: show camput's new advertised stats in UI
Change-Id: I864c539ef9bc81096e271115e90288350209ae66
2013-01-30 16:56:22 -08:00
Brad Fitzpatrick 625c618ac6 android: more graceful camput shutdown (close stdin)
Change-Id: Idd0c572a8426549fb2a1b467ab126986cde9edb5
2013-01-30 10:55:53 -08:00
Brad Fitzpatrick 6cd6acfeda android: slightly better progress bar accuracy
Change-Id: I44da03108419d3aa3d46e074fe8417920f2aaa3e
2013-01-29 17:04:48 -08:00
Brad Fitzpatrick 966beef095 android: formatting rule tweaks
Change-Id: Ic8d74c9838212e55e626f18dda4664626bf2c30c
2013-01-29 16:38:33 -08:00
Brad Fitzpatrick 14f038c667 android: working but kinda-sucky progress bars. need camput to broadcast better stats.
Change-Id: I28e6a16eba835116d8e8e205fe71073e0357b9c7
2013-01-28 21:52:23 -08:00
Brad Fitzpatrick 502026bd89 android: UploadThread re-work. use pipe-to-camput-stdin model, and be more Go-like.
Change-Id: I0f598dae28e47036bf713bfde488a7af0884e932
2013-01-28 19:06:37 -08:00
Brad Fitzpatrick 3a29a9bd82 android: cleanup
Change-Id: I1db3c20c68b8c2c69d76d8f1286e3be15091fb20
2013-01-27 20:28:06 -08:00
Brad Fitzpatrick 05fe9477bf android: pref cleanip + add Dev IP setting, to quickly switch between prod and dev server
Change-Id: Ief66dd2faf2cd366ef808a3d65f07be7b3333ef3
2013-01-27 20:26:02 -08:00
Brad Fitzpatrick 851a0c70b8 android: add Eclipse code formatting policy
Change-Id: I93b0367a66519f7858ebfda424406d41c9ef37fa
2013-01-27 20:24:51 -08:00
Brad Fitzpatrick f5a588527b android: untested: more upload / status work
Change-Id: I15dbf861b0bd8684a4e61a09f910315b874db1ed
2013-01-27 17:12:08 -08:00
Brad Fitzpatrick 8e9f7d332d android: more blob -> file UI changes
Change-Id: Ie3d81d837462bd41c572f42b0447c8428415da0d
2013-01-27 15:31:41 -08:00
Brad Fitzpatrick dc49611c53 android: clean-up and start of protocol from camput to android host
Change-Id: Icda33c1d54bdcd0a57f6ac62c09fd3e9cf9cd6f7
2013-01-27 15:27:17 -08:00
Brad Fitzpatrick 9b1affae33 android: reformat UploadApplication.java
Change-Id: Ib1466e2d522b0154ceb10f7519689060cff09acd
2013-01-27 14:06:15 -08:00
Brad Fitzpatrick 3a38081500 android: zero process reference at end
Change-Id: Ia3e9d44631a68bc2303dde90545eb5610a4313d4
2013-01-27 14:06:07 -08:00
Brad Fitzpatrick f6861b71e2 android, osutil: the the child process its Android-specific cache directory
Change-Id: I1161afd4ab30eb02e0e5b41c3d73a0c94f59c200
2013-01-27 13:24:50 -08:00
Brad Fitzpatrick 3910c347cf android: properly notify the service when a file is successfully uploaded; prevents upload loop
Change-Id: Icdc7d5f8e11d22fa1462051ab32005731e5783d6
2013-01-27 13:24:19 -08:00
Brad Fitzpatrick 2e5841b149 android: remove unused imports
Change-Id: Iecd4ed0c467bad17eb7881bb3554b50c415af91d
2013-01-27 13:12:34 -08:00
Brad Fitzpatrick e994b5c461 android: in prefs, show username summary
Change-Id: I46b702afd8e0944b9b2d54f85745c8b8770681c8
2013-01-27 13:04:47 -08:00
Brad Fitzpatrick 9b7bd9c7ae android: remove dead code
Change-Id: I6526020829ac5efc62c2ad0e3cae98a777748780
2013-01-27 13:04:31 -08:00
Brad Fitzpatrick ba9d9f2a88 android: set targetSdkVersion to 17. now JellyBean pretty.
Change-Id: I24fd7ca8ad264d201faf6aa9147a69fe20353add
2013-01-27 13:04:14 -08:00
Brad Fitzpatrick 6dbacee842 android: check in code formatting policy, and fmt some code
Change-Id: I1d277f50e3518893dc1828b74d8c789df0a25943
2013-01-27 12:54:49 -08:00
Brad Fitzpatrick 3fe1536e01 android: update a Java file when the Go child is updated, to force a rebuild in the ADT
Change-Id: I4ffa15332a2af82ed27300d447bc9d0ca1bd6877
2013-01-27 12:50:24 -08:00
Brad Fitzpatrick 31b6ff2c4a android: uploading using the camput Go process.
works, but UI is terrible and unreliable. but it uploaded and vivified a photo shared from the gallery.

Change-Id: I63199a4d25597739920b276ac240efa27c07926c
2013-01-27 11:37:36 -08:00
Brad Fitzpatrick 1b8006abcd android: remove browse / download service for now. bit rot, or never finished?
Change-Id: I2323aeded34eb3fd0b176273d67a215264f9fb11
2013-01-27 10:17:25 -08:00
Brad Fitzpatrick 91cf37edb6 android: start of using the Go camput binary as a child process.
For now it just smartly copies it from the APK zip to the filesystem and chmods it.

For testing:

(in an adb shell)

CAMLI_AUTH=userpass:USER:PASS /data/data/org.camlistore/files/camput.bin --server=https://server.example.com file -vivify /sdcard/DCIM/Camera/IMG_20130126_143719.jpg

... which now works, as of commit 51e88c7434 (camput: run in an Android linux non-cgo environment)

Change-Id: I32a7e1e28fdf781bec5156271a4b33f5bd3b8b83
2013-01-26 16:54:03 -08:00
Brad Fitzpatrick ec8f01c467 android: make it compile with Eclipse (ADT v21.0.0-519525) again
Change-Id: I70efe6897bf235d6c4c174f505c7a79b09d6e6ec
2013-01-26 13:42:07 -08:00
Sarath Lakshman 778a607c67 client: fix blobserver path in curl and python clients
Change-Id: Ie7a204ee64a9373c696e447ccf93a790584676d6
2013-01-01 00:27:11 +05:30
Brad Fitzpatrick 0f5870c4d8 Mark camwebdav as broken.
Change-Id: If13899e5637bf8b1a1a6acd465cc7f940f506d6f
2012-12-16 20:41:06 -08:00
Brad Fitzpatrick 899f8a0e7a move camdbinit to cmd/
Change-Id: I21657e1cc91bda7a7b18b609b1bfac37680256cb
2012-03-24 19:46:38 -07:00
Brad Fitzpatrick ef7e3c2e90 make pkg/mysqlindexer and camdbinit compile again, even if not working yet
Change-Id: I3fbdfda6c456c079a3ac58ea988e43301e957f11
2012-03-24 19:45:23 -07:00
Brad Fitzpatrick 374c1f5360 cammount: move to cmd/ directory; update dev-cammount script.
Change-Id: Ifa0c4d586c30ebb807a8094594e4872dcd5039ef
2012-03-18 23:58:36 -07:00
Brad Fitzpatrick 685189ca4c cammount: update to use rsc's fuse library; pkg/fs: butcher it up to make it compile.
doesn't work again yet.

Change-Id: I462320918026944716638588d08ba76c67c72a73
2012-03-18 23:54:20 -07:00
Brad Fitzpatrick 768af3d368 move clients/go/camgsinit to clients/camgsinit
Change-Id: I662b3b1ff4cf36a03f736533d3405737820f511f
2012-02-28 19:42:38 -08:00
Brad Fitzpatrick 350491ef7a fix import
Change-Id: I1943db2ab1913345ef05b3987d96e63a5600d39d
2012-02-28 19:42:04 -08:00
Brad Fitzpatrick c825acde06 move camdebug to cmd; it compiles as Go 1 already.
Change-Id: Ic9aa1112a504da96738b7ec3fc224df54b92cdc8
2012-02-21 02:14:34 -08: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
Andrew Gerrand d60d29c560 implement recursive fetch 2012-01-02 16:07:58 +11:00
Andrew Gerrand 7f6964a0d6 actually do something with -o flag 2012-01-02 15:23:39 +11:00
Brad Fitzpatrick 398e1549c6 Add camput 'rawobj' subcommand for debugging.
Change-Id: I7f7e70a3c757889e6f8f4f264ea7f0e797c41e7a
2011-12-07 14:42:16 -08:00
Brad Fitzpatrick d50f2323fd gofmt
Change-Id: I0d7a2875854ea2a5bdf91cbace6c342f4b17525f
2011-12-07 14:41:19 -08:00
mpl 0e71f20415 auth: added username, camput can do https
Change-Id: I14a047f1a164b64062d94da0db7a64a658b086ae
2011-11-27 01:29:24 +01:00
mpl d7ce1b71ff started on the histogram (issue 18)
Change-Id: I5f90e8c96664221281ac04b4d49de53f352d90fa
2011-11-06 17:32:33 +01:00