Will Fiveash wrote:
> On Fri, Apr 03, 2009 at 12:10:16AM -0600, Shawn Emery wrote:
>   
>> Will Fiveash wrote:
>>     
>>> On Tue, Mar 17, 2009 at 02:41:36PM -0600, Shawn Emery wrote:
>>>   
>>>       
>>>> Could someone please code review the following changes, as these changes 
>>>> are highly requested?
>>>>
>>>> Shawn.
>>>> --
>>>> Shawn M Emery wrote:
>>>>     
>>>>         
>>>>> Requesting a code review for the following fixes for:
>>>>>
>>>>> 6787343 kclient's site lookups fail in certain network environments
>>>>> 6692646 kclient should output errors to stderr
>>>>>
>>>>> http://cr.opensolaris.org/~semery/6787343
>>>>>       
>>>>>           
>>>   
>>>       
>> Sorry for the slow response, I've been out of the office for several days.  
>> Comments in-line:
>>
>>     
>>> 33 function cleanup {
>>>   34         integer ret=$1
>>>   35   36         [[ -z $TMP_FILE ]] && exit $ret
>>>   37         kdestroy -q 1> $TMP_FILE 2>&1
>>>   38   39         [[ -z $TMPDIR ]] && exit $ret
>>>   40         rm -r $TMPDIR > /dev/null 2>&1
>>>
>>> - I don't get this logic.  If TMP_FILE isn't set then TMPDIR won't get
>>>   removed?  Is this intended?
>>>   
>>>       
>> TMPDIR would not have been created since this is what mktemp uses in order 
>> to create TMP_FILE.
>>     
>
> - Here's what I see in kclient.sh:
>
> export TMPDIR="/var/run/kclient"
>
> mkdir $TMPDIR > /dev/null 2>&1
>
> TMP_FILE=$(mktemp -q -t kclient-tmpfile.XXXXXX)
> export KRB5_CONFIG=$(mktemp -q -t kclient-krb5conf.XXXXXX)
> export KRB5CCNAME=$(mktemp -q -t kclient-krb5ccache.XXXXXX) 
> new_keytab=$(mktemp -q -t kclient-krb5keytab.XXXXXX) 
>
> if [[ -z $TMP_FILE || -z $KRB5_CONFIG || -z $KRB5CCNAME || -z $new_keytab ]]
> then
>     printf "\n$(gettext "Can not create temporary file, exiting").\n" >&2
>     error_message
> fi
>
> - looks to me like TMPDIR is being created regardless of mktemp.  This
>   brings up several issues.  Why doesn't kclient exit in the case that
>   the /var/run/kclient dir doesn't exist and mkdir fails?  And if
>   

I've updated it to check mkdir fails and to remove the extra login in 
cleanup().

>   only one instance of kclient is supposed run at a time, why bother
>   with removing TMP_FILE, why not just do:
>
> kdestroy -q > /dev/null
> [[ -d $TMPDIR ]] && rm -r $TMPDIR > /dev/null 2>&1
>   

I will change the cases of initial error state to exit w/o using 
error_message(), which will remove the extra logic in cleanup() (i.e. by 
the time cleanup() is called TMPDIR must exist).

> - I say this because why log kdestroy output if the containing dir is
>   going to be removed right after, regardless of kdestroy's exist
>   status.
>   

I think this was originally made in the case that if you wanted to 
review the kclient log then you could just comment out the line to 
remove the file/directory.  The log file is normally removed by default 
to avoid file clutter, etc.

>>> 67 +        typeset -ui10 a b c d
>>>
>>> - Why -u for i10?  -u converts characters to uppercase but this
>>>   shouldn't be applicable to base 10.
>>>   
>>>       
>> ksh93 has a new declaration for defining unsigned integers with "ui".  "ui" 
>> is now required for a, b, c, and d as they are assigned the value of "num" 
>> which is also an unsigned integer.  I will file a ksh* bug, in order to 
>> track the issue of -i representing 64b (instead of 32b) in the case of 
>> Solaris.
>>     
>
> - How about a comment there explaining what is going on?
>   

Ok, please check the update.

Thanks,

Shawn.
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/kerberos-discuss/attachments/20090417/34a40e4a/attachment.html>

Reply via email to