Look at the sources.

The build related mess is mainly Windows support.

#ifdef hell is mainly around external engine support, asm to get
performance, or object sizes/endianess which intrinsically varies platform
to platform. The code was written over a lot of years with a lot of
different styles and that shows, but again, it really hasn't had a single
full time person coordinating comits and enforcing style.

Some of the mess is going to be hard to fix. OpenSSL isn't "one size fits
all", some end users need small footprint, some need the backend engines,
some don't need the backend engines because they play merry hell with
exportability, some algorithms had to be disabled for some users for patent
reasons - it all adds up.

I'm not saying that it wouldn't be nice to have a lot of this cleaned up,
but 'dead platforms' isn't the biggest problem in the source tree. I'm also
sure some of the clutter could be cleaned up, but equally really glad that
it isn't yet me having to do it.

It's a serious comitted effort that's required to fix the real issues not
something easy like dropping a few platforms.

One of the uglier problems is that unless you can build/test on all the
platforms on each change you'll almost certainly break platforms
unexpectedly - that lack of hardware has been one of the long term problems
and it's likely one of the inhibtors to cleanup as well.

Peter



From:   "Theodore Ts'o" <ty...@mit.edu>
To:     openssl-dev@openssl.org
Date:   03/06/2014 12:55 PM
Subject:        Re: AW: Which platforms will be supported in the future on
            which platforms will be removed?
Sent by:        owner-openssl-...@openssl.org



On Tue, Jun 03, 2014 at 12:20:17PM +1000, Peter Waltenberg wrote:
>  (c) EBCDIC.
>
> z/OS is still alive. I'll concede that one is weird and hard to get hold
> of, but it has a lot of users still.

z/OS supports ASCII, and UTF-8, and has its own conversion routines
built into the system.  So it's not clear OpenSSL needs to have any
EBCDIC built into its core code.  If there are z/OS support functions
that needed to decrypt and encrypt EBCDIC, that's fine, but it
shouldn't be a tax on all the support for all other operating systems
out there.

> This ISN'T the Linux kernel. It's userspace code and longer lived and
wider
> spread than Linux and pretty fundamental to security.
> Even with the 'dead' platforms crossed out, it has far more variants to
> support than Linux, and typically longer support lifetimes.

I've maintained userspace code before, including krb5 and e2fsprogs,
which works on a very large number of platforms.  Yes, I never had to
support VMS, but who cares about VMS?  (Hint: No one, including HP, by
2020...)

> You won't get major cleanups without purging platforms like Windows,
> OS/X, AIX, HP/UX.

OS/X, AIX, and HP/UX are all POSIX platforms, with support for BSD
sockets.  Supporting them with common code and without tons and tons
of in-line #ifdef's isn't hard.  In fact, e2fsprogs does compile on a
wide variety of legacy Unix platforms, without looking nearly as
horrible as OpenSSL's source code....

> Windows, I'd suggest most of the cruft there could be removed by
insisting
> that it builds with gnu make/cygwin installed but using the native MS
> compiler. That's probably the biggest single cleanup possible and it's
very
> much a 'live' platform.

I said Windows 3.1.  Win16 and Win32 are quite different, and I'd
suggest Win16 is pretty dead.  (As is MacOS pre-OSX.  Again, quite
different from OSX, and equally, just as dead.)

Cheers,

                                                                                
                 -
Ted
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to