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
John Brooks
6e68f861d8
rpc: Add UNKNOWN connection status for contacts
...
UNKNOWN is the new default status for contacts. A contact is in the
UNKNOWN state when we're not sure whether they are available or not, and
is in the OFFLINE state when we believe that we're online but attempts
to connect to that contact have failed.
2016-09-15 18:30:37 -06:00
John Brooks
346971368b
core: Refactor network reconnection to fix onion republication
...
A race would cause a call to AddOnionPorts that was blocked waiting for
a control connection to try to publish the service twice, because the
onion republication wasn't done until after the connection status
change.
This is fixed by refactoring the control connection setup to do all
setup before signalling the state change, including copying the list of
onions to publish. The code is slightly cleaner now as well.
2016-09-15 18:16:00 -06:00
John Brooks
cf903a3b7d
core: Add protocol from s-rah and accept inbound connections
...
Start using Sarah's protocol implementation (plus some patches to be
merged there), publish the local onion service, and handle inbound
connections.
2016-09-11 21:38:04 -06:00
John Brooks
65f36de79e
core: Add forgotten utils/misc.go file
2016-09-11 21:38:03 -06:00
John Brooks
83d4d8841d
core: Change the 'Ricochet' API again
2016-09-10 23:00:26 -06:00
John Brooks
20700414fc
core: Implement contact list monitor and contact removal
2016-09-02 11:51:24 -05:00
John Brooks
2c4a1c8b37
core: Load contacts from config
2016-08-29 20:46:41 -06:00