diff options
author | Florent Villard <warly@mandriva.com> | 2003-03-02 13:21:38 +0000 |
---|---|---|
committer | Florent Villard <warly@mandriva.com> | 2003-03-02 13:21:38 +0000 |
commit | 7eceb2bda4b5f28213df8611be6516f2c397835f (patch) | |
tree | 142d606289198e0a915d5552295f954119f8e293 /postfix_wizard | |
parent | fb900a0d0b5e9db9b1e8330152cfbe29a0b6a9c9 (diff) | |
download | drakwizard-7eceb2bda4b5f28213df8611be6516f2c397835f.tar drakwizard-7eceb2bda4b5f28213df8611be6516f2c397835f.tar.gz drakwizard-7eceb2bda4b5f28213df8611be6516f2c397835f.tar.bz2 drakwizard-7eceb2bda4b5f28213df8611be6516f2c397835f.tar.xz drakwizard-7eceb2bda4b5f28213df8611be6516f2c397835f.zip |
fix postfix wizard (use correct hostname, restart postfix at the end, fix paths)
Diffstat (limited to 'postfix_wizard')
-rw-r--r-- | postfix_wizard/postfix.wiz | 4 | ||||
-rw-r--r-- | postfix_wizard/scripts/Postfixconf.pm | 38 |
2 files changed, 30 insertions, 12 deletions
diff --git a/postfix_wizard/postfix.wiz b/postfix_wizard/postfix.wiz index 5324d23d..45954c12 100644 --- a/postfix_wizard/postfix.wiz +++ b/postfix_wizard/postfix.wiz @@ -47,7 +47,7 @@ <Page helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz-postfix.html" name="Form_of_address" - jumpScript="__WIZ_HOME__/postfix_wizard/scripts/check_masquerade.sh" + func='check_masquerade' executionLevel="NORMAL" nextFinish="false" canBack="true" @@ -113,7 +113,7 @@ <Page helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz-postfix.html" name="ISP" - jumpScript="__WIZ_HOME__/postfix_wizard/scripts/check_relay.sh" + func='check_relay' executionLevel="NORMAL" nextFinish="false" canBack="true" diff --git a/postfix_wizard/scripts/Postfixconf.pm b/postfix_wizard/scripts/Postfixconf.pm index 176795ac..e34234d9 100644 --- a/postfix_wizard/scripts/Postfixconf.pm +++ b/postfix_wizard/scripts/Postfixconf.pm @@ -1,18 +1,32 @@ #!/usr/bin/perl package Postfixconf; +use lib '/usr/lib/libDrakX'; require "__WIZ_HOME__/common/scripts/Vareqval.pm"; require "__WIZ_HOME__/common/scripts/IFCFG.pm"; use MDK::Common; +use services; use strict; my $o = IFCFG->new(); my $wiz_domain_name = $o->network_get("DOMAINNAME"); my $wiz_host_name = $o->network_get("HOSTNAME"); +sub check_masquerade { + $ENV{wiz_mail_masquerade} or return 1; + $ENV{wiz_mail_masquerade} =~ /@(\S+)$/ or return 1; + return 10 +} + +sub check_relay { + $ENV{wiz_ext_mail_relay} or return 1; + $ENV{wiz_ext_mail_relay} =~ /(\S+)\.(\S+)$/ or return 1; + return 10; +} + sub get_mail_masquerade { my $login = `logname`; - my $relayhost = `postconf -h relayhost`; + my $relayhost = `/usr/sbin/postconf -h relayhost`; chomp($relayhost); ($relayhost) = $relayhost =~ /.*\.(.*\..*)/; !length $relayhost and $relayhost = $wiz_domain_name; @@ -21,7 +35,7 @@ sub get_mail_masquerade { } sub get_mail_relay { - my $relayhost = `postconf -h relayhost`; + my $relayhost = `/usr/sbin/postconf -h relayhost`; chomp $relayhost; !length $relayhost and $relayhost = "smtp.$wiz_domain_name"; $relayhost; @@ -36,7 +50,7 @@ sub do_it { foreach (@conf) { (-f $_) and MDK::Common::cp_af($_, $_.".orig"); } - @conf = ("myhostname = $wiz_host_name.$wiz_domain_name", + @conf = ("myhostname = $wiz_host_name", 'myorigin = $mydomain', 'inet_interfaces = all', 'mydestination = $myhostname, localhost.$mydomain', @@ -48,7 +62,7 @@ sub do_it { "relayhost = $ENV{wiz_ext_mail_relay}" ); foreach (@conf) { - system("postconf -e \'$_\'"); + system("/usr/sbin/postconf -e \'$_\'"); } if (defined $ENV{wiz_ext_mail_relay}) { my $file = "/etc/postfix/canonical"; @@ -63,12 +77,16 @@ sub do_it { if ($t) { substInFile { s|$t|\#$&$canon|} $file } else { append_to_file($file, $canon) } } - system("postmap /etc/postfix/canonical"); - system("postmap /etc/postfix/virtual"); - system("postalias /etc/postfix/aliases"); - system("postfix check"); - system("service postfix restart"); - system("service xinetd restart"); + system("/usr/sbin/postmap /etc/postfix/canonical"); + system("/usr/sbin/postmap /etc/postfix/virtual"); + system("/usr/sbin/postalias /etc/postfix/aliases"); + system("/usr/sbin/postfix check"); + if (services::is_service_running('postfix')) { + services::restart('postfix') + } else { + services::start('postfix') + } + services::is_service_running('xinetd') and services::restart('xinetd'); 10; } |