Commit Graph

168 Commits

Author SHA1 Message Date
Sarah Jamie Lewis a39775d56b connection -> message
continuous-integration/drone/pr Build is pending Details
continuous-integration/drone/push Build is passing Details
2022-03-29 12:15:33 -07:00
Sarah Jamie Lewis 7fd53a3b16 Close a connection is sending fails.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-03-29 11:36:21 -07:00
Sarah Jamie Lewis f3ac8c0098 Allow Sharing Public Profile Images
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-02-03 14:44:29 -08:00
Sarah Jamie Lewis ec6e025284 Version Fixups
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-01-25 15:55:38 -08:00
Sarah Jamie Lewis a088e588b1 Comment on Serialization Format
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is passing Details
2022-01-25 15:44:37 -08:00
Sarah Jamie Lewis ea9cf5ca87 Make Version Strings Constant
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is pending Details
2022-01-25 15:43:33 -08:00
Sarah Jamie Lewis ff4249e2bc Factor out serialization/parsing code into protocol.Model
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is pending Details
2022-01-25 15:41:25 -08:00
Sarah Jamie Lewis 6bb510e39e Negotiate Lower Bandwidth / Higher Density Packets for Peers 2022-01-25 15:41:25 -08:00
Sarah Jamie Lewis 45d53cb445 Upgrade Tapir - Expose Errors when Sending Messages
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-01-24 14:03:59 -08:00
Sarah Jamie Lewis 81029f1652 Provide runtime information about ACN connections
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-01-17 12:09:29 -08:00
Dan Ballard 830e479539 fix logic arroudn accept/block contact and add unblock support
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-01-06 12:55:26 -05:00
Dan Ballard 42e04c17c3 init ephemeralService right away in service cache to avoid potential segfaults
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-12-20 13:00:23 -05:00
Dan Ballard 13811def94 peerwithTokenService no longer uses Leave so as to preserve lock
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-12-17 22:56:37 -05:00
Dan Ballard ff012313be engine: add more granular locking around ephemeral token services 2021-12-17 22:56:37 -05:00
Dan Ballard 113a6b617a add back passwrod errors for use; staticcheck fixes
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-12-17 14:46:24 -05:00
Dan Ballard ac05caf009 change locking on engine.ephermeralServices; logify integ test; delete unused events
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-12-16 19:11:10 -05:00
Sarah Jamie Lewis c5b61cdaf7 Formatting + Quality
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-12-07 17:03:20 -08:00
Sarah Jamie Lewis e252422463 Test Invalid Chunk Store 2021-12-07 17:03:20 -08:00
Sarah Jamie Lewis 359254f81e Adjust APIs for better UI Cache Performance. Introduce BDD Testing + Tests
continuous-integration/drone/push Build was killed Details
continuous-integration/drone/pr Build is passing Details
2021-12-06 12:20:38 -08:00
Sarah Jamie Lewis a0ea927a08 Updates to Event Handling given new Storage Engine
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is passing Details
- AcceptConversation updates Peer Authorization and Peers with Contact
- Group and Server no longer emit New Contact Events
- SendMessageToPeer Events now contain an event Context to distinguish between get/ret vals and ui sent message errors
2021-12-01 04:13:58 -08:00
Sarah Jamie Lewis 4f5b1fa106 Fixups for Integration Test
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is failing Details
2021-11-19 14:04:43 -08:00
Sarah Jamie Lewis 0614d31366 Staticheck Pass
continuous-integration/drone/push Build is pending Details
2021-11-17 15:59:52 -08:00
Sarah Jamie Lewis 3cc839cd45 remove printing of tokenboardclientapp struct
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-10-26 16:17:14 -07:00
Sarah Jamie Lewis 8aecd3fe86 Use path/filepath instead of path
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is pending Details
2021-09-30 15:46:10 -07:00
Sarah Jamie Lewis 31666b8df8 Move chunk respones into goroutine to not block the listen() thread
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is pending Details
2021-09-30 12:32:11 -07:00
Sarah Jamie Lewis 907a7ca638 File Sharing MVP (#384)
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone/push Build is failing Details
Co-authored-by: erinn <erinn@openprivacy.ca>
Reviewed-on: #384
Reviewed-by: Dan Ballard <dan@openprivacy.ca>
Co-authored-by: Sarah Jamie Lewis <sarah@openprivacy.ca>
Co-committed-by: Sarah Jamie Lewis <sarah@openprivacy.ca>
2021-09-30 00:57:13 +00:00
Sarah Jamie Lewis 8479a89234 Distinguish between Authenticated and Synced for Server Connections
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
Also Delete Old Server Code, and Update Integ Test to use Hardcoded Server for now
2021-06-29 15:43:42 -07:00
Sarah Jamie Lewis d5024e2bd3 a few select staticcheck fixes
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-06-02 12:09:15 -07:00
Sarah Jamie Lewis d84735cec7 Allow Explicit Server Resyncing
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details
2021-06-02 11:13:08 -07:00
Sarah Jamie Lewis 08bb2f907f Replace old GroupID with new Dervied GroupID
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
As we move towards a group model that allows for different management
constitutions we need to deprecate our old group security model that relied
on "owners" and transitive signing/verification checks.

This new model derives GroupID from the GroupKey and the GroupServer
binding it both. This allows participants to know if a message was
intended for the same group they are apart of (as GroupID is included
in every encrypted/signed message to Groups) while allowing more dynamic
management protocols to be built on top of the (now agnostic) group protocols.

This PR also adds more validation logic to invites and provides the ValidateInvite
function to allow the UI to validate invites separately from processing them.
2021-05-14 11:26:04 -07:00
Sarah Jamie Lewis 6b0d9827fb Prevent loading a nil tapir service before tor has started
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build was killed Details
2021-05-10 17:05:03 -07:00
Sarah Jamie Lewis e7fc228cfa Don't inline group server connections...
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-05-10 16:37:20 -07:00
Sarah Jamie Lewis 00dc2e60e5 Wire up SendMessageToGroupError
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
(Also makes this flow much more efficient by including groupId in the round trip)
2021-05-08 12:04:06 -07:00
Sarah Jamie Lewis 0f0b91fc98 Make contact retry more responsive in the optimisitic case
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-05-07 16:16:22 -07:00
Sarah Jamie Lewis 9f20802a1d Actually use the last known signature for fetching
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-05-07 15:34:48 -07:00
Sarah Jamie Lewis 678c820db2 Handle Server Disconnections, and Partial Syncing
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-05-07 15:27:44 -07:00
Sarah Jamie Lewis bea58b5ba4 Groups Cleanup 2021-05-04 12:00:06 -07:00
Sarah Jamie Lewis 361d7befd1 Disable Automatic Peer Invites for Now 2021-05-04 12:00:06 -07:00
Sarah Jamie Lewis b4f9decdf2 Upgrade Tapir, Log, Connectivity
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details
2021-04-08 18:23:26 -07:00
Sarah Jamie Lewis 296dc22b8e API for Block/Allow Unknown Connections
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
This was previously an application level setting handled by the UI. This commit
pushes back that functionality to the profile.
2021-04-06 14:22:36 -07:00
Sarah Jamie Lewis 2832d17cb9 Deep Copy Events in the Event Bus to Prevent Map Concurrency Issue
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-03-24 16:07:39 -07:00
Sarah Jamie Lewis 86250564f0 Make ConnectionState a non-static map + Fix PeerApp for Connection-only Events
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-03-19 14:23:24 -07:00
Sarah Jamie Lewis a1b2d8530f Integrate Group Name into Invite
the build was successful Details
2020-12-16 21:41:24 -08:00
Sarah Jamie Lewis 62866da84c Correctly Handle Messages from Unknown Peers
the build was successful Details
2020-11-12 14:00:18 -08:00
Sarah Jamie Lewis f6888b47f1 Fixing up Server APIs
the build was successful Details
2020-11-04 13:16:35 -08:00
Sarah Jamie Lewis 4d7b155256 Add Leave Server Event
the build was successful Details
2020-10-29 14:52:39 -07:00
Sarah Jamie Lewis d5fb0a5793 Tapir UI Integration First Pass
the build failed Details
2020-09-21 14:41:40 -07:00
Sarah Jamie Lewis 0550a71244 Tapir Server Refactor 2020-09-21 14:41:40 -07:00
Dan Ballard e91e892eef Adding new authorization level to peers; porting Blocked status to authorization; removing trusted; securing engine/peerapp message processing around authoriztion
the build failed Details
2020-06-16 11:34:15 -07:00
Dan Ballard dc3df531dd peer getVal/retVal messages and functions and handling
the build was successful Details
2020-03-27 11:51:52 -07:00
Dan Ballard 12089d9fa4 migrate to stand alone log and connectivity packages
the build was successful Details
2020-02-10 18:36:28 -05:00
Dan Ballard 258cf84e68 fixing race conditions; removing peer.GetProfile as unsafe
the build was successful Details
2020-02-04 20:03:43 -05:00
Sarah Jamie Lewis 8f85f49404 Initial pass at race condition fixes
the build was successful Details
2019-11-08 13:25:13 -08:00
Dan Ballard 77d26d3877 profile and peer messaging refactor. Profiles once again store timelines for peers, should be used as canonical timeline by frontend UI
the build was successful Details
2019-10-21 13:56:07 -07:00
Dan Ballard df420034ea make contact retry plugin acn connection state aware; make contact retry plugin do groups; remove connectionManager bad retry logic; allow querringing of ACN status
the build was successful Details
2019-09-27 15:29:19 -07:00
Dan Ballard 15582c7e79 Rework group invite workflow: delete cwtchPacket references as no longer needed. Remove more events from being default handled by Peer (but allow them for some usecases still (testing, simple apps).
the build was successful Details
2019-09-20 11:06:05 -07:00
Sarah Jamie Lewis 6efde0289d Separate Initial Peer Requests and Retry Events 2019-08-24 13:13:53 -07:00
Sarah Jamie Lewis 38542751c8 Allowing Blocking of Unknown Contacts 2019-08-21 13:28:48 -07:00
Dan Ballard bd75e44555 make event.Queue use internal infinite channels; make event.Manager not use failable writes 2019-08-14 14:00:04 -07:00
Sarah Jamie Lewis 01ec46a97c Upgrading to Tapir Identity 2019-08-08 12:51:41 -07:00
Sarah Jamie Lewis 3c67c47bb0 Add support for unblocking peers 2019-08-07 12:07:57 -07:00
Dan Ballard 695a622963 adding delete contact and group support 2019-08-07 11:35:08 -07:00
Sarah Jamie Lewis 4a08331675 Issue a PeerAuth event when attempting to peer to an existing authed connection 2019-08-07 11:14:31 -07:00
Sarah Jamie Lewis e7f6dc3fa1 Explicitly Send Peer Disconnected Event when Blocking 2019-08-06 19:09:52 -07:00
Sarah Jamie Lewis f08af1289f Fixing blockcing nil pointer 2019-08-06 16:52:52 -07:00
Sarah Jamie Lewis e2ee27cc4d Adding Block Conditional on Peer With Onion 2019-08-06 15:29:17 -07:00
Sarah Jamie Lewis 821e64c360 Additional Tapir Improvements 2019-07-30 16:50:20 -07:00
Sarah Jamie Lewis 29c5214552 Adding RemotePeer Param to Ack Events 2019-07-29 14:01:58 -07:00
Sarah Jamie Lewis 37b9c72abb Review Board Comments #2 2019-07-29 12:49:23 -07:00
Sarah Jamie Lewis 815ec2565b Listen Error 2019-07-29 12:49:23 -07:00
Sarah Jamie Lewis 101cce532f Fixing shutdown flow 2019-07-29 12:49:23 -07:00
Sarah Jamie Lewis 71dd298a91 Review Board Comments 2019-07-29 12:49:23 -07:00
Sarah Jamie Lewis bc226173e4 Fixing Rebase Artifacts 2019-07-29 12:49:23 -07:00
Sarah Jamie Lewis 4c16ec379f First cut of automatic acknowledgements and protocol contexts 2019-07-29 12:49:23 -07:00
Sarah Jamie Lewis 6e64f65962 First cut of Tapir Integration 2019-07-29 12:49:23 -07:00
Dan Ballard 8c16210407 Add windows stub for pipeBridge to fix windows build; fix goland error arround ConnectionState[Type] 2019-07-26 15:34:21 -07:00
Dan Ballard 0465973a78 add app level functionality to reload from service 2019-07-19 20:08:00 -07:00
Sarah Jamie Lewis b7577d9fe3 Removing non-deterministic sleeps, replace with channel wait 2019-07-10 13:59:58 -07:00
Dan Ballard 9f52e5de7b fixes to pipe bridge: it base64 encodes data of messages before sending them over to preserve binary data; fixed a lack of wiring for ipcBridge in service 2019-07-05 17:51:10 -07:00
Dan Ballard e1d6dd7253 adding named pipe IPC pipe for use with app client/service; some adjustments to app client/service based on usage by UI; bug fixes: groupInvite json over ipc pipe using json was bugged, 'fixed' with base64 encoding; fixed race condition with peer server connection creation 2019-06-24 18:57:31 -07:00
Dan Ballard 04dd8fa89c App Client/Service: new IPCBridge type and test gochan impl; new IPC using eventManager; new App Client and Service; some app api changes and a few more events (NewPeer) and errors (Loading errors) 2019-06-11 10:43:03 -07:00
Dan Ballard 0c4bbe9ad1 Refactor: engine and peer decoupled, engine and eventbus now per peer
and stored top level in app. Storage has read only mode. Peer and group
state now event based and stored in profiles.
2019-05-22 12:54:47 -07:00
Dan Ballard 1e1cbe6cd8 make engine a interface and private struct, private most methods 2019-05-15 13:07:23 -07:00
Dan Ballard 2b2dcb9f6b make cwtch responsible for firing joinServer after joining a group; fire a fetch done event 2019-04-23 13:31:57 -07:00
Sarah Jamie Lewis 45b1a10fff Merge branch 'backoff-retry' of dan/cwtch into master 2019-03-29 13:43:49 -07:00
Dan Ballard 7640fc1c0d graceful backoffs on connection retries 2019-03-25 13:11:18 -07:00
Sarah Jamie Lewis 6697c73222 Improving peer error handling 2019-03-03 18:10:23 -08:00
Sarah Jamie Lewis 711e46ce10 Adding Error Tracking to Group Sends 2019-02-20 13:01:01 -08:00
Sarah Jamie Lewis f056407cd0 Sending Message to an Offline Peer no longer blocks 2019-02-14 13:08:32 -08:00
Dan Ballard 8959382449 on manageServerConnection, always start a new one (fetch) and the replace existing if, and close 2019-02-11 17:09:47 -08:00
Sarah Jamie Lewis 2239463512 ineffassign and misspell 2019-01-28 12:12:33 -08:00
Dan Ballard 2db7385ce0 Merge branch 'update-libricochet' of cwtch.im/cwtch into master 2019-01-23 21:11:10 +00:00
Sarah Jamie Lewis 9e055f1ee0 Updating libricochet to latest 2019-01-23 12:50:53 -08:00
erinn dcc65f0ffe iterating on eventbus fields 2019-01-22 11:11:25 -08:00
Sarah Jamie Lewis ebe8db6c31 Blocking now kills listening connections too 2019-01-21 12:42:11 -08:00
Sarah Jamie Lewis dc6cd56098 Defining Event Fields as Constants 2019-01-21 12:22:43 -08:00
Sarah Jamie Lewis 16c8095e5f Adding Timestamp to Events
Also starting to define common event fields to prevent type confusion / spelling issues
2019-01-21 11:56:35 -08:00
Sarah Jamie Lewis 849deb14dc Autoblock Known Blocked Peers 2019-01-08 10:58:01 -08:00
Sarah Jamie Lewis c3d797b2e1 Protocol Engine Refactor 2019-01-07 13:24:08 -08:00
Sarah Jamie Lewis d37447f320 Fixing #118 - Adding an initial message to group setup 2018-09-21 11:07:23 -07:00