Commit Graph

74 Commits

Author SHA1 Message Date
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
John Brooks a52de9078c core: Attach protocol connections to Contact 2016-09-15 18:32:58 -06:00