KRB5 API and Panther
    Brian 
    brianboy at apple.com
       
    Mon Jan 26 15:41:48 EST 2004
    
    
  
The KRB5 API on OSX 10.3 Panther
The call to get TGT
krb5_get_in_tkt_with_password(context, .....,..
   &my_creds, &ret_as_reply);
  Does not honor starttime/ lifetime/ renewtime settings done with the 
credentials option
ex:
krb5_creds           my_creds;
...
my_creds.times.starttime = now;
my_creds.times.endtime = now + (10*60) ;
  my_creds.times.renew_till =  now + (20*60) ;	
It works fine in Jaguar
we  belive the bug is in
   krb5int_populate_gic_opt   ( file gic_pwd.c)
if (options&KDC_OPT_FORWARDABLE)
         krb5_get_init_creds_opt_set_forwardable(opt, 1);
     else krb5_get_init_creds_opt_set_forwardable(opt, 0);
     if (options&KDC_OPT_PROXIABLE)
         krb5_get_init_creds_opt_set_proxiable(opt, 1);
it only sets the options for forwardable and proxiable but not for 
lifetime etc
A way to get around this is by using  ::
krb5_get_init_creds_password()  call
ex:
...
    krb5_get_init_creds_opt_set_tkt_life(&opt, 20*60);
    krb5_get_init_creds_opt_set_renew_life(&opt, 0);
    krb5_get_init_creds_opt_set_forwardable(&opt, 0);
    krb5_get_init_creds_opt_set_proxiable(&opt, 0);
    krb5_get_init_creds_opt_set_preauth_list(&opt,&PA_LIST,1);
   ...
   ec = krb5_get_init_creds_password(context,&my_creds, my_principal, 
password,
	NULL, NULL, 0, cserver, &opt);
...
Works fine.
Brian
    
    
More information about the krbdev
mailing list