Commit Graph

249 Commits

Author SHA1 Message Date
Renovate Bot 212105ca4d Update Rust crate base64 to v0.21.4 2023-09-14 15:30:10 +00:00
Renovate Bot 8ec1f6237d Update Rust crate subtle to 2.5 2023-09-11 17:35:00 +00:00
Renovate Bot 20f5da98e3 Update Rust crate serde_with to 3.3.0 2023-09-07 17:30:48 +00:00
Renovate Bot 003be57c1a Update Rust crate time to 0.3.28 2023-09-07 15:30:33 +00:00
Renovate Bot e17af05fa0 Update Rust crate thiserror to 1.0.48 2023-09-06 17:34:36 +00:00
Renovate Bot 26d0f4ad40 Update Rust crate serde to 1.0.188 2023-08-30 17:33:09 +00:00
onyinyang 7647564c1e
Add test for k-invites 2023-08-02 17:21:03 -04:00
onyinyang faf40caf3a
Change open invite logic to distribute to k users 2023-08-02 10:34:39 -04:00
onyinyang 35f62ed213
Cleanup 2023-08-02 10:20:40 -04:00
onyinyang 572928a271
Fixed Basic Serialization/Deserialization to json 2023-08-02 10:15:11 -04:00
onyinyang f52c6f515a
Add EXPIRY_DATE constant and fixup cloned vectors 2023-08-02 10:11:47 -04:00
onyinyang 93ce3e41b7
Add ExhausedIndexError for no available bucket ids 2023-08-02 10:11:46 -04:00
onyinyang 471cb8c8c4
Add test for find_next_available_key 2023-08-02 10:11:46 -04:00
onyinyang 6191970d9a
Fixed clean up blocked test 2023-08-02 10:11:46 -04:00
onyinyang 9c2b7703a8
Added open inv cleanup test 2023-08-02 10:11:46 -04:00
onyinyang a62b537aa6
Add testing for blocked bucket cleanup 2023-08-02 10:11:46 -04:00
onyinyang 3c88f4471b
Fix up convoluted function 2023-08-02 10:11:46 -04:00
onyinyang d2d09bccc1
Add more comprehensive logic for tidying unneeded buckets 2023-08-02 10:11:46 -04:00
onyinyang 40f1e88a31
Add find_next_available_key function to prevent overwriting buckets 2023-08-02 10:11:46 -04:00
onyinyang 48cdb97a9f
Fix licensing for lox-rs 2023-07-27 16:30:29 -04:00
onyinyang d98ae40879
Fix formatting 2023-07-19 10:30:35 -04:00
onyinyang 607466b949
Clean up clippy fixes 2023-06-23 13:04:15 -04:00
onyinyang 369d830bca
All tests passing for HashMap implementation 2023-06-23 08:30:14 -04:00
onyinyang 69e4579450
Change encbuckets to HashMap with EncryptedBucket 2023-06-23 08:30:14 -04:00
onyinyang 610a579731
Fix up bridge_unreachable 2023-06-23 08:24:28 -04:00
onyinyang 0ede04164b
Fix up replace function, remove recyclable 2023-06-23 08:24:28 -04:00
onyinyang 607ecd89c7
Converting bridgetable vectors to HashMaps 2023-06-23 08:24:28 -04:00
onyinyang 73c3ef8728
Change lox package to lox-library for consistency 2023-06-23 08:22:15 -04:00
onyinyang 221f490d26
Update lox-distributor to handle gone resources more correctly 2023-06-16 17:18:19 -04:00
Cecylia Bocovich 67639e2f11
Remove needless range loops 2023-06-16 15:59:11 -04:00
onyinyang 003d9c886b Add pipeline 2023-06-08 16:58:22 +00:00
onyinyang 5ac0fc7bef
Fixup cargo imports to address stdweb issue 2023-06-07 16:02:02 -04:00
onyinyang 16ced3c5e0
Add other cargo fmt changes 2023-06-06 19:58:35 -04:00
onyinyang 5ac8e703cf
Update lox-library Cargo.toml for workspace 2023-06-05 14:39:10 -04:00
onyinyang 607e1a425d
Remove performance statistics tests for pipeline 2023-05-15 20:18:20 -04:00
onyinyang a9d5f31870
Add test pipeline 2023-05-15 20:17:53 -04:00
onyinyang 8d0f570627
Adds test and fixes for allocate bridges 2023-05-15 18:57:23 -04:00
onyinyang 45bb5756df
Minor fixes 2023-05-15 12:53:32 -04:00
onyinyang 6bff64f283
Adds replace_bridge test and fixes bugs in the function 2023-05-15 12:32:22 -04:00
onyinyang 0d317cea8c
Fix replace bridge to align with changes to lox-distributor 2023-05-11 17:02:33 -04:00
onyinyang 508eaf3bdd
Add functions to recycle and allocate extra bridges 2023-05-09 13:00:40 -04:00
onyinyang 83c7916805
Added bridge replacement 2023-05-08 12:31:36 -04:00
onyinyang 11d4678be8
Update fingerprint to match UID from rdsys 2023-04-04 18:39:28 -04:00
onyinyang a3a693d45a
Revise bridge bytes size to 300 2023-04-03 12:06:20 -04:00
onyinyang 362996c4f7
Add fingerprint field to Bridgeline 2023-04-03 11:47:11 -04:00
onyinyang a206917e92
Add update bridge function 2023-03-27 12:36:57 -04:00
onyinyang e257a05c99
Add bridge update 2023-03-23 13:21:04 -04:00
onyinyang f08520de84
Update function definition for bridge update 2023-03-23 11:00:10 -04:00
onyinyang 366111e28f
Add bridge_update stub 2023-03-20 12:33:26 -04:00
onyinyang 42f5c0e764
Increase bridge info size 2023-03-10 12:02:45 -05:00
onyinyang 00aa9b0ab1
Revert "Add fields to BridgeLine"
This reverts commit 4a014725cdae582401f5d166a722317ed45b8bfe.
2023-03-09 18:18:02 -05:00
onyinyang a76fdc98b9
Add fields to BridgeLine 2023-03-09 16:59:20 -05:00
onyinyang fd4f715ad9
REVERT BEFORE USING: make BA today function, bridge_table public for testing 2023-02-28 12:01:00 -05:00
onyinyang 0e960d9156
Make all states serializable 2023-02-06 19:47:04 -05:00
onyinyang 9ce2a81fe7
Make credentials serializable for Tor JS bindings
Author:    onyinyang <onyinyang@users.noreply.github.com>
2023-01-18 15:02:28 -05:00
onyinyang f7002632f7
Make state serializable for Tor JS bindings
Author:    onyinyang <onyinyang@users.noreply.github.com>
2023-01-18 15:02:28 -05:00
Vecna 3945ed5b60 Make BridgeAuth (de)serializable 2022-11-22 19:15:09 -05:00
Vecna 2cd4d96b73 Make BridgeDb (de)serializable 2022-11-14 13:56:13 -05:00
Vecna b607f3bc37 Make Issuer Keys (de)serializable. 2022-11-13 11:33:57 -05:00
Ian Goldberg ae3fc8f1a2 Update README 2022-10-20 17:33:51 -04:00
Ian Goldberg 4eca032745 cargo fmt 2022-10-20 11:34:39 -04:00
Ian Goldberg efc175b45b Don't crash if we get 0 data points for small experiments 2022-10-20 11:25:48 -04:00
onyinyang 2818ce67f4
Added some fixes and requested touchups from artifact review 2022-10-20 01:18:04 -04:00
onyinyang 9f0fb0bbe1
Docker works as expected, README updated 2022-10-18 00:52:10 -04:00
Ian Goldberg abc8acd079
Add MIT licence 2022-10-18 00:51:30 -04:00
onyinyang 993d01b712
Added results of cargo clippy --fix 2022-10-18 00:51:17 -04:00
onyinyang 9778f9cd25
Proposed changes for artifact, run_tests_fast feature runs with 100 users 2022-10-18 00:43:30 -04:00
Ian Goldberg 92fb283bcd Touch up the docker environment 2022-08-17 10:20:12 -04:00
onyinyang cef13f9b07
Updated run script to name container 2022-08-17 01:53:10 -04:00
onyinyang 3dde20d845
Added Dockerfile and build scripts for PETS2023 2022-08-14 20:31:09 -04:00
onyinyang 203e17f9fa
Changed format of TESTNAME 2022-04-06 22:37:21 -04:00
onyinyang 45b53590f7
Removed table 2022-04-06 22:33:36 -04:00
onyinyang 90d19b9846
Added times to readme 2022-04-06 18:29:11 -04:00
onyinyang 666cfd4582
Fixed testing instructions and another substring issue 2022-04-04 13:22:51 -04:00
onyinyang 1fe1c147ab
Moved README and fixed substring issue 2022-04-04 00:45:11 -04:00
onyinyang a7be6d3bfd
Added Updated tests file and readme 2022-04-04 00:45:10 -04:00
onyinyang 7f7522faf2
Added timing 2022-04-04 00:45:10 -04:00
onyinyang 0ce3d68d79
Changed printout statements and reverted to multithreaded testing 2022-04-04 00:45:10 -04:00
onyinyang 3bb50aa9ab
Added tests for different sized bridges 2022-04-04 00:45:10 -04:00
onyinyang 82272ea933
Added perfstat time outputs for each test 2022-04-04 00:45:10 -04:00
onyinyang 3d8f1e799e
Remove open invitation buckets from blockages, add test for 75% 2022-04-04 00:45:10 -04:00
onyinyang 20511632e8
Fixed bug that still blocked spares 2022-04-04 00:45:10 -04:00
onyinyang 4769c5db94
Changed blockage test to only block non-spare buckets 2022-04-04 00:45:10 -04:00
onyinyang bc5a1e5c0d
Add more bridges for consistency, printout units
Committer: ltulloch <ltulloch@uwaterloo.ca>
2022-04-04 00:45:10 -04:00
onyinyang a00d97dfe9
Corrected error causing response handling stdev anomaly, adjusted test size for blockages 2022-04-04 00:45:09 -04:00
onyinyang c69e740366
Add tests for varying percentages of blocked bridge 2022-04-04 00:45:09 -04:00
onyinyang 7dedf2ab47
Updated print statements and number of users 2022-04-04 00:45:09 -04:00
onyinyang ea8ac7eb9c
Add blockage migration stats test 2022-04-04 00:45:09 -04:00
onyinyang c9afa18795
Added all tests but details of blockage migration 2022-04-04 00:45:09 -04:00
onyinyang 95615cf3ee
Modularized duplicate code and added more tests 2022-04-04 00:45:09 -04:00
onyinyang 695421f265
Fixed issues identified during live code review 2022-04-04 00:45:09 -04:00
onyinyang 6217252813
Added statistics for open invite 1000 users 2022-04-04 00:45:09 -04:00
onyinyang 727a6e11a3
Added timing and measurements to all methods, TODO printout tests 2022-04-04 00:45:09 -04:00
onyinyang 8a16f95263
Removed types for deserialized objects 2022-04-04 00:45:09 -04:00
onyinyang a76d3922fc
Added timing and perfstat struct for open invite 2022-04-04 00:45:08 -04:00
onyinyang 8496c63b14
Added serialized sizes for request and response in open invite 2022-04-04 00:45:08 -04:00
onyinyang d9d349d0f7
Replace big_array with serde_as, cargo fmt likes things to be alphabetical 2022-04-04 00:45:08 -04:00
onyinyang f6ffdd77bb
Added serialization/deserialization for check_blockage and trust_promotion 2022-04-04 00:45:08 -04:00
onyinyang 179fea5e23
Added serialization and deserialization for all but check blockage and trust promotion 2022-04-04 00:45:08 -04:00
onyinyang fd05dce77d
Fixed comments from code review 2022-04-04 00:45:08 -04:00
onyinyang c73230e937
Added Bridgeline to open-entry 2022-04-04 00:45:08 -04:00
Ian Goldberg a56ac87868 Change IssuerPubKey constructor to be more functional 2021-06-05 16:25:39 -04:00
Ian Goldberg 596cf10ea5 The complete blockage migration protocol 2021-05-05 18:22:32 -04:00
Ian Goldberg 4bb77d16e4 Be consistent about the ordering of the parameters in the ZKPs
Particularly D
2021-05-05 16:34:12 -04:00
Ian Goldberg 74bae2cf8e The complete check blockage protocol 2021-05-05 16:29:25 -04:00
Ian Goldberg 27773123a3 Add a migration type attribute to the Migration credential 2021-05-05 15:25:56 -04:00
Ian Goldberg 0664dd7b45 API for adding bridges and marking them as unreachable 2021-05-05 14:00:07 -04:00
Ian Goldberg cf19bf80ee Make an easier to use test harness 2021-05-04 18:27:26 -04:00
Ian Goldberg b0290f5480 Complete the redeem invitation protocol 2021-05-04 17:48:40 -04:00
Ian Goldberg dd505ccfd7 The request message of the redeem invitation protocol 2021-05-04 15:48:11 -04:00
Ian Goldberg 8b517aa4c8 Complete the issue invitation protocol 2021-05-04 14:22:51 -04:00
Ian Goldberg a6d98dde73 The response message of the issue invitation protocol 2021-05-04 12:03:22 -04:00
Ian Goldberg d924b98060 The request message of the issue invitation protocol 2021-05-03 19:06:05 -04:00
Ian Goldberg 654208769f Up the max level to 4 and add the ZKP for the max number of blockages allowed in the level up protocol 2021-05-03 15:00:54 -04:00
Ian Goldberg 088071571a Change the invites_issued attribute of the Lox credential to just count blockages instead 2021-05-03 14:27:11 -04:00
Ian Goldberg 86cd2f54d7 More Rust cleanups 2021-05-03 14:14:31 -04:00
Ian Goldberg 15e9a1a72a Remove noop migration credentials 2021-05-03 14:13:13 -04:00
Ian Goldberg ecef59392b Fix the rust in a couple of places 2021-05-03 11:44:42 -04:00
Ian Goldberg fd73286e78 Complete the level upgrade protocol 2021-05-02 21:45:15 -04:00
Ian Goldberg aa097dc447 Change the policy for invites_remaining in the level up protocol
Before, the number of invitations at the new level were _added_ to a
user's credential.  Now, it _replaces_ the old value.
2021-05-02 18:10:59 -04:00
Ian Goldberg f7b3d242bb The request message of the level upgrade protocol 2021-05-01 22:26:13 -04:00
Ian Goldberg 5bfbccf193 Check the MACs on the Bucket Reachability credentials in the tests 2021-05-01 17:19:34 -04:00
Ian Goldberg ba13545b3c Create Bucket Reachability credentials and put them in buckets as appropriate 2021-05-01 17:13:40 -04:00
Ian Goldberg 33f3de3b68 Dates should just be u32, not u64 2021-05-01 15:33:45 -04:00
Ian Goldberg 8a19376edc Moved protocol modules into submodules of "proto" module instead of all being at the top level 2021-05-01 15:23:00 -04:00
Ian Goldberg ab864fae45 Handle the case where the migration table has illegal entries for some reason 2021-05-01 11:56:25 -04:00
Ian Goldberg 7f07951668 Don't forget to check the credential against the seen list 2021-04-30 16:44:53 -04:00
Ian Goldberg 83b12ff6f6 The complete migration protocol for the case of migrating from trust level 0 to trust level 1 2021-04-30 16:26:05 -04:00
Ian Goldberg 6013386f07 Handle the response of the trust promotion protocol to produce the Migration credential 2021-04-30 13:30:58 -04:00
Ian Goldberg 03de724a8c The response message of the trust promotion protocol 2021-04-30 11:59:17 -04:00
Ian Goldberg 2ffa2c6ab0 Check the proof in the request message of the trust promotion protocol 2021-04-29 21:25:00 -04:00
Ian Goldberg 53652914eb The request message of the trust promotion protocol 2021-04-29 18:22:57 -04:00
Ian Goldberg 9ed5d21586 Move unit tests to their own file 2021-04-29 16:12:53 -04:00
Ian Goldberg e7bb50ab2b Start on trust promotion
This is the protocol for the user to get promoted from untrusted (trust
level 0) to trusted (trust level 1).
2021-04-29 16:04:57 -04:00
Ian Goldberg b86973174a Fix up formatting of module doc comments 2021-04-29 14:58:51 -04:00
Ian Goldberg 450c62bfc7 Check that we can use the credential to read a bucket 2021-04-29 11:28:40 -04:00
Ian Goldberg 77b92036c7 Update the name of one test 2021-04-28 23:12:50 -04:00
Ian Goldberg 2791f0bf54 Handle the response of the open invitation protocol to produce the Lox credential 2021-04-28 23:03:29 -04:00
Ian Goldberg 75630d3ad0 Unit test for what's done of the open invite protocol so far 2021-04-28 18:50:35 -04:00
Ian Goldberg e9267f5b37 The response message of the open invitation protocol 2021-04-28 18:32:40 -04:00
Ian Goldberg 706f484606 The request message of the open invitation protocol 2021-04-28 15:43:25 -04:00
Ian Goldberg 996463d1c0 Start creating the bridge authority 2021-04-28 13:37:56 -04:00
Ian Goldberg 3ccd3087cf Start defining the credentials used by the system 2021-04-28 13:35:19 -04:00
Ian Goldberg 89b7fdf921 Unit test for the bridge table 2021-04-27 18:27:35 -04:00
Ian Goldberg beed9d95b2 A basic encrypted bridge table 2021-04-27 13:01:39 -04:00
Ian Goldberg f067c8b79a Use a custom enum instead of Result<(),()> in DupFilter 2021-04-27 12:59:29 -04:00
Ian Goldberg befacce4ef test for dup_filter module 2021-04-27 08:54:14 -04:00
Ian Goldberg 23d66aaae3 A simple duplicate filter for filtering shows of duplicate ids 2021-04-27 08:33:29 -04:00
Ian Goldberg e079a361ba A simple BridgeDb to create open invitations 2021-04-27 06:53:30 -04:00