[OpenAFS-devel] Re: [OpenAFS] Re: "unable to authenticate to AFS" error- linux distribution, specific?

Douglas E. Engert deengert@anl.gov
Fri, 19 Nov 2004 16:23:25 -0600


Jim Rees wrote:

> We don't need to pin down why the code isn't working.  It's wrong to
> reference an arg that hasn't been passed[1].  How it fails is not important.
> 

Yes and no. Are there other similiar errors in other calls to ubik routines? It
looks like all the ubik code was setup to handle p1-p16. So why does authclient.c
define its own kawrap_ubik_CallIter with only p1-p8, and then call ubik_CallIter
with only p1-p8? (It even has a comment that some are spares. It could at least
add p9-p16 as dummy? (Note it also use void * rather then long. This could come
back to bit something too.)

Looks like the only other places ubik_callIter is called are in
kauth/admin_tools.c and libadmin/kas/afs_kasAdmin.c
The both use only p1-p8.

I suggest these these be expanded to pass 0 as p9-p16 in afs_kasAdmin.c and
authclient.c  at least for now.


> Moving the needlock arg earlier just paints over this one symptom.  It does
> not fix the problem.

I agree it just paint ovet the problem.

> 
> I expect the best solution here is to switch to varargs.  Another possible
> solution would be to use an argument vector, but that means changing the
> function prototype.
>

The problem is there is no function protptype in one module,
and the other two have:

extern int ubik_CallIter();
afs_uint32 ubik_CallIter();

> [1] K&R sec 4.3.  "It is generally safe to deal with a variable number of
> arguments if the called function doesn't use an argument which was not
> actually supplied."
> 
> 
> 

-- 

  Douglas E. Engert  <DEEngert@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444