Bump version to 2.5.2
Server_Example: Demonstrate reading of client certificates

Originally authored by: cngimenez <cnngimenez@disroot.org>
Cleaned up and slightly rewritten by: nytpu <alex@nytpu.com>
TLS.Contexts.{Server,Client}: Force TLS handshake after connecting to peer

If the handshake is not forced, then the routines for retrieving connection
metadata such as certificate info will not function prior to a Context.Read or
a Context.Write (where libtls will automatically initiate the handshake if

Originally authored by: cngimenez <cnngimenez@disroot.org>
Cleaned up and slightly rewritten by: nytpu <alex@nytpu.com>
TLS.Get_Delim: fix really annoying 'delimeter' typo
TLS.Get_Delim: use `Substring [not] in String` notation rather than Ada.Strings.Fixed.Index in postcondition
Bump version to 2.5.1
TLS.Contexts.Close: Fix bug that causes internal libtls error when reusing contexts
TLS.Contexts.*: Use dot method calls instead of parenthetical calls for cleanliness
Bump version to 2.5.0
TLS.Get_Delim: Fix bug where End_Error would be raised instead of setting Encountered_Delim to False
Server_Example: Fix erroneous closing of connection

The server example was failing to read the request header prior to writing the
(static) response, which made many Gemini clients (including the bundled Client
example) unhappy and they reported an erroneous "connection reset" error.
Automatically initialize Contexts to obviate an explicit Create call.

Using the Rosen trick[1], Contexts are now automatically initialized so
consumers do not need to explicitly call the proper Create.

[1]: https://en.wikibooks.org/wiki/Ada_Programming/Object_Orientation#Multiple_Inheritance_via_Mix-in
TLS.Contexts: Move connected & configured flags to wrapper
TLS.Contexts.Read: Substantially simplify return value handling
TLS.Get_Delim: Fix Encountered_Delim being set erroneously

Fix an issue where Encountered_Delim would be falsely set to True if the length
limit of the string is exceeded.
TLS.Contexts.Write: Document better and clean up
TLS.Contexts.Read: Make compliant with Ada.Streams specification

Read previously would raise End_Error if no items were read, modify it to
instead properly set Last to Stream_Element_Offset'First when no items were
read.  Also fixes a potential bounds violation in the array offset calculation.
TLS.Contexts.Read: Fix length calculation for unusual array bounds.

The previous implementation would only set Last correctly for arrays starting
at 1, this new implementation generalizes it to arrays of any range.
alire.toml: specify TLSADA_ prefixed external variables
Bump version to 2.4.2