Commit Graph

239 Commits

Author SHA1 Message Date
erinn 9c91a89f00 testing new message id id-ea 2020-10-22 16:05:14 -07:00
erinn e4ab5b543b bugfix 2020-10-22 16:03:46 -07:00
erinn 509e5c95ba expose cwtchPeer.Profile.AddMessageToContactTimeline() via StoreMessage() 2020-10-22 16:03:46 -07:00
erinn 5772ce45a4 add cwtchPeer.InitForEvents which allows overriding the default set of eventbus events handles by the peer 2020-10-22 16:03:46 -07:00
Sarah Jamie Lewis b8d308763c Sign and Check ToFU Server Bundle
the build was successful Details
2020-10-01 14:06:30 -07:00
Sarah Jamie Lewis 2d9050346b Fixing Tor/Server Integration
the build was successful Details
2020-09-21 15:39:54 -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 8ed7dd471a Small Fixes 2020-09-21 14:41:40 -07:00
Sarah Jamie Lewis f74e8647ef Fixup APIs, Error handling and formatting 2020-09-21 14:41:40 -07:00
Sarah Jamie Lewis 0550a71244 Tapir Server Refactor 2020-09-21 14:41:40 -07:00
Sarah Jamie Lewis 422b0d5deb Allow Peers to Store History
the build was successful Details
2020-07-08 15:25:19 -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 5f39c1d498 make peer handling of NewRetValMessage optional, as UI handles it fully
the build was successful Details
2020-04-16 17:00:17 -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 87a0265142 Merge branch 'peerAdd' of dan/cwtch into master
the build was successful Details
2019-11-05 14:33:35 -08:00
Dan Ballard 514d25c365 tie peerWithOnion to AddContact
the build was successful Details
2019-11-05 14:15:56 -08:00
Sarah Jamie Lewis 99ea31ce82 Adding Network Status Plugin + Fixing plugin goroutine leaks
the build was successful Details
2019-11-01 16:10:10 -07:00
Dan Ballard b42baef6c5 add get/set attribute for profile/contact/group to cwtch_peer that does the action and emits an event; rename profile.GetGroupByGroupID to GetGroup for consitency
the build was successful Details
2019-10-31 14:39:31 -07: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 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
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 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 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
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 a210986140 Upgrade SendMessageToGroup to return the signature for UX tracking purposes 2019-02-19 12:20:39 -08:00
Sarah Jamie Lewis 46bab264b4 Adding Accept Invite Flow 2019-02-13 17:57:42 -08:00
Sarah Jamie Lewis b607293c2d Fixing json/protobuf confusion 2019-02-12 18:46:23 -08:00
Sarah Jamie Lewis 3f6623bf42 Cutting cruft from import group 2019-02-12 18:04:21 -08:00
erinn 1f5a8685c4 store name of new contacts correctly 2019-02-11 13:40:20 -08:00
Sarah Jamie Lewis 8f3b607053 Fixing New Group Invite flow 2019-02-11 11:09:28 -08:00
Sarah Jamie Lewis eb2a770085 Fix AddContact 2019-02-04 11:39:58 -08:00
Sarah Jamie Lewis 33a8922e43 Message Store Fix 2019-02-03 17:55:35 -08:00
Sarah Jamie Lewis 2b47c50d0d Fixing up first time storage and ensuring we no longer dupe messages in timeline 2019-02-02 19:24:42 -08:00
erinn ac077521be save new groups and group timelines 2019-02-02 17:18:33 -08:00
Sarah Jamie Lewis 2239463512 ineffassign and misspell 2019-01-28 12:12:33 -08:00
erinn dcc65f0ffe iterating on eventbus fields 2019-01-22 11:11:25 -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
erinn f28cf6b781 removing old timeline notification code and dropping support for updating existing groups 2019-01-19 15:16:38 -08:00
erinn 4f39aec94b expose app eventbus and message ack IDs 2019-01-15 12:59:54 -08:00
Sarah Jamie Lewis 1028f04ae7 Setting Up Go Module and Fixing Dependency Bug 2019-01-13 15:52:55 -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
Dan Ballard 3367f1a083 updating to new libricochet-go log api 2018-12-03 18:52:11 -08:00
Dan Ballard 563597907c server should retry on tor loss 2018-11-26 13:47:03 -08:00
erinn 9734540aca merging 2018-11-23 17:30:18 -08:00
Sarah Jamie Lewis b418eab92f Merge branch 'acn2' of dan/cwtch into master 2018-11-23 03:17:50 +00:00
Dan Ballard 6f6fa90946 add channels to tests using Listen in a thread to sync; add some cleanup to other tests; fix a potential NPE 2018-11-22 14:29:05 -08:00
Dan Ballard 8a0d9c54fd local var rename 2018-11-22 13:47:35 -08:00
erinn ddbf96e668 little fixes 2018-11-21 16:56:08 -08:00
erinn 12206ce23c Merge branch 'master' of https://git.openprivacy.ca/cwtch.im/cwtch 2018-11-21 16:44:19 -08:00
erinn d06b68d001 Merge branch 'acn' of dan/cwtch into master 2018-11-22 00:26:26 +00:00
erinn 3b932bedc0 little fixes 2018-11-21 16:08:47 -08:00
Dan Ballard ff54059111 update name 2018-11-21 15:10:02 -08:00
Sarah Jamie Lewis dc489398ea Checking if a group is setup on a v3 onion server 2018-11-21 14:29:38 -08:00
Dan Ballard 85a2c44891 Following libricochetgo's migration to bine and a generic Mixnet
interface.
2018-11-20 12:51:37 -08:00
Sarah Jamie Lewis 1531885bcd Adding Custom Attributes to Contacts, Removing ClientIdentity Processing 2018-10-31 17:19:40 -07:00
Sarah Jamie Lewis f4c45e863e Storage Refactor 2018-10-31 15:31:52 -07:00
erinn ce7d57a1a5 fix tests 2018-10-29 12:19:30 -07:00
erinn 912894b55f support arbitrary channel type handlers in cwtch peer 2018-10-27 02:04:43 -07:00
Dan Ballard d368ee1609 safe shutdown 2018-10-23 20:49:00 -07:00
erinn 9eeefae88d fix a bug preventing sending more than once over a peer data channel 2018-10-22 16:11:39 -07:00
erinn 66459b3d37 adding some convenience functions 2018-10-14 17:59:53 -07:00
erinn f271638422 reduce waituntilauthenticated delay and add one for psc 2018-10-10 14:59:38 -07:00
erinn 6b98b32156 nit: remove annoyingly long ciphertext from log 2018-10-09 19:34:58 -07:00
erinn 5e580df127 same but for cwtchpeer 2018-10-09 17:12:08 -07:00
Sarah Jamie Lewis 1e04b1161e Adding V3 Onions to Cwtch! 2018-10-05 13:38:23 -07:00
Sarah Jamie Lewis 8ab4752b44 Adding Cwtch Peer Data Channel 2018-10-04 17:03:57 -07:00
Sarah Jamie Lewis b8a3904c37 Minor fix to export 2018-10-02 22:46:00 -07:00
Dan Ballard a5ad2a6644 removing panics and reorder invite-to-group args 2018-09-26 19:00:40 -07:00
Dan Ballard 5f046e6d53 app suports multiple peers; cli supports multiple peers; massive cli command change (irc /style) and live follow groups 2018-09-21 16:52:39 -07:00
Sarah Jamie Lewis d37447f320 Fixing #118 - Adding an initial message to group setup 2018-09-21 11:07:23 -07:00
Sarah Jamie Lewis 8b64ba19fd Fixing potential timing conflict 2018-07-28 09:05:38 -07:00
Dan Ballard c289052aae Android use changes: dedup peer start code; peer and app track write directory and files, do not use supplied filenames for Save(); rework tormanager to take a path to tor binary 2018-07-24 16:51:46 -05:00
gpestana bea9ac01f4 Improves test coverage of cwtch_peer.go [#53] 2018-07-04 14:11:12 -07:00
Sarah Jamie Lewis f435de4b71 Testing Tor Manager + Some bug fixes 2018-07-01 20:23:30 -07:00
Sarah Jamie Lewis 2981cb4dac Formatting & Adding to Quality 2018-06-29 12:20:07 -07:00
Sarah Jamie Lewis 8a1fb3ccc2 Merge branch 'fix-lint' of dan/cwtch into master 2018-06-27 16:53:02 +00:00
Dan Ballard b70fdf1af2 fix server metrics, wiring in it, server now generates a metrics file
while running
2018-06-27 09:42:30 -07:00
Dan Ballard f16cd86e20 fixing linting errors 2018-06-27 09:19:38 -07:00
Angus Champion de Crespigny 21817f936d modified: ../../peer/cwtch_peer.go
Corrected documentation
Changed 'password' to 'key' where appropriate
Reloaded the salt into the LoadCwtchPeer function
2018-06-27 01:15:03 +00:00
Angus Champion de Crespigny 2b039b2e9f Changed capitalization of cwtchPeer (again) and updated LoadCwtchPeer to use the interface 2018-06-27 01:15:03 +00:00
Angus Champion de Crespigny 67adc0fbce Updated capitalization of cwtchPeer in comments 2018-06-27 01:15:03 +00:00
Angus Champion de Crespigny 8e55a77173 Cwtch_peer.go
Added missing imports and corrected NewCwtchPeer to implement the CwtchPeerInterface
Corrected formatting

Main.go
Corrected formatting

App.go
Included missing arguments

Cwtch_peer_test.go
Included password arguments into tests

Cwtch_peer_server_intergration_test.go
Included password arguments into tests
2018-06-27 01:15:03 +00:00
Angus Champion de Crespigny 966642c957 Modified: app/cli/main.go
Updated queries

Modified:   peer/cwtch_peer.go

Changed capitalization
2018-06-27 01:15:03 +00:00
Angus Champion de Crespigny 13b5d17214 On branch profile-password
Changes to be committed:
modified:   app/app.go

Added password parameters to app.go functions

modified:   app/cli/main.go

Added password prompts to collect the password from user input
Modified Load and New conditions

modified:   peer/cwtch_peer.go
Created CreateKey, DecryptProfile, and EncryptProfile functions
Implemented these functions in the functions
CwtchNewProfile
CwtchLoadProfile
Save
2018-06-27 01:15:03 +00:00
Sarah Jamie Lewis 3215478757 Revert "adding Monitors; fixing metricsHistory rotation logic; wiring in Monitors; cleanup"
This reverts commit bacf733f52.
2018-06-26 11:24:50 -07:00
Sarah Jamie Lewis ea2e7caf5c Merge branch 'server-metrics' of dan/cwtch into master 2018-06-23 18:00:14 +00:00
Dan Ballard bacf733f52 adding Monitors; fixing metricsHistory rotation logic; wiring in Monitors; cleanup 2018-06-23 10:54:33 -07:00
Sarah Jamie Lewis 22aebae0e5 Actually implementing correct signature construction 2018-06-23 09:23:39 -07:00
Dan Ballard cf80207f77 rename go-ricochet to libricochet-go 2018-06-23 09:15:36 -07:00
Dan Ballard 63128bae40 adding simple metrics package to server 2018-06-21 12:20:27 -07:00
Sarah Jamie Lewis 89ffc737bc Encapsualting Profile behind Peer interface 2018-06-19 22:51:21 -07:00
Sarah Jamie Lewis e3dfdf35e0 fmt 2018-06-19 15:38:22 -07:00
Dan Ballard d3765fd9bb server now has a config file; delete profile.Save (unsued); update cwtch_peer.Save to use indented Marshal 2018-06-18 16:07:34 -07:00
Dan Ballard dae807da07 comments and variable renames to fully pass golint 2018-06-15 09:24:23 -07:00
Dan Ballard 583a8013d6 fixes to pass go vet and inclusion in tests script 2018-06-13 14:24:47 -07:00
Dan Ballard ce33f23a2e Merge branch 'integ_test_fix' of cwtch.im/cwtch into master 2018-06-09 21:21:43 +00:00
Sarah Jamie Lewis 76b6df4beb Fixup integ testing 2018-06-09 12:11:59 -07:00
Sarah Jamie Lewis d13a8c3076 Adding import and exporting of groups to support alternative construction 2018-06-09 00:49:18 -07:00
Dan Ballard 9bf0fdec56 adding fetch checks to integration test with late joining user carol.
protocol drop 'groupMessages' field
peer/sever fetch channel reworked to send series of groupMessage rather than groupMessages blob in order to not blow up a ricochet packet
minor doc fixes
change a few fmt to log
fix class variable name (cplc -> cpsc) in cwtchpeer listen channel
PeerPeerConnection.Close close Conn rather than break to catch goroutine leak
2018-06-07 17:07:40 -07:00
Dan Ballard 30b4a2068e peer and server tear down; connectionManager tear down; integ test tracks goRoutines and errors if not cleaned up properly 2018-05-31 16:32:59 -07:00
Dan Ballard c0513d8968 typo 2018-05-31 14:13:34 -07:00
Sarah Jamie Lewis ded21271f6 Making profile thread safe, making blocking do something 2018-05-31 13:20:55 -07:00
Dan Ballard 0eabf09a32 supporting ricochet app's new requirement for name field 2018-05-30 16:10:50 -07:00
Sarah Jamie Lewis 77e62b1b66 Renaming to cwtch.im 2018-05-28 11:05:06 -07:00
Dan Ballard e0541dec15 adding tests.sh script; fixing connections tests broken by removing private_key with pk generation 2018-05-25 15:37:44 -07:00
Sarah Jamie Lewis 1534308210 Fixing go vet issues 2018-05-20 11:29:46 -07:00
Sarah Jamie Lewis 027921f760 Added concern about potential DoS vector 2018-05-16 14:33:13 -07:00
Sarah Jamie Lewis 5f3ee80627 More golinting, fixing timing sidechannel 2018-05-16 14:31:06 -07:00
Sarah Jamie Lewis 8349ff1b3c Golint fixes 2018-05-16 13:53:09 -07:00
Sarah Jamie Lewis be7721d02d fmt 2018-05-16 13:20:46 -07:00
Sarah Jamie Lewis bd1ad4fc67 Surfacing some error codes 2018-05-16 13:18:47 -07:00
Sarah Jamie Lewis ec0c341bb1 Fixing some race conditions, adding more error checking 2018-05-09 12:09:00 -07:00
Sarah Jamie Lewis 9b7b25cbe8 Fixing crshing bugs, peers now connect to other peers and servers when accepted/trusting
Connection state is checked before things happen to avoid hangs
2018-05-03 12:23:02 -07:00
Sarah Jamie Lewis 979ad542f7 fmt 2018-05-02 23:01:15 -07:00
Sarah Jamie Lewis eacce2113c feature complete app 2018-05-02 21:12:45 -07:00
Sarah Jamie Lewis 383828512a Adding groups / inivite to cli 2018-05-01 14:36:19 -07:00
Sarah Jamie Lewis 8d8eb89507 CLI now supports cwtch peering and invites 2018-05-01 13:44:45 -07:00
Sarah Jamie Lewis f1d0a8e900 Fixing up messaging to use a proper ordering of messages based on timeline and previous hash.
This isn't perfect, but under normal conditions should prevent malicous server reordering. Still need a second order function
2018-04-02 14:10:29 -07:00
Sarah Jamie Lewis 7e8ad39637 Massive clean up 2018-03-31 13:11:25 -07:00
Sarah Jamie Lewis 914be9e46a Lots of peerand serverstuff 2018-03-30 14:16:51 -07:00
Sarah Jamie Lewis c29186979f Introducing fix for group owner impersonation bug 2018-03-15 13:53:22 -07:00
Sarah Jamie Lewis 9a4693c223 fixing go lint issues 2018-03-15 09:33:26 -07:00
Sarah Jamie Lewis b43aa55b44 Refactoring, fixing up some issues 2018-03-14 15:23:35 -07:00
Sarah Jamie Lewis d47b165bab Updating Group Chat invite, fixing test errors 2018-03-14 15:03:53 -07:00
Sarah Jamie Lewis 440ffb64ef Peer Group Invite 2018-03-12 11:43:51 -07:00
Sarah Jamie Lewis ac3c055e0c peer->peer connection 2018-03-11 12:22:38 -07:00
Sarah Jamie Lewis 335a8d76c3 Adding peer channels, renaming client->peer 2018-03-11 11:49:10 -07:00