From: Jeremy Harris Date: Wed, 22 Jan 2020 14:08:10 +0000 (+0000) Subject: Compiler quietening: initialisers X-Git-Url: https://git.exim.org/users/jgh/exim.git/commitdiff_plain/23f2e90d7982f35e7a94a9df3128c1e574a26770?ds=sidebyside Compiler quietening: initialisers --- diff --git a/src/src/auths/external.c b/src/src/auths/external.c index 10e1366a8..d66407a9a 100644 --- a/src/src/auths/external.c +++ b/src/src/auths/external.c @@ -17,12 +17,9 @@ method defined in RFC 4422 Appendix A. /* Options specific to the external authentication mechanism. */ optionlist auth_external_options[] = { - { "client_send", opt_stringptr, - (void *)(offsetof(auth_external_options_block, client_send)) }, - { "server_param2", opt_stringptr, - (void *)(offsetof(auth_external_options_block, server_param2)) }, - { "server_param3", opt_stringptr, - (void *)(offsetof(auth_external_options_block, server_param3)) }, + { "client_send", opt_stringptr, OPT_OFF(auth_external_options_block, client_send) }, + { "server_param2", opt_stringptr, OPT_OFF(auth_external_options_block, server_param2) }, + { "server_param3", opt_stringptr, OPT_OFF(auth_external_options_block, server_param3) }, }; /* Size of the options list. An extern variable has to be used so that its diff --git a/src/src/readconf.c b/src/src/readconf.c index 9a8b83459..f16f51dab 100644 --- a/src/src/readconf.c +++ b/src/src/readconf.c @@ -29,364 +29,364 @@ static void fn_smtp_receive_timeout(const uschar *, const uschar *, unsigned); must be in alphabetic order because it is searched by binary chop. */ static optionlist optionlist_config[] = { - { "*set_exim_group", opt_bool|opt_hidden, &exim_gid_set }, - { "*set_exim_user", opt_bool|opt_hidden, &exim_uid_set }, - { "*set_system_filter_group", opt_bool|opt_hidden, &system_filter_gid_set }, - { "*set_system_filter_user", opt_bool|opt_hidden, &system_filter_uid_set }, - { "accept_8bitmime", opt_bool, &accept_8bitmime }, - { "acl_not_smtp", opt_stringptr, &acl_not_smtp }, + { "*set_exim_group", opt_bool|opt_hidden, {&exim_gid_set} }, + { "*set_exim_user", opt_bool|opt_hidden, {&exim_uid_set} }, + { "*set_system_filter_group", opt_bool|opt_hidden, {&system_filter_gid_set} }, + { "*set_system_filter_user", opt_bool|opt_hidden, {&system_filter_uid_set} }, + { "accept_8bitmime", opt_bool, {&accept_8bitmime} }, + { "acl_not_smtp", opt_stringptr, {&acl_not_smtp} }, #ifdef WITH_CONTENT_SCAN - { "acl_not_smtp_mime", opt_stringptr, &acl_not_smtp_mime }, + { "acl_not_smtp_mime", opt_stringptr, {&acl_not_smtp_mime} }, #endif - { "acl_not_smtp_start", opt_stringptr, &acl_not_smtp_start }, - { "acl_smtp_auth", opt_stringptr, &acl_smtp_auth }, - { "acl_smtp_connect", opt_stringptr, &acl_smtp_connect }, - { "acl_smtp_data", opt_stringptr, &acl_smtp_data }, + { "acl_not_smtp_start", opt_stringptr, {&acl_not_smtp_start} }, + { "acl_smtp_auth", opt_stringptr, {&acl_smtp_auth} }, + { "acl_smtp_connect", opt_stringptr, {&acl_smtp_connect} }, + { "acl_smtp_data", opt_stringptr, {&acl_smtp_data} }, #ifndef DISABLE_PRDR - { "acl_smtp_data_prdr", opt_stringptr, &acl_smtp_data_prdr }, + { "acl_smtp_data_prdr", opt_stringptr, {&acl_smtp_data_prdr} }, #endif #ifndef DISABLE_DKIM - { "acl_smtp_dkim", opt_stringptr, &acl_smtp_dkim }, + { "acl_smtp_dkim", opt_stringptr, {&acl_smtp_dkim} }, #endif - { "acl_smtp_etrn", opt_stringptr, &acl_smtp_etrn }, - { "acl_smtp_expn", opt_stringptr, &acl_smtp_expn }, - { "acl_smtp_helo", opt_stringptr, &acl_smtp_helo }, - { "acl_smtp_mail", opt_stringptr, &acl_smtp_mail }, - { "acl_smtp_mailauth", opt_stringptr, &acl_smtp_mailauth }, + { "acl_smtp_etrn", opt_stringptr, {&acl_smtp_etrn} }, + { "acl_smtp_expn", opt_stringptr, {&acl_smtp_expn} }, + { "acl_smtp_helo", opt_stringptr, {&acl_smtp_helo} }, + { "acl_smtp_mail", opt_stringptr, {&acl_smtp_mail} }, + { "acl_smtp_mailauth", opt_stringptr, {&acl_smtp_mailauth} }, #ifdef WITH_CONTENT_SCAN - { "acl_smtp_mime", opt_stringptr, &acl_smtp_mime }, + { "acl_smtp_mime", opt_stringptr, {&acl_smtp_mime} }, #endif - { "acl_smtp_notquit", opt_stringptr, &acl_smtp_notquit }, - { "acl_smtp_predata", opt_stringptr, &acl_smtp_predata }, - { "acl_smtp_quit", opt_stringptr, &acl_smtp_quit }, - { "acl_smtp_rcpt", opt_stringptr, &acl_smtp_rcpt }, + { "acl_smtp_notquit", opt_stringptr, {&acl_smtp_notquit} }, + { "acl_smtp_predata", opt_stringptr, {&acl_smtp_predata} }, + { "acl_smtp_quit", opt_stringptr, {&acl_smtp_quit} }, + { "acl_smtp_rcpt", opt_stringptr, {&acl_smtp_rcpt} }, #ifndef DISABLE_TLS - { "acl_smtp_starttls", opt_stringptr, &acl_smtp_starttls }, + { "acl_smtp_starttls", opt_stringptr, {&acl_smtp_starttls} }, #endif - { "acl_smtp_vrfy", opt_stringptr, &acl_smtp_vrfy }, - { "add_environment", opt_stringptr, &add_environment }, - { "admin_groups", opt_gidlist, &admin_groups }, - { "allow_domain_literals", opt_bool, &allow_domain_literals }, - { "allow_mx_to_ip", opt_bool, &allow_mx_to_ip }, - { "allow_utf8_domains", opt_bool, &allow_utf8_domains }, - { "auth_advertise_hosts", opt_stringptr, &auth_advertise_hosts }, - { "auto_thaw", opt_time, &auto_thaw }, + { "acl_smtp_vrfy", opt_stringptr, {&acl_smtp_vrfy} }, + { "add_environment", opt_stringptr, {&add_environment} }, + { "admin_groups", opt_gidlist, {&admin_groups} }, + { "allow_domain_literals", opt_bool, {&allow_domain_literals} }, + { "allow_mx_to_ip", opt_bool, {&allow_mx_to_ip} }, + { "allow_utf8_domains", opt_bool, {&allow_utf8_domains} }, + { "auth_advertise_hosts", opt_stringptr, {&auth_advertise_hosts} }, + { "auto_thaw", opt_time, {&auto_thaw} }, #ifdef WITH_CONTENT_SCAN - { "av_scanner", opt_stringptr, &av_scanner }, + { "av_scanner", opt_stringptr, {&av_scanner} }, #endif - { "bi_command", opt_stringptr, &bi_command }, + { "bi_command", opt_stringptr, {&bi_command} }, #ifdef EXPERIMENTAL_BRIGHTMAIL - { "bmi_config_file", opt_stringptr, &bmi_config_file }, + { "bmi_config_file", opt_stringptr, {&bmi_config_file} }, #endif - { "bounce_message_file", opt_stringptr, &bounce_message_file }, - { "bounce_message_text", opt_stringptr, &bounce_message_text }, - { "bounce_return_body", opt_bool, &bounce_return_body }, - { "bounce_return_linesize_limit", opt_mkint, &bounce_return_linesize_limit }, - { "bounce_return_message", opt_bool, &bounce_return_message }, - { "bounce_return_size_limit", opt_mkint, &bounce_return_size_limit }, - { "bounce_sender_authentication",opt_stringptr,&bounce_sender_authentication }, - { "callout_domain_negative_expire", opt_time, &callout_cache_domain_negative_expire }, - { "callout_domain_positive_expire", opt_time, &callout_cache_domain_positive_expire }, - { "callout_negative_expire", opt_time, &callout_cache_negative_expire }, - { "callout_positive_expire", opt_time, &callout_cache_positive_expire }, - { "callout_random_local_part",opt_stringptr, &callout_random_local_part }, - { "check_log_inodes", opt_int, &check_log_inodes }, - { "check_log_space", opt_Kint, &check_log_space }, - { "check_rfc2047_length", opt_bool, &check_rfc2047_length }, - { "check_spool_inodes", opt_int, &check_spool_inodes }, - { "check_spool_space", opt_Kint, &check_spool_space }, - { "chunking_advertise_hosts", opt_stringptr, &chunking_advertise_hosts }, - { "commandline_checks_require_admin", opt_bool,&commandline_checks_require_admin }, - { "daemon_smtp_port", opt_stringptr|opt_hidden, &daemon_smtp_port }, - { "daemon_smtp_ports", opt_stringptr, &daemon_smtp_port }, - { "daemon_startup_retries", opt_int, &daemon_startup_retries }, - { "daemon_startup_sleep", opt_time, &daemon_startup_sleep }, + { "bounce_message_file", opt_stringptr, {&bounce_message_file} }, + { "bounce_message_text", opt_stringptr, {&bounce_message_text} }, + { "bounce_return_body", opt_bool, {&bounce_return_body} }, + { "bounce_return_linesize_limit", opt_mkint, {&bounce_return_linesize_limit} }, + { "bounce_return_message", opt_bool, {&bounce_return_message} }, + { "bounce_return_size_limit", opt_mkint, {&bounce_return_size_limit} }, + { "bounce_sender_authentication",opt_stringptr,{&bounce_sender_authentication} }, + { "callout_domain_negative_expire", opt_time, {&callout_cache_domain_negative_expire} }, + { "callout_domain_positive_expire", opt_time, {&callout_cache_domain_positive_expire} }, + { "callout_negative_expire", opt_time, {&callout_cache_negative_expire} }, + { "callout_positive_expire", opt_time, {&callout_cache_positive_expire} }, + { "callout_random_local_part",opt_stringptr, {&callout_random_local_part} }, + { "check_log_inodes", opt_int, {&check_log_inodes} }, + { "check_log_space", opt_Kint, {&check_log_space} }, + { "check_rfc2047_length", opt_bool, {&check_rfc2047_length} }, + { "check_spool_inodes", opt_int, {&check_spool_inodes} }, + { "check_spool_space", opt_Kint, {&check_spool_space} }, + { "chunking_advertise_hosts", opt_stringptr, {&chunking_advertise_hosts} }, + { "commandline_checks_require_admin", opt_bool,{&commandline_checks_require_admin} }, + { "daemon_smtp_port", opt_stringptr|opt_hidden, {&daemon_smtp_port} }, + { "daemon_smtp_ports", opt_stringptr, {&daemon_smtp_port} }, + { "daemon_startup_retries", opt_int, {&daemon_startup_retries} }, + { "daemon_startup_sleep", opt_time, {&daemon_startup_sleep} }, #ifdef EXPERIMENTAL_DCC - { "dcc_direct_add_header", opt_bool, &dcc_direct_add_header }, - { "dccifd_address", opt_stringptr, &dccifd_address }, - { "dccifd_options", opt_stringptr, &dccifd_options }, + { "dcc_direct_add_header", opt_bool, {&dcc_direct_add_header} }, + { "dccifd_address", opt_stringptr, {&dccifd_address} }, + { "dccifd_options", opt_stringptr, {&dccifd_options} }, #endif - { "debug_store", opt_bool, &debug_store }, - { "delay_warning", opt_timelist, &delay_warning }, - { "delay_warning_condition", opt_stringptr, &delay_warning_condition }, - { "deliver_drop_privilege", opt_bool, &deliver_drop_privilege }, - { "deliver_queue_load_max", opt_fixed, &deliver_queue_load_max }, - { "delivery_date_remove", opt_bool, &delivery_date_remove }, + { "debug_store", opt_bool, {&debug_store} }, + { "delay_warning", opt_timelist, {&delay_warning} }, + { "delay_warning_condition", opt_stringptr, {&delay_warning_condition} }, + { "deliver_drop_privilege", opt_bool, {&deliver_drop_privilege} }, + { "deliver_queue_load_max", opt_fixed, {&deliver_queue_load_max} }, + { "delivery_date_remove", opt_bool, {&delivery_date_remove} }, #ifdef ENABLE_DISABLE_FSYNC - { "disable_fsync", opt_bool, &disable_fsync }, + { "disable_fsync", opt_bool, {&disable_fsync} }, #endif - { "disable_ipv6", opt_bool, &disable_ipv6 }, + { "disable_ipv6", opt_bool, {&disable_ipv6} }, #ifndef DISABLE_DKIM - { "dkim_verify_hashes", opt_stringptr, &dkim_verify_hashes }, - { "dkim_verify_keytypes", opt_stringptr, &dkim_verify_keytypes }, - { "dkim_verify_minimal", opt_bool, &dkim_verify_minimal }, - { "dkim_verify_signers", opt_stringptr, &dkim_verify_signers }, + { "dkim_verify_hashes", opt_stringptr, {&dkim_verify_hashes} }, + { "dkim_verify_keytypes", opt_stringptr, {&dkim_verify_keytypes} }, + { "dkim_verify_minimal", opt_bool, {&dkim_verify_minimal} }, + { "dkim_verify_signers", opt_stringptr, {&dkim_verify_signers} }, #endif #ifdef SUPPORT_DMARC - { "dmarc_forensic_sender", opt_stringptr, &dmarc_forensic_sender }, - { "dmarc_history_file", opt_stringptr, &dmarc_history_file }, - { "dmarc_tld_file", opt_stringptr, &dmarc_tld_file }, + { "dmarc_forensic_sender", opt_stringptr, {&dmarc_forensic_sender} }, + { "dmarc_history_file", opt_stringptr, {&dmarc_history_file} }, + { "dmarc_tld_file", opt_stringptr, {&dmarc_tld_file} }, #endif - { "dns_again_means_nonexist", opt_stringptr, &dns_again_means_nonexist }, - { "dns_check_names_pattern", opt_stringptr, &check_dns_names_pattern }, - { "dns_cname_loops", opt_int, &dns_cname_loops }, - { "dns_csa_search_limit", opt_int, &dns_csa_search_limit }, - { "dns_csa_use_reverse", opt_bool, &dns_csa_use_reverse }, - { "dns_dnssec_ok", opt_int, &dns_dnssec_ok }, - { "dns_ipv4_lookup", opt_stringptr, &dns_ipv4_lookup }, - { "dns_retrans", opt_time, &dns_retrans }, - { "dns_retry", opt_int, &dns_retry }, - { "dns_trust_aa", opt_stringptr, &dns_trust_aa }, - { "dns_use_edns0", opt_int, &dns_use_edns0 }, + { "dns_again_means_nonexist", opt_stringptr, {&dns_again_means_nonexist} }, + { "dns_check_names_pattern", opt_stringptr, {&check_dns_names_pattern} }, + { "dns_cname_loops", opt_int, {&dns_cname_loops} }, + { "dns_csa_search_limit", opt_int, {&dns_csa_search_limit} }, + { "dns_csa_use_reverse", opt_bool, {&dns_csa_use_reverse} }, + { "dns_dnssec_ok", opt_int, {&dns_dnssec_ok} }, + { "dns_ipv4_lookup", opt_stringptr, {&dns_ipv4_lookup} }, + { "dns_retrans", opt_time, {&dns_retrans} }, + { "dns_retry", opt_int, {&dns_retry} }, + { "dns_trust_aa", opt_stringptr, {&dns_trust_aa} }, + { "dns_use_edns0", opt_int, {&dns_use_edns0} }, /* This option is now a no-op, retained for compatibility */ - { "drop_cr", opt_bool, &drop_cr }, + { "drop_cr", opt_bool, {&drop_cr} }, /*********************************************************/ - { "dsn_advertise_hosts", opt_stringptr, &dsn_advertise_hosts }, - { "dsn_from", opt_stringptr, &dsn_from }, - { "envelope_to_remove", opt_bool, &envelope_to_remove }, - { "errors_copy", opt_stringptr, &errors_copy }, - { "errors_reply_to", opt_stringptr, &errors_reply_to }, + { "dsn_advertise_hosts", opt_stringptr, {&dsn_advertise_hosts} }, + { "dsn_from", opt_stringptr, {&dsn_from} }, + { "envelope_to_remove", opt_bool, {&envelope_to_remove} }, + { "errors_copy", opt_stringptr, {&errors_copy} }, + { "errors_reply_to", opt_stringptr, {&errors_reply_to} }, #ifndef DISABLE_EVENT - { "event_action", opt_stringptr, &event_action }, + { "event_action", opt_stringptr, {&event_action} }, #endif - { "exim_group", opt_gid, &exim_gid }, - { "exim_path", opt_stringptr, &exim_path }, - { "exim_user", opt_uid, &exim_uid }, - { "exim_version", opt_stringptr, &version_string }, - { "extra_local_interfaces", opt_stringptr, &extra_local_interfaces }, - { "extract_addresses_remove_arguments", opt_bool, &extract_addresses_remove_arguments }, - { "finduser_retries", opt_int, &finduser_retries }, - { "freeze_tell", opt_stringptr, &freeze_tell }, - { "gecos_name", opt_stringptr, &gecos_name }, - { "gecos_pattern", opt_stringptr, &gecos_pattern }, + { "exim_group", opt_gid, {&exim_gid} }, + { "exim_path", opt_stringptr, {&exim_path} }, + { "exim_user", opt_uid, {&exim_uid} }, + { "exim_version", opt_stringptr, {&version_string} }, + { "extra_local_interfaces", opt_stringptr, {&extra_local_interfaces} }, + { "extract_addresses_remove_arguments", opt_bool, {&extract_addresses_remove_arguments} }, + { "finduser_retries", opt_int, {&finduser_retries} }, + { "freeze_tell", opt_stringptr, {&freeze_tell} }, + { "gecos_name", opt_stringptr, {&gecos_name} }, + { "gecos_pattern", opt_stringptr, {&gecos_pattern} }, #ifndef DISABLE_TLS - { "gnutls_allow_auto_pkcs11", opt_bool, &gnutls_allow_auto_pkcs11 }, - { "gnutls_compat_mode", opt_bool, &gnutls_compat_mode }, + { "gnutls_allow_auto_pkcs11", opt_bool, {&gnutls_allow_auto_pkcs11} }, + { "gnutls_compat_mode", opt_bool, {&gnutls_compat_mode} }, #endif - { "header_line_maxsize", opt_int, &header_line_maxsize }, - { "header_maxsize", opt_int, &header_maxsize }, - { "headers_charset", opt_stringptr, &headers_charset }, - { "helo_accept_junk_hosts", opt_stringptr, &helo_accept_junk_hosts }, - { "helo_allow_chars", opt_stringptr, &helo_allow_chars }, - { "helo_lookup_domains", opt_stringptr, &helo_lookup_domains }, - { "helo_try_verify_hosts", opt_stringptr, &helo_try_verify_hosts }, - { "helo_verify_hosts", opt_stringptr, &helo_verify_hosts }, - { "hold_domains", opt_stringptr, &hold_domains }, - { "host_lookup", opt_stringptr, &host_lookup }, - { "host_lookup_order", opt_stringptr, &host_lookup_order }, - { "host_reject_connection", opt_stringptr, &host_reject_connection }, - { "hosts_connection_nolog", opt_stringptr, &hosts_connection_nolog }, + { "header_line_maxsize", opt_int, {&header_line_maxsize} }, + { "header_maxsize", opt_int, {&header_maxsize} }, + { "headers_charset", opt_stringptr, {&headers_charset} }, + { "helo_accept_junk_hosts", opt_stringptr, {&helo_accept_junk_hosts} }, + { "helo_allow_chars", opt_stringptr, {&helo_allow_chars} }, + { "helo_lookup_domains", opt_stringptr, {&helo_lookup_domains} }, + { "helo_try_verify_hosts", opt_stringptr, {&helo_try_verify_hosts} }, + { "helo_verify_hosts", opt_stringptr, {&helo_verify_hosts} }, + { "hold_domains", opt_stringptr, {&hold_domains} }, + { "host_lookup", opt_stringptr, {&host_lookup} }, + { "host_lookup_order", opt_stringptr, {&host_lookup_order} }, + { "host_reject_connection", opt_stringptr, {&host_reject_connection} }, + { "hosts_connection_nolog", opt_stringptr, {&hosts_connection_nolog} }, #ifdef SUPPORT_PROXY - { "hosts_proxy", opt_stringptr, &hosts_proxy }, + { "hosts_proxy", opt_stringptr, {&hosts_proxy} }, #endif - { "hosts_treat_as_local", opt_stringptr, &hosts_treat_as_local }, + { "hosts_treat_as_local", opt_stringptr, {&hosts_treat_as_local} }, #ifdef LOOKUP_IBASE - { "ibase_servers", opt_stringptr, &ibase_servers }, + { "ibase_servers", opt_stringptr, {&ibase_servers} }, #endif - { "ignore_bounce_errors_after", opt_time, &ignore_bounce_errors_after }, - { "ignore_fromline_hosts", opt_stringptr, &ignore_fromline_hosts }, - { "ignore_fromline_local", opt_bool, &ignore_fromline_local }, - { "keep_environment", opt_stringptr, &keep_environment }, - { "keep_malformed", opt_time, &keep_malformed }, + { "ignore_bounce_errors_after", opt_time, {&ignore_bounce_errors_after} }, + { "ignore_fromline_hosts", opt_stringptr, {&ignore_fromline_hosts} }, + { "ignore_fromline_local", opt_bool, {&ignore_fromline_local} }, + { "keep_environment", opt_stringptr, {&keep_environment} }, + { "keep_malformed", opt_time, {&keep_malformed} }, #ifdef LOOKUP_LDAP - { "ldap_ca_cert_dir", opt_stringptr, &eldap_ca_cert_dir }, - { "ldap_ca_cert_file", opt_stringptr, &eldap_ca_cert_file }, - { "ldap_cert_file", opt_stringptr, &eldap_cert_file }, - { "ldap_cert_key", opt_stringptr, &eldap_cert_key }, - { "ldap_cipher_suite", opt_stringptr, &eldap_cipher_suite }, - { "ldap_default_servers", opt_stringptr, &eldap_default_servers }, - { "ldap_require_cert", opt_stringptr, &eldap_require_cert }, - { "ldap_start_tls", opt_bool, &eldap_start_tls }, - { "ldap_version", opt_int, &eldap_version }, + { "ldap_ca_cert_dir", opt_stringptr, {&eldap_ca_cert_dir} }, + { "ldap_ca_cert_file", opt_stringptr, {&eldap_ca_cert_file} }, + { "ldap_cert_file", opt_stringptr, {&eldap_cert_file} }, + { "ldap_cert_key", opt_stringptr, {&eldap_cert_key} }, + { "ldap_cipher_suite", opt_stringptr, {&eldap_cipher_suite} }, + { "ldap_default_servers", opt_stringptr, {&eldap_default_servers} }, + { "ldap_require_cert", opt_stringptr, {&eldap_require_cert} }, + { "ldap_start_tls", opt_bool, {&eldap_start_tls} }, + { "ldap_version", opt_int, {&eldap_version} }, #endif - { "local_from_check", opt_bool, &local_from_check }, - { "local_from_prefix", opt_stringptr, &local_from_prefix }, - { "local_from_suffix", opt_stringptr, &local_from_suffix }, - { "local_interfaces", opt_stringptr, &local_interfaces }, + { "local_from_check", opt_bool, {&local_from_check} }, + { "local_from_prefix", opt_stringptr, {&local_from_prefix} }, + { "local_from_suffix", opt_stringptr, {&local_from_suffix} }, + { "local_interfaces", opt_stringptr, {&local_interfaces} }, #ifdef HAVE_LOCAL_SCAN - { "local_scan_timeout", opt_time, &local_scan_timeout }, + { "local_scan_timeout", opt_time, {&local_scan_timeout} }, #endif - { "local_sender_retain", opt_bool, &local_sender_retain }, - { "localhost_number", opt_stringptr, &host_number_string }, - { "log_file_path", opt_stringptr, &log_file_path }, - { "log_selector", opt_stringptr, &log_selector_string }, - { "log_timezone", opt_bool, &log_timezone }, - { "lookup_open_max", opt_int, &lookup_open_max }, - { "max_username_length", opt_int, &max_username_length }, - { "message_body_newlines", opt_bool, &message_body_newlines }, - { "message_body_visible", opt_mkint, &message_body_visible }, - { "message_id_header_domain", opt_stringptr, &message_id_domain }, - { "message_id_header_text", opt_stringptr, &message_id_text }, - { "message_logs", opt_bool, &message_logs }, - { "message_size_limit", opt_stringptr, &message_size_limit }, + { "local_sender_retain", opt_bool, {&local_sender_retain} }, + { "localhost_number", opt_stringptr, {&host_number_string} }, + { "log_file_path", opt_stringptr, {&log_file_path} }, + { "log_selector", opt_stringptr, {&log_selector_string} }, + { "log_timezone", opt_bool, {&log_timezone} }, + { "lookup_open_max", opt_int, {&lookup_open_max} }, + { "max_username_length", opt_int, {&max_username_length} }, + { "message_body_newlines", opt_bool, {&message_body_newlines} }, + { "message_body_visible", opt_mkint, {&message_body_visible} }, + { "message_id_header_domain", opt_stringptr, {&message_id_domain} }, + { "message_id_header_text", opt_stringptr, {&message_id_text} }, + { "message_logs", opt_bool, {&message_logs} }, + { "message_size_limit", opt_stringptr, {&message_size_limit} }, #ifdef SUPPORT_MOVE_FROZEN_MESSAGES - { "move_frozen_messages", opt_bool, &move_frozen_messages }, + { "move_frozen_messages", opt_bool, {&move_frozen_messages} }, #endif - { "mua_wrapper", opt_bool, &mua_wrapper }, + { "mua_wrapper", opt_bool, {&mua_wrapper} }, #ifdef LOOKUP_MYSQL - { "mysql_servers", opt_stringptr, &mysql_servers }, + { "mysql_servers", opt_stringptr, {&mysql_servers} }, #endif - { "never_users", opt_uidlist, &never_users }, + { "never_users", opt_uidlist, {&never_users} }, #ifndef DISABLE_TLS - { "openssl_options", opt_stringptr, &openssl_options }, + { "openssl_options", opt_stringptr, {&openssl_options} }, #endif #ifdef LOOKUP_ORACLE - { "oracle_servers", opt_stringptr, &oracle_servers }, + { "oracle_servers", opt_stringptr, {&oracle_servers} }, #endif - { "percent_hack_domains", opt_stringptr, &percent_hack_domains }, + { "percent_hack_domains", opt_stringptr, {&percent_hack_domains} }, #ifdef EXIM_PERL - { "perl_at_start", opt_bool, &opt_perl_at_start }, - { "perl_startup", opt_stringptr, &opt_perl_startup }, - { "perl_taintmode", opt_bool, &opt_perl_taintmode }, + { "perl_at_start", opt_bool, {&opt_perl_at_start} }, + { "perl_startup", opt_stringptr, {&opt_perl_startup} }, + { "perl_taintmode", opt_bool, {&opt_perl_taintmode} }, #endif #ifdef LOOKUP_PGSQL - { "pgsql_servers", opt_stringptr, &pgsql_servers }, + { "pgsql_servers", opt_stringptr, {&pgsql_servers} }, #endif - { "pid_file_path", opt_stringptr, &pid_file_path }, - { "pipelining_advertise_hosts", opt_stringptr, &pipelining_advertise_hosts }, + { "pid_file_path", opt_stringptr, {&pid_file_path} }, + { "pipelining_advertise_hosts", opt_stringptr, {&pipelining_advertise_hosts} }, #ifndef DISABLE_PIPE_CONNECT { "pipelining_connect_advertise_hosts", opt_stringptr, - &pipe_connect_advertise_hosts }, + {&pipe_connect_advertise_hosts} }, #endif #ifndef DISABLE_PRDR - { "prdr_enable", opt_bool, &prdr_enable }, + { "prdr_enable", opt_bool, {&prdr_enable} }, #endif - { "preserve_message_logs", opt_bool, &preserve_message_logs }, - { "primary_hostname", opt_stringptr, &primary_hostname }, - { "print_topbitchars", opt_bool, &print_topbitchars }, - { "process_log_path", opt_stringptr, &process_log_path }, - { "prod_requires_admin", opt_bool, &prod_requires_admin }, - { "qualify_domain", opt_stringptr, &qualify_domain_sender }, - { "qualify_recipient", opt_stringptr, &qualify_domain_recipient }, - { "queue_domains", opt_stringptr, &queue_domains }, - { "queue_list_requires_admin",opt_bool, &queue_list_requires_admin }, - { "queue_only", opt_bool, &queue_only }, - { "queue_only_file", opt_stringptr, &queue_only_file }, - { "queue_only_load", opt_fixed, &queue_only_load }, - { "queue_only_load_latch", opt_bool, &queue_only_load_latch }, - { "queue_only_override", opt_bool, &queue_only_override }, - { "queue_run_in_order", opt_bool, &queue_run_in_order }, - { "queue_run_max", opt_stringptr, &queue_run_max }, - { "queue_smtp_domains", opt_stringptr, &queue_smtp_domains }, - { "receive_timeout", opt_time, &receive_timeout }, - { "received_header_text", opt_stringptr, &received_header_text }, - { "received_headers_max", opt_int, &received_headers_max }, - { "recipient_unqualified_hosts", opt_stringptr, &recipient_unqualified_hosts }, - { "recipients_max", opt_int, &recipients_max }, - { "recipients_max_reject", opt_bool, &recipients_max_reject }, + { "preserve_message_logs", opt_bool, {&preserve_message_logs} }, + { "primary_hostname", opt_stringptr, {&primary_hostname} }, + { "print_topbitchars", opt_bool, {&print_topbitchars} }, + { "process_log_path", opt_stringptr, {&process_log_path} }, + { "prod_requires_admin", opt_bool, {&prod_requires_admin} }, + { "qualify_domain", opt_stringptr, {&qualify_domain_sender} }, + { "qualify_recipient", opt_stringptr, {&qualify_domain_recipient} }, + { "queue_domains", opt_stringptr, {&queue_domains} }, + { "queue_list_requires_admin",opt_bool, {&queue_list_requires_admin} }, + { "queue_only", opt_bool, {&queue_only} }, + { "queue_only_file", opt_stringptr, {&queue_only_file} }, + { "queue_only_load", opt_fixed, {&queue_only_load} }, + { "queue_only_load_latch", opt_bool, {&queue_only_load_latch} }, + { "queue_only_override", opt_bool, {&queue_only_override} }, + { "queue_run_in_order", opt_bool, {&queue_run_in_order} }, + { "queue_run_max", opt_stringptr, {&queue_run_max} }, + { "queue_smtp_domains", opt_stringptr, {&queue_smtp_domains} }, + { "receive_timeout", opt_time, {&receive_timeout} }, + { "received_header_text", opt_stringptr, {&received_header_text} }, + { "received_headers_max", opt_int, {&received_headers_max} }, + { "recipient_unqualified_hosts", opt_stringptr, {&recipient_unqualified_hosts} }, + { "recipients_max", opt_int, {&recipients_max} }, + { "recipients_max_reject", opt_bool, {&recipients_max_reject} }, #ifdef LOOKUP_REDIS - { "redis_servers", opt_stringptr, &redis_servers }, + { "redis_servers", opt_stringptr, {&redis_servers} }, #endif - { "remote_max_parallel", opt_int, &remote_max_parallel }, - { "remote_sort_domains", opt_stringptr, &remote_sort_domains }, - { "retry_data_expire", opt_time, &retry_data_expire }, - { "retry_interval_max", opt_time, &retry_interval_max }, - { "return_path_remove", opt_bool, &return_path_remove }, - { "return_size_limit", opt_mkint|opt_hidden, &bounce_return_size_limit }, - { "rfc1413_hosts", opt_stringptr, &rfc1413_hosts }, - { "rfc1413_query_timeout", opt_time, &rfc1413_query_timeout }, - { "sender_unqualified_hosts", opt_stringptr, &sender_unqualified_hosts }, - { "slow_lookup_log", opt_int, &slow_lookup_log }, - { "smtp_accept_keepalive", opt_bool, &smtp_accept_keepalive }, - { "smtp_accept_max", opt_int, &smtp_accept_max }, - { "smtp_accept_max_nonmail", opt_int, &smtp_accept_max_nonmail }, - { "smtp_accept_max_nonmail_hosts", opt_stringptr, &smtp_accept_max_nonmail_hosts }, - { "smtp_accept_max_per_connection", opt_int, &smtp_accept_max_per_connection }, - { "smtp_accept_max_per_host", opt_stringptr, &smtp_accept_max_per_host }, - { "smtp_accept_queue", opt_int, &smtp_accept_queue }, - { "smtp_accept_queue_per_connection", opt_int, &smtp_accept_queue_per_connection }, - { "smtp_accept_reserve", opt_int, &smtp_accept_reserve }, - { "smtp_active_hostname", opt_stringptr, &raw_active_hostname }, - { "smtp_banner", opt_stringptr, &smtp_banner }, - { "smtp_check_spool_space", opt_bool, &smtp_check_spool_space }, - { "smtp_connect_backlog", opt_int, &smtp_connect_backlog }, - { "smtp_enforce_sync", opt_bool, &smtp_enforce_sync }, - { "smtp_etrn_command", opt_stringptr, &smtp_etrn_command }, - { "smtp_etrn_serialize", opt_bool, &smtp_etrn_serialize }, - { "smtp_load_reserve", opt_fixed, &smtp_load_reserve }, - { "smtp_max_synprot_errors", opt_int, &smtp_max_synprot_errors }, - { "smtp_max_unknown_commands",opt_int, &smtp_max_unknown_commands }, - { "smtp_ratelimit_hosts", opt_stringptr, &smtp_ratelimit_hosts }, - { "smtp_ratelimit_mail", opt_stringptr, &smtp_ratelimit_mail }, - { "smtp_ratelimit_rcpt", opt_stringptr, &smtp_ratelimit_rcpt }, + { "remote_max_parallel", opt_int, {&remote_max_parallel} }, + { "remote_sort_domains", opt_stringptr, {&remote_sort_domains} }, + { "retry_data_expire", opt_time, {&retry_data_expire} }, + { "retry_interval_max", opt_time, {&retry_interval_max} }, + { "return_path_remove", opt_bool, {&return_path_remove} }, + { "return_size_limit", opt_mkint|opt_hidden, {&bounce_return_size_limit} }, + { "rfc1413_hosts", opt_stringptr, {&rfc1413_hosts} }, + { "rfc1413_query_timeout", opt_time, {&rfc1413_query_timeout} }, + { "sender_unqualified_hosts", opt_stringptr, {&sender_unqualified_hosts} }, + { "slow_lookup_log", opt_int, {&slow_lookup_log} }, + { "smtp_accept_keepalive", opt_bool, {&smtp_accept_keepalive} }, + { "smtp_accept_max", opt_int, {&smtp_accept_max} }, + { "smtp_accept_max_nonmail", opt_int, {&smtp_accept_max_nonmail} }, + { "smtp_accept_max_nonmail_hosts", opt_stringptr, {&smtp_accept_max_nonmail_hosts} }, + { "smtp_accept_max_per_connection", opt_int, {&smtp_accept_max_per_connection} }, + { "smtp_accept_max_per_host", opt_stringptr, {&smtp_accept_max_per_host} }, + { "smtp_accept_queue", opt_int, {&smtp_accept_queue} }, + { "smtp_accept_queue_per_connection", opt_int, {&smtp_accept_queue_per_connection} }, + { "smtp_accept_reserve", opt_int, {&smtp_accept_reserve} }, + { "smtp_active_hostname", opt_stringptr, {&raw_active_hostname} }, + { "smtp_banner", opt_stringptr, {&smtp_banner} }, + { "smtp_check_spool_space", opt_bool, {&smtp_check_spool_space} }, + { "smtp_connect_backlog", opt_int, {&smtp_connect_backlog} }, + { "smtp_enforce_sync", opt_bool, {&smtp_enforce_sync} }, + { "smtp_etrn_command", opt_stringptr, {&smtp_etrn_command} }, + { "smtp_etrn_serialize", opt_bool, {&smtp_etrn_serialize} }, + { "smtp_load_reserve", opt_fixed, {&smtp_load_reserve} }, + { "smtp_max_synprot_errors", opt_int, {&smtp_max_synprot_errors} }, + { "smtp_max_unknown_commands",opt_int, {&smtp_max_unknown_commands} }, + { "smtp_ratelimit_hosts", opt_stringptr, {&smtp_ratelimit_hosts} }, + { "smtp_ratelimit_mail", opt_stringptr, {&smtp_ratelimit_mail} }, + { "smtp_ratelimit_rcpt", opt_stringptr, {&smtp_ratelimit_rcpt} }, { "smtp_receive_timeout", opt_func, {.fn = &fn_smtp_receive_timeout} }, - { "smtp_reserve_hosts", opt_stringptr, &smtp_reserve_hosts }, - { "smtp_return_error_details",opt_bool, &smtp_return_error_details }, + { "smtp_reserve_hosts", opt_stringptr, {&smtp_reserve_hosts} }, + { "smtp_return_error_details",opt_bool, {&smtp_return_error_details} }, #ifdef SUPPORT_I18N - { "smtputf8_advertise_hosts", opt_stringptr, &smtputf8_advertise_hosts }, + { "smtputf8_advertise_hosts", opt_stringptr, {&smtputf8_advertise_hosts} }, #endif #ifdef WITH_CONTENT_SCAN - { "spamd_address", opt_stringptr, &spamd_address }, + { "spamd_address", opt_stringptr, {&spamd_address} }, #endif #ifdef SUPPORT_SPF - { "spf_guess", opt_stringptr, &spf_guess }, + { "spf_guess", opt_stringptr, {&spf_guess} }, #endif - { "split_spool_directory", opt_bool, &split_spool_directory }, - { "spool_directory", opt_stringptr, &spool_directory }, - { "spool_wireformat", opt_bool, &spool_wireformat }, + { "split_spool_directory", opt_bool, {&split_spool_directory} }, + { "spool_directory", opt_stringptr, {&spool_directory} }, + { "spool_wireformat", opt_bool, {&spool_wireformat} }, #ifdef LOOKUP_SQLITE - { "sqlite_lock_timeout", opt_int, &sqlite_lock_timeout }, + { "sqlite_lock_timeout", opt_int, {&sqlite_lock_timeout} }, #endif #ifdef EXPERIMENTAL_SRS - { "srs_config", opt_stringptr, &srs_config }, - { "srs_hashlength", opt_int, &srs_hashlength }, - { "srs_hashmin", opt_int, &srs_hashmin }, - { "srs_maxage", opt_int, &srs_maxage }, - { "srs_secrets", opt_stringptr, &srs_secrets }, - { "srs_usehash", opt_bool, &srs_usehash }, - { "srs_usetimestamp", opt_bool, &srs_usetimestamp }, + { "srs_config", opt_stringptr, {&srs_config} }, + { "srs_hashlength", opt_int, {&srs_hashlength} }, + { "srs_hashmin", opt_int, {&srs_hashmin} }, + { "srs_maxage", opt_int, {&srs_maxage} }, + { "srs_secrets", opt_stringptr, {&srs_secrets} }, + { "srs_usehash", opt_bool, {&srs_usehash} }, + { "srs_usetimestamp", opt_bool, {&srs_usetimestamp} }, #endif - { "strict_acl_vars", opt_bool, &strict_acl_vars }, - { "strip_excess_angle_brackets", opt_bool, &strip_excess_angle_brackets }, - { "strip_trailing_dot", opt_bool, &strip_trailing_dot }, - { "syslog_duplication", opt_bool, &syslog_duplication }, - { "syslog_facility", opt_stringptr, &syslog_facility_str }, - { "syslog_pid", opt_bool, &syslog_pid }, - { "syslog_processname", opt_stringptr, &syslog_processname }, - { "syslog_timestamp", opt_bool, &syslog_timestamp }, - { "system_filter", opt_stringptr, &system_filter }, - { "system_filter_directory_transport", opt_stringptr,&system_filter_directory_transport }, - { "system_filter_file_transport",opt_stringptr,&system_filter_file_transport }, - { "system_filter_group", opt_gid, &system_filter_gid }, - { "system_filter_pipe_transport",opt_stringptr,&system_filter_pipe_transport }, - { "system_filter_reply_transport",opt_stringptr,&system_filter_reply_transport }, - { "system_filter_user", opt_uid, &system_filter_uid }, - { "tcp_nodelay", opt_bool, &tcp_nodelay }, + { "strict_acl_vars", opt_bool, {&strict_acl_vars} }, + { "strip_excess_angle_brackets", opt_bool, {&strip_excess_angle_brackets} }, + { "strip_trailing_dot", opt_bool, {&strip_trailing_dot} }, + { "syslog_duplication", opt_bool, {&syslog_duplication} }, + { "syslog_facility", opt_stringptr, {&syslog_facility_str} }, + { "syslog_pid", opt_bool, {&syslog_pid} }, + { "syslog_processname", opt_stringptr, {&syslog_processname} }, + { "syslog_timestamp", opt_bool, {&syslog_timestamp} }, + { "system_filter", opt_stringptr, {&system_filter} }, + { "system_filter_directory_transport", opt_stringptr,{&system_filter_directory_transport} }, + { "system_filter_file_transport",opt_stringptr,{&system_filter_file_transport} }, + { "system_filter_group", opt_gid, {&system_filter_gid} }, + { "system_filter_pipe_transport",opt_stringptr,{&system_filter_pipe_transport} }, + { "system_filter_reply_transport",opt_stringptr,{&system_filter_reply_transport} }, + { "system_filter_user", opt_uid, {&system_filter_uid} }, + { "tcp_nodelay", opt_bool, {&tcp_nodelay} }, #ifdef USE_TCP_WRAPPERS - { "tcp_wrappers_daemon_name", opt_stringptr, &tcp_wrappers_daemon_name }, + { "tcp_wrappers_daemon_name", opt_stringptr, {&tcp_wrappers_daemon_name} }, #endif - { "timeout_frozen_after", opt_time, &timeout_frozen_after }, - { "timezone", opt_stringptr, &timezone_string }, - { "tls_advertise_hosts", opt_stringptr, &tls_advertise_hosts }, + { "timeout_frozen_after", opt_time, {&timeout_frozen_after} }, + { "timezone", opt_stringptr, {&timezone_string} }, + { "tls_advertise_hosts", opt_stringptr, {&tls_advertise_hosts} }, #ifndef DISABLE_TLS - { "tls_certificate", opt_stringptr, &tls_certificate }, - { "tls_crl", opt_stringptr, &tls_crl }, - { "tls_dh_max_bits", opt_int, &tls_dh_max_bits }, - { "tls_dhparam", opt_stringptr, &tls_dhparam }, - { "tls_eccurve", opt_stringptr, &tls_eccurve }, + { "tls_certificate", opt_stringptr, {&tls_certificate} }, + { "tls_crl", opt_stringptr, {&tls_crl} }, + { "tls_dh_max_bits", opt_int, {&tls_dh_max_bits} }, + { "tls_dhparam", opt_stringptr, {&tls_dhparam} }, + { "tls_eccurve", opt_stringptr, {&tls_eccurve} }, # ifndef DISABLE_OCSP - { "tls_ocsp_file", opt_stringptr, &tls_ocsp_file }, + { "tls_ocsp_file", opt_stringptr, {&tls_ocsp_file} }, # endif - { "tls_on_connect_ports", opt_stringptr, &tls_in.on_connect_ports }, - { "tls_privatekey", opt_stringptr, &tls_privatekey }, - { "tls_remember_esmtp", opt_bool, &tls_remember_esmtp }, - { "tls_require_ciphers", opt_stringptr, &tls_require_ciphers }, + { "tls_on_connect_ports", opt_stringptr, {&tls_in.on_connect_ports} }, + { "tls_privatekey", opt_stringptr, {&tls_privatekey} }, + { "tls_remember_esmtp", opt_bool, {&tls_remember_esmtp} }, + { "tls_require_ciphers", opt_stringptr, {&tls_require_ciphers} }, # ifdef EXPERIMENTAL_TLS_RESUME - { "tls_resumption_hosts", opt_stringptr, &tls_resumption_hosts }, + { "tls_resumption_hosts", opt_stringptr, {&tls_resumption_hosts} }, # endif - { "tls_try_verify_hosts", opt_stringptr, &tls_try_verify_hosts }, - { "tls_verify_certificates", opt_stringptr, &tls_verify_certificates }, - { "tls_verify_hosts", opt_stringptr, &tls_verify_hosts }, + { "tls_try_verify_hosts", opt_stringptr, {&tls_try_verify_hosts} }, + { "tls_verify_certificates", opt_stringptr, {&tls_verify_certificates} }, + { "tls_verify_hosts", opt_stringptr, {&tls_verify_hosts} }, #endif - { "trusted_groups", opt_gidlist, &trusted_groups }, - { "trusted_users", opt_uidlist, &trusted_users }, - { "unknown_login", opt_stringptr, &unknown_login }, - { "unknown_username", opt_stringptr, &unknown_username }, - { "untrusted_set_sender", opt_stringptr, &untrusted_set_sender }, - { "uucp_from_pattern", opt_stringptr, &uucp_from_pattern }, - { "uucp_from_sender", opt_stringptr, &uucp_from_sender }, - { "warn_message_file", opt_stringptr, &warn_message_file }, - { "write_rejectlog", opt_bool, &write_rejectlog } + { "trusted_groups", opt_gidlist, {&trusted_groups} }, + { "trusted_users", opt_uidlist, {&trusted_users} }, + { "unknown_login", opt_stringptr, {&unknown_login} }, + { "unknown_username", opt_stringptr, {&unknown_username} }, + { "untrusted_set_sender", opt_stringptr, {&untrusted_set_sender} }, + { "uucp_from_pattern", opt_stringptr, {&uucp_from_pattern} }, + { "uucp_from_sender", opt_stringptr, {&uucp_from_sender} }, + { "warn_message_file", opt_stringptr, {&warn_message_file} }, + { "write_rejectlog", opt_bool, {&write_rejectlog} } }; #ifndef MACRO_PREDEF diff --git a/src/src/routers/accept.c b/src/src/routers/accept.c index eb5b95511..13ad91c30 100644 --- a/src/src/routers/accept.c +++ b/src/src/routers/accept.c @@ -15,7 +15,7 @@ empty declarations ("undefined" in the Standard) we put in a dummy value. */ optionlist accept_router_options[] = { - { "", opt_hidden, NULL } + { "", opt_hidden, {NULL} } }; /* Size of the options list. An extern variable has to be used so that its diff --git a/src/src/routers/ipliteral.c b/src/src/routers/ipliteral.c index fb25e695b..1abdb043a 100644 --- a/src/src/routers/ipliteral.c +++ b/src/src/routers/ipliteral.c @@ -15,7 +15,7 @@ empty declarations ("undefined" in the Standard) we put in a dummy value. */ optionlist ipliteral_router_options[] = { - { "", opt_hidden, NULL } + { "", opt_hidden, {NULL} } }; /* Size of the options list. An extern variable has to be used so that its