From ae43221399d8d73b38d1f76da5b9ea6b7a6fbb5e Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Fri, 23 Jul 2010 10:35:55 +0200 Subject: [PATCH] [ticket/9746] Adding wrapper functions for inet_ntop() and inet_pton(). PHPBB3-9746 --- phpBB/includes/functions.php | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index fad352f988..0b747058f7 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3312,7 +3312,7 @@ function phpbb_ip_normalise($address) } else if (preg_match(get_preg_expression('ipv6'), $address)) { - $address = inet_ntop(inet_pton($address)); + $address = phpbb_inet_ntop(phpbb_inet_pton($address)); if (strpos($address, '::ffff:') === 0) { @@ -3333,6 +3333,37 @@ function phpbb_ip_normalise($address) return false; } +/** +* Wrapper for inet_ntop() +* +* Converts a packed internet address to a human readable representation +* inet_ntop() is supported by PHP since 5.1.0, since 5.3.0 also on Windows. +* +* @param string $in_addr A 32bit IPv4, or 128bit IPv6 address. +* +* @return mixed false on failure, +* string otherwise +*/ +function phpbb_inet_ntop($in_addr) +{ + return inet_ntop($in_addr); +} + +/** +* Wrapper for inet_pton() +* +* Converts a human readable IP address to its packed in_addr representation +* inet_pton() is supported by PHP since 5.1.0, since 5.3.0 also on Windows. +* +* @param string $address A human readable IPv4 or IPv6 address. +* +* @return string in_addr representation of the given address +*/ +function phpbb_inet_pton($address) +{ + return inet_pton($address); +} + /** * Wrapper for php's checkdnsrr function. *