[OpenAFS] OpenAFS 1.8.X token problems

Mark Vitale mvitale@sinenomine.net
Thu, 23 May 2019 00:00:01 +0000


Florian,

> On May 22, 2019, at 5:39 PM, Mark Vitale <mvitale@sinenomine.net> wrote:
>=20
> On May 22, 2019, at 4:56 PM, Mark Vitale <mvitale@sinenomine.net> wrote:
>>=20
>>=20
>> Before we go any further with that, I would like you to verify that all =
the OpenAFS components are the same version.  Please provide the output fro=
m the following commands:
>> - rxdebug <client> 7001 -version
>> - strings $(which aklog) | grep OpenAFS
>> - strings $(which tokens) | grep OpenAFS
>=20
> I forgot to ask for one other thing.  After you have issued aklog and ost=
ensibly have a token, please provide the output for the following command:
>=20
> - cat /proc/fs/openafs/unixusers

I no longer need any of these; I've duplicated the problem and identified t=
he root cause.
The OpenAFS 1.8.x token interface fails for cell names with three (3) lette=
rs.  This is because
the VIOC_GETTOK2 pioctl may take either a cell name or an integer number.  =
The code unfortunately
assumes that any input with a length of 4 is an integer number, and follows=
 a different code path. =20
A cell name of three letters + a terminating nul fools this code into follo=
wing the integer input
path.  It ends up trying to find the 'ifm' =3D x69606d00 =3D 1767320256th t=
oken for this user.  Of course
this is nonsensical; the code's safety limits cause a failure long before t=
his is reached.=20

I've begun working on a fix and will notify you when it's available on gerr=
it.openafs.org for review.

Regards,
--
Mark Vitale
mvitale@sinenomine.net