#!/usr/local/bin/perl # build.cgi # Build a new sendmail.cf, after first confirming the changes require './sendmail-lib.pl'; require './features-lib.pl'; $features_access || &error($text{'features_ecannot'}); &ReadParse(); $cmd = "cd $config{'sendmail_features'}/m4 ; m4 $config{'sendmail_features'}/m4/cf.m4 $config{'sendmail_mc'}"; if ($in{'confirm'}) { # Replace sendmail.cf with new version &lock_file($config{'sendmail_cf'}); system("$cmd 2>/dev/null >$config{'sendmail_cf'} m4"),"

\n"; &ui_print_footer("list_features.cgi", $text{'features_return'}); exit; } $temp = &transname(); $out = `$cmd 2>&1 >$temp`; if ($?) { print &text('build_ebuild', "

$out
"),"

\n"; &ui_print_footer("list_features.cgi", $text{'features_return'}); exit; } if (&has_command("diff") && -r $config{'sendmail_cf'}) { $diff = `diff $config{'sendmail_cf'} $temp 2>/dev/null`; if (!$diff) { print "$text{'build_nodiff'}

\n"; &ui_print_footer("list_features.cgi", $text{'features_return'}); exit; } } print "

\n"; print "\n"; print &text('build_rusure', "$config{'sendmail_cf'}", "$config{'sendmail_mc'}"),"

\n"; print $text{'build_rusure2'},"

\n"; print "\n"; print "

\n"; if ($diff) { print "$text{'build_diff'}

\n"; print "
",
		      $diff,"

\n"; } unlink($temp); &ui_print_footer("list_features.cgi", $text{'features_return'}); }