Discussion:
Aleph and cemerick/friend (openid4java)
Marc Haemmerle
2013-01-10 15:24:00 UTC
Permalink
If you look at the end of the stacktrace you'll see that Aleph returns the
IP6 localhost and apparently openid4java chokes on this. The normal Jetty
ring adapter works fine with it so I've wanted to ask you first for any
ideas before I patch the friend library...

FYI: *friend* expects some of the compojure.handler/site middlewares to be
present - just in case you'd know if one of them isn't playing nicely with
Aleph.

2013-01-10 16:08:33,833 ERROR lamina.trace.probe: error on inactive probe:
http-server:error
org.openid4java.message.MessageException: 0x300: Error verifying return URL
in auth request.
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:257)
at
org.openid4java.message.AuthRequest.createAuthRequest(AuthRequest.java:101)
at
org.openid4java.consumer.ConsumerManager.authenticate(ConsumerManager.java:1071)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at cemerick.friend.openid$handle_init.invoke(openid.clj:49)
at cemerick.friend.openid$workflow$fn__15466.invoke(openid.clj:112)
at cemerick.friend$authenticate_STAR_$fn__14998.invoke(friend.clj:174)
at clojure.core$map$fn__4087.invoke(core.clj:2432)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:473)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$filter$fn__4106.invoke(core.clj:2470)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.LazySeq.first(LazySeq.java:82)
at clojure.lang.RT.first(RT.java:566)
at clojure.core$first.invoke(core.clj:55)
at cemerick.friend$authenticate_STAR_.invoke(friend.clj:174)
at cemerick.friend$authenticate$fn__15007.invoke(friend.clj:205)
at skypeclj.logger$wrap_bounce_favicon$fn__15510.invoke(logger.clj:86)
at
ring.middleware.keyword_params$wrap_keyword_params$fn__13594.invoke(keyword_params.clj:27)
at
ring.middleware.nested_params$wrap_nested_params$fn__13636.invoke(nested_params.clj:65)
at ring.middleware.params$wrap_params$fn__13563.invoke(params.clj:55)
at
ring.middleware.multipart_params$wrap_multipart_params$fn__13667.invoke(multipart_params.clj:103)
at ring.middleware.flash$wrap_flash$fn__14254.invoke(flash.clj:14)
at ring.middleware.session$wrap_session$fn__14240.invoke(session.clj:43)
at ring.middleware.cookies$wrap_cookies$fn__14152.invoke(cookies.clj:160)
at
aleph.http$wrap_ring_handler$fn$reify__12815$fn__12818.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn$reify__12815.run(http.clj:36)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http$wrap_ring_handler$fn$reify__12815.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn__12799.invoke(http.clj:36)
at
aleph.http.netty$start_http_server$fn$reify__12426$fn__12428.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn$reify__12426.run(netty.clj:76)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http.netty$start_http_server$fn$reify__12426.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn__12410.invoke(netty.clj:76)
at
lamina.connections$server_generator_$this$reify__12212$fn__12214.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this$reify__12212.run(connections.clj:331)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at
lamina.connections$server_generator_$this$reify__12212.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:326)
at
lamina.trace.instrument$instrument$fn__7742$fn__7777.invoke(instrument.clj:192)
at lamina.trace.instrument$instrument$fn__7742.invoke(instrument.clj:191)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at
lamina.connections$server_generator$fn$reify__12254.run(connections.clj:359)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$subscribe$fn__4891.invoke(pipeline.clj:113)
at lamina.core.result.ResultChannel.success_BANG_(result.clj:276)
at lamina.core.queue.EventQueue.enqueue(queue.clj:305)
at lamina.core.graph.node.Node.propagate(node.clj:260)
at lamina.core.graph.node.Node.propagate(node.clj:316)
at lamina.core.channel.Channel.enqueue(channel.clj:56)
at lamina.core$enqueue.invoke(core.clj:106)
at aleph.http.core$collapse_reads$fn__11289.invoke(core.clj:229)
at
lamina.core.graph.propagator$bridge_join$fn__3774.invoke(propagator.clj:174)
at
lamina.core.graph.propagator.BridgePropagator.propagate(propagator.clj:57)
at lamina.core.graph.node.Node.propagate(node.clj:273)
at lamina.core.channel.SplicedChannel.enqueue(channel.clj:103)
at lamina.core$enqueue.invoke(core.clj:106)
at
aleph.netty.server$server_message_handler$reify__10916.handleUpstream(server.clj:115)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
org.jboss.netty.handler.codec.http.HttpContentEncoder.messageReceived(HttpContentEncoder.java:82)
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:95)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:455)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:538)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$upstream_traffic_handler$reify__10611.handleUpstream(core.clj:203)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$connection_handler$reify__10605.handleUpstream(core.clj:192)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at
aleph.netty.core$cached_thread_executor$reify__10563$fn__10564.invoke(core.clj:75)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.MalformedURLException: For input string:
"0:0:0:0:0:0:1:4000"
at java.net.URL.<init>(URL.java:617)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:254)
... 105 more
Caused by: java.lang.NumberFormatException: For input string:
"0:0:0:0:0:0:1:4000"
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:217)
at java.net.URL.<init>(URL.java:612)
... 108 more
Marc Haemmerle
2013-01-10 15:27:21 UTC
Permalink
AFAIK it's the session, params, keyword-params and nested-params that *
friend* depends on.
Post by Marc Haemmerle
If you look at the end of the stacktrace you'll see that Aleph returns the
IP6 localhost and apparently openid4java chokes on this. The normal Jetty
ring adapter works fine with it so I've wanted to ask you first for any
ideas before I patch the friend library...
FYI: *friend* expects some of the compojure.handler/site middlewares to
be present - just in case you'd know if one of them isn't playing nicely
with Aleph.
http-server:error
org.openid4java.message.MessageException: 0x300: Error verifying return
URL in auth request.
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:257)
at
org.openid4java.message.AuthRequest.createAuthRequest(AuthRequest.java:101)
at
org.openid4java.consumer.ConsumerManager.authenticate(ConsumerManager.java:1071)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at cemerick.friend.openid$handle_init.invoke(openid.clj:49)
at cemerick.friend.openid$workflow$fn__15466.invoke(openid.clj:112)
at cemerick.friend$authenticate_STAR_$fn__14998.invoke(friend.clj:174)
at clojure.core$map$fn__4087.invoke(core.clj:2432)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:473)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$filter$fn__4106.invoke(core.clj:2470)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.LazySeq.first(LazySeq.java:82)
at clojure.lang.RT.first(RT.java:566)
at clojure.core$first.invoke(core.clj:55)
at cemerick.friend$authenticate_STAR_.invoke(friend.clj:174)
at cemerick.friend$authenticate$fn__15007.invoke(friend.clj:205)
at skypeclj.logger$wrap_bounce_favicon$fn__15510.invoke(logger.clj:86)
at
ring.middleware.keyword_params$wrap_keyword_params$fn__13594.invoke(keyword_params.clj:27)
at
ring.middleware.nested_params$wrap_nested_params$fn__13636.invoke(nested_params.clj:65)
at ring.middleware.params$wrap_params$fn__13563.invoke(params.clj:55)
at
ring.middleware.multipart_params$wrap_multipart_params$fn__13667.invoke(multipart_params.clj:103)
at ring.middleware.flash$wrap_flash$fn__14254.invoke(flash.clj:14)
at ring.middleware.session$wrap_session$fn__14240.invoke(session.clj:43)
at ring.middleware.cookies$wrap_cookies$fn__14152.invoke(cookies.clj:160)
at
aleph.http$wrap_ring_handler$fn$reify__12815$fn__12818.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn$reify__12815.run(http.clj:36)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http$wrap_ring_handler$fn$reify__12815.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn__12799.invoke(http.clj:36)
at
aleph.http.netty$start_http_server$fn$reify__12426$fn__12428.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn$reify__12426.run(netty.clj:76)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http.netty$start_http_server$fn$reify__12426.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn__12410.invoke(netty.clj:76)
at
lamina.connections$server_generator_$this$reify__12212$fn__12214.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this$reify__12212.run(connections.clj:331)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at
lamina.connections$server_generator_$this$reify__12212.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:326)
at
lamina.trace.instrument$instrument$fn__7742$fn__7777.invoke(instrument.clj:192)
at lamina.trace.instrument$instrument$fn__7742.invoke(instrument.clj:191)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at
lamina.connections$server_generator$fn$reify__12254.run(connections.clj:359)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$subscribe$fn__4891.invoke(pipeline.clj:113)
at lamina.core.result.ResultChannel.success_BANG_(result.clj:276)
at lamina.core.queue.EventQueue.enqueue(queue.clj:305)
at lamina.core.graph.node.Node.propagate(node.clj:260)
at lamina.core.graph.node.Node.propagate(node.clj:316)
at lamina.core.channel.Channel.enqueue(channel.clj:56)
at lamina.core$enqueue.invoke(core.clj:106)
at aleph.http.core$collapse_reads$fn__11289.invoke(core.clj:229)
at
lamina.core.graph.propagator$bridge_join$fn__3774.invoke(propagator.clj:174)
at
lamina.core.graph.propagator.BridgePropagator.propagate(propagator.clj:57)
at lamina.core.graph.node.Node.propagate(node.clj:273)
at lamina.core.channel.SplicedChannel.enqueue(channel.clj:103)
at lamina.core$enqueue.invoke(core.clj:106)
at
aleph.netty.server$server_message_handler$reify__10916.handleUpstream(server.clj:115)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
org.jboss.netty.handler.codec.http.HttpContentEncoder.messageReceived(HttpContentEncoder.java:82)
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:95)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:455)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:538)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$upstream_traffic_handler$reify__10611.handleUpstream(core.clj:203)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$connection_handler$reify__10605.handleUpstream(core.clj:192)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at
aleph.netty.core$cached_thread_executor$reify__10563$fn__10564.invoke(core.clj:75)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
"0:0:0:0:0:0:1:4000"
at java.net.URL.<init>(URL.java:617)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:254)
... 105 more
"0:0:0:0:0:0:1:4000"
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:217)
at java.net.URL.<init>(URL.java:612)
... 108 more
John D. Hume
2013-01-10 16:19:08 UTC
Permalink
From a look at the javadoc of java.net.URL and the source of AuthRequest,
it looks like the literal IPv6 address in the "openid.return_to" parameter
needs to be wrapped in [] as per RFC 2732. I assume that's getting
generated automatically. Sorry if that's not helpful.
If you look at the end of the stacktrace you'll see that Aleph returns the
IP6 localhost and apparently openid4java chokes on this. The normal Jetty
ring adapter works fine with it so I've wanted to ask you first for any
ideas before I patch the friend library...
FYI: *friend* expects some of the compojure.handler/site middlewares to
be present - just in case you'd know if one of them isn't playing nicely
with Aleph.
http-server:error
org.openid4java.message.MessageException: 0x300: Error verifying return
URL in auth request.
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:257)
at
org.openid4java.message.AuthRequest.createAuthRequest(AuthRequest.java:101)
at
org.openid4java.consumer.ConsumerManager.authenticate(ConsumerManager.java:1071)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at cemerick.friend.openid$handle_init.invoke(openid.clj:49)
at cemerick.friend.openid$workflow$fn__15466.invoke(openid.clj:112)
at cemerick.friend$authenticate_STAR_$fn__14998.invoke(friend.clj:174)
at clojure.core$map$fn__4087.invoke(core.clj:2432)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:473)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$filter$fn__4106.invoke(core.clj:2470)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.LazySeq.first(LazySeq.java:82)
at clojure.lang.RT.first(RT.java:566)
at clojure.core$first.invoke(core.clj:55)
at cemerick.friend$authenticate_STAR_.invoke(friend.clj:174)
at cemerick.friend$authenticate$fn__15007.invoke(friend.clj:205)
at skypeclj.logger$wrap_bounce_favicon$fn__15510.invoke(logger.clj:86)
at
ring.middleware.keyword_params$wrap_keyword_params$fn__13594.invoke(keyword_params.clj:27)
at
ring.middleware.nested_params$wrap_nested_params$fn__13636.invoke(nested_params.clj:65)
at ring.middleware.params$wrap_params$fn__13563.invoke(params.clj:55)
at
ring.middleware.multipart_params$wrap_multipart_params$fn__13667.invoke(multipart_params.clj:103)
at ring.middleware.flash$wrap_flash$fn__14254.invoke(flash.clj:14)
at ring.middleware.session$wrap_session$fn__14240.invoke(session.clj:43)
at ring.middleware.cookies$wrap_cookies$fn__14152.invoke(cookies.clj:160)
at
aleph.http$wrap_ring_handler$fn$reify__12815$fn__12818.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn$reify__12815.run(http.clj:36)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http$wrap_ring_handler$fn$reify__12815.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn__12799.invoke(http.clj:36)
at
aleph.http.netty$start_http_server$fn$reify__12426$fn__12428.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn$reify__12426.run(netty.clj:76)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http.netty$start_http_server$fn$reify__12426.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn__12410.invoke(netty.clj:76)
at
lamina.connections$server_generator_$this$reify__12212$fn__12214.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this$reify__12212.run(connections.clj:331)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at
lamina.connections$server_generator_$this$reify__12212.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:326)
at
lamina.trace.instrument$instrument$fn__7742$fn__7777.invoke(instrument.clj:192)
at lamina.trace.instrument$instrument$fn__7742.invoke(instrument.clj:191)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at
lamina.connections$server_generator$fn$reify__12254.run(connections.clj:359)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$subscribe$fn__4891.invoke(pipeline.clj:113)
at lamina.core.result.ResultChannel.success_BANG_(result.clj:276)
at lamina.core.queue.EventQueue.enqueue(queue.clj:305)
at lamina.core.graph.node.Node.propagate(node.clj:260)
at lamina.core.graph.node.Node.propagate(node.clj:316)
at lamina.core.channel.Channel.enqueue(channel.clj:56)
at lamina.core$enqueue.invoke(core.clj:106)
at aleph.http.core$collapse_reads$fn__11289.invoke(core.clj:229)
at
lamina.core.graph.propagator$bridge_join$fn__3774.invoke(propagator.clj:174)
at
lamina.core.graph.propagator.BridgePropagator.propagate(propagator.clj:57)
at lamina.core.graph.node.Node.propagate(node.clj:273)
at lamina.core.channel.SplicedChannel.enqueue(channel.clj:103)
at lamina.core$enqueue.invoke(core.clj:106)
at
aleph.netty.server$server_message_handler$reify__10916.handleUpstream(server.clj:115)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
org.jboss.netty.handler.codec.http.HttpContentEncoder.messageReceived(HttpContentEncoder.java:82)
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:95)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:455)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:538)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$upstream_traffic_handler$reify__10611.handleUpstream(core.clj:203)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$connection_handler$reify__10605.handleUpstream(core.clj:192)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at
aleph.netty.core$cached_thread_executor$reify__10563$fn__10564.invoke(core.clj:75)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
"0:0:0:0:0:0:1:4000"
at java.net.URL.<init>(URL.java:617)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:254)
... 105 more
"0:0:0:0:0:0:1:4000"
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:217)
at java.net.URL.<init>(URL.java:612)
... 108 more
Marc Haemmerle
2013-01-10 18:30:26 UTC
Permalink
As far as I get it, it's not the issue, but nonetheless thanks a lot for
the effort!

