On Mon, Jan 24, 2011 at 06:13:04PM +0100, alexander.kra...@basf.com wrote:
> Dejan Muhamedagic schrieb am 24.01.2011 16:48:19:
> > Hi,
> > 
> > On Mon, Jan 24, 2011 at 10:21:11AM +0100, Alexander Krauth wrote:
> > > # HG changeset patch
> > > # User Alexander Krauth <li...@sap.com>
> > > # Date 1295860568 -3600
> > > # Node ID 4f7a4a2e18ef5e79e9b444273d8a0ff556b40e43
> > > # Parent  f9bb7dc26c80aaae2711a1b66e1af7a92d33bbc6
> > > Low: SAPInstance,SAPDatabase: Allow blanks in path of userexit script
> > 
> > Why do you want to allow whitespace here? That doesn't really
> > add much in terms of flexibility.
> 
> I'd understand the point of Lars, like this.
> 
> > > diff -r f9bb7dc26c80 -r 4f7a4a2e18ef heartbeat/SAPDatabase
> > > --- a/heartbeat/SAPDatabase   Wed Jan 19 18:42:22 2011 +0100
> > > +++ b/heartbeat/SAPDatabase   Mon Jan 24 10:16:08 2011 +0100
> > > @@ -541,7 +541,7 @@
> > >      if [ -x "$VALUE" ]
> > 
> > If there's whitespace in VALUE, then this test will fail.
> 
> Only if, the whitespaces are used for parameters. Having them in the path 
> or filename - it will work.
> 
> alex@ncc1701d:~> if [ -x "/home/alex/whitespace path/xyz" ];then 
> "/home/alex/whitespace path/xyz"; fi
> xyz running

OK. Though I can't recall seeing that kind of a file name used
for a script. I guess even SAP wouldn't pick such a name. But,
everything's possible.

> > >      then
> > >        ocf_log info "Calling userexit ${NAME} with customer script 
> file ${VALUE}"
> > > -      $VALUE >/dev/null 2>&1
> > > +      "$VALUE" >/dev/null 2>&1
> > >        ocf_log info "Exiting userexit ${NAME} with customer script 
> file ${VALUE}, returncode: $?"
> > >      else
> > >        ocf_log warn "Attribute ${NAME} is set to ${VALUE}, but this 
> file is not executable"
> > > diff -r f9bb7dc26c80 -r 4f7a4a2e18ef heartbeat/SAPInstance
> > > --- a/heartbeat/SAPInstance   Wed Jan 19 18:42:22 2011 +0100
> > > +++ b/heartbeat/SAPInstance   Mon Jan 24 10:16:08 2011 +0100
> > > @@ -448,7 +448,7 @@
> > >      if have_binary "$VALUE"
> > 
> > And this one too.
> > 
> > As Lars suggested, I'd opt for test -x "$VALUE" in both places
> > and not allow anything apart from the script in it. The script
> > could be invoked with some useful parameters such as SID or
> > whatever may be of interest.
> 
> I would be strict with the meta-data:
>  <parameter name="PRE_START_USEREXIT" unique="1" required="0">
>   <longdesc lang="en">The full qualified path where to find a script or 
> program which should be executed before this resource gets 
> started.</longdesc>
> 
> It does not say you are allowed to use parameters for the script.
> 
> So IMHO this is the best solution, because it allows at least parameters 
> that start with " -":
> 
> if have_binary "$VALUE"; then
>   "$VALUE"
> fi
> 
> Correct me, if I'm totally far out !

No, you're not, it's just that I'd expect people running their
clusters not to try to shoot themselves in the foot. We're not
talking about random user input here, but part of cluster
configuration which is completely under control of the system
administrator. So, all this is mostly waste of time ;-)

> So changing SAPdatabase to 'if have_binary "$VALUE"' also ?

Whichever. We can also leave it as it is.

Thanks,

Dejan


> > Thanks,
> > 
> > Dejan
> 
> Thanks,
> Alex
> 
> 
> _______________________________________________________
> Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/
_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to