Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

PostfixIntegrate.hpp 2.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // \file PostfixIntegrate.hpp
  2. //
  3. // Copyright (C) 2012 ARM Research Labs, LLC.
  4. // See www.armresearch.com for the copyright terms.
  5. //
  6. // This file defines the PostfixIntegrate interface.
  7. //
  8. // $Id$
  9. //
  10. ///////////////////////////////////////////////////////////////////////////////////////////////////
  11. #ifndef PostfixIntegratehpp_included
  12. #define PostfixIntegratehpp_included
  13. #include "MtaIntegrate.hpp"
  14. /// Class to manage the SNFServer integration with postfix.
  15. //
  16. // This class implements the MtaIntegrate interface for postfix.
  17. //
  18. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  19. class PostfixIntegrate : public MtaIntegrate {
  20. public:
  21. virtual void SetOperatingSystem(std::string OperatingSystemType);
  22. virtual void Integrate(FileBackup *SaveFile);
  23. virtual void Unintegrate(FileBackup *SaveFile);
  24. // Return the default chroot configuration of Postfix.
  25. //
  26. // \returns true if the default configuration is for postfix to
  27. // run chrooted, false otherwise.
  28. //
  29. bool DefaultIsChrooted();
  30. private:
  31. virtual bool MtaIsRunningDetected();
  32. virtual bool ReloadMta();
  33. virtual bool IsIntegrated();
  34. bool MtaConfigurationIsChrooted();
  35. /// Directory containing the snfSniffer script.
  36. std::string SnfSnifferDirName;
  37. /// snfSniffer script file name, including the directory.
  38. std::string SnfSnifferFileName;
  39. /// Sample snfSniffer script file name, including the directory.
  40. std::string SnfSnifferSampleFileName;
  41. /// Content filter line.
  42. //
  43. // To integrate, this line is added to master.cf just after the
  44. // "smtp" line.
  45. //
  46. std::string ContentFilterLine;
  47. /// Content filter specification.
  48. //
  49. // To integrate this is added to the end of the master.cf line.
  50. //
  51. std::string ContentFilterSpec;
  52. /// Postfix main.cf file path.
  53. std::string PostfixMainCfPath;
  54. /// Postfix master.cf file path.
  55. std::string PostfixMasterCfPath;
  56. /// Command to determine whether postfix is running.
  57. std::string MtaIsRunningCommand;
  58. /// Command to reload postfix.
  59. std::string ReloadMtaCommand;
  60. /// True if postfix runs chrooted by default.
  61. bool PostfixDefaultIsChrooted;
  62. };
  63. #endif