On 12/10/2012 07:02 PM, Tom Eastep wrote:
> On 12/10/12 3:38 PM, Mr Dash Four wrote:
>>
>>> I see no requirement for @_loglevel and @_logtag and I really don't want
>>> to expand the use of @... any more than is absolutely necessary.
>>>
>> The way I see it, there are at least 3 advantages when using '@' instead
>> of '$':
>>
>> 1. Avoid possible clash of variables defined in "param" (I could define
>> "_loglevel=OMG" for example) - this is bound to mess things up quite
>> dramatically.
>
> Actually, it will not. Every instance of $_loglevel (${_loglevel}) will
> be expanded exactly as you intended when you set that variable in your
> params file. Of course, the new functionality that I provided won't be
> available but C'est la Vie.

Beta 1 does not support setting any variable that begins with '_'.

>
>> 2. It keeps things clean: '$' is used for all user-defined variables,
>> while '@' is reserved for shorewall's own "system" variables - the
>> separation is quite obvious.
>
> Except that we invented '@' variables because they must be evaluated
> late (after the target chain is available).
>
>>
>> 3. The above is, in a way, "future-proof": when '@' is completely
>> separate from '$', if/when you decide to expand these "system"
>> variables, there won't be any clash with existing configurations (i.e.
>> variables already defined in "param") in the way I described in 1 above.
>> Currently, if I already have a variable in my param file called
>> "_logtag", the upgrade won't work and I have to scratch my head to find
>> out why my firewall is messed up.
>

Yes -- if you have a variable named '_loglevel' in your params file, it 
will not be visible in ?if, ?elseif and ?set directives. But if you 
installed 4.5.10, you are already out of luck since that release doesn't 
recognize shell variables that don't begin with a letter.

-Tom
-- 
Tom Eastep        \ When I die, I want to go like my Grandfather who
Shoreline,         \ died peacefully in his sleep. Not screaming like
Washington, USA     \ all of the passengers in his car
http://shorewall.net \________________________________________________

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Shorewall-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-devel

Reply via email to