⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sec_clr.h

📁 伯克利做的SFTP安全文件传输协议
💻 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 + -