Commit Graph

205 Commits (v1.0.1)

Author SHA1 Message Date
Beaudan 10ca7ee8d2 No longer removing listeners when closing local server 6 years ago
sachaaaaa 53b0574a1f Merge branch 'development' into channel_encryption
* development:
  Manually set the dns servers for windows
  Refactor local_loki_server
  Refactor rpc calls to its own function.

# Conflicts:
#	js/modules/loki_message_api.js
6 years ago
sachaaaaa ad5efc9ba3 lint 6 years ago
sachaaaaa 3285b2d1b9 Update snode channel tests 6 years ago
sachaaaaa aa722590fa use channel encryption with storage server 6 years ago
Mikunj 429bdd6460 Refactor local_loki_server 6 years ago
Mikunj 75d0894104 Fixed files not included in release.
Moved node relevant stuff in libloki into its own modules folder.
6 years ago
sachaaaaa 3f755123e7
Merge pull request #207 from BeaudanBrown/p2p-json-rpc
P2p using rpc endpoint
6 years ago
Beaudan Campbell-Brown 7e2a409c43
Merge pull request #198 from sachaaaaa/channel-encryption
Add channel encryption library with tests
6 years ago
Beaudan c0a6ba25bc Update p2p messages to follow the same endpoint format as storage server. Clean up message_api a lil bit and updated tests 6 years ago
Beaudan 0516e69ff7 Fix tests 6 years ago
Beaudan b00a0cb699 Rename isOnline to isPing for clarity, and reduce the ttl for online broadcast messages to 1 min 6 years ago
sachaaaaa e2abc0d510 Add channel encryption library with tests (not in used so far) 6 years ago
Beaudan 2fd746821a Added function for getting your loki IP and bind the local server 6 years ago
Beaudan 6426a5eb9b Added ability to look up our .loki address and now send that with our LokiAddress messages 6 years ago
sachaaaaa 7186f28019 Ensure a session is always initiated using the prekey assigned to the contact 6 years ago
sachaaaaa f900a08eda
Merge pull request #177 from sachaaaaa/merge_1_21_0
Merge Signal 1.21.0
6 years ago
sachaaaaa 9ae85a3408 Add missing argument when calling sendMessage in sendEmptyMessage 6 years ago
Beaudan 25a3129e37 Reworked p2p tests to be sensible and use the built in timeout/done system instead of hacky promise thing 6 years ago
Beaudan cde7bbf3c3 Removed forceP2p as argument for the pingContact event and enforced it on the other side 6 years ago
Beaudan 02d6920ade Tests for loki_p2p_api, added yarn command to generate coverage html, instantiating loki_p2p_api in the test preload 6 years ago
Beaudan a40a3d164f Lots of logic for establishing a p2p connection, managing when the other user is online vs offline etc. Will always try to use P2P messaging when it can and fall back to storage server otherwise 6 years ago
Mikunj 3c07d99a89 Fix variable names.
Fix module export to be more consistent.
6 years ago
Beaudan 6ba7fb20b8 Fixed UI blocking when creating conversation, more review comments 6 years ago
Beaudan e735b3ca41 Review comments, moved swarmNodes database stuff to just be in data.js 6 years ago
Beaudan 9ff96a0250 Fixed tests and moved friend request status enum to new friends file 6 years ago
Beaudan 38ff70e2ec Fixed some little redundant stuff in the message and snode api 6 years ago
Beaudan 2bae6b5eed Removed online broadcast message type, changed ttl logic a little, add p2p address and port to the window object when recieve message 6 years ago
Beaudan 07076c27ae Moved friend status to window, added start of p2p api stuff 6 years ago
Beaudan b417edfc9b Added new protos for online broadcast messages, added db hits for getting friends, local server now instantiated on the window, now sending online broadcast messages when the local server starts 6 years ago
sachaaaaa adfb4ab371 work with session reset 6 years ago
sachaaaaa 1238cbc4e6 Send profile along with friend request accept message 6 years ago
Mikunj 9b71e8119e Added error catching. 6 years ago
Mikunj f21d1f65e6 Let OS select random open port. 6 years ago
Mikunj 8c9b1a7a7a Added loki server.
Added test.
6 years ago
Mikunj e08a63d078 Merge development into lint 6 years ago
Beaudan 714a5ab8b1 Update consolidateLists function to take a selector function and updated tests 6 years ago
Mikunj 6bd2d3962e Linted files 6 years ago
sachaaaaa 7f78409f43 add TTL variation in pow metrics 6 years ago
Mikunj 4de69bee4b Reduced PoW difficulty to 100 on production. 6 years ago
Mikunj 4d1f4fcb4f Moved loki_protocol_store.js into libloki/storage.js 6 years ago
Mikunj 4eda13733a Cleanup tests.
Moved service_node_test to assert to keep consistency.
6 years ago
Mikunj f9147663d5 Updated tests.
Removed libloki-protocol.
6 years ago
Mikunj 070d18b514 Updated function calls. 6 years ago
Mikunj 982f10a505 Split libloki logic.
Added to gruntfile.
6 years ago
sachaaaaa 4b4a2b1bf2
Merge pull request #122 from sachaaaaa/consolidateLists
Add logic to consolidate list of data returned by different snodes
6 years ago
sachaaaaa 583a10628a run service_node in the browser instead of as a nodejs module 6 years ago
sachaaaaa 61145b6e99 rename listSize to numLists in service_nodes.js 6 years ago
sachaaaaa 8c01bea913 variables name consistency and remove superfluous initialisation 6 years ago
sachaaaaa 1274beb510 Add consolidateLists function with unit tests 6 years ago
sachaaaaa e3138f8fde add yarn pow-metrics 6 years ago
Beaudan 6113f13d3a Rip the worker logic out of message_receiver and add the functionality for it to work with pow. Fix pow tests to work with those changes 6 years ago
Mikunj 0491ceacf1 Added seed dialog.
Fixed issue where incorrect language was used to generate seed.
6 years ago
sachaaaaa 8b32583b79 fix loki test 6 years ago
Beaudan f6ab6495ae Updated the nonce trials variables to be constants for production and development 6 years ago
Beaudan a0584a68c9 Review suggested test case 6 years ago
sachaaaaa 5084d8cfec Update libloki/test/libloki-protocol_test.js
Co-Authored-By: BeaudanBrown <beau@loki.network>
6 years ago
sachaaaaa 1bc1213705 Update libloki/test/libloki-protocol_test.js
Co-Authored-By: BeaudanBrown <beau@loki.network>
6 years ago
Beaudan 7782c58d14 Slight refactor of PoW file to make easier to test plus some tests for the PoW functionality 6 years ago
Beaudan 11883cb989 Cleaner separation of loki tests 6 years ago
Beaudan be878f00a4 Updated names of some test functions. Added yarn commands to view output of different tests. Added a test and updated existing test to use more efficient asserts 6 years ago
Beaudan a676459229 Added test for returning the correct prekeybundle after creating a contact, updated the in memory store to reflect how sasha updated the actual store a while ago 6 years ago
Beaudan c93aff7ebe Setup grunt/yarn etc for loki tests plus wrote first 2 simple libloki-protocol tests 6 years ago
sachaaaaa d8f4d1f313 Fixes to get production build working 6 years ago
sachaaaaa 05c18d42db
Merge pull request #66 from sachaaaaa/session_reset
Handle session reset, Loki style
6 years ago
Beaudan Campbell-Brown c0ee584a2c
Update libloki/libloki-protocol.js
Co-Authored-By: sachaaaaa <40749766+sachaaaaa@users.noreply.github.com>
6 years ago
Beaudan 1e3886cca8 More consistent naming of key storage functions, moved some loki messenger only functions into new file 6 years ago
sachaaaaa 7e612700f7 Handle session reset, Loki style 6 years ago
Beaudan 35c89ea4d9 Big refactor, prekeybundle moved back to a content message 6 years ago
Beaudan b515fc41e7 Removed some repetetive logs, made the polling time a variable and lower the polling time and PoW difficulty if we are in debug mode 6 years ago
Beaudan b65d6a6d2c Refactor friend request status to use a state enum variable 6 years ago
Mikunj 9fd822a7e3 Remove preKeys on friend request decline. 6 years ago
Mikunj 0dabce9e28 Remove preKeyBundle from message.
Always save preKeyBundles if we receive them.
Always override preKeys when saving.
6 years ago
Mikunj 4bb93e6e3c rename sendEmptyMessageWithPreKeys to sendFriendRequestAccepted. 6 years ago
Mikunj dba6a36e83 removed old unused code. 6 years ago
Mikunj 75219966a7 Fixed preKeyBundle decryption. 6 years ago
sachaaaaa 38d5b6e833 fix log.notice in libloki-protocol.js 6 years ago
Beaudan 3aa135fdb4 Grabbing last hash from server response. only requesting messages after the lasthash. Keeping track of lasthash for array of nodes (currently hardcoded for one) 6 years ago
sachaaaaa ad1cf94526 ES2015 classes for LokiServer and FallBackSessionCipher 6 years ago
sachaaaaa c605fff58d change FRIEND_REQUEST value to prevent clash with upstream 6 years ago
BeaudanBrown 9ceb3c8ac0
Merge branch 'development' into message-polling 6 years ago
Beaudan c59b196487 Now reading messages and adding them to conversations. Some cleaning of unreachable code. Modified the message data to be encoded as base64 string before sending to server
Sending our public key in header of message

Now attaching our key to the source field when sending messages, allows messages to be decrypted with the fallback cypher

Now polling the server for messages every 5 seconds

Sending the source device with messages

Added mock respond function to request to leave it that same as the websocket stuff. RetrieveMessages now just returns the result

Polling now continues if the server responds with an error. Returning only the result from sendMessage and retrieveMessages

Revert commenting of unreachable code

Refactored http logic into own file

Revert a change to websocket-resources
6 years ago
Mikunj 77602e3dbb Moved contactPreKey and contactSignedPreKey to sql. 7 years ago
sachaaaaa bf69e9e897 re-lint proof-of-work 7 years ago
sachaaaaa 8a354c8e5c Revert dodgy linting on proof-of-work.js 7 years ago
sachaaaaa 4b9fcb98d4 Linting and other housekeeping stuff 7 years ago
sachaaaaa d91f04930c
Merge pull request #21 from loki-project/bugfix/pow-nonce-calc
Bugfix/pow nonce calc
7 years ago
Beaudan 4598fd222a Cleaned up newNonce stuff. Now doing target calculation with BigIntegers 7 years ago
sachaaaaa 7b1fbe362e Allow choosing language for mnemonic seed 7 years ago
sachaaaaa bbabeb34b8
Merge pull request #18 from sachaaaaa/mnemonic
Allow registering using a mnemonic word list
7 years ago
Beaudan 7f12746d8c Made NONCE_LEN a more globally scoped variable 7 years ago
Beaudan fe3898b9d8 Reintroduced function to compare Uint8Arrays again because < isn't working as expected (<3 javascript). Fixed some bugs with the way the Uint8Arrays were being manipulated and made some of the logic more clear 7 years ago
Beaudan d4180b3ca6 Some syntax tidying up, plus fixed bug with message data not being a uint8array after IPC message 7 years ago
sachaaaaa 1ce29d77c3 Moved mnemonic to node side. Added sc_reduce32 (asm) to generate privkey. Moved mnemonic languages to separate files. 7 years ago
sachaaaaa 1cf8710127
Merge pull request #16 from sachaaaaa/friend_response
Handle prekeys in incoming friend request
7 years ago
sachaaaaa a418a9d23b allow registering using a mnemonic word list (seed used as privKey for now) 7 years ago
sachaaaaa 93f1534512 Save prekeys upon reception of friend request. Add function to send an empty message as friend request acceptance 7 years ago
Beaudan dfa8b59bc3 Using let and const properly, updated number to uint function, general cleaning 7 years ago
sachaaaaa b9dbf11ebc Fix various things from previous commits 7 years ago
Beaudan ee57c698d7 Client side proof of work attached to messages
Skeleton calcPoW function that prepares payload for hashingFunction to increment Uint8Array nonce

