Postfix3.3.1
mail_params.c
[詳解]
1 /*++
2 /* NAME
3 /* mail_params 3
4 /* SUMMARY
5 /* global mail configuration parameters
6 /* SYNOPSIS
7 /* #include <mail_params.h>
8 /*
9 /* char *var_myhostname;
10 /* char *var_mydomain;
11 /* char *var_myorigin;
12 /* char *var_mydest;
13 /* char *var_relayhost;
14 /* char *var_transit_origin;
15 /* char *var_transit_dest;
16 /* char *var_mail_name;
17 /* int var_helpful_warnings;
18 /* char *var_syslog_name;
19 /* char *var_mail_owner;
20 /* uid_t var_owner_uid;
21 /* gid_t var_owner_gid;
22 /* char *var_sgid_group;
23 /* gid_t var_sgid_gid;
24 /* char *var_default_privs;
25 /* uid_t var_default_uid;
26 /* gid_t var_default_gid;
27 /* char *var_config_dir;
28 /* char *var_daemon_dir;
29 /* char *var_data_dir;
30 /* char *var_command_dir;
31 /* char *var_meta_dir;
32 /* char *var_queue_dir;
33 /* char *var_shlib_dir;
34 /* int var_use_limit;
35 /* int var_idle_limit;
36 /* int var_event_drain;
37 /* int var_bundle_rcpt;
38 /* char *var_procname;
39 /* char *var_servname;
40 /* int var_pid;
41 /* int var_ipc_timeout;
42 /* char *var_pid_dir;
43 /* int var_dont_remove;
44 /* char *var_inet_interfaces;
45 /* char *var_proxy_interfaces;
46 /* char *var_inet_protocols;
47 /* char *var_mynetworks;
48 /* char *var_double_bounce_sender;
49 /* int var_line_limit;
50 /* char *var_alias_db_map;
51 /* long var_message_limit;
52 /* char *var_mail_release;
53 /* char *var_mail_version;
54 /* int var_ipc_idle_limit;
55 /* int var_ipc_ttl_limit;
56 /* char *var_db_type;
57 /* char *var_hash_queue_names;
58 /* int var_hash_queue_depth;
59 /* int var_trigger_timeout;
60 /* char *var_rcpt_delim;
61 /* int var_fork_tries;
62 /* int var_fork_delay;
63 /* int var_flock_tries;
64 /* int var_flock_delay;
65 /* int var_flock_stale;
66 /* int var_disable_dns;
67 /* int var_soft_bounce;
68 /* time_t var_starttime;
69 /* int var_ownreq_special;
70 /* int var_daemon_timeout;
71 /* char *var_syslog_facility;
72 /* char *var_relay_domains;
73 /* char *var_fflush_domains;
74 /* char *var_mynetworks_style;
75 /* char *var_verp_delims;
76 /* char *var_verp_filter;
77 /* char *var_par_dom_match;
78 /* char *var_config_dirs;
79 /*
80 /* int var_inet_windowsize;
81 /* char *var_import_environ;
82 /* char *var_export_environ;
83 /* char *var_debug_peer_list;
84 /* int var_debug_peer_level;
85 /* int var_in_flow_delay;
86 /* int var_fault_inj_code;
87 /* char *var_bounce_service;
88 /* char *var_cleanup_service;
89 /* char *var_defer_service;
90 /* char *var_pickup_service;
91 /* char *var_queue_service;
92 /* char *var_rewrite_service;
93 /* char *var_showq_service;
94 /* char *var_error_service;
95 /* char *var_flush_service;
96 /* char *var_verify_service;
97 /* char *var_trace_service;
98 /* char *var_proxymap_service;
99 /* char *var_proxywrite_service;
100 /* int var_db_create_buf;
101 /* int var_db_read_buf;
102 /* long var_lmdb_map_size;
103 /* int var_proc_limit;
104 /* int var_mime_maxdepth;
105 /* int var_mime_bound_len;
106 /* int var_header_limit;
107 /* int var_token_limit;
108 /* int var_disable_mime_input;
109 /* int var_disable_mime_oconv;
110 /* int var_strict_8bitmime;
111 /* int var_strict_7bit_hdrs;
112 /* int var_strict_8bit_body;
113 /* int var_strict_encoding;
114 /* int var_verify_neg_cache;
115 /* int var_oldlog_compat;
116 /* int var_delay_max_res;
117 /* char *var_int_filt_classes;
118 /* int var_cyrus_sasl_authzid;
119 /*
120 /* char *var_multi_conf_dirs;
121 /* char *var_multi_wrapper;
122 /* char *var_multi_group;
123 /* char *var_multi_name;
124 /* bool var_multi_enable;
125 /* bool var_long_queue_ids;
126 /* bool var_daemon_open_fatal;
127 /* char *var_dsn_filter;
128 /* int var_smtputf8_enable
129 /* int var_strict_smtputf8;
130 /* char *var_smtputf8_autoclass;
131 /* int var_idna2003_compat;
132 /* int var_compat_level;
133 /* char *var_drop_hdrs;
134 /* bool var_enable_orcpt;
135 /*
136 /* void mail_params_init()
137 /*
138 /* const char null_format_string[1];
139 /*
140 /* int warn_compat_break_app_dot_mydomain;
141 /* int warn_compat_break_smtputf8_enable;
142 /* int warn_compat_break_chroot;
143 /* int warn_compat_break_relay_restrictions;
144 /*
145 /* int warn_compat_break_relay_domains;
146 /* int warn_compat_break_flush_domains;
147 /* int warn_compat_break_mynetworks_style;
148 /* DESCRIPTION
149 /* This module (actually the associated include file) defines
150 /* the names and defaults of all mail configuration parameters.
151 /*
152 /* mail_params_init() initializes the built-in parameters listed above.
153 /* These parameters are relied upon by library routines, so they are
154 /* initialized globally so as to avoid hard-to-find errors due to
155 /* missing initialization. This routine must be called early, at
156 /* least before entering a chroot jail.
157 /*
158 /* null_format_string is a workaround for gcc compilers that complain
159 /* about empty or null format strings.
160 /*
161 /* The warn_compat_XXX variables enable warnings for the use
162 /* of legacy default settings after an incompatible change.
163 /* DIAGNOSTICS
164 /* Fatal errors: out of memory; null system or domain name.
165 /* LICENSE
166 /* .ad
167 /* .fi
168 /* The Secure Mailer license must be distributed with this software.
169 /* AUTHOR(S)
170 /* Wietse Venema
171 /* IBM T.J. Watson Research
172 /* P.O. Box 704
173 /* Yorktown Heights, NY 10598, USA
174 /*
175 /* Wietse Venema
176 /* Google, Inc.
177 /* 111 8th Avenue
178 /* New York, NY 10011, USA
179 /*--*/
180 
181 /* System library. */
182 
183 #include <sys_defs.h>
184 #include <unistd.h>
185 #include <stdlib.h>
186 #include <string.h>
187 #include <pwd.h>
188 #include <grp.h>
189 #include <time.h>
190 #include <ctype.h>
191 
192 /* Utility library. */
193 
194 #include <msg.h>
195 #include <msg_syslog.h>
196 #include <get_hostname.h>
197 #include <valid_hostname.h>
198 #include <stringops.h>
199 #include <safe.h>
200 #include <safe_open.h>
201 #include <mymalloc.h>
202 #include <dict.h>
203 #include <dict_db.h>
204 #include <dict_lmdb.h>
205 #include <inet_proto.h>
206 #include <vstring_vstream.h>
207 #include <iostuff.h>
208 #include <midna_domain.h>
209 
210 /* Global library. */
211 
212 #include <mynetworks.h>
213 #include <mail_conf.h>
214 #include <mail_version.h>
215 #include <mail_proto.h>
216 #include <verp_sender.h>
217 #include <own_inet_addr.h>
218 #include <mail_params.h>
219 
220  /*
221  * Special configuration variables.
222  */
294 
333 
350 
351 const char null_format_string[1] = "";
352 
353  /*
354  * Compatibility level 2.
355  */
359 
360  /*
361  * Compatibility level 1.
362  */
367 
368 /* check_myhostname - lookup hostname and validate */
369 
370 static const char *check_myhostname(void)
371 {
372  static const char *name;
373  const char *dot;
374  const char *domain;
375 
376  /*
377  * Use cached result.
378  */
379  if (name)
380  return (name);
381 
382  /*
383  * If the local machine name is not in FQDN form, try to append the
384  * contents of $mydomain. Use a default domain as a final workaround.
385  *
386  * DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - IT MAKES EVERY POSTFIX
387  * PROGRAM HANG WHEN DNS SERVICE IS UNAVAILABLE. IF YOU DON'T LIKE THE
388  * DEFAULT, THEN EDIT MAIN.CF.
389  */
390  name = get_hostname();
391  /* DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - EDIT MAIN.CF */
392  if ((dot = strchr(name, '.')) == 0) {
393  /* DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - EDIT MAIN.CF */
394  if ((domain = mail_conf_lookup_eval(VAR_MYDOMAIN)) == 0)
395  domain = DEF_MYDOMAIN;
396  /* DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - EDIT MAIN.CF */
397  name = concatenate(name, ".", domain, (char *) 0);
398  }
399  /* DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - EDIT MAIN.CF */
400  return (name);
401 }
402 
403 /* check_mydomainname - lookup domain name and validate */
404 
405 static const char *check_mydomainname(void)
406 {
407  char *dot;
408 
409  /*
410  * Use a default domain when the hostname is not a FQDN ("foo").
411  *
412  * DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - IT MAKES EVERY POSTFIX
413  * PROGRAM HANG WHEN DNS SERVICE IS UNAVAILABLE. IF YOU DON'T LIKE THE
414  * DEFAULT, THEN EDIT MAIN.CF.
415  */
416  /* DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - EDIT MAIN.CF */
417  if ((dot = strchr(var_myhostname, '.')) == 0)
418  /* DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - EDIT MAIN.CF */
419  return (DEF_MYDOMAIN);
420  /* DO NOT CALL GETHOSTBYNAME OR GETNAMEINFO HERE - EDIT MAIN.CF */
421  return (dot + 1);
422 }
423 
424 /* check_default_privs - lookup default user attributes and validate */
425 
426 static void check_default_privs(void)
427 {
428  struct passwd *pwd;
429 
430  if ((pwd = getpwnam(var_default_privs)) == 0)
431  msg_fatal("file %s/%s: parameter %s: unknown user name value: %s",
434  if ((var_default_uid = pwd->pw_uid) == 0)
435  msg_fatal("file %s/%s: parameter %s: user %s has privileged user ID",
438  if ((var_default_gid = pwd->pw_gid) == 0)
439  msg_fatal("file %s/%s: parameter %s: user %s has privileged group ID",
442 }
443 
444 /* check_mail_owner - lookup owner user attributes and validate */
445 
446 static void check_mail_owner(void)
447 {
448  struct passwd *pwd;
449 
450  if ((pwd = getpwnam(var_mail_owner)) == 0)
451  msg_fatal("file %s/%s: parameter %s: unknown user name value: %s",
454  if ((var_owner_uid = pwd->pw_uid) == 0)
455  msg_fatal("file %s/%s: parameter %s: user %s has privileged user ID",
458  if ((var_owner_gid = pwd->pw_gid) == 0)
459  msg_fatal("file %s/%s: parameter %s: user %s has privileged group ID",
462 
463  /*
464  * This detects only some forms of sharing. Enumerating the entire
465  * password file name space could be expensive. The purpose of this code
466  * is to discourage user ID sharing by developers and package
467  * maintainers.
468  */
469  if ((pwd = getpwuid(var_owner_uid)) != 0
470  && strcmp(pwd->pw_name, var_mail_owner) != 0)
471  msg_fatal("file %s/%s: parameter %s: user %s has same user ID as %s",
473  VAR_MAIL_OWNER, var_mail_owner, pwd->pw_name);
474 }
475 
476 /* check_sgid_group - lookup setgid group attributes and validate */
477 
478 static void check_sgid_group(void)
479 {
480  struct group *grp;
481 
482  if ((grp = getgrnam(var_sgid_group)) == 0)
483  msg_fatal("file %s/%s: parameter %s: unknown group name: %s",
486  if ((var_sgid_gid = grp->gr_gid) == 0)
487  msg_fatal("file %s/%s: parameter %s: group %s has privileged group ID",
490 
491  /*
492  * This detects only some forms of sharing. Enumerating the entire group
493  * file name space could be expensive. The purpose of this code is to
494  * discourage group ID sharing by developers and package maintainers.
495  */
496  if ((grp = getgrgid(var_sgid_gid)) != 0
497  && strcmp(grp->gr_name, var_sgid_group) != 0)
498  msg_fatal("file %s/%s: parameter %s: group %s has same group ID as %s",
500  VAR_SGID_GROUP, var_sgid_group, grp->gr_name);
501 }
502 
503 /* check_overlap - disallow UID or GID sharing */
504 
505 static void check_overlap(void)
506 {
507  if (strcmp(var_default_privs, var_mail_owner) == 0)
508  msg_fatal("file %s/%s: parameters %s and %s specify the same user %s",
513  msg_fatal("file %s/%s: parameters %s and %s: users %s and %s have the same user ID: %ld",
517  (long) var_owner_uid);
519  msg_fatal("file %s/%s: parameters %s and %s: users %s and %s have the same group ID: %ld",
523  (long) var_owner_gid);
525  msg_fatal("file %s/%s: parameters %s and %s: user %s and group %s have the same group ID: %ld",
529  (long) var_sgid_gid);
531  msg_fatal("file %s/%s: parameters %s and %s: user %s and group %s have the same group ID: %ld",
535  (long) var_sgid_gid);
536 }
537 
538 #ifdef MYORIGIN_FROM_FILE
539 
540 /* read_param_from_file - read parameter value from file */
541 
542 static char *read_param_from_file(const char *path)
543 {
544  VSTRING *why = vstring_alloc(100);
545  VSTRING *buf = vstring_alloc(100);
546  VSTREAM *fp;
547  char *bp;
548  char *result;
549 
550  /*
551  * Ugly macros to make complex expressions less unreadable.
552  */
553 #define SKIP(start, var, cond) do { \
554  for (var = start; *var && (cond); var++) \
555  /* void */; \
556  } while (0)
557 
558 #define TRIM(s) do { \
559  char *p; \
560  for (p = (s) + strlen(s); p > (s) && ISSPACE(p[-1]); p--) \
561  /* void */; \
562  *p = 0; \
563  } while (0)
564 
565  fp = safe_open(path, O_RDONLY, 0, (struct stat *) 0, -1, -1, why);
566  if (fp == 0)
567  msg_fatal("%s: %s", path, vstring_str(why));
568  vstring_get_nonl(buf, fp);
569  if (vstream_ferror(fp)) /* FIX 20070501 */
570  msg_fatal("%s: read error: %m", path);
571  vstream_fclose(fp);
572  SKIP(vstring_str(buf), bp, ISSPACE(*bp));
573  TRIM(bp);
574  result = mystrdup(bp);
575 
576  vstring_free(why);
577  vstring_free(buf);
578  return (result);
579 }
580 
581 #endif
582 
583 /* check_legacy_defaults - flag parameters that require safety-net logging */
584 
585 static void check_legacy_defaults(void)
586 {
587 
588  /*
589  * Basic idea: when an existing parameter default is changed, or a new
590  * parameter is introduced with incompatible default behavior, force
591  * Postfix to run with backwards-compatible default settings and log a
592  * warning when the backwards-compatible behavior is used.
593  *
594  * Based on a review of Postfix logging the system administrator can decide
595  * whether or not to make backwards-compatible default settings permanent
596  * in main.cf or master.cf.
597  *
598  * To turn off further warnings and deploy the new default settings, the
599  * system administrator should update the compatibility_level setting as
600  * recommended in the RELEASE_NOTES file.
601  *
602  * Each incompatible change has its own flag variable, instead of bit in a
603  * shared variable. We don't want to rip up code when we need more flag
604  * bits.
605  */
606 
607  /*
608  * Look for specific parameters whose default changed when the
609  * compatibility level changed to 2.
610  */
611  if (var_compat_level < 2) {
616  }
620  } else { /* for 'postfix reload' */
624  }
625 
626  /*
627  * Look for specific parameters whose default changed when the
628  * compatibility level changed from 0 to 1.
629  */
630  if (var_compat_level < 1) {
633 
634  /*
635  * Not: #ifndef NO_EAI. They must configure SMTPUTF8_ENABLE=no if a
636  * warning message is logged, so that they don't suddenly start to
637  * lose mail after Postfix is built with EAI support.
638  */
642 
643  /*
644  * Grandfathered in to help sites migrating from Postfix <2.10.
645  */
648  } else { /* for 'postfix reload' */
653  }
654 }
655 
656 /* mail_params_init - configure built-in parameters */
657 
659 {
660  static const CONFIG_INT_TABLE first_int_defaults[] = {
662  0,
663  };
664  static const CONFIG_STR_TABLE first_str_defaults[] = {
665  /* $mail_version may appear in other parameters. */
670  /* multi_instance_wrapper may have dependencies but not dependents. */
673  0,
674  };
675  static const CONFIG_BOOL_TABLE first_bool_defaults[] = {
676  /* read and process the following before opening tables. */
679  0,
680  };
681  static const CONFIG_NBOOL_TABLE first_nbool_defaults[] = {
682  /* read and process the following before opening tables. */
685  0,
686  };
687  static const CONFIG_STR_FN_TABLE function_str_defaults[] = {
688  VAR_MYHOSTNAME, check_myhostname, &var_myhostname, 1, 0,
689  VAR_MYDOMAIN, check_mydomainname, &var_mydomain, 1, 0,
690  0,
691  };
692  static const CONFIG_STR_TABLE other_str_defaults[] = {
740  /* multi_instance_wrapper may have dependencies but not dependents. */
745  0,
746  };
747  static const CONFIG_STR_FN_TABLE function_str_defaults_2[] = {
749  0,
750  };
751  static const CONFIG_INT_TABLE other_int_defaults[] = {
769  0,
770  };
771  static const CONFIG_LONG_TABLE long_defaults[] = {
774  0,
775  };
776  static const CONFIG_TIME_TABLE time_defaults[] = {
788  0,
789  };
790  static const CONFIG_BOOL_TABLE bool_defaults[] = {
808  0,
809  };
810  const char *cp;
811 
812  /*
813  * Extract compatibility level first, so that we can determine what
814  * parameters of interest are left at their legacy defaults.
815  */
816  get_mail_conf_int_table(first_int_defaults);
817  check_legacy_defaults();
818 
819  /*
820  * Extract syslog_facility early, so that from here on all errors are
821  * logged with the proper facility.
822  */
823  get_mail_conf_str_table(first_str_defaults);
824 
826  msg_fatal("file %s/%s: parameter %s: unrecognized value: %s",
829 
830  /*
831  * Should daemons terminate after table open error, or should they
832  * continue execution with reduced functionality?
833  */
834  get_mail_conf_bool_table(first_bool_defaults);
837 
838  /*
839  * Should we open tables with UTF8 support, or in the legacy 8-bit clean
840  * mode with ASCII-only casefolding?
841  */
842  get_mail_conf_nbool_table(first_nbool_defaults);
843 
844  /*
845  * Report run-time versus compile-time discrepancies.
846  */
847 #ifdef NO_EAI
849  msg_warn("%s is true, but EAI support is not compiled in",
852 #else
854 #endif
856 
857  /*
858  * What protocols should we attempt to support? The result is stored in
859  * the global inet_proto_table variable.
860  */
862 
863  /*
864  * Variables whose defaults are determined at runtime. Some sites use
865  * short hostnames in the host table; some sites name their system after
866  * the domain.
867  */
868  get_mail_conf_str_fn_table(function_str_defaults);
870  msg_fatal("file %s/%s: parameter %s: bad parameter value: %s",
874  msg_fatal("file %s/%s: parameter %s: bad parameter value: %s",
877 
878  /*
879  * Variables that are needed by almost every program.
880  *
881  * XXX Reading the myorigin value from file is originally a Debian Linux
882  * feature. This code is not enabled by default because of problems: 1)
883  * it re-implements its own parameter syntax checks, and 2) it does not
884  * implement $name expansions.
885  */
886  get_mail_conf_str_table(other_str_defaults);
887 #ifdef MYORIGIN_FROM_FILE
888  if (*var_myorigin == '/') {
889  char *origin = read_param_from_file(var_myorigin);
890 
891  if (*origin == 0)
892  msg_fatal("%s file %s is empty", VAR_MYORIGIN, var_myorigin);
893  myfree(var_myorigin); /* FIX 20070501 */
894  var_myorigin = origin;
895  }
896 #endif
897  get_mail_conf_int_table(other_int_defaults);
898  get_mail_conf_long_table(long_defaults);
899  get_mail_conf_bool_table(bool_defaults);
900  get_mail_conf_time_table(time_defaults);
901  check_default_privs();
902  check_mail_owner();
903  check_sgid_group();
904  check_overlap();
908 
909  /*
910  * Variables whose defaults are determined at runtime, after other
911  * variables have been set. This dependency is admittedly a bit tricky.
912  * XXX Perhaps we should just register variables, and let the evaluator
913  * figure out in what order to evaluate things.
914  */
915  get_mail_conf_str_fn_table(function_str_defaults_2);
916 
917  /*
918  * FIX 200412 The IPv6 patch did not call own_inet_addr_list() before
919  * entering the chroot jail on Linux IPv6 systems. Linux has the IPv6
920  * interface list in /proc, which is not available after chrooting.
921  */
922  (void) own_inet_addr_list();
923 
924  /*
925  * The PID variable cannot be set from the configuration file!!
926  */
927  set_mail_conf_int(VAR_PID, var_pid = getpid());
928 
929  /*
930  * Neither can the start time variable. It isn't even visible.
931  */
932  time(&var_starttime);
933 
934  /*
935  * Export the syslog name so children can inherit and use it before they
936  * have initialized.
937  */
938  if ((cp = safe_getenv(CONF_ENV_LOGTAG)) == 0
939  || strcmp(cp, var_syslog_name) != 0)
940  if (setenv(CONF_ENV_LOGTAG, var_syslog_name, 1) < 0)
941  msg_fatal("setenv %s %s: %m", CONF_ENV_LOGTAG, var_syslog_name);
942 
943  /*
944  * I have seen this happen just too often.
945  */
947  msg_fatal("%s and %s parameter settings must not be identical: %s",
949 
950  /*
951  * XXX These should be caught by a proper parameter parsing algorithm.
952  */
954  msg_fatal("%s parameter setting must not contain multiple values: %s",
956 
958  msg_fatal("%s parameter setting must not contain multiple values: %s",
960 
961  /*
962  * One more sanity check.
963  */
964  if ((cp = verp_delims_verify(var_verp_delims)) != 0)
965  msg_fatal("file %s/%s: parameters %s and %s: %s",
968 }
#define DEF_SMTPUTF8_ENABLE
Definition: mail_params.h:4038
int var_ownreq_special
Definition: mail_params.c:283
#define VAR_STRICT_SMTPUTF8
Definition: mail_params.h:4043
char * var_mail_name
Definition: mail_params.c:230
void mail_params_init()
Definition: mail_params.c:658
int var_ipc_timeout
Definition: mail_params.c:255
const char null_format_string[1]
Definition: mail_params.c:351
#define DEF_VERP_DELIMS
Definition: mail_params.h:2589
char * var_error_service
Definition: mail_params.c:308
int midna_domain_transitional
Definition: midna_domain.c:106
int warn_compat_break_relay_domains
Definition: mail_params.c:356
#define DEF_FORK_TRIES
Definition: mail_params.h:1973
void myfree(void *ptr)
Definition: mymalloc.c:207
int var_disable_mime_oconv
Definition: mail_params.c:323
#define DEF_ERROR_SERVICE
Definition: mail_params.h:2757
#define VAR_ERROR_SERVICE
Definition: mail_params.h:2756
#define VAR_HEADER_LIMIT
Definition: mail_params.h:1903
#define VAR_DSN_FILTER
Definition: mail_params.h:3976
#define VAR_OWNREQ_SPECIAL
Definition: mail_params.h:2463
#define DEF_ENABLE_ORCPT
Definition: mail_params.h:671
char * var_fflush_domains
Definition: mail_params.c:287
#define DEF_MAIL_OWNER
Definition: mail_params.h:88
int var_fault_inj_code
Definition: mail_params.c:300
char * var_relayhost
Definition: mail_params.c:227
#define VAR_STRICT_8BITMIME
Definition: mail_params.h:2951
char * var_procname
Definition: mail_params.c:252
int var_strict_8bit_body
Definition: mail_params.c:326
#define DEF_TRIGGER_TIMEOUT
Definition: mail_params.h:2027
char * var_proxymap_service
Definition: mail_params.c:312
#define DEF_DATA_DIR
Definition: mail_params.h:312
#define VAR_DISABLE_DNS
Definition: mail_params.h:230
char * mystrdup(const char *str)
Definition: mymalloc.c:225
char * var_cleanup_service
Definition: mail_params.c:302
#define DEF_MULTI_CONF_DIRS
Definition: mail_params.h:3555
#define VAR_PROXY_INTERFACES
Definition: mail_params.h:182
char * var_import_environ
Definition: mail_params.c:296
#define DEF_TRACE_SERVICE
Definition: mail_params.h:2882
#define DEF_FFLUSH_DOMAINS
Definition: mail_params.h:2491
char * var_command_dir
Definition: mail_params.c:244
char * var_multi_group
Definition: mail_params.c:336
int vstring_get_nonl(VSTRING *vp, VSTREAM *fp)
#define VAR_MIME_BOUND_LEN
Definition: mail_params.h:2939
gid_t var_default_gid
Definition: mail_params.c:240
long var_lmdb_map_size
Definition: mail_params.c:316
int var_pid
Definition: mail_params.c:254
int var_ipc_idle_limit
Definition: mail_params.c:268
#define VAR_IMPORT_ENVIRON
Definition: mail_params.h:2506
int var_soft_bounce
Definition: mail_params.c:281
char * var_verp_delims
Definition: mail_params.c:289
#define VAR_RELAYHOST
Definition: mail_params.h:211
#define DEF_RELAY_DOMAINS
Definition: mail_params.h:2049
#define VAR_MAIL_RELEASE
Definition: mail_version.h:46
#define DEF_SGID_GROUP
Definition: mail_params.h:94
#define VAR_RELAY_DOMAINS
Definition: mail_params.h:2048
#define vstring_str(vp)
Definition: vstring.h:71
#define VAR_DB_CREATE_BUF
Definition: mail_params.h:2910
#define VAR_CYRUS_SASL_AUTHZID
Definition: mail_params.h:1800
#define DEF_VERP_FILTER
Definition: mail_params.h:2593
char * name
Definition: dict.h:80
#define VAR_CONFIG_DIRS
Definition: mail_params.h:330
#define VAR_DROP_HDRS
Definition: mail_params.h:390
#define DEF_CONFIG_DIRS
Definition: mail_params.h:331
#define stat(p, s)
Definition: warn_stat.h:18
#define DEF_DEFAULT_PRIVS
Definition: mail_params.h:99
#define VAR_FLUSH_SERVICE
Definition: mail_params.h:2760
#define VAR_RCPT_DELIM
Definition: mail_params.h:644
#define VAR_FORK_DELAY
Definition: mail_params.h:1976
#define VAR_SMTPUTF8_ENABLE
Definition: mail_params.h:4036
#define VAR_MAX_IDLE
Definition: mail_params.h:919
#define TRIM(s)
int var_strict_8bitmime
Definition: mail_params.c:324
#define DEF_STRICT_7BIT_HDRS
Definition: mail_params.h:2956
INET_PROTO_INFO * inet_proto_init(const char *context, const char *protocols)
Definition: inet_proto.c:180
#define VAR_INT_FILT_CLASSES
Definition: mail_params.h:3440
#define VAR_MIME_MAXDEPTH
Definition: mail_params.h:2935
int dict_db_cache_size
#define VAR_HELPFUL_WARNINGS
Definition: mail_params.h:34
char * var_sgid_group
Definition: mail_params.c:236
#define VAR_DAEMON_TIMEOUT
Definition: mail_params.h:2003
#define VAR_LONG_QUEUE_IDS
Definition: mail_params.h:983
char * var_int_filt_classes
Definition: mail_params.c:331
#define VAR_IPC_TIMEOUT
Definition: mail_params.h:2015
#define SKIP(tp, cond)
Definition: tok822_parse.c:159
#define DEF_MULTI_WRAPPER
Definition: mail_params.h:3559
#define DEF_IN_FLOW_DELAY
Definition: mail_params.h:2631
int var_trigger_timeout
Definition: mail_params.c:273
#define VAR_IPC_IDLE
Definition: mail_params.h:935
int var_debug_peer_level
Definition: mail_params.c:299
int var_fork_delay
Definition: mail_params.c:276
char * var_multi_conf_dirs
Definition: mail_params.c:334
#define VAR_CLEANUP_SERVICE
Definition: mail_params.h:2730
int var_mime_bound_len
Definition: mail_params.c:319
#define VAR_TRACE_SERVICE
Definition: mail_params.h:2881
char * var_relay_domains
Definition: mail_params.c:286
#define DEF_OLDLOG_COMPAT
Definition: mail_params.h:2986
#define VAR_DONT_REMOVE
Definition: mail_params.h:2449
int warn_compat_break_chroot
Definition: mail_params.c:365
int var_disable_mime_input
Definition: mail_params.c:322
#define DEF_SHLIB_DIR
Definition: mail_params.h:4023
#define VAR_INET_WINDOW
Definition: mail_params.h:3546
#define VAR_PROC_LIMIT
Definition: mail_params.h:889
char * var_proxywrite_service
Definition: mail_params.c:313
char * var_transit_dest
Definition: mail_params.c:229
#define DEF_HELPFUL_WARNINGS
Definition: mail_params.h:35
#define DEF_HEADER_LIMIT
Definition: mail_params.h:1904
int var_dont_remove
Definition: mail_params.c:257
#define DEF_PROXY_INTERFACES
Definition: mail_params.h:183
void get_mail_conf_nbool_table(const CONFIG_NBOOL_TABLE *)
char * var_config_dir
Definition: mail_params.c:241
#define DEF_INET_INTERFACES
Definition: mail_params.h:179
char * var_mydomain
Definition: mail_params.c:224
#define VAR_VERP_FILTER
Definition: mail_params.h:2592
#define VAR_INET_INTERFACES
Definition: mail_params.h:176
#define DEF_OWNREQ_SPECIAL
Definition: mail_params.h:2464
char * var_drop_hdrs
Definition: mail_params.c:348
#define DEF_COMPAT_LEVEL
Definition: mail_params.h:51
#define DEF_FLOCK_TRIES
Definition: mail_params.h:1984
#define DEF_COMMAND_DIR
Definition: mail_params.h:294
int var_idle_limit
Definition: mail_params.c:250
int var_smtputf8_enable
Definition: mail_params.c:343
#define DEF_DROP_HDRS
Definition: mail_params.h:391
#define VAR_FLOCK_STALE
Definition: mail_params.h:1991
#define VAR_DNS_NCACHE_TTL_FIX
Definition: mail_params.h:4064
int var_db_read_buf
Definition: mail_params.c:315
size_t dict_lmdb_map_size
const char * mail_conf_lookup(const char *name)
Definition: mail_conf.c:255
bool var_daemon_open_fatal
Definition: mail_params.c:340
char * var_verify_service
Definition: mail_params.c:310
#define DEF_SYSLOG_FACILITY
Definition: mail_params.h:353
int var_mime_maxdepth
Definition: mail_params.c:318
#define strcasecmp_utf8(s1, s2)
Definition: stringops.h:75
#define DEF_MAX_USE
Definition: mail_params.h:912
#define DEF_IDNA2003_COMPAT
Definition: mail_params.h:4053
char * var_myorigin
Definition: mail_params.c:225
#define DEF_QUEUE_SERVICE
Definition: mail_params.h:2743
#define DEF_LMDB_MAP_SIZE
Definition: mail_params.h:2922
#define VAR_HASH_QUEUE_NAMES
Definition: mail_params.h:971
int var_strict_7bit_hdrs
Definition: mail_params.c:325
#define VAR_RELAY_CHECKS
Definition: mail_params.h:2085
#define VAR_MULTI_GROUP
Definition: mail_params.h:3566
const char * mynetworks(void)
Definition: mynetworks.c:295
uid_t var_default_uid
Definition: mail_params.c:239
#define VAR_IN_FLOW_DELAY
Definition: mail_params.h:2627
#define DEF_DISABLE_DNS
Definition: mail_params.h:231
gid_t var_sgid_gid
Definition: mail_params.c:237
#define VAR_MAIL_VERSION
Definition: mail_version.h:38
#define DEF_FLOCK_DELAY
Definition: mail_params.h:1988
int var_proc_limit
Definition: mail_params.c:317
#define VAR_PID
Definition: mail_params.h:2441
#define MAIN_CONF_FILE
Definition: mail_params.h:334
#define VAR_QUEUE_DIR
Definition: mail_params.h:277
char * var_mail_version
Definition: mail_params.c:267
#define DEF_IPC_TTL
Definition: mail_params.h:945
#define VAR_LINE_LIMIT
Definition: mail_params.h:952
#define DEF_IPC_TIMEOUT
Definition: mail_params.h:2016
long var_message_limit
Definition: mail_params.c:265
#define DEF_MULTI_ENABLE
Definition: mail_params.h:3571
char * var_rcpt_delim
Definition: mail_params.c:274
int valid_hostname(const char *name, int gripe)
#define VAR_DAEMON_DIR
Definition: mail_params.h:286
#define VAR_EXPORT_ENVIRON
Definition: mail_params.h:2510
int var_bundle_rcpt
Definition: mail_params.c:251
#define DEF_CYRUS_SASL_AUTHZID
Definition: mail_params.h:1801
char * var_syslog_name
Definition: mail_params.c:232
bool var_long_queue_ids
Definition: mail_params.c:339
#define MAX_DELAY_MAX_RES
Definition: mail_params.h:3172
int warn_compat_break_mynetworks_style
Definition: mail_params.c:358
#define VAR_EVENT_DRAIN
Definition: mail_params.h:927
char * var_hash_queue_names
Definition: mail_params.c:271
#define VAR_HASH_QUEUE_DEPTH
Definition: mail_params.h:975
bool var_multi_enable
Definition: mail_params.c:338
#define VAR_DISABLE_MIME_INPUT
Definition: mail_params.h:2943
void get_mail_conf_str_fn_table(const CONFIG_STR_FN_TABLE *)
#define DEF_FORK_DELAY
Definition: mail_params.h:1977
void get_mail_conf_time_table(const CONFIG_TIME_TABLE *)
#define VAR_DEFER_SERVICE
Definition: mail_params.h:2734
int var_flock_tries
Definition: mail_params.c:277
#define DEF_PROC_LIMIT
Definition: mail_params.h:890
char * var_showq_service
Definition: mail_params.c:307
#define VAR_MESSAGE_LIMIT
Definition: mail_params.h:1926
#define VAR_MYNETWORKS
Definition: mail_params.h:2035
gid_t var_owner_gid
Definition: mail_params.c:235
#define VAR_FAULT_INJ_CODE
Definition: mail_params.h:2653
uid_t var_owner_uid
Definition: mail_params.c:234
#define VAR_MULTI_CONF_DIRS
Definition: mail_params.h:3554
#define MIN_DELAY_MAX_RES
Definition: mail_params.h:3174
#define DEF_DISABLE_MIME_INPUT
Definition: mail_params.h:2944
#define DEF_HASH_QUEUE_NAMES
Definition: mail_params.h:972
#define VAR_LMDB_MAP_SIZE
Definition: mail_params.h:2921
#define CONF_ENV_LOGTAG
Definition: mail_conf.h:25
#define VAR_META_DIR
Definition: mail_params.h:4027
#define VAR_FLOCK_DELAY
Definition: mail_params.h:1987
#define DEF_INET_WINDOW
Definition: mail_params.h:3547
int dict_allow_surrogate
char * var_pid_dir
Definition: mail_params.c:256
int var_hash_queue_depth
Definition: mail_params.c:272
#define DEF_MIME_MAXDEPTH
Definition: mail_params.h:2936
#define VAR_DOUBLE_BOUNCE
Definition: mail_params.h:1965
int var_db_create_buf
Definition: mail_params.c:314
char * var_double_bounce_sender
Definition: mail_params.c:262
char * var_trace_service
Definition: mail_params.c:311
int vstream_fclose(VSTREAM *stream)
Definition: vstream.c:1268
int var_event_drain
Definition: mail_params.c:249
#define VAR_ENABLE_ORCPT
Definition: mail_params.h:670
#define DEF_FLUSH_SERVICE
Definition: mail_params.h:2761
#define DEF_DONT_REMOVE
Definition: mail_params.h:2450
#define DEF_INT_FILT_CLASSES
Definition: mail_params.h:3441
#define DEF_DEBUG_PEER_LIST
Definition: mail_params.h:960
#define VAR_MYHOSTNAME
Definition: mail_params.h:140
#define DEF_CLEANUP_SERVICE
Definition: mail_params.h:2731
#define VAR_PROXYMAP_SERVICE
Definition: mail_params.h:2888
#define DEF_MIME_BOUND_LEN
Definition: mail_params.h:2940
int var_ipc_ttl_limit
Definition: mail_params.c:269
#define DEF_VERIFY_SERVICE
Definition: mail_params.h:2791
#define VAR_DEFAULT_PRIVS
Definition: mail_params.h:98
char * safe_getenv(const char *)
Definition: safe_getenv.c:38
#define DEF_PAR_DOM_MATCH
Definition: mail_params.h:2639
#define DEF_RELAYHOST
Definition: mail_params.h:212
#define VAR_MAIL_OWNER
Definition: mail_params.h:87
#define DEF_PROXYMAP_SERVICE
Definition: mail_params.h:2889
int inet_windowsize
#define DEF_MAIL_VERSION
Definition: mail_version.h:39
void msg_warn(const char *fmt,...)
Definition: msg.c:215
#define VAR_DB_READ_BUF
Definition: mail_params.h:2914
#define VAR_SGID_GROUP
Definition: mail_params.h:93
char * var_shlib_dir
Definition: mail_params.c:247
VSTRING * vstring_alloc(ssize_t len)
Definition: vstring.c:353
#define VAR_MYORIGIN
Definition: mail_params.h:125
#define DEF_VERIFY_NEG_CACHE
Definition: mail_params.h:2815
int var_delay_max_res
Definition: mail_params.c:330
int var_use_limit
Definition: mail_params.c:248
char * var_mynetworks
Definition: mail_params.c:261
char * var_bounce_service
Definition: mail_params.c:301
bool var_enable_orcpt
Definition: mail_params.c:349
#define VAR_MAX_USE
Definition: mail_params.h:911
#define DEF_MULTI_GROUP
Definition: mail_params.h:3567
int warn_compat_break_relay_restrictions
Definition: mail_params.c:366
#define VAR_SHLIB_DIR
Definition: mail_params.h:4021
#define VAR_SYSLOG_FACILITY
Definition: mail_params.h:349
#define DEF_MAIL_NAME
Definition: mail_params.h:28
#define VAR_INET_PROTOCOLS
Definition: mail_params.h:994
int var_cyrus_sasl_authzid
Definition: mail_params.c:332
#define DEF_DOUBLE_BOUNCE
Definition: mail_params.h:1966
#define VAR_VERIFY_NEG_CACHE
Definition: mail_params.h:2814
#define DEF_DB_CREATE_BUF
Definition: mail_params.h:2911
char * var_defer_service
Definition: mail_params.c:303
int warn_compat_break_app_dot_mydomain
Definition: mail_params.c:363
#define DEF_TOKEN_LIMIT
Definition: mail_params.h:1908
#define DEF_STRICT_ENCODING
Definition: mail_params.h:2964
#define VAR_PROXYWRITE_SERVICE
Definition: mail_params.h:2892
#define DEF_STRICT_SMTPUTF8
Definition: mail_params.h:4044
#define DEF_HASH_QUEUE_DEPTH
Definition: mail_params.h:976
#define VAR_COMPAT_LEVEL
Definition: mail_params.h:50
time_t var_starttime
Definition: mail_params.c:282
#define DEF_DISABLE_MIME_OCONV
Definition: mail_params.h:2948
#define DEF_LONG_QUEUE_IDS
Definition: mail_params.h:984
#define DEF_PICKUP_SERVICE
Definition: mail_params.h:2739
#define DEF_FLOCK_STALE
Definition: mail_params.h:1992
#define VAR_SOFT_BOUNCE
Definition: mail_params.h:2456
#define VAR_COMMAND_DIR
Definition: mail_params.h:292
void get_mail_conf_str_table(const CONFIG_STR_TABLE *)
#define VAR_DAEMON_OPEN_FATAL
Definition: mail_params.h:3969
int var_helpful_warnings
Definition: mail_params.c:231
#define VAR_IDNA2003_COMPAT
Definition: mail_params.h:4052
#define DEF_MYNETWORKS_STYLE
Definition: mail_params.h:2039
char * var_rewrite_service
Definition: mail_params.c:306
int var_line_limit
Definition: mail_params.c:263
const char * verp_delims_verify(const char *delims)
Definition: verp_sender.c:104
#define DEF_DEFER_SERVICE
Definition: mail_params.h:2735
int var_disable_dns
Definition: mail_params.c:280
#define VAR_STRICT_8BIT_BODY
Definition: mail_params.h:2959
#define DEF_MYDOMAIN
Definition: mail_params.h:144
char * var_data_dir
Definition: mail_params.c:243
NORETURN msg_fatal(const char *fmt,...)
Definition: msg.c:249
int var_inet_windowsize
Definition: mail_params.c:295
#define VAR_PAR_DOM_MATCH
Definition: mail_params.h:2638
#define DEF_SOFT_BOUNCE
Definition: mail_params.h:2457
const char * mail_conf_lookup_eval(const char *name)
Definition: mail_conf.c:262
void get_mail_conf_bool_table(const CONFIG_BOOL_TABLE *)
#define VAR_SMTPUTF8_AUTOCLASS
Definition: mail_params.h:4047
#define CHARS_COMMA_SP
Definition: sys_defs.h:1761
char * var_pickup_service
Definition: mail_params.c:304
#define VAR_MULTI_WRAPPER
Definition: mail_params.h:3558
#define DEF_IMPORT_ENVIRON
Definition: mail_params.h:2507
#define DEF_MAX_IDLE
Definition: mail_params.h:920
#define DEF_STRICT_8BIT_BODY
Definition: mail_params.h:2960
#define DEF_LINE_LIMIT
Definition: mail_params.h:953
#define VAR_ALIAS_DB_MAP
Definition: mail_params.h:558
#define DEF_REWRITE_SERVICE
Definition: mail_params.h:2749
#define VAR_STRICT_7BIT_HDRS
Definition: mail_params.h:2955
char * var_default_privs
Definition: mail_params.c:238
#define VAR_VERP_DELIMS
Definition: mail_params.h:2588
#define VAR_FLOCK_TRIES
Definition: mail_params.h:1983
char * concatenate(const char *arg0,...)
Definition: concatenate.c:42
int var_compat_level
Definition: mail_params.c:347
#define DEF_IPC_IDLE
Definition: mail_params.h:936
#define VAR_MULTI_ENABLE
Definition: mail_params.h:3570
char * var_mail_release
Definition: mail_params.c:266
#define DEF_DAEMON_TIMEOUT
Definition: mail_params.h:2004
#define DEF_MAIL_RELEASE
Definition: mail_version.h:47
#define VAR_DISABLE_MIME_OCONV
Definition: mail_params.h:2947
#define VAR_SYSLOG_NAME
Definition: mail_params.h:2560
#define DEF_PID_DIR
Definition: mail_params.h:303
int var_flock_stale
Definition: mail_params.c:279
#define VAR_MYDOMAIN
Definition: mail_params.h:143
#define VAR_DB_TYPE
Definition: mail_params.h:341
int var_in_flow_delay
Definition: mail_params.c:291
char * var_multi_name
Definition: mail_params.c:337
#define DEF_PROXYWRITE_SERVICE
Definition: mail_params.h:2893
#define DEF_BOUNCE_SERVICE
Definition: mail_params.h:2727
int var_fork_tries
Definition: mail_params.c:275
#define DEF_STRICT_8BITMIME
Definition: mail_params.h:2952
#define DEF_RCPT_DELIM
Definition: mail_params.h:645
#define VAR_FORK_TRIES
Definition: mail_params.h:1972
int var_idna2003_compat
Definition: mail_params.c:346
int var_header_limit
Definition: mail_params.c:320
#define VAR_TOKEN_LIMIT
Definition: mail_params.h:1907
INET_ADDR_LIST * own_inet_addr_list(void)
int var_verify_neg_cache
Definition: mail_params.c:328
#define DEF_DB_TYPE
Definition: sys_defs.h:1295
char * var_dsn_filter
Definition: mail_params.c:342
#define DEF_MYORIGIN
Definition: mail_params.h:126
VSTREAM * safe_open(const char *path, int flags, mode_t mode, struct stat *st, uid_t user, gid_t group, VSTRING *why)
Definition: safe_open.c:243
#define VAR_STRICT_ENCODING
Definition: mail_params.h:2963
#define VAR_MYNETWORKS_STYLE
Definition: mail_params.h:2038
#define DEF_FAULT_INJ_CODE
Definition: mail_params.h:2654
int var_oldlog_compat
Definition: mail_params.c:329
VSTRING * vstring_free(VSTRING *vp)
Definition: vstring.c:380
char * var_daemon_dir
Definition: mail_params.c:242
#define DEF_DAEMON_OPEN_FATAL
Definition: mail_params.h:3970
#define VAR_QUEUE_SERVICE
Definition: mail_params.h:2742
char * var_flush_service
Definition: mail_params.c:309
#define DEF_INET_PROTOCOLS
Definition: sys_defs.h:1403
#define VAR_DELAY_MAX_RES
Definition: mail_params.h:3171
char * var_queue_service
Definition: mail_params.c:305
#define DEF_META_DIR
Definition: mail_params.h:4029
#define VAR_REWRITE_SERVICE
Definition: mail_params.h:2748
char * var_mail_owner
Definition: mail_params.c:233
#define DEF_SHOWQ_SERVICE
Definition: mail_params.h:2753
void get_mail_conf_int_table(const CONFIG_INT_TABLE *)
#define DEF_MYDEST
Definition: mail_params.h:134
#define DO_GRIPE
Definition: haproxy_srvr.h:30
char * var_queue_dir
Definition: mail_params.c:246
#define DEF_SMTPUTF8_AUTOCLASS
Definition: mail_params.h:4048
char * var_servname
Definition: mail_params.c:253
int var_daemon_timeout
Definition: mail_params.c:284
#define VAR_SHOWQ_SERVICE
Definition: mail_params.h:2752
char * var_inet_protocols
Definition: mail_params.c:260
#define DEF_SYSLOG_NAME
Definition: mail_params.h:2562
char * var_proxy_interfaces
Definition: mail_params.c:259
#define VAR_BOUNCE_SERVICE
Definition: mail_params.h:2726
char * var_export_environ
Definition: mail_params.c:297
int var_token_limit
Definition: mail_params.c:321
void set_mail_conf_int(const char *, int)
#define ISSPACE(c)
Definition: sys_defs.h:1753
#define VAR_APP_DOT_MYDOMAIN
Definition: mail_params.h:511
#define DEF_DAEMON_DIR
Definition: mail_params.h:288
#define DEF_QUEUE_DIR
Definition: mail_params.h:279
int var_strict_smtputf8
Definition: mail_params.c:344
#define VAR_VERIFY_SERVICE
Definition: mail_params.h:2790
#define DEF_MULTI_NAME
Definition: mail_params.h:3563
#define DEF_DNS_NCACHE_TTL_FIX
Definition: mail_params.h:4065
void get_mail_conf_long_table(const CONFIG_LONG_TABLE *)
const char * get_hostname(void)
Definition: get_hostname.c:55
#define VAR_TRIGGER_TIMEOUT
Definition: mail_params.h:2026
char * var_multi_wrapper
Definition: mail_params.c:335
char * var_myhostname
Definition: mail_params.c:223
int util_utf8_enable
Definition: printable.c:47
char * var_smtputf8_autoclass
Definition: mail_params.c:345
#define VAR_MYDEST
Definition: mail_params.h:133
#define DEF_EXPORT_ENVIRON
Definition: mail_params.h:2511
char * var_meta_dir
Definition: mail_params.c:245
#define VAR_DEBUG_PEER_LIST
Definition: mail_params.h:959
#define VAR_MAIL_NAME
Definition: mail_params.h:27
#define vstream_ferror(vp)
Definition: vstream.h:120
char * var_syslog_facility
Definition: mail_params.c:285
int var_flock_delay
Definition: mail_params.c:278
#define VAR_PID_DIR
Definition: mail_params.h:301
int warn_compat_break_smtputf8_enable
Definition: mail_params.c:364
char * var_db_type
Definition: mail_params.c:270
char * var_inet_interfaces
Definition: mail_params.c:258
#define VAR_IPC_TTL
Definition: mail_params.h:944
#define VAR_FFLUSH_DOMAINS
Definition: mail_params.h:2490
#define VAR_MULTI_NAME
Definition: mail_params.h:3562
char * var_par_dom_match
Definition: mail_params.c:292
#define VAR_PICKUP_SERVICE
Definition: mail_params.h:2738
char * var_alias_db_map
Definition: mail_params.c:264
#define VAR_DATA_DIR
Definition: mail_params.h:310
#define DEF_ALIAS_DB_MAP
Definition: mail_params.h:559
#define DEF_DB_READ_BUF
Definition: mail_params.h:2915
#define DEF_MESSAGE_LIMIT
Definition: mail_params.h:1927
#define VAR_OLDLOG_COMPAT
Definition: mail_params.h:2985
char * var_mynetworks_style
Definition: mail_params.c:288
#define DEF_EVENT_DRAIN
Definition: mail_params.h:928
int var_strict_encoding
Definition: mail_params.c:327
char * var_transit_origin
Definition: mail_params.c:228
char * var_config_dirs
Definition: mail_params.c:293
#define VAR_DEBUG_PEER_LEVEL
Definition: mail_params.h:963
int warn_compat_break_flush_domains
Definition: mail_params.c:357
#define DEF_DELAY_MAX_RES
Definition: mail_params.h:3173
char * var_debug_peer_list
Definition: mail_params.c:298
char * var_verp_filter
Definition: mail_params.c:290
int msg_syslog_facility(const char *facility_name)
Definition: msg_syslog.c:198
#define DEF_DSN_FILTER
Definition: mail_params.h:3977
#define DEF_DEBUG_PEER_LEVEL
Definition: mail_params.h:964
bool var_dns_ncache_ttl_fix
Definition: mail_params.c:341
char * var_mydest
Definition: mail_params.c:226