\n";
if ($squid_version >= 2.5) {
# Squid versions 2.5 and above use different config options for
# the external authentication program
local @auth = &find_config("auth_param", $conf);
# Show basic authentication options
local %basic = map { $_->{'values'}->[1], $_->{'values'} }
grep { $_->{'values'}->[0] eq 'basic' } @auth;
print " $text{'authparam_bprogram'} | \n";
print "\n";
local @p = @{$basic{'program'}};
local $m = !@p ? 0 :
$p[2] =~ /^(\S+)/ && $1 eq $auth_program ? 2 : 1;
printf " %s\n",
$m == 0 ? "checked" : "", $text{'none'};
printf " %s\n",
$m == 2 ? "checked" : "", $text{'eprogs_capweb'};
printf "\n",
$m == 1 ? "checked" : "";
printf " %s | \n",
$m == 1 ? join(" ", @p[2..$#p]) : "",
&file_chooser_button("b_auth");
print " \n";
local $c = $basic{'children'}->[2];
print " $text{'eprogs_noap'} | \n";
printf " %s\n",
$c eq "" ? "checked" : "", $text{'default'};
printf "\n",
$c eq "" ? "" : "checked";
printf " | \n", $c;
local @t = @{$basic{'credentialsttl'}};
print " $text{'eprogs_ttl'} | \n";
printf " %s\n",
!@t ? "checked" : "", $text{'default'};
printf "\n",
!@t ? "" : "checked";
print &time_fields("b_ttl", 6, $t[2], $t[3])," | \n";
local @r = @{$basic{'realm'}};
local $r = join(" ", @r[2..$#r]);
print " $text{'eprogs_realm'} | \n";
printf " %s\n",
$r eq "" ? "checked" : "", $text{'default'};
printf "\n",
$r eq "" ? "" : "checked";
printf " | \n", $r;
# Show digest authentication options
print "
| \n";
local %digest = map { $_->{'values'}->[1], $_->{'values'} }
grep { $_->{'values'}->[0] eq 'digest' } @auth;
print " $text{'authparam_dprogram'} | \n";
print "\n";
local @p = @{$digest{'program'}};
local $m = @p ? 1 : 0;
printf " %s\n",
$m == 0 ? "checked" : "", $text{'none'};
printf "\n",
$m == 1 ? "checked" : "";
printf " %s | \n",
$m == 1 ? join(" ", @p[2..$#p]) : "",
&file_chooser_button("d_auth");
print " \n";
local $c = $digest{'children'}->[2];
print " $text{'eprogs_noap'} | \n";
printf " %s\n",
$c eq "" ? "checked" : "", $text{'default'};
printf "\n",
$c eq "" ? "" : "checked";
printf " | \n", $c;
local @r = @{$digest{'realm'}};
local $r = join(" ", @r[2..$#r]);
print " $text{'eprogs_realm'} | \n";
printf " %s\n",
$r eq "" ? "checked" : "", $text{'default'};
printf "\n",
$r eq "" ? "" : "checked";
printf " | \n", $r;
# Show NTML authentication options
print "
| \n";
local %ntlm = map { $_->{'values'}->[1], $_->{'values'} }
grep { $_->{'values'}->[0] eq 'ntlm' } @auth;
print " $text{'authparam_nprogram'} | \n";
print "\n";
local @p = @{$ntlm{'program'}};
local $m = @p ? 1 : 0;
printf " %s\n",
$m == 0 ? "checked" : "", $text{'none'};
printf "\n",
$m == 1 ? "checked" : "";
printf " %s | \n",
$m == 1 ? join(" ", @p[2..$#p]) : "",
&file_chooser_button("n_auth");
print " \n";
local $c = $ntlm{'children'}->[2];
print " $text{'eprogs_noap'} | \n";
printf " %s\n",
$c eq "" ? "checked" : "", $text{'default'};
printf "\n",
$c eq "" ? "" : "checked";
printf " | \n", $c;
local $r = $ntlm{'max_challenge_reuses'}->[2];
print " $text{'authparam_reuses'} | \n";
printf " %s\n",
$r eq "" ? "checked" : "", $text{'default'};
printf "\n",
$r eq "" ? "" : "checked";
printf " | \n", $r;
local @t = @{$ntlm{'max_challenge_lifetime'}};
print " $text{'authparam_lifetime'} | \n";
printf " %s\n",
!@t ? "checked" : "", $text{'default'};
printf "\n",
!@t ? "" : "checked";
print &time_fields("n_ttl", 6, $t[2], $t[3])," | \n";
}
elsif ($squid_version >= 2) {
# Squid versions 2 and above use a single external
# authentication program
print "\n";
local $v = &find_config("authenticate_program", $conf);
print "$text{'eprogs_cap'} | \n";
print "\n";
local $m = !$v ? 0 :
$v->{'value'} =~ /^(\S+)/ && $1 eq $auth_program ? 2 : 1;
printf " %s\n",
$m == 0 ? "checked" : "", $text{'none'};
printf " %s\n",
$m == 2 ? "checked" : "", $text{'eprogs_capweb'};
printf "\n",
$m == 1 ? "checked" : "";
printf " %s | \n",
$m == 1 ? $v->{'value'} : "", &file_chooser_button("auth");
print " \n";
print "\n";
print &opt_input($text{'eadm_par'}, "proxy_auth_realm",
$conf, $text{'eadm_default'}, 40);
print " \n";
print "\n";
print &opt_input($text{'eprogs_noap'},
"authenticate_children", $conf, $text{'default'}, 6);
print " \n";
if ($squid_version >= 2.4) {
print "\n";
print &opt_time_input($text{'authparam_ttl'},
"authenticate_ttl", $conf, $text{'default'}, 6);
print " \n";
print "\n";
print &opt_time_input($text{'authparam_ipttl'},
"authenticate_ip_ttl", $conf, $text{'authparam_never'}, 6);
print " \n";
}
}
print "
| \n";
print " ".$text{'authparam_mui_msg'}." | \n";
print "
| \n";
# my stuff
local $taa = &find_value("authenticate_ip_ttl", $conf);
if($taa ne ""){
(@ta[0],@ta[1])=split(/\s+/,$taa);
}
print " $text{'eprogs_aittl'} | \n";
printf " %s\n",
!@ta ? "checked" : "", $text{'default'};
printf "\n",
!@ta ? "" : "checked";
print &time_fields("b_aittl", 6, $ta[0], $ta[1])," | \n";
print "
| \n";
# end my stuff
print " |