TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

How compatible is LibreSSL?

63 点作者 aksx将近 11 年前

8 条评论

currysausage将近 11 年前
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 未加载
gnuvince将近 11 年前
&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 未加载
tedunangst将近 11 年前
<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 未加载
__alexs将近 11 年前
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 未加载
pronoiac将近 11 年前
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.
pdkl95将近 11 年前
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>
stefantalpalaru将近 11 年前
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>
anaphor将近 11 年前
&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 未加载