IPAddressConverter improvement for .NET 2 or .NET 3
---------------------------------------------------
Key: LOG4NET-100
URL: http://issues.apache.org/jira/browse/LOG4NET-100
Project: Log4net
Issue Type: Improvement
Components: Other
Affects Versions: 1.2.10, 1.2.11
Environment: .NET 2.0 or .NET 3.0
Reporter: Iwasa Kazmi
Priority: Minor
log4net.Util.TypeConverters.IPAddressConverter uses only DNS query to get the
IP address.
But it may not convert an IP-address text properly especially on .NET 3.0.
(Try Dns.GetHostEntry("127.0.0.1") on Vista. It returns some IPv4 and IPv6
addresses.)
If you want to convert IP-address text directly, you should use
IPAddress.Parse() or IPAddress.TryParse().
Here is a patch.
===================================================================
--- IPAddressConverter.cs (revision 468656)
+++ IPAddressConverter.cs (working copy)
@@ -77,8 +77,12 @@
try
{
#if NET_2_0
+ // Try to parse the string as an IP
address.
+ IPAddress addr;
+ if (IPAddress.TryParse(str, out addr))
+ return addr;
+
// Try to resolve via DNS. This is a
blocking call.
- // GetHostEntry works with either an
IPAddress string or a host name
IPHostEntry host =
Dns.GetHostEntry(str);
if (host != null &&
host.AddressList != null &&
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira