Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 23 Sep 2020 12:57:18 -0400
From: Jeffrey Walton <>
Subject: Re: Re: OS detection wrong on Alpine Linux 3.10

On Wed, Sep 23, 2020 at 12:26 PM Ariadne Conill
<> wrote:
> Hello,
> On 2020-09-23 10:16, Jeffrey Walton wrote:
> > On Wed, Sep 23, 2020 at 12:08 PM Rich Felker <> wrote:
> >>
> >> On Wed, Sep 23, 2020 at 09:13:16AM -0400, James Y Knight wrote:
> >>>>
> >>>>> All I need to know is what version of Musl I am dealing with and I can
> >>>>> configure myself.
> >>>>
> >>>>    Are you willing to maintain an #ifdef forest for all the versions of
> >>>> all the libcs and all the kernels your programs may be used with, so
> >>>> you can list exhaustively the available features in every configuration?
> >>>
> >>> At the risk of jumping in on a question asked of someone else: yes,
> >>> absolutely! (Not _all_ available features of course, just the ones
> >>> required.)
> >>>
> >>> There are generally not that many nonstandard features you'd want to use in
> >>> a typical program, and using an ifdef forest to implement an abstraction
> >>> layer around those couple items is just fine.
> >>
> >> I can't know whether you're "willing", but you're definitely not
> >> willing and able. "All the..." includes people's personal projects
> >> (from scratch or patches to existing ones) that you will never see,
> >> future systems that come into existence long past your involvement in
> >> the project or even your lifetime, etc.
> >
> > Unless something has changed recently, Botan, Crypto++ and OpenSSL are
> > still being carried by most Linux distributions. OpenSSL is also
> > regularly distributed as part of other OSes, like AIX, Android, BSDs,
> > iOS, OS X and Solaris.
> You are dead wrong on this topic.  OpenSSL actually goes the other way
> and performs absolutely wacky tests like "are we running on big-endian
> amd64."  Any cryptography library is going to have to perform feature
> tests (either at build time or run time) to determine whether features
> like hardware acceleration are possible.

Sorry, my bad for the confusion.

Botan, Crypto++ and OpenSSL do not perform Autoconf-like compile-time
feature tests.

Botan has a configure-like program, but it is used to select
components. Preprocessor macros are used instead of feature tests.

Crypto++ uses preprocessor macros. Preprocessor macros are used
instead of feature tests. (This is slowly changing in Crypto++).

OpenSSL uses a preconfigured profile. './Configure LIST' will list the
profiles. It uses info from the profile and preprocessor macros are
used instead of feature tests.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.