I have an appointment now, but it seems like :server-name in the ring
request get's set to the IPv6 address of the machine running the server.

jetty/ring
{:ssl-client-cert nil, :remote-addr 0:0:0:0:0:0:0:1, :scheme :http,
:query-params {}, :session {}, :cemerick.friend/auth-config {:allow-anon?
true, :default-landing-uri /, :login-uri /login, :credential-fn
#<core$constantly$fn__3932 clojure.core$constantly$***@27cbb391>,
:workflows [#<openid$workflow$fn__15408
cemerick.friend.openid$workflow$***@759bd8fb>], :unauthorized-handler
#'cemerick.friend/default-unauthorized-handler}, :form-params {identifier
https://www.google.com/accounts/o8/id}, :request-method :post,
:query-string nil, :content-type application/x-www-form-urlencoded,
:cookies {ring-session {:value 4691f4b6-11a0-4c2b-a704-07a337e640ed}}, :uri
/openid, *:server-name localhost*, :params {:identifier
https://www.google.com/accounts/o8/id}, :headers {user-agent Mozilla/5.0
(Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko)
Chrome/23.0.1271.101 Safari/537.11, cookie
ring-session=4691f4b6-11a0-4c2b-a704-07a337e640ed, origin
http://localhost:4000, accept-charset ISO-8859-1,utf-8;q=0.7,*;q=0.3,
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
host localhost:4000, referer http://localhost:4000/login, content-type
application/x-www-form-urlencoded, cache-control max-age=0, accept-encoding
gzip,deflate,sdch, content-length 60, accept-language en-US,en;q=0.8,
connection keep-alive}, :content-length 60, :server-port 4000,
:character-encoding nil, :body #<HttpInput
***@4ac2830f>}

aleph
{:remote-addr 0:0:0:0:0:0:0:1, :scheme :http, :query-params {}, :session
{}, :cemerick.friend/auth-config {:allow-anon? true, :default-landing-uri
/, :login-uri /login, :credential-fn #<core$constantly$fn__3932
clojure.core$constantly$***@3fc280ce>, :workflows
[#<openid$workflow$fn__15402
cemerick.friend.openid$workflow$***@6ed71b42>], :unauthorized-handler
#'cemerick.friend/default-unauthorized-handler}, :form-params {identifier
https://www.google.com/accounts/o8/id}, :request-method :post,
:query-string nil, :content-type application/x-www-form-urlencoded,
:cookies {ring-session {:value d710f9ed-2bdb-4172-bcb9-84006ca70e28}}, :uri
/openid, *:server-name 0:0:0:0:0:0:0:1*, :params {:identifier
https://www.google.com/accounts/o8/id}, :headers {user-agent Mozilla/5.0
(Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko)
Chrome/23.0.1271.101 Safari/537.11, cookie
ring-session=d710f9ed-2bdb-4172-bcb9-84006ca70e28, origin
http://localhost:4000, accept-charset ISO-8859-1,utf-8;q=0.7,*;q=0.3,
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
host localhost:4000, referer http://localhost:4000/login, content-type
application/x-www-form-urlencoded, cache-control max-age=0, accept-encoding
gzip,deflate,sdch, content-length 60, accept-language en-US,en;q=0.8,
connection keep-alive}, :content-length 60, :aleph.http/channel << 
 >>,
:server-port 4000, :character-encoding nil, :body
#<ChannelBufferInputStream
From a look at the javadoc of java.net.URL and the source of AuthRequest,
it looks like the literal IPv6 address in the "openid.return_to" parameter
needs to be wrapped in [] as per RFC 2732. I assume that's getting
generated automatically. Sorry if that's not helpful.
Post by Marc Haemmerle
If you look at the end of the stacktrace you'll see that Aleph returns
the IP6 localhost and apparently openid4java chokes on this. The normal
Jetty ring adapter works fine with it so I've wanted to ask you first for
any ideas before I patch the friend library...
FYI: *friend* expects some of the compojure.handler/site middlewares to
be present - just in case you'd know if one of them isn't playing nicely
with Aleph.
2013-01-10 16:08:33,833 ERROR lamina.trace.probe: error on inactive
probe: http-server:error
org.openid4java.message.MessageException: 0x300: Error verifying return
URL in auth request.
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:257)
at
org.openid4java.message.AuthRequest.createAuthRequest(AuthRequest.java:101)
at
org.openid4java.consumer.ConsumerManager.authenticate(ConsumerManager.java:1071)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at cemerick.friend.openid$handle_init.invoke(openid.clj:49)
at cemerick.friend.openid$workflow$fn__15466.invoke(openid.clj:112)
at cemerick.friend$authenticate_STAR_$fn__14998.invoke(friend.clj:174)
at clojure.core$map$fn__4087.invoke(core.clj:2432)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:473)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$filter$fn__4106.invoke(core.clj:2470)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.LazySeq.first(LazySeq.java:82)
at clojure.lang.RT.first(RT.java:566)
at clojure.core$first.invoke(core.clj:55)
at cemerick.friend$authenticate_STAR_.invoke(friend.clj:174)
at cemerick.friend$authenticate$fn__15007.invoke(friend.clj:205)
at skypeclj.logger$wrap_bounce_favicon$fn__15510.invoke(logger.clj:86)
at
ring.middleware.keyword_params$wrap_keyword_params$fn__13594.invoke(keyword_params.clj:27)
at
ring.middleware.nested_params$wrap_nested_params$fn__13636.invoke(nested_params.clj:65)
at ring.middleware.params$wrap_params$fn__13563.invoke(params.clj:55)
at
ring.middleware.multipart_params$wrap_multipart_params$fn__13667.invoke(multipart_params.clj:103)
at ring.middleware.flash$wrap_flash$fn__14254.invoke(flash.clj:14)
at ring.middleware.session$wrap_session$fn__14240.invoke(session.clj:43)
at ring.middleware.cookies$wrap_cookies$fn__14152.invoke(cookies.clj:160)
at
aleph.http$wrap_ring_handler$fn$reify__12815$fn__12818.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn$reify__12815.run(http.clj:36)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http$wrap_ring_handler$fn$reify__12815.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn__12799.invoke(http.clj:36)
at
aleph.http.netty$start_http_server$fn$reify__12426$fn__12428.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn$reify__12426.run(netty.clj:76)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at
aleph.http.netty$start_http_server$fn$reify__12426.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn__12410.invoke(netty.clj:76)
at
lamina.connections$server_generator_$this$reify__12212$fn__12214.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this$reify__12212.run(connections.clj:331)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at
lamina.connections$server_generator_$this$reify__12212.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:331)
at
lamina.connections$server_generator_$this__12196.invoke(connections.clj:326)
at
lamina.trace.instrument$instrument$fn__7742$fn__7777.invoke(instrument.clj:192)
at
lamina.trace.instrument$instrument$fn__7742.invoke(instrument.clj:191)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at
lamina.connections$server_generator$fn$reify__12254.run(connections.clj:359)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$subscribe$fn__4891.invoke(pipeline.clj:113)
at lamina.core.result.ResultChannel.success_BANG_(result.clj:276)
at lamina.core.queue.EventQueue.enqueue(queue.clj:305)
at lamina.core.graph.node.Node.propagate(node.clj:260)
at lamina.core.graph.node.Node.propagate(node.clj:316)
at lamina.core.channel.Channel.enqueue(channel.clj:56)
at lamina.core$enqueue.invoke(core.clj:106)
at aleph.http.core$collapse_reads$fn__11289.invoke(core.clj:229)
at
lamina.core.graph.propagator$bridge_join$fn__3774.invoke(propagator.clj:174)
at
lamina.core.graph.propagator.BridgePropagator.propagate(propagator.clj:57)
at lamina.core.graph.node.Node.propagate(node.clj:273)
at lamina.core.channel.SplicedChannel.enqueue(channel.clj:103)
at lamina.core$enqueue.invoke(core.clj:106)
at
aleph.netty.server$server_message_handler$reify__10916.handleUpstream(server.clj:115)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
org.jboss.netty.handler.codec.http.HttpContentEncoder.messageReceived(HttpContentEncoder.java:82)
at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:95)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:455)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:538)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$upstream_traffic_handler$reify__10611.handleUpstream(core.clj:203)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:793)
at
aleph.netty.core$connection_handler$reify__10605.handleUpstream(core.clj:192)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:565)
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at
aleph.netty.core$cached_thread_executor$reify__10563$fn__10564.invoke(core.clj:75)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
"0:0:0:0:0:0:1:4000"
at java.net.URL.<init>(URL.java:617)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:254)
... 105 more
"0:0:0:0:0:0:1:4000"
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:217)
at java.net.URL.<init>(URL.java:612)
... 108 more
Zach Tellman
2013-01-10 18:42:38 UTC
Permalink
Per the ring spec, :server-name is "The resolved server name, or the server
IP address". I suppose if you interpret that to mean "prefer a resolved
name to an IP address", I'm not perfectly compliant. I think I'll fix
that, but it seems clear that anything consuming :server-name should be
able to handle IPv6 addresses. And w.r.t. middleware, I don't see any
reason Aleph + wrap-ring-handler shouldn't play nicely.

Zach
Post by Marc Haemmerle
As far as I get it, it's not the issue, but nonetheless thanks a lot for
the effort!
I have an appointment now, but it seems like :server-name in the ring
request get's set to the IPv6 address of the machine running the server.
jetty/ring
{:ssl-client-cert nil, :remote-addr 0:0:0:0:0:0:0:1, :scheme :http,
:query-params {}, :session {}, :cemerick.friend/auth-config {:allow-anon?
true, :default-landing-uri /, :login-uri /login, :credential-fn
:workflows [#<openid$workflow$fn__15408
:unauthorized-handler #'cemerick.friend/default-unauthorized-handler},
:form-params {identifier https://www.google.com/accounts/o8/id},
:request-method :post, :query-string nil, :content-type
application/x-www-form-urlencoded, :cookies {ring-session {:value
4691f4b6-11a0-4c2b-a704-07a337e640ed}}, :uri /openid, *:server-name
localhost*, :params {:identifier https://www.google.com/accounts/o8/id},
:headers {user-agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2)
AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11,
cookie ring-session=4691f4b6-11a0-4c2b-a704-07a337e640ed, origin
http://localhost:4000, accept-charset ISO-8859-1,utf-8;q=0.7,*;q=0.3,
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
host localhost:4000, referer http://localhost:4000/login, content-type
application/x-www-form-urlencoded, cache-control max-age=0, accept-encoding
gzip,deflate,sdch, content-length 60, accept-language en-US,en;q=0.8,
connection keep-alive}, :content-length 60, :server-port 4000,
:character-encoding nil, :body #<HttpInput
aleph
{:remote-addr 0:0:0:0:0:0:0:1, :scheme :http, :query-params {}, :session
{}, :cemerick.friend/auth-config {:allow-anon? true, :default-landing-uri
/, :login-uri /login, :credential-fn #<core$constantly$fn__3932
[#<openid$workflow$fn__15402
:unauthorized-handler #'cemerick.friend/default-unauthorized-handler},
:form-params {identifier https://www.google.com/accounts/o8/id},
:request-method :post, :query-string nil, :content-type
application/x-www-form-urlencoded, :cookies {ring-session {:value
d710f9ed-2bdb-4172-bcb9-84006ca70e28}}, :uri /openid, *:server-name
0:0:0:0:0:0:0:1*, :params {:identifier
https://www.google.com/accounts/o8/id}, :headers {user-agent Mozilla/5.0
(Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko)
Chrome/23.0.1271.101 Safari/537.11, cookie
ring-session=d710f9ed-2bdb-4172-bcb9-84006ca70e28, origin
http://localhost:4000, accept-charset ISO-8859-1,utf-8;q=0.7,*;q=0.3,
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
host localhost:4000, referer http://localhost:4000/login, content-type
application/x-www-form-urlencoded, cache-control max-age=0, accept-encoding
gzip,deflate,sdch, content-length 60, accept-language en-US,en;q=0.8,
connection keep-alive}, :content-length 60, :aleph.http/channel << … >>,
:server-port 4000, :character-encoding nil, :body
#<ChannelBufferInputStream
From a look at the javadoc of java.net.URL and the source of AuthRequest,
it looks like the literal IPv6 address in the "openid.return_to" parameter
needs to be wrapped in [] as per RFC 2732. I assume that's getting
generated automatically. Sorry if that's not helpful.
Post by Marc Haemmerle
If you look at the end of the stacktrace you'll see that Aleph returns
the IP6 localhost and apparently openid4java chokes on this. The normal
Jetty ring adapter works fine with it so I've wanted to ask you first for
any ideas before I patch the friend library...
FYI: *friend* expects some of the compojure.handler/site middlewares to
be present - just in case you'd know if one of them isn't playing nicely
with Aleph.
2013-01-10 16:08:33,833 ERROR lamina.trace.probe: error on inactive
probe: http-server:error
org.openid4java.message.**MessageException: 0x300: Error verifying
return URL in auth request.
at org.openid4java.message.**AuthRequest.validate(**
AuthRequest.java:257)
at org.openid4java.message.**AuthRequest.createAuthRequest(**
AuthRequest.java:101)
at org.openid4java.consumer.**ConsumerManager.authenticate(**
ConsumerManager.java:1071)
at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
NativeMethodAccessorImpl.java:**57)
at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
DelegatingMethodAccessorImpl.**java:43)
at java.lang.reflect.Method.**invoke(Method.java:601)
at clojure.lang.Reflector.**invokeMatchingMethod(**Reflector.java:93)
at clojure.lang.Reflector.**invokeInstanceMethod(**Reflector.java:28)
at cemerick.friend.openid$handle_**init.invoke(openid.clj:49)
at cemerick.friend.openid$**workflow$fn__15466.invoke(**openid.clj:112)
at cemerick.friend$authenticate_**STAR_$fn__14998.invoke(friend.**
clj:174)
at clojure.core$map$fn__4087.**invoke(core.clj:2432)
at clojure.lang.LazySeq.sval(**LazySeq.java:42)
at clojure.lang.LazySeq.seq(**LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:**473)
at clojure.core$seq.invoke(core.**clj:133)
at clojure.core$filter$fn__4106.**invoke(core.clj:2470)
at clojure.lang.LazySeq.sval(**LazySeq.java:42)
at clojure.lang.LazySeq.seq(**LazySeq.java:60)
at clojure.lang.LazySeq.first(**LazySeq.java:82)
at clojure.lang.RT.first(RT.java:**566)
at clojure.core$first.invoke(**core.clj:55)
at cemerick.friend$authenticate_**STAR_.invoke(friend.clj:174)
at cemerick.friend$authenticate$**fn__15007.invoke(friend.clj:**205)
at skypeclj.logger$wrap_bounce_**favicon$fn__15510.invoke(**
logger.clj:86)
at ring.middleware.keyword_**params$wrap_keyword_params$fn_**
_13594.invoke(keyword_params.**clj:27)
at ring.middleware.nested_params$**wrap_nested_params$fn__13636.**
invoke(nested_params.clj:65)
at ring.middleware.params$wrap_**params$fn__13563.invoke(**
params.clj:55)
at ring.middleware.multipart_**params$wrap_multipart_params$**
fn__13667.invoke(multipart_**params.clj:103)
at ring.middleware.flash$wrap_**flash$fn__14254.invoke(flash.**clj:14)
at ring.middleware.session$wrap_**session$fn__14240.invoke(**
session.clj:43)
at ring.middleware.cookies$wrap_**cookies$fn__14152.invoke(**
cookies.clj:160)
at aleph.http$wrap_ring_handler$**fn$reify__12815$fn__12818.**
invoke(http.clj:36)
at aleph.http$wrap_ring_handler$**fn$reify__12815.run(http.clj:**36)
at lamina.core.pipeline$resume_**pipeline.invoke(pipeline.clj:**58)
at lamina.core.pipeline$start_**pipeline.invoke(pipeline.clj:**73)
at aleph.http$wrap_ring_handler$**fn$reify__12815.invoke(http.**clj:36)
at aleph.http$wrap_ring_handler$**fn__12799.invoke(http.clj:36)
at aleph.http.netty$start_http_**server$fn$reify__12426$fn__**
12428.invoke(netty.clj:76)
at aleph.http.netty$start_http_**server$fn$reify__12426.run(**
netty.clj:76)
at lamina.core.pipeline$resume_**pipeline.invoke(pipeline.clj:**58)
at lamina.core.pipeline$start_**pipeline.invoke(pipeline.clj:**73)
at aleph.http.netty$start_http_**server$fn$reify__12426.invoke(**
netty.clj:76)
at aleph.http.netty$start_http_**server$fn__12410.invoke(netty.**clj:76)
at lamina.connections$server_**generator_$this$reify__12212$**
fn__12214.invoke(connections.**clj:331)
at lamina.connections$server_**generator_$this$reify__12212.**
run(connections.clj:331)
at lamina.core.pipeline$resume_**pipeline.invoke(pipeline.clj:**58)
at lamina.core.pipeline$start_**pipeline.invoke(pipeline.clj:**73)
at lamina.connections$server_**generator_$this$reify__12212.**
invoke(connections.clj:331)
at lamina.connections$server_**generator_$this__12196.invoke(**
connections.clj:331)
at lamina.connections$server_**generator_$this__12196.invoke(**
connections.clj:326)
at lamina.trace.instrument$**instrument$fn__7742$fn__7777.**
invoke(instrument.clj:192)
at lamina.trace.instrument$**instrument$fn__7742.invoke(**
instrument.clj:191)
at clojure.lang.AFn.**applyToHelper(AFn.java:161)
at clojure.lang.RestFn.applyTo(**RestFn.java:132)
at clojure.lang.AFunction$1.**doInvoke(AFunction.java:29)
at clojure.lang.RestFn.invoke(**RestFn.java:408)
at lamina.connections$server_**generator$fn$reify__12254.run(**
connections.clj:359)
at lamina.core.pipeline$resume_**pipeline.invoke(pipeline.clj:**58)
at lamina.core.pipeline$**subscribe$fn__4891.invoke(**pipeline.clj:113)
at lamina.core.result.**ResultChannel.success_BANG_(**result.clj:276)
at lamina.core.queue.EventQueue.**enqueue(queue.clj:305)
at lamina.core.graph.node.Node.**propagate(node.clj:260)
at lamina.core.graph.node.Node.**propagate(node.clj:316)
at lamina.core.channel.Channel.**enqueue(channel.clj:56)
at lamina.core$enqueue.invoke(**core.clj:106)
at aleph.http.core$collapse_**reads$fn__11289.invoke(core.**clj:229)
at lamina.core.graph.propagator$**bridge_join$fn__3774.invoke(**
propagator.clj:174)
at lamina.core.graph.propagator.**BridgePropagator.propagate(**
propagator.clj:57)
at lamina.core.graph.node.Node.**propagate(node.clj:273)
at lamina.core.channel.**SplicedChannel.enqueue(**channel.clj:103)
at lamina.core$enqueue.invoke(**core.clj:106)
at aleph.netty.server$server_**message_handler$reify__10916.**
handleUpstream(server.clj:115)
at org.jboss.netty.channel.**DefaultChannelPipeline.**sendUpstream(**
DefaultChannelPipeline.java:**565)
at org.jboss.netty.channel.**DefaultChannelPipeline$**
DefaultChannelHandlerContext.**sendUpstream(**
DefaultChannelPipeline.java:**793)
at org.jboss.netty.handler.codec.**http.HttpContentEncoder.**
messageReceived(**HttpContentEncoder.java:82)
at org.jboss.netty.channel.**SimpleChannelHandler.**handleUpstream(**
SimpleChannelHandler.java:95)
at org.jboss.netty.channel.**DefaultChannelPipeline.**sendUpstream(**
DefaultChannelPipeline.java:**565)
at org.jboss.netty.channel.**DefaultChannelPipeline$**
DefaultChannelHandlerContext.**sendUpstream(**
DefaultChannelPipeline.java:**793)
at org.jboss.netty.channel.**Channels.fireMessageReceived(**
Channels.java:296)
at org.jboss.netty.handler.codec.**frame.FrameDecoder.**
unfoldAndFireMessageReceived(**FrameDecoder.java:455)
at org.jboss.netty.handler.codec.**replay.ReplayingDecoder.**
callDecode(ReplayingDecoder.**java:538)
at org.jboss.netty.handler.codec.**replay.ReplayingDecoder.**
messageReceived(**ReplayingDecoder.java:437)
at org.jboss.netty.channel.**SimpleChannelUpstreamHandler.**
handleUpstream(**SimpleChannelUpstreamHandler.**java:75)
at org.jboss.netty.channel.**DefaultChannelPipeline.**sendUpstream(**
DefaultChannelPipeline.java:**565)
at org.jboss.netty.channel.**DefaultChannelPipeline$**
DefaultChannelHandlerContext.**sendUpstream(**
DefaultChannelPipeline.java:**793)
at aleph.netty.core$upstream_**traffic_handler$reify__10611.**
handleUpstream(core.clj:203)
at org.jboss.netty.channel.**DefaultChannelPipeline.**sendUpstream(**
DefaultChannelPipeline.java:**565)
at org.jboss.netty.channel.**DefaultChannelPipeline$**
DefaultChannelHandlerContext.**sendUpstream(**
DefaultChannelPipeline.java:**793)
at aleph.netty.core$connection_**handler$reify__10605.**
handleUpstream(core.clj:192)
at org.jboss.netty.channel.**DefaultChannelPipeline.**sendUpstream(**
DefaultChannelPipeline.java:**565)
at org.jboss.netty.channel.**DefaultChannelPipeline.**sendUpstream(**
DefaultChannelPipeline.java:**560)
at org.jboss.netty.channel.**Channels.fireMessageReceived(**
Channels.java:268)
at org.jboss.netty.channel.**Channels.fireMessageReceived(**
Channels.java:255)
at org.jboss.netty.channel.**socket.nio.NioWorker.read(**
NioWorker.java:84)
at org.jboss.netty.channel.**socket.nio.AbstractNioWorker.**
processSelectedKeys(**AbstractNioWorker.java:471)
at org.jboss.netty.channel.**socket.nio.AbstractNioWorker.**
run(AbstractNioWorker.java:**332)
at org.jboss.netty.channel.**socket.nio.NioWorker.run(**
NioWorker.java:35)
at org.jboss.netty.util.**ThreadRenamingRunnable.run(**
ThreadRenamingRunnable.java:**102)
at org.jboss.netty.util.internal.**DeadLockProofWorker$1.run(**
DeadLockProofWorker.java:42)
at java.util.concurrent.**ThreadPoolExecutor.runWorker(**
ThreadPoolExecutor.java:1110)
at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
ThreadPoolExecutor.java:603)
at aleph.netty.core$cached_**thread_executor$reify__10563$**
fn__10564.invoke(core.clj:75)
at clojure.lang.AFn.run(AFn.java:**24)
at java.lang.Thread.run(Thread.**java:722)
"0:0:0:0:0:0:1:4000"
at java.net.URL.<init>(URL.java:**617)
at java.net.URL.<init>(URL.java:**480)
at java.net.URL.<init>(URL.java:**429)
at org.openid4java.message.**AuthRequest.validate(**
AuthRequest.java:254)
... 105 more
"0:0:0:0:0:0:1:4000"
at java.lang.**NumberFormatException.**forInputString(**
NumberFormatException.java:65)
at java.lang.Integer.parseInt(**Integer.java:492)
at java.lang.Integer.parseInt(**Integer.java:527)
at java.net.URLStreamHandler.**parseURL(URLStreamHandler.**java:217)
at java.net.URL.<init>(URL.java:**612)
... 108 more
Chas Emerick
2017-01-05 11:06:16 UTC
Permalink
Marc, if you see this, I'm sure you've moved on at this point, but I
thought I'd leave a breadcrumb for others.

This turned out to be a friend bug, which AFAICT is fixed now:

https://github.com/cemerick/friend/issues/154

Apparently not many people operate in IPv6 networks, or this would have
been caught sooner, I suppose. I ran into it immediately when a system
update made IPv6 addresses the default result of name resolution.

- Chas
Post by Zach Tellman
Per the ring spec, :server-name is "The resolved server name, or the
server IP address". I suppose if you interpret that to mean "prefer a
resolved name to an IP address", I'm not perfectly compliant. I think I'll
fix that, but it seems clear that anything consuming :server-name should be
able to handle IPv6 addresses. And w.r.t. middleware, I don't see any
reason Aleph + wrap-ring-handler shouldn't play nicely.
Zach
Post by Marc Haemmerle
As far as I get it, it's not the issue, but nonetheless thanks a lot for
the effort!
I have an appointment now, but it seems like :server-name in the ring
request get's set to the IPv6 address of the machine running the server.
jetty/ring
{:ssl-client-cert nil, :remote-addr 0:0:0:0:0:0:0:1, :scheme :http,
:query-params {}, :session {}, :cemerick.friend/auth-config {:allow-anon?
true, :default-landing-uri /, :login-uri /login, :credential-fn
:workflows [#<openid$workflow$fn__15408
#'cemerick.friend/default-unauthorized-handler}, :form-params {identifier
https://www.google.com/accounts/o8/id}, :request-method :post,
:query-string nil, :content-type application/x-www-form-urlencoded,
:cookies {ring-session {:value 4691f4b6-11a0-4c2b-a704-07a337e640ed}}, :uri
/openid, *:server-name localhost*, :params {:identifier
https://www.google.com/accounts/o8/id}, :headers {user-agent Mozilla/5.0
(Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko)
Chrome/23.0.1271.101 Safari/537.11, cookie
ring-session=4691f4b6-11a0-4c2b-a704-07a337e640ed, origin
http://localhost:4000, accept-charset ISO-8859-1,utf-8;q=0.7,*;q=0.3,
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
host localhost:4000, referer http://localhost:4000/login, content-type
application/x-www-form-urlencoded, cache-control max-age=0, accept-encoding
gzip,deflate,sdch, content-length 60, accept-language en-US,en;q=0.8,
connection keep-alive}, :content-length 60, :server-port 4000,
:character-encoding nil, :body #<HttpInput
aleph
{:remote-addr 0:0:0:0:0:0:0:1, :scheme :http, :query-params {}, :session
{}, :cemerick.friend/auth-config {:allow-anon? true, :default-landing-uri
/, :login-uri /login, :credential-fn #<core$constantly$fn__3932
[#<openid$workflow$fn__15402
#'cemerick.friend/default-unauthorized-handler}, :form-params {identifier
https://www.google.com/accounts/o8/id}, :request-method :post,
:query-string nil, :content-type application/x-www-form-urlencoded,
:cookies {ring-session {:value d710f9ed-2bdb-4172-bcb9-84006ca70e28}}, :uri
/openid, *:server-name 0:0:0:0:0:0:0:1*, :params {:identifier
https://www.google.com/accounts/o8/id}, :headers {user-agent Mozilla/5.0
(Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko)
Chrome/23.0.1271.101 Safari/537.11, cookie
ring-session=d710f9ed-2bdb-4172-bcb9-84006ca70e28, origin
http://localhost:4000, accept-charset ISO-8859-1,utf-8;q=0.7,*;q=0.3,
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
host localhost:4000, referer http://localhost:4000/login, content-type
application/x-www-form-urlencoded, cache-control max-age=0, accept-encoding
gzip,deflate,sdch, content-length 60, accept-language en-US,en;q=0.8,
connection keep-alive}, :content-length 60, :aleph.http/channel << 
 >>,
:server-port 4000, :character-encoding nil, :body
#<ChannelBufferInputStream
From a look at the javadoc of java.net.URL and the source of
AuthRequest, it looks like the literal IPv6 address in the
"openid.return_to" parameter needs to be wrapped in [] as per RFC 2732. I
assume that's getting generated automatically. Sorry if that's not helpful.
Post by Marc Haemmerle
If you look at the end of the stacktrace you'll see that Aleph returns
the IP6 localhost and apparently openid4java chokes on this. The normal
Jetty ring adapter works fine with it so I've wanted to ask you first for
any ideas before I patch the friend library...
FYI: *friend* expects some of the compojure.handler/site middlewares
to be present - just in case you'd know if one of them isn't playing nicely
with Aleph.
2013-01-10 16:08:33,833 ERROR lamina.trace.probe: error on inactive
probe: http-server:error
org.openid4java.message.MessageException: 0x300: Error verifying
return URL in auth request.
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:257)
at org.openid4java.message.AuthRequest.createAuthRequest(
AuthRequest.java:101)
at org.openid4java.consumer.ConsumerManager.authenticate(
ConsumerManager.java:1071)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at cemerick.friend.openid$handle_init.invoke(openid.clj:49)
at cemerick.friend.openid$workflow$fn__15466.invoke(openid.clj:112)
at cemerick.friend$authenticate_STAR_$fn__14998.invoke(friend.clj:174)
at clojure.core$map$fn__4087.invoke(core.clj:2432)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:473)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$filter$fn__4106.invoke(core.clj:2470)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.LazySeq.first(LazySeq.java:82)
at clojure.lang.RT.first(RT.java:566)
at clojure.core$first.invoke(core.clj:55)
at cemerick.friend$authenticate_STAR_.invoke(friend.clj:174)
at cemerick.friend$authenticate$fn__15007.invoke(friend.clj:205)
at skypeclj.logger$wrap_bounce_favicon$fn__15510.invoke(logger.clj:86)
at ring.middleware.keyword_params$wrap_keyword_params$fn_
_13594.invoke(keyword_params.clj:27)
at ring.middleware.nested_params$wrap_nested_params$fn__13636.
invoke(nested_params.clj:65)
at ring.middleware.params$wrap_params$fn__13563.invoke(params.clj:55)
at ring.middleware.multipart_params$wrap_multipart_params$
fn__13667.invoke(multipart_params.clj:103)
at ring.middleware.flash$wrap_flash$fn__14254.invoke(flash.clj:14)
at ring.middleware.session$wrap_session$fn__14240.invoke(
session.clj:43)
at ring.middleware.cookies$wrap_cookies$fn__14152.invoke(
cookies.clj:160)
at aleph.http$wrap_ring_handler$fn$reify__12815$fn__12818.
invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn$reify__12815.run(http.clj:36)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http$wrap_ring_handler$fn$reify__12815.invoke(http.clj:36)
at aleph.http$wrap_ring_handler$fn__12799.invoke(http.clj:36)
at aleph.http.netty$start_http_server$fn$reify__12426$fn__
12428.invoke(netty.clj:76)
at aleph.http.netty$start_http_server$fn$reify__12426.run(netty.clj:76)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at aleph.http.netty$start_http_server$fn$reify__12426.invoke(
netty.clj:76)
at aleph.http.netty$start_http_server$fn__12410.invoke(netty.clj:76)
at lamina.connections$server_generator_$this$reify__12212$
fn__12214.invoke(connections.clj:331)
at lamina.connections$server_generator_$this$reify__12212.
run(connections.clj:331)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$start_pipeline.invoke(pipeline.clj:73)
at lamina.connections$server_generator_$this$reify__12212.
invoke(connections.clj:331)
at lamina.connections$server_generator_$this__12196.invoke(
connections.clj:331)
at lamina.connections$server_generator_$this__12196.invoke(
connections.clj:326)
at lamina.trace.instrument$instrument$fn__7742$fn__7777.
invoke(instrument.clj:192)
at lamina.trace.instrument$instrument$fn__7742.invoke(
instrument.clj:191)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at lamina.connections$server_generator$fn$reify__12254.run(
connections.clj:359)
at lamina.core.pipeline$resume_pipeline.invoke(pipeline.clj:58)
at lamina.core.pipeline$subscribe$fn__4891.invoke(pipeline.clj:113)
at lamina.core.result.ResultChannel.success_BANG_(result.clj:276)
at lamina.core.queue.EventQueue.enqueue(queue.clj:305)
at lamina.core.graph.node.Node.propagate(node.clj:260)
at lamina.core.graph.node.Node.propagate(node.clj:316)
at lamina.core.channel.Channel.enqueue(channel.clj:56)
at lamina.core$enqueue.invoke(core.clj:106)
at aleph.http.core$collapse_reads$fn__11289.invoke(core.clj:229)
at lamina.core.graph.propagator$bridge_join$fn__3774.invoke(
propagator.clj:174)
at lamina.core.graph.propagator.BridgePropagator.propagate(
propagator.clj:57)
at lamina.core.graph.node.Node.propagate(node.clj:273)
at lamina.core.channel.SplicedChannel.enqueue(channel.clj:103)
at lamina.core$enqueue.invoke(core.clj:106)
at aleph.netty.server$server_message_handler$reify__10916.
handleUpstream(server.clj:115)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(
DefaultChannelPipeline.java:565)
at org.jboss.netty.channel.DefaultChannelPipeline$
793)
at org.jboss.netty.handler.codec.http.HttpContentEncoder.
messageReceived(HttpContentEncoder.java:82)
at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(
SimpleChannelHandler.java:95)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(
DefaultChannelPipeline.java:565)
at org.jboss.netty.channel.DefaultChannelPipeline$
793)
at org.jboss.netty.channel.Channels.fireMessageReceived(
Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.
unfoldAndFireMessageReceived(FrameDecoder.java:455)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.
callDecode(ReplayingDecoder.java:538)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.
messageReceived(ReplayingDecoder.java:437)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(
SimpleChannelUpstreamHandler.java:75)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(
DefaultChannelPipeline.java:565)
at org.jboss.netty.channel.DefaultChannelPipeline$
793)
at aleph.netty.core$upstream_traffic_handler$reify__10611.
handleUpstream(core.clj:203)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(
DefaultChannelPipeline.java:565)
at org.jboss.netty.channel.DefaultChannelPipeline$
793)
at aleph.netty.core$connection_handler$reify__10605.
handleUpstream(core.clj:192)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(
DefaultChannelPipeline.java:565)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(
DefaultChannelPipeline.java:560)
at org.jboss.netty.channel.Channels.fireMessageReceived(
Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(
Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.
processSelectedKeys(AbstractNioWorker.java:471)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.
run(AbstractNioWorker.java:332)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at org.jboss.netty.util.ThreadRenamingRunnable.run(
ThreadRenamingRunnable.java:102)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(
DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:603)
at aleph.netty.core$cached_thread_executor$reify__10563$
fn__10564.invoke(core.clj:75)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
"0:0:0:0:0:0:1:4000"
at java.net.URL.<init>(URL.java:617)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at org.openid4java.message.AuthRequest.validate(AuthRequest.java:254)
... 105 more
"0:0:0:0:0:0:1:4000"
at java.lang.NumberFormatException.forInputString(
NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:217)
at java.net.URL.<init>(URL.java:612)
... 108 more
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aleph-lib+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...