summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Nohn <sebastian@nohn.net>2013-09-15 19:18:20 +0200
committerDavid Soria Parra <dsp@php.net>2013-09-17 09:52:53 +0200
commit7c279df6ae29d585021355559c07fa51f4373075 (patch)
tree075afb21b54374f6ffb91980ce8bfe15c76d969e
parent6a0b90da84433ab1b0844a96036f3185d8a29cef (diff)
downloadphp-git-7c279df6ae29d585021355559c07fa51f4373075.tar.gz
Add RFC 6598 IPs to reserved addresses
(cherry picked from commit b3f5b822e9f83d99d7cb5eed36ba8d307d1408ee)
-rw-r--r--ext/filter/logical_filters.c1
-rw-r--r--ext/filter/tests/018.phpt4
2 files changed, 5 insertions, 0 deletions
diff --git a/ext/filter/logical_filters.c b/ext/filter/logical_filters.c
index c8f94a772c..71c5aba1e9 100644
--- a/ext/filter/logical_filters.c
+++ b/ext/filter/logical_filters.c
@@ -714,6 +714,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
if (flags & FILTER_FLAG_NO_RES_RANGE) {
if (
(ip[0] == 0) ||
+ (ip[0] == 100 && (ip[1] == 0 || ip[1] <= 127)) ||
(ip[0] == 128 && ip[1] == 0) ||
(ip[0] == 191 && ip[1] == 255) ||
(ip[0] == 169 && ip[1] == 254) ||
diff --git a/ext/filter/tests/018.phpt b/ext/filter/tests/018.phpt
index af52b2e60d..9c73fc3cfc 100644
--- a/ext/filter/tests/018.phpt
+++ b/ext/filter/tests/018.phpt
@@ -15,6 +15,8 @@ var_dump(filter_var("192.168.0.1", FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE
var_dump(filter_var("192.0.34.166", FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE));
var_dump(filter_var("127.0.0.1", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
var_dump(filter_var("192.0.0.1", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
+var_dump(filter_var("100.0.0.0", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
+var_dump(filter_var("100.127.255.255", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
var_dump(filter_var("192.0.34.166", FILTER_VALIDATE_IP));
var_dump(filter_var("256.1237.123.1", FILTER_VALIDATE_IP));
var_dump(filter_var("255.255.255.255", FILTER_VALIDATE_IP));
@@ -40,6 +42,8 @@ bool(false)
string(12) "192.0.34.166"
bool(false)
string(9) "192.0.0.1"
+bool(false)
+bool(false)
string(12) "192.0.34.166"
bool(false)
string(15) "255.255.255.255"