1
0
Fork 0
Commit Graph

60 Commits

Author SHA1 Message Date
Aaron Lindsay 165539f135 Add example config file 2013-09-11 21:17:59 -04:00
Aaron Lindsay b5a525efb7 Add symmetric OpenPGP encryption 2013-09-11 21:17:59 -04:00
Aaron Lindsay e2ae508382 Refactor storage interface to return io.Reader and Writer instances
Doing so will enable encrypting/decrypting files in a 'pipeline' without
having to write the intermediate results to a file or store them in
their entirety in memory.

This commit also updates the existing storage classes (local and FTP) to
meet the new interface definition.
2013-09-11 19:37:42 -04:00
Aaron Lindsay 1254a7fb45 Still send event when files' permissions change 2013-09-08 23:30:13 -04:00
Aaron Lindsay 1b4104a928 Don't ever use UNIX file modification time for event modification time
Doing so can cause inconsistency and cause events to get dropped that
shouldn't. Also add warning to local event side if an event is reported
by the watcher that is not more recent than the event which was
previously the latest local event.
2013-09-08 22:51:36 -04:00
Aaron Lindsay d7cd6f348c Update timestamp on events even if they match
If we don't do this, we don't maintain the invariant that the timestamp
of the latest locally-stored event for a path is the last time this path
was updated. Not maintaining this invariant can cause to incorrect
behavior (i.e. files being deleted when they shouldn't).
2013-09-08 22:13:04 -04:00
Aaron Lindsay 793e4eb6b2 client: add batching of sending events to the server 2013-09-05 23:20:29 -04:00
Aaron Lindsay 65e692b701 Add support for adding multiple events to the database atomically 2013-09-05 21:06:15 -04:00
Aaron Lindsay fcf61701cc Process remote events in their own goroutines 2013-09-05 19:59:45 -04:00
Aaron Lindsay d97b424e98 watcher: Begin watching added directories before walking them to add subdirectories 2013-09-05 19:58:32 -04:00
Aaron Lindsay 90533c9e2d Keep statistics on the number of events being sent to the server 2013-09-04 23:51:28 -04:00
Aaron Lindsay 11b57cda66 Add statistics to client and command to view them 2013-09-04 23:09:28 -04:00
Aaron Lindsay e375489cae Add copyright information 2013-09-04 22:02:17 -04:00
Aaron Lindsay 393eb31c3c Add version information 2013-09-04 21:29:53 -04:00
Aaron Lindsay d883e3d92d Generalize RPC client code, add basic RPC functionality to client 2013-09-03 23:33:36 -04:00
Aaron Lindsay 2dcd08d502 Re-factor clean exiting to be usable in the client also 2013-09-03 22:25:41 -04:00
Aaron Lindsay 4eb75e1db1 Continue reorganization, add asinkd stop cmd, make asinkd socket configurable 2013-09-02 23:35:48 -04:00
Aaron Lindsay 2599717d09 Combine server into single 'git-style' executable 2013-09-02 09:36:03 -04:00
Aaron Lindsay a6c296e0fd go vet 2013-09-01 09:53:33 -04:00
Aaron Lindsay aef7e308d0 Add FTP storage method 2013-08-29 23:39:06 -04:00
Aaron Lindsay 47c785b4d3 go fmt 2013-08-29 07:38:55 -04:00
Aaron Lindsay 78bfae8005 Make server properly report that it needs authentication via HTTP
headers
2013-08-29 07:36:16 -04:00
Aaron Lindsay 9c442254a7 Finish adding simple user authentication 2013-08-28 23:05:28 -04:00
Aaron Lindsay 7009b0eda8 go fmt 2013-08-27 09:41:55 -04:00
Aaron Lindsay 219eecbfda Finish core funtionality for server user-administration tool 2013-08-27 00:03:38 -04:00
Aaron Lindsay 4d7d82ed94 Make watcher scan all directories for client, start adding user
management to server with socket communication via admin binary
2013-08-23 00:10:52 -04:00
Aaron Lindsay 6f72225b5b Automatically create/delete directories around file creation/removal 2013-08-14 23:00:52 -04:00
Aaron Lindsay ccb35fc7a6 Miscellaneous fixups 2013-08-14 23:00:52 -04:00
Aaron Lindsay f80639c815 Save relative file paths (not absolute ones) 2013-08-14 21:10:16 -04:00
Aaron Lindsay 6bdb81834c Improve error handling by adding DISCARDED state for events 2013-08-14 07:26:52 -04:00
Aaron Lindsay 0c9b4cb057 Upload the cached version of the file instead of trying to upload the
original, in case the original has since been deleted
2013-08-14 07:25:17 -04:00
Aaron Lindsay 78e45facd7 Add file permission detection/restoring 2013-08-13 23:18:17 -04:00
Aaron Lindsay fae1ed38d5 Finish unfinished ProcessRemoteEvent functionality 2013-08-13 23:17:45 -04:00
Aaron Lindsay d5c199c021 remove unneeded event.Status field updates 2013-08-13 23:13:54 -04:00
Aaron Lindsay f3b4294b23 add ErrorFileNotFound util function 2013-08-13 23:12:08 -04:00
Aaron Lindsay bdd8032f29 Miscellaneous bug fixes 2013-08-13 21:55:17 -04:00
Aaron Lindsay 2569f4cfbf Add path map and convert asink client event processing to that model 2013-08-13 21:51:19 -04:00
Aaron Lindsay cfc45fec71 Fixup client/database so it doesn't leak open cursors 2013-08-13 21:45:52 -04:00
Aaron Lindsay 9c8730f60a Add Predecessor field to events, which holds the hash of the previous file at that path 2013-08-13 21:43:05 -04:00
Aaron Lindsay 3f113aea42 Make event's methods pointer receivers 2013-08-13 20:42:51 -04:00
Aaron Lindsay e5fabc27e3 Add states to Event to handle incoming events 2013-08-07 23:43:38 -04:00
Aaron Lindsay 49b0f75714 client/storage_local.go: os.Create is for opening files as writable 2013-07-24 22:14:42 -04:00
Aaron Lindsay 24253d2e1e server: Surround sqlite3 transactions with a lock to handle concurrency 2013-07-19 22:15:53 -04:00
Aaron Lindsay ada1317ec8 Add downloading of remotely-updated files 2013-04-01 23:59:40 -04:00
Aaron Lindsay 3a166dbc9a Fix server error message, `go fmt` 2013-03-18 07:17:44 -04:00
Aaron Lindsay ad8156210f server.go: Handle errors on inserting individual events 2013-03-17 23:04:23 -04:00
Aaron Lindsay 4fda36f75e server/database.go: remove unnecessary function/code 2013-03-17 23:04:04 -04:00
Aaron Lindsay a4bce8a07b client: Retrieve events sent to server 2013-03-17 23:02:51 -04:00
Aaron Lindsay 11bcf164c6 Surround sqlite3 transactions with a lock to handle concurrency 2013-03-10 23:13:30 -04:00
Aaron Lindsay 1ddbcb3636 server: add long-polling support 2013-03-09 22:47:49 -05:00