\n";
print " | $text{'logging_chans'} | \n";
# display default channels
@defchans = ( { 'name' => 'default_syslog',
'syslog' => 'daemon',
'severity' => 'info' },
{ 'name' => 'default_debug',
'file' => 'named.run',
'severity' => 'dynamic' },
{ 'name' => 'default_stderr',
'fd' => 'stderr',
'severity' => 'info' },
{ 'name' => 'null',
'null' => 1 } );
foreach $c (@defchans) {
print "\n";
print " | $text{'logging_cname'} | \n";
print "$c->{'name'} | \n";
print " | $text{'logging_to'} | \n";
if ($c->{'syslog'}) {
print "$text{'logging_syslog'} ",
"$c->{'syslog'} | \n";
}
elsif ($c->{'file'}) {
print "$text{'logging_file'} $c->{'file'} | \n";
}
elsif ($c->{'fd'}) {
print "$text{'logging_fd'} $c->{'fd'} | \n";
}
else {
print "$text{'logging_null'} | \n";
}
print " \n";
print " | $text{'logging_sev'} | \n";
if ($c->{'severity'}) {
print "$c->{'severity'} | \n";
}
else {
print "$text{'logging_any'} | \n";
}
print " |
\n";
}
# display user-defined channels
@chans = &find("channel", $mems);
@channames = ( (map { $_->{'value'} } @chans) ,
'default_syslog', 'default_debug', 'default_stderr', 'null' );
push(@chans, { }) if ($in{'add'});
for($i=0; $i<@chans; $i++) {
$cmems = $chans[$i]->{'members'};
$file = &find("file", $cmems);
$filestr = $file ? join(" ", @{$file->{'values'}}) : "";
$syslog = &find_value("syslog", $cmems);
$null = &find("null", $cmems);
print " \n" if ($i);
print "\n";
print " | $text{'logging_cname'} | \n";
printf " | \n",
$chans[$i]->{'value'};
print " | $text{'logging_to'} | \n";
print "\n";
printf " %s\n",
$file ? "checked" : "", $text{'logging_file'};
printf " %s \n",
$file->{'value'}, &file_chooser_button("file_$i");
print " $text{'logging_versions'}\n";
printf " %s\n",
$filestr =~ /\sversions\s/i ? "" : "checked",
$text{'logging_ver1'};
printf " %s\n",
$filestr =~ /\sversions\s+unlimited/i ? "checked" : "",
$text{'logging_ver2'};
printf "\n",
$filestr =~ /\sversions\s+(\d+)/i ? "checked" : "";
printf " \n",
$filestr =~ /\sversions\s+(\d+)/i ? $1 : "";
$size = $filestr =~ /\ssize\s+(\S+)/ ? $1 : '';
$size = undef if ($size eq 'unlimited');
print " $text{'logging_size'}\n";
printf " %s\n",
$size ? "" : "checked", $text{'logging_sz1'};
printf "\n",
$size ? "checked" : "";
printf " \n", $size;
printf " %s\n",
$syslog ? "checked" : "", $text{'logging_syslog'};
print " \n";
printf " %s | \n",
$null ? "checked" : "", $text{'logging_null'};
$sev = &find("severity", $cmems);
print " | $text{'logging_sev'} | \n";
print "\n";
printf " | \n",
$sev->{'value'} eq 'debug' ? $sev->{'values'}->[1] : "";
print " | $text{'logging_pcat'} | \n";
&yes_no_default("print-category-$i",
&find_value("print-category", $cmems));
print " | $text{'logging_psev'} | \n";
&yes_no_default("print-severity-$i",
&find_value("print-severity", $cmems));
print " | \n";
print " | $text{'logging_ptime'} | \n";
&yes_no_default("print-time-$i",
&find_value("print-time", $cmems));
print " | \n";
print " | \n";
}
print "$text{'logging_add'}\n";
print " | \n";
print " | $text{'logging_cats'} | \n";
print "\n";
print " | $text{'logging_cat'} | ",
"$text{'logging_cchans'} | \n";
@cats = ( &find("category", $mems), { } );
for($i=0; $i<@cats; $i++) {
print " | \n";
local %cchan;
foreach $c (@{$cats[$i]->{'members'}}) {
$cchan{$c->{'name'}}++;
}
foreach $c (@channames) {
printf " %s\n",
$c, $cchan{$c} ? "checked" : "", $c;
}
print " | \n";
}
print " | \n";
print " |