mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 00:55:39 +01:00
Merge remote-tracking branch 'origin/pr/2389' into mbedtls-2.16
This commit is contained in:
commit
fe50335a1f
@ -31,6 +31,8 @@ Changes
|
|||||||
Inserted as an enhancement for #1371
|
Inserted as an enhancement for #1371
|
||||||
* Add support for alternative CSR headers, as used by Microsoft and defined
|
* Add support for alternative CSR headers, as used by Microsoft and defined
|
||||||
in RFC 7468. Found by Michael Ernst. Fixes #767.
|
in RFC 7468. Found by Michael Ernst. Fixes #767.
|
||||||
|
* Fix configuration queries in ssl-opt.h. #2030
|
||||||
|
* Ensure that ssl-opt.h can be run in OS X. #2029
|
||||||
|
|
||||||
= mbed TLS 2.16.0 branch released 2018-12-21
|
= mbed TLS 2.16.0 branch released 2018-12-21
|
||||||
|
|
||||||
|
1
programs/.gitignore
vendored
1
programs/.gitignore
vendored
@ -49,6 +49,7 @@ test/cpp_dummy_build
|
|||||||
test/ssl_cert_test
|
test/ssl_cert_test
|
||||||
test/udp_proxy
|
test/udp_proxy
|
||||||
test/zeroize
|
test/zeroize
|
||||||
|
test/query_compile_time_config
|
||||||
util/pem2der
|
util/pem2der
|
||||||
util/strerror
|
util/strerror
|
||||||
x509/cert_app
|
x509/cert_app
|
||||||
|
@ -70,6 +70,7 @@ APPS = aes/aescrypt2$(EXEXT) aes/crypt_and_hash$(EXEXT) \
|
|||||||
test/ssl_cert_test$(EXEXT) test/benchmark$(EXEXT) \
|
test/ssl_cert_test$(EXEXT) test/benchmark$(EXEXT) \
|
||||||
test/selftest$(EXEXT) test/udp_proxy$(EXEXT) \
|
test/selftest$(EXEXT) test/udp_proxy$(EXEXT) \
|
||||||
test/zeroize$(EXEXT) \
|
test/zeroize$(EXEXT) \
|
||||||
|
test/query_compile_time_config$(EXEXT) \
|
||||||
util/pem2der$(EXEXT) util/strerror$(EXEXT) \
|
util/pem2der$(EXEXT) util/strerror$(EXEXT) \
|
||||||
x509/cert_app$(EXEXT) x509/crl_app$(EXEXT) \
|
x509/cert_app$(EXEXT) x509/crl_app$(EXEXT) \
|
||||||
x509/cert_req$(EXEXT) x509/cert_write$(EXEXT) \
|
x509/cert_req$(EXEXT) x509/cert_write$(EXEXT) \
|
||||||
@ -212,17 +213,17 @@ ssl/ssl_client1$(EXEXT): ssl/ssl_client1.c $(DEP)
|
|||||||
echo " CC ssl/ssl_client1.c"
|
echo " CC ssl/ssl_client1.c"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
ssl/ssl_client2$(EXEXT): ssl/ssl_client2.c $(DEP)
|
ssl/ssl_client2$(EXEXT): ssl/ssl_client2.c ssl/query_config.c $(DEP)
|
||||||
echo " CC ssl/ssl_client2.c"
|
echo " CC ssl/ssl_client2.c"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
ssl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
|
ssl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
|
||||||
echo " CC ssl/ssl_server.c"
|
echo " CC ssl/ssl_server.c"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
ssl/ssl_server2$(EXEXT): ssl/ssl_server2.c $(DEP)
|
ssl/ssl_server2$(EXEXT): ssl/ssl_server2.c ssl/query_config.c $(DEP)
|
||||||
echo " CC ssl/ssl_server2.c"
|
echo " CC ssl/ssl_server2.c"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
ssl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
|
ssl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
|
||||||
echo " CC ssl/ssl_fork_server.c"
|
echo " CC ssl/ssl_fork_server.c"
|
||||||
@ -264,6 +265,10 @@ test/zeroize$(EXEXT): test/zeroize.c $(DEP)
|
|||||||
echo " CC test/zeroize.c"
|
echo " CC test/zeroize.c"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c ssl/query_config.c $(DEP)
|
||||||
|
echo " CC test/query_compile_time_config.c"
|
||||||
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
util/pem2der$(EXEXT): util/pem2der.c $(DEP)
|
util/pem2der$(EXEXT): util/pem2der.c $(DEP)
|
||||||
echo " CC util/pem2der.c"
|
echo " CC util/pem2der.c"
|
||||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
@ -34,12 +34,14 @@ add_executable(ssl_client1 ssl_client1.c)
|
|||||||
target_link_libraries(ssl_client1 ${libs})
|
target_link_libraries(ssl_client1 ${libs})
|
||||||
|
|
||||||
add_executable(ssl_client2 ssl_client2.c)
|
add_executable(ssl_client2 ssl_client2.c)
|
||||||
|
target_sources(ssl_client2 PUBLIC query_config.c)
|
||||||
target_link_libraries(ssl_client2 ${libs})
|
target_link_libraries(ssl_client2 ${libs})
|
||||||
|
|
||||||
add_executable(ssl_server ssl_server.c)
|
add_executable(ssl_server ssl_server.c)
|
||||||
target_link_libraries(ssl_server ${libs})
|
target_link_libraries(ssl_server ${libs})
|
||||||
|
|
||||||
add_executable(ssl_server2 ssl_server2.c)
|
add_executable(ssl_server2 ssl_server2.c)
|
||||||
|
target_sources(ssl_server2 PUBLIC query_config.c)
|
||||||
target_link_libraries(ssl_server2 ${libs})
|
target_link_libraries(ssl_server2 ${libs})
|
||||||
|
|
||||||
add_executable(ssl_fork_server ssl_fork_server.c)
|
add_executable(ssl_fork_server ssl_fork_server.c)
|
||||||
|
2507
programs/ssl/query_config.c
Normal file
2507
programs/ssl/query_config.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -312,6 +312,10 @@ int main( void )
|
|||||||
" options: ssl3, tls1, tls1_1, tls1_2, dtls1, dtls1_2\n" \
|
" options: ssl3, tls1, tls1_1, tls1_2, dtls1, dtls1_2\n" \
|
||||||
"\n" \
|
"\n" \
|
||||||
" force_ciphersuite=<name> default: all enabled\n"\
|
" force_ciphersuite=<name> default: all enabled\n"\
|
||||||
|
" query_config=<name> return 0 if the specified\n" \
|
||||||
|
" configuration macro is defined and 1\n" \
|
||||||
|
" otherwise. The expansion of the macro\n" \
|
||||||
|
" is printed if it is defined\n" \
|
||||||
" acceptable ciphersuite names:\n"
|
" acceptable ciphersuite names:\n"
|
||||||
|
|
||||||
#define ALPN_LIST_SIZE 10
|
#define ALPN_LIST_SIZE 10
|
||||||
@ -383,6 +387,8 @@ struct options
|
|||||||
int etm; /* negotiate encrypt then mac? */
|
int etm; /* negotiate encrypt then mac? */
|
||||||
} opt;
|
} opt;
|
||||||
|
|
||||||
|
int query_config( const char *config );
|
||||||
|
|
||||||
static void my_debug( void *ctx, int level,
|
static void my_debug( void *ctx, int level,
|
||||||
const char *file, int line,
|
const char *file, int line,
|
||||||
const char *str )
|
const char *str )
|
||||||
@ -992,6 +998,10 @@ int main( int argc, char *argv[] )
|
|||||||
if( opt.dhmlen < 0 )
|
if( opt.dhmlen < 0 )
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
|
else if( strcmp( p, "query_config" ) == 0 )
|
||||||
|
{
|
||||||
|
return query_config( q );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
|
@ -415,6 +415,10 @@ int main( void )
|
|||||||
" in order from ssl3 to tls1_2\n" \
|
" in order from ssl3 to tls1_2\n" \
|
||||||
" default: all enabled\n" \
|
" default: all enabled\n" \
|
||||||
" force_ciphersuite=<name> default: all enabled\n" \
|
" force_ciphersuite=<name> default: all enabled\n" \
|
||||||
|
" query_config=<name> return 0 if the specified\n" \
|
||||||
|
" configuration macro is defined and 1\n" \
|
||||||
|
" otherwise. The expansion of the macro\n" \
|
||||||
|
" is printed if it is defined\n" \
|
||||||
" acceptable ciphersuite names:\n"
|
" acceptable ciphersuite names:\n"
|
||||||
|
|
||||||
|
|
||||||
@ -508,6 +512,8 @@ struct options
|
|||||||
int badmac_limit; /* Limit of records with bad MAC */
|
int badmac_limit; /* Limit of records with bad MAC */
|
||||||
} opt;
|
} opt;
|
||||||
|
|
||||||
|
int query_config( const char *config );
|
||||||
|
|
||||||
static void my_debug( void *ctx, int level,
|
static void my_debug( void *ctx, int level,
|
||||||
const char *file, int line,
|
const char *file, int line,
|
||||||
const char *str )
|
const char *str )
|
||||||
@ -1756,6 +1762,10 @@ int main( int argc, char *argv[] )
|
|||||||
{
|
{
|
||||||
opt.sni = q;
|
opt.sni = q;
|
||||||
}
|
}
|
||||||
|
else if( strcmp( p, "query_config" ) == 0 )
|
||||||
|
{
|
||||||
|
return query_config( q );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,10 @@ target_link_libraries(udp_proxy ${libs})
|
|||||||
add_executable(zeroize zeroize.c)
|
add_executable(zeroize zeroize.c)
|
||||||
target_link_libraries(zeroize ${libs})
|
target_link_libraries(zeroize ${libs})
|
||||||
|
|
||||||
install(TARGETS selftest benchmark ssl_cert_test udp_proxy
|
add_executable(query_compile_time_config query_compile_time_config.c)
|
||||||
|
target_sources(query_compile_time_config PUBLIC ../ssl/query_config.c)
|
||||||
|
target_link_libraries(query_compile_time_config ${libs})
|
||||||
|
|
||||||
|
install(TARGETS selftest benchmark ssl_cert_test udp_proxy query_compile_time_config
|
||||||
DESTINATION "bin"
|
DESTINATION "bin"
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||||
|
56
programs/test/query_compile_time_config.c
Normal file
56
programs/test/query_compile_time_config.c
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* Query the Mbed TLS compile time configuration
|
||||||
|
*
|
||||||
|
* Copyright (C) 2018, Arm Limited, All Rights Reserved
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* This file is part of Mbed TLS (https://tls.mbed.org)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_CONFIG_FILE)
|
||||||
|
#include "mbedtls/config.h"
|
||||||
|
#else
|
||||||
|
#include MBEDTLS_CONFIG_FILE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PLATFORM_C)
|
||||||
|
#include "mbedtls/platform.h"
|
||||||
|
#else
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#define mbedtls_printf printf
|
||||||
|
#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define USAGE \
|
||||||
|
"usage: %s <MBEDTLS_CONFIG>\n\n" \
|
||||||
|
"This program takes one command line argument which corresponds to\n" \
|
||||||
|
"the string representation of a Mbed TLS compile time configuration.\n" \
|
||||||
|
"The value 0 will be returned if this configuration is defined in the\n" \
|
||||||
|
"Mbed TLS build and the macro expansion of that configuration will be\n" \
|
||||||
|
"printed (if any). Otherwise, 1 will be returned.\n"
|
||||||
|
|
||||||
|
int query_config( const char *config );
|
||||||
|
|
||||||
|
int main( int argc, char *argv[] )
|
||||||
|
{
|
||||||
|
if ( argc != 2 )
|
||||||
|
{
|
||||||
|
mbedtls_printf( USAGE, argv[0] );
|
||||||
|
return( MBEDTLS_EXIT_FAILURE );
|
||||||
|
}
|
||||||
|
|
||||||
|
return( query_config( argv[1] ) );
|
||||||
|
}
|
@ -132,6 +132,9 @@ done
|
|||||||
[ $VERBOSE ] && echo "Re-generating library/error.c"
|
[ $VERBOSE ] && echo "Re-generating library/error.c"
|
||||||
scripts/generate_errors.pl
|
scripts/generate_errors.pl
|
||||||
|
|
||||||
|
[ $VERBOSE ] && echo "Re-generating programs/ssl/query_config.c"
|
||||||
|
scripts/generate_query_config.pl
|
||||||
|
|
||||||
[ $VERBOSE ] && echo "Re-generating library/version_features.c"
|
[ $VERBOSE ] && echo "Re-generating library/version_features.c"
|
||||||
scripts/generate_features.pl
|
scripts/generate_features.pl
|
||||||
|
|
||||||
|
139
scripts/data_files/query_config.fmt
Normal file
139
scripts/data_files/query_config.fmt
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
/*
|
||||||
|
* Query Mbed TLS compile time configurations from config.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2018, Arm Limited, All Rights Reserved
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* This file is part of Mbed TLS (https://tls.mbed.org)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_CONFIG_FILE)
|
||||||
|
#include "mbedtls/config.h"
|
||||||
|
#else
|
||||||
|
#include MBEDTLS_CONFIG_FILE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PLATFORM_C)
|
||||||
|
#include "mbedtls/platform.h"
|
||||||
|
#else
|
||||||
|
#include <stdio.h>
|
||||||
|
#define mbedtls_printf printf
|
||||||
|
#endif /* MBEDTLS_PLATFORM_C */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Include all the headers with public APIs in case they define a macro to its
|
||||||
|
* default value when that configuration is not set in the config.h.
|
||||||
|
*/
|
||||||
|
#include "mbedtls/aes.h"
|
||||||
|
#include "mbedtls/aesni.h"
|
||||||
|
#include "mbedtls/arc4.h"
|
||||||
|
#include "mbedtls/aria.h"
|
||||||
|
#include "mbedtls/asn1.h"
|
||||||
|
#include "mbedtls/asn1write.h"
|
||||||
|
#include "mbedtls/base64.h"
|
||||||
|
#include "mbedtls/bignum.h"
|
||||||
|
#include "mbedtls/blowfish.h"
|
||||||
|
#include "mbedtls/camellia.h"
|
||||||
|
#include "mbedtls/ccm.h"
|
||||||
|
#include "mbedtls/certs.h"
|
||||||
|
#include "mbedtls/chacha20.h"
|
||||||
|
#include "mbedtls/chachapoly.h"
|
||||||
|
#include "mbedtls/cipher.h"
|
||||||
|
#include "mbedtls/cmac.h"
|
||||||
|
#include "mbedtls/ctr_drbg.h"
|
||||||
|
#include "mbedtls/debug.h"
|
||||||
|
#include "mbedtls/des.h"
|
||||||
|
#include "mbedtls/dhm.h"
|
||||||
|
#include "mbedtls/ecdh.h"
|
||||||
|
#include "mbedtls/ecdsa.h"
|
||||||
|
#include "mbedtls/ecjpake.h"
|
||||||
|
#include "mbedtls/ecp.h"
|
||||||
|
#include "mbedtls/entropy.h"
|
||||||
|
#include "mbedtls/entropy_poll.h"
|
||||||
|
#include "mbedtls/error.h"
|
||||||
|
#include "mbedtls/gcm.h"
|
||||||
|
#include "mbedtls/havege.h"
|
||||||
|
#include "mbedtls/hkdf.h"
|
||||||
|
#include "mbedtls/hmac_drbg.h"
|
||||||
|
#include "mbedtls/md.h"
|
||||||
|
#include "mbedtls/md2.h"
|
||||||
|
#include "mbedtls/md4.h"
|
||||||
|
#include "mbedtls/md5.h"
|
||||||
|
#include "mbedtls/memory_buffer_alloc.h"
|
||||||
|
#include "mbedtls/net_sockets.h"
|
||||||
|
#include "mbedtls/nist_kw.h"
|
||||||
|
#include "mbedtls/oid.h"
|
||||||
|
#include "mbedtls/padlock.h"
|
||||||
|
#include "mbedtls/pem.h"
|
||||||
|
#include "mbedtls/pk.h"
|
||||||
|
#include "mbedtls/pkcs11.h"
|
||||||
|
#include "mbedtls/pkcs12.h"
|
||||||
|
#include "mbedtls/pkcs5.h"
|
||||||
|
#include "mbedtls/platform_time.h"
|
||||||
|
#include "mbedtls/platform_util.h"
|
||||||
|
#include "mbedtls/poly1305.h"
|
||||||
|
#include "mbedtls/ripemd160.h"
|
||||||
|
#include "mbedtls/rsa.h"
|
||||||
|
#include "mbedtls/sha1.h"
|
||||||
|
#include "mbedtls/sha256.h"
|
||||||
|
#include "mbedtls/sha512.h"
|
||||||
|
#include "mbedtls/ssl.h"
|
||||||
|
#include "mbedtls/ssl_cache.h"
|
||||||
|
#include "mbedtls/ssl_ciphersuites.h"
|
||||||
|
#include "mbedtls/ssl_cookie.h"
|
||||||
|
#include "mbedtls/ssl_internal.h"
|
||||||
|
#include "mbedtls/ssl_ticket.h"
|
||||||
|
#include "mbedtls/threading.h"
|
||||||
|
#include "mbedtls/timing.h"
|
||||||
|
#include "mbedtls/version.h"
|
||||||
|
#include "mbedtls/x509.h"
|
||||||
|
#include "mbedtls/x509_crl.h"
|
||||||
|
#include "mbedtls/x509_crt.h"
|
||||||
|
#include "mbedtls/x509_csr.h"
|
||||||
|
#include "mbedtls/xtea.h"
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Helper macros to convert a macro or its expansion into a string
|
||||||
|
* WARNING: This does not work for expanding function-like macros. However,
|
||||||
|
* Mbed TLS does not currently have configuration options used in this fashion.
|
||||||
|
*/
|
||||||
|
#define MACRO_EXPANSION_TO_STR(macro) MACRO_NAME_TO_STR(macro)
|
||||||
|
#define MACRO_NAME_TO_STR(macro) \
|
||||||
|
mbedtls_printf( "%s", strlen( #macro "" ) > 0 ? #macro "\n" : "" )
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
/*
|
||||||
|
* Visual Studio throws the warning 4003 because many Mbed TLS feature macros
|
||||||
|
* are defined empty. This means that from the preprocessor's point of view
|
||||||
|
* the macro MBEDTLS_EXPANSION_TO_STR is being invoked without arguments as
|
||||||
|
* some macros expand to nothing. We suppress that specific warning to get a
|
||||||
|
* clean build and to ensure that tests treating warnings as errors do not
|
||||||
|
* fail.
|
||||||
|
*/
|
||||||
|
#pragma warning(push)
|
||||||
|
#pragma warning(disable:4003)
|
||||||
|
#endif /* _MSC_VER */
|
||||||
|
|
||||||
|
int query_config( const char *config )
|
||||||
|
{
|
||||||
|
CHECK_CONFIG /* If the symbol is not found, return an error */
|
||||||
|
return( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
#pragma warning(pop)
|
||||||
|
#endif /* _MSC_VER */
|
@ -18,8 +18,7 @@
|
|||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
<SOURCES>
|
||||||
<ClCompile Include="..\..\programs\<PATHNAME>.c" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="mbedTLS.vcxproj">
|
<ProjectReference Include="mbedTLS.vcxproj">
|
||||||
|
75
scripts/generate_query_config.pl
Executable file
75
scripts/generate_query_config.pl
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#! /usr/bin/env perl
|
||||||
|
|
||||||
|
# Generate query_config.c
|
||||||
|
#
|
||||||
|
# The file query_config.c contains a C function that can be used to check if
|
||||||
|
# a configuration macro is defined and to retrieve its expansion in string
|
||||||
|
# form (if any). This facilitates querying the compile time configuration of
|
||||||
|
# the library, for example, for testing.
|
||||||
|
#
|
||||||
|
# The query_config.c is generated from the current configuration at
|
||||||
|
# include/mbedtls/config.h. The idea is that the config.h contains ALL the
|
||||||
|
# compile time configurations available in Mbed TLS (commented or uncommented).
|
||||||
|
# This script extracts the configuration macros from the config.h and this
|
||||||
|
# information is used to automatically generate the body of the query_config()
|
||||||
|
# function by using the template in scripts/data_files/query_config.fmt.
|
||||||
|
#
|
||||||
|
# Usage: ./scripts/generate_query_config.pl without arguments
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
my $config_file = "./include/mbedtls/config.h";
|
||||||
|
|
||||||
|
my $query_config_format_file = "./scripts/data_files/query_config.fmt";
|
||||||
|
my $query_config_file = "./programs/ssl/query_config.c";
|
||||||
|
|
||||||
|
# Excluded macros from the generated query_config.c. For example, macros that
|
||||||
|
# have commas or function-like macros cannot be transformed into strings easily
|
||||||
|
# using the preprocessor, so they should be excluded or the preprocessor will
|
||||||
|
# throw errors.
|
||||||
|
my @excluded = qw(
|
||||||
|
MBEDTLS_SSL_CIPHERSUITES
|
||||||
|
MBEDTLS_PARAM_FAILED
|
||||||
|
);
|
||||||
|
my $excluded_re = join '|', @excluded;
|
||||||
|
|
||||||
|
open(CONFIG_FILE, "$config_file") or die "Opening config file '$config_file': $!";
|
||||||
|
|
||||||
|
# This variable will contain the string to replace in the CHECK_CONFIG of the
|
||||||
|
# format file
|
||||||
|
my $config_check = "";
|
||||||
|
|
||||||
|
while (my $line = <CONFIG_FILE>) {
|
||||||
|
if ($line =~ /^(\/\/)?\s*#\s*define\s+(MBEDTLS_\w+).*/) {
|
||||||
|
my $name = $2;
|
||||||
|
|
||||||
|
# Skip over the macro that prevents multiple inclusion
|
||||||
|
next if "MBEDTLS_CONFIG_H" eq $name;
|
||||||
|
|
||||||
|
# Skip over the macro if it is in the ecluded list
|
||||||
|
next if $name =~ /$excluded_re/;
|
||||||
|
|
||||||
|
$config_check .= "#if defined($name)\n";
|
||||||
|
$config_check .= " if( strcmp( \"$name\", config ) == 0 )\n";
|
||||||
|
$config_check .= " {\n";
|
||||||
|
$config_check .= " MACRO_EXPANSION_TO_STR( $name );\n";
|
||||||
|
$config_check .= " return( 0 );\n";
|
||||||
|
$config_check .= " }\n";
|
||||||
|
$config_check .= "#endif /* $name */\n";
|
||||||
|
$config_check .= "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Read the full format file into a string
|
||||||
|
local $/;
|
||||||
|
open(FORMAT_FILE, "$query_config_format_file") or die "Opening query config format file '$query_config_format_file': $!";
|
||||||
|
my $query_config_format = <FORMAT_FILE>;
|
||||||
|
close(FORMAT_FILE);
|
||||||
|
|
||||||
|
# Replace the body of the query_config() function with the code we just wrote
|
||||||
|
$query_config_format =~ s/CHECK_CONFIG/$config_check/g;
|
||||||
|
|
||||||
|
# Rewrite the query_config.c file
|
||||||
|
open(QUERY_CONFIG_FILE, ">$query_config_file") or die "Opening destination file '$query_config_file': $!";
|
||||||
|
print QUERY_CONFIG_FILE $query_config_format;
|
||||||
|
close(QUERY_CONFIG_FILE);
|
@ -93,8 +93,14 @@ sub gen_app {
|
|||||||
$path =~ s!/!\\!g;
|
$path =~ s!/!\\!g;
|
||||||
(my $appname = $path) =~ s/.*\\//;
|
(my $appname = $path) =~ s/.*\\//;
|
||||||
|
|
||||||
|
my $srcs = "\n <ClCompile Include=\"..\\..\\programs\\$path.c\" \/>\r";
|
||||||
|
if( $appname eq "ssl_client2" or $appname eq "ssl_server2" or
|
||||||
|
$appname eq "query_compile_time_config" ) {
|
||||||
|
$srcs .= "\n <ClCompile Include=\"..\\..\\programs\\ssl\\query_config.c\" \/>\r";
|
||||||
|
}
|
||||||
|
|
||||||
my $content = $template;
|
my $content = $template;
|
||||||
$content =~ s/<PATHNAME>/$path/g;
|
$content =~ s/<SOURCES>/$srcs/g;
|
||||||
$content =~ s/<APPNAME>/$appname/g;
|
$content =~ s/<APPNAME>/$appname/g;
|
||||||
$content =~ s/<GUID>/$guid/g;
|
$content =~ s/<GUID>/$guid/g;
|
||||||
|
|
||||||
|
@ -65,5 +65,6 @@ check()
|
|||||||
}
|
}
|
||||||
|
|
||||||
check scripts/generate_errors.pl library/error.c
|
check scripts/generate_errors.pl library/error.c
|
||||||
|
check scripts/generate_query_config.pl programs/ssl/query_config.c
|
||||||
check scripts/generate_features.pl library/version_features.c
|
check scripts/generate_features.pl library/version_features.c
|
||||||
check scripts/generate_visualc_files.pl visualc/VS2010
|
check scripts/generate_visualc_files.pl visualc/VS2010
|
||||||
|
@ -165,22 +165,34 @@ requires_config_disabled() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_config_value_or_default() {
|
get_config_value_or_default() {
|
||||||
NAME="$1"
|
# This function uses the query_config command line option to query the
|
||||||
DEF_VAL=$( grep ".*#define.*${NAME}" ../include/mbedtls/config.h |
|
# required Mbed TLS compile time configuration from the ssl_server2
|
||||||
sed 's/^.* \([0-9]*\)$/\1/' )
|
# program. The command will always return a success value if the
|
||||||
../scripts/config.pl get $NAME || echo "$DEF_VAL"
|
# configuration is defined and the value will be printed to stdout.
|
||||||
|
#
|
||||||
|
# Note that if the configuration is not defined or is defined to nothing,
|
||||||
|
# the output of this function will be an empty string.
|
||||||
|
${P_SRV} "query_config=${1}"
|
||||||
}
|
}
|
||||||
|
|
||||||
requires_config_value_at_least() {
|
requires_config_value_at_least() {
|
||||||
VAL=$( get_config_value_or_default "$1" )
|
VAL="$( get_config_value_or_default "$1" )"
|
||||||
if [ "$VAL" -lt "$2" ]; then
|
if [ -z "$VAL" ]; then
|
||||||
|
# Should never happen
|
||||||
|
echo "Mbed TLS configuration $1 is not defined"
|
||||||
|
exit 1
|
||||||
|
elif [ "$VAL" -lt "$2" ]; then
|
||||||
SKIP_NEXT="YES"
|
SKIP_NEXT="YES"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
requires_config_value_at_most() {
|
requires_config_value_at_most() {
|
||||||
VAL=$( get_config_value_or_default "$1" )
|
VAL=$( get_config_value_or_default "$1" )
|
||||||
if [ "$VAL" -gt "$2" ]; then
|
if [ -z "$VAL" ]; then
|
||||||
|
# Should never happen
|
||||||
|
echo "Mbed TLS configuration $1 is not defined"
|
||||||
|
exit 1
|
||||||
|
elif [ "$VAL" -gt "$2" ]; then
|
||||||
SKIP_NEXT="YES"
|
SKIP_NEXT="YES"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -208,6 +208,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zeroize", "zeroize.vcxproj"
|
|||||||
{46CF2D25-6A36-4189-B59C-E4815388E554} = {46CF2D25-6A36-4189-B59C-E4815388E554}
|
{46CF2D25-6A36-4189-B59C-E4815388E554} = {46CF2D25-6A36-4189-B59C-E4815388E554}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "query_compile_time_config", "query_compile_time_config.vcxproj", "{D6F58AF2-9D80-562A-E2B0-F743281522B9}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{46CF2D25-6A36-4189-B59C-E4815388E554} = {46CF2D25-6A36-4189-B59C-E4815388E554}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pem2der", "pem2der.vcxproj", "{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pem2der", "pem2der.vcxproj", "{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{46CF2D25-6A36-4189-B59C-E4815388E554} = {46CF2D25-6A36-4189-B59C-E4815388E554}
|
{46CF2D25-6A36-4189-B59C-E4815388E554} = {46CF2D25-6A36-4189-B59C-E4815388E554}
|
||||||
@ -587,6 +592,14 @@ Global
|
|||||||
{10C01E94-4926-063E-9F56-C84ED190D349}.Release|Win32.Build.0 = Release|Win32
|
{10C01E94-4926-063E-9F56-C84ED190D349}.Release|Win32.Build.0 = Release|Win32
|
||||||
{10C01E94-4926-063E-9F56-C84ED190D349}.Release|x64.ActiveCfg = Release|x64
|
{10C01E94-4926-063E-9F56-C84ED190D349}.Release|x64.ActiveCfg = Release|x64
|
||||||
{10C01E94-4926-063E-9F56-C84ED190D349}.Release|x64.Build.0 = Release|x64
|
{10C01E94-4926-063E-9F56-C84ED190D349}.Release|x64.Build.0 = Release|x64
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{D6F58AF2-9D80-562A-E2B0-F743281522B9}.Release|x64.Build.0 = Release|x64
|
||||||
{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}.Debug|Win32.ActiveCfg = Debug|Win32
|
{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}.Debug|Win32.Build.0 = Debug|Win32
|
{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}.Debug|x64.ActiveCfg = Debug|x64
|
{D3C6FBD6-D78E-7180-8345-5E09B492DBEC}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
175
visualc/VS2010/query_compile_time_config.vcxproj
Normal file
175
visualc/VS2010/query_compile_time_config.vcxproj
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\programs\test\query_compile_time_config.c" />
|
||||||
|
<ClCompile Include="..\..\programs\ssl\query_config.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="mbedTLS.vcxproj">
|
||||||
|
<Project>{46cf2d25-6a36-4189-b59c-e4815388e554}</Project>
|
||||||
|
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{D6F58AF2-9D80-562A-E2B0-F743281522B9}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>query_compile_time_config</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<IntDir>$(Configuration)\$(TargetName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<IntDir>$(Configuration)\$(TargetName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<IntDir>$(Configuration)\$(TargetName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<IntDir>$(Configuration)\$(TargetName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ShowProgress>NotSet</ShowProgress>
|
||||||
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>Debug</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<ProjectReference>
|
||||||
|
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ShowProgress>NotSet</ShowProgress>
|
||||||
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>Debug</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<ProjectReference>
|
||||||
|
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalLibraryDirectories>Release</AdditionalLibraryDirectories>
|
||||||
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalLibraryDirectories>Release</AdditionalLibraryDirectories>
|
||||||
|
<AdditionalDependencies>%(AdditionalDependencies);</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
@ -20,6 +20,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\programs\ssl\ssl_client2.c" />
|
<ClCompile Include="..\..\programs\ssl\ssl_client2.c" />
|
||||||
|
<ClCompile Include="..\..\programs\ssl\query_config.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="mbedTLS.vcxproj">
|
<ProjectReference Include="mbedTLS.vcxproj">
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\programs\ssl\ssl_server2.c" />
|
<ClCompile Include="..\..\programs\ssl\ssl_server2.c" />
|
||||||
|
<ClCompile Include="..\..\programs\ssl\query_config.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="mbedTLS.vcxproj">
|
<ProjectReference Include="mbedTLS.vcxproj">
|
||||||
|
Loading…
Reference in New Issue
Block a user