[ 
https://issues.apache.org/jira/browse/AMQ-7303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Baptiste Onofré resolved AMQ-7303.
---------------------------------------
    Fix Version/s:     (was: 5.15.12)
                       (was: 5.16.0)
       Resolution: Won't Fix

Generally speaking, if there's an exception, it makes sense to display the 
stack trace (it's the only way to investigate an issue).

However, if your issue is related to logstash/filebeat, I now changed to use 
{{EnhancedPatternLayout}} in {{conf/log4j.properties}}. Thanks to that, you can 
now use {{ConversionPattern}} like:
{code:java}
log4j.appender.logfile.layour.ConversionPattern=%d | %-5p | %m | %c | 
%t%n%replace(%throwable){\n}{ } {code}

> Unnecessary stack trace in case of invalid credentials
> ------------------------------------------------------
>
>                 Key: AMQ-7303
>                 URL: https://issues.apache.org/jira/browse/AMQ-7303
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Security/JAAS
>    Affects Versions: 5.15.10
>         Environment: ActiveMQ 5.15.10 as standalone broker
>            Reporter: Lionel Cons
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> When connecting via STOMP using invalid credentials, we get a complete stack 
> trace:
> {code}
> 2019-09-10 14:30:16,765 [ActiveMQ NIO Worker 9] WARN Transport - Transport 
> Connection to: tcp://192.168.1.1:50196 failed: java.io.IOException: User name 
> [foo] or password is invalid.
> 2019-09-10 14:43:56,518 [ActiveMQ NIO Worker 9] WARN TransportConnection - 
> Failed to add Connection id=ID:broker.acme.com-24724-1568103966879-1:1005, 
> clientId=ID:broker.acme.com-24724-1568103966879-1:1005 due to {}
> java.lang.SecurityException: User name [foo] or password is invalid.
>       at 
> org.apache.activemq.security.JaasAuthenticationBroker.authenticate(JaasAuthenticationBroker.java:97)
>       at 
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:68)
>       at 
> org.apache.activemq.security.JaasDualAuthenticationBroker.addConnection(JaasDualAuthenticationBroker.java:94)
>       at 
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:99)
>       at 
> org.apache.activemq.plugin.AbstractRuntimeConfigurationBroker.addConnection(AbstractRuntimeConfigurationBroker.java:118)
>       at 
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:99)
>       at 
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:99)
>       at 
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:849)
>       at 
> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:77)
>       at 
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)
>       at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:336)
>       at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:200)
>       at 
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:45)
>       at 
> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)
>       at 
> org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:97)
>       at 
> org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:177)
>       at 
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompConnect(ProtocolConverter.java:746)
>       at 
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand(ProtocolConverter.java:240)
>       at 
> org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:85)
>       at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>       at 
> org.apache.activemq.transport.stomp.StompCodec.processCommand(StompCodec.java:133)
>       at 
> org.apache.activemq.transport.stomp.StompCodec.parse(StompCodec.java:100)
>       at 
> org.apache.activemq.transport.stomp.StompNIOTransport.processBuffer(StompNIOTransport.java:136)
>       at 
> org.apache.activemq.transport.stomp.StompNIOTransport.serviceRead(StompNIOTransport.java:121)
>       at 
> org.apache.activemq.transport.stomp.StompNIOTransport.access$000(StompNIOTransport.java:44)
>       at 
> org.apache.activemq.transport.stomp.StompNIOTransport$1.onSelect(StompNIOTransport.java:73)
>       at 
> org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:98)
>       at 
> org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:123)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.security.auth.login.FailedLoginException: User does exist
>       at 
> org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:92)
>       at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
>       at 
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
>       at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
>       at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at 
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>       at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
>       at 
> org.apache.activemq.security.JaasAuthenticationBroker.authenticate(JaasAuthenticationBroker.java:92)
>       ... 30 more
> {code}
> A single line should be reported, not the full stack trace.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to