TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

How compatible is LibreSSL?

63 pointsby aksxalmost 11 years ago

8 comments

currysausagealmost 11 years ago
I&#x27;m more than surprised about the hostile tone some contributors seem to use when they talk about LibreSSL lately.<p>LibreSSL is an OpenSSL fork done by the OpenBSD team primarily because they don&#x27;t think OpenSSL is the right software to include in their OS. That&#x27;s their decision, if you don&#x27;t use OpenBSD, you don&#x27;t have to care. They have done an insane amout of work in pretty short time, and since that work might benefit the larger OS community, they kindly decided to start work on a portable version, which you don&#x27;t have to use.<p>Even if you don&#x27;t use LibreSSL, you might still benefit from their work as there is a healthy collaboration between OpenBSD&#x2F;LibreSSL and Google&#x2F;Adam Langley&#x2F;BoringSSL.<p>Now, there&#x27;s a first preview release of portable LibreSSL, and nitpicks are used to demonstrate how supposedly incapable the OpenBSD team must be. They hardcode -Werror, they obviously don&#x27;t know how to write a configure script. They don&#x27;t provide a PGP signature for the preview release, they obviously don&#x27;t know how to distribute software securely. They use Comic Sans, they can&#x27;t be taken seriously at all.<p>If you think LibreSSL will benefit you personally, you might consider showing a little gratitude. If you don&#x27;t think LibreSSL is of any use to you, why do you even bother to write about it?
评论 #8025252 未加载
评论 #8025347 未加载
评论 #8025151 未加载
评论 #8025113 未加载
gnuvincealmost 11 years ago
&gt; -Werror is hardcoded in the configure script, which is a very bad idea, and the opposite of portable. using -Werror is a guarantueed build break whenever the build is tried on a system the original developer had no access to.<p>I think that is <i>exactly</i> the point; if the thing does not build, people are going to complain loudly and things are going to get fixed. Warnings are usually just run-time problems waiting to happen, so they may as well be considered bugs.
评论 #8025130 未加载
评论 #8024878 未加载
评论 #8024920 未加载
tedunangstalmost 11 years ago
<i>so if the libressl developers rip out all their dubious entropy generation methods in favor of &#x2F;dev&#x2F;urandom on linux it might be well worth switching to it.</i><p>&#x2F;dev&#x2F;urandom <i>is</i> the favored entropy gathering method. But if you can&#x27;t open it (not there, rlimit restriction, etc.) it falls back to the bobo code. If the linux kernel provided a random number source that was reliable and could not fail, this wouldn&#x27;t be an issue.
评论 #8024852 未加载
评论 #8024900 未加载
__alexsalmost 11 years ago
LibreSSL is lacking features such as ALPN and they&#x27;ve removed many constants, changed function definitions in subtle ways and modified header include dependencies. The result of this is that it definitely isn&#x27;t a drop in replacement for OpenSSL. Then again OpenSSL usually isn&#x27;t a drop in replacement for OpenSSL between versions either so they aren&#x27;t doing a terrible job.<p>Most of these could be easily worked around with a few #ifdefs but they&#x27;ve also managed to make that a bit problematic by reusing the OPENSSL_VERSION_NUMBER macro without providing some sort of complementary IS_LIBRESSL flag. Fortunately OpenSSL hasn&#x27;t hit version 2 yet so the version numbers don&#x27;t overlap at all.
评论 #8025329 未加载
评论 #8025299 未加载
pronoiacalmost 11 years ago
The author tried building the first release on Sabotage Linux, an experimental distro, and reported on what broke. That may be valid; I hadn&#x27;t heard of the distro before. They also talked about how entropy was being gathered incorrectly; this is <i>possible,</i> as I thought it&#x27;s kind of a preview release, but I&#x27;m inclined to listen to the OpenBSD guys first.
pdkl95almost 11 years ago
re: hard-coding -Werror into the build process<p>Yes, -Werror is normally going to break things badly and cause far too much unnecessary work... <i>for most projects</i>. There are a handful of projects, on the other hand, that I would argue -Werror is absolutely necessary. Crypto libraries such as openssl&#x2F;libressl&#x2F;gnutls and tools like gnupg are at the top of that list. This list <i>might</i> also include key-handling utils such as {gpg,ssh}-agent and maybe pinentry.<p>Breaking on new GCC features is a good thing, because for these important packages you <i>shouldn&#x27;t ever</i> be guessing about the programmer intention or <i>assuming</i> that some new warning is safe.<p>Several people brought up -Wunused. We already know about that warning, and so libressl should expect it and compile cleanly. Yes, this might be annoying at times, but cleaning up the code was the goal anyway. What about future versions of GCC? There are only a few possibilities:<p><pre><code> 0) The warning actually is about an important bug. </code></pre> Obviously you don&#x27;t want the build in this case.<p><pre><code> 1) Some new -W flag was added. </code></pre> Broken build are important here. The GCC authors probably added that flag for a reason, and you can&#x27;t <i>guarantee</i>[1] the warning is a false-positive.<p><pre><code> 2) No flags have changed, but some other component has caused a warning where there wasn&#x27;t one previously. </code></pre> This means something else changed:<p><pre><code> 2a) A function prototype changed. (does it even compile properly?) 2b) Some defined type or macro changed. (could easily be a new bug) </code></pre> Yes, in many cases, these are probably trivial. The point is that for some software, forcing someone to actually check is <i>the goal</i>. The problems with openssl that were recently exposed by heartbleed was that <i>nobody was actually checking</i> security-critical components, and simply assuming those checks were being done by somebody else.<p>With -Werror, the fact that it doesn&#x27;t compile will force someone to either fix some bug or silence the warning by adding the necessary cast or #ifdef or whatever. Really, I have to wonder about anybody who advocates for allowing unchecked builds: why are you ok with the kind of unchecked code that lead to heartbleed and many other security problems? As DJB[2] and PHK[3] both warned: are you <i>trying</i> to prevent a high-security environment?<p>[1] Why can&#x27;t we guarantee such things? Because answering that would req1uire solving the Halting Problem.<p>[2] <a href="https://news.ycombinator.com/item?id=8023812" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8023812</a><p>[3] <a href="http://ftp.belnet.be/FOSDEM/2014/Janson/Sunday/NSA_operation_ORCHESTRA_Annual_Status_Report.webm" rel="nofollow">http:&#x2F;&#x2F;ftp.belnet.be&#x2F;FOSDEM&#x2F;2014&#x2F;Janson&#x2F;Sunday&#x2F;NSA_operation...</a>
stefantalpalarualmost 11 years ago
Here&#x27;s the experience of a Gentoo developer: <a href="https://blog.hboeck.de/archives/851-LibreSSL-on-Gentoo.html" rel="nofollow">https:&#x2F;&#x2F;blog.hboeck.de&#x2F;archives&#x2F;851-LibreSSL-on-Gentoo.html</a>
anaphoralmost 11 years ago
&quot;Werror is a guarantueed build break whenever the build is tried on a system the original developer had no access to.&quot;<p>Yeah, if your program uses undefined behaviour or your cc is crazy. I think the point is to catch undefined behaviour and make sure it isn&#x27;t ignored.
评论 #8024946 未加载