Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upload encryption with WASM #395

Merged
merged 51 commits into from
Jan 12, 2022
Merged

Upload encryption with WASM #395

merged 51 commits into from
Jan 12, 2022

Conversation

sampsapenna
Copy link
Member

@sampsapenna sampsapenna commented Nov 12, 2021

Description

Upload encryption using the existing upload runner ecosystem with resumable.js. Encryption is done using libcrypt4gh written in C and compiled with WebAssembly as a target. Dockerfile-build-crypt and Dockerfile-build-crypt-devel handle building the encryption into the UI as of now.

Related issues

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update (this needs a follow up PR)

Changes Made

  • Rudimentary UI integration for encryption
  • Encryption using libcrypt4gh in C
  • build files for encryption library

Testing

  • Unit Tests
  • Integration Tests
  • Tests do not apply
  • Needs testing (start an issue or do a follow up PR about it)

Mentions

@sampsapenna sampsapenna added the enhancement New feature or request label Nov 12, 2021
@sampsapenna sampsapenna self-assigned this Nov 12, 2021
@sampsapenna sampsapenna force-pushed the feature/encrypt-uploads branch 5 times, most recently from 7099cd4 to 15932a3 Compare November 15, 2021 13:19
@blankdots
Copy link
Contributor

image

seems this is a problem as well :(

@sampsapenna sampsapenna force-pushed the feature/encrypt-uploads branch from b765375 to 96ce7b4 Compare December 31, 2021 08:52
@sampsapenna
Copy link
Member Author

Latest push includes multiple changes:

  1. Fix issues with upload redirection through HAProxy
  2. Add support for folder uploads when uploading encrypted files
  3. Unify encrypted and ordinary upload UIs
  4. Implement automatic configurable default key fetch
  5. Add new, better upload UI allowing for editing files, keys and container name (no longer forcing default container names)
  6. Improve drag-n-drop file input, and add support for encrypted uploads using drag-n-drop
  7. Add encryption process error handling and informational messages
  8. Check for upload size to notify user on too large uploads

@sampsapenna sampsapenna changed the title WIP: Upload encryption with WASM Upload encryption with WASM Dec 31, 2021
Copy link
Contributor

@blankdots blankdots left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image versions (alpine) need updating and we need to have our own libcrypt4gh repo at CSCfi org.
small improvements in the docs need to be managed.

Note: I think we need to add follow-up issue for testing the C code as well as cypress tests to test the encryption interaction in front-end

Suggestion (not a change request): Instead of building the wasm as part of the image we can build it as part of the CI and add a conditional in the final image if that binary exists we enable that feature if not we don't. This will have the benefit of having fewer images to handle and keep track of.

Will come back with more suggestions after I test as well

swift_browser_ui_frontend/wasm/README.md Show resolved Hide resolved
dockerfiles/Dockerfile-build-crypt Outdated Show resolved Hide resolved
dockerfiles/Dockerfile-build-crypt Outdated Show resolved Hide resolved
@blankdots
Copy link
Contributor

blankdots commented Jan 3, 2022

there could be some other UI improvements, however let us tackle them as part of another issue.

@sampsapenna
Copy link
Member Author

Generates issues #462 #463

@sampsapenna sampsapenna merged commit 5125b2a into devel Jan 12, 2022
@sampsapenna sampsapenna deleted the feature/encrypt-uploads branch January 12, 2022 06:57
@sampsapenna sampsapenna mentioned this pull request Jan 12, 2022
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
3 participants