Skip to content
This repository has been archived by the owner on Jan 13, 2024. It is now read-only.

Whisperfork permanent PR #1

Open
wants to merge 72 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
085bb76
Update aead and aes-gcm-siv
rubdos Apr 5, 2021
9f29bcc
Minor version bump
rubdos Apr 5, 2021
873af13
Comment crate-type, we don't need this.
rubdos Apr 5, 2021
932aed5
Java: switch to Debian for Docker builds instead of Ubuntu
jrose-signal Jun 7, 2021
8bfcfb3
Docker: use the rust-toolchain file instead of hardcoding a version
jrose-signal Jun 14, 2021
e4aaf13
Java: allow testing on macOS by looking for .dylib as well as .so
jrose-signal Jun 14, 2021
d5f191e
Update toolchain to nightly-2021-06-08
Imperiopolis Jun 10, 2021
b8dc2b7
Add support for M1 and Catalyst architectures via cocoapods
Imperiopolis Jun 11, 2021
2dc537e
Add Node cross-compilation support
dennisameling May 1, 2021
427b212
Bump deps to get node-addon-api to v3
dennisameling May 30, 2021
10ed36f
Node: Remove custom .d.ts files and use the ones from NPM
jrose-signal Jun 4, 2021
c72cd9a
Update aead and aes-gcm-siv crates
jrose-signal Jun 3, 2021
c3a478a
Update all dependencies with cargo update
jrose-signal Jun 3, 2021
90b85f5
GitHub: now that we're on nightly, use that for formatting + clippy
jrose-signal Jun 22, 2021
ff26ac3
Bump version to 0.7.3
jrose-signal Jun 24, 2021
53fe59b
GitHub: Remove build artifacts for iOS
jrose-signal Jun 24, 2021
1e3ea01
GitHub: don't cache the Rust target/ directory for the iOS tests
jrose-signal Jun 25, 2021
197c382
Java: continue to use Node artifacts for the "testable" jar
jrose-signal Jun 25, 2021
72939eb
Fix spelling of expected env var
jim-signal Jun 25, 2021
eb5054c
Merge upstream into whisperfork
rubdos Jun 26, 2021
0c56045
Node: export missing `ProfileKeyCredentialRequest`
indutny-signal Aug 23, 2021
59d9168
Bump version to 0.7.4
jrose-signal Aug 27, 2021
a142805
Merge remote-tracking branch 'origin/master' into whisperfork
rubdos Aug 31, 2021
0714c47
Update to latest nightly toolchain
ehrenkret-signal Sep 19, 2021
37a8530
Update OVERVIEW.md
ehrenkret-signal Sep 19, 2021
b987179
Combine README.md and OVERVIEW.md
ehrenkret-signal Sep 19, 2021
6b5f818
Comment out two targets that don't ship rust-std
ehrenkret-signal Sep 19, 2021
da70138
Update mod.rs to new module name style
ehrenkret-signal Sep 19, 2021
f344c04
Add missing license header
ehrenkret-signal Sep 19, 2021
7e95892
Ignore __pycache__
ehrenkret-signal Sep 20, 2021
440a148
Remove trailing whitespace
ehrenkret-signal Sep 20, 2021
5f6ddf0
Remove warning from codegen script as it blocks make
ehrenkret-signal Sep 20, 2021
b2dae3a
Add custom patch to keep codegen output matching current code
ehrenkret-signal Sep 20, 2021
99a759e
Fix ffiapi codegen to reduce patch
ehrenkret-signal Sep 20, 2021
a7c780d
Allow using the credential system with only two components
ehrenkret-signal Sep 20, 2021
8df1846
Add support for zk proofs of receipts
ehrenkret-signal Sep 20, 2021
f57a31a
Bump version strings to 0.8.0 to prepare for incompatible change
ehrenkret-signal Sep 20, 2021
0fbdb9f
Fix error in copyright header for new file
ehrenkret-signal Sep 21, 2021
884de80
write integration test and get it passing
ehrenkret-signal Sep 21, 2021
1819bd2
Don't compute C_y1 and C_y2 twice
ehrenkret-signal Sep 21, 2021
d73c142
Add the server params apis
ehrenkret-signal Sep 21, 2021
3534241
Add tests for length of receipt api structures
ehrenkret-signal Sep 21, 2021
309ff4b
Update sizes missed in codegen.py previously
ehrenkret-signal Sep 21, 2021
6941e49
Check in updated codegen output
ehrenkret-signal Sep 21, 2021
79953d7
Add new api classes to codegen
ehrenkret-signal Sep 21, 2021
82fa8fa
Remove the class for ReceiptSerial
ehrenkret-signal Sep 21, 2021
e51c4cd
Update codegen with receipt operations
ehrenkret-signal Sep 22, 2021
3df1796
Fix Dockerfile for rust-toolchain file change
ehrenkret-signal Sep 22, 2021
e84cb90
Create ReceiptSerial class
ehrenkret-signal Sep 22, 2021
27ba04d
Update rustup in the Dockerfile
ehrenkret-signal Sep 22, 2021
1bdcdf5
Fix rustup toolchain for macos build
ehrenkret-signal Sep 22, 2021
40b603c
No need for toolchain action with rust-toolchain.toml
ehrenkret-signal Sep 23, 2021
3c5dc57
Update cbindgen output
ehrenkret-signal Sep 23, 2021
a701afb
Use .PHONY instead of FORCE rule
ehrenkret-signal Sep 23, 2021
4e43ca7
Add receipts to the typescript libraryx
ehrenkret-signal Sep 23, 2021
6a9f1ae
Update swift's copy of the c header
ehrenkret-signal Sep 23, 2021
99f68cd
Add missing copyright header to generated swift files
ehrenkret-signal Sep 23, 2021
42e6b95
Fix typo
ehrenkret-signal Sep 23, 2021
2d26e85
Add a test for the presentation verify failing if modified
ehrenkret-signal Sep 23, 2021
ea454e8
Remove redundant line in Dockerfile
ehrenkret-signal Sep 24, 2021
f064f5f
Add getters for receipt expiration and level to credential
ehrenkret-signal Sep 27, 2021
e860f0a
Add calls through codegen to get the receipt level and expiration
ehrenkret-signal Sep 27, 2021
f9a4790
Fix java codegen long return type
ehrenkret-signal Sep 27, 2021
eab70c8
Use be bytes instead of bincode's default le
ehrenkret-signal Sep 27, 2021
39708c2
Add receipt level and expiration time getters to node
ehrenkret-signal Sep 27, 2021
e5958e4
Bump version to 0.8.1
ehrenkret-signal Sep 27, 2021
82ea1a2
Update C header files
ehrenkret-signal Sep 27, 2021
bbd71fd
Add three new accessor methods for the presentation
ehrenkret-signal Sep 29, 2021
20dd8a2
Add Rust implementation of PniCredential from libsignal-client
jrose-signal Nov 16, 2021
80cd470
Expose PniCredential to Java/Node/Swift
jrose-signal Nov 17, 2021
e6e53bf
Bump version to 0.9.0
jrose-signal Nov 17, 2021
c915376
Merge upstream branch 'master' into whisperfork
rubdos Mar 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 8 additions & 27 deletions .github/workflows/artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ jobs:
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ffi/node/libzkgroup.so
asset_name: libzkgroup.so
file: ffi/node/libzkgroup-x64.so
asset_name: libzkgroup-x64.so
tag: ${{ github.ref }}
overwrite: true

