X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=postlicyd%2Fconfig.h;h=8aa61326b60e9661cdc655f032557104e8ee3f9d;hb=380e4e0ee92811b2edd87f06ad7f0d13e92882d4;hp=554fe96cf4de28ceb164bd92c66da105410fe0fe;hpb=9fc48ba2176a71585c13cd346968bdba499e80de;p=apps%2Fpfixtools.git diff --git a/postlicyd/config.h b/postlicyd/config.h index 554fe96..8aa6132 100644 --- a/postlicyd/config.h +++ b/postlicyd/config.h @@ -16,17 +16,20 @@ /* products derived from this software without specific prior written */ /* permission. */ /* */ -/* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND */ -/* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE */ -/* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ -/* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS */ -/* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR */ -/* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF */ -/* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS */ -/* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN */ -/* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) */ -/* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF */ -/* THE POSSIBILITY OF SUCH DAMAGE. */ +/* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS */ +/* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED */ +/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */ +/* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY */ +/* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL */ +/* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS */ +/* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) */ +/* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, */ +/* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */ +/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */ +/* POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/* Copyright (c) 2006-2008 the Authors */ +/* see AUTHORS and source files for details */ /******************************************************************************/ /* @@ -41,14 +44,49 @@ typedef struct config_t config_t; struct config_t { - A(filter_t) filters; + /* SOURCE */ + /* Root configuration file. + */ + const char *filename; + + /* Parameters. + */ A(filter_param_t) params; + + + /* INTERPRETED */ + /* Filters. + */ + A(filter_t) filters; + + /* Entry point of the filters. + * (one per smtp state) + */ int entry_points[SMTP_count]; + + /* Port on which the program have to bind to. + * The parameter from CLI override the parameter from configuration file. + */ + uint16_t port; + + /* Log message. + */ + char *log_format; }; +#define DEFAULT_LOG_FORMAT \ + "request client=${client_name}[${client_address}] from=<${sender}> " \ + "to=<${recipient}> at ${protocol_state}" + __attribute__((nonnull(1))) config_t *config_read(const char *file); +__attribute__((nonnull(1))) +bool config_check(const char *file); + +__attribute__((nonnull(1))) +bool config_reload(config_t *config); + void config_delete(config_t **config); #endif