fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.6K
active users

#libsodium

0 posts0 participants0 posts today

The last 2 weeks I worked on a little project.
I had lots of fun with it.
It's a cache that is tranparently encrypted by default and it has fine-grained access control based on policies. You interact with it via a HTTP API documented with OpenAPI.

In the background it uses the fantastic #libsodium library for password hashing and encryption!
libsodium is very easy to use and I can whole heartedly recommend it!

Maybe it'll be useful to some of you: github.com/hw0lff/senke

Have fun! :blahaj:

GitHubGitHub - hw0lff/senke: A transparently encrypted cache accessible via a simple HTTP API. By default, all data is encrypted at rest, and access is controlled through simple, policy-based access control lists.A transparently encrypted cache accessible via a simple HTTP API. By default, all data is encrypted at rest, and access is controlled through simple, policy-based access control lists. - hw0lff/senke
Continued thread

so i documented this whole #brew #libsodium issue here: github.com/stef/pysodium/issue

and in my perspective this is something that should be fixed by brew and python ctypes, not every downstream module that uses ctypes to bind libraries. thanks for all the insightful inputs to my scream for sanity

GitHubEven if libsdoium is installed, the storage location of libsodium cannot be obtained · Issue #116 · stef/pysodiumBy TakumiHoriguchi

#mac users, help! i'm going crazy, when you install #libsodium using #brew, it installs the library in /opt/homebrew/Cellar/libsodium/<version>/lib/libsodium.dylib but apparently not in /usr/lib or /usr/local/lib, so nothing finds it, and as a build script that has sodium as a dependency has to guess the versions and the path where brew installed the library. this makes no sense, what am i missing, and how is this supposed to work? what kind of madness is this?

SOLVED: see follow-up post.

Continued thread

I've published my first version of the debugging tool that causes large corporations to scream and run away:

crates.io/crates/breakmancer is a secure¹ reverse shell, allowing you to drop a breakpoint into any build script.

Your build can pause, reach out to your laptop and let you poke around, and then resume where it left off. Incredibly useful.

It's written in #Rust and uses some basic #libsodium cryptography to secure the connection. I'd like to get a security audit (any volunteers? it's a pretty small program!) and expand to include plugins for languages that support REPLs, such as Python, Javascript, and Clojure.

¹ Maybe. Pending that audit.

crates.iocrates.io: Rust Package Registry

`gcc` has a fun `-Ofast` optimization option.

Did you know it breaks `C` and `IEEE-754` conformance not just for code you compile with `-Ofast` but for everything else in your address space?

I did not either and found it only after `libsodium` project enabled it by default.

A few words on breakage mechanics: trofi.github.io/posts/302-Ofas

trofi.github.iotrofi's blog: -Ofast and -ffast-math non-local effects

Spend the day programming with #libsodium and I have to say that it's a really great lib for crypto stuff. Secure defaults, very few interfaces and way less possibilities to shot ones into the foot compared to #OpenSSL.

Downside is actually the documentation. PDF or web pages which are sometimes even incomplete. Heck, what do I miss #OpenBSD 's Section 2/3 man pages. Especially the ones provided by schwarze@ are always crystal clear, up to the point and mention every caveat.

Trying to figure out the best architecture of using #libsodium in browser.
Sadly it seems like I can't quite write a library as a separate JS file and let people include both.
I think that for demonstration purposes I shall write inline <script> tag, but later on as I migrate to webpack / typescript, I shall use webpack or whatever there is.

github.com/jedisct1/libsodium.

github.comjedisct1/libsodium.jslibsodium compiled to Webassembly and pure JavaScript, with convenient wrappers. - jedisct1/libsodium.js