Expand Down Expand Up @@ -96,26 +96,20 @@ jobs:
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ffi/node/libzkgroup.dll
asset_name: libzkgroup.dll
file: ffi/node/libzkgroup-x64.dll
asset_name: libzkgroup-x64.dll
tag: ${{ github.ref }}
overwrite: true

build_macOS_iOS:
name: Build macOS + iOS
build_macOS:
name: Build macOS (Node)
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2

- name: Configure git to use HTTPS
run: git config --global url."https://${{ secrets.REPO_ACCESS_TOKEN }}:[email protected]".insteadOf ssh://[email protected]

- name: Install pre-requisites
run: |
rustup target add aarch64-apple-ios x86_64-apple-ios armv7-apple-ios armv7s-apple-ios
cd ffi/swift
make install_build_dependencies

- name: Read .nvmrc
id: node_version
working-directory: ffi/node
Expand All @@ -132,25 +126,12 @@ jobs:
node --version
cd ffi/node
make libzkgroup
cd ../../ffi/swift
make
cd ZKGroup
zip -r libzkgroup-ios.zip libzkgroup

- name: Upload macOS
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ffi/node/libzkgroup.dylib
asset_name: libzkgroup.dylib
tag: ${{ github.ref }}
overwrite: true

- name: Upload iOS
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ffi/swift/ZKGroup/libzkgroup-ios.zip
asset_name: libzkgroup-ios.zip
file: ffi/node/libzkgroup-x64.dylib
asset_name: libzkgroup-x64.dylib
tag: ${{ github.ref }}
overwrite: true
7 changes: 2 additions & 5 deletions .github/workflows/formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,5 @@ jobs:
- uses: actions/checkout@v2
- name: Run rustfmt
run: |
rustup toolchain install ${{ env.NIGHTLY_VERSION }}
rustup component add rustfmt --toolchain ${{ env.NIGHTLY_VERSION }}
cargo +${{ env.NIGHTLY_VERSION }} fmt -- --check
env:
NIGHTLY_VERSION: nightly-2020-04-12
rustup component add rustfmt
cargo fmt -- --check
39 changes: 7 additions & 32 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,8 @@ jobs:

- name: Run clippy
run: |
rustup toolchain install ${{ env.NIGHTLY_VERSION }}
rustup component add clippy --toolchain ${{ env.NIGHTLY_VERSION }}
cargo +${{ env.NIGHTLY_VERSION }} clippy -- -D warnings
env:
NIGHTLY_VERSION: nightly-2020-04-14
rustup component add clippy
cargo clippy -- -D warnings

- name: Test Rust
run: cargo test
Expand Down Expand Up @@ -71,32 +68,10 @@ jobs:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Configure git to use HTTPS
run: git config --global url."https://${{ secrets.REPO_ACCESS_TOKEN }}:[email protected]".insteadOf ssh://[email protected]

- name: Cache cargo registry
uses: actions/cache@v1
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: Setup rust toolchain
run: rustup show

- name: Install iOS Rust targets
run: rustup target add aarch64-apple-ios x86_64-apple-ios armv7-apple-ios armv7s-apple-ios
- name: Build zkgroup library
working-directory: ffi/swift
run: |
make install_build_dependencies
make default
- name: Test XCode project
working-directory: ffi/swift
run: xcodebuild test -project ZKGroup.xcodeproj -scheme ZKGroup -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8'
- name: Run pod lint
# No import validation because it tries to build unsupported platforms (like 32-bit iOS).
run: pod lib lint --verbose --platforms=ios --skip-import-validation --allow-warnings
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
__pycache__
build
target
.idea
Expand Down
Loading