summaryrefslogtreecommitdiff
path: root/crates/equix
Commit message (Collapse)AuthorAgeFilesLines
* Run "cargo update" for crates/{equix/hashx}/bench.Nick Mathewson2024-08-011-82/+106
|
* Minor bumps on fslock-guard, fs-mistrust, equixNick Mathewson2024-08-011-1/+1
| | | | | | | | No updates on their dependents, because: fslock-guard (only tests have changed) equix (only change is removal of a private constant) fs-mistrust (documentation, formatting, and use of Path::try_exists in tests)
* hashx: Abolish Shape::BUCKET_CAPACITYIan Jackson2024-07-081-7/+0
| | | | | This is not used anywhere. It's not clear to we why it exists and I think we can safely delete it.
* Run cargo update for {hashx,equix}/bench.Gabriela Moldovan2024-06-051-107/+93
| | | | | | | | | Done using ``` (cd crates/hashx/bench && cargo update) (cd crates/equix/bench && cargo update) ```
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | * crates that have no changes: none * crates that only have non-functional changes (bump the patch version): - test-temp-dir - fslock-guard - hashx - equix - caret - fs-mistrust - safelog - retry-error Done using ``` for c in "${non_functional[@]}"; do maint/bump_nodep $c; done ``` where `non_functional` contains the list above
* Rename bucket-array-api feature to bucket-arrayNick Mathewson2024-05-074-20/+22
|
* equix: Add a rustdoc warning exception.Nick Mathewson2024-05-071-0/+4
|
* equix: use a feature to expose bucket array API.Nick Mathewson2024-05-074-16/+28
| | | | By removing 'cfg(fuzzing)', this resolves another case of #1395.
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* Update separate lockfilesIan Jackson2024-04-301-2/+2
|
* Bump versions of crates with nonfunctional changesIan Jackson2024-04-301-1/+1
| | | | | | | | | | for p in `cat ../u`; do maint/bump_nodep $p; git commit -a -m X; done where u contains hashx equix fs-mistrust
* Ship GPL-3 alongside LGPL-3, as requiredIan Jackson2024-04-251-0/+674
|
* Copy LGPL-3 file into hashx and equix cratesIan Jackson2024-04-251-0/+165
| | | | | | | | This is the simplest way to get this included during "cargo publish", which is necessary. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2094#note_3021187
* remove unused dependenciestrinity-1686a2024-04-021-1/+0
| | | | Edited-by: Nick Mathewson <[email protected]>
* Run cargo update in {equix,hashx}/benchNick Mathewson2024-04-021-210/+164
|
* Bump patchlevel versions on non-{tor/arti} crates.Nick Mathewson2024-04-021-2/+2
| | | | | | | | | | | | | | | | These have all had backward-compatible changes. Generated with: ``` cargo set-version --bump patch -p fs-mistrust cargo set-version --bump patch -p test-temp-dir cargo set-version --bump patch -p fslock-guard cargo set-version --bump patch -p hashx cargo set-version --bump patch -p equix cargo set-version --bump patch -p caret cargo set-version --bump patch -p safelog cargo set-version --bump patch -p retry-error ```
* deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-0/+1
|
* In every crate, change rust-version to 1.70.Nick Mathewson2023-11-281-1/+1
|
* Update other cargo.lock files.Nick Mathewson2023-10-021-2/+2
|
* Patchlevel bumps, with dependents affected.Nick Mathewson2023-10-021-2/+2
|
* Update bench lockfiles for new fixed-capacity-vecNick Mathewson2023-09-201-2/+2
|
* Switch to FixedCapacityVec 0.1.0 from crates.ioIan Jackson2023-09-061-0/+7
|
* Upgrade bench/ lockfiles too.Nick Mathewson2023-09-051-82/+93
|
* Update patchlevel for crates with nontrivial changes.Nick Mathewson2023-09-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are: ``` hashx equix tor-async-utils tor-error tor-config tor-rtmock tor-llcrypto tor-bytes tor-hscrypto tor-hspow tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-netdir tor-chanmgr tor-guardmgr tor-dirmgr tor-keymgr tor-hsclient tor-hsservice arti-client arti ```
* Update equix/bench/Cargo.lock.Nick Mathewson2023-09-051-3/+3
|
* Upgrade to visibility 0.1.0Nick Mathewson2023-09-051-1/+1
|
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* equix/bench: Update Cargo.lockMicah Elizabeth Scott2023-08-021-0/+12
| | | | New dependency from 82eb88bd7462069537e82be8488d5b9b7d3a3f7a
* Merge branch 'ticket889_fuzz' into 'main'Nick Mathewson2023-08-0210-18/+240
|\ | | | | | | | | Fuzzers for Equi-X and HashX See merge request tpo/core/arti!1459
| * equix/fuzz: CI and doc fixesMicah Elizabeth Scott2023-08-021-6/+9
| | | | | | | | | | | | | | | | The build found a stale private doc comment as well as an exception that needed to be made in check_doc_features. The check_doc_features change solidifies a decision that things marked with cfg(fuzzing) aren't part of the documented API.
| * hashx/fuzz, equix/fuzz: use arti-corporaMicah Elizabeth Scott2023-08-012-1/+2
| | | | | | | | | | Remove corpus from .gitignore and add a symlink to the corpora submodule.
| * equix/fuzz: rustfmtMicah Elizabeth Scott2023-08-011-19/+16
| |
| * equix/fuzz: Fixes to get nick's prototype runningMicah Elizabeth Scott2023-08-017-23/+65
| | | | | | | | | | | | | | | | | | There are some places we might improve this, maybe testing more data types and shapes. This patch just makes the minimal changes necessary to get it working: adds allocation logic to the fuzzer itself, and adds visibility for the bucket_array::mem interface. Signed-off-by: Micah Elizabeth Scott <[email protected]>
| * WIP: Fuzzer for BucketArray.Nick Mathewson2023-08-013-0/+179
| |
* | hashx/bench, equix/bench: Enable debug symbolsMicah Elizabeth Scott2023-08-011-0/+5
| | | | | | | | | | | | | | | | Propagates this setting from the outer Cargo.toml to the new benchmark crates, since they no longer get the setting by being included in the main workspace. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* | hashx/bench, equix/bench: check in matching Cargo.lock filesMicah Elizabeth Scott2023-08-012-1/+1109
| | | | | | | | | | | | | | | | It might be useful to keep these locked down for benchmark reproducibility. Currently the hashx and equix crates are fully separate. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* | equix, hashx: Benchmark against C implementationMicah Elizabeth Scott2023-08-015-86/+246
|/ | | | | | | | | | | | | | | | | | | | | This is a small batch of improvements for the equix and hashx benchmarks. The headline feature is that we are now including the C implementations (slightly modified from tevador's, hosted as part of c-tor) and using them in apples-to-apples comparisons. Minor features: - Benchmarks moved to new nested crates, preventing their dependencies from spilling into the main workspace build. - Tests are now grouped - We also test the performance of memory reuse where possible - Code cleanup for per-runtime options These benchmark builds will now automatically pull in the c-tor git repo and build portions of it with a Rust wrapper. This uses the 'cc' and 'bindgen' crates, so it requires a C compiler and libclang on the host system. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Run "fixup features" in preparation for a release.Nick Mathewson2023-08-011-1/+1
|
* equix, hashx: Additional comment tweaksMicah Elizabeth Scott2023-07-273-11/+63
| | | | | | More review feedback. Thanks nickm! Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix, hashx: Prepare for an initial LGPL releaseMicah Elizabeth Scott2023-07-271-1/+6
| | | | | | | This replaces the 'TODO' marker from earlier commits, using tevador's copyright and license (LGPL 3.0 only) for the hashx and equix crates. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* tor-hspow, equix, hashx: Comment tweaksMicah Elizabeth Scott2023-07-278-77/+105
| | | | | | Making a few comment tweaks suggested in review feedback. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* tor-hspow, equix, hashx: Make all error types CloneMicah Elizabeth Scott2023-07-271-1/+1
| | | | | | | This uses an Arc to hold std::io::Error for low-level HashX runtime errors. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix: Refactoring for bucket_arrayMicah Elizabeth Scott2023-07-274-434/+662
| | | | | | | This splits up bucket_array into two smaller modules, one for the hash table behavior and one for the MaybeUninit memory management. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Update equix, hashx, tor-hspow for new clippy defaultsMicah Elizabeth Scott2023-07-271-1/+1
| | | | Just running maint/add_warning after the rebase
* Reimplement Equi-X in RustMicah Elizabeth Scott2023-07-2712-0/+1706
This is a new pure Rust implementation of the Equi-X algorithm designed by tevador for Tor's onion service proof of work puzzle v1. Equi-X is an asymmetric puzzle algorithm based on Equihash, with N=60, K=3, the XOR replaced with modular addition, a 16-bit index space, and HashX as the inner hash function. Signed-off-by: Micah Elizabeth Scott <[email protected]>