Applying the same rule to multiple values in an attribute/config value

Stefan Paetow Stefan.Paetow at jisc.ac.uk
Wed Feb 13 00:26:20 CET 2019


Wicked, thank you. 

Also, I also figured out how to resolve the other problem. Instead of looping, I do this:

Define rfc7542_suffix = 'example.com|another.example.com|example.obsolete.com|still.in.use.com'

rfc7542.authorize {
    if (&request:User-Name =~ /([a-zA-Z0-9\.-]+)!([a-zA-Z0-9\.-]*)\@(.+)/) {
        #  do this otherwise %{3} does not resolve in the comparison
        update control {
            RFC7542-String-1 := "%{1}"
            RFC7542-String-2 := "%{3}"
        }
        if (!(&control:RFC7542-String-1 =~ /^(${policy.rfc7542_suffix})$/) && \
            (&control:RFC7542-String-2 =~ /^(${policy.rfc7542_suffix})$/)) {
            bangpath
        }
        if ((&control:RFC7542-String-1 =~ /^(${policy.rfc7542_suffix})$/) && \
            !(&control:RFC7542-String-2 =~ /^(${policy.rfc7542_suffix})$/)) {
            bangpath
        }
        update control {
            RFC7542-String-1 !* ANY
            RFC7542-String-2 !* ANY
        }
    }
}

The ${policy.rfc7542_suffix} value gets expanded into a pretty /^(value|value2|value3)$/ regex, and hey presto... I look for the realm in the list, regex says yes or no, and I can apply the new 'bangpath' realm processor. 

The only thing where I and someone else diverge on is that I've defined two strings because I don't accidentally want to trample all over any potentially-defined Tmp-String-* attributes. What say you? Better this way, or Tmp-String-* be damned?

:-)

Stefan Paetow
Consultant, Trust and Identity

t: +44 (0)1235 822 125
gpg: 0x3FCE5142
xmpp: stefanp at jabber.dev.ja.net
skype: stefan.paetow.janet

jisc.ac.uk

Jisc is a registered charity (number 1149740) and a company limited by guarantee which is registered in England under Company No. 5747339, VAT No. GB 197 0632 86. Jisc’s registered office is: One Castlepark, Tower Hill, Bristol, BS2 0JA. T 0203 697 5800.
 

On 12/02/2019, 17:42, "Freeradius-Users on behalf of Alan DeKok" <freeradius-users-bounces+stefan.paetow=jisc.ac.uk at lists.freeradius.org on behalf of aland at deployingradius.com> wrote:

    On Feb 12, 2019, at 10:54 AM, Stefan Paetow <Stefan.Paetow at JISC.AC.UK> wrote:
    > What would you like me to call that new realm configuration (if I were to want to submit this upstream)?
    > 
    > bangrealm? bang_realm? 
    > 
    > Gimme a name and I'll submit an upstream PR for the new realm entry :-)
    
      Call it "bangpath".  It's a familiar term, and people should know what it means.
    
      Alan DeKok.
    
    
    -
    List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html




More information about the Freeradius-Users mailing list