<div dir="auto"><br><br>On Wed, Jan 10, 2018 at 9:45 PM, Jan Stary <<a href="mailto:hans@stare.cz">hans@stare.cz</a>> wrote:<br>> On Jan 09 12:24:22, <a href="mailto:perry@piermont.com">perry@piermont.com</a> wrote:<br>>> On Mon, 8 Jan 2018 18:47:14 +0100 Jan Stary <<a href="mailto:hans@stare.cz">hans@stare.cz</a>> wrote:<br>>> > Hi Jeremy,<br>>> ><br>>> > > On Sat, Dec 02, 2017 at 06:03:17AM -0800, Jeremy Huddleston<br>>> > > Sequoia wrote:<br>>> > > > There are some things that I want to do to the port (and<br>>> > > > OpenSSL)<br>>> ><br>>> > It would be very nice if all ports currently depending on openssl<br>>> > would build against libressl, and we could get rid of openssl<br>>> > in favor of the way-superior libressl (until Apple replaces<br>>> > it system wide. ha ha ha.)<br>>><br>>> I'm not sure I agree with the claim that libressl is necessarily better.<br>><br>> Please read and see the following to convince yourself that<br>> it is desirable to replace OpenSSL with LibreSSL if at all possible.<br><br>Speaking as a port maintainer (who has to go update his port sometime) upstream should be the ones doing as much as possible, and we should not have to patch that much.<div dir="auto"><br></div><div dir="auto">OpenSSL has dramatically improved their code quality over the past few years.<br><div dir="auto"><br>><br>> <a href="https://www.openbsd.org/papers/bsdcan14-libressl/index.html">https://www.openbsd.org/papers/bsdcan14-libressl/index.html</a><br>> <a href="https://www.openbsd.org/papers/eurobsdcon2014-libressl.html">https://www.openbsd.org/papers/eurobsdcon2014-libressl.html</a><br>> <a href="https://www.youtube.com/watch?v=GnBbhXBDmwU">https://www.youtube.com/watch?v=GnBbhXBDmwU</a><br>> <a href="https://www.youtube.com/watch?v=WFMYeMNCcSY">https://www.youtube.com/watch?v=WFMYeMNCcSY</a><br>> <a href="https://www.tedunangst.com/flak/post/worst-common-denominator-programming">https://www.tedunangst.com/flak/post/worst-common-denominator-programming</a><br>> <a href="https://marc.info/?l=openbsd-misc&m=139698608410938&w=2">https://marc.info/?l=openbsd-misc&m=139698608410938&w=2</a><br>> <a href="https://www.tedunangst.com/flak/post/analysis-of-openssl-freelist-reuse">https://www.tedunangst.com/flak/post/analysis-of-openssl-freelist-reuse</a><br>> <a href="https://www.tedunangst.com/flak/post/heartbleed-vs-mallocconf">https://www.tedunangst.com/flak/post/heartbleed-vs-mallocconf</a><br>><br>> Personally, I like the socklen_t bit the most:<br>><br>>   You want to create a variable the same size as socklen_t. One fairly<br>>   obvious solution would be to declare a variable of type socklen_t.<br>>   That's not how OpenSSL does things, however. Instead, let's create<br>>   a union of a couple different ints, call accept(), then inspect the<br>>   different union members to determine which ones were overwritten by the<br>>   kernel. Oh, and don't forget to check for big endian versus little endian.<br>><br>>         Jan<br>><br>><br><br><br><br>-- <br>"Man is born free, but everywhere he is in chains".<br>--Rousseau</div></div></div>