[
https://issues.jboss.org/browse/AS7-4721?page=com.atlassian.jira.plugin.s...
]
Justin Bertram commented on AS7-4721:
-------------------------------------
I was able to reproduce this once I got the reproducer.zip from JBPAPP-8935, and
(strangely enough) I narrowed the salient configuration change down to the remoting
subsystem. The default configuration is this:
{code:xml}
<subsystem xmlns="urn:jboss:domain:remoting:1.1">
<connector name="remoting-connector" socket-binding="remoting"
security-realm="ApplicationRealm"/>
</subsystem>
{code}
Using this configuration, a client like the following works without issue (assuming the
proper user is added with add-user.sh and the appropriate JMS destination is added to
standalone-full.xml):
{code}
package com.redhat.example.jms;
import java.util.HashMap;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Session;
public class PlainMessageSender {
public static void main(String[] args) throws Exception {
final Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.naming.remote.client.InitialContextFactory");
env.put(Context.PROVIDER_URL, "remote://127.0.0.1:4447");
Context context = new InitialContext(env);
ConnectionFactory cf = (ConnectionFactory)
context.lookup("jms/RemoteConnectionFactory");
Destination destination = (Destination)
context.lookup("jms/queue/test");
context.close();
Connection connection = cf.createConnection("guest", "pass");
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(destination);
Message msg = session.createTextMessage("example text");
producer.send(msg);
connection.close();
}
}
{code}
However, once the security-realm is removed like this:
{code:xml}
<subsystem xmlns="urn:jboss:domain:remoting:1.1">
<connector name="remoting-connector" socket-binding="remoting"
/>
</subsystem>
{code}
Then the client above will receive a security-related error. Here's what appears on
the server:
{code}
15:46:09,151 ERROR [org.jboss.security.authentication.JBossCachedAuthenticationManager]
(Old I/O server worker (parentId: 20223589, [id: 0x01349665, /127.0.0.1:5445])) Login
failure: javax.security.auth.login.LoginException: Security Exception
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856)
[rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
[rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) [rt.jar:1.6.0_29]
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
[rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext.login(LoginContext.java:579) [rt.jar:1.6.0_29]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.defaultLogin(JBossCachedAuthenticationManager.java:449)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.proceedWithJaasLogin(JBossCachedAuthenticationManager.java:383)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.authenticate(JBossCachedAuthenticationManager.java:371)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.isValid(JBossCachedAuthenticationManager.java:160)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.as.messaging.HornetQSecurityManagerAS7.validateUser(HornetQSecurityManagerAS7.java:39)
[jboss-as-messaging-7.1.2.Final-SNAPSHOT.jar:7.1.2.Final-SNAPSHOT]
at
org.hornetq.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:134)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.server.impl.HornetQServerImpl.createSession(HornetQServerImpl.java:807)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handleCreateSession(HornetQPacketHandler.java:187)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handlePacket(HornetQPacketHandler.java:85)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:508)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:556)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:517)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:534)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:73)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline$StaticChannelHandlerContext.sendUpstream(StaticChannelPipeline.java:534)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:287)
[netty-3.2.6.Final.jar:]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:169)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:367)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:100)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.util.VirtualExecutorService$ChildExecutorRunnable.run(VirtualExecutorService.java:181)
[netty-3.2.6.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[rt.jar:1.6.0_29]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[rt.jar:1.6.0_29]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_29]
Caused by: java.lang.SecurityException
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:857)
[rt.jar:1.6.0_29]
... 37 more
15:46:09,226 ERROR [org.hornetq.core.protocol.core.impl.HornetQPacketHandler] (Old I/O
server worker (parentId: 20223589, [id: 0x01349665, /127.0.0.1:5445])) Failed to create
session : HornetQException[errorCode=105 message=Unable to validate user: guest]
at
org.hornetq.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:147)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.server.impl.HornetQServerImpl.createSession(HornetQServerImpl.java:807)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handleCreateSession(HornetQPacketHandler.java:187)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handlePacket(HornetQPacketHandler.java:85)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:508)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:556)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:517)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:534)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:73)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline$StaticChannelHandlerContext.sendUpstream(StaticChannelPipeline.java:534)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:287)
[netty-3.2.6.Final.jar:]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:169)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:367)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:100)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.util.VirtualExecutorService$ChildExecutorRunnable.run(VirtualExecutorService.java:181)
[netty-3.2.6.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[rt.jar:1.6.0_29]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[rt.jar:1.6.0_29]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_29]
{code}
Here's is what the server logs if the security realm is present on the
remoting-connector but the wrong username is supplied:
{code}
15:52:10,681 ERROR [org.jboss.security.authentication.JBossCachedAuthenticationManager]
(Old I/O server worker (parentId: 15190886, [id: 0x00e7cb66, /127.0.0.1:5445])) Login
failure: javax.security.auth.login.FailedLoginException: Password Incorrect/Password
Required
at
org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:293)
[picketbox-4.0.9.Final.jar:4.0.9.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_29]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[rt.jar:1.6.0_29]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[rt.jar:1.6.0_29]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
[rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
[rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) [rt.jar:1.6.0_29]
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
[rt.jar:1.6.0_29]
at javax.security.auth.login.LoginContext.login(LoginContext.java:579) [rt.jar:1.6.0_29]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.defaultLogin(JBossCachedAuthenticationManager.java:449)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.proceedWithJaasLogin(JBossCachedAuthenticationManager.java:383)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.authenticate(JBossCachedAuthenticationManager.java:371)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.security.authentication.JBossCachedAuthenticationManager.isValid(JBossCachedAuthenticationManager.java:160)
[picketbox-infinispan-4.0.9.Final.jar:4.0.9.Final]
at
org.jboss.as.messaging.HornetQSecurityManagerAS7.validateUser(HornetQSecurityManagerAS7.java:39)
[jboss-as-messaging-7.1.2.Final-SNAPSHOT.jar:7.1.2.Final-SNAPSHOT]
at
org.hornetq.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:134)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.server.impl.HornetQServerImpl.createSession(HornetQServerImpl.java:807)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handleCreateSession(HornetQPacketHandler.java:187)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handlePacket(HornetQPacketHandler.java:85)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:508)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:556)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:517)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:534)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:73)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline$StaticChannelHandlerContext.sendUpstream(StaticChannelPipeline.java:534)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:287)
[netty-3.2.6.Final.jar:]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:169)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:367)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:100)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.util.VirtualExecutorService$ChildExecutorRunnable.run(VirtualExecutorService.java:181)
[netty-3.2.6.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[rt.jar:1.6.0_29]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[rt.jar:1.6.0_29]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_29]
15:52:10,685 ERROR [org.hornetq.core.protocol.core.impl.HornetQPacketHandler] (Old I/O
server worker (parentId: 15190886, [id: 0x00e7cb66, /127.0.0.1:5445])) Failed to create
session : HornetQException[errorCode=105 message=Unable to validate user: iWillFail]
at
org.hornetq.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:147)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.server.impl.HornetQServerImpl.createSession(HornetQServerImpl.java:807)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handleCreateSession(HornetQPacketHandler.java:187)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handlePacket(HornetQPacketHandler.java:85)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:508)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:556)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:517)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:534)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:73)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline$StaticChannelHandlerContext.sendUpstream(StaticChannelPipeline.java:534)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:287)
[netty-3.2.6.Final.jar:]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:169)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_AS7_SNAPSHOT, 122)]
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:367)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:100)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.2.6.Final.jar:]
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
[netty-3.2.6.Final.jar:]
at
org.jboss.netty.util.VirtualExecutorService$ChildExecutorRunnable.run(VirtualExecutorService.java:181)
[netty-3.2.6.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[rt.jar:1.6.0_29]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[rt.jar:1.6.0_29]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_29]
{code}
Note that the first stack traces are slightly different than before. In this instance no
{{java.lang.SecurityException}} is thrown.
I'm still trying to determine why that is.
CLONE - Jms client can't authenticate to messaging subsystem
------------------------------------------------------------
Key: AS7-4721
URL:
https://issues.jboss.org/browse/AS7-4721
Project: Application Server 7
Issue Type: Bug
Components: JMS, Security
Affects Versions: 7.1.1.Final
Reporter: Miroslav Novak
Assignee: Justin Bertram
Fix For: No Release
Jms client can't authenticate to messaging subsystem. I've prepared reproducer
for EAP 6 ER6 but this issue is also in AS7 master.
Exception:
{code}
Exception in thread "main" javax.jms.JMSSecurityException: Unable to validate
user: admin
at org.hornetq.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:312)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.createSessionInternal(ClientSessionFactoryImpl.java:781)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.createSession(ClientSessionFactoryImpl.java:280)
at org.hornetq.jms.client.HornetQConnection.authorize(HornetQConnection.java:601)
at
org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:684)
at
org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:119)
at testjndi.SecurityClient.getConnection(SecurityClient.java:308)
at testjndi.SecurityClient.initializeClient(SecurityClient.java:83)
at testjndi.SecurityClient.main(SecurityClient.java:363)
Caused by: HornetQException[errorCode=105 message=Unable to validate user: admin]
... 9 more
{code}
Steps to reproduce:
1. Download and unzip EAP 6 ER6 -
http://download.devel.redhat.com/devel/candidates/JBEAP/JBEAP-6.0.0-ER6/j...
2. Using add-user.sh create user to application realm - for example with username: admin,
password:adminadmin, role:guest
3. Unzip attached reproducer.zip and copy standalone-full-ha.xml to
$JBOSS_HOME/stanalone/configuration
4. Start server
5. Start jms client in reproducer - sh start-client.sh 127.0.0.1 jms/queue/testQueue0
admin adminadmin (parameters are hostname queueJndiName username password)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira