this post was submitted on 30 Mar 2024
223 points (98.3% liked)

Cybersecurity

5768 readers
96 users here now

c/cybersecurity is a community centered on the cybersecurity and information security profession. You can come here to discuss news, post something interesting, or just chat with others.

THE RULES

Instance Rules

Community Rules

If you ask someone to hack your "friends" socials you're just going to get banned so don't do that.

Learn about hacking

Hack the Box

Try Hack Me

Pico Capture the flag

Other security-related communities [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]

Notable mention to [email protected]

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] subtext 8 points 8 months ago (1 children)

Thanks for this! Good to know that Zstd seems to be a pretty much drop in replacement.

[–] [email protected] 8 points 8 months ago (1 children)

It looks like someone made a Rust implementation, which is a lot slower and only does decompression, but it's at least a rival implementation should zstd get some kind of vulnerability.

[–] [email protected] 8 points 8 months ago (1 children)

Yep that would be me :)

There is also an independent implementation for golang, which even does compression iirc (there is also a golang implementation by me but don't use that. It's way way slower than the other one and unmaintained since I switched to rust development)

[–] [email protected] 1 points 8 months ago (1 children)

Awesome! It's impressive that it's decently close in performance with no unsafe code. Thanks for your hard work!

And that Go implementation is pretty fast too! That's quite impressive.

[–] [email protected] 1 points 8 months ago (1 children)

Sadly it does have one place with unsafe code. I needed a ringbuffer with an efficient "extend from within" implementation. I always wanted to contribute that to the standard library to actually get to no unsafe.

[–] [email protected] 1 points 8 months ago (1 children)

Ah, I saw a PR from like 3 years ago that removed it, so it looks like you added it back in for performance.

Have you tried contributing it upstream? I'm not a "no unsafe" zealot, but in light of the xz issue, it would be nice.

[–] [email protected] 1 points 8 months ago (1 children)

Have you tried contributing it upstream?

I didn't yet just because I didn't get around to it (and because I am not sure the std lib even wants this feature).

I’m not a “no unsafe” zealot, but in light of the xz issue, it would be nice.

I don't think the two relate. I wouldn't drop any dependency, the ringbuffer is implemented in the same repo.

[–] [email protected] 1 points 8 months ago

Yeah, they're not really related. I'm just thinking there might be more scrutiny on compression due to the exploit.

That said, yours doesn't support encoding anyway, so it's kind of moot.