1
0
mirror of https://github.com/ARMmbed/mbedtls.git synced 2025-05-10 00:49:04 +08:00

Merge branch 'development' into dtls

* development: (46 commits)
  Fix url again
  Fix small bug in base64_encode()
  Fix depend that was checked but not documented
  Fix dependency that was not checked
  Minor gitginore fixes
  Move some ignore patterns to subdirectories
  Ignore CMake/MSVC-related build files.
  Re-categorize changelog entry
  Fix misattribution
  Minor nits with stdout/stderr.
  Add cmake compatibility targets
  Add script for polarssl symlink creation
  Fix more stdio inclusion issues
  Add debug info for cert/suite selection
  Fix possible portability issue
  Fix bug in ssl_get_verify_result()
  aescrypt2.c local char array not initial
  Update Changelog
  Fix mips64 bignum implementation
  Fix usage string of ssl_client2
  ...

Conflicts:
	include/polarssl/ssl.h
	library/CMakeLists.txt
	library/Makefile
	programs/Makefile
	programs/ssl/ssl_client2.c
	programs/ssl/ssl_server2.c
	visualc/VS2010/PolarSSL.sln
	visualc/VS2010/mbedTLS.vcxproj
	visualc/VS6/mbedtls.dsp
	visualc/VS6/mbedtls.dsw
This commit is contained in:
Manuel Pégourié-Gonnard 2015-01-29 11:29:12 +00:00
commit 2a0718d947
267 changed files with 5475 additions and 3350 deletions

13
.gitignore vendored
View File

@ -6,4 +6,15 @@ Testing
Coverage Coverage
*.gcno *.gcno
*.gcda *.gcda
library/polarssl.info
# MSVC files generated by CMake:
*.filters
# MSVC build artifacts:
*.exe
*.pdb
*.ilk
*.lib
# CMake generates *.dir/ folders for in-tree builds (used by MSVC projects), ignore all of those:
*.dir/

View File

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 2.6) cmake_minimum_required(VERSION 2.6)
project(POLARSSL C) project(MBEDTLS C)
string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}") string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}")
@ -39,11 +39,11 @@ if(CMAKE_BUILD_TYPE STREQUAL "Coverage")
endif(CMAKE_COMPILER_IS_CLANG) endif(CMAKE_COMPILER_IS_CLANG)
endif(CMAKE_BUILD_TYPE STREQUAL "Coverage") endif(CMAKE_BUILD_TYPE STREQUAL "Coverage")
option(USE_PKCS11_HELPER_LIBRARY "Build PolarSSL with the pkcs11-helper library." OFF) option(USE_PKCS11_HELPER_LIBRARY "Build mbed TLS with the pkcs11-helper library." OFF)
option(ENABLE_ZLIB_SUPPORT "Build PolarSSL with zlib library." OFF) option(ENABLE_ZLIB_SUPPORT "Build mbed TLS with zlib library." OFF)
option(ENABLE_PROGRAMS "Build PolarSSL programs." ON) option(ENABLE_PROGRAMS "Build mbed TLS programs." ON)
option(ENABLE_TESTING "Build PolarSSL tests." ON) option(ENABLE_TESTING "Build mbed TLS tests." ON)
if(ENABLE_TESTING) if(ENABLE_TESTING)
enable_testing() enable_testing()
@ -98,12 +98,12 @@ if(ENABLE_TESTING)
ADD_CUSTOM_TARGET(lcov ADD_CUSTOM_TARGET(lcov
COMMAND rm -rf Coverage COMMAND rm -rf Coverage
COMMAND lcov --capture --initial --directory library/CMakeFiles/polarssl.dir -o files.info COMMAND lcov --capture --initial --directory library/CMakeFiles/mbedtls.dir -o files.info
COMMAND lcov --capture --directory library/CMakeFiles/polarssl.dir -o tests.info COMMAND lcov --capture --directory library/CMakeFiles/mbedtls.dir -o tests.info
COMMAND lcov --add-tracefile files.info --add-tracefile tests.info -o all.info COMMAND lcov --add-tracefile files.info --add-tracefile tests.info -o all.info
COMMAND lcov --remove all.info -o final.info '*.h' COMMAND lcov --remove all.info -o final.info '*.h'
COMMAND gendesc tests/Descriptions.txt -o descriptions COMMAND gendesc tests/Descriptions.txt -o descriptions
COMMAND genhtml --title PolarSSL --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info COMMAND genhtml --title "mbed TLS" --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info
COMMAND rm -f files.info tests.info all.info final.info descriptions COMMAND rm -f files.info tests.info all.info final.info descriptions
) )

View File

