<div dir="ltr"><div>I was thinking this should be easy, but it's been two weeks and I give up...</div><div><br></div><div>This is what I want to do: My NAS, (a WiFi AP), has two SSIDs: "staff" and "guests".  I want mutual exclusivity.  </div>
<div><br></div><div>My /etc/raddb/users file contains something like this:</div><div><br></div><div>abc                  Cleartext-Password:="xyz"</div><div>        Local-Group="staff"</div><div><br></div>
<div>I've created an attribute in my /etc/raddb/dictionary file:</div><div><br></div><div>ATTRIBUTE       Local-Group             3000    string</div><div><br></div><div>In my /etc/raddb/sites-enabled/default file, in the authorize section, I've got this:</div>
<div><br></div><div> if ( Local-Group != NAS-Identifier ) {</div><div>    update reply {</div><div>      Reply-Message := "You may not connect to %{NAS-Identifier} AP.\r\n"</div><div>    }</div><div>    reject</div>
<div>}</div><div><br></div><div><br></div><div>My access request looks something like this: (edited for brevity.)</div><div><br></div><div>User-Name = "abc"</div><div>NAS-IP-Address = 192.168.8.253</div><div>NAS-Port = 0</div>
<div>NAS-Identifier = "guests"</div><div>NAS-Port-Type = Wireless-802.11</div><div>Calling-Station-Id = "..."</div><div>Called-Station-Id = "..."</div><div>Service-Type = Login-User</div><div>
Framed-MTU = 1100</div><div>EAP-Message =... </div><div>State = ...</div><div>Aruba-Essid-Name = "test"</div><div>Aruba-Location-Id = "wifi"</div><div>Aruba-AP-Group = "Our WiFi"</div><div><br>
</div><div><br></div><div>Running radiusd -X I get:</div><div><br></div><div>:</div><div>++? if (Local-Group != NAS-Identifier )</div><div>    (Attribute Local-Group was not found)</div><div>? Evaluating (Local-Group != NAS-Identifier ) -> FALSE</div>
<div>++? if (Local-Group != NAS-Identifier ) -> FALSE</div><div>:</div><div><br></div><div>And it's clear Local-Group is always empty.  :-( </div><div><br></div><div>Some things I've tried:</div><div><br></div>
<div>-Moved code to post-auth section instead of authorize.</div><div>-Different attributes instead of private dictionary.  (i.e. Group-Name)</div><div>-Running an executable, (actually works, but selinux appears to be a problem?)</div>
<div>-Changing the test from != to == makes things work as expected, so if the comparison will actually work, I'm good.</div><div><br></div><div>I'm clearly not understanding something....</div><div><br></div><div>
-Joseph</div></div>