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