mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-05-07 17:06:25 +08:00
97 lines
2.0 KiB
C
97 lines
2.0 KiB
C
/*
|
|
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
*
|
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
* in the file LICENSE in the source distribution or at
|
|
* https://www.openssl.org/source/license.html
|
|
*/
|
|
|
|
#include "internal/cryptlib.h"
|
|
|
|
#ifndef NO_WINDOWS_BRAINDEATH
|
|
# include "buildinf.h"
|
|
#endif
|
|
|
|
unsigned long OpenSSL_version_num(void)
|
|
{
|
|
return OPENSSL_VERSION_NUMBER;
|
|
}
|
|
|
|
const char *OpenSSL_version(int t)
|
|
{
|
|
if (t == OPENSSL_VERSION)
|
|
return OPENSSL_VERSION_TEXT;
|
|
if (t == OPENSSL_BUILT_ON) {
|
|
#ifdef DATE
|
|
# ifdef OPENSSL_USE_BUILD_DATE
|
|
return (DATE);
|
|
# else
|
|
return ("built on: reproducible build, date unspecified");
|
|
# endif
|
|
#else
|
|
return ("built on: date not available");
|
|
#endif
|
|
}
|
|
if (t == OPENSSL_CFLAGS) {
|
|
#ifdef CFLAGS
|
|
return (CFLAGS);
|
|
#else
|
|
return ("compiler: information not available");
|
|
#endif
|
|
}
|
|
if (t == OPENSSL_PLATFORM) {
|
|
#ifdef PLATFORM
|
|
return (PLATFORM);
|
|
#else
|
|
return ("platform: information not available");
|
|
#endif
|
|
}
|
|
if (t == OPENSSL_DIR) {
|
|
#ifdef OPENSSLDIR
|
|
return "OPENSSLDIR: \"" OPENSSLDIR "\"";
|
|
#else
|
|
return "OPENSSLDIR: N/A";
|
|
#endif
|
|
}
|
|
if (t == OPENSSL_ENGINES_DIR) {
|
|
#ifdef ENGINESDIR
|
|
return "ENGINESDIR: \"" ENGINESDIR "\"";
|
|
#else
|
|
return "ENGINESDIR: N/A";
|
|
#endif
|
|
}
|
|
return ("not available");
|
|
}
|
|
|
|
char *GmSSL_version(void)
|
|
{
|
|
char *ret = NULL;
|
|
int len = 0;
|
|
|
|
/*
|
|
// use BIO_snprintf, not snprintf, VC does not support this!!
|
|
len = snprintf(NULL, 0, "%s\n%s\n%s\n%s\n%s\n%s\n",
|
|
OpenSSL_version(0),
|
|
OpenSSL_version(1),
|
|
OpenSSL_version(2),
|
|
OpenSSL_version(3),
|
|
OpenSSL_version(4),
|
|
OpenSSL_version(5));
|
|
|
|
if (!(ret = OPENSSL_malloc(len))) {
|
|
return NULL;
|
|
}
|
|
|
|
snprintf(ret, len, "%s\n%s\n%s\n%s\n%s\n%s\n",
|
|
OpenSSL_version(0),
|
|
OpenSSL_version(1),
|
|
OpenSSL_version(2),
|
|
OpenSSL_version(3),
|
|
OpenSSL_version(4),
|
|
OpenSSL_version(5));
|
|
*/
|
|
|
|
return ret;
|
|
}
|