On Mon, 2008-09-29 at 12:38 -0400, Peter Shoults wrote:
...
> >> usr/src/lib/gss_mechs/mech_krb5/krb5/krb/chk_trans.c
> >>
> >> What is that on line 360 of your modified code?
> >>     
> >
> > CTRL-l. Linefeed (I think).
> >   
> Weird - should it be there?

Don't think it causes any problems. May affect how its printed. MIT has
it so I don't see a reason to differ here.

...
> >>   Actually,
> >> it looks like a lot of the returns in this routine
> >> do not call krb5_free_error(context,krberror) and also
> >> krb5_xfree(clearresult.data).
> >>     
> >
> > It looks mostly correct to me. I believe I see a possible mem-leak.
> > Fixed.
> >   
> Good - letting MIT know about that?

Yes, I plan on giving back any useful mods to MIT.

> >   
> >>  
> >> --------------
> >>
> >> usr/src/lib/gss_mechs/mech_krb5/krb5/krb/copy_addrs.c
> >>
> >> Should there be a /* Solaris kerberos */ comment
> >> above line 45 and possibly a Sun Copyright?
> >>     
> >
> > The only difference I see between MIT's copy_addrs.c and our
> > copy_addrs.c is on line 32 - and its just a lint comment.
> > Can you elaborate?
> >
> >   
> It looked like in other files, the memcpy was the code that was solaris 
> specific. 
> See usr/src/lib/gss_mechs/mech_krb5/krb5/krb/auth_con.c lines 26 & 40.
> So, my question is if those are Solaris specific in auth_con.c, why not 
> here.

I can add a "/* Solaris Kerberos */" comment to the lint comment but we
haven't traditionally commented lint comments with "/* Solaris Kerberos
*/" comments. Perhaps we should? MIT code has no lint comments so its
pretty clear that any lint comments are Solaris specific.


...
> Thanks
> >> Looks like kadm5_chpass_principal_util is supposed to be
> >> call to krb5_change_password.
> >>     
> Our code:
> 
>  349       if (strcmp(pw0.data, pw1.data) != 0) {
>  350          ret = KRB5_LIBOS_BADPWDMATCH;
>  351          sprintf(banner, "%s.  Please try again.", error_message(ret));
>  352       } else if (pw0.length == 0) {
>  353          ret = KRB5_CHPW_PWDNULL;
>  354          sprintf(banner, "%s.  Please try again.", error_message(ret));
>  355       } else {
>  356          int result_code;
>  357          krb5_data result_string;
>  358 
>  359          result_code = kadm5_chpass_principal_util(server_handle, client,
>  360                                                 pw0.data,
>  361                                                 NULL /* don't need pw 
> back */,
>  362                                                 banner,
>  363                                                 sizeof(banner));
>  364 
>  365          /* the change succeeded.  go on */
>  
> MIT's 1.6.3 gic_pwd.c file:
> 
> 
> 
>       if (strcmp(pw0.data, pw1.data) != 0) {
>          ret = KRB5_LIBOS_BADPWDMATCH;
>          sprintf(banner, "%s.  Please try again.", error_message(ret));
>       } else if (pw0.length == 0) {
>          ret = KRB5_CHPW_PWDNULL;
>          sprintf(banner, "%s.  Please try again.", error_message(ret));
>       } else {
>          int result_code;
>          krb5_data code_string;
>          krb5_data result_string;
> 
>          if ((ret = krb5_change_password(context, &chpw_creds, pw0array,
>                                          &result_code, &code_string,
>                                          &result_string)))
>             goto cleanup;
> 
>          /* the change succeeded.  go on */
> 
> 
> Seems like we did not resync right?  Maybe?

Ah, good catch. Looks like it should have been synced.

Fixed.

Thanks,
-Mark


Reply via email to