1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-07-24 17:51:47 +02:00
Files
.github
bin
module
vendor
CPR
CivetWeb
ConcurrentQueue
Fmt
MDBC
MaxmindDB
POCO
ActiveRecord
ApacheConnector
CppParser
CppUnit
Crypto
Data
Encodings
Foundation
JSON
JWT
MongoDB
Net
NetSSL_OpenSSL
cmake
doc
include
Poco
Net
AcceptCertificateHandler.h
CertificateHandlerFactory.h
CertificateHandlerFactoryMgr.h
ConsoleCertificateHandler.h
Context.h
FTPSClientSession.h
FTPSStreamFactory.h
HTTPSClientSession.h
HTTPSSessionInstantiator.h
HTTPSStreamFactory.h
InvalidCertificateHandler.h
KeyConsoleHandler.h
KeyFileHandler.h
NetSSL.h
PrivateKeyFactory.h
PrivateKeyFactoryMgr.h
PrivateKeyPassphraseHandler.h
RejectCertificateHandler.h
SSLException.h
SSLManager.h
SecureSMTPClientSession.h
SecureServerSocket.h
SecureServerSocketImpl.h
SecureSocketImpl.h
SecureStreamSocket.h
SecureStreamSocketImpl.h
Session.h
Utility.h
VerificationErrorArgs.h
X509Certificate.h
samples
src
testsuite
CMakeLists.txt
Makefile
NetSSL_OpenSSL.progen
NetSSL_OpenSSL_vs140.sln
NetSSL_OpenSSL_vs140.vcxproj
NetSSL_OpenSSL_vs140.vcxproj.filters
NetSSL_OpenSSL_vs150.sln
NetSSL_OpenSSL_vs150.vcxproj
NetSSL_OpenSSL_vs150.vcxproj.filters
NetSSL_OpenSSL_vs160.sln
NetSSL_OpenSSL_vs160.vcxproj
NetSSL_OpenSSL_vs160.vcxproj.filters
NetSSL_OpenSSL_vs90.sln
NetSSL_OpenSSL_vs90.vcproj
dependencies
NetSSL_Win
PDF
PageCompiler
PocoDoc
ProGen
Redis
SevenZip
Util
XML
Zip
build
ci
cmake
contrib
doc
packaging
patches
release
.gitattributes
.gitignore
.gitmodules
CHANGELOG
CMakeLists.txt
CODE_OF_CONDUCT.md
CONTRIBUTING.md
CONTRIBUTORS
LICENSE
Makefile
NEWS
README
README.md
VERSION
build_cmake.cmd
build_cmake.sh
build_vs140.cmd
build_vs150.cmd
build_vs160.cmd
buildwin.cmd
buildwin.ps1
components
configure
cppignore.lnx
cppignore.win
env.bat
env.sh
libversion
PUGIXML
RPMalloc
SAJSON
SimpleIni
Squirrel
TinyDir
UTF8
ZMQ
xxHash
CMakeLists.txt
.gitignore
.gitmodules
CMakeLists.txt
LICENSE
README.md
SqMod/vendor/POCO/NetSSL_OpenSSL/include/Poco/Net/NetSSL.h
Sandu Liviu Catalin 4a6bfc086c 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.
2021-01-30 08:51:39 +02:00

95 lines
2.5 KiB
C++

//
// NetSSL.h
//
// Library: NetSSL_OpenSSL
// Package: SSLCore
// Module: OpenSSL
//
// Basic definitions for the Poco OpenSSL library.
// This file must be the first file included by every other OpenSSL
// header file.
//
// Copyright (c) 2006-2009, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef NetSSL_NetSSL_INCLUDED
#define NetSSL_NetSSL_INCLUDED
#include "Poco/Net/Net.h"
#include "Poco/Crypto/Crypto.h"
//
// The following block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the NetSSL_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// NetSSL_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
//
#if (defined(_WIN32) || defined(__CYGWIN__)) && defined(POCO_DLL)
#if defined(NetSSL_EXPORTS)
#define NetSSL_API __declspec(dllexport)
#else
#define NetSSL_API __declspec(dllimport)
#endif
#endif
#if !defined(NetSSL_API)
#if !defined(POCO_NO_GCC_API_ATTRIBUTE) && defined (__GNUC__) && (__GNUC__ >= 4)
#define NetSSL_API __attribute__ ((visibility ("default")))
#else
#define NetSSL_API
#endif
#endif
//
// Automatically link NetSSL and OpenSSL libraries.
//
#if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS)
#if !defined(NetSSL_EXPORTS)
#pragma comment(lib, "PocoNetSSL" POCO_LIB_SUFFIX)
#endif
#endif // POCO_NO_AUTOMATIC_LIBS
#endif
namespace Poco {
namespace Net {
void NetSSL_API initializeSSL();
/// Initialize the NetSSL library, as well as the underlying OpenSSL
/// libraries, by calling Poco::Crypto::OpenSSLInitializer::initialize().
///
/// Should be called before using any class from the NetSSL library.
/// The NetSSL will be initialized automatically, through
/// Poco::Crypto::OpenSSLInitializer instances or similar mechanisms
/// when creating Context or SSLManager instances.
/// However, it is recommended to call initializeSSL()
/// in any case at application startup.
///
/// Can be called multiple times; however, for every call to
/// initializeSSL(), a matching call to uninitializeSSL()
/// must be performed.
void NetSSL_API uninitializeSSL();
/// Uninitializes the NetSSL library by calling
/// Poco::Crypto::OpenSSLInitializer::uninitialize() and
/// shutting down the SSLManager.
} } // namespace Poco::Net
#endif // NetSSL_NetSSL_INCLUDED