Sundar Yamunachari wrote:
> Sanjay Nadkarni wrote:
>> Sue Sohn wrote:
>>> Hi Sanjay,
>>>
>>> Thank you very much for the review.
>>>
>>> sanjay nadkarni (Laptop) wrote:
>>> >
>>> > After following the calls to save_service_data I am not convinced 
>>> that
>>> > it should be a void function.
>>> >
>>> > In save_service_data, there are number of places where failures can
>>> > occur.  These errors are printed out and the function returns.   For
>>> > example at line 824 save_service_data is called and the return is
>>> > INSTALLADM_SUCCESS.  This can result poor error handling further down
>>> > the code path.
>>>
>>> I have made quite a few changes to beef up the error handling.
>>> save_service_data is no longer a void.
>>>
>>> > installadm_util.c
>>> >   normalize_name_serivce:
>>> >      since you are returning a strduping, it might be simpler to 
>>> strdup
>>> > the passed in string and modify it, that way you avoid an 
>>> unnecessary copy.
>>>
>>> Yes, that is better, thanks. I also added a check for NULL return 
>>> from strdup.
>>>
>>> > read_service_data_file:
>>> >       would usage of strtok make the code simpler ?
>>>
>>> Rewriting the function with strtok didn't make it look simpler to 
>>> me. So, I decided to leave it.
>> While reviewing I noticed that the function can return success even 
>> when the "service_data" is partially filled.  Is this assumption 
>> valid ? Do the values for each of the name value pairs need to be 
>> sanity checked or is this already done when the file is written out. 
>> Will  this file be ever hand edited ?  If so more checking is required.
> The service configuration information is saved only after all the 
> values are are used to create other configuration files sych as 
> menu.lst, DHCP macro, creating the AI image and registering the 
> install service with mDNS. This file is not supposed to be hand edited 
> but we don't prevent the edit.
> This service configuration will be converted in to SMF property group 
> (bug 7218) and additional efforts to prevent hand-edits or validation 
> may be throw-away code.
Thanks for the clarification.  SMF property group is probably a better 
way to go.  In that case please ignore the comments.

-Sanjay

>
> - Sundar
>>
>> -Sanjay
>>
>>>
>>> >      write_service_data_file:
>>> >         need to check return values from fputs if it fails.
>>>
>>> fixed.
>>>
>>> > get_service_data:
>>> >     372:   normalize_service_name can return NULL but not checked.
>>>
>>> added check.
>>>
>>> > remove_data_service:
>>> >     399: NULL return not checked.
>>>
>>> added check and converted function to boolean_t, and then converted 
>>> calling function save_service_data to boolean_t, and checked return 
>>> values in installadm.c
>>>
>>> > setup-service.sh
>>> >        71: is it possible to simply the expression used there by 
>>> using
>>> > pgrep "dns-sd" or perhaps just pgrep "${service-name}"
>>> >
>>> >       similar case for 369.
>>>
>>> I played around a bit with pgrep, but didn't really see a way to 
>>> simplify the expression without risking false positives. I'm open to 
>>> suggestions, otherwise I'd rather leave it the way it is.
>>>
>>> webrev is updated.
>>>
>>> Sue
>>>
>>> > -Sanjay
>>> >
>>> >
>>> > Sue Sohn wrote:
>>> >> Sundar Yamunachari wrote:
>>> >>> Susan Sohn wrote:
>>> >>>> Sundar,
>>> >>>>
>>> >>>> Thank you very much for the review. See below.
>>> >>>>
>>> >>>> On 03/06/09 09:25, Sundar Yamunachari wrote:
>>> >>>>> Susan Sohn wrote:
>>> >>>>>> Please review the changes for:
>>> >>>>>>
>>> >>>>>> 6128 installadm reuses /var/ai data and screw up manifest
>>> >>>>>> http://defect.opensolaris.org/bz/show_bug.cgi?id=6128
>>> >>>>>>
>>> >>>>>> and
>>> >>>>>>
>>> >>>>>> 7122 installadm stop kills /usr/bin/dns-sd for all services of
>>> >>>>>> similar name
>>> >>>>>> http://defect.opensolaris.org/bz/show_bug.cgi?id=7122
>>> >>>>>>
>>> >>>>>> which are posted at:
>>> >>>>>>
>>> >>>>>> http://cr.opensolaris.org/~sohn/6128_7122
>>> >>>>>>
>>> >>>>>> Thanks,
>>> >>>>>> Sue
>>> >>>>>>
>>> >>>>>> _______________________________________________
>>> >>>>>> caiman-discuss mailing list
>>> >>>>>> caiman-discuss at opensolaris.org
>>> >>>>>> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss
>>> >>>>> installadm.c:
>>> >>>>>
>>> >>>>> 468: Can you add a comment on why normalize_service() is 
>>> needed for
>>> >>>>> service_name?
>>> >>>>
>>> >>>> done
>>> >>>>
>>> >>>>> 708, 1019, 1119: Printing the service name along with txt 
>>> record is
>>> >>>>> better
>>> >>>>
>>> >>>> In all of those cases, the user has specified the service name on
>>> >>>> the command line, so it seemed redundant to also print the service
>>> >>>> name. I can put it in if you feel strongly.
>>> >>> I feel that the port number is something the user doesn't know.
>>> >>> txt_record is what we create internally. It doesn't make any sense
>>> >>> for the user. If you add the service there, there will be some
>>> >>> correlation.
>>> >>>
>>> >>> - Sundar
>>> >>
>>> >> Hi Sundar,
>>> >>
>>> >> I have made the changes and updated the webrev.
>>> >>
>>> >> Sue
>>> >>
>>> >>>>> 862-867: Should change the status only if we can successfully
>>> >>>>> stopped the service. Move these lines after 878
>>> >>>>
>>> >>>> I originally had it there, but moved it up. My reasoning was that,
>>> >>>> looking at setup-service, remove_service returns non-zero if the
>>> >>>> service is not running. If the service is already not running, 
>>> then
>>> >>>> it is appropriate to set the status to off anyway. So moving those
>>> >>>> lines up, to ensure the status was set to off, seemed better so 
>>> that
>>> >>>> the file stayed consistent with the actual status. Otherwise, it
>>> >>>> would be possible to end up with the service not running but the
>>> >>>> file status still set to on.
>>> >>>>
>>> >>>>> installadm_util.c:
>>> >>>>> 39: get_a_free_tcp_port() declared in this file and installadm.c
>>> >>>>> (line 54). Can you move this declaration to installadm.h?
>>> >>>>
>>> >>>> done
>>> >>>>
>>> >>>>> 43: installadm_system() declared in this file and installadm.c
>>> >>>>> (line 55). Can you move this declaration to installadm.h?
>>> >>>>
>>> >>>> done
>>> >>>>
>>> >>>>> 141: Can You could ombine these lines to one return statement 
>>> such as:
>>> >>>>>    return(read_service_data_file(path, data));
>>> >>>>
>>> >>>> After asking you privately, it turned out you meant line 380.
>>> >>>> I will combine them.
>>> >>>>
>>> >>>> Sue
>>> >>>>
>>> >>>>> - Sundar
>>> >>>>>
>>> >>>>>
>>> >>>>
>>> >>>
>>> >>
>>> >> _______________________________________________
>>> >> caiman-discuss mailing list
>>> >> caiman-discuss at opensolaris.org
>>> >> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss
>>> >
>>>
>>>
>>
>


Reply via email to