@ -16,7 +16,7 @@ Reminder: bump SONAME for ABI change (FALLBACK_SCSV, session-hash, EtM)
Security Security
* NULL pointer dereference in the buffer-based allocator when the buffer is * NULL pointer dereference in the buffer-based allocator when the buffer is
full and polarssl_free() is called (found by Jean-Philippe Aumasson) full and polarssl_free() is called (found by Mark Hasemeyer)
(only possible if POLARSSL_MEMORY_BUFFER_ALLOC_C is enabled, which it is (only possible if POLARSSL_MEMORY_BUFFER_ALLOC_C is enabled, which it is
not by default). not by default).
* Fix remotely-triggerable uninitialised pointer dereference caused by * Fix remotely-triggerable uninitialised pointer dereference caused by
@ -45,6 +45,8 @@ Features
a compatible enough libc (eg uClibc). a compatible enough libc (eg uClibc).
* Add ssl_set_arc4_support() to make it easier to disable RC4 at runtime * Add ssl_set_arc4_support() to make it easier to disable RC4 at runtime
while using the default ciphersuite list. while using the default ciphersuite list.
* Added new error codes and debug messages about selection of
ciphersuite/certificate.
Bugfix Bugfix
* Stack buffer overflow if ctr_drbg_update() is called with too large * Stack buffer overflow if ctr_drbg_update() is called with too large
@ -57,6 +59,16 @@ Bugfix
* Fix potential undefined behaviour in Camellia. * Fix potential undefined behaviour in Camellia.
* Fix potential failure in ECDSA signatures when POLARSSL_ECP_MAX_BITS is a * Fix potential failure in ECDSA signatures when POLARSSL_ECP_MAX_BITS is a
multiple of 8 (found by Gergely Budai). multiple of 8 (found by Gergely Budai).
* Fix unchecked return code in x509_crt_parse_path() on Windows (found by
Peter Vaskovic).
* Fix assembly selection for MIPS64 (thanks to James Cowgill).
* ssl_get_verify_result() now works even if the handshake was aborted due
to a failed verification (found by Fredrik Axelsson).
* Skip writing and parsing signature_algorithm extension if none of the
key exchanges enabled needs certificates. This fixes a possible interop
issue with some servers when a zero-length extension was sent. (Reported
by Peter Dettman.)
* On a 0-length input, base64_encode() did not correctly set output length.
Changes Changes
* Use deterministic nonces for AEAD ciphers in TLS by default (possible to * Use deterministic nonces for AEAD ciphers in TLS by default (possible to
@ -65,8 +77,6 @@ Changes
* ssl_set_own_cert() now returns an error on key-certificate mismatch. * ssl_set_own_cert() now returns an error on key-certificate mismatch.
* Forbid repeated extensions in X.509 certificates. * Forbid repeated extensions in X.509 certificates.
* debug_print_buf() now prints a text view in addition to hexadecimal. * debug_print_buf() now prints a text view in addition to hexadecimal.
* Skip writing and parsing signature_algorithm extension if none of the
key exchanges enabled needs certificates.
* A specific error is now returned when there are ciphersuites in common * A specific error is now returned when there are ciphersuites in common
but none of them is usable due to external factors such as no certificate but none of them is usable due to external factors such as no certificate
with a suitable (extended)KeyUsage or curve or no PSK set. with a suitable (extended)KeyUsage or curve or no PSK set.
@ -74,6 +84,7 @@ Changes
at runtime with ssl_set_truncated_hmac(). at runtime with ssl_set_truncated_hmac().
* Example programs for SSL client and server now disable SSLv3 by default. * Example programs for SSL client and server now disable SSLv3 by default.
* Example programs for SSL client and server now disable RC4 by default. * Example programs for SSL client and server now disable RC4 by default.
* Use platform.h in all test suites and programs.
= PolarSSL 1.3.9 released 2014-10-20 = PolarSSL 1.3.9 released 2014-10-20
Security Security

View File

@ -1,6 +1,7 @@
DESTDIR=/usr/local DESTDIR=/usr/local
PREFIX=polarssl_ PREFIX=mbedtls_
OLDPREFIX=polarssl_
.SILENT: .SILENT:
@ -21,26 +22,31 @@ install:
cp -r include/polarssl $(DESTDIR)/include cp -r include/polarssl $(DESTDIR)/include
mkdir -p $(DESTDIR)/lib mkdir -p $(DESTDIR)/lib
cp library/libpolarssl.* $(DESTDIR)/lib cp library/libpolarssl.* library/libmbedtls.* $(DESTDIR)/lib
mkdir -p $(DESTDIR)/bin mkdir -p $(DESTDIR)/bin
for p in programs/*/* ; do \ for p in programs/*/* ; do \
if [ -x $$p ] && [ ! -d $$p ] ; \ if [ -x $$p ] && [ ! -d $$p ] ; \
then \ then \
f=$(PREFIX)`basename $$p` ; \ f=$(PREFIX)`basename $$p` ; \
o=$(OLDPREFIX)`basename $$p` ; \
cp $$p $(DESTDIR)/bin/$$f ; \ cp $$p $(DESTDIR)/bin/$$f ; \
ln -sf $$f $(DESTDIR)/bin/$$o ; \
fi \ fi \
done done
uninstall: uninstall:
rm -rf $(DESTDIR)/include/polarssl rm -rf $(DESTDIR)/include/polarssl
rm -f $(DESTDIR)/lib/libpolarssl.* rm -f $(DESTDIR)/lib/libpolarssl.*
rm -f $(DESTDIR)/lib/libmbedtls.*
for p in programs/*/* ; do \ for p in programs/*/* ; do \
if [ -x $$p ] && [ ! -d $$p ] ; \ if [ -x $$p ] && [ ! -d $$p ] ; \
then \ then \
f=$(PREFIX)`basename $$p` ; \ f=$(PREFIX)`basename $$p` ; \
o=$(OLDPREFIX)`basename $$p` ; \
rm -f $(DESTDIR)/bin/$$f ; \ rm -f $(DESTDIR)/bin/$$f ; \
rm -f $(DESTDIR)/bin/$$o ; \
fi \ fi \
done done
@ -71,7 +77,7 @@ lcov:
lcov --add-tracefile files.info --add-tracefile tests.info -o all.info lcov --add-tracefile files.info --add-tracefile tests.info -o all.info
lcov --remove all.info -o final.info '*.h' lcov --remove all.info -o final.info '*.h'
gendesc tests/Descriptions.txt -o descriptions gendesc tests/Descriptions.txt -o descriptions
genhtml --title mbed TLS --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info genhtml --title "mbed TLS" --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info
rm -f files.info tests.info all.info final.info descriptions rm -f files.info tests.info all.info final.info descriptions
apidoc: apidoc:

2
include/.gitignore vendored
View File

@ -1 +1,3 @@
Makefile Makefile
*.sln
*.vcxproj

View File

@ -1,6 +1,6 @@
option(INSTALL_POLARSSL_HEADERS "Install PolarSSL headers." ON) option(INSTALL_MBEDTLS_HEADERS "Install mbed TLS headers." ON)
if(INSTALL_POLARSSL_HEADERS) if(INSTALL_MBEDTLS_HEADERS)
file(GLOB headers "polarssl/*.h") file(GLOB headers "polarssl/*.h")
@ -8,4 +8,4 @@ install(FILES ${headers}
DESTINATION include/polarssl DESTINATION include/polarssl
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
endif(INSTALL_POLARSSL_HEADERS) endif(INSTALL_MBEDTLS_HEADERS)

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -129,6 +129,14 @@ int aes_crypt_ecb( aes_context *ctx,
* Length should be a multiple of the block * Length should be a multiple of the block
* size (16 bytes) * size (16 bytes)
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx AES context * \param ctx AES context
* \param mode AES_ENCRYPT or AES_DECRYPT * \param mode AES_ENCRYPT or AES_DECRYPT
* \param length length of the input data * \param length length of the input data
@ -154,6 +162,14 @@ int aes_crypt_cbc( aes_context *ctx,
* both encryption and decryption. So a context initialized with * both encryption and decryption. So a context initialized with
* aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT.
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx AES context * \param ctx AES context
* \param mode AES_ENCRYPT or AES_DECRYPT * \param mode AES_ENCRYPT or AES_DECRYPT
* \param length length of the input data * \param length length of the input data
@ -179,6 +195,14 @@ int aes_crypt_cfb128( aes_context *ctx,
* both encryption and decryption. So a context initialized with * both encryption and decryption. So a context initialized with
* aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT.
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx AES context * \param ctx AES context
* \param mode AES_ENCRYPT or AES_DECRYPT * \param mode AES_ENCRYPT or AES_DECRYPT
* \param length length of the input data * \param length length of the input data

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2013, ARM Limited, All Rights Reserved * Copyright (C) 2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -24,7 +24,6 @@
#ifndef POLARSSL_BIGNUM_H #ifndef POLARSSL_BIGNUM_H
#define POLARSSL_BIGNUM_H #define POLARSSL_BIGNUM_H
#include <stdio.h>
#include <string.h> #include <string.h>
#if !defined(POLARSSL_CONFIG_FILE) #if !defined(POLARSSL_CONFIG_FILE)
@ -33,6 +32,10 @@
#include POLARSSL_CONFIG_FILE #include POLARSSL_CONFIG_FILE
#endif #endif
#if defined(POLARSSL_FS_IO)
#include <stdio.h>
#endif
#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32) #if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
#include <basetsd.h> #include <basetsd.h>
#if (_MSC_VER <= 1200) #if (_MSC_VER <= 1200)
@ -145,7 +148,7 @@ typedef uint32_t t_udbl;
defined(__ppc64__) || defined(__powerpc64__) || \ defined(__ppc64__) || defined(__powerpc64__) || \
defined(__ia64__) || defined(__alpha__) || \ defined(__ia64__) || defined(__alpha__) || \
(defined(__sparc__) && defined(__arch64__)) || \ (defined(__sparc__) && defined(__arch64__)) || \
defined(__s390x__) ) ) defined(__s390x__) || defined(__mips64) ) )
#define POLARSSL_HAVE_INT64 #define POLARSSL_HAVE_INT64
typedef int64_t t_sint; typedef int64_t t_sint;
typedef uint64_t t_uint; typedef uint64_t t_uint;

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2012-2014, ARM Limited, All Rights Reserved * Copyright (C) 2012-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -114,6 +114,14 @@ int blowfish_crypt_ecb( blowfish_context *ctx,
* Length should be a multiple of the block * Length should be a multiple of the block
* size (8 bytes) * size (8 bytes)
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx Blowfish context * \param ctx Blowfish context
* \param mode BLOWFISH_ENCRYPT or BLOWFISH_DECRYPT * \param mode BLOWFISH_ENCRYPT or BLOWFISH_DECRYPT
* \param length length of the input data * \param length length of the input data
@ -136,6 +144,14 @@ int blowfish_crypt_cbc( blowfish_context *ctx,
/** /**
* \brief Blowfish CFB buffer encryption/decryption. * \brief Blowfish CFB buffer encryption/decryption.
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx Blowfish context * \param ctx Blowfish context
* \param mode BLOWFISH_ENCRYPT or BLOWFISH_DECRYPT * \param mode BLOWFISH_ENCRYPT or BLOWFISH_DECRYPT
* \param length length of the input data * \param length length of the input data

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2010, ARM Limited, All Rights Reserved * Copyright (C) 2006-2010, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -680,7 +680,7 @@
); );
#endif /* Alpha */ #endif /* Alpha */
#if defined(__mips__) && !defined(__mips64__) #if defined(__mips__) && !defined(__mips64)
#define MULADDC_INIT \ #define MULADDC_INIT \
asm( \ asm( \

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -122,6 +122,14 @@ int camellia_crypt_ecb( camellia_context *ctx,
* Length should be a multiple of the block * Length should be a multiple of the block
* size (16 bytes) * size (16 bytes)
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx CAMELLIA context * \param ctx CAMELLIA context
* \param mode CAMELLIA_ENCRYPT or CAMELLIA_DECRYPT * \param mode CAMELLIA_ENCRYPT or CAMELLIA_DECRYPT
* \param length length of the input data * \param length length of the input data
@ -148,6 +156,14 @@ int camellia_crypt_cbc( camellia_context *ctx,
* both encryption and decryption. So a context initialized with * both encryption and decryption. So a context initialized with
* camellia_setkey_enc() for both CAMELLIA_ENCRYPT and CAMELLIE_DECRYPT. * camellia_setkey_enc() for both CAMELLIA_ENCRYPT and CAMELLIE_DECRYPT.
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx CAMELLIA context * \param ctx CAMELLIA context
* \param mode CAMELLIA_ENCRYPT or CAMELLIA_DECRYPT * \param mode CAMELLIA_ENCRYPT or CAMELLIA_DECRYPT
* \param length length of the input data * \param length length of the input data

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2014, ARM Limited, All Rights Reserved * Copyright (C) 2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2010, ARM Limited, All Rights Reserved * Copyright (C) 2006-2010, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -156,6 +156,10 @@
#error "POLARSSL_KEY_EXCHANGE_RSA_ENABLED defined, but not all prerequisites" #error "POLARSSL_KEY_EXCHANGE_RSA_ENABLED defined, but not all prerequisites"
#endif #endif
#if defined(POLARSSL_MEMORY_C) && !defined(POLARSSL_PLATFORM_C)
#error "POLARSSL_MEMORY_C defined, but not all prerequisites"
#endif
#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C) && \ #if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C) && \
( !defined(POLARSSL_PLATFORM_C) || !defined(POLARSSL_PLATFORM_MEMORY) ) ( !defined(POLARSSL_PLATFORM_C) || !defined(POLARSSL_PLATFORM_MEMORY) )
#error "POLARSSL_MEMORY_BUFFER_ALLOC_C defined, but not all prerequisites" #error "POLARSSL_MEMORY_BUFFER_ALLOC_C defined, but not all prerequisites"
@ -177,6 +181,11 @@
#error "POLARSSL_PEM_WRITE_C defined, but not all prerequisites" #error "POLARSSL_PEM_WRITE_C defined, but not all prerequisites"
#endif #endif
#if defined(POLARSSL_PK_C) && \
( !defined(POLARSSL_RSA_C) && !defined(POLARSSL_ECP_C) )
#error "POLARSSL_PK_C defined, but not all prerequisites"
#endif
#if defined(POLARSSL_PK_PARSE_C) && !defined(POLARSSL_PK_C) #if defined(POLARSSL_PK_PARSE_C) && !defined(POLARSSL_PK_C)
#error "POLARSSL_PK_PARSE_C defined, but not all prerequisites" #error "POLARSSL_PK_PARSE_C defined, but not all prerequisites"
#endif #endif

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -1082,6 +1082,8 @@
* *
* Enable support for RFC 6066 server name indication (SNI) in SSL. * Enable support for RFC 6066 server name indication (SNI) in SSL.
* *
* Requires: POLARSSL_X509_CRT_PARSE_C
*
* Comment this macro to disable support for server name indication in SSL * Comment this macro to disable support for server name indication in SSL
*/ */
#define POLARSSL_SSL_SERVER_NAME_INDICATION #define POLARSSL_SSL_SERVER_NAME_INDICATION
@ -1746,6 +1748,7 @@
/** /**
* \def POLARSSL_MEMORY_C * \def POLARSSL_MEMORY_C
* Deprecated since 1.3.5. Please use POLARSSL_PLATFORM_MEMORY instead. * Deprecated since 1.3.5. Please use POLARSSL_PLATFORM_MEMORY instead.
* Depends on: POLARSSL_PLATFORM_C
*/ */
//#define POLARSSL_MEMORY_C //#define POLARSSL_MEMORY_C

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2011, ARM Limited, All Rights Reserved * Copyright (C) 2006-2011, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -214,6 +214,14 @@ int des_crypt_ecb( des_context *ctx,
/** /**
* \brief DES-CBC buffer encryption/decryption * \brief DES-CBC buffer encryption/decryption
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx DES context * \param ctx DES context
* \param mode DES_ENCRYPT or DES_DECRYPT * \param mode DES_ENCRYPT or DES_DECRYPT
* \param length length of the input data * \param length length of the input data
@ -246,6 +254,14 @@ int des3_crypt_ecb( des3_context *ctx,
/** /**
* \brief 3DES-CBC buffer encryption/decryption * \brief 3DES-CBC buffer encryption/decryption
* *
* \note Upon exit, the content of the IV is updated so that you can
* call the function same function again on the following
* block(s) of data and get the same result as if it was
* encrypted in one call. This allows a "streaming" usage.
* If on the other hand you need to retain the contents of the
* IV, you should either save it manually or use the cipher
* module instead.
*
* \param ctx 3DES context * \param ctx 3DES context
* \param mode DES_ENCRYPT or DES_DECRYPT * \param mode DES_ENCRYPT or DES_DECRYPT
* \param length length of the input data * \param length length of the input data

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2011, ARM Limited, All Rights Reserved * Copyright (C) 2006-2011, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2014, ARM Limited, All Rights Reserved * Copyright (C) 2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2011, ARM Limited, All Rights Reserved * Copyright (C) 2006-2011, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -32,10 +32,6 @@
#include <stdlib.h> #include <stdlib.h>
#if defined(POLARSSL_MEMORY_C) && !defined(POLARSSL_PLATFORM_MEMORY)
#define POLARSSL_PLATFORM_MEMORY
#endif
#include "platform.h" #include "platform.h"
#include "memory_buffer_alloc.h" #include "memory_buffer_alloc.h"

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2011, ARM Limited, All Rights Reserved * Copyright (C) 2006-2011, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2010, ARM Limited, All Rights Reserved * Copyright (C) 2006-2010, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -6,7 +6,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -8,7 +8,7 @@
* *
* Copyright (C) 2006-2012, ARM Limited, All Rights Reserved * Copyright (C) 2006-2012, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -30,6 +30,11 @@
#include POLARSSL_CONFIG_FILE #include POLARSSL_CONFIG_FILE
#endif #endif
/* Temporary compability hack for to keep the deprecated MEMORY_C working */
#if defined(POLARSSL_MEMORY_C) && !defined(POLARSSL_PLATFORM_MEMORY)
#define POLARSSL_PLATFORM_MEMORY
#endif
#include <stdio.h> #include <stdio.h>
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2014-2014, ARM Limited, All Rights Reserved * Copyright (C) 2014-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -155,7 +155,7 @@
#define POLARSSL_ERR_SSL_WAITING_SERVER_HELLO_RENEGO -0x6B00 /**< Unexpected message at ServerHello in renegotiation. */ #define POLARSSL_ERR_SSL_WAITING_SERVER_HELLO_RENEGO -0x6B00 /**< Unexpected message at ServerHello in renegotiation. */
#define POLARSSL_ERR_SSL_HELLO_VERIFY_REQUIRED -0x6A80 /**< DTLS client must retry for hello verification */ #define POLARSSL_ERR_SSL_HELLO_VERIFY_REQUIRED -0x6A80 /**< DTLS client must retry for hello verification */
#define POLARSSL_ERR_SSL_BUFFER_TOO_SMALL -0x6A00 /**< A buffer is too small to receive or write a message */ #define POLARSSL_ERR_SSL_BUFFER_TOO_SMALL -0x6A00 /**< A buffer is too small to receive or write a message */
#define POLARSSL_ERR_SSL_NO_USABLE_CIPHERSUITE -0x6980 /**< None of the common ciphersuites is usable (eg, no suitable certificate) */ #define POLARSSL_ERR_SSL_NO_USABLE_CIPHERSUITE -0x6980 /**< None of the common ciphersuites is usable (eg, no suitable certificate, see debug messages). */
/* /*
* Various constants * Various constants
@ -2051,11 +2051,11 @@ size_t ssl_get_bytes_avail( const ssl_context *ssl );
* *
* \param ssl SSL context * \param ssl SSL context
* *
* \return 0 if successful, or a combination of: * \return 0 if successful,
* BADCERT_EXPIRED * -1 if result is not available (eg because the handshake was
* BADCERT_REVOKED * aborted too early), or
* BADCERT_CN_MISMATCH * a combination of BADCERT_xxx and BADCRL_xxx flags, see
* BADCERT_NOT_TRUSTED * x509.h
*/ */
int ssl_get_verify_result( const ssl_context *ssl ); int ssl_get_verify_result( const ssl_context *ssl );

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -5,7 +5,7 @@
* *
* Copyright (C) 2006-2013, ARM Limited, All Rights Reserved * Copyright (C) 2006-2013, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

5
library/.gitignore vendored
View File

@ -1,2 +1,5 @@
*.o *.o
libpolarssl* libpolarssl.*
libmbedtls.*
*.sln
*.vcxproj

View File

@ -1,6 +1,6 @@
option(USE_STATIC_POLARSSL_LIBRARY "Build PolarSSL static library." ON) option(USE_STATIC_MBEDTLS_LIBRARY "Build mbed TLS static library." ON)
option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL shared library." OFF) option(USE_SHARED_MBEDTLS_LIBRARY "Build mbed TLS shared library." OFF)
option(LINK_WITH_PTHREAD "Explicitly link PolarSSL library to pthread." OFF) option(LINK_WITH_PTHREAD "Explicitly link mbed TLS library to pthread." OFF)
set(src set(src
aes.c aes.c
@ -86,51 +86,72 @@ if(CMAKE_COMPILER_IS_CLANG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations -Wmissing-prototypes -Wdocumentation -Wno-documentation-deprecated-sync -Wunreachable-code") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations -Wmissing-prototypes -Wdocumentation -Wno-documentation-deprecated-sync -Wunreachable-code")
endif(CMAKE_COMPILER_IS_CLANG) endif(CMAKE_COMPILER_IS_CLANG)
if (NOT USE_STATIC_POLARSSL_LIBRARY AND NOT USE_SHARED_POLARSSL_LIBRARY) if (NOT USE_STATIC_MBEDTLS_LIBRARY AND NOT USE_SHARED_MBEDTLS_LIBRARY)
message(FATAL_ERROR "Need to choose static or shared polarssl build!") message(FATAL_ERROR "Need to choose static or shared mbedtls build!")
endif(NOT USE_STATIC_POLARSSL_LIBRARY AND NOT USE_SHARED_POLARSSL_LIBRARY) endif(NOT USE_STATIC_MBEDTLS_LIBRARY AND NOT USE_SHARED_MBEDTLS_LIBRARY)
if(USE_STATIC_POLARSSL_LIBRARY AND USE_SHARED_POLARSSL_LIBRARY) if(USE_STATIC_MBEDTLS_LIBRARY AND USE_SHARED_MBEDTLS_LIBRARY)
# if we build both static an shared, then let # if we build both static an shared, then let
# tests and programs link to the shared lib target # tests and programs link to the shared lib target
set(polarssl_static_target "polarssl_static") set(mbedtls_static_target "mbedtls_static")
elseif(USE_STATIC_POLARSSL_LIBRARY) elseif(USE_STATIC_MBEDTLS_LIBRARY)
set(polarssl_static_target "polarssl") set(mbedtls_static_target "mbedtls")
endif() endif()
if(USE_STATIC_POLARSSL_LIBRARY) if(USE_STATIC_MBEDTLS_LIBRARY)
add_library(${polarssl_static_target} STATIC ${src}) add_library(${mbedtls_static_target} STATIC ${src})
set_target_properties(${polarssl_static_target} PROPERTIES OUTPUT_NAME polarssl) set_target_properties(${mbedtls_static_target} PROPERTIES OUTPUT_NAME mbedtls)
target_link_libraries(${polarssl_static_target} ${libs}) target_link_libraries(${mbedtls_static_target} ${libs})
if(ZLIB_FOUND) if(ZLIB_FOUND)
target_link_libraries(${polarssl_static_target} ${ZLIB_LIBRARIES}) target_link_libraries(${mbedtls_static_target} ${ZLIB_LIBRARIES})
endif(ZLIB_FOUND) endif(ZLIB_FOUND)
if(LINK_WITH_PTHREAD) if(LINK_WITH_PTHREAD)
target_link_libraries(${polarssl_static_target} pthread) target_link_libraries(${mbedtls_static_target} pthread)
endif() endif()
install(TARGETS ${polarssl_static_target} install(TARGETS ${mbedtls_static_target}
DESTINATION ${LIB_INSTALL_DIR} DESTINATION ${LIB_INSTALL_DIR}
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)
endif() endif()
if(USE_SHARED_POLARSSL_LIBRARY) if(USE_SHARED_MBEDTLS_LIBRARY)
add_library(polarssl SHARED ${src}) add_library(mbedtls SHARED ${src})
set_target_properties(polarssl PROPERTIES VERSION 1.4.0 SOVERSION 8) set_target_properties(mbedtls PROPERTIES VERSION 1.4.0 SOVERSION 8)
target_link_libraries(polarssl ${libs}) target_link_libraries(mbedtls ${libs})
if(ZLIB_FOUND) if(ZLIB_FOUND)
target_link_libraries(polarssl ${ZLIB_LIBRARIES}) target_link_libraries(mbedtls ${ZLIB_LIBRARIES})
endif(ZLIB_FOUND) endif(ZLIB_FOUND)
if(LINK_WITH_PTHREAD) if(LINK_WITH_PTHREAD)
target_link_libraries(polarssl pthread) target_link_libraries(mbedtls pthread)
endif() endif()
install(TARGETS polarssl install(TARGETS mbedtls
DESTINATION ${LIB_INSTALL_DIR} DESTINATION ${LIB_INSTALL_DIR}
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)
endif(USE_SHARED_POLARSSL_LIBRARY) endif(USE_SHARED_MBEDTLS_LIBRARY)
if(UNIX)
add_custom_target(polarssl
DEPENDS mbedtls # TODO: and mbedtls_static is shared is defined
COMMAND ${CMAKE_SOURCE_DIR}/scripts/polarssl_symlinks.sh ${CMAKE_BINARY_DIR}/library
)
if(USE_STATIC_MBEDTLS_LIBRARY AND USE_SHARED_MBEDTLS_LIBRARY)
add_dependencies(polarssl mbedtls_static)
endif()
add_custom_target(polarssl-clean
COMMAND make clean
COMMAND rm -f ${CMAKE_BINARY_DIR}/library/libpolarssl.*
)
add_custom_target(polarssl-install
COMMAND make install
COMMAND ${CMAKE_SOURCE_DIR}/scripts/polarssl_symlinks.sh ${DESTDIR}/${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}
)
endif(UNIX)

View File

@ -22,7 +22,7 @@ ifdef SHARED
CFLAGS += -fPIC CFLAGS += -fPIC
endif endif
SONAME=libpolarssl.so.8 SONAME=libmbedtls.so.8
DLEXT=so.8 DLEXT=so.8
# OSX shared library extension: # OSX shared library extension:
@ -69,32 +69,48 @@ OBJS= aes.o aesni.o arc4.o \
ifndef SHARED ifndef SHARED
all: static all: static
else else
all: shared all: shared static
endif endif
static: libpolarssl.a static: libpolarssl.a
shared: libpolarssl.$(DLEXT) libpolarssl.so shared: libpolarssl.so
libpolarssl.a: $(OBJS) libpolarssl.a: libmbedtls.a
echo " LN $@ -> $?"
ifndef WINDOWS
ln -sf $? $@
else
copy /y /b $? $@
endif
libmbedtls.a: $(OBJS)
echo " AR $@" echo " AR $@"
$(AR) r $@ $(OBJS) $(AR) r $@ $(OBJS)
echo " RL $@" echo " RL $@"
$(AR) s $@ $(AR) s $@
libpolarssl.${DLEXT}: libpolarssl.a libpolarssl.so: libmbedtls.so
echo " LN $@ -> $?"
ifndef WINDOWS
ln -sf $? $@
else
copy /y /b $? $@
endif
libmbedtls.${DLEXT}: $(OBJS)
echo " LD $@" echo " LD $@"
$(CC) ${LDFLAGS} -shared -Wl,-soname,$(SONAME) -o $@ $(OBJS) $(CC) ${LDFLAGS} -shared -Wl,-soname,$(SONAME) -o $@ $(OBJS)
libpolarssl.so: libpolarssl.${DLEXT} libmbedtls.so: libmbedtls.${DLEXT}
echo " LN $@ -> libpolarssl.${DLEXT}" echo " LN $@ -> libmbedtls.${DLEXT}"
ln -sf libpolarssl.${DLEXT} $@ ln -sf libmbedtls.${DLEXT} $@
libpolarssl.dylib: libpolarssl.a libmbedtls.dylib: $(OBJS)
echo " LD $@" echo " LD $@"
$(CC) ${LDFLAGS} -dynamiclib -o $@ $(OBJS) $(CC) ${LDFLAGS} -dynamiclib -o $@ $(OBJS)
libpolarssl.dll: libpolarssl.a libmbedtls.dll: $(OBJS)
echo " LD $@" echo " LD $@"
$(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS) -lws2_32 -lwinmm -lgdi32 $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS) -lws2_32 -lwinmm -lgdi32
@ -104,8 +120,8 @@ libpolarssl.dll: libpolarssl.a
clean: clean:
ifndef WINDOWS ifndef WINDOWS
rm -f *.o libpolarssl.* rm -f *.o libpolarssl.* libmbedtls.*
endif endif
ifdef WINDOWS ifdef WINDOWS
del /Q /F *.o libpolarssl.* del /Q /F *.o libpolarssl.* libmbedtls.*
endif endif

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -71,10 +71,10 @@ static void polarssl_zeroize( void *v, size_t n ) {
#ifndef PUT_UINT32_LE #ifndef PUT_UINT32_LE
#define PUT_UINT32_LE(n,b,i) \ #define PUT_UINT32_LE(n,b,i) \
{ \ { \
(b)[(i) ] = (unsigned char) ( (n) ); \ (b)[(i) ] = (unsigned char) ( ( (n) ) & 0xFF ); \
(b)[(i) + 1] = (unsigned char) ( (n) >> 8 ); \ (b)[(i) + 1] = (unsigned char) ( ( (n) >> 8 ) & 0xFF ); \
(b)[(i) + 2] = (unsigned char) ( (n) >> 16 ); \ (b)[(i) + 2] = (unsigned char) ( ( (n) >> 16 ) & 0xFF ); \
(b)[(i) + 3] = (unsigned char) ( (n) >> 24 ); \ (b)[(i) + 3] = (unsigned char) ( ( (n) >> 24 ) & 0xFF ); \
} }
#endif #endif

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -82,7 +82,10 @@ int base64_encode( unsigned char *dst, size_t *dlen,
unsigned char *p; unsigned char *p;
if( slen == 0 ) if( slen == 0 )
{
*dlen = 0;
return( 0 ); return( 0 );
}
n = ( slen << 3 ) / 6; n = ( slen << 3 ) / 6;

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2012-2014, ARM Limited, All Rights Reserved * Copyright (C) 2012-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2014, ARM Limited, All Rights Reserved * Copyright (C) 2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -7,7 +7,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -32,10 +32,7 @@
#include <stdarg.h> #include <stdarg.h>
#include <stdlib.h> #include <stdlib.h>
#if defined(EFIX64) || defined(EFI32)
#include <stdio.h> #include <stdio.h>
#endif
#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32) #if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
#if !defined snprintf #if !defined snprintf

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -172,7 +172,7 @@
#include "polarssl/xtea.h" #include "polarssl/xtea.h"
#endif #endif
#include <stdio.h>
#include <string.h> #include <string.h>
#if defined(_MSC_VER) && !defined snprintf && !defined(EFIX64) && \ #if defined(_MSC_VER) && !defined snprintf && !defined(EFIX64) && \
@ -454,7 +454,7 @@ void polarssl_strerror( int ret, char *buf, size_t buflen )
if( use_ret == -(POLARSSL_ERR_SSL_BUFFER_TOO_SMALL) ) if( use_ret == -(POLARSSL_ERR_SSL_BUFFER_TOO_SMALL) )
snprintf( buf, buflen, "SSL - A buffer is too small to receive or write a message" ); snprintf( buf, buflen, "SSL - A buffer is too small to receive or write a message" );
if( use_ret == -(POLARSSL_ERR_SSL_NO_USABLE_CIPHERSUITE) ) if( use_ret == -(POLARSSL_ERR_SSL_NO_USABLE_CIPHERSUITE) )
snprintf( buf, buflen, "SSL - None of the common ciphersuites is usable (eg, no suitable certificate)" ); snprintf( buf, buflen, "SSL - None of the common ciphersuites is usable (eg, no suitable certificate, see debug messages)" );
#endif /* POLARSSL_SSL_TLS_C */ #endif /* POLARSSL_SSL_TLS_C */
#if defined(POLARSSL_X509_USE_C) || defined(POLARSSL_X509_CREATE_C) #if defined(POLARSSL_X509_USE_C) || defined(POLARSSL_X509_CREATE_C)

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2006-2014, ARM Limited, All Rights Reserved * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
* *
* This file is part of mbed TLS (https://www.polarssl.org) * This file is part of mbed TLS (https://polarssl.org)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

Some files were not shown because too many files have changed in this diff Show More