News for hackers. Stuff that matters.
Re:OpenSSL Security Advisory by bjourne on Thursday September 22, 2016 @10:10AM (#12556896)
It won't end with Rust either since it is so appealing and easy to jump into unsafe territory.
Re:OpenSSL Security Advisory by danarmak on Thursday September 22, 2016 @10:24AM (#12556973)
Easy is not the same as necessary. At least high-security projects like OpenSSL could enforce a policy of not using unsafe code, and it's easy to validate that there's no unsafe code or that the few known instances are very well vetted.
Re:OpenSSL Security Advisory by bjourne on Thursday September 22, 2016 @12:00PM (#12557779)
You could do the same with C code -- it is getting everyone to follow the policies that is the hard part. Even compiling Rust code in release mode instead of debug removes some essential safety features. Should be clear by now that "policies" just doesn't work, but no, project are repeating the exact same mistake over and over again. :)
Re:OpenSSL Security Advisory by danarmak on Thursday September 22, 2016 @12:49PM (#12558162)
The crucial difference is between a policy, which people can not follow (and you might not catch them), and a language or compiler restriction, which people can't work around without doing something drastic like shelling out to a new process, which you can catch (in a well built language).
[dead]
Re:OpenSSL Security Advisory by danarmak on Thursday September 22, 2016 @04:56PM (#12560306)
Is the beauty you see in C inseparable from its unsafety? Are the unsafe parts that other languages don't have the most beautiful ones?

There's a big difference between arguing for safety and arguing for Rust specifically. Everyone likes some languages and dislikes others. Can you design a safe(r) language that you would consider to be beautiful?

Re:OpenSSL Security Advisory by steveklabnik on Thursday September 22, 2016 @08:11PM (#12561403)
What essential safety features are removed? The only thing I can think of this referring to is assertions, and we do the opposite: assert stays in all builds, debug_assert is only in debug builds.
Re:OpenSSL Security Advisory by bjourne on Thursday September 22, 2016 @08:17PM (#12561425)
Integer overflow checking, for example.
Re:OpenSSL Security Advisory by wbl on Thursday September 22, 2016 @08:41PM (#12561521)
Integer overflow cannot result in memory safety violations in Rust.
Re:OpenSSL Security Advisory by ben_bai on Friday September 23, 2016 @06:54AM (#12563613)
But it can overflow, which will result in a different value that the programmer might expect, which can give an attacker a nice "information leak" or worse. This could be a security bug!
Re:OpenSSL Security Advisory by gajjanag on Friday September 23, 2016 @08:54AM (#12564168)
Exactly. Memory safety is a very nice property, but is not complete by itself. This primary emphasis on memory safety was part of a critique of Rust by Andrei Alexandrescu: https://www.quora.com/Which-language-has-the-brightest-futur....

And even wrt memory, Rust (with the standard library) is not free of its own warts, see the OOM situation. See e.g https://news.ycombinator.com/item?id=10545877 for a discussion on this.

Just to be clear: I generally like the ideas of Rust. I just dislike its presentation by some as a magic solution to all kinds of concerns.

[dead]
Re:OpenSSL Security Advisory by sctb on Thursday September 22, 2016 @06:35PM (#12560898)
Since this account seems to have been created solely to violate the guidelines with, we've banned it. We're happy to unban accounts if you email [email protected] and we believe you'll post only civilly and substantively in the future.
Re:OpenSSL Security Advisory by mbrock on Thursday September 22, 2016 @10:14AM (#12556917)
This kind of resource DoS attack doesn't seem like it's directly related to safe/unsafe. I think you would be just as likely to forget to put a resource limit if you were writing in Haskell.
Re:OpenSSL Security Advisory by Manishearth on Thursday September 22, 2016 @11:13AM (#12557349)
> so appealing and easy to jump into unsafe territory.

I've almost never seen unnecessary unsafe code being used in Rust. I've seen it very few times for performance, but it's carefully done.