From 7a42173a16fcf7c53023aee4610ac42523e86226 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 13 Aug 2015 03:04:19 -0400
Subject: [PATCH] Simplify rcube_utils::check_ip()
---
program/lib/Roundcube/rcube_utils.php | 34 +---------------------------------
1 files changed, 1 insertions(+), 33 deletions(-)
diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php
index 162d4cb..924b0d6 100644
--- a/program/lib/Roundcube/rcube_utils.php
+++ b/program/lib/Roundcube/rcube_utils.php
@@ -143,39 +143,7 @@
*/
public static function check_ip($ip)
{
- // IPv6, but there's no build-in IPv6 support
- if (strpos($ip, ':') !== false && !defined('AF_INET6')) {
- $parts = explode(':', $ip);
- $count = count($parts);
-
- if ($count > 8 || $count < 2) {
- return false;
- }
-
- foreach ($parts as $idx => $part) {
- $length = strlen($part);
- if (!$length) {
- // there can be only one ::
- if ($found_empty && $idx > 2) {
- return false;
- }
- $found_empty = true;
- }
- // last part can be an IPv4 address
- else if ($idx == $count - 1) {
- if (!preg_match('/^[0-9a-f]{1,4}$/i', $part)) {
- return @inet_pton($part) !== false;
- }
- }
- else if (!preg_match('/^[0-9a-f]{1,4}$/i', $part)) {
- return false;
- }
- }
-
- return true;
- }
-
- return @inet_pton($ip) !== false;
+ return filter_var($ip, FILTER_VALIDATE_IP) !== false;
}
/**
--
Gitblit v1.9.1