Jim Rees wrote:
For the past year or more, Matt Benjamin and Marcus Watts have been working
hard on developing rxk5, a new security mechanism for OpenAFS.  It uses
kerberos 5 tickets and encryption algorithms straight, and includes support
for all standard kerberos 5 encryption types including AES256.

The code is currently on a branch tagged rxk5-devel-1_5_x.  Our plan is to
merge it to the openafs-devel-1_5_x branch, from which it will eventually
make its way into an official OpenAFS release at some time in the future.

Please test this code.  Even if you don't plan to use any of the rxk5
features, please build it and report back here.

Trying to build with the Solaris 10 version of Kerberos. This is attractive,
as it is a vendor version, and Sun has recently released the krb5.h.

Problem #1:

The Solaris 10 /usr/include/kerberos5/krb5.h has:

   483  #ifndef _KERNEL
   484  #define krb5_x(ptr,args) ((ptr)?((*(ptr)) args):(abort(),1))
   485  #define krb5_xc(ptr,args) ((ptr)?((*(ptr)) args):(abort(),(char*)0))
   486  #else
   487  #define krb5_x(ptr,args) ((*(ptr)) args)
   488  #define krb5_xc(ptr,args) ((*(ptr)) args)
   489  #endif

1276 #define krb5_cc_get_principal(context, cache, principal)
          krb5_x((cache)-ops->get_princ,(context, cache, principal))

It looks like the intent is to abort if a function pointer is NULL.

AFS util/assert.h has:
 #define assert(ex) do{if (!(ex)) AssertionFailed(__FILE__, __LINE__);}while(0)

Some how the pre processor is converting the abort to the assert and producing
code in ptuser.c around line 257 like: (wrapped in e-mail to make more readable)

 what = "krb5_cc_get_principal";
 code =  ( ( ( cc ) -> ops -> get_princ ) ? ( ( * ( ( cc ) -> ops -> get_princ 
) )
     ( k5context , cc , & in_creds -> client ) ) : ( do { if ( ! ( 0 ))
      AssertionFailed ( 
"/afs/anl.gov/appl/OpenAFS-dev3/build/1.5.x-rxk5/@sys/src/ptserver/ptuser.c"
       , 258 ) ; } while ( 0 ) , 1 ) );
  if(code) goto Failed;

The compiler Sun compiler (/opt/SUNWspro/bin/cc -V ,cc: Sun C 5.8 Patch 
121015-05 2007/08/01)
does not like the do:

"/afs/anl.gov/appl/OpenAFS-dev3/build/1.5.x-rxk5/@sys/src/ptserver/ptuser.c", 
line 257: syntax error before or at: do
"/afs/anl.gov/appl/OpenAFS-dev3/build/1.5.x-rxk5/@sys/src/ptserver/ptuser.c", 
line 257: syntax error before or at: ,



The problem first appears the JUAFS compiles of ptserver/ptuser.c
and  auth/rxk5_utilafs.c

A hack was applied to get the compile to proceed.

Problem #2:

Solaris does not have add_error_table or remove_error_table.
libafsrpc.so.1.1 references these, found when trying to link
the linktest in shlibafsrpc





OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel



--

 Douglas E. Engert  <[EMAIL PROTECTED]>
 Argonne National Laboratory
 9700 South Cass Avenue
 Argonne, Illinois  60439
 (630) 252-5444
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to