KRB5 API and Panther
Alexandra Ellwood
lxs at MIT.EDU
Mon Jan 26 15:47:39 EST 2004
I believe that krb5_get_in_tkt_with_password is the old, deprecated
API. As you observed, there is a new API
krb5_get_init_creds_password which replaces it.
>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
--lxs
--
-----------------------------------------------------------------------------
Alexandra Ellwood <lxs at mit.edu>
MIT Information Systems http://mit.edu/lxs/www/
-----------------------------------------------------------------------------
--
More information about the krbdev
mailing list