summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBui <bui@bui.pm>2014-10-06 03:37:13 +0900
committerczaks <marcin@6irc.net>2014-10-05 23:20:06 +0200
commit8b9932218ffa0e53b05cad5bc769f9317687e6da (patch)
treece68832e9ae98c328f17778f7b13e898a0a84df9
parent6804a2ede07438ba1bac922a9a6a914c30651127 (diff)
add forward-confirmed reverse DNS
-rw-r--r--inc/config.php5
-rw-r--r--inc/functions.php5
2 files changed, 9 insertions, 1 deletions
diff --git a/inc/config.php b/inc/config.php
index 1a75cad0..bd5c5db3 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -66,7 +66,10 @@
// Use `host` via shell_exec() to lookup hostnames, avoiding query timeouts. May not work on your system.
// Requires safe_mode to be disabled.
$config['dns_system'] = false;
-
+
+ // Check validity of the reverse DNS of IP addresses. Highly recommended.
+ $config['fcrdns'] = true;
+
// When executing most command-line tools (such as `convert` for ImageMagick image processing), add this
// to the environment path (seperated by :).
$config['shell_path'] = '/usr/local/bin';
diff --git a/inc/functions.php b/inc/functions.php
index 357666d6..8c5f46b9 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -2265,6 +2265,7 @@ function rDNS($ip_addr) {
if (!$config['dns_system']) {
$host = gethostbyaddr($ip_addr);
+ $isip = filter_var($host, FILTER_VALIDATE_IP);
} else {
$resp = shell_exec_error('host -W 1 ' . $ip_addr);
if (preg_match('/domain name pointer ([^\s]+)$/', $resp, $m))
@@ -2273,6 +2274,10 @@ function rDNS($ip_addr) {
$host = $ip_addr;
}
+ if ($config['fcrdns'] && !$isip && gethostbyname($host) != $ip_addr) {
+ $host = $ip_addr;
+ }
+
if ($config['cache']['enabled'])
cache::set('rdns_' . $ip_addr, $host);