diff options
author | Will Andrews <will@FreeBSD.org> | 2001-12-19 02:30:02 +0000 |
---|---|---|
committer | Will Andrews <will@FreeBSD.org> | 2001-12-19 02:30:02 +0000 |
commit | 7765c3d3500ff8050f20d17e9bf6dbc16e426d99 (patch) | |
tree | 2a576321bfa1f5eb7c8acbfbea468c2e52446f4a /net/icradius/files/pcisco-scripts::radius.cgi | |
parent | Add p5-IC-Radius 0.4, a Perl5 extension for ICRADIUS Interface Module. (diff) |
Add icradius 0.18.1, a variant of Cistron RADIUS, but with a MySQL
backend.
PR: 29080
Submitted by: Sergey N. Voronkov <serg@tmn.ru>
Notes
Notes:
svn path=/head/; revision=51767
Diffstat (limited to 'net/icradius/files/pcisco-scripts::radius.cgi')
-rw-r--r-- | net/icradius/files/pcisco-scripts::radius.cgi | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/net/icradius/files/pcisco-scripts::radius.cgi b/net/icradius/files/pcisco-scripts::radius.cgi new file mode 100644 index 000000000000..83d31e530db6 --- /dev/null +++ b/net/icradius/files/pcisco-scripts::radius.cgi @@ -0,0 +1,106 @@ +--- scripts/radius.cgi.orig Wed Jul 18 16:03:17 2001 ++++ scripts/radius.cgi Wed Jul 18 15:30:03 2001 +@@ -2283,7 +2283,7 @@ + <select name="terminate_cause"> + <option value=''> + ~; +- my $terminate_causes = $radius->fetch_attribute_values('Acct-Terminate-Cause'); ++ my $terminate_causes = $radius->fetch_attribute_values('Cisco-Disconnect-Cause'); + foreach my $cause (@$terminate_causes) { + print qq!<option value="$cause"!; + print q! selected! if ($terminate_cause eq $cause); +@@ -2334,7 +2334,10 @@ + $sql .= " AND radacct.NASPortId = '$nas_port'" if $nas_port; + $sql .= " AND radacct.NASPortType = '$nas_port_type'" if $nas_port_type; + $sql .= " AND radacct.FramedIPAddress = '$framed_ipaddr'" if $framed_ipaddr; +- $sql .= " AND radacct.AcctTerminateCause = '$terminate_cause'" if $terminate_cause; ++ if( $terminate_cause ){ ++ my %list = &get_attr_list('Cisco-Disconnect-Cause'); ++ $sql .= " AND radacct.CiscoDisconnectCause = \"".$list{$terminate_cause}."\""; ++ } + + $sql .= " ORDER BY radacct.UserName, radacct.AcctStartTime DESC"; + +@@ -2427,7 +2430,13 @@ + + my $session = $radius->fetch_session_info($radacctid); + +- print qq~ ++ my $NASPortType = &get_attr($session->{NASPortType},"NAS-Port-Type"); ++ my $AcctAuthentic = &get_attr($session->{AcctAuthentic},"Acct-Authentic"); ++ my $CiscoDisconnectCause = &get_attr($session->{CiscoDisconnectCause},"Cisco-Disconnect-Cause"); ++ my $ServiceType = &get_attr($session->{ServiceType},"Service-Type"); ++ my $FramedProtocol = &get_attr($session->{FramedProtocol},"Framed-Protocol"); ++ ++ print qq~ + <center> + <table cellspacing="4" cellpadding="2" border="1" cols="2"> + <tr><th bgcolor="$highlight">Attribute</th><th bgcolor="$highlight">Value</th></tr> +@@ -2436,24 +2445,23 @@ + <tr><td align="center">Realm</td><td align="center">$session->{Realm}</td></tr> + <tr><td align="center">NAS-IP-Address</td><td align="center">$session->{NASIPAddress}</td></tr> + <tr><td align="center">NAS-Port-Id</td><td align="center">$session->{NASPortId}</td></tr> +- <tr><td align="center">NAS-Port-Type</td><td align="center">$session->{NASPortType}</td></tr> ++ <tr><td align="center">NAS-Port-Type</td><td align="center">$NASPortType</td></tr> + <tr><td align="center">Acct-Start-Time</td><td align="center">$session->{AcctStartTime}</td></tr> + <tr><td align="center">Acct-Stop-Time</td><td align="center">$session->{AcctStopTime}</td></tr> + <tr><td align="center">Acct-Session-Time</td><td align="center">$session->{AcctSessionTime}</td></tr> +- <tr><td align="center">Acct-Authentic</td><td align="center">$session->{AcctAuthentic}</td></tr> +- <tr><td align="center">Connect-Info</td><td align="center">$session->{ConnectInfo}</td></tr> ++ <tr><td align="center">Acct-Authentic</td><td align="center">$AcctAuthentic</td></tr> + <tr><td align="center">Acct-Input-Octets</td><td align="center">$session->{AcctInputOctets}</td></tr> + <tr><td align="center">Acct-Output-Octets</td><td align="center">$session->{AcctOutputOctets}</td></tr> +- <tr><td align="center">Called-Station-Id</td><td align="center">$session->{CalledStationId}</td></tr> +- <tr><td align="center">Calling-Station-Id</td><td align="center">$session->{CallingStationId}</td></tr> +- <tr><td align="center">Acct-Terminate-Cause</td><td align="center">$session->{AcctTerminateCause}</td></tr> +- <tr><td align="center">Service-Type</td><td align="center">$session->{ServiceType}</td></tr> +- <tr><td align="center">Framed-Protocol</td><td align="center">$session->{FramedProtocol}</td></tr> ++ <tr><td align="center">Cisco-Disconnect-Cause</td><td align="center">$CiscoDisconnectCause</td></tr> ++ <tr><td align="center">Service-Type</td><td align="center">$ServiceType</td></tr> ++ <tr><td align="center">Framed-Protocol</td><td align="center">$FramedProtocol</td></tr> + <tr><td align="center">Framed-IP-Address</td><td align="center">$session->{FramedIPAddress}</td></tr> + <tr><td align="center">Acct-Start-Delay-Time</td><td align="center">$session->{AcctStartDelay}</td></tr> + <tr><td align="center">Acct-Stop-Delay-Time</td><td align="center">$session->{AcctStopDelay}</td></tr> +- </table> +- </center> ++ <tr><td align="center">Cisco-Data-Rate</td><td align="center">$session->{CiscoDataRate}</td></tr> ++ <tr><td align="center">Cisco-Xmit-Rate</td><td align="center">$session->{CiscoXmitRate}</td></tr> ++ <tr><td align="center">Calling-Station-Id</td><td align="center">$session->{CallingStationId}</td></tr> ++ <tr><td align="center">Called-Station-Id</td><td align="center">$session->{CalledStationId}</td></tr></table></center> + ~; + } + +@@ -3160,3 +3168,33 @@ + + unlink $tmp_sessions_file; + } ++ ++# Get attribute description ++sub get_attr { ++ my( $attr ) = shift; ++ my( $attr_name) = shift; ++ my( $sth ) = ++ $radius->{dbh}->prepare("SELECT Value from dictionary WHERE ++ Type='VALUE' AND Attribute='$attr_name' AND ++ Format='$attr'"); ++ $sth->execute || &terminal_error; ++ my @row = $sth->fetchrow_array; ++ $sth->finish; ++ ++ return (( $#row >= 0 )? $row[0]:$attr); ++} ++ ++# Make a list of values of the specified attribute ++sub get_attr_list { ++ my( $attr ) = shift; ++ my( %list, @row ); ++ my( $sth ) = ++ $radius->{dbh}->prepare("SELECT Value,Format FROM dictionary WHERE ++ Type='VALUE' AND Attribute='$attr'"); ++ $sth->execute || &terminal_error; ++ while( @row = $sth->fetchrow_array ){ ++ $list{$row[0]}=$row[1]; ++ } ++ $sth->finish; ++ return %list; ++} |