#!/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 "
", $diff," |
\n"; } unlink($temp); &ui_print_footer("list_features.cgi", $text{'features_return'}); }