Hanno Becker
780f0a4cc1
Reinitialize PK ctx in mbedtls_pk_parse_key before reuse are free
...
Context: This commit makes a change to mbedtls_pk_parse_key() which
is responsible for parsing of private keys. The function doesn't know
the key format in advance (PEM vs. DER, encrypted vs. unencrypted) and
tries them one by one, resetting the PK context in between.
Issue: The previous code resets the PK context through a call to
mbedtls_pk_free() along, lacking the accompanying mbedtls_pk_init()
call. Practically, this is not an issue because functionally
mbedtls_pk_free() + mbedtls_pk_init() is equivalent to mbedtls_pk_free()
with the current implementation of these functions, but strictly
speaking it's nonetheless a violation of the API semantics according
to which xxx_free() functions leave a context in uninitialized state.
(yet not entirely random, because xxx_free() functions must be idempotent,
so they cannot just fill the context they operate on with garbage).
Change: The commit adds calls to mbedtls_pk_init() after those calls
to mbedtls_pk_free() within mbedtls_pk_parse_key() after which the
PK context might still be used.
2018-10-11 11:31:15 +01:00
Simon Butcher
c86993e33c
Merge remote-tracking branch 'public/pr/1970' into development
2018-09-27 09:48:54 +01:00
Simon Butcher
53546ea099
Update library version number to 2.13.1
2018-09-06 19:10:26 +01:00
Simon Butcher
5d40f67138
Merge remote-tracking branch 'public/pr/1927' into development-restricted
2018-09-06 16:24:48 +01:00
Hanno Becker
f5106d54eb
Don't declare and define gmtime()-mutex on Windows platforms
2018-09-06 12:09:56 +01:00
Hanno Becker
323d8019bf
Correct preprocessor guards determining use of gmtime()
...
The previous code erroneously used gmtime_r() to implement
mbedtls_platform_gmtime() in case of a non-windows, non-unix system.
2018-09-06 11:30:57 +01:00
Hanno Becker
6f70581c4a
Correct POSIX version check to determine presence of gmtime_r()
...
Recent versions of POSIX move gmtime_r to the base.
2018-09-06 09:06:33 +01:00
Hanno Becker
7dd82b4f51
platform_utils.{c/h} -> platform_util.{c/h}
2018-09-05 16:26:04 +01:00
Hanno Becker
48a816ff26
Minor documentation improvements
2018-09-05 15:22:22 +01:00
Hanno Becker
6a739789f3
Rename mbedtls_platform_gmtime() to mbedtls_platform_gmtime_r()
...
For consistency, also rename MBEDTLS_PLATFORM_GMTIME_ALT to
MBEDTLS_PLATFORM_GMTIME_R_ALT.
2018-09-05 15:06:19 +01:00
Hanno Becker
be2e4bddd5
Guard decl and use of gmtime mutex by HAVE_TIME_DATE and !GMTIME_ALT
2018-09-05 14:44:31 +01:00
Hanno Becker
cfeb70c6b9
gmtime: Remove special treatment for IAR
...
Previous commits attempted to use `gmtime_s()` for IAR systems; however,
this attempt depends on the use of C11 extensions which lead to incompatibility
with other pieces of the library, such as the use of `memset()` which is
being deprecated in favor of `memset_s()` in C11.
2018-09-05 13:52:46 +01:00
Andres Amaya Garcia
94b540ac63
Avoid redefining _POSIX_C_SOURCE
2018-09-05 12:27:32 +01:00
Andres Amaya Garcia
433f911e59
Check for IAR in gmtime macros
2018-09-05 12:01:57 +01:00
Andres Amaya Garcia
3c9733a0a3
Fix typo in comment for gmtime macro defines
2018-09-05 11:52:07 +01:00
Andres Amaya Garcia
ca04a01bb8
Document shorthand gmtime macros
2018-09-05 11:43:57 +01:00
Andres Amaya Garcia
209960611f
Use gmtime_s() for IAR
2018-09-05 11:27:56 +01:00
Andres Amaya Garcia
e9b10b21f1
Define _POSIX_C_SOURCE in threading.c before POSIX detection
2018-09-05 11:25:30 +01:00
Simon Butcher
4d075cd7d0
Update library version number to 2.13.0
2018-08-31 15:59:10 +01:00
Simon Butcher
0bbb4fc132
Merge branch 'development' into development
2018-08-30 01:11:35 +01:00
Simon Butcher
552754a6ee
Merge remote-tracking branch 'public/pr/1988' into development
2018-08-30 00:57:28 +01:00
Simon Butcher
68dbc94720
Merge remote-tracking branch 'public/pr/1951' into development
2018-08-30 00:56:56 +01:00
Hanno Becker
a591c48302
Correct typo in debug message
2018-08-28 17:52:53 +01:00
Hanno Becker
83ab41c665
Correct typo in comment
2018-08-28 17:52:53 +01:00
Hanno Becker
cd9dcda0a0
Add const qualifier to handshake header reading functions
2018-08-28 17:52:53 +01:00
Hanno Becker
39b8bc9aef
Change wording of debug message
2018-08-28 17:52:49 +01:00
Hanno Becker
ef7afdfa5a
Rename another_record_in_datagram to next_record_is_in_datagram
2018-08-28 17:16:31 +01:00
Hanno Becker
c573ac33dd
Fix typos in debug message and comment in ssl-tls.c
2018-08-28 17:15:25 +01:00
Simon Butcher
3af567d4a7
Merge remote-tracking branch 'restricted/pr/437' into development-restricted
2018-08-28 15:33:59 +01:00
Simon Butcher
129fa82908
Merge remote-tracking branch 'restricted/pr/470' into development-restricted
2018-08-28 15:26:11 +01:00
Simon Butcher
7f85563f9b
Merge remote-tracking branch 'restricted/pr/491' into development-restricted
2018-08-28 15:22:40 +01:00
Simon Butcher
9ce5160fea
Merge remote-tracking branch 'public/pr/1965' into development
2018-08-28 12:34:14 +01:00
Simon Butcher
9d5a9e1213
Merge remote-tracking branch 'public/pr/1625' into development
2018-08-28 12:23:40 +01:00
Simon Butcher
14dac0953e
Merge remote-tracking branch 'public/pr/1918' into development
2018-08-28 12:21:41 +01:00
Simon Butcher
1846e406c8
Merge remote-tracking branch 'public/pr/1939' into development
2018-08-28 12:19:56 +01:00
Simon Butcher
9598845d11
Merge remote-tracking branch 'public/pr/1955' into development
2018-08-28 12:00:18 +01:00
Simon Butcher
4613772dea
Merge remote-tracking branch 'public/pr/1915' into development
2018-08-28 11:45:44 +01:00
Hanno Becker
0207e533b2
Style: Correct typo in ssl-tls.c
2018-08-28 10:28:28 +01:00
Hanno Becker
bc2498a9ff
Style: Add numerous comments indicating condition guarded by #endif
2018-08-28 10:13:29 +01:00
Hanno Becker
d58477769d
Style: Group buffering-related forward declarations in ssl_tls.c
2018-08-28 10:09:23 +01:00
Hanno Becker
360bef3fe3
Reordering: Document that only HS and CCS msgs are buffered
2018-08-28 10:04:33 +01:00
Hanno Becker
4f432ad44d
Style: Don't use abbreviations in comments
2018-08-28 10:02:32 +01:00
Hanno Becker
b8f50147ee
Add explicit MBEDTLS_DEBUG_C-guard around debugging code
2018-08-28 10:01:34 +01:00
Hanno Becker
f0da6670dc
Style: Add braces around if-branch where else-branch has them
2018-08-28 09:55:10 +01:00
Hanno Becker
ecbdf1c048
Style: Correct indentation of debug msgs in mbedtls_ssl_write_record
2018-08-28 09:54:44 +01:00
Hanno Becker
3f7b973e32
Correct typo in mbedtls_ssl_flight_transmit()
2018-08-28 09:53:25 +01:00
Hanno Becker
6e12c1ea7d
Enhance debugging output
2018-08-24 14:48:08 +01:00
Hanno Becker
0e96585bdd
Merge branch 'datagram_packing' into message_reordering
2018-08-24 12:16:41 +01:00
Hanno Becker
1841b0a11c
Rename ssl_conf_datagram_packing() to ssl_set_datagram_packing()
...
The naming convention is that functions of the form mbedtls_ssl_conf_xxx()
apply to the SSL configuration.
2018-08-24 11:13:57 +01:00
Hanno Becker
f4b010efc4
Limit MTU by maximum fragment length setting
...
By the standard (RFC 6066, Sect. 4), the Maximum Fragment Length (MFL)
extension limits the maximum record payload size, but not the maximum
datagram size. However, not inferring any limitations on the MTU when
setting the MFL means that a party has no means to dynamically inform
the peer about MTU limitations.
This commit changes the function ssl_get_remaining_payload_in_datagram()
to never return more than
MFL - { Total size of all records within the current datagram }
thereby limiting the MTU to MFL + { Maximum Record Expansion }.
2018-08-24 10:47:29 +01:00