ConfigServer Security & Firewall - csf v$myv
EOF
}
ConfigServer::DisplayUI::main(\%FORM, $script, $script_da, $images, $myv);
unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") {
print <
\n";
print @footer;
print "\n";
print "\n";
}
sub getexe {
my $thispid = shift;
open (my $STAT, "<", "/proc/".$thispid."/stat");
my $stat = <$STAT>;
close ($STAT);
chomp $stat;
$stat =~ /\w\s+(\d+)\s+[^\)]*$/;
my $ppid = $1;
my $exe = readlink("/proc/".$ppid."/exe");
return ($ppid, $exe);
}
sub loginfail {
my $message = shift;
my $file = "/var/lib/csf/da".time.".error";
print $message."Information saved to [$file]\n";
sysopen (my $FILE, $file, O_WRONLY | O_CREAT | O_TRUNC);
flock ($FILE, LOCK_EX);
print $FILE "To disable DirectAdmin session checks, create a touch file called /var/lib/csf/csf.da.skip\n\n";
print $FILE $message."\n\n";
print $FILE "Session ID = [$ENV{SESSION_ID}]\n";
print $FILE "Session File [/usr/local/directadmin/data/sessions/da_sess_".$ENV{SESSION_ID}."]...";
if (-e "/usr/local/directadmin/data/sessions/da_sess_".$ENV{SESSION_ID}) {
print $FILE "exists.\n\n";
} else {
print $FILE "does not exist\n\n";
close ($FILE);
exit;
}
print $FILE "Environment data:\n";
print $FILE "REMOTE_ADDR = [$ENV{REMOTE_ADDR}]\n";
print $FILE "SESSION_KEY = [$ENV{SESSION_KEY}]\n";
print $FILE "SESSION_ID = [$ENV{SESSION_ID}]\n\n";
print $FILE "Session data:\n";
print $FILE "ip = [$session{ip}]\n";
print $FILE "key = [$session{key}]\n\n";
print $FILE "Session file contents:\n";
print $FILE join("\n",@sessiondata);
close ($FILE);
exit;
}
1;