Hi Samir,

  Please send the output of 'diff -u <oldfile> <newfile>'.

  Its easier to interpert the changes in the diff output than in the line 
by line description of the changes.

  BTW, I think you forgot to attach the new svcadm.c file.

Regards,
Kini


On Sun, 30 Dec 2007 01:18 -0000, samir kumar mishra wrote:

}Hi all,
}>
}> I hope the fix for the Bug- 6606851 whose details are given below is
}> ready.
}>
}>
}> 
***********************************************************************************************************
}> *Synopsis* -svcadm restart and refresh exit with 0 when permission is
}> denied
}> *Category:Subcategory* ---utility:smf
}> *Reported Against* snv_72
}> *Link*:http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6606851
}> 
**********************************************************************************************************
}>
}>
}> The fix to the bug requires certain modifications in the file svcadm.cwhose 
link is given below:
}>
}> 
http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/svc/svcadm/svcadm.c
}>
}>
}>
}>
}> 
************************************************************************************************************
}> 1) In line number 1329, the return type of *set_inst_action()* function is
}> changed from ' *static void*' to '*static int*'.
}>
}> 2)In line number 1338, the integer variable *'ret*'  should be defined  as
}>
}>   *  int ret=0;*
}>
}> 3)Just before '* goto out;*'  in line number 1370, we need to insert the
}> following statement:
}>
}>    * ret=1;*     /*Return value of set_inst_action()*/
}>
}> This is because whenever there is error SCF_ERROR_PERMISSION_DENIED, we
}> have to make the return value 'ret'   equal to 1.
}>
}> 4)Again we have to insert the following statement just before '*goto out;*'
}> in line number 1398:
}>
}>    *ret=1;*
}>
}> 5)After all the statements in the '*out*' block of the function *
}> set_inst_action()* starting at line number 1463, we place the following
}> statement to mark the return value of the function:
}>
}>   * return(ret);*
}>
}> 6) Now we modify the function *set_fmri_action()* starting  at line number
}> 1882 as given below:
}>
}>    static int *set_fmri_action*(void *actionscf_walkinfo_t *wip)
}>     {
}>         *int ret;*
}>         assert( wip->inst != NULL  && wip->pg ==NULL);
}>         ret=set_inst_action(wip->fmri, wip->inst, action);
}>        * return(ret);*
}>     }
}>
}>
}> 
********************************************************************************************************
}>
}> Now , svcadm restart and refresh exit with a value 1 when permission is
}> denied.
}>
}> *I would like to request a sponsor so that the fix can be evaluated.I am
}> also attaching a copy of the modified file 'svcadm.c ' lest I may have
}> forgot to mention all the required changes.*
}>
}>
}> Regards,
}> Samir Kumar Mishra
}> 3rd year, Electronics and Telecommunication Engg,
}> University College of Engineering, Burla(India)
}>
}>
}>
}>  <http://cvs.opensolaris.org/source/s?defs=set_inst_action>
}>
}>
}

-- 
Sun Microsystems - India Engineering Centre
http://blogs.sun.com/jkini

Reply via email to