head 1.58; access; symbols milter-greylist-4-5-13:1.58 milter-greylist-4-5-12:1.58 milter-greylist-4-5-11:1.58 milter-greylist-4-5-10:1.58 milter-greylist-4-9-10:1.58 milter-greylist-4-5-8:1.57 milter-greylist-4-5-9:1.58 milter-greylist-4-5-7:1.57 milter-greylist-4-5-6:1.57 milter-greylist-4-5:1.57 milter-greylist-4-5-5:1.57 milter-greylist-4-5-4:1.57 milter-greylist-4-5-3:1.57 milter-greylist-4-5-2:1.56 milter-greylist-4-5-1:1.55 milter-greylist-4-4-3:1.55 milter-greylist-4-4-2:1.54 milter-greylist-4-4-1:1.54 milter-greylist-4-4:1.54 milter-greylist-4-4-rc1:1.54 milter-greylist-4-4-alpha4:1.54 milter-greylist-4-4-alpha3:1.54 milter-greylist-4-4-alpha2:1.54 milter-greylist-4-4-alpha1:1.54 milter-greylist-4-2-7:1.49 milter-greylist-4-3-9:1.51 milter-greylist-4-2-6:1.49 milter-gresylit-4-2-6:1.49 milter-greylist-4-3-8:1.51 milter-greylist-4-3-7:1.51 milter-greylist-4-2-5:1.49 milter-greylist-4-3-6:1.51 milter-greylist-4-2-4:1.49 milter-greylist-4-3-5:1.51 milter-greylist-4-3-4:1.51 milter-greylist-4-2-3:1.49 milter-greylist-4-3-3:1.49 rmilter-greylist-4-2-3:1.49 milter-greylist-4-3-2:1.49 milter-greylist-4-3-1:1.49 milter-greylist-2-2-2:1.49 milter-greylist-4-2-2:1.49 milter-greylist-4-2-1:1.49 milter-greylist-4-2:1.49 milter-greylist-4-2-rc1:1.49 milter-greylist-4-2-beta1:1.49 milter-greylist-4-2-branch:1.49.0.2 milter-greylist-4-2-base:1.49 milter-greylist-4-2-0-base:1.49 milter-greylist-4-1-12:1.49 milter-greylist-4-1-11:1.49 milter-greylist-4-1-10:1.49 milter-greylist-4-1-9:1.49 milter-greylist-4-1-8:1.48 milter-greylist-4-1-7:1.48 milter-greylist-4-1-6:1.46 milter-greylist-4-0-1:1.40 milter-greylist-4-0-1-rc1:1.40 milter-greylist-4-1-5:1.41 milter-greylist-4-1-4:1.41 milter-greylist-4-1-3:1.41 milter-greylist-4-1-2:1.41 milter-greylist-4-1-1:1.41 milter-greylist-4-0-branch:1.40.0.2 milter-greylist-4-0-base:1.40 milter-greylist-4-0:1.40 milter-greylist-4-0-rc2:1.40 milter-greylist-4-0-rc1:1.40 milter-greylist-4-0-beta4:1.40 milter-greylist-4-0-beta3:1.40 milter-greylist-4-0-beta2:1.40 milter-greylist-4-0-beta1:1.40 milter-greylist-4-0-alpha6:1.40 milter-greylist-4-0-alpha5:1.40 milter-greylist-4-0-alpha4:1.40 milter-greylist-4-0-alpha3:1.40 milter-greylist-4-0-alpha2:1.40 milter-greylist-4-0-alpha1:1.40 milter-greylist-3-1-8:1.40 milter-greylist-3-1-7:1.40 milter-greylist-3-1-6:1.40 milter-greylist-3-1-5:1.40 milter-greylist-3-1-5-alpha1:1.39 milter-greylist-3-0-1-beta1:1.37.2.2 milter-greylist-3-1-4:1.39 milter-greylist-3-1-3:1.39 milter-greylist-3-1-2:1.39 milter-greylist-3-1-1:1.38 milter-greylist-3-0:1.37.2.2 milter-greylist-3-0-rc7:1.37.2.2 milter-greylist-3-0-rc6:1.37.2.2 milter-greylist-3-0-rc5:1.37.2.2 milter-greylist-3-0-rc4:1.37.2.2 milter-greylist-3-0-rc3:1.37.2.2 milter-greylist-3-0-rc2:1.37.2.2 milter-greylist-3-0-rc1:1.37.2.2 milter-greylist-3-0-alpha6:1.37.2.1 milter-greylist-3-0-branch:1.37.0.2 milter-greylist-3-0-base:1.37 milter-greylist-3-0-alpha5:1.37 milter-greylist-3-0-alpha4:1.36 milter-greylist-3-0-alpha3:1.36 milter-greylist-3-0-alpha2:1.36 milter-greylist-3-0-alpha1:1.36 milter-greylist-2-1-12:1.36 milter-greylist-2-1-11:1.36 milter-greylist-2-1-10:1.36 milter-greylist-2-1-9:1.36 milter-greylist-2-1-9a1:1.36 milter-greylist-2-1-8:1.36 milter-greylist-2-1-7:1.36 milter-greylist-2-1-6:1.35 milter-greylist-2-1-5:1.35 milter-greylist-2-1-4:1.35 milter-greylist-2-1-3:1.34 milter-greylist-2-1-2:1.33 milter-greylist-2-1-1:1.33 milter-greylist-2-0-2:1.31 milter-greylist-2-0-1:1.31 milter-greylist-2-0-1-b1:1.31 milter-greylist-2-0-release:1.31 milter-greylist-2-0-rc5:1.31 milter-greylist-2-0-rc4:1.31 milter-greylist-2-0-rc3:1.31 milter-grey-list-2-0-rc3:1.31 milter-grey-list-2-0-rc2:1.31 milter-grey-list-2-0-rc1:1.31 milter-greylist-2-0-beta7:1.31 milter-greylist-2-0-beta6:1.31 milter-gre-ylist-2-0-beta5:1.31 milter-greylist-2-0-beta5:1.31 milter-greylist-2-0-beta4:1.31 milter-greylist-2-0-beta3:1.31 milter-greylist-2-0-beta2:1.30 milter-greylist-2-0:1.30.0.2 milter-greylist-2-0-base:1.30 milter-greylist-2-0-beta1:1.30 milter-greylist-1-7-5:1.30 before_delayed_tempfail:1.29 milter-greylist-1-7-4:1.29 milter-greylist-1-7-3:1.29 milter-greylist-1-7-2:1.28 milter-greylist-1-6-0:1.27 milter-greylist-1-7-1:1.27 milter-greylist-1-6rc1:1.27 milter-greylist-1-6:1.27.0.2 milter-greylist-1-6-base:1.27 milter-greylist-1-5-12:1.27 milter-greylist-1-5-11:1.27 milter-greylist-1-5-10:1.27 milter-greylist-1-5-9:1.27 milter-greylist-1-5-8:1.26 milter-greylist-1-5-7:1.26 milter-greylist-1-5-6:1.26 milter-greylist-1-5-5:1.25 milter-greylist-1-5-4:1.25 milter-greylist-1-5-3:1.23 milter-greylist-1-5-2:1.23 milter-greylist-1-5-1:1.23 milter-greylist-1-4:1.23.0.2 milter-greylist-1-4-base:1.23 milter-greylist-1-3-9:1.23 milter-greylist-1-3-8:1.22 milter-greylist-1-3-7:1.22 milter-greylist-1-3-6:1.22 milter-greylist-1-3-5:1.22 milter-greylist-1-3-4:1.22 milter-greylist-1-3-3:1.21 BDB:1.19.0.2 BDB-base:1.19 before_BDB:1.17 milter-greylist-1-2-2:1.16 milter-greylist-1-3-2:1.17 milter-greylist-1-2-1:1.16 milter-greylist-1-2-0:1.16 milter-greylist-1-2:1.16.0.2 milter-greylist-1-2-base:1.16 milter-greylist-1-1-16:1.16 milter-greylist-1-1-15:1.16 milter-greylis-1-1-15:1.16 milter-greylis-1-1-16:1.16 milter-greylist-1-1-14:1.16 milter-greylist-1-1-13:1.16 milter-greylist-1-1-12:1.16 milter-greylist-1-1-11:1.16 milter-greylist-1-1-10:1.16 milter-greylist-1-10rc1:1.16 milter-greylist-1-1-9:1.15 milter-greylist-1-1-8:1.14 milter-greylist-1-1-7:1.10 milter-greylist-1-1-6:1.10 milter-greylist-1-1-5:1.10 milter-greylist-1-1-4:1.8 milter-greylist-1-1-3:1.4 milter-greylist-1-1-2:1.4 milter-greylist-1-0-2:1.4 rmilter-greylist-1-0-1:1.4 milter-greylist-1-0-1:1.4 milter-greylist-1-1-1:1.4 milter-greylist-1-0-base:1.4 milter-greylist-1-0:1.4.0.2 milter-greylist-1-0-0:1.4 milter-greylist-0-27:1.4 milter-greylist-0-26:1.4 milter-greylist-0-25:1.4 milter-greylist-0-24:1.4 milter-greylist-0-23:1.4 milter-greylist-0-22:1.4 milter-greylist-0-21:1.4 milter-greylist-0-20:1.4 milter-greylist-0-19:1.2 milter-greylist-0-18:1.1 milter-greylist-0-17:1.1 milter-greylist-0-16:1.1 milter-greylist-0-15:1.1 milter-greylist-0-14:1.1 milter-greylist-0-13:1.1; locks; strict; comment @ * @; 1.58 date 2014.02.04.15.19.25; author manu; state Exp; branches; next 1.57; 1.57 date 2013.08.16.03.02.34; author manu; state Exp; branches; next 1.56; 1.56 date 2013.08.13.03.45.35; author manu; state Exp; branches; next 1.55; 1.55 date 2013.01.19.16.01.15; author manu; state Exp; branches; next 1.54; 1.54 date 2012.02.21.05.53.43; author manu; state Exp; branches; next 1.53; 1.53 date 2012.02.20.13.49.52; author manu; state Exp; branches; next 1.52; 1.52 date 2011.08.17.01.06.49; author manu; state Exp; branches; next 1.51; 1.51 date 2009.09.09.12.19.17; author manu; state Exp; branches; next 1.50; 1.50 date 2009.09.07.12.56.54; author manu; state Exp; branches; next 1.49; 1.49 date 2009.01.17.04.32.55; author manu; state Exp; branches; next 1.48; 1.48 date 2008.11.06.11.23.53; author manu; state Exp; branches; next 1.47; 1.47 date 2008.10.30.04.39.39; author manu; state Exp; branches; next 1.46; 1.46 date 2008.09.26.23.35.44; author manu; state Exp; branches; next 1.45; 1.45 date 2008.09.26.17.00.51; author manu; state Exp; branches; next 1.44; 1.44 date 2008.09.07.00.13.34; author manu; state Exp; branches; next 1.43; 1.43 date 2008.09.02.04.15.33; author manu; state Exp; branches; next 1.42; 1.42 date 2008.08.21.21.05.35; author manu; state Exp; branches; next 1.41; 1.41 date 2007.12.29.19.06.49; author manu; state Exp; branches; next 1.40; 1.40 date 2007.02.06.14.29.55; author manu; state Exp; branches; next 1.39; 1.39 date 2006.12.26.21.21.52; author manu; state Exp; branches; next 1.38; 1.38 date 2006.09.20.07.50.09; author manu; state Exp; branches; next 1.37; 1.37 date 2006.08.30.04.57.58; author manu; state Exp; branches 1.37.2.1; next 1.36; 1.36 date 2006.07.26.13.03.11; author manu; state Exp; branches; next 1.35; 1.35 date 2006.02.17.19.46.13; author manu; state Exp; branches; next 1.34; 1.34 date 2006.01.11.06.40.39; author manu; state Exp; branches; next 1.33; 1.33 date 2006.01.08.00.38.25; author manu; state Exp; branches; next 1.32; 1.32 date 2005.11.30.23.32.12; author manu; state Exp; branches; next 1.31; 1.31 date 2005.03.19.07.38.53; author manu; state Exp; branches; next 1.30; 1.30 date 2005.01.29.18.42.53; author manu; state Exp; branches; next 1.29; 1.29 date 2004.12.16.23.08.13; author manu; state Exp; branches; next 1.28; 1.28 date 2004.12.08.22.23.09; author manu; state Exp; branches; next 1.27; 1.27 date 2004.10.11.20.57.42; author manu; state Exp; branches; next 1.26; 1.26 date 2004.08.08.21.24.20; author manu; state Exp; branches; next 1.25; 1.25 date 2004.08.01.09.27.03; author manu; state Exp; branches; next 1.24; 1.24 date 2004.06.25.22.28.08; author manu; state Exp; branches; next 1.23; 1.23 date 2004.06.08.12.04.21; author manu; state Exp; branches; next 1.22; 1.22 date 2004.05.26.09.14.29; author manu; state Exp; branches; next 1.21; 1.21 date 2004.05.24.21.57.36; author manu; state Exp; branches; next 1.20; 1.20 date 2004.05.24.21.22.02; author manu; state Exp; branches; next 1.19; 1.19 date 2004.05.23.13.03.41; author manu; state Exp; branches; next 1.18; 1.18 date 2004.05.15.08.41.54; author manu; state Exp; branches; next 1.17; 1.17 date 2004.04.22.23.27.57; author manu; state Exp; branches; next 1.16; 1.16 date 2004.04.02.15.06.52; author manu; state Exp; branches; next 1.15; 1.15 date 2004.04.02.08.57.18; author manu; state Exp; branches; next 1.14; 1.14 date 2004.04.01.21.03.58; author manu; state Exp; branches; next 1.13; 1.13 date 2004.04.01.20.49.16; author manu; state Exp; branches; next 1.12; 1.12 date 2004.04.01.20.46.34; author manu; state Exp; branches; next 1.11; 1.11 date 2004.04.01.20.36.00; author manu; state Exp; branches; next 1.10; 1.10 date 2004.03.31.17.02.08; author manu; state Exp; branches; next 1.9; 1.9 date 2004.03.31.15.31.59; author manu; state Exp; branches; next 1.8; 1.8 date 2004.03.31.12.10.16; author manu; state Exp; branches; next 1.7; 1.7 date 2004.03.31.11.39.26; author manu; state Exp; branches; next 1.6; 1.6 date 2004.03.31.10.07.17; author manu; state Exp; branches; next 1.5; 1.5 date 2004.03.31.09.49.16; author manu; state Exp; branches; next 1.4; 1.4 date 2004.03.19.10.16.38; author manu; state Exp; branches; next 1.3; 1.3 date 2004.03.18.22.37.21; author manu; state Exp; branches; next 1.2; 1.2 date 2004.03.18.09.55.14; author manu; state Exp; branches; next 1.1; 1.1 date 2004.03.10.21.11.45; author manu; state Exp; branches; next ; 1.37.2.1 date 2006.09.04.22.05.58; author manu; state Exp; branches; next 1.37.2.2; 1.37.2.2 date 2006.09.20.07.38.24; author manu; state Exp; branches; next ; desc @@ 1.58 log @multiracl option to disable sticky whitelisting among recipients @ text @/* $Id: conf.h,v 1.57 2013/08/16 03:02:34 manu Exp $ */ /* * Copyright (c) 2004 Emmanuel Dreyfus * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Emmanuel Dreyfus * * THIS SOFTWARE IS PROVIDED ``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 AUTHOR 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. */ #ifndef _CONF_H_ #define _CONF_H_ #include "config.h" #if defined(HAVE_OLD_QUEUE_H) || !defined(HAVE_SYS_QUEUE_H) #include "queue.h" #else #include #endif #include #include #include #include #include #include "pending.h" #ifndef CONFFILE #define CONFFILE "/etc/mail/greylist.conf" #endif #ifndef DRACDB #define DRACDB "/usr/local/etc/dracdb.db" #endif TAILQ_HEAD(conf_list, conf_rec); struct conf_rec { int c_refcount; time_t c_timestamp; TAILQ_ENTRY(conf_rec) c_chain; int c_forced; int c_debug; int c_acldebug; int c_quiet; int c_noauth; int c_multiracl; int c_noaccessdb; int c_nospf; int c_delayedreject; int c_testmode; int c_delay; int c_autowhite_validity; int c_tarpit; tarpit_scope_t c_tarpit_scope; char *c_pidfile; char *c_dumpfile; int c_dumpfile_mode; struct in_addr c_match_mask; #ifdef AF_INET6 struct in6_addr c_match_mask6; #endif char *c_socket; int c_socket_mode; char *c_user; char *c_syncaddr; char *c_syncport; char *c_syncsrcaddr; char *c_syncsrcport; int c_syncmaxqlen; int c_nodetach; int c_report; int c_lazyaw; int c_dumpfreq; int c_timeout; int c_extendedregex; int c_unbracket; char *c_dracdb; int c_nodrac; int c_dump_no_time_translation; int c_logexpired; int c_logfac; char c_pidfile_storage[QSTRLEN + 1]; char c_dumpfile_storage[QSTRLEN + 1]; char c_socket_storage[QSTRLEN + 1]; char c_user_storage[QSTRLEN + 1]; char c_syncaddr_storage[IPADDRSTRLEN + 1]; char c_syncport_storage[NUMLEN + 1]; char c_syncsrcaddr_storage[IPADDRSTRLEN + 1]; char c_syncsrcport_storage[NUMLEN + 1]; char c_dracdb_storage[QSTRLEN + 1]; size_t c_maxpeek; int c_domainexact; #ifdef USE_P0F char c_p0fsock[QSTRLEN + 1]; #endif #ifdef USE_SPAMD char c_spamdsock[QSTRLEN + 1]; char c_spamdsocktype[QSTRLEN + 1]; #endif struct sockaddr_storage c_localaddr; char c_localaddr_string[IPADDRSTRLEN]; int c_fixldapcheck; }; /* c_forced flags */ #define C_GLNONE 0x00000 #define C_DEBUG 0x00001 #define C_QUIET 0x00002 #define C_NOAUTH 0x00004 #define C_NOSPF 0x00008 #define C_TESTMODE 0x00010 #define C_DELAY 0x00020 #define C_AUTOWHITE 0x00040 #define C_PIDFILE 0x00080 #define C_DUMPFILE 0x00100 #define C_MATCHMASK 0x00200 #define C_SOCKET 0x00400 #define C_USER 0x00800 #define C_NODETACH 0x01000 #define C_LAZYAW 0x02000 #define C_MATCHMASK6 0x04000 #define C_ACLDEBUG 0x08000 #define C_DOMAINEXACT 0x10000 #define C_TARPIT 0x20000 #define C_TARPIT_SCOPE 0x40000 #define C_NOTFORCED(x) ((conf.c_forced & (x)) == 0) /* c_report */ #define C_NOTHING 0x0 #define C_DELAYS 0x1 #define C_NODELAYS 0x2 #define C_ALL 0x3 extern struct conf_rec defconf; extern pthread_key_t conf_key; #define GET_CONF() ((struct conf_rec *)pthread_getspecific(conf_key)) #define conf (*GET_CONF()) extern char *conffile; extern int conf_cold; extern int conf_specified; void conf_init(void); void conf_load(void); void conf_update(void); void conf_retain(void); void conf_release(void); extern FILE *conf_in; extern int conf_line; extern int conf_acl_end; extern int conf_racl_end; extern int conf_dacl_end; int conf_parse(void); void conf_dispose_input_file(void); char *quotepath(char *, char *, size_t); char *quotepath_alloc(const char *); void conf_defaults(struct conf_rec *); #endif /* _CONF_H_ */ @ 1.57 log @unbracket option to resolved MTA-passed bracketed unresolved IP @ text @d1 1 a1 1 /* $Id: conf.h,v 1.56 2013/08/13 03:45:35 manu Exp $ */ d69 1 @ 1.56 log @Use localaddr for p0f and %V format string (Jim Klimov) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.55 2013/01/19 16:01:15 manu Exp $ */ d98 1 @ 1.55 log @More Solaris build fixes (Jim Klimov) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.54 2012/02/21 05:53:43 manu Exp $ */ d122 1 @ 1.54 log @p0f v3 support bump to 4.4a1 @ text @d1 1 a1 1 /* $Id: conf.h,v 1.52 2011/08/17 01:06:49 manu Exp $ */ d36 1 a36 1 #ifdef HAVE_OLD_QUEUE_H @ 1.53 log @Add continue type AC @ text @@ 1.52 log @localaddr option so that Postifix user can use spf self @ text @d1 1 a1 1 /* $Id: conf.h,v 1.51 2009/09/09 12:19:17 manu Exp $ */ d122 1 @ 1.51 log @Fix Debian startup script @ text @d1 1 a1 1 /* $Id: conf.h,v 1.50 2009/09/07 12:56:54 manu Exp $ */ d121 1 @ 1.50 log @New tarpit feature (Kouhei Sutou) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.49 2009/01/17 04:32:55 manu Exp $ */ d158 1 @ 1.49 log @Workaround "peer queue overflow" bugs (Laurence Moindrot, Jean Benoit) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.48 2008/11/06 11:23:53 manu Exp $ */ d75 2 d142 2 @ 1.48 log @Add option to match exact domain instead of substrings (Rick Adams) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.47 2008/10/30 04:39:39 manu Exp $ */ d89 1 @ 1.47 log @Make sure DKIM code does not use invalid pointer on a not yet initialized config @ text @d1 1 a1 1 /* $Id: conf.h,v 1.46 2008/09/26 23:35:44 manu Exp $ */ d110 1 d138 1 @ 1.46 log @Spamassassin support and DATA-stage greylisting (Manuel Badzong) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.45 2008/09/26 17:00:51 manu Exp $ */ a109 3 #ifdef USE_DKIM DKIM_LIB *c_dkim; #endif @ 1.45 log @ Allow syslog facility to be configured (Joe Pruett) Allow logging to be disabled on a per-ACL basis (Joe Pruett)v @ text @d1 1 a1 1 /* $Id: conf.h,v 1.44 2008/09/07 00:13:34 manu Exp $ */ d116 4 @ 1.44 log @Experimental p0f support Fix a memory leak in GeoIP code Fix a memory leak in DKIM code Bump to revision to 4.1.6 (but no tag yet) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.43 2008/09/02 04:15:33 manu Exp $ */ d99 1 @ 1.43 log @Build again without DKIM @ text @d1 1 a1 1 /* $Id: conf.h,v 1.42 2008/08/21 21:05:35 manu Exp $ */ d112 3 @ 1.42 log @Exprimental DKIM support @ text @d1 1 a1 1 /* $Id: conf.h,v 1.41 2007/12/29 19:06:49 manu Exp $ */ d109 1 d111 1 @ 1.41 log @Add configurable dumpfile permissions @ text @d1 1 a1 1 /* $Id: conf.h,v 1.40 2007/02/06 14:29:55 manu Exp $ */ d109 1 @ 1.40 log @Allow specifying socket mode in config file @ text @d1 1 a1 1 /* $Id: conf.h,v 1.39 2006/12/26 21:21:52 manu Exp $ */ d77 1 @ 1.39 log @Allow header and body searches in DATA-stage ACL Allow CIDR match for DNSRBL (not tested) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.38 2006/09/20 07:50:09 manu Exp $ */ d82 1 @ 1.38 log @Warn about ignored ACL lines after acl default rule @ text @d1 1 a1 1 /* $Id: conf.h,v 1.37 2006/08/30 04:57:58 manu Exp $ */ d106 1 d151 2 @ 1.37 log @Fix various race conditions (AIDA Shinra) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.36 2006/07/26 13:03:11 manu Exp $ */ d149 1 @ 1.37.2.1 log @Back out race conditions fixes (too intrusive, will be back in 3.1.x) @ text @a44 1 #include d58 5 a62 3 #define CONF_WRLOCK WRLOCK(conf_lock) #define CONF_RDLOCK RDLOCK(conf_lock) #define CONF_UNLOCK UNLOCK(conf_lock) a63 4 extern int conf_cold; extern int conf_nodetach; struct conf { d87 1 d96 10 a105 1 int c_logexpired; d134 4 a137 2 extern struct conf defconf; extern struct conf conf; d139 1 a139 11 extern char c_pidfile[QSTRLEN + 1]; extern char c_dumpfile[QSTRLEN + 1]; extern char c_socket[QSTRLEN + 1]; extern char c_user[QSTRLEN + 1]; extern char c_syncaddr[IPADDRSTRLEN + 1]; extern char c_syncport[NUMLEN + 1]; extern char c_syncsrcaddr[IPADDRSTRLEN + 1]; extern char c_syncsrcport[NUMLEN + 1]; extern char c_dracdb[QSTRLEN + 1]; extern pthread_rwlock_t conf_lock; d144 2 d149 1 d151 1 d153 2 a154 1 void conf_defaults(struct conf *); @ 1.37.2.2 log @Warn about ignored ACL lines after acl default rule @ text @d1 1 a1 1 /* $Id: conf.h,v 1.37.2.1 2006/09/04 22:05:58 manu Exp $ */ a147 1 extern int conf_acl_end; @ 1.36 log @Rename PATH -> QSTRING @ text @d1 1 a1 1 /* $Id: conf.h,v 1.35 2006/02/17 19:46:13 manu Exp $ */ a44 1 #include d58 5 a62 3 #define CONF_WRLOCK WRLOCK(conf_lock) #define CONF_RDLOCK RDLOCK(conf_lock) #define CONF_UNLOCK UNLOCK(conf_lock) a63 2 struct conf { int c_cold; d96 10 a105 1 int c_logexpired; d134 4 a137 2 extern struct conf defconf; extern struct conf conf; d139 1 a139 11 extern char c_pidfile[QSTRLEN + 1]; extern char c_dumpfile[QSTRLEN + 1]; extern char c_socket[QSTRLEN + 1]; extern char c_user[QSTRLEN + 1]; extern char c_syncaddr[IPADDRSTRLEN + 1]; extern char c_syncport[NUMLEN + 1]; extern char c_syncsrcaddr[IPADDRSTRLEN + 1]; extern char c_syncsrcport[NUMLEN + 1]; extern char c_dracdb[QSTRLEN + 1]; extern pthread_rwlock_t conf_lock; d144 2 d149 1 d151 1 d153 2 a154 1 void conf_defaults(struct conf *); @ 1.35 log @Option to log expired entries (Jeff Rife) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.34 2006/01/11 06:40:39 manu Exp $ */ d129 4 a132 4 extern char c_pidfile[PATHLEN + 1]; extern char c_dumpfile[PATHLEN + 1]; extern char c_socket[PATHLEN + 1]; extern char c_user[PATHLEN + 1]; d137 1 a137 1 extern char c_dracdb[PATHLEN + 1]; @ 1.34 log @Selectable MX sync source address @ text @d1 1 a1 1 /* $Id: conf.h,v 1.33 2006/01/08 00:38:25 manu Exp $ */ d97 1 @ 1.33 log @From Ranko Zivojnovic : * Bucketed search of autowhitelisted and pending entries rather than write-locked only-one-at-the-time search * Large buffer for writing the dump file * Disabled having the time comment by default next to each line in the dump (improves dump performance by order of magnitude on my Solaris). If "verbose" enabled - behavior will be as before * 'mxsync' client connection is set non-blocking, but there were no checks if fprintf actually delivers the complete sync message to the peer or just the part of it. * Also, when reading the 'mxsync' client connection, being non- blocking, fgets() can bail out with NULL and EAGAIN which is not fatal error for the connection. @ text @d1 1 a1 1 /* $Id: conf.h,v 1.32 2005/11/30 23:32:12 manu Exp $ */ d86 2 d134 2 @ 1.32 log @DRAC support @ text @d1 1 a1 1 /* $Id: conf.h,v 1.31 2005/03/19 07:38:53 manu Exp $ */ d94 1 @ 1.31 log @extendedregex for using extended regex instead of basic regex. @ text @d1 1 a1 1 /* $Id: conf.h,v 1.30 2005/01/29 18:42:53 manu Exp $ */ d55 4 d92 2 d131 1 @ 1.30 log @Delayed reject for <> sender to cope better with sender callback (Moritz Both) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.29 2004/12/16 23:08:13 manu Exp $ */ d87 1 @ 1.29 log @Use Sendmail DB as a whitelist source: if ${greylist} is defined as WHITE, assume whitelist. @ text @d1 1 a1 1 /* $Id: conf.h,v 1.28 2004/12/08 22:23:09 manu Exp $ */ d68 1 @ 1.28 log @New ACL framework for whitelist and greylist (Remy Card) Tell MX peers about autowhitelist prolongation (Remy Card) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.27 2004/10/11 20:57:42 manu Exp $ */ d66 1 d89 17 a105 17 #define C_GLNONE 0x0000 #define C_DEBUG 0x0001 #define C_QUIET 0x0002 #define C_NOAUTH 0x0004 #define C_NOSPF 0x0008 #define C_TESTMODE 0x0010 #define C_DELAY 0x0020 #define C_AUTOWHITE 0x0040 #define C_PIDFILE 0x0080 #define C_DUMPFILE 0x0100 #define C_MATCHMASK 0x0200 #define C_SOCKET 0x0400 #define C_USER 0x0800 #define C_NODETACH 0x1000 #define C_LAZYAW 0x2000 #define C_MATCHMASK6 0x4000 #define C_ACLDEBUG 0x8000 @ 1.27 log @Namespace conflicts on Tru64 Unix with IPv6 @ text @d1 1 a1 1 /* $Id: conf.h,v 1.26 2004/08/08 21:24:20 manu Exp $ */ d63 1 d104 1 @ 1.26 log @Configurable MX sync bind port and address (Cyril Guibourg) Bump to 1.5.6 @ text @d1 1 a1 1 /* $Id: conf.h,v 1.25 2004/08/01 09:27:03 manu Exp $ */ d87 1 a87 1 #define C_NONE 0x0000 @ 1.25 log @Full blown IPv6 support, from Hajimu Umemoto Correctly clean rc-debian.sh @ text @d1 1 a1 1 /* $Id: conf.h,v 1.24 2004/06/25 22:28:08 manu Exp $ */ d77 2 d118 3 @ 1.24 log @Avoid race conditions when reloading the config (Attila Bruncsak) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.23 2004/06/08 12:04:21 manu Exp $ */ d72 3 d100 1 @ 1.23 log @Don't use the thread trick on config reload for the first reload. @ text @d1 1 a1 1 /* $Id: conf.h,v 1.22 2004/05/26 09:14:29 manu Exp $ */ d55 4 d112 1 d114 1 @ 1.22 log @timeout option @ text @d1 1 a1 1 /* $Id: conf.h,v 1.21 2004/05/24 21:57:36 manu Exp $ */ d56 1 @ 1.21 log @dumpfreq option @ text @d1 1 a1 1 /* $Id: conf.h,v 1.20 2004/05/24 21:22:02 manu Exp $ */ d73 1 @ 1.20 log @Back out Berkeley DB stuff, it will now live on the BDB branch. @ text @d1 1 a1 1 /* $Id: conf.h,v 1.17 2004/04/22 23:27:57 manu Exp $ */ d72 1 @ 1.19 log @Don't use an external lockfile, use a field in the database instead @ text @d1 1 a1 1 /* $Id: conf.h,v 1.18 2004/05/15 08:41:54 manu Exp $ */ a42 1 #include a54 20 #ifndef AUTOWHITEDB #define AUTOWHITEDB "/var/milter-greylist/autowhite2.db" #endif #ifndef GREYLISTDB #define GREYLISTDB "/var/milter-greylist/greylist2.db" #endif #ifndef DUMPFILE #define DUMPFILE "/var/milter-greylist/dump2.txt" #endif struct db_options { struct in_addr dbo_match_mask; int dbo_lazyaw; pid_t dbo_busy; }; #define DB_OPTIONS "options" a71 4 int c_dumpfreq; char *c_greylistdb; char *c_autowhitedb; char *c_lockfile; a104 3 extern char c_greylistdb[PATHLEN + 1]; extern char c_autowhitedb[PATHLEN + 1]; extern char c_lockfile[PATHLEN + 1]; @ 1.18 log @First attempt with Berkeley DB. Some remaining bugs on dynamic modification of options. @ text @d1 1 a1 1 /* $Id: conf.h,v 1.17 2004/04/22 23:27:57 manu Exp $ */ d43 1 a63 4 #ifndef LOCKFILE #define LOCKFILE "/var/milter-greylist/milter-greylist.lock" #endif d71 1 @ 1.17 log @lazyaw option to get a lazy match in autowhitelist: only on the IP address. @ text @d1 1 a1 1 /* $Id: conf.h,v 1.16 2004/04/02 15:06:52 manu Exp $ */ d55 23 d95 4 d132 3 @ 1.16 log @Add a config option to suprress X-Greylist header Bump to 1.10 @ text @d1 1 a1 1 /* $Id: conf.h,v 1.15 2004/04/02 08:57:18 manu Exp $ */ d71 1 d89 1 @ 1.15 log @Fix build troubles by removing any reference to in_addr_t @ text @d1 1 a1 1 /* $Id: conf.h,v 1.14 2004/04/01 21:03:58 manu Exp $ */ d70 1 d89 6 @ 1.14 log @Darwin build problems @ text @d1 1 a1 1 /* $Id: conf.h,v 1.13 2004/04/01 20:49:16 manu Exp $ */ a54 7 /* * This is missing on some systems */ #ifndef in_addr_t #define in_addr_t unsigned int #endif d66 1 a66 1 in_addr_t c_match_mask; d104 1 @ 1.13 log @More build problems @ text @d1 1 a1 1 /* $Id: conf.h,v 1.12 2004/04/01 20:46:34 manu Exp $ */ d56 1 a56 1 * Some heavily brain-damaged systems have no in_addr_t d59 1 a59 1 typedef unsigned int in_addr_t; @ 1.12 log @Build problem @ text @d1 1 a1 1 /* $Id: conf.h,v 1.11 2004/04/01 20:36:00 manu Exp $ */ d59 1 a59 1 typedef __uint32_t in_addr_t; @ 1.11 log @Use regex for from and rcpt config lines @ text @d1 1 a1 1 /* $Id: conf.h,v 1.10 2004/03/31 17:02:08 manu Exp $ */ d59 1 a59 1 typedef __uint32_t in_addr_t @ 1.10 log @Bug fix: dumpfile was not really set in the new conf framework plus really reset the conf to default before reloading it @ text @d1 1 a1 1 /* $Id: conf.h,v 1.9 2004/03/31 15:31:59 manu Exp $ */ d53 7 @ 1.9 log @Attempt to fix a warning on Solaris @ text @d1 1 a1 1 /* $Id: conf.h,v 1.8 2004/03/31 12:10:16 manu Exp $ */ d89 1 @ 1.8 log @More documentation, nodetach option in config @ text @d1 1 a1 1 /* $Id: conf.h,v 1.7 2004/03/31 11:39:26 manu Exp $ */ d66 1 a66 1 struct in_addr c_match_mask; @ 1.7 log @socket can now be given in the config file. Documentation on the config file options @ text @d1 1 a1 1 /* $Id: conf.h,v 1.6 2004/03/31 10:07:17 manu Exp $ */ d68 2 d73 14 a86 12 #define C_NONE 0x000 #define C_DEBUG 0x001 #define C_QUIET 0x002 #define C_NOAUTH 0x004 #define C_NOSPF 0x008 #define C_TESTMODE 0x010 #define C_DELAY 0x020 #define C_AUTOWHITE 0x040 #define C_PIDFILE 0x080 #define C_DUMPFILE 0x100 #define C_MATCHMASK 0x200 #define C_SOCKET 0x400 d94 1 @ 1.6 log @Added an option for subnet mask @ text @d1 1 a1 1 /* $Id: conf.h,v 1.5 2004/03/31 09:49:16 manu Exp $ */ d67 1 a67 1 d82 1 d89 1 @ 1.5 log @Add flag equivalents to the config file @ text @d1 1 a1 1 /* $Id: conf.h,v 1.4 2004/03/19 10:16:38 manu Exp $ */ d66 1 d81 1 @ 1.4 log @Fix includes order and wrong ifdef for old queue.h @ text @d1 1 a1 1 /* $Id: conf.h,v 1.3 2004/03/18 22:37:21 manu Exp $ */ d55 28 d84 2 d93 1 @ 1.3 log @Inlude config.h before using HAVE_OLD_QUEUE_H @ text @d1 1 a1 1 /* $Id: conf.h,v 1.2 2004/03/18 09:55:14 manu Exp $ */ d35 7 a47 7 #include "config.h" #ifndef HAVE_OLD_QUEUE_H #include "queue.h" #else #include #endif @ 1.2 log @Use a modern queue.h if it is missing from the system (Linux...) @ text @d1 1 a1 1 /* $Id: conf.h,v 1.1 2004/03/10 21:11:45 manu Exp $ */ d42 1 a49 1 #include "config.h" @ 1.1 log @Renamed except.greylist as except.conf, split the cde between exception list management and config management @ text @d1 1 a1 1 /* $Id$ */ a38 1 #include d41 6 @