|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- // \file PostfixIntegrate.hpp
- //
- // Copyright (C) 2012 ARM Research Labs, LLC.
- // See www.armresearch.com for the copyright terms.
- //
- // This file defines the PostfixIntegrate interface.
- //
- // $Id$
- //
- ///////////////////////////////////////////////////////////////////////////////////////////////////
-
- #ifndef PostfixIntegratehpp_included
- #define PostfixIntegratehpp_included
-
- #include "MtaIntegrate.hpp"
-
- /// Class to manage the SNFServer integration with postfix.
- //
- // This class implements the MtaIntegrate interface for postfix.
- //
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- class PostfixIntegrate : public MtaIntegrate {
-
- public:
-
- virtual void SetOperatingSystem(std::string OperatingSystemType);
-
- virtual void Integrate(FileBackup *SaveFile);
-
- virtual void Unintegrate(FileBackup *SaveFile);
-
- // Return the default chroot configuration of Postfix.
- //
- // \returns true if the default configuration is for postfix to
- // run chrooted, false otherwise.
- //
- bool DefaultIsChrooted();
-
- private:
-
- virtual bool MtaIsRunningDetected();
-
- virtual bool ReloadMta();
-
- virtual bool IsIntegrated();
-
- bool MtaConfigurationIsChrooted();
-
- /// Directory containing the snfSniffer script.
- std::string SnfSnifferDirName;
-
- /// snfSniffer script file name, including the directory.
- std::string SnfSnifferFileName;
-
- /// Sample snfSniffer script file name, including the directory.
- std::string SnfSnifferSampleFileName;
-
- /// Content filter line.
- //
- // To integrate, this line is added to master.cf just after the
- // "smtp" line.
- //
- std::string ContentFilterLine;
-
- /// Content filter specification.
- //
- // To integrate this is added to the end of the master.cf line.
- //
- std::string ContentFilterSpec;
-
- /// Postfix main.cf file path.
- std::string PostfixMainCfPath;
-
- /// Postfix master.cf file path.
- std::string PostfixMasterCfPath;
-
- /// Command to determine whether postfix is running.
- std::string MtaIsRunningCommand;
-
- /// Command to reload postfix.
- std::string ReloadMtaCommand;
-
- /// True if postfix runs chrooted by default.
- bool PostfixDefaultIsChrooted;
-
- };
-
- #endif
|