Version 3.0.3 has been released

Arran Cudbard-Bell a.cudbardb at freeradius.org
Wed May 14 10:25:51 CEST 2014


On 14 May 2014, at 09:03, peter.geiser at id.unibe.ch wrote:

> The regex case insensitiv problem is solved now but another strange
> behavior with FR 3.0.3-git:
> 
> Policy:
> 
> set_eduroam_vlan {
> 
>   # add some debug values
>   update {
>      request:Cisco-AVpair += "debug1=123"
>      request:Cisco-AVpair += "debug2=abc"
>   }
> 
>   foreach Cisco-Avpair {
>      if("%{Foreach-Variable-0}" =~ /ssid=eduroam/i) {
>         update {
>            reply:Tunnel-Type := 'VLAN'
>            reply:Tunnel-Medium-Type := 'IEEE-802'
>         }
>         switch &reply:Class {
>            case 'staff' {
>               update {
>                  reply:Filter-Id := 'staff'
>                  reply:Tunnel-Private-Group-Id := '1'
>               }
>            }
>            case 'student' {
>               update {
>                  reply:Filter-Id := 'student'
>                  reply:Tunnel-Private-Group-Id := '2'
>               }
>            }
>            case 'phbern' {
>               noop
>            }
>            case {
>               update {
>                  reply:Filter-Id := 'external'
>                  reply:Tunnel-Private-Group-Id := '3'
>               }
>            }
>         }
>         break
>      }
>   }
>   updated
> }
> 
> Debug output:
> 
> (11)   set_eduroam_vlan set_eduroam_vlan {
> (11)    update  {
> (11) 	request:Cisco-AVpair += 'debug1=123'
> (11) 	request:Cisco-AVpair += 'debug2=abc'
> (11)    } # update  = noop
> (11)    foreach Cisco-Avpair
> (11)      if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)
> (11) EXPAND %{Foreach-Variable-0}
> (11)    --> ssid=EDUROAM
> (11)      if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)  -> TRUE
> (11)     if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)  {
> (11)      update  {
> (11) 	reply:Tunnel-Type := VLAN
> (11) 	reply:Tunnel-Medium-Type := IEEE-802
> (11)      } # update  = noop
> (11)      switch &reply:Class {
> (11)       case staff {
> (11)        update  {
> (11) 	reply:Filter-Id := 'staff'
> (11) 	reply:Tunnel-Private-Group-Id := '1'
> (11)        } # update  = noop
> (11)       } # case staff = noop
> (11)      } # switch &reply:Class = noop
> (11)       # break Foreach-Variable-0
> (11)     } # if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)  = noop
> (11)      # unwind to enclosing foreach
> (11)      if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)
> (11) EXPAND %{Foreach-Variable-0}
> (11)    --> debug1=123
> (11)      if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)  -> FALSE
> (11)      if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)
> (11) EXPAND %{Foreach-Variable-0}
> (11)    --> debug2=abc
> (11)      if ("%{Foreach-Variable-0}" =~ /ssid=eduroam/i)  -> FALSE
> Aborted
> 
> 
> :O why does the break statment not work at the current iteration? And why
> crashes the freeradius daemon here?
> Same policy works with FR 3.0.2Š

Cray.

Can you post a backtrace for the abort?

-Arran

Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS Development Team

FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 881 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20140514/9e34999c/attachment.pgp>


More information about the Freeradius-Users mailing list