Tags: sidepelican/postgres-nio
Tags
Fix NIOSSL deprecation warnings - Package.swift had the `NIOSSL` package raised to 2.14.1 from the previous 2.12.0. - All instances of `TLSConfiguration.forClient` have been replaced with `TLSConfiguration.makeClientConfiguration` Co-authored-by: Fabian Fett <fabianfett@apple.com>
State machine (vapor#135) * Adds PSQLFrontendMessage & PSQLBackendMessage * State machine * Removed Xcode headers. * Apply suggestions from code review Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org> * Code review * Apply suggestions from code review Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org> * Code review * Apply suggestions from code review Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org> * Code review * Add rudementary sasl support * Update Sources/PostgresNIO/Connection/PostgresConnection+Notifications.swift Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org> * Code review * Code review * A little more error handling * Error handling * Better logging * Fixes! * Some better state handling when closing * State machine tests * Better cleanup in error states * Cherry pick to be reverted. * PreparedStatementStateMachine tests * Code review * Enable trace logging to better find the flaky tests * PSQLChannelHandler logging + cleanup * PR review * Code review * Update Sources/PostgresNIO/New/Connection State Machine/AuthenticationStateMachine.swift Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org> * Last code comment * Last code comment fix Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
Support for SCRAM-SHA-256 SASL authentication (vapor#89) * Add protocol awareness and encode/decode for authentication message types 10 (SASL mechanisms), 11 (SASL continue), and 12 (SASL final). Add more specific errors for types 2(Kerberos), 7(GSSAPI), 8(GSSAPI), 9(SSPI), and 6(obsolete SCM). * Add generic SASL authentication management class with pluggable (via generics) SASL mechanism implementations. * A mostly complete, if very, VERY messy, implementation of SCRAM-SHA-256 and SCRAM-SHA-256-PLUS per RFC 7677 et al. Things that are still missing: Channel binding support (Postgres DOES use this), authorization names (Postgres does not use these), proper username and password normalization, RFC-compliant validation of nonces, and determining whether the Hi() function can be replaced with PBKDF2 * Extend PostgresConnection to use SCRAM-SHA-256 negotiation when offered. * Heavily update test matrix. Leave several of the Swift version/OS combos disabled to cut down on the excessive number of checks generated by the test matrices (72 instead of 234).
PreviousNext