📄 sec_clr.h
字号:
// sec_clr.h// cleartext "security" mechanism// copyright SafeTP Development Group, Inc., 2000 Terms of use are as specified in license.txt#ifndef __SEC_CLR_H#define __SEC_CLR_H#include "provider.h" // SecurityProvider, *Security// ----------------- X-Cleartext ---------------------// simple identity encoding and decodingclass CleartextControlSecurity : public ControlSecurity {public: // Transform functions virtual int maximumEncodedSize(int decodedSize) const { return decodedSize; } virtual int maximumDecodedSize(int encodedSize) const { return encodedSize; } virtual void encode(DataBlock &) {} virtual void decode(DataBlock &) {} // ControlSecurity functions // (none; no ADAT)};// identity encode/decodeclass CleartextDataSecurity : public DataSecurity {public: // Transform functions virtual int maximumEncodedSize(int decodedSize) const { return decodedSize; } virtual int maximumDecodedSize(int encodedSize) const { return encodedSize; } virtual void encode(DataBlock &) {} virtual void decode(DataBlock &) {} // DataSecurity functions virtual DataSecurityLevel getSupportedProtLevels() const; virtual char getCodeForLevel(DataSecurityLevel level) const; virtual DataSecurityLevel getLevelForCode(char code) const;};// simplest possible "security" mechanism: X-Cleartextclass CleartextProvider : public SecurityProvider { CleartextControlSecurity _control; CleartextDataSecurity _data;public: virtual ControlSecurity &control() { return _control; } virtual DataSecurity &data() { return _data; }};// ----------------- X-Cleartext2 ---------------------// cleartext mechanism with some ADAT exchanges, for debuggingclass CleartextControl2 : public CleartextControlSecurity {private: // data bool isClient; int state; static char const * const serverFirst; static char const * const clientFirst; static char const * const serverSecond; static char const * const clientSecond;private: // funcs void checkAdat(DataBlock const &reallyIs, char const *shouldBe, char const *context);public: CleartextControl2(bool ic) : isClient(ic), state(0) {} virtual bool hasOutgoingAdat() const; virtual void getNextOutgoingAdat(DataBlock &block); virtual bool expectingIncomingAdat() const; virtual void incomingAdat(DataBlock &block);};// provider for X-Cleartext2class CleartextProvider2 : public SecurityProvider { CleartextControl2 _control; CleartextDataSecurity _data;public: CleartextProvider2(bool ic) : _control(ic), _data() {} virtual ControlSecurity &control() { return _control; } virtual DataSecurity &data() { return _data; }};#endif // __SEC_CLR_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -