micropython/extmod
Damien George e8a4c1dd53 extmod/modssl: Add SSLContext class.
This commit adds the SSLContext class to the ssl module, and retains the
existing ssl.wrap_socket() function to maintain backwards compatibility.

CPython deprecated the ssl.wrap_socket() function since CPython 3.7 and
instead one should use ssl.SSLContext().wrap_socket().  This commit makes
that possible.

For the axtls implementation:
- ssl.SSLContext is added, although it doesn't hold much state because
  axtls requires calling ssl_ctx_new() for each new socket
- ssl.SSLContext.wrap_socket() is added
- ssl.PROTOCOL_TLS_CLIENT and ssl.PROTOCOL_TLS_SERVER are added

For the mbedtls implementation:
- ssl.SSLContext is added, and holds most of the mbedtls state
- ssl.verify_mode is added (getter and setter)
- ssl.SSLContext.wrap_socket() is added
- ssl.PROTOCOL_TLS_CLIENT and ssl.PROTOCOL_TLS_SERVER are added

The signatures match CPython:
- SSLContext(protocol)
- SSLContext.wrap_socket(sock, *, server_side=False,
    do_handshake_on_connect=True, server_hostname=None)

The existing ssl.wrap_socket() functions retain their existing signature.

Signed-off-by: Damien George <damien@micropython.org>
2023-06-26 16:34:41 +10:00
..
asyncio extmod/asyncio/uasyncio.py: Add backwards-compatible uasyncio alias. 2023-06-19 18:37:34 +10:00
axtls-include extmod/axtls-include: Add back needed header files for building axTLS. 2023-01-12 16:04:57 +11:00
btstack extmod/btstack: Fix marking of static addresses in set_random_address. 2023-06-14 22:20:20 +10:00
lwip-include all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
mbedtls extmod/mbedtls: Remove brainpool curves from config. 2022-10-22 19:12:46 +11:00
nimble all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
extmod.cmake extmod/asyncio: Rename uasyncio to asyncio. 2023-06-19 17:33:03 +10:00
extmod.mk extmod/asyncio: Rename uasyncio to asyncio. 2023-06-19 17:33:03 +10:00
font_petme128_8x8.h extmod: Move font_petme128_8x8.h from ports/stm32 to extmod. 2022-05-05 13:30:40 +10:00
machine_bitstream.c extmod: Add machine.bitstream. 2021-08-19 22:50:11 +10:00
machine_bitstream.h extmod: Add machine.bitstream. 2021-08-19 22:50:11 +10:00
machine_i2c.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_i2c.h py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_mem.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_mem.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
machine_pinbase.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_pinbase.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
machine_pulse.c esp8266: Provide custom machine_time_pulse_us that feeds soft WDT. 2019-07-01 22:53:00 +10:00
machine_pulse.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
machine_pwm.c extmod/machine_pwm: Remove PWM_INIT and PWM_DUTY_U16_NS config options. 2023-05-04 13:19:19 +10:00
machine_pwm.h extmod/machine_pwm: Factor out machine.PWM bindings to common code. 2021-09-04 16:31:17 +10:00
machine_signal.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_signal.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
machine_spi.c extmod: Add and reorganise compilation guards and includes. 2022-11-11 16:24:32 +11:00
machine_spi.h py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_timer.c extmod: Add and reorganise compilation guards and includes. 2022-11-11 16:24:32 +11:00
misc.h all: Rename mp_umodule*, mp_module_umodule* to remove the "u" prefix. 2023-06-08 17:54:04 +10:00
modasyncio.c extmod/asyncio: Rename uasyncio to asyncio. 2023-06-19 17:33:03 +10:00
modbinascii.c extmod/modbinascii: Fix buffer length error. 2023-06-21 09:48:11 +01:00
modbluetooth.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modbluetooth.h extmod/btstack: Add support for CCCD to allow client subscriptions. 2023-04-26 11:37:20 +10:00
modbtree.c extmod/modbtree: Undefine queue macros before including berkeley-db. 2023-06-23 15:34:22 +10:00
modcryptolib.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modframebuf.c extmod/modframebuf: Fix crash in FrameBuffer scrolling beyond extents. 2022-12-09 16:47:23 +11:00
modhashlib.c extmod: Update to support mbedtls 3.x. 2023-06-23 15:22:27 +10:00
modheapq.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modjson.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modlwip.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modnetwork.c stm32: Update to use the open-source lib version of cyw43-driver. 2023-03-01 01:27:12 +11:00
modnetwork.h all: Rename UMODULE to MODULE in preprocessor/Makefile vars. 2023-06-08 17:54:11 +10:00
modonewire.c all: Remove third argument to MP_REGISTER_MODULE. 2022-06-02 16:31:37 +10:00
modos.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modplatform.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modplatform.h extmod/modplatform: Set MICROPY_PLATFORM_ARCH on riscv platforms. 2023-06-23 15:34:22 +10:00
modrandom.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modre.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modselect.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modsocket.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modssl_axtls.c extmod/modssl: Add SSLContext class. 2023-06-26 16:34:41 +10:00
modssl_mbedtls.c extmod/modssl: Add SSLContext class. 2023-06-26 16:34:41 +10:00
modtime.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modtime.h all: Rename *umodule*.h to remove the "u" prefix. 2023-06-08 17:54:14 +10:00
moductypes.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modwebrepl.c all: Rename *umodule*.h to remove the "u" prefix. 2023-06-08 17:54:14 +10:00
modwebsocket.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
modwebsocket.h all: Rename *umodule*.h to remove the "u" prefix. 2023-06-08 17:54:14 +10:00
modzlib.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
mpbthci.c extmod/modbluetooth: Refactor stack/hci/driver/port bindings. 2020-09-08 11:41:31 +10:00
mpbthci.h extmod/nimble: Add support for reading whole HCI UART packets. 2022-06-03 11:53:28 +10:00
network_cyw43.c extmod/network_cyw43: Add power management constants. 2023-05-08 11:56:31 +10:00
network_cyw43.h extmod: Add network-level class binding to cyw43 driver. 2019-06-03 16:47:35 +10:00
network_lwip.c extmod/modnetwork: Allow more extensive port-specific customisation. 2023-03-01 01:26:44 +11:00
network_ninaw10.c extmod/network_ninaw10: Add missing raw socket type to socket(). 2023-04-05 09:46:46 +10:00
network_wiznet5k.c extmod/modnetwork: Use a type protocol to implement NIC functions. 2022-12-15 17:40:06 +11:00
os_dupterm.c all: Rename *umodule*.c to remove the "u" prefix. 2023-06-08 17:54:17 +10:00
utime_mphal.h all: Rename *umodule*.h to remove the "u" prefix. 2023-06-08 17:54:14 +10:00
vfs_blockdev.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
vfs_fat_diskio.c tools/uncrustify: Enable more opts to remove space between func and '('. 2020-06-19 22:07:32 +10:00
vfs_fat_file.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
vfs_fat.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
vfs_fat.h extmod: Factor out block-device struct to make independent of fatfs. 2019-10-29 12:12:37 +11:00
vfs_lfs.c extmod: Add and reorganise compilation guards and includes. 2022-11-11 16:24:32 +11:00
vfs_lfs.h extmod: Add VFS littlefs bindings. 2019-10-29 14:17:29 +11:00
vfs_lfsx_file.c extmod: Add and reorganise compilation guards and includes. 2022-11-11 16:24:32 +11:00
vfs_lfsx.c extmod/vfs_lfsx: Fix offset used before range check. 2023-05-19 22:01:10 +10:00
vfs_posix_file.c all: Rename UMODULE to MODULE in preprocessor/Makefile vars. 2023-06-08 17:54:11 +10:00
vfs_posix.c all: Rename UMODULE to MODULE in preprocessor/Makefile vars. 2023-06-08 17:54:11 +10:00
vfs_posix.h extmod/vfs: Introduce a C-level VFS protocol, with fast import_stat. 2018-06-06 14:33:42 +10:00
vfs_reader.c extmod/vfs_reader: Fix mp_reader_new_file to open file in "rb" mode. 2020-08-12 23:40:50 +10:00
vfs.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
vfs.h py/builtin: Clean up and simplify import_stat and builtin_open config. 2022-05-25 13:04:45 +10:00
virtpin.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
virtpin.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00