Util function for converting a number to its Uint8Array representation

Actually perform calculate PoW nonce for every message

Adding bytebuffer as dependency and updated package-lock

Move PoW to new file and execute it in child process

TODO: Move send message logic to callback after child process has finished calculating the PoW

Refactored nonce calculation to function to be awaited

More readable timestamp grab plus converted to seconds

Nonce is now returned as a base64 string and included in request header

Also converted timestamp and ttl to string when including them in the header

Added a couple comments and tidied up some nonce logic
7 years ago
sachaaaaa 886f47b8e7
Prekeys sending: first pass (#12)
* add 'recipient' attribute in prekey database to allow binding a prekey to a recipient pub key

* Attach a PreKeyBundleMessage to the ContentMessage in fallback encryption mode

* Skip generating 100 prekeys upon registration

* Store the signed key signature in database
7 years ago
sachaaaaa 54201d6665 fix bad merge: missing FallBackDecryptionError 7 years ago
sachaaaaa eb488f9305 fix bad merge in libloki-protocol 7 years ago
sachaaaaa 0283c6428f Ignore friend request messages that could not be decrypted 7 years ago
sachaaaaa 04b45f6aa1 Decrypt friend-request messages (the ones using fallback encryption). Moved logic into a new file libloki-protocol.js and concat loki code into js/libloki.js 7 years ago