Merge pull request #6616 from lpy4105/6551-tls13-SessionTicket-kex-change-check
This PR needs some change logs but there is a follow-up PR (issue #6935) that would change the change logs we would had here thus we will do them all while working on #6935.
diff --git a/3rdparty/everest/include/everest/vs2010/Hacl_Curve25519.h b/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h
similarity index 100%
rename from 3rdparty/everest/include/everest/vs2010/Hacl_Curve25519.h
rename to 3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h
diff --git a/3rdparty/everest/include/everest/vs2010/inttypes.h b/3rdparty/everest/include/everest/vs2013/inttypes.h
similarity index 100%
rename from 3rdparty/everest/include/everest/vs2010/inttypes.h
rename to 3rdparty/everest/include/everest/vs2013/inttypes.h
diff --git a/3rdparty/everest/include/everest/vs2010/stdbool.h b/3rdparty/everest/include/everest/vs2013/stdbool.h
similarity index 100%
rename from 3rdparty/everest/include/everest/vs2010/stdbool.h
rename to 3rdparty/everest/include/everest/vs2013/stdbool.h
diff --git a/ChangeLog.d/vs2013.txt b/ChangeLog.d/vs2013.txt
new file mode 100644
index 0000000..6fe7a5e
--- /dev/null
+++ b/ChangeLog.d/vs2013.txt
@@ -0,0 +1,4 @@
+Changes
+ * Visual Studio: Rename the directory containing Visual Studio files from
+ visualc/VS2010 to visualc/VS2013 as we do not support building with versions
+ older than 2013. Update the solution file to specify VS2013 as a minimum.
diff --git a/Makefile b/Makefile
index 2f1be65..1f36a06 100644
--- a/Makefile
+++ b/Makefile
@@ -37,7 +37,7 @@
generated_files: visualc_files
.PHONY: visualc_files
-VISUALC_FILES = visualc/VS2010/mbedTLS.sln visualc/VS2010/mbedTLS.vcxproj
+VISUALC_FILES = visualc/VS2013/mbedTLS.sln visualc/VS2013/mbedTLS.vcxproj
# TODO: $(app).vcxproj for each $(app) in programs/
visualc_files: $(VISUALC_FILES)
@@ -46,9 +46,9 @@
# they just need to be present.
$(VISUALC_FILES): | library/generated_files
$(VISUALC_FILES): scripts/generate_visualc_files.pl
-$(VISUALC_FILES): scripts/data_files/vs2010-app-template.vcxproj
-$(VISUALC_FILES): scripts/data_files/vs2010-main-template.vcxproj
-$(VISUALC_FILES): scripts/data_files/vs2010-sln-template.sln
+$(VISUALC_FILES): scripts/data_files/vs2013-app-template.vcxproj
+$(VISUALC_FILES): scripts/data_files/vs2013-main-template.vcxproj
+$(VISUALC_FILES): scripts/data_files/vs2013-sln-template.sln
# TODO: also the list of .c and .h source files, but not their content
$(VISUALC_FILES):
echo " Gen $@ ..."
@@ -124,10 +124,10 @@
$(MAKE) -C programs neat
$(MAKE) -C tests neat
ifndef WINDOWS
- rm -f visualc/VS2010/*.vcxproj visualc/VS2010/mbedTLS.sln
+ rm -f visualc/VS2013/*.vcxproj visualc/VS2013/mbedTLS.sln
else
- if exist visualc\VS2010\*.vcxproj del /Q /F visualc\VS2010\*.vcxproj
- if exist visualc\VS2010\mbedTLS.sln del /Q /F visualc\VS2010\mbedTLS.sln
+ if exist visualc\VS2013\*.vcxproj del /Q /F visualc\VS2013\*.vcxproj
+ if exist visualc\VS2013\mbedTLS.sln del /Q /F visualc\VS2013\mbedTLS.sln
endif
check: lib tests
diff --git a/README.md b/README.md
index cc70f56..7b45a1f 100644
--- a/README.md
+++ b/README.md
@@ -220,7 +220,7 @@
### Microsoft Visual Studio
-The build files for Microsoft Visual Studio are generated for Visual Studio 2010.
+The build files for Microsoft Visual Studio are generated for Visual Studio 2013.
The solution file `mbedTLS.sln` contains all the basic projects needed to build the library and all the programs. The files in tests are not generated and compiled, as these need Python and perl environments as well. However, the selftest program in `programs/test/` is still available.
diff --git a/scripts/data_files/vs2010-app-template.vcxproj b/scripts/data_files/vs2013-app-template.vcxproj
similarity index 100%
rename from scripts/data_files/vs2010-app-template.vcxproj
rename to scripts/data_files/vs2013-app-template.vcxproj
diff --git a/scripts/data_files/vs2010-main-template.vcxproj b/scripts/data_files/vs2013-main-template.vcxproj
similarity index 100%
rename from scripts/data_files/vs2010-main-template.vcxproj
rename to scripts/data_files/vs2013-main-template.vcxproj
diff --git a/scripts/data_files/vs2010-sln-template.sln b/scripts/data_files/vs2013-sln-template.sln
similarity index 87%
rename from scripts/data_files/vs2010-sln-template.sln
rename to scripts/data_files/vs2013-sln-template.sln
index fc65a0b..615ce04 100644
--- a/scripts/data_files/vs2010-sln-template.sln
+++ b/scripts/data_files/vs2013-sln-template.sln
@@ -1,6 +1,8 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbedTLS", "mbedTLS.vcxproj", "{46CF2D25-6A36-4189-B59C-E4815388E554}"
EndProject
APP_ENTRIES
diff --git a/scripts/generate_visualc_files.pl b/scripts/generate_visualc_files.pl
index 5500c6f..4fad322 100755
--- a/scripts/generate_visualc_files.pl
+++ b/scripts/generate_visualc_files.pl
@@ -1,9 +1,9 @@
#!/usr/bin/env perl
-# Generate main file, individual apps and solution files for MS Visual Studio
-# 2010
+# Generate main file, individual apps and solution files for
+# MS Visual Studio 2013
#
-# Must be run from mbedTLS root or scripts directory.
+# Must be run from Mbed TLS root or scripts directory.
# Takes no argument.
#
# Copyright The Mbed TLS Contributors
@@ -25,12 +25,12 @@
use strict;
use Digest::MD5 'md5_hex';
-my $vsx_dir = "visualc/VS2010";
+my $vsx_dir = "visualc/VS2013";
my $vsx_ext = "vcxproj";
-my $vsx_app_tpl_file = "scripts/data_files/vs2010-app-template.$vsx_ext";
-my $vsx_main_tpl_file = "scripts/data_files/vs2010-main-template.$vsx_ext";
+my $vsx_app_tpl_file = "scripts/data_files/vs2013-app-template.$vsx_ext";
+my $vsx_main_tpl_file = "scripts/data_files/vs2013-main-template.$vsx_ext";
my $vsx_main_file = "$vsx_dir/mbedTLS.$vsx_ext";
-my $vsx_sln_tpl_file = "scripts/data_files/vs2010-sln-template.sln";
+my $vsx_sln_tpl_file = "scripts/data_files/vs2013-sln-template.sln";
my $vsx_sln_file = "$vsx_dir/mbedTLS.sln";
my $programs_dir = 'programs';
@@ -58,7 +58,7 @@
include
3rdparty/everest/include/
3rdparty/everest/include/everest
- 3rdparty/everest/include/everest/vs2010
+ 3rdparty/everest/include/everest/vs2013
3rdparty/everest/include/everest/kremlib
tests/include
);
@@ -256,7 +256,7 @@
sub main {
if( ! check_dirs() ) {
chdir '..' or die;
- check_dirs or die "Must but run from mbedTLS root or scripts dir\n";
+ check_dirs or die "Must be run from Mbed TLS root or scripts dir\n";
}
# Remove old files to ensure that, for example, project files from deleted
diff --git a/scripts/windows_msbuild.bat b/scripts/windows_msbuild.bat
index e419931..ff2b9f2 100644
--- a/scripts/windows_msbuild.bat
+++ b/scripts/windows_msbuild.bat
@@ -14,7 +14,7 @@
@rem vcvarsall.bat will silently change the directory to that directory.
@rem Setting the VSCMD_START_DIR environment variable causes it to change
@rem to that directory instead.
-set "VSCMD_START_DIR=%~dp0\..\visualc\VS2010"
+set "VSCMD_START_DIR=%~dp0\..\visualc\VS2013"
"%vcvarsall%" x64 && ^
msbuild /t:Rebuild /p:Configuration=%cfg%%retarget% /m mbedTLS.sln
diff --git a/tests/compat.sh b/tests/compat.sh
index fc2bfab..1454fec 100755
--- a/tests/compat.sh
+++ b/tests/compat.sh
@@ -1106,8 +1106,7 @@
echo "------------------------------------------------------------------------"
-if [ $FAILED -ne 0 -o $SRVMEM -ne 0 ];
-then
+if [ $FAILED -ne 0 -o $SRVMEM -ne 0 ]; then
printf "FAILED"
else
printf "PASSED"
@@ -1123,4 +1122,9 @@
echo " ($PASSED / $TESTS tests ($SKIPPED skipped$MEMREPORT))"
FAILED=$(( $FAILED + $SRVMEM ))
+if [ $FAILED -gt 255 ]; then
+ # Clamp at 255 as caller gets exit code & 0xFF
+ # (so 256 would be 0, or success, etc)
+ FAILED=255
+fi
exit $FAILED
diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index 6b11346..1e10da0 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -3741,20 +3741,12 @@
[ "$ver_major" -eq 3 ] && [ "$ver_minor" -ge 10 ]
}
-component_test_corrected_code_style () {
- ./scripts/code_style.py --fix
-
- msg "build: make, default config (out-of-box), corrected code style"
- make
-
- msg "test: main suites make, default config (out-of-box), corrected code style"
- make test
-
- # Clean up code-style corrections
- git checkout -- .
+component_check_code_style () {
+ msg "Check C code style"
+ ./scripts/code_style.py
}
-support_test_corrected_code_style() {
+support_check_code_style() {
case $(uncrustify --version) in
*0.75.1*) true;;
*) false;;
diff --git a/tests/scripts/check-generated-files.sh b/tests/scripts/check-generated-files.sh
index 946794c..2bb9fea 100755
--- a/tests/scripts/check-generated-files.sh
+++ b/tests/scripts/check-generated-files.sh
@@ -134,7 +134,7 @@
# generate_visualc_files enumerates source files (library/*.c). It doesn't
# care about their content, but the files must exist. So it must run after
# the step that creates or updates these files.
-check scripts/generate_visualc_files.pl visualc/VS2010
+check scripts/generate_visualc_files.pl visualc/VS2013
check scripts/generate_psa_constants.py programs/psa/psa_constant_names_generated.c
check tests/scripts/generate_bignum_tests.py $(tests/scripts/generate_bignum_tests.py --list)
check tests/scripts/generate_psa_tests.py $(tests/scripts/generate_psa_tests.py --list)
diff --git a/tests/scripts/doxygen.sh b/tests/scripts/doxygen.sh
index 2c523ba..e355073 100755
--- a/tests/scripts/doxygen.sh
+++ b/tests/scripts/doxygen.sh
@@ -35,7 +35,7 @@
grep -v "warning: ignoring unsupported tag" \
> doc.filtered
-if egrep "(warning|error):" doc.filtered; then
+if grep -E "(warning|error):" doc.filtered; then
echo "FAIL" >&2
exit 1;
fi
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index c206283..37936fc 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -13312,4 +13312,9 @@
PASSES=$(( $TESTS - $FAILS ))
echo " ($PASSES / $TESTS tests ($SKIPS skipped))"
+if [ $FAILS -gt 255 ]; then
+ # Clamp at 255 as caller gets exit code & 0xFF
+ # (so 256 would be 0, or success, etc)
+ FAILS=255
+fi
exit $FAILS
diff --git a/visualc/VS2010/.gitignore b/visualc/VS2013/.gitignore
similarity index 100%
rename from visualc/VS2010/.gitignore
rename to visualc/VS2013/.gitignore