Return-Path: X-Original-To: apmail-cxf-dev-archive@www.apache.org Delivered-To: apmail-cxf-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 833B7EECD for ; Wed, 20 Feb 2013 13:42:13 +0000 (UTC) Received: (qmail 97706 invoked by uid 500); 20 Feb 2013 13:42:13 -0000 Delivered-To: apmail-cxf-dev-archive@cxf.apache.org Received: (qmail 97625 invoked by uid 500); 20 Feb 2013 13:42:12 -0000 Mailing-List: contact dev-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list dev@cxf.apache.org Received: (qmail 97603 invoked by uid 99); 20 Feb 2013 13:42:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Feb 2013 13:42:11 +0000 X-ASF-Spam-Status: No, hits=2.9 required=5.0 tests=HTML_MESSAGE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [64.85.173.253] (HELO server.dankulp.com) (64.85.173.253) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Feb 2013 13:42:04 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id 491D01835E8; Wed, 20 Feb 2013 08:41:43 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter-dev@cxf.apache.org.uc3WLJPl88 Received: from macbook.house.dankulp.com (c-24-91-72-253.hsd1.ma.comcast.net [24.91.72.253]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id F30A61809D5; Wed, 20 Feb 2013 08:41:34 -0500 (EST) Content-Type: multipart/alternative; boundary="Apple-Mail=_0580B0D1-2300-4F44-84CF-60581B3637CC" Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) Subject: Re: svn commit: r1448003 - /cxf/trunk/rt/transports/http/pom.xml From: Daniel Kulp In-Reply-To: <9CCC46D5-BBEC-403E-9667-C7382703FFAE@gmail.com> Date: Wed, 20 Feb 2013 08:41:34 -0500 Cc: dev@cxf.apache.org Message-Id: References: <20130220045843.1FB1D23889ED@eris.apache.org> <2460AD07-0ED1-4C08-BC97-0FF04E43287B@apache.org> <9CCC46D5-BBEC-403E-9667-C7382703FFAE@gmail.com> To: Freeman Fang X-Mailer: Apple Mail (2.1499) X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, HTML_MESSAGE,URIBL_BLOCKED shortcircuit=no autolearn=unavailable version=3.3.2 --Apple-Mail=_0580B0D1-2300-4F44-84CF-60581B3637CC Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 This is a bug in the jetty JAAS bundles then, not CXF. Get a bug = logged there. We should not be importing things we don't actually use. = We should be importing the Principal and SecurityContext things and = such, but not any specific implementations. This still needs to be reverted. Dan On Feb 20, 2013, at 7:56 AM, Freeman Fang = wrote: > Hi Dan, >=20 > In AbstractHTTPDestination, we have code like >=20 > inMessage.put(SecurityContext.class, new SecurityContext() { > public Principal getUserPrincipal() { > return pp; > } > public boolean isUserInRole(String role) { > return req.isUserInRole(role); > } > }); >=20 > This can cause exception if we enable = org.eclipse.jetty.plus.jaas.JAASLoginService in Karaf, something like = have=20 >=20 > > > = > karaf > karaf > > > = org.apache.karaf.jaas.boot.principal.RolePrincipal > > > > > > in $KARAF_HOME/etc/jetty.xml >=20 >=20 > the exception could be >=20 > Caused by: java.lang.RuntimeException: = java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASRole = not found by org.apache.cxf.cxf-rt-transports-http [178] > at = org.eclipse.jetty.plus.jaas.JAASLoginService.getGroups(JAASLoginService.ja= va:327) > at = org.eclipse.jetty.plus.jaas.JAASLoginService.login(JAASLoginService.java:2= 44) > at = org.eclipse.jetty.security.authentication.BasicAuthenticator.validateReque= st(BasicAuthenticator.java:88) > at = org.eclipse.jetty.security.authentication.DeferredAuthentication.authentic= ate(DeferredAuthentication.java:108) > at = org.eclipse.jetty.server.Request.getUserPrincipal(Request.java:1251) > at = org.apache.cxf.transport.http.AbstractHTTPDestination.setupMessage(Abstrac= tHTTPDestination.java:332)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0= .fuse-71-SNAPSHOT] > at = org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPD= estination.java:219)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-= 71-SNAPSHOT] > at = org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servl= etController.java:213)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fus= e-71-SNAPSHOT] > at = org.apache.cxf.transport.servlet.ServletController.invoke(ServletControlle= r.java:154)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-SNAPSH= OT] > at = org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringSe= rvlet.java:130)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-SN= APSHOT] > at = org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstrac= tHTTPServlet.java:221)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fus= e-71-SNAPSHOT] > at = org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPSe= rvlet.java:141)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-SN= APSHOT] > at = javax.servlet.http.HttpServlet.service(HttpServlet.java:713)[95:org.apache= .geronimo.specs.geronimo-servlet_2.5_spec:1.1.2] > at = org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPS= ervlet.java:197)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-S= NAPSHOT] > ... 32 more > Caused by: java.lang.ClassNotFoundException: = org.eclipse.jetty.plus.jaas.JAASRole not found by = org.apache.cxf.cxf-rt-transports-http [178] > at = org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegatio= n(BundleWiringImpl.java:1499) > at = org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.ja= va:75) > at = org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(Bu= ndleWiringImpl.java:1882) > at = java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_07] > at = org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1814) > at = org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:929) > at = org.ops4j.pax.swissbox.core.BundleClassLoader.findClass(BundleClassLoader.= java:176) > at = org.ops4j.pax.swissbox.core.BundleClassLoader.loadClass(BundleClassLoader.= java:194) > at = java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_07] > at = org.eclipse.jetty.plus.jaas.JAASLoginService.getGroups(JAASLoginService.ja= va:315) > ... 45 more >=20 >=20 >=20 > and=20 >=20 >=20 > Caused by: java.lang.RuntimeException: = java.lang.ClassNotFoundException: = org.apache.karaf.jaas.boot.principal.RolePrincipal not found by = org.apache.cxf.cxf-rt-transports-http [178] > at = org.eclipse.jetty.plus.jaas.JAASLoginService.getGroups(JAASLoginService.ja= va:327) > at = org.eclipse.jetty.plus.jaas.JAASLoginService.login(JAASLoginService.java:2= 44) > at = org.eclipse.jetty.security.authentication.BasicAuthenticator.validateReque= st(BasicAuthenticator.java:88) > at = org.eclipse.jetty.security.authentication.DeferredAuthentication.authentic= ate(DeferredAuthentication.java:108) > at = org.eclipse.jetty.server.Request.getUserPrincipal(Request.java:1251) > at = org.apache.cxf.transport.http.AbstractHTTPDestination.setupMessage(Abstrac= tHTTPDestination.java:332)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0= .fuse-71-047] > at = org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPD= estination.java:219)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-= 71-047] > at = org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servl= etController.java:213)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fus= e-71-047] > at = org.apache.cxf.transport.servlet.ServletController.invoke(ServletControlle= r.java:154)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-047] > at = org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringSe= rvlet.java:130)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-04= 7] > at = org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstrac= tHTTPServlet.java:221)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fus= e-71-047] > at = org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPSe= rvlet.java:141)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-04= 7] > at = javax.servlet.http.HttpServlet.service(HttpServlet.java:713)[95:org.apache= .geronimo.specs.geronimo-servlet_2.5_spec:1.1.2] > at = org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPS= ervlet.java:197)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-0= 47] > ... 32 more > Caused by: java.lang.ClassNotFoundException: = org.apache.karaf.jaas.boot.principal.RolePrincipal not found by = org.apache.cxf.cxf-rt-transports-http [178] > at = org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegatio= n(BundleWiringImpl.java:1499) > at = org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.ja= va:75) > at = org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(Bu= ndleWiringImpl.java:1882) > at = java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_07] > at = org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1814) > at = org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:929) > at = org.ops4j.pax.swissbox.core.BundleClassLoader.findClass(BundleClassLoader.= java:176) > at = org.ops4j.pax.swissbox.core.BundleClassLoader.loadClass(BundleClassLoader.= java:194) > at = java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_07] > at = org.eclipse.jetty.plus.jaas.JAASLoginService.getGroups(JAASLoginService.ja= va:315) > ... 45 more >=20 > The = org.eclipse.jetty.plus.jaas.JAASLoginService.getGroups(JAASLoginService.ja= va:315) is > Class load_class =3D = Thread.currentThread().getContextClassLoader().loadClass(roleClassName); >=20 > And in the cxf 2.5.x all-in-one bundle, we have imported = org.eclipse.jetty.plus.jaas package. > =EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D= =EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D > Freeman(Yue) Fang >=20 > Red Hat, Inc.=20 > FuseSource is now part of Red Hat > Web: http://fusesource.com | http://www.redhat.com/ > Twitter: freemanfang > Blog: http://freemanfang.blogspot.com > http://blog.sina.com.cn/u/1473905042 > weibo: @Freeman=E5=B0=8F=E5=B1=8B >=20 > On 2013-2-20, at =E4=B8=8B=E5=8D=888:00, Daniel Kulp wrote: >=20 >>=20 >> Freeman, >>=20 >> Can I ask why this is necessary? The HTTP module does not reference = any of these classes. Thus, it shouldn't be importing them. What are = the symptoms/stack traces? This sounds like more of a problem = someplace else. >>=20 >> I'm -1 on this commit until we can understand why it's needed. >>=20 >> Dan >>=20 >>=20 >> On Feb 19, 2013, at 11:58 PM, ffang@apache.org wrote: >>=20 >>> Author: ffang >>> Date: Wed Feb 20 04:58:42 2013 >>> New Revision: 1448003 >>>=20 >>> URL: http://svn.apache.org/r1448003 >>> Log: >>> [CXF-4840]add more optional Import-Package for = cxf-rt-transports-http module >>>=20 >>> Modified: >>> cxf/trunk/rt/transports/http/pom.xml >>>=20 >>> Modified: cxf/trunk/rt/transports/http/pom.xml >>> URL: = http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/pom.xml?rev=3D14= 48003&r1=3D1448002&r2=3D1448003&view=3Ddiff >>> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>> --- cxf/trunk/rt/transports/http/pom.xml (original) >>> +++ cxf/trunk/rt/transports/http/pom.xml Wed Feb 20 04:58:42 2013 >>> @@ -36,7 +36,9 @@ >>> = org.apache.cxf.transport.http.osgi.HTTPTransportActi= vator >>> >>> = javax.servlet*;version=3D"${cxf.osgi.javax.servlet.version}", >>> - org.apache.aries*;version=3D"${cxf.aries.version.range}" >>> + org.apache.aries*;version=3D"${cxf.aries.version.range}",= >>> + = org.apache.karaf.jaas.boot.principal;resolution:=3Doptional, >>> + org.eclipse.jetty.plus.jaas;resolution:=3Doptional >>> >>> >>> '=3DMETA-INF.cxf.osgi', >>>=20 >>>=20 >>=20 >> --=20 >> Daniel Kulp >> dkulp@apache.org - http://dankulp.com/blog >> Talend Community Coder - http://coders.talend.com >>=20 >=20 --=20 Daniel Kulp dkulp@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com --Apple-Mail=_0580B0D1-2300-4F44-84CF-60581B3637CC--