David Garske 22a5a5c45e Add introspection for math build and math cleanups:
* Add introspection for math build.
* Raise build error if more than one multi-precision math library used.
* Fix ESP32 to support using any multi-precision math option.
* Refactor math headers to use `wolfmath.h`
* Refactor of the opaque math variable type `MATH_INT_T` used by crypto hardware (QuickAssist, SE050, ESP32 and STM32).
* Cleanups for building with `WOLFCRYPT_ONLY` and `NO_BIG_INT`.
* Stop forcing use of fast math by default for platforms in settings.h. Note: For users that still want to use fast math (tfm.c) they will need to add USE_FAST_MATH to their build settings.

Applies To:
```
WOLFSSL_ESPWROOM32
WOLFSSL_ESPWROOM32SE
MICROCHIP_PIC32
WOLFSSL_PICOTCP_DEMO
WOLFSSL_UTASKER
WOLFSSL_NRF5x
FREERTOS_TCP
WOLFSSL_TIRTOS
EBSNET
FREESCALE_COMMON
FREESCALE_KSDK_BM
WOLFSSL_DEOS
MICRIUM
WOLFSSL_SGX
```
2023-03-30 14:42:55 -07:00
..
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2021-10-13 16:39:46 +01:00

wolfSSL examples directory

client and server

These directories contain a client (client.c) and server (server.c) that utilize a variety of the wolfSSL library's capabilities. The manner in which both programs operate can depend on the configure or can be specified at run-time depending on the end goal. Both applications contain testing as well as benchmarking code.

Compile

./configure
make

Usage

./examples/server/server

./examples/client/client

Run ./examples/server/server -h and ./examples/client/client -h for usage details.

For simpler wolfSSL TLS server/client examples, visit https://github.com/wolfSSL/wolfssl-examples/tree/master/tls

echoclient and echoserver

These directories contain a client (echoclient.c) and server (echoserver.c) that establish a connection encrypted by wolfSSL. Like the names indicate, once the connection has been established any messages entered into echoclient are sent to and displayed on the echoserver and are then echoed back to echoclient. The nature of the encryption, as well as additional behavior of the two programs, depends on how wolfSSL was configured ( DTLS enabled/disabled, Filesystem enabled/disabled, etc ... ).

Compile

./configure
make

Usage

./examples/echoserver/echoserver

./examples/echoclient/echoclient

benchmark

The benchmark directory offers an application that can help you grasp just how well wolfSSL's TLS functionality is performing on your local machine.

Compile

./configure
make

Usage

./examples/benchmark/tls_bench

The tls_bench executable can also be compiled separately with gcc -lwolfssl -lpthread -o tls_bench tls_bench.c.

Run ./examples/benchmark/tls_bench -? for usage details.

sctp

This directory contains servers and clients that demonstrate wolfSSL's DTLS-SCTP support.

Compile

./configure --enable-sctp
make

Usage

./examples/sctp/sctp-server

./examples/sctp/sctp-client

and

./examples/sctp/sctp-server-dtls

./examples/sctp/sctp-client-dtls

configs

This directory contains example wolfSSL configuration file templates for use when autoconf is not available, such as building with a custom IDE.

See configs/README.md for more details.