summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2005-09-26 13:45:38 +0000
committerDerick Rethans <derick@php.net>2005-09-26 13:45:38 +0000
commitc319c60125ecc069ef336a4c31f27e942f210ddc (patch)
tree97bb4bb4fd0a3e004c0bd1c13104e7472d269c62
parent1b1b86494117bf4498db7659013a09e18665e92e (diff)
downloadphp-git-c319c60125ecc069ef336a4c31f27e942f210ddc.tar.gz
- Implement validate_ip filter for IPv4.
-rw-r--r--ext/filter/filter.c8
-rw-r--r--ext/filter/filter_private.h5
2 files changed, 12 insertions, 1 deletions
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index fc0d78fd98..ff129c8822 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -43,7 +43,7 @@ filter_list_entry filter_list[] = {
{ "validate_regexp", FL_REGEXP, php_filter_validate_regexp },
{ "validate_url", FL_URL, php_filter_validate_url },
{ "validate_email", FL_EMAIL, php_filter_validate_email },
- { "validate_ip", FL_IP, php_filter_validate_url },
+ { "validate_ip", FL_IP, php_filter_validate_ip },
{ "string", FS_STRING, php_filter_string },
{ "stripped", FS_STRING, php_filter_string },
@@ -203,6 +203,12 @@ PHP_MINIT_FUNCTION(filter)
REGISTER_LONG_CONSTANT("FILTER_FLAG_HOST_REQUIRED", FILTER_FLAG_HOST_REQUIRED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_PATH_REQUIRED", FILTER_FLAG_PATH_REQUIRED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_QUERY_REQUIRED", FILTER_FLAG_QUERY_REQUIRED, CONST_CS | CONST_PERSISTENT);
+
+ REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV4", FILTER_FLAG_IPV4, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV6", FILTER_FLAG_IPV6, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_RES_RANGE", FILTER_FLAG_NO_RES_RANGE, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_PRIV_RANGE", FILTER_FLAG_NO_PRIV_RANGE, CONST_CS | CONST_PERSISTENT);
+
sapi_register_input_filter(php_sapi_filter);
return SUCCESS;
}
diff --git a/ext/filter/filter_private.h b/ext/filter/filter_private.h
index 34edce22d1..6e70eae103 100644
--- a/ext/filter/filter_private.h
+++ b/ext/filter/filter_private.h
@@ -38,6 +38,11 @@
#define FILTER_FLAG_PATH_REQUIRED 0x040000
#define FILTER_FLAG_QUERY_REQUIRED 0x080000
+#define FILTER_FLAG_IPV4 0x100000
+#define FILTER_FLAG_IPV6 0x200000
+#define FILTER_FLAG_NO_RES_RANGE 0x400000
+#define FILTER_FLAG_NO_PRIV_RANGE 0x800000
+
#define FL_INT 0x0101
#define FL_BOOLEAN 0x0102
#define FL_FLOAT 0x0103