> On Nov 28, 2016, at 3:40 PM, Salz, Rich <rs...@akamai.com> wrote:
> 
> Perhaps I didn't understand the original question.  If all you want to do is 
> compare 1.0.2 and 1.1.0, then look at OPENSSL_VERSION_NUMBER; if defined at 
> it's 0x10101000L or greater, then you;'re on the 1.1.x branch, otherwise you 
> are not and therefore on 1.0.2 or earlier.

The OPENSSL_VERSION_NUMBER macro dates back to some of the earliest
OpenSSL releases, and is therefore always defined.  Postfix has the
following comment in src/tls/tls_misc.c which covers the relevant
history:

    /*
     * OPENSSL_VERSION_NUMBER(3):
     *
     * OPENSSL_VERSION_NUMBER is a numeric release version identifier:
     *
     * MMNNFFPPS: major minor fix patch status
     *
     * The status nibble has one of the values 0 for development, 1 to e for
     * betas 1 to 14, and f for release. Parsed OpenSSL version number. for
     * example
     *
     * 0x000906000 == 0.9.6 dev 0x000906023 == 0.9.6b beta 3 0x00090605f ==
     * 0.9.6e release
     *
     * Versions prior to 0.9.3 have identifiers < 0x0930.  Versions between
     * 0.9.3 and 0.9.5 had a version identifier with this interpretation:
     *
     * MMNNFFRBB major minor fix final beta/patch
     *
     * for example
     *
     * 0x000904100 == 0.9.4 release 0x000905000 == 0.9.5 dev
     *
     * Version 0.9.5a had an interim interpretation that is like the current
     * one, except the patch level got the highest bit set, to keep continu-
     * ity.  The number was therefore 0x0090581f.
     */

-- 
        Viktor.

-- 
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

Reply via email to