- // \file PostfixIntegrate.hpp
- //
- // Copyright (C) 2011 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 SNFMilter 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();
-
- /// Postfix main.cf file path.
- std::string PostfixMainCfPath;
-
- /// Postfix master.cf file path.
- std::string PostfixMasterCfPath;
-
- /// Value of smtpd_milters keyword.
- std::string PostfixSocketSpec;
-
- /// 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
|