[OpenAFS-devel] JAFS make error
Marcus Watts
mdw@spam.ifs.umich.edu
Sat, 09 Jun 2007 03:57:40 -0400
kane96@gmx.de writes:
> Date: Fri, 08 Jun 2007 13:42:07 +0200
> To: OpenAFS-devel@openafs.org
> From: kane96@gmx.de
> Subject: Re: [OpenAFS-devel] JAFS make error
>
> > I used "--disable-transarc-paths" and JAFS can find the local-cell-name
> > now.
> > But there is the next error when creating token t0 in testAFS.java:
> >
> > Ubik Call failedAFSException: Error Code: 180498; Message: Ubik Call
> > failed
> >
> > at org.openafs.jafs.Token.getToken(Native Method)
> > at org.openafs.jafs.Token.login(Token.java:252)
> > at org.openafs.jafs.Token.<init>(Token.java:166)
> > at testAFS.main(testAFS.java:643)
> >
>
> I think the problem is that we use Kerberos V and not kaserver.
> Are there any implementations for authentification on Kerberos V for JAFS?
All the recent releases of openafs contain exactly the same copy of jafs,
and that copy of jafs requires kaserver.
You don't say what version of Kerberos V you are running. If you
were running MIT kerberos V, you could also build and run fakeka.
That won't get you a working version of jafs, but it will get you closer.
jafs uses afsclient_TokenGetNew from libclientadmin.a - which always
calls both GetAFSToken (which will work you run fakeka), and GetKASToken
(which will *not* work with fakeka.)
So, I'm working on an improved version of jafs. I plan to do these
three things:
/1/ make it work without kas.
/2/ make it work with kerberos 5 + rxkad.
/3/ make it work with kerberos 5 + rxk5.
I'm now discovering I also need to do a bit of
/4/ fix stupid error handling.
There are a lot of places both in the test utility and in
libjafs where the error behavior is to loop forever printing
error messages.
I have something that gets past /1/, but runs into assorted
problems after that. It didn't like not having /afs/.<cell> available,
the missing kas token caused other things to blow up, &etc.
I don't actually like the way that "Token" works at all. Passing in
cellname is ok. Passing in the user identity is ok, although passing in
an empty/null name to set noauth mode is interesting. Passing in a
password sucks. For an automated process, I'd also like to be able to
work with srvtabs, keytabs, getting a token from an already-authenticated
pag, or using an existing kerberos 5 credentials cache. I'm not at
all sure how a java programmer would expect to do these things.
-Marcus Watts