Use the new botan 1.11.32 Tls::Client API (but stay compatible with older ones)
This commit is contained in:
@@ -19,22 +19,33 @@
|
||||
#include <string>
|
||||
#include <list>
|
||||
|
||||
#ifdef BOTAN_FOUND
|
||||
class BiboumiTLSPolicy: public Botan::TLS::Policy
|
||||
{
|
||||
public:
|
||||
#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,11,33)
|
||||
# if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,11,33)
|
||||
bool use_ecc_point_compression() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
};
|
||||
|
||||
# if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,11,32)
|
||||
# define BOTAN_TLS_CALLBACKS_OVERRIDE override final
|
||||
# else
|
||||
# define BOTAN_TLS_CALLBACKS_OVERRIDE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Does all the read/write, buffering etc. With optional tls.
|
||||
* But doesn’t do any connect() or accept() or anything else.
|
||||
*/
|
||||
class TCPSocketHandler: public SocketHandler
|
||||
#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,11,32)
|
||||
,public Botan::TLS::Callbacks
|
||||
#endif
|
||||
{
|
||||
protected:
|
||||
~TCPSocketHandler();
|
||||
@@ -139,22 +150,22 @@ private:
|
||||
* Called by the tls object that some data has been decrypt. We call
|
||||
* parse_in_buffer() to handle that unencrypted data.
|
||||
*/
|
||||
void tls_data_cb(const Botan::byte* data, size_t size);
|
||||
void tls_record_received(uint64_t rec_no, const Botan::byte* data, size_t size) BOTAN_TLS_CALLBACKS_OVERRIDE;
|
||||
/**
|
||||
* Called by the tls object to indicate that some data has been encrypted
|
||||
* and is now ready to be sent on the socket as is.
|
||||
*/
|
||||
void tls_output_fn(const Botan::byte* data, size_t size);
|
||||
void tls_emit_data(const Botan::byte* data, size_t size) BOTAN_TLS_CALLBACKS_OVERRIDE;
|
||||
/**
|
||||
* Called by the tls object to indicate that a TLS alert has been
|
||||
* received. We don’t use it, we just log some message, at the moment.
|
||||
*/
|
||||
void tls_alert_cb(Botan::TLS::Alert alert, const Botan::byte*, size_t);
|
||||
void tls_alert(Botan::TLS::Alert alert) BOTAN_TLS_CALLBACKS_OVERRIDE;
|
||||
/**
|
||||
* Called by the tls object at the end of the TLS handshake. We don't do
|
||||
* anything here appart from logging the TLS session information.
|
||||
*/
|
||||
bool tls_handshake_cb(const Botan::TLS::Session& session);
|
||||
bool tls_session_established(const Botan::TLS::Session& session) BOTAN_TLS_CALLBACKS_OVERRIDE;
|
||||
/**
|
||||
* Called whenever the tls session goes from inactive to active. This
|
||||
* means that the handshake has just been successfully done, and we can
|
||||
|
||||
Reference in New Issue
Block a user