aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/session.php
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2010-09-16 23:39:01 +0200
committerIgor Wiedler <igor@wiedler.ch>2010-09-16 23:39:01 +0200
commitcdadda35540d4909a00de01c1671251684e2801f (patch)
treec16b5e1eb8c3b27ab50550d5219d24f2667391b4 /phpBB/includes/session.php
parent2376f077415814b0a113c1095ad49038e0186a98 (diff)
parent41245f9f7ac1f588351ddaa8128b499503416f54 (diff)
downloadforums-cdadda35540d4909a00de01c1671251684e2801f.tar
forums-cdadda35540d4909a00de01c1671251684e2801f.tar.gz
forums-cdadda35540d4909a00de01c1671251684e2801f.tar.bz2
forums-cdadda35540d4909a00de01c1671251684e2801f.tar.xz
forums-cdadda35540d4909a00de01c1671251684e2801f.zip
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/9091] Extract IPv4 address from addresses mapped into IPv6.
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r--phpBB/includes/session.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index d4eac553e9..cc216392b8 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -285,6 +285,17 @@ class session
break;
}
+ // Quick check for IPv4-mapped address in IPv6
+ if (stripos($ip, '::ffff:') === 0)
+ {
+ $ipv4 = substr($ip, 7);
+
+ if (preg_match(get_preg_expression('ipv4'), $ipv4))
+ {
+ $ip = $ipv4;
+ }
+ }
+
// Use the last in chain
$this->ip = $ip;
}