]> granicus.if.org Git - php/commitdiff
- Implement validate_ip filter for IPv4.
authorDerick Rethans <derick@php.net>
Mon, 26 Sep 2005 13:45:38 +0000 (13:45 +0000)
committerDerick Rethans <derick@php.net>
Mon, 26 Sep 2005 13:45:38 +0000 (13:45 +0000)
ext/filter/filter.c
ext/filter/filter_private.h

index fc0d78fd98b38f82f5b0a9b6ddea301096851311..ff129c8822d1cff20fc76162d2855ed6a5e471ee 100644 (file)
@@ -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;
 }
index 34edce22d167289c16e5afb952ddff5490648898..6e70eae103ddf0ada33241ddaa94452161c86fd3 100644 (file)
 #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