mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-11-03 15:57:19 +01:00
Major plugin refactor and cleanup.
Switched to POCO library for unified platform/library interface. Deprecated the external module API. It was creating more problems than solving. Removed most built-in libraries in favor of system libraries for easier maintenance. Cleaned and secured code with help from static analyzers.
This commit is contained in:
79
vendor/POCO/NetSSL_OpenSSL/include/Poco/Net/Session.h
vendored
Normal file
79
vendor/POCO/NetSSL_OpenSSL/include/Poco/Net/Session.h
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
//
|
||||
// Session.h
|
||||
//
|
||||
// Library: NetSSL_OpenSSL
|
||||
// Package: SSLCore
|
||||
// Module: Session
|
||||
//
|
||||
// Definition of the Session class.
|
||||
//
|
||||
// Copyright (c) 2010, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef NetSSL_Session_INCLUDED
|
||||
#define NetSSL_Session_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/NetSSL.h"
|
||||
#include "Poco/RefCountedObject.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
#include <openssl/ssl.h>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class NetSSL_API Session: public Poco::RefCountedObject
|
||||
/// This class encapsulates a SSL session object
|
||||
/// used with session caching on the client side.
|
||||
///
|
||||
/// For session caching to work, a client must
|
||||
/// save the session object from an existing connection,
|
||||
/// if it wants to reuse it with a future connection.
|
||||
{
|
||||
public:
|
||||
using Ptr = Poco::AutoPtr<Session>;
|
||||
|
||||
SSL_SESSION* sslSession() const;
|
||||
/// Returns the stored OpenSSL SSL_SESSION object.
|
||||
|
||||
protected:
|
||||
Session(SSL_SESSION* pSession);
|
||||
/// Creates a new Session object, using the given
|
||||
/// SSL_SESSION object.
|
||||
///
|
||||
/// The SSL_SESSION's reference count is not changed.
|
||||
|
||||
~Session();
|
||||
/// Destroys the Session.
|
||||
///
|
||||
/// Calls SSL_SESSION_free() on the stored
|
||||
/// SSL_SESSION object.
|
||||
|
||||
private:
|
||||
Session();
|
||||
|
||||
SSL_SESSION* _pSession;
|
||||
|
||||
friend class SecureSocketImpl;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline SSL_SESSION* Session::sslSession() const
|
||||
{
|
||||
return _pSession;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // NetSSL_Session_INCLUDED
|
||||
Reference in New Issue
Block a user