3 ms·
I would have loved knowing their reasoning behind this decision, which I'm sure it's very calculated, because the implications are huge. They're choosing to swi
by doe88 13y ago
I would have loved knowing their reasoning behind this decision, which I'm sure it's very calculated, because the implications are huge. They're choosing to switch from a simple packager role to a maintainer role, they will have to always keep their fork in sync with upstream which if they try to apply every changes will require a lot of work, or maybe they have decided on another strategy e.g. freezing functionalities and applying only security patches, I don't know I didn't look at the current types of clean-ups maybe that could hint what their intentions are.
Regardless, I have mixed feeling about this, one month ago a lot of people lauded openssl for not being vulnerable to the goto fail saga while criticizing Apple for not using openssl and now everyone is ready to ditch openssl in a heartbeat for a flaw not related to crypto, not committed by core developers. I'm not defending openssl, I would love a concerted effort by big industry players for implementing a new SSL/TLS stack from scratch, maybe in a safer language, but I also don't think it is a reason for taking quick, disruptive decisions like this. It is also likely they had this move in mind before this episode and this flaw was the last straw but they should have exposed their plan, it would have been a bit better for us to understand their reasoning.
- clarry 13y agoI cannot speak for the people who made this decision. But if you look at the code, you might come to the conclusion that the upstream is not so focused code quality (security!) as one might hope. There is such a jungle of code that can only be justified by the desire for more features, more portability (to crazy ancient platforms too), more speed, more flexibility... it's all more knobs and code where real security bugs can lurk. And code paths that do not get tested properly. You can also find many outright dangerous idioms used throughout. Does that mean the upstream is ignorant, or that they do not care, or that they do not have the man power to fix their aging code? Either way, it's bad. The OpenBSD developers have different priorities, and they believe they can do better. As such, not being able to blindly pull changes and updates from the upstream developers they do not trust does not look like a significant loss. If new features are to be merged in, it has to be properly reviewed and adapted. Yes, it's more work that way. But the end result is likely better code.
- riffraff 13y agothe talk about portability to crazy ancient platforms is weird. Didn't openbsd ask for 20K$ to keep up a build farm of ancient platforms?
- dobbsbob 13y agohttp://marc.info/?l=openbsd-tech&m=138973312304511&w=2 http://marc.info/?l=openbsd-tech&m=138973312304511&w=2 They use that old equip to find bugs
- calpaterson 13y agoI think they asked for $20k for old hardware (like vax), not old platforms (like VMS).
- clarry 13y agoIt is one thing to make an OS support the hardware and run on a "weird" piece of hardware. But the removed code in OpenSSL is about making it compile and run on systems on which the standard (defacto or specified) APIs do not exist or do not behave like they should, and which have broken compilers that need workarounds. All of these add conditional code paths that won't get the amount of testing they need, and which will only hinder developers when they try to understand and improve the surrounding code. Also, the $20k was for the power bill. Yes, there are some older systems among the powered ones. But there's more, there's really a rack full of hardware running the infrastructure that makes OpenBSD available to us. There's networking gear, there's AC... Dobbsbob makes a good point too. The weird hardware OpenBSD runs on helps find bugs; the untested code paths in OpenSSL add bugs.
- feld 13y agoThose ancient platforms/architectures run OpenBSD, though, not the original OS. Nobody in their right mind should run those dead OSes on the public internet; why bother supporting them in the latest OpenSSL release?
- jeffdavis 13y ago"...for a flaw not related to crypto..." The thing about crypto is that almost any bug in a crypto library is related to crypto. It can't be easily isolated, and if you try, you have to actually analyze the isolation to make sure that it's really isolated. "...disruptive decisions..." Who is it disrupting? OpenBSD is trying to provide value to their users. If you want slow, steady, incremental, reactive improvements to OpenSSL, every other OS will give you that. OpenBSD apparently believes its users would benefit from a proactive approach to security.
- higherpurpose 13y agoMaybe they should just fork it completely, keep only the most used stuff, and call it OpenTLS - the "clean" alternative to OpenSSL. Then push for it to get accepted in server software. It would be kind of like the OpenOffice/LibreOffice situation. Although if they're going to embark on such an endeavour, maybe it would be best to also rewrite it completely in a memory safe language like Rust (but in a year or two, after Rust becomes more mature).
- edwintorok 13y agoIt wouldn't help if they create another project based on OpenSSL code, because that will inherit OpenSSL's license that everybody hates, and wouldn't necessarily help other projects adopt it. It might also discourage other people from looking at / contributing code, when they could just improve another TLS library with a saner license that people actually want to use not just due to legacy.
- ams6110 13y agoI would venture to speculate that not many OpenBSD developers are familiar with Rust. They are familiar and very practiced at writing secure C.
- ams6110 13y agoThey maintained an audited fork of Apache 1.3 for a number of years (I think recently switched or will switch to nginx), so it's not unprecidented.
- mpyne 13y ago> They're choosing to switch from a simple packager role to a maintainer role, they will have to always keep their fork in sync with upstream which if they try to apply every changes will require a lot of work, or maybe they have decided on another strategy e.g. freezing functionalities and applying only security patches, I don't know I didn't look at the current types of clean-ups maybe that could hint what their intentions are. In fairness it's always been my impression that a BSD distribution is intended to be much more than a mere packager of software, but instead an integrator of those libraries into a sane, coherent overall operating system. This is the reason OpenSSH has their native version for OpenBSD and then a "portable" version for the rest of the POSIX world.
- dfc 13y ago> They're choosing to switch from a simple packager role to a maintainer role. This is hardly a leap of faith for the OpenBSD developers. The dev team has always placed an emphasis on security even if the added security meant significant additional work. OpenBSD has a history of creating new software products to replace products that they deemed unacceptable from a security standpoint (including forking netbsd). I imagine that in addition to OpenBSD you are familiar with at least one of these projects: OpenBGPD http://www.openbgpd.org http://www.openbgpd.org OpenNTPD http://www.openntpd.org http://www.openntpd.org OpenSMTPD http://www.opensmtpd.org http://www.opensmtpd.org OpenSSH http://www.openssh.org http://www.openssh.org
- dobbsbob 13y agoThis pays off for them too. NTP DoS reflection attack this year didn't work on OpenNTPD which had removed test commands and extensions that were used by attackers. The BGP hijacking going on last year sending traffic to Belarus didn't work on OpenBGPD http://arstechnica.com/security/2013/11/repeated-attacks-hijack-huge-chunks-of-internet-traffic-researchers-warn/ http://arstechnica.com/security/2013/11/repeated-attacks-hij...
- dfc 13y agoI think the distros shared a lot of blame for the ntp ddos attacks. The defaults were ridiculous. I want to scream every time I see `restrict default kod blah blah` without `limited`. Somewhere someone threw up that terrible restrict statement and it got copied everywhere. KOD without `limited` is useless and a good indicator the maintainer never read the docs: "If the kod flag is used in a restriction which does not have the limited flag, no KoD responses will result." As far as alternatives to the ntp reference implementation go I like Miroslav's chrony, especially for things like laptops with intermittent connectivity and power saving concerns.