John Brooks
a56dbfa5b9
core: Improve OnionConnector backoff and retry behavior
...
OnionConnector will now reset the backoff timer and try again
immediately when network connection status changes. Connection attempts
now scale up to 15 minutes, instead of waiting only 10 seconds each
time.
2016-11-06 19:35:15 -07:00
John Brooks
fe1107b117
core: Replace old contact connections properly
...
Always take a new connection over a connection that is >30 seconds
old, before considering the fallback resolution-by-hostname.
2016-11-05 22:58:55 -06:00
John Brooks
4fa48bfa8f
cli: Add -tor-control and -connect flags
2016-11-05 22:19:13 -06:00
John Brooks
1be58828fe
core: Remove hardcoded tor control address
...
The default address will be set from the environment, or fall back to
trying 127.0.0.1:9051. There is now an API to allow this to be
overriden as well.
2016-11-05 22:09:18 -06:00
John Brooks
9c0110dca2
core: Use consistent functions to validate and convert address formats
2016-11-05 21:27:13 -06:00
John Brooks
91dbe5a261
core: Remove outdated todo comments
2016-11-05 20:44:20 -06:00
John Brooks
12422351d2
core: Make config slightly more reliable in handling errors
2016-11-05 20:05:37 -06:00
John Brooks
bbc58e5815
Delete backend and rename cli to ricochet-cli
...
ricochet-cli can act as a headless backend, so for now there is no point
to having a separate backend program. It may be reintroduced later for
multiprocess use by other frontends -- to be determined.
2016-11-05 16:59:22 -06:00
John Brooks
569a138e21
core: Config path is a file, not a directory
2016-11-05 16:48:54 -06:00
John Brooks
f0c4c5afcd
cli: Add flags to control backend listen/attach
2016-11-05 16:19:33 -06:00
John Brooks
3dc6c65468
cli: Use in-process backend by default and add -backend param
...
The in-process backend uses 'innernet', which is a net.Listener and
net.Conn implementation using in-process buffers instead of real
sockets.
Out-of-process backends can be used with the '-backend' parameter. An
additional flag is required to allow connections to non-localhost TCP
backends.
2016-11-04 23:25:05 -06:00
John Brooks
2ee0c07942
core: Move RpcServer into core
2016-11-03 22:37:00 -06:00
John Brooks
2a0e5b7976
core: Make onion listeners delete the service on close
2016-10-28 16:17:19 -06:00
John Brooks
1c0c3242eb
core: Improve start/stop of contact connections
2016-10-28 16:17:19 -06:00
John Brooks
6f7e030811
core: Handle response to outbound contact requests
2016-10-28 16:17:18 -06:00
John Brooks
b6fd295ac1
cli: Implement add-contact and delete-contact
2016-10-28 09:49:10 -06:00
John Brooks
0e350c85a4
cli: Fix another case of the prompt changing incorrectly
2016-10-28 09:47:46 -06:00
John Brooks
8baf1034f6
core: RPC and config for outbound contact requests
2016-10-27 14:18:00 -06:00
John Brooks
2fd3cd2ea0
rpc: Add 'go generate' commands and update ContactRequest
...
It's now possible to regenerate the protobuf files by calling 'go
generate' in rpc/. You will need protoc and protoc-gen-go in PATH.
This is only necessary after changing the protobuf definitions.
2016-10-27 13:50:34 -06:00
John Brooks
ffe15e6f0c
cli: Track and use conversation active state properly
2016-10-26 16:12:16 -06:00
John Brooks
db6295d5c8
cli: Prettify contacts list
2016-10-26 15:26:21 -06:00
John Brooks
60cdd16311
cli: Count unread messages and handle message updates
2016-10-26 15:17:40 -06:00
John Brooks
e7a9f991f9
cli: Fix conversation prompt update logic
2016-10-26 14:57:48 -06:00
John Brooks
3ed991898a
cli: Smarter prompts, and always use correct stdout
2016-10-23 15:42:02 -07:00
John Brooks
eb9814c14b
cli: Improve use of readline slightly
2016-10-23 11:37:57 -07:00
John Brooks
8664873b5b
cli: Keep track of conversations and prettify output
2016-10-22 17:52:26 -07:00
John Brooks
a22de02531
cli: Make UI struct singleton
2016-10-22 17:50:21 -07:00
John Brooks
d37d40def4
Change imports after moving repository
2016-10-16 22:26:35 -06:00
John Brooks
261fafe804
Update README
2016-10-16 22:18:52 -06:00
John Brooks
7c20d535c7
core: Fix build
2016-10-16 15:50:59 -06:00
John Brooks
e9f22c64ac
cli: Improve startup process
2016-10-16 15:50:34 -06:00
John Brooks
c8bfe4663e
cli: Separate UI logic and fix client threadsafety
2016-10-15 22:57:16 -06:00
John Brooks
99d44e1278
cli: Fix threading issues around event monitors
2016-10-15 21:57:53 -06:00
John Brooks
c089cf3e34
cli: Better tracking of contact list state
2016-10-15 21:13:02 -06:00
John Brooks
70af42e39e
core: Remove old placeholder files
2016-10-15 19:17:54 -06:00
John Brooks
bb530cfc2f
core: Track unread state of received messages
2016-10-15 19:00:16 -06:00
John Brooks
7fe2363801
core: More of the conversation implementation
...
Improved parts of the conversation implementation, moved the
conversation event monitor to Identity, added event monitor
population, and other minor changes.
2016-10-15 18:04:19 -06:00
John Brooks
f9bc09c520
core: Adapt to protocol API changes
2016-10-09 17:31:26 -07:00
John Brooks
e960c296fe
cli: Minimal conversation functionality
2016-10-06 16:50:52 -07:00
John Brooks
ee0c19b28b
core: Minimal message-sending functionality
...
This is broken in many ways.
2016-10-06 16:50:07 -07:00
John Brooks
c50b1f29d4
cli: Monitor for conversation events also
2016-10-05 14:38:41 -07:00
John Brooks
623dccb26d
core: Early proof-of-concept conversations API
2016-10-05 14:38:18 -07:00
John Brooks
e1db24360b
cli: Minor output cleanup and contacts command
2016-09-29 22:17:03 -07:00
John Brooks
f56204116c
core: Make outbound contact connections
...
Refactor the connection management on contacts to have a goroutine
responsible for tracking the state of a contact's connection, launching
and canceling outbound attempts when appropriate, etc.
2016-09-29 22:13:55 -07:00
John Brooks
fc0c6b3c95
core: Add OnionConnector for outbound connections
2016-09-29 22:11:37 -07:00
John Brooks
ec8d6f5430
core: Add Network WaitForProxyDialer method
2016-09-27 15:24:16 -06:00
John Brooks
fe117d10c8
core: Choose a SOCKS port from tor's listeners
2016-09-20 16:37:59 -06:00
John Brooks
114720bd6d
core: Handle connection close for contacts
2016-09-19 21:32:16 -06:00
John Brooks
289d0f4dc2
core: Send contact update events on status change
2016-09-19 19:53:21 -06:00
John Brooks
6cee5d7b45
cli: Start implementing more RPC logic
2016-09-16 15:26:14 -06:00