| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
This adds support for TLS Pre-Shared Key (PSK) authentication, allowing secure connections without certificates using a shared secret key. Changes: - Add psk_cred_handler() builder method to create_webserver - Add psk_cred_handler_callback typedef for PSK credential lookup - Implement psk_cred_handler_func() static callback using GnuTLS - Add MHD_OPTION_GNUTLS_PSK_CRED_HANDLER option when PSK is configured - Add AM_CONDITIONAL for HAVE_GNUTLS in configure.ac - Remove deprecated AC_HEADER_STDC macro - Add minimal_https_psk example demonstrating PSK usage - Add conditional GnuTLS linking in test/Makefile.am - Update README.md with PSK documentation and example The callback receives a username and returns the hex-encoded PSK, or an empty string for unknown users.
The library now uses GnuTLS functions (gnutls_malloc, gnutls_free, gnutls_hex2bin) for PSK support, so all examples need to link against gnutls when HAVE_GNUTLS is defined, not just the PSK example.
- Update sanitizer builds (asan, lsan, tsan, ubsan) from clang-13 to clang-18 - Move clang-11, clang-12, clang-13 tests to ubuntu-22.04 - Add new clang-14 through clang-17 tests on ubuntu-latest - Add gcc-11 through gcc-14 tests - Remove obsolete ubuntu-20.04 jobs (gcc-7, gcc-8, clang-6 through clang-10) - Update IWYU job to use clang-18 on ubuntu-latest - Fix cpplint errors: add missing includes and fix namespace indentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove valgrind-dbg package (debug symbols now included in main package) - Update valgrind job to use GCC 14 instead of GCC 10 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
GCC 14 with -Werror catches a latent warning in littletest.hpp test framework that older compilers don't flag. Use GCC 13 for now. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
Requirements for Adding, Changing, or Removing a Feature
Issue or RFC Endorsed by Maintainers
Supersedes #333 - reimplementation with merge conflicts resolved.
Description of the Change
This PR adds TLS-PSK (Pre-Shared Key) authentication support to libhttpserver via a callback mechanism. PSK allows secure TLS connections without certificates by using a shared secret key.
Key changes:
Usage:
Alternate Designs
The callback could return binary data instead of hex-encoded strings, but hex encoding was chosen for simplicity and to match the common PSK representation format used by tools like gnutls-cli.
Possible Drawbacks
Verification Process
Release Notes
Added TLS-PSK (Pre-Shared Key) authentication support via the new psk_cred_handler() builder method, allowing secure connections without certificates.