First Release of LibreSSL Portable Is Available
ConstantineM writes: It has finally happened. Bob Beck of The OpenBSD Foundation has just announced that the first release of LibreSSL portable is now available, and can be found in the LibreSSL directory of your favourite OpenBSD mirror. libressl-2.0.0.tar.gz has been tested to build on various versions of Linux, Solaris, Mac OS X and FreeBSD. This is intended to be an initial portable release of OpenBSD's libressl to allow the community to start using it and providing feedback, and has been done to address the issue of incorrect portable versions being attempted by third-parties. Support for additional platforms will be added as time and resources permit.
in 3....2.......1............
Through my student years I was very much supported by donations.
The LibReSSL effort was the first time I donated ever. So FFS donate, it is that kind of asshole attitude that produces good code, so support it.
Guess I'll have to see if this builds on IRIX when I get home...just to see.
I'm starting to think GNU is the problem with "GNU/Linux" these days.
It will be interesting to see how many things break as a result of the house cleaning and discarding of "obsolete" porting support...
I'm sure there is cruft in the code base - I'm also sure that there are features/work-arounds in the code that will look like pointless cruft until someone re-encounters the original field issue that required the work-around.
Still, a good thing that the effort has started as OpenSSL seems to have stagnated - but I expect it will be a bumpy road for a while.
Also not clear what this implies of terms of people who need FIPS certified crypto modules since OpenSSL was the incumbent in that arena.
Oh good, now we can get that vital VMS, DOS, and MacOS 7 support so they're not stuck on OpenSSL.
I read the internet for the articles.
Now we have two libs with bugs to worry about.....
Can anyone for once just talk each other and try to solve problems instead of the "I'm RIGHT! and you are stupid!!" attitude?
It has been, what, three months?
Test suite summary for libressl 2.0.0
'make check' under -current amd64:
TOTAL: 41
PASS: 41
SKIP: 0
XFAIL: 0
FAIL: 0
XPASS: 0
ERROR: 0
Their answer to an OS not properly doing something is "fix the OS".
How would someone go about fixing an operating system whose biggest problem is that it can't run many of the proprietary applications on which he relies? There are plenty of applications for Windows that aren't ported to any *BSD.
Well, FIPS is mandated by the same group of people who want to subvert any strong crypto. So why worry ?
You mean your friends at NETWARCOM are upset about those damned Canadians spitting into their nice Insecurity Soup ? Or is it AFISR ?
And the tarball is unsigned.... why?
Regarding this point, Stallman certainly does endorse Free Software. And so much of what is in OpenBSD is Free Software—software that respects a user's software freedom—and the same goes for OpenSSL. Stallman (and his organization, the Free Software Foundation(FSF)) are known for standing up for a user's software freedom. Non-copylefted Free Software is Free Software. Furthermore, in 2004 the FSF gave Theo de Raadt an award for the Advancement of Free Software, "[f]or recognition as founder and project leader of the OpenBSD and OpenSSH projects, Theo de Raadt's work has also led to significant contributions to other BSD distributions and GNU/Linux. Of particular note is Theo's work on OpenSSH". A free system need not include GNU software or be licensed under a GNU license (such as the GPL) to respect a user's software freedom.
The FSF is quite clear why it doesn't list OpenBSD (or the other BSD distributions) in their list of Free system distributions:
Including nonfree software and pointing users to nonfree software is quite common among those who endorse the open source philosophy, as the FSF has long pointed out (older essay, newer essay). The open source movement's philosophy is a development methodology built to toss aside software freedom for practical convenience in an attempt to be "more acceptable to business". So this philosophical difference sets up a radically different reaction in the face of reliable, powerful proprietary software. Quoting the newer essay:
Digital Citizen
I saw the updated http://www.libressl.org/ page with details for the portable version.
Saw someone else did a speed test https://gist.github.com/bertjw...
and thought I would do the same
http://pastebin.com/SBVWPQmB
I'm not an expert but at this stage it appears
LibreSSL Speed as % of OpenSSL
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
Aes-128 cbc 152.40 152.34 152.66 59.87 59.49
Aes-192 cbc 159.14 158.30 158.25 60.78 60.49
Aes-256 cbc 166.15 166.91 167.14 64.48 64.51
Results -
LibreSSL about 50~60% faster for 256 size blocks or smaller
OpenSSL about 50~60% faster for 1024 size blocks or larger
Notes: To compile on Ubuntu need to use ./configure LDFLAGS=-lrt
There are posts about the same requirement on RH also.
Considering that FIPS is a USA abortion and OpenBSD is Canadian, eh...
There is a lot of political discussion on this thread. How about a bit of technical discussion?
I spent about 20-30 minutes code reviewing the first few files in ssl/*.c.
The codebase looks better than most C code I look at. The indentation is a pleasure to look at.
I did notice a few issues. Wrappers are apparently still being used around memory allocation functions. I don't know if this is for API compatibility or what. There is more casting than I would like to read. I hope it is all absolutely necessary. If you look at, for example, RSMBLY_BITMASK_MARK, that code is absolutely horrible. Never write code like that. To me that is how not to write C, C++, Perl, Java, or PHP (all would look very similar).
Lots of gotos. Not necessarily considered harmful. May not indicate bad coding practices, but something to think about. gotos inside of a case-switch. Yikes. Hope you really needed to do that.
Functions are very long. Linus Torvalds's rule of thumb for a function is that it should fit nicely on a screen. You should be able to look at it, conclude, that does x, and move on to the next function.
There you have it. I debug other people's code for a living, and sometimes write my own.