Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cSecureServerFactory Class Reference

#include <cSecureChannel.h>

Inheritance diagram for GrayLib::cSecureServerFactory:
GrayLib::IProtocolFactory

Public Member Functions

virtual const char * get_ProtocolName () const override
 
virtual HRESULT TestProtocol (const BYTE *pszPrefixData, size_t iPrefixLen) const override
 
virtual cProtocolStreamPtr CreateProtocolStream (IUnkObject *pServerConnection, cStreamInput *pStreamInp, cStreamOutput *pStreamOut) override
 
virtual HRESULT FindChallengeMatch (cSecureServerStream *pStream, const void *pData, size_t nDataSize)
 
- Public Member Functions inherited from GrayLib::IProtocolFactory
virtual ~IProtocolFactory ()
 
virtual size_t get_ProtocolMaxMessageSize () const
 

Protected Attributes

cProtocolFactories m_Factories
 What protocols are we wrapping? More...
 

Detailed Description

The SecureServer protocol factory. Wraps some other IProtocolFactory.

Member Function Documentation

◆ CreateProtocolStream()

virtual cProtocolStreamPtr GrayLib::cSecureServerFactory::CreateProtocolStream ( IUnkObject *  pServerConnection,
cStreamInput pStreamInp,
cStreamOutput pStreamOut 
)
inlineoverridevirtual

◆ FindChallengeMatch()

HRESULT GrayLib::cSecureServerFactory::FindChallengeMatch ( cSecureServerStream pStream,
const void *  pData,
size_t  nDataSize 
)
virtual

Default to accept anything. Override this. Must also set m_pProtocol2! Does the clients challenge response match a valid password from the user. pStream->m_Id.m_sUserId

Returns
S_OK, pStream->m_HashPass = password that matched. HRESULT_WIN32_C(ERROR_INVALID_PASSWORD)

◆ get_ProtocolName()

virtual const char* GrayLib::cSecureServerFactory::get_ProtocolName ( ) const
inlineoverridevirtual

◆ TestProtocol()

virtual HRESULT GrayLib::cSecureServerFactory::TestProtocol ( const BYTE *  pszPrefixData,
size_t  iPrefixLen 
) const
inlineoverridevirtual

Does the incoming data stream look like a proper client cSecureKnock?

Returns
Number of bytes consumed = good client packet, HRESULT_WIN32_C(ERROR_IO_INCOMPLETE) = not enough data for a complete header yet. <0 = error fail this.

Implements GrayLib::IProtocolFactory.

Member Data Documentation

◆ m_Factories

cProtocolFactories GrayLib::cSecureServerFactory::m_Factories
protected

What protocols are we wrapping?


The documentation for this class was generated from the following files: