ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+ -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+ -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+ -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+ -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. #!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/buildeximconf Copyright 2022 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited use strict; use warnings; use Cpanel::DKIM (); use Cpanel::Logger (); use Cpanel::Exim::Config (); use Cpanel::Exception (); use Cpanel::FileUtils::Lines (); use Cpanel::Signal (); use Cpanel::StringFunc::Replace (); use Cpanel::Encoder::Tiny (); use Cpanel::FileUtils::Write (); use Cpanel::IP::Neighbors (); use Cpanel::IP::GreyList (); use Cpanel::IP::cPanelMail (); use Cpanel::Email::Perms::System (); use Try::Tiny; local $SIG{'HUP'} = 'IGNORE'; umask(0022); my $logger = Cpanel::Logger->new(); require '/usr/local/cpanel/scripts/checkexim.pl'; Cpanel::IP::Neighbors::update_neighbor_netblocks_or_log(); Cpanel::IP::GreyList::update_trusted_netblocks_or_log(); Cpanel::IP::GreyList::update_common_mail_providers_or_log(); Cpanel::IP::cPanelMail::update_cpanel_mail_netblocks_or_log(); Cpanel::DKIM::setup_file_stores(); Cpanel::Email::Perms::System::ensure_system_perms(); my %OPTS = (); my $use_alt_config = @ARGV && grep( /--local/, @ARGV ) ? 1 : 0; my $acl_dry_run = @ARGV && grep( /--acl_dry_run/, @ARGV ) ? 1 : 0; my $no_chown_spool = @ARGV && grep( /--no_chown_spool/, @ARGV ) ? 1 : 0; my $debug = @ARGV && grep( /--debug/, @ARGV ) ? 1 : 0; if ($use_alt_config) { foreach my $alt_config ( grep( /--local/, @ARGV ) ) { my ( $filetype, $file ) = $alt_config =~ /--([^=]+)=(.*)$/; $OPTS{$filetype} = $file; } } $OPTS{'acl_dry_run'} = 1 if $acl_dry_run; $OPTS{'debug'} = $debug; # CPANEL-36167: Run hulkdsetup to ensure that keys for dovecot are present: system '/usr/local/cpanel/bin/hulkdsetup'; my $exim_cfgobj = Cpanel::Exim::Config->new(%OPTS); $exim_cfgobj->run_script('pre') if !$use_alt_config && !$acl_dry_run; my %CFDATA = $exim_cfgobj->generate_config_file(); my $rawout = $CFDATA{'rawout'}; if ( $use_alt_config || $acl_dry_run ) { if ( !$CFDATA{'goodconf'} ) { print "Dry Run failed\n"; print "Configuration file has an invalid syntax. " . ( $ENV{'WHM50'} ? "" : '' ) . "Please try the edit again." . ( $ENV{'WHM50'} ? "" : '' ) . "\n\n"; print $ENV{'WHM50'} ? "