EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Access security problem
From: "GOURNAY Jean-Francois" <[email protected]>
To: <[email protected]>
Date: Thu, 10 Sep 2009 10:43:04 +0200
Dear Andrew,

I think you are wrong. Remember that the CALC expression must return TRUE or FALSE which will not be the case with A&2, A&4 ...
I guess my scheme is correct. Everything works except this problem with this spiral2mgr user that I don't understand (see the table below from my previous mail). We will try to overcome it in a way or another ... unless somebody has another idea about it !!!

J.F. Gournay
CEA Saclay
IRFU/SIS

-----Message d'origine-----
De : Andrew Johnson [mailto:[email protected]] 
Envoyé : mercredi 9 septembre 2009 16:56
À : [email protected]
Cc : GOURNAY Jean-Francois
Objet : Re: Access security problem

On Wednesday 09 September 2009 07:34:52 GOURNAY Jean-Francois wrote:
>
> I did more systematic tests and I have this strange situation:
>
> ASGVAL  UAG      spiral2  spiral2mgr      gournay
>
> 1       tous      W        W               W        OK
> 2       develop   -        - (should be W) -        WRONG
> 4       physique  W        -               -        OK
> 8       gournay   -        W (should be -) W        WRONG
>
> W : database WRITE access
> - :  no write access
>
> I modified the CALC expressions accordingly to Martin suggestion :
> CALC("A&1") instead of CALC("A&1=1").  But I don't think I have to write
> CALC (A>0&&A<2) as my A value comes from a longout record.

You're right there, but for historical reasons the relative precedence of 
the ">>" and "=" operators are different in C and CALC, so you do need to 
change your expressions:

>             CALC("A&1=1")
As Marty suggested "A&1" is sufficient here

>             CALC("A>>1=1")
CALC actually evaluates this as "A>>(1=1)" which is not what you mean.  You 
could use "(A>>1)=1" but I would suggest "A&2" here instead.

>             CALC("A>>2=1")
"A&4"

>             CALC("A>>3=1")
"A&8"

Using fewer operators will also parse and execute faster.

> This message sent yesterday didn't show up.

That's because you actually sent it to tech-talk-bounces@aps., not to 
tech-talk@aps., and I didn't get a chance to forward it manually before you 
re-sent it.

HTH,

- Andrew
-- 
The best FOSS code is written to be read by other humans -- Harold Welte


Replies:
Re: Access security problem Martin L. Smith
References:
TR: Access security problem GOURNAY Jean-Francois
RE: Access security problem GOURNAY Jean-Francois
Re: Access security problem Andrew Johnson

Navigate by Date:
Prev: Recommendation for digitizer? Rarback, Harvey M.
Next: Re: Access security problem Martin L. Smith
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Access security problem Andrew Johnson
Next: Re: Access security problem Martin L. Smith
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·