Giter Club home page Giter Club logo

monocypher-rs's People

Contributors

akhilles avatar jan-schreib avatar pheki avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

akhilles tomleavy

monocypher-rs's Issues

Reconsider yanking policy

I've noticed you have yanked all older versions of monocypher-rs, but this is not always considered a good practice in rust.

ring used to do it, but it caused lots of discussions, resulting in rust-lang/crater moving from ring to openssl (rust-lang/crater#394) and ring starting yanking only known-vulnerable versions. See this comment from pietroalbini (member of many rust teams). It's a bit subjective, but my personal opinion is similar, crates should be yanked only when there's a semver compatible release available.

Related discussions:

On an unrelated notes, I'm contributing a little to this crate but I don't wish to give too much maintenance burden, sorry if I am...

Support building from source monocypher and static linking

Currently, this project expects monocypher to be installed in the base system, making it hard to cross compile or compile without installing monocypher first. This article explains a little about the tradeoffs on -sys libraries: https://kornel.ski/rust-sys-crate

Support for building from source could be added by either:

  • Adding the monocypher source as a submodule. This would be the best (in my opinion), since it works out of the box, including for cross-compiling. The caveat is that it includes more maintenance burden, since each monocypher-rs would be based on a single upstream version (would need to git pull once in a while), at the same time, upstream updates can break monocypher-rs anyway. There could still be an option to override the source path.
  • Adding an option to override the source path, by using MONOCYPHER_SOURCE_PATH env or something like that.

Support for static linking could be accepted by both a crate feature and an environment variable (MONOCYPHER_STATIC).

If you agree with this, I can open a PR (I actually patched and am using with submodule, would need to adapt before opening the PR).

Suggestion: Add some basic CI

GitHub Actions is fairly easy to setup and doesn't have much of a maintenance burden. I'd be happy to open a PR with a workflow config if it's welcome.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.