Manuel Pégourié-Gonnard
e12abf90ce
Fix url
2015-01-28 17:13:45 +00:00
Manuel Pégourié-Gonnard
0edee5e386
Update copyright notice
2015-01-26 15:29:40 +00:00
Manuel Pégourié-Gonnard
258bab0b1b
Fix missing bound check
2014-11-27 09:27:21 +01:00
Manuel Pégourié-Gonnard
4cdb3babad
Add POLARSSL_X509_MAX_INTERMEDIATE_CA
2014-11-20 17:12:15 +01:00
Manuel Pégourié-Gonnard
6a095d2383
Make x509parse_crt() iterative
2014-11-20 17:03:09 +01:00
Manuel Pégourié-Gonnard
1c022a6983
Fix memory leaks in PKCS#5 and PKCS#12
2014-11-17 12:27:49 +01:00
Manuel Pégourié-Gonnard
d8a1ea72b1
Fix potential buffer overread of size 1
2014-11-17 12:27:49 +01:00
Manuel Pégourié-Gonnard
ffbeedb838
Fix potential undefined behaviour in Camellia
2014-11-17 11:52:34 +01:00
Manuel Pégourié-Gonnard
6c28491a15
Backport build modes from 1.3
2014-11-17 11:15:13 +01:00
Manuel Pégourié-Gonnard
017bf57daa
Forbid repeated X.509 extensions
2014-11-17 11:01:09 +01:00
Manuel Pégourié-Gonnard
360eb91d02
Fix potential stack overflow
2014-11-17 11:01:09 +01:00
Manuel Pégourié-Gonnard
fdec957e55
Fix memory leak with crafted X.509 certs
2014-11-17 11:01:08 +01:00
Manuel Pégourié-Gonnard
d3ae430241
Fix uninitialised pointer dereference
2014-11-17 11:01:08 +01:00
Manuel Pégourié-Gonnard
d730aa517a
Use blinding for RSA even without CRT
2014-11-12 16:29:12 +01:00
Paul Bakker
fc3697ce2b
Prepared for PolarSSL-1.2.12
2014-10-24 10:42:52 +02:00
Manuel Pégourié-Gonnard
0b12d5e332
Accept spaces at EOL/buffer in base64_decode()
2014-10-23 17:00:26 +02:00
Alfred Klomp
d6d5ef2f0d
timing.c: avoid referencing garbage value
...
Found with Clang's `scan-build` tool.
When get_timer() is called with `reset` set to 1, the value of
t->start.tv_sec is used as a rvalue without being initialized first.
This is relatively harmless because the result of get_timer() is not
used by the callers when called in "reset mode". However, scan-build
prints a warning.
Silence the warning by only calculating the delta on non-reset runs,
returning zero otherwise.
2014-10-23 15:36:33 +02:00
Alfred Klomp
ec99373df6
pkcs5.c: fix dead store: return proper exit status
...
Found with Clang's `scan-build` tool.
The error value assigned to `ret` is not returned, meaning that the
selftest always succeeds. Ensure the error value is propagated back to
the caller.
2014-10-23 15:34:02 +02:00
Manuel Pégourié-Gonnard
9711920304
Fix ssl_read wrt non-Application Data
2014-10-23 15:29:55 +02:00
Manuel Pégourié-Gonnard
3fdfcedebb
Fix net_accept() regarding non-blocking sockets
2014-10-23 15:23:48 +02:00
Manuel Pégourié-Gonnard
0b0b522932
Fix compiler warnings on iOS
2014-10-23 15:17:27 +02:00
Manuel Pégourié-Gonnard
7d75ea4787
x509_crt_parse() did not increase total_failed on PEM error
2014-10-23 15:13:39 +02:00
Manuel Pégourié-Gonnard
86792a6cf3
Fix ssl_close_notify() with non-blocking I/O
2014-10-23 15:02:45 +02:00
Manuel Pégourié-Gonnard
066c1f60bb
Fix potential bad read in parsing ServerHello
2014-10-23 14:58:09 +02:00
Manuel Pégourié-Gonnard
6b44038913
Fix memory leak parsing some X.509 certs
2014-10-23 14:53:46 +02:00
Paul Bakker
308a586477
Better placement of memset() to prevent compiler warning under MSVC
2014-07-11 11:40:35 +02:00
Paul Bakker
695266cb51
Updated to version 1.2.11
2014-07-11 11:26:03 +02:00
Manuel Pégourié-Gonnard
0cdde2d107
Fix minlen for GCM suites
2014-07-09 18:03:10 +02:00
Paul Bakker
a16e7f24f0
Proper initialization and checks for rare cases
2014-07-09 14:58:11 +02:00
Paul Bakker
1d073c59ad
Add static and casts to prevent compiler warnings
2014-07-08 20:17:07 +02:00
Paul Bakker
f73b718f17
Latest CBC padding check
2014-07-08 18:30:44 +02:00
Paul Bakker
bbc843f0b8
Fix base64_decode() to return and check length correctly
2014-07-08 18:29:06 +02:00
Manuel Pégourié-Gonnard
877a0944ad
Padlock asm using \n\t too
2014-07-08 18:29:00 +02:00
Manuel Pégourié-Gonnard
4467fb7507
Check input lengths in GCM
2014-07-08 18:28:56 +02:00
Paul Bakker
5bad6afd8c
Fix length checking for AEAD ciphersuites
2014-07-08 18:28:54 +02:00
Paul Bakker
312da33ef1
Introduce polarssl_zeroize() instead of memset() for zeroization
2014-07-08 18:28:52 +02:00
Peter Vaskovic
1b08bd9525
Fix WSAStartup return value check.
...
SOCKET_ERROR was not a valid return value.
WSAStartup returns 0 on success, so check that instead.
2014-07-08 18:28:51 +02:00
Peter Vaskovic
02388c918d
Fix minor format string inconsistency.
2014-07-08 18:28:48 +02:00
Paul Bakker
75ee01097f
Stricter check on SSL ClientHello internal sizes compared to actual packet size
2014-07-08 18:28:47 +02:00
Markus Pfeiffer
55bdbc1834
Make compilation on DragonFly work
2014-07-08 18:28:44 +02:00
Paul Bakker
358d325017
Fix bug with mpi_fill_random() on big-endian
2014-07-08 18:28:42 +02:00
Paul Bakker
95a11f8c16
On OpenBSD, use arc4random_buf() instead of rand() to prevent warnings
2014-07-08 18:28:40 +02:00
Paul Bakker
ccebf6ef8a
Sanity length checks in ssl_read_record() and ssl_fetch_input()
...
Both are already covered in other places, but not in a clear fashion. So
for instance Coverity thinks the value is still tainted.
2014-07-08 18:28:38 +02:00
Paul Bakker
b0af56334c
rsa_check_pubkey() now allows an E up to N
2014-07-08 18:28:36 +02:00
Paul Bakker
838ed3c74d
Improve interop by not writing ext_len in ClientHello when 0
...
The RFC also indicates that without any extensions, we should write a
struct {} (empty) not an array of length zero.
2014-07-08 18:28:33 +02:00
Paul Bakker
676093e253
Check setsockopt() return value in net_bind()
2014-07-08 18:28:29 +02:00
Paul Bakker
7890e62a1f
Added missing MPI_CHK around mpi functions
2014-07-08 18:28:29 +02:00
Paul Bakker
243d61894c
Reject certificates with times not in UTC
2014-07-08 14:40:58 +02:00
Paul Bakker
f48de9579f
Use UTC to heck certificate validity
2014-07-08 14:39:41 +02:00
Paul Bakker
dedce0c35c
Prevent potential NULL pointer dereference in ssl_read_record()
2014-07-08 14:36:12 +02:00
Paul Bakker
6995efe8be
Potential memory leak in mpi_exp_mod() when error occurs during
...
calculation of RR.
2014-07-08 14:32:35 +02:00
Paul Bakker
358a841b34
x509_get_current_time() uses localtime_r() to prevent thread issues
2014-07-08 12:14:37 +02:00
Paul Bakker
24aaf44120
Make sure no random pointer occur during failed malloc()'s
2014-07-08 11:39:19 +02:00
Manuel Pégourié-Gonnard
c2262b58f6
Tune debug_print_ret format
2014-07-08 11:26:20 +02:00
Paul Bakker
ef3cf7088f
Provide no info from entropy_func() on future entropy
2014-07-08 11:25:51 +02:00
Paul Bakker
1e9423704a
Support for seed file writing and reading in Entropy
2014-07-08 11:20:25 +02:00
Paul Bakker
22a0ce0cef
Fix warning on MinGW and MSVC12
2014-07-08 11:17:50 +02:00
Paul Bakker
8cb73200e1
MinGW32 static build should link to windows libs and libz
2014-07-08 11:15:55 +02:00
Paul Bakker
b000f82d76
ssl_init() left a dirty in_ctr pointer on failed allocation of out_ctr
2014-07-08 11:15:18 +02:00
Manuel Pégourié-Gonnard
a9f86e03ed
Make the compiler work-around more specific
2014-07-08 11:13:59 +02:00
Manuel Pégourié-Gonnard
57291a7019
Work around a compiler bug on OS X.
2014-07-08 11:13:42 +02:00
hasufell
97a11c107e
CMake: allow to build both shared and static at once
...
This allows for more fine-grained control. Possible combinations:
* static off, shared on
* static on, shared off
* static on, shared on
The static library is always called "libpolarssl.a" and is only used
for linking of tests and internal programs if the shared lib is
not being built.
Default is: only build static lib.
2014-07-08 11:10:09 +02:00
Manuel Pégourié-Gonnard
be04673c49
Forbid sequence number wrapping
2014-07-08 11:04:19 +02:00
Paul Bakker
50a5c53398
Reject certs and CRLs from the future
2014-07-08 10:59:10 +02:00
Paul Bakker
0d844dd650
Add x509parse_time_future()
2014-07-07 17:46:36 +02:00
Manuel Pégourié-Gonnard
963918b88f
Countermeasure against "triple handshake" attack
2014-07-07 17:46:35 +02:00
Manuel Pégourié-Gonnard
397858b81d
Avoid "unreachable code" warning
2014-07-07 17:46:33 +02:00
Manuel Pégourié-Gonnard
6d841c2c5c
Fix verion-major intolerance
2014-07-07 17:46:31 +02:00
Manuel Pégourié-Gonnard
c675e4bde5
Fix bug in RSA PKCS#1 v1.5 "reversed" operations
2014-07-07 17:46:29 +02:00
Paul Bakker
1e7c3d2500
net_is_block() renamed to net_would_block() and corrected behaviour on
...
non-blocking sockets
net_would_block() now does not return 1 if the socket is blocking.
2014-07-07 17:46:28 +02:00
Paul Bakker
1dc45f15a6
Added MPI_CHK around unguarded mpi calls
2014-07-07 17:46:25 +02:00
Paul Bakker
7837026b91
Remove a few dead stores
2014-07-07 16:01:34 +02:00
Manuel Pégourié-Gonnard
d220f8b709
Fix potential memory leak in bignum selftest
2014-07-07 16:01:33 +02:00
Manuel Pégourié-Gonnard
7fd620b331
Fix misplaced initialisation.
...
If one of the calls to mpi_grow() before setting Apos would fail, then
mpi_free( &Apos ) would be executed without Apos being initialised.
2014-07-07 16:01:31 +02:00
Manuel Pégourié-Gonnard
b55f578982
Fix missing error checking in gcm
2014-07-07 16:01:30 +02:00
Paul Bakker
4091141368
Add a length check in ssl_derive_keys()
2014-07-07 16:01:28 +02:00
Paul Bakker
d83584e9aa
Fixed potential overflow in certificate size in ssl_write_certificate()
2014-07-07 16:01:11 +02:00
Paul Bakker
78e819698b
Added missing MPI_CHK() around some statements
2014-07-07 16:01:10 +02:00
Paul Bakker
40cc914567
Fixed x509_crt_parse_path() bug on Windows platforms
2014-07-07 16:01:08 +02:00
Manuel Pégourié-Gonnard
9975c5d217
Check PKCS 1.5 padding in a more constant-time way
...
(Avoid branches that depend on secret data.)
2014-07-07 14:38:09 +02:00
Manuel Pégourié-Gonnard
d237d261e5
Check OAEP padding in a more constant-time way
2014-07-07 14:37:56 +02:00
Manuel Pégourié-Gonnard
3411464a64
RSA-OAEP decrypt: reorganise code
2014-07-07 14:37:39 +02:00
Paul Bakker
a1caf6e1e8
SSL now gracefully handles missing RNG
2014-07-07 14:20:52 +02:00
Paul Bakker
c941adba31
Fixed X.509 hostname comparison (with non-regular characters)
2014-07-07 14:17:24 +02:00
Paul Bakker
835481930a
Makefile now produces a .so.X with SOVERSION in it
2014-07-07 14:13:54 +02:00
Manuel Pégourié-Gonnard
5c8434cf52
Safer buffer comparisons in the SSL modules
2014-07-07 14:10:07 +02:00
Paul Bakker
c3ec63df42
Minor change that makes life easier for static analyzers / compilers
2014-07-07 14:06:22 +02:00
Paul Bakker
e46b17766c
Make get_pkcs_padding() constant-time
2014-07-07 14:04:31 +02:00
Paul Bakker
52cb87beb7
Forced cast to prevent MSVC compiler warning
2014-07-07 13:46:10 +02:00
Paul Bakker
4c9301a7af
Convert SOCKET to int to prevent compiler warnings under MSVC.
...
From kernel objects at msdn:
Kernel object handles are process specific. That is, a process must either create the object or open an existing object to obtain a kernel object handle. The per-process limit on kernel handles is 2^24.
Windows Internals by Russinovich and Solomon as well says that the high bits are zero.
2014-07-07 13:44:30 +02:00
Paul Bakker
9ccb2116a7
Introduced POLARSSL_HAVE_READDIR_R for systems without it
2014-07-07 13:43:31 +02:00
Paul Bakker
ff6e24710a
RSA blinding: check highly unlikely cases
2014-07-07 13:34:41 +02:00
Paul Bakker
6b06502c4b
Changed RSA blinding to a slower but thread-safe version
2013-10-07 12:06:29 +02:00
Paul Bakker
adace27ec9
Prepped for 1.2.10 release
2013-10-04 17:07:26 +02:00
Paul Bakker
2f1481ec73
Additional fixed to rsa.c with regards to blinding
2013-10-04 16:46:21 +02:00
Paul Bakker
62087eed22
Fixed memory leak in rsa.c introduced in 43f9799
2013-10-04 10:57:12 +02:00
Paul Bakker
e45574e7de
Prepped for 1.2.9 release
2013-09-25 18:42:42 +02:00
Paul Bakker
915ee19887
Do not allow SHA256/SHA384 ciphersuites in < TLS 1.2
2013-09-23 17:30:26 +02:00
Paul Bakker
43f9799ce6
RSA blinding on CRT operations to counter timing attacks
2013-09-23 11:23:31 +02:00
Paul Bakker
88a2264def
Fixed potential file descriptor leaks
2013-09-11 13:31:55 +02:00