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