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.
> 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
>