my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
$atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0];
my $now = time;
+ my $timestring = '';
+ my $dset = 0; # Day is set, when > 0
+ my $hset = 0; # Hour is set, when > 0
+ my $mset = 0; # Minute is set, when > 0
my $totalsecs = $now - $mtime;
my $days = int($totalsecs / 86400);
my $mins = $totalmins % 60;
my $secs = $totalsecs % 60;
- return "${days}d ${hours}h ${mins}m ${secs}s";
+ if ($days > 1) {
+ ${timestring} .= ${days}.' '.$Lang::tr{'days'}.', ';
+ $dset = 1;
+ }
+ elsif ($days == 1) {
+ ${timestring} .= ${days}.' '.$Lang::tr{'day'}.', ';
+ $dset = 1;
+ }
+
+ if (($hours > 1) && !($dset)) {
+ ${timestring} .= ${hours}.' '.$Lang::tr{'hours'}.', ';
+ $hset = 1;
+ }
+ elsif (($hours == 1) && !($dset)) {
+ ${timestring} .= ${hours}.' '.$Lang::tr{'hour'}.', ';
+ $hset = 1;
+ }
+ elsif ($dset) {
+ ${timestring} .= ${hours}.' '.$Lang::tr{'age shour'}.', ';
+ $hset = 1;
+ }
+
+ if ((($mins > 1) || ($mins == 0)) && !($dset || $hset)) {
+ ${timestring} .= ${mins}.' '.$Lang::tr{'minutes'}.', ';
+ $mset = 1;
+ }
+ elsif (($mins == 1) && !($dset || $hset)) {
+ ${timestring} .= ${mins}.' '.$Lang::tr{'minute'}.', ';
+ $mset = 1;
+ }
+ else {
+ ${timestring} .= ${mins}.' '.$Lang::tr{'age sminute'}.', ';
+ $mset = 1;
+ }
+
+ if ((($secs > 1) || ($secs == 0)) && !($dset || $hset || $mset)) {
+ ${timestring} .= ${secs}.' '.$Lang::tr{'age seconds'};
+ }
+ elsif (($secs == 1) && !($dset || $hset || $mset)) {
+ ${timestring} .= $secs.' '.$Lang::tr{'age second'};
+ }
+ else { ${timestring} .= $secs.' '.$Lang::tr{'age ssecond'}; }
+
+ return ${timestring};
}
sub validip
my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
}
- my ($out, $response) = Net::SSLeay::get_http( 'checkip.dyndns.org',
+ my $user_agent = &MakeUserAgent();
+ my ($out, $response) = Net::SSLeay::get_http( 'checkip.dns.lightningwirelabs.com',
80,
"/",
- Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
+ Net::SSLeay::make_headers('User-Agent' => $user_agent )
);
if ($response =~ m%HTTP/1\.. 200 OK%) {
- $out =~ /Current IP Address: (\d+.\d+.\d+.\d+)/;
+ $out =~ /Your IP address is: (\d+.\d+.\d+.\d+)/;
return $1;
}
return '';
'Experimental');
if ($index>41) {return 'unknown'} else {return @icmp_description[$index]};
}
+
+sub GetCoreUpdateVersion() {
+ my $core_update;
+
+ open(FILE, "/opt/pakfire/db/core/mine");
+ while (<FILE>) {
+ $core_update = $_;
+ last;
+ }
+ close(FILE);
+
+ return $core_update;
+}
+
+sub MakeUserAgent() {
+ my $user_agent = "IPFire/$General::version";
+
+ my $core_update = &GetCoreUpdateVersion();
+ if ($core_update ne "") {
+ $user_agent .= "/$core_update";
+ }
+
+ return $user_agent;
+}
+
1;