I’m running FR 2.1.6 (I know - I plan to upgrade later this year).  Is there anything wrong syntactically with the following code or is this a bug that was fixed since 2.1.6?
 
if (Client-IP-Address == "172.20.16.28" || Client-IP-Address == "172.20.204.10")) {
    update request {
        Huntgroup-Name := "GlobalRoaming"
    }
}
 
#
# If NAS is an autonomous AP, get SSID from Cisco-AVPair
#
if (Huntgroup-Name == "EEProdAP" || \
    Huntgroup-Name == "EETestAP") {
    if (Cisco-AVPair =~ /ssid=(.*)/) {
        update request {
            SSID-Name = "%{1}"
        }
    }
}
 
I ask because the first if statement only works if the Client-IP-Address matches the first address listed (172.20.16.28).  I would expect that it would evaluate to true if Client-IP-Address matches either of the addresses.  Here’s a snippet of debug output that illustrates the problem – it doesn’t appear to finish the logical or comparison:
 
Info: ++? if (Called-Station-Id && (Client-IP-Address == "172.20.16.28" ||                                   Client-IP-Address == "172.20.204.10"))
Info: ? Evaluating (Called-Station-Id ) -> TRUE
Info:        expand: %{Client-IP-Address} -> 172.20.204.10
Info: ++? if (Huntgroup-Name == "EEProdAP" || Huntgroup-Name == "EETestAP")
Info:     (Attribute Huntgroup-Name was not found)
 
When I switch the order of the addresses for the logical or, I see the following in debug (it does the comparison and returns TRUE):
 
Info: ++? if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" ||                                   Client-IP-Address == "172.20.16.28"))
Info: ? Evaluating (Called-Station-Id ) -> TRUE
Info:        expand: %{Client-IP-Address} -> 172.20.204.10
Info: ?? Evaluating (Client-IP-Address == "172.20.204.10" ) -> TRUE
Info: ?? Skipping (Client-IP-Address == "172.20.16.28")
Info: ++? if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" ||                                   Client-IP-Address == "172.20.16.28")) -> TRUE
Info: ++- entering if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" ||                                   Client-IP-Address == "172.20.16.28")) {...}
Info: +++[request] returns ok
Info: ++- if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" ||                                   Client-IP-Address == "172.20.16.28")) returns ok
Info: ++? if (Huntgroup-Name == "EEProdAP" || Huntgroup-Name == "EETestAP")
Info: ? Evaluating (Huntgroup-Name == "EEProdAP" ) -> FALSE
Info: ? Evaluating (Huntgroup-Name == "EETestAP") -> FALSE
Info: ++? if (Huntgroup-Name == "EEProdAP" || Huntgroup-Name == "EETestAP") -> FALSE