Hi,

Bumping this thread up. Sorry for the late reply. Been very busy getting
Jakarta EE 9 out. Ballot if open till next Friday, so back into this issue.

I created 2 tickets regarding JASPIC and I need to open another one for the
issue discussed in this thread.

https://github.com/eclipse-ee4j/jakartaee-tck/issues/570
https://github.com/eclipse-ee4j/jakartaee-tck/issues/571

I agree we need to clarify this part, as it looks most likely like a TCK
bug.
Anyway, thanks for the thoughts.


Le jeu. 23 juil. 2020 à 16:18, Mark Thomas <ma...@apache.org> a écrit :

> Comments in line.
>
> On 22/07/2020 10:19, Jean-Louis MONTEIRO wrote:
> > Hi,
> >
> > Small update on the progress.
> > Passed: 52 and Failed: 9
> >
> > I had a lot of random passed/failed for quite a while and finally found
> > the reason yesterday.
>
> I took a look at running these myself for Tomcat. There is a lot of
> fiddly setup required. I may come back to this but for now I have other
> priorities.
>
> > I'd be interested in having some thoughts
> >
> > AuthenticatorBase uses by default CallbackHandlerImpl
> >
> > The CallbackHandlerImpl will create the GenericPrincipal for the subject
> > based on the supported callbacks (CallerPrincipalCallback
> > and GroupPrincipalCallback).
> >
> > The AuthenticatorBase will pull the GenericPrincipal from the subject
> > and do the register.
> >
> > Long story short, the TCK calls the CallbackHandlerImpl twice with the
> > CallerCallback and another time with CallerCallback + GroupCallback. We
> > end up having 2 GenericPrincipal in the subject, one with the name only
> > and another one with the name and roles.
> >
> > JASPIC
> > TCK
> https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/src/com/sun/ts/tests/jaspic/tssv/module/servlet/TSServerAuthModule.java#L371
> >
> > See
> https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java#L96
> >
> > Issue is that AuthenticatorBase pulls the first one available.
> > See
> https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/authenticator/AuthenticatorBase.java#L956
> >
> > It will randomly pull the GenericPrincipal with the name only or the
> > GenericPrincipal with the name and the roles.
>
> Nice find. That must have been a real pain to track down.
>
> I've been reading through the Jakarta Authentication specification (it
> should be essentially identical to the previous JASPIC spec).
>
> From 3.8.3.1
> <quote>
> ... handle a CallerPrincipalCallback using the clientSubject as argument
> to the callback. If more than one module of a context uses the
> CallbackHandler to handle this callback, the context is responsible for
> coordinating the calls such that the appropriate caller principal value
> is established.
> </quote>
>
> context here is referring to ServerAuthContext.
>
> I think, in this case, the ServerAuthContext is being provided by the
> TCK so my first impression is that this is a TCK bug.
>
> I think this is worth raising on the Jakarta Authentication mailing lists.
>
> > I did a fork in TomEE of the CallbackHandlerImpl to merge the
> > GenericPrincipal in the name is the same and switched the
> > CallbackHandlerImpl class in the BasicAuthenticator valve.
>
> Yes, that is the same solution I thought of. Rather than add the newly
> created GenericPrincipal to the Subject's private credentials, see if
> the new GenericPrincipal has the same name as an existing
> GenericPrincipal and if it does merge them.
>
> I'm not sure that would be safe to do in the general case though.
>
> Mark
>
>
> >
> > Hope it's more or less clear ;-)
> > Some thoughts would be very helpfup
> >
> >
> > Le ven. 17 juil. 2020 à 18:21, Mark Thomas <ma...@apache.org
> > <mailto:ma...@apache.org>> a écrit :
> >
> >     On 17/07/2020 16:56, Jean-Louis MONTEIRO wrote:
> >     > Hi,
> >     >
> >     > Following up on this thread.
> >     > Pretty old I know. Haven't seen more recent topics on JASPIC and
> >     Jakarta
> >     > EE TCK.
> >     >
> >     > I tried to invest some time in TomEE to run the JASPIC TCK which is
> >     > fully relying on Tomcat.
> >     > I have counted 68 tests under the package com.sun.ts.tests.jaspic
> >     >
> >     > The wiki says 100+ so dunno where I'm missing some.
> >     >
> >     > Long story short, after some time configuring the thing, I've got
> >     >
> >     > Passed: 38
> >     > Failed: 30
> >     >
> >     > Anyone looked at it already since Feb 2019?
> >
> >     I'm probably the most likely candidate and I haven't looked at it.
> >
> >     Mark
> >
> >
> >     >
> >     >
> >     > Le lun. 11 févr. 2019 à 21:34, Mark Thomas <ma...@apache.org
> >     <mailto:ma...@apache.org>
> >     > <mailto:ma...@apache.org <mailto:ma...@apache.org>>> a écrit :
> >     >
> >     >     All,
> >     >
> >     >     I've started to look at the Jakarta EE JASPIC TCK.
> >     >
> >     >     Again a nightly build so usual caveats apply.
> >     >
> >     >     Progress is being tracked here:
> >     >     https://cwiki.apache.org/confluence/display/TOMCAT/JASPIC+TCK
> >     >
> >     >     Hmm.
> >     >
> >     >     This TCK seems very different to the standalone TCKs for the
> >     other specs
> >     >     we implement.
> >     >     - Deployment is significantly more complex. Rather than just
> >     WARs there
> >     >       are some JARS that need to be extracted and rename from EARs.
> >     >     - It seems to need the RI up and running for the tests.
> >     >
> >     >
> >     >     I'm giving up on this for now. I may come back to it at some
> >     point but I
> >     >     think it is more likely that I won't.
> >     >
> >     >     Mark
> >     >
> >     >
> >
>   ---------------------------------------------------------------------
> >     >     To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> >     <mailto:dev-unsubscr...@tomcat.apache.org>
> >     >     <mailto:dev-unsubscr...@tomcat.apache.org
> >     <mailto:dev-unsubscr...@tomcat.apache.org>>
> >     >     For additional commands, e-mail: dev-h...@tomcat.apache.org
> >     <mailto:dev-h...@tomcat.apache.org>
> >     >     <mailto:dev-h...@tomcat.apache.org
> >     <mailto:dev-h...@tomcat.apache.org>>
> >     >
> >     >
> >     >
> >     > --
> >     > Jean-Louis
> >
> >
> >     ---------------------------------------------------------------------
> >     To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> >     <mailto:dev-unsubscr...@tomcat.apache.org>
> >     For additional commands, e-mail: dev-h...@tomcat.apache.org
> >     <mailto:dev-h...@tomcat.apache.org>
> >
> >
> >
> > --
> > Jean-Louis
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

-- 
Jean-Louis

Reply via email to