Mitch Capper
6185d66b01
For TranslateIoError use FormatMessage to get a better error message on win32
2023-06-23 14:05:38 -07:00
Chris Conlon
806c75d28b
Merge pull request #6450 from miyazakh/fix_jenkins_android
...
fix to cast diff type, int and uint
2023-06-01 08:33:02 -06:00
Hideki Miyazaki
554e6472b5
addressed review comments
2023-05-31 06:54:14 +09:00
jordan
1bdd1cb157
Used codespell and fixed obvious typos in src and wolfssl.
2023-05-30 11:36:43 -05:00
Hideki Miyazaki
63a5fe3229
fix to cast diff type, int and uint
2023-05-30 17:32:42 +09:00
Marco Oliverio
5182fe3f7d
wolfio: cleaning: use WOLFSSL_IP6 define instead of AF_INET6
2023-05-22 15:33:06 +00:00
Marco Oliverio
640f9cf967
wolfio: EmbedRecvFrom: check ipv6 peer on non-ipv6 version
2023-05-22 15:33:05 +00:00
Marco Oliverio
73f502e189
wolfio: dtls: retry instead of returning WANT_READ on different peer
...
If EmbedReceiveFrom() returns WANT_READ, a blocking socket will not know how to
deal with the error. Retry the recvfrom instead adjusting the timeout.
2023-05-22 15:31:58 +00:00
Sean Parkinson
8851065848
cppcheck fixes
...
Fix checking of negative with unsigned variables.
Check digestSz for 0 in wc_SSH_KDF() so that no possibility of dividing
by zero.
Change XMEMCPY to XMEMSET in renesas_sce_util.c.
Fix test.c to free prvTmp and pubTmp on read error.
Remove unused variables.
XFREE checks for NULL so don't check before call.
Move variable declarations to reduce scope.
2023-04-03 16:59:58 +10:00
jordan
409ed6232a
Used codespell and fixed obvious typos in src and wolfssl.
2023-03-02 09:52:07 -06:00
David Garske
fc6d693dae
Update logging enter, exit, msg to match function names. Fix some typos and improper use of "enter". Fix internal uses of SSL_SUCCESS and SSL_FAILURE. Add WOLFSSL_DEBUG_NONBLOCK option to allow printing iterations without debug enabled.
2023-02-21 12:02:15 -08:00
Jacob Barthelmeh
9dcc48c8f7
update copyright to 2023
2022-12-30 17:12:11 -07:00
John Bland
b36d585335
remove http header length check for CRL verification
2022-12-21 13:01:58 -05:00
jordan
246ce8dbe1
Cleanup spaces.
2022-12-06 15:24:34 -06:00
jordan
87113cc88d
Fix mingw-w64 build issues on windows.
2022-12-03 17:00:44 -06:00
Per Allansson
68dc01e7b7
fix bug with wolfIO_TcpConnect not working with timeout
...
- non-blocking connect() on Windows returns SOCKET_ERROR + WSAEWOULDBLOCK
- the check for fd against FD_SETSIZE is wrong (and not needed) on Windows
2022-10-06 14:14:33 +02:00
Juliusz Sosinowicz
112fc540bb
Fix build errors and warnings for MSVC with DTLS 1.3
2022-09-13 10:13:44 +02:00
David Garske
232a750cc2
Whitespace cleanup.
2022-09-02 09:54:17 -07:00
David Garske
2695f36642
Fixes for building with 32-bit and socket size sign/unsigned mismatch.
...
Tested with: `./configure --enable-all CFLAGS="-m32 -DXSOCKLENT=int" LDFLAGS="-m32" && make`
2022-09-01 11:39:34 -07:00
Sean Parkinson
56be09005f
Merge pull request #5427 from julek-wolfssl/dtls-timeout-and-closed-socket
...
DTLS socket and timeout fixes
2022-08-05 08:13:14 +10:00
Juliusz Sosinowicz
ebcfa31993
Refactor checking socket type into a function
2022-08-04 11:35:27 +02:00
Juliusz Sosinowicz
67d518544b
EmbedReceiveFrom: fix when using a TCP socket
...
- recvfrom() returns 0 on a closed TCP socket
- TCP sockets set WOLFSSL_CBIO_ERR_ISR on a timeout
2022-08-04 11:27:45 +02:00
Juliusz Sosinowicz
fb2feee9b6
Fix dtls + async multi-test misc errors
...
DTLS uses DtlsMsgStore() to process messages when using async crypto. A check was skipping the storing straight to DtlsMsgDrain().
2022-07-29 15:49:49 +02:00
Jacob Barthelmeh
8eaa85e412
update copyright year to 2022
2022-07-19 10:44:31 -06:00
JacobBarthelmeh
032d59b077
adjust sizeof type for getsockopt argument
2022-07-11 07:10:11 -07:00
JacobBarthelmeh
7379e377ab
cast for g++ warning
2022-07-08 15:11:29 -07:00
Juliusz Sosinowicz
251642a44a
sendto can't specify addr on a TCP socket
...
From the man page
If sendto() is used on a connection-mode (SOCK_STREAM, SOCK_SEQPACKET) socket, the arguments dest_addr and
addrlen are ignored (and the error EISCONN may be returned when they are not NULL and 0), and the error
ENOTCONN is returned when the socket was not actually connected.
2022-07-08 12:14:23 +02:00
Juliusz Sosinowicz
7ea13bf5bf
Apply connected to sendto and address code review
2022-07-04 11:08:39 +02:00
Juliusz Sosinowicz
d72edd03b8
dtls: wolfSSL_set_dtls_fd_connected
...
wolfSSL_set_dtls_fd_connected sets the connected socket file descriptor. This descriptor should be called without addr and addr_len.
2022-07-04 11:08:39 +02:00
Anthony Hu
099afe4419
errant if
2022-06-21 11:33:08 -04:00
Anthony Hu
beddc777d4
milliseconds not only for DTLS13
2022-06-21 11:07:19 -04:00
Anthony Hu
f05bcb30e0
div by 4 in milliseconds
2022-06-21 10:48:48 -04:00
Anthony Hu
ff4eabb17f
same fix to MicriumReceive
2022-06-21 10:42:20 -04:00
Anthony Hu
1e84d1eb67
Change inspired by Rizlik review comments.
2022-06-21 10:22:44 -04:00
Anthony Hu
73435389ed
Fix missing WOLFSSL_DTLS in Micrium build
2022-06-20 16:33:04 -04:00
Marco Oliverio
d1924928c0
dtls13: support retransmission
...
Introduce ACK and retransmission logic, encapsulated in a Dtls13RtxFsm
object. The retransmission or the sending of an ACK is scheduled by setting the
appropriate flag inside the Dtls13RtxFSM object but the actual writing on the
socket is deferred and done in wolfSSL_Accept/Connect.
* Retransmission
Each sent message is encapsulated in a Dtl13RtxRecord and saved on a list. If we
receive an ACK for at record, we remove it from the list so it will be not
retransmitted further, then we will retransmit the remaining
ones. Retransmission is throttled: beside link congestion, this also avoid too
many sequence numbers bounded with a record.
* ACK
For each received record we save the record sequence number, so we can send an
ACK if needed. We send an ACK either if explicitly needed by the flight or if we
detect a disruption.
Co-authored-by: Juliusz Sosinowicz <juliusz@wolfssl.com >
2022-06-15 10:46:43 -07:00
kaleb-himes
3bcdef1972
Fix various warnings and an uninitialized XFILE
2022-06-03 09:52:53 -06:00
Daniel Pouzzner
5988f35593
src/wolfio.c: in EmbedReceiveFrom((), clear peer before recvfrom() to fix clang-analyzer-core.UndefinedBinaryOperatorResult; add DTLS_ prefix to macros SENDTO_FUNCTION and RECVFROM_FUNCTION, and gate their definitions on their being undefined to allow overrides.
2022-05-19 11:31:24 -05:00
John Safranek
40063f7487
Merge pull request #5109 from rizlik/dtls_peer_matching_fix
...
wolfio: dtls: fix incorrect peer matching check
2022-05-18 09:12:26 -07:00
Marco Oliverio
6df65c0162
wolfio: dtls: fix incorrect peer matching check
...
Ignore packet if coming from a peer of a different size *or* from a different
peer. Avoid whole memcmp of sockaddr_in[6] struct because is not portable (there
are optional fields in struct sockaddr_in).
2022-05-17 11:01:55 +02:00
Daniel Pouzzner
c4920021d8
print errors to stderr, not stdout;
...
fix whitespace in internal.c;
add missing error handling in examples/server/server.c around recvfrom().
2022-05-12 13:07:32 -05:00
Juliusz Sosinowicz
c7c3ee00bb
Address code review
...
- Use functions instead of accessing `BIO` members
- Add `wolfSSL_BIO_method_type`
2022-03-03 10:09:41 +01:00
Juliusz Sosinowicz
645f385031
Fix BioReceive for closed connection
...
The pending check was forcing a `WOLFSSL_CBIO_ERR_WANT_WRITE` return even though the underlying socket was closed and `WOLFSSL_BIO_FLAG_READ|WOLFSSL_BIO_FLAG_RETRY` was not set. The `wolfSSL_BIO_ctrl_pending(ssl->biord) == 0` is old and I can't find a reason to keep checking it. I left it just in the case where there is output data pending.
2022-03-01 10:34:20 +01:00
David Garske
c2987a9ef9
Fix for IPv6 sockaddr_len set but not read.
2022-02-24 14:09:08 -08:00
David Garske
2beb27972b
OCSP IPv6 support with --enable-ipv6 or WOLFSSL_IPV6. Improve the logic around C99 and getaddrinfo.
2022-02-22 15:07:05 -08:00
Daniel Pouzzner
7c9f4911c3
src/wolfio.c: protect __GLIBC__ comparison with defined(__GLIBC__).
2022-01-26 00:22:13 -06:00
Daniel Pouzzner
2955d7339e
remove a debugging printf, fix whitespace/indentation, and add a comment re gethostbyname_r buffer size.
2022-01-21 13:00:22 -06:00
Daniel Pouzzner
10b8f56fec
wolfio.c: in wolfIO_TcpConnect(), test for usability of gethostbyname_r by (__GLIBC__ >= 2) && defined(__USE_MISC), not defined(__GNUC__).
2022-01-21 01:25:48 -06:00
Daniel Pouzzner
bb07d0a490
wolfio.c: refactor wolfIO_TcpConnect(() to use gethostbyname_r() if GNUC && !SINGLE_THREADED, for thread safety.
2022-01-21 01:25:48 -06:00
Daniel Pouzzner
8ba6027073
src/wolfio.c: fixes for cppcheck complaints: nullPointer uninitvar
2022-01-08 00:28:35 -06:00