[
https://issues.apache.org/jira/browse/LOG4J2-970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14347024#comment-14347024
]
Gary Gregory commented on LOG4J2-970:
-------------------------------------
Patches with unit test welcome ;-)
> Bad Mapped Hostname Results in Errors
> -------------------------------------
>
> Key: LOG4J2-970
> URL: https://issues.apache.org/jira/browse/LOG4J2-970
> Project: Log4j 2
> Issue Type: Bug
> Components: Core, Pattern Converters
> Affects Versions: 2.1
> Reporter: IngyHere
>
> Log4J returns errors while parsing PatternLayout in certain situations where
> $\{map:hostName\} is substituted into the pattern. This occurred on a
> dual-homed Linux System with an IPv4/IPv6 dual stack. When running Java 7u60
> with Log4J2 v2.1 I received errors when the hostname call reported back an
> IPv6 transitional address with "%3" appended to the end for whatever reason.
> Log4J2 then reported errors when it tried to parse the resulting pattern
> after substituting the property.
> *Explanation:* The underlying Java API that retrieves hostname values uses
> the InetAddress class via InetAddress.getLocalHost().getHostName(). Returning
> a single hostname on a multihomed system is inexact and uses one of several
> Java API internal mechanisms that vary. If the returned value contains
> special characters also used to format logging patterns, it can cause an
> unrecognized format specifier error. Note that there are several bugs
> reported against this API at Oracle, see
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8044306 .
> *Detail:* See
> https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blob;f=log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
> on line 45 where it collects the information.
> *Proposed Fix:* Scrub the hostName property (probably a few other properties,
> too) of any protected or special symbols that are interpreted by Log4J to
> output conversions. I'm also considering a situation where a hostname can be
> illegally specified in a hosts file to contain conversions -- can this
> happen?
> *NOTE:* Log4J2 outputs errors about parsing the pattern but continues to
> parse the remainder of the pattern and appears to continue logging
> successfully.
> See attached log snippets.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]