Re: control flow in FreeRADIUS authorize section

2013-10-02 Thread Alan DeKok
Bruce Bauman wrote:
 We want to stop executing the BUNCH OF UNLANG CODE in the first two
 cases (infected and tempsus), effectively doing something like a return.

  There is a return code.  See doc/configurable_failover.rst:

  ok {
ok = return
  }

  That may work.  The issue is that there's really no multi-level stop
or break.  i.e. stop doing ANYTHING, no matter how deeply nested you
are un the conditions.

  The unlang code isn't really meant to do that, sorry.

 I've read the documentation a hundred times and can't figure out how to
 do what I want - everything I've tried doesn't work.
 
 If someone could give me a simple hint to point me in the right
 direction it would be greatly appreciated.

  A simple thing:


infected case
update control {
Tmp-String-0 := stop
}
...




if (Tmp-String-0 != stop) {
BUNCH OF UNLANG CODE
}

  That should work.  Ugly, but functional.

  Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: control flow in FreeRADIUS authorize section

2013-10-02 Thread Arran Cudbard-Bell

 We want to stop executing the BUNCH OF UNLANG CODE in the first two cases 
 (infected and tempsus), effectively doing something like a return.

Where you have ok in the case stanzas, put

ok {
ok = return
}

-Arran

Arran Cudbard-Bell a.cudba...@freeradius.org
FreeRADIUS Development Team

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: control flow in FreeRADIUS authorize section

2013-10-02 Thread A . L . M . Buxey
Hi,

   A simple thing:
 
 
   infected case
   update control {
   Tmp-String-0 := stop
   }
   ...
 
 
 
 
   if (Tmp-String-0 != stop) {
   BUNCH OF UNLANG CODE
   }
 
   That should work.  Ugly, but functional.

this is pretty much what I was going to suggest. ugly, yes. but sometimes 
simple is best.
and its much easier for a non unlang'y person to understand the logic! :)

alan
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Re: control flow in FreeRADIUS authorize section

2013-10-02 Thread Arran Cudbard-Bell

On 2 Oct 2013, at 22:57, a.l.m.bu...@lboro.ac.uk wrote:

 Hi,
 
  A simple thing:
 
 
  infected case
  update control {
  Tmp-String-0 := stop
  }
  ...
 
 
 
 
  if (Tmp-String-0 != stop) {
  BUNCH OF UNLANG CODE
  }
 
  That should work.  Ugly, but functional.
 
 this is pretty much what I was going to suggest. ugly, yes. but sometimes 
 simple is best.
 and its much easier for a non unlang'y person to understand the logic! :)

Nah, the appearance of obscurity is another mans job security :p

Arran Cudbard-Bell a.cudba...@freeradius.org
FreeRADIUS Development Team

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html