php radius client (mount packet data)

2008-08-08 Thread Alexandre J. Correa - Onda Internet

Hello !!

Based on 'Pure PHP radius class' (http://developer.sysco.ch/php/) i´m 
trying to implement disconnect-packet like this command:


echo User-Name := xx | radclient -x 111.222.333.444 disconnect 
secret


freeradius recognizes that packet are disconnect-request but i think 
checksum of packet are incorrect, can someone look and try to discover 
the error ?!


attached class, my changes are commented with //AlexandrE

thanks !!!

--
Sds.

Alexandre Jeronimo Correa

Onda Internet - http://www.ondainternet.com.br
OPinguim Hosting - http://www.opinguim.net

Linux User ID #142329

UNOTEL S/A - http://www.unotel.com.br

.
 *
 *
 * @author: SysCo/al
 * @since CreationDate: 2008-01-04
 * @copyright (c) 2008 by SysCo systemes de communication sa
 * @version $LastChangedRevision: 1.1 $
 * @version $LastChangedDate: 2008-02-04 $
 * @version $LastChangedBy: SysCo/al $
 * @link $HeadURL: radius.class.php $
 * @link http://developer.sysco.ch/php/
 * @link [EMAIL PROTECTED]
 * Language: PHP 4.0.7 or higher
 *
 *
 * Usage
 *
 *   require_once('radius.class.php');
 *   $radius = new Radius($ip_radius_server = 'radius_server_ip_address', $shared_secret = 'radius_shared_secret'[, $radius_suffix = 'optional_radius_suffix'[, $udp_timeout = udp_timeout_in_seconds[, $authentication_port = 1812]]]);
 *   $result = $radius->Access_Request($username = 'username', $password = 'password'[, $udp_timeout = udp_timeout_in_seconds]);
 *
 *
 * Examples
 *
 *   Example 1
 * AccessRequest('user', 'pass'))
 * {
 * echo "Authentication accepted.";
 * }
 * else
 * {
 * echo "Authentication rejected.";
 * }
 * ?>
 *
 *   Example 2
 * SetNasPort(0);
 * if ($radius->AccessRequest('user', 'pass'))
 * {
 * echo "Authentication accepted.";
 * echo "";
 * }
 * else
 * {
 * echo "Authentication rejected.";
 * echo "";
 * }
 * echo $radius->GetReadableReceivedAttributes();
 * ?>
 *
 *
 * External file needed
 *
 *   none.
 *
 *
 * External file created
 *
 *   none.
 *
 *
 * Special issues
 *
 *   - Sockets support must be enabled.
 * * In Linux and *nix environments, the extension is enabled at
 *   compile time using the --enable-sockets configure option
 * * In Windows, PHP Sockets can be activated by un-commenting
 *   extension=php_sockets.dll in php.ini
 *
 *
 * Other related ressources
 *
 *   FreeRADIUS, a free Radius server implementation for Linux and *nix environments: http://www.freeradius.org/
 *   WinRadius, Windows Radius server (free for 5 users): http://www.itconsult2000.com/en/product/WinRadius.zip
 *   Radl, a free Radius server for Windows: http://www.loriotpro.com/Products/RadiusServer/FreeRadiusServer_EN.php
 *   DOS command line Radius client: http://www.itconsult2000.com/en/product/WinRadiusClient.zip
 *
 *
 * Change Log
 *
 *   2008-02-04 1.1   SysCo/al Typo error for the udp_timeout parameter (line 256 in the version 1.0)
 *   2008-01-07 1.0   SysCo/al Initial release
 *
 */


/*
 *
 * Radius
 * Pure PHP radius class
 *
 * Creation 2008-01-04
 * @package radius
 * @version v.1.0
 * @author SysCo/al
 *
 */
class Radius
{
var $_ip_radius_server;   // Radius server IP address
var $_shared_secret;  // Shared secret with the radius server
var $_radius_suffix;  // Radius suffix (default is '');
var $_udp_timeout;// Timeout of the UDP connection in seconds (default value is 5)
var $_authentication_port;// Authentication port (default value is 1812)
var $_accounting_port;// Accouting port (default value is 1813)
var $_nas_ip_address; // NAS IP address
var $_nas_port;   // NAS port
var $_encrypted_password; // Encrypted password, as described in the RFC 2865
var $_user_ip_address;// Remote IP address of the user
var $_request_authenticator;  // Request-Authenticator, 16 octets random number
var $_response_authenticator; // Request-Authenticator, 16 octets random number
var $_username;   // Username to sent to the Radius server
var $_password;   // Password to sent to the Radius server (clear password, must be encrypted)
var $_identifier_to_send; // Identifier field for the packet to be sent
var $_identifier_received;// Identifier field for the received packet
var $_radius_packet_to_send;  // Radius packet code (1=Access-Request, 2=Access-Accept, 3=Access-Reject, 4=Accounting-Request, 5=Accounting-Response, 11=Access-Challenge, 12=Status-Server (experimental), 13=Status-Client (experimental), 255=Reserved
var $_radius_packet_received; // Radius 

Re: php radius client (mount packet data)

2008-08-08 Thread Marinko Tarlac
Pasting class source won't help. You need to ask specific question. I
believe that nobody here doesn't have enough time to read 1000 lines just to
answer you.

You can find all about POD in FreeRadius FAQ section. create shell script
and call it when you need to disconnect someone.

On Fri, Aug 8, 2008 at 8:29 AM, Alexandre J. Correa - Onda Internet 
[EMAIL PROTECTED] wrote:

 Hello !!

 Based on 'Pure PHP radius class' (http://developer.sysco.ch/php/) i´m
 trying to implement disconnect-packet like this command:

 echo User-Name := xx | radclient -x 111.222.333.444 disconnect
 secret

 freeradius recognizes that packet are disconnect-request but i think
 checksum of packet are incorrect, can someone look and try to discover the
 error ?!

 attached class, my changes are commented with //AlexandrE

 thanks !!!

 --
 Sds.

 Alexandre Jeronimo Correa

 Onda Internet - http://www.ondainternet.com.br
 OPinguim Hosting - http://www.opinguim.net

 Linux User ID #142329

 UNOTEL S/A - http://www.unotel.com.br


 .
 List info/subscribe/unsubscribe? See
 http://www.freeradius.org/list/users.html

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Re: php radius client (mount packet data)

2008-08-08 Thread Phil Mayers

On Fri, Aug 08, 2008 at 03:29:15AM -0300, Alexandre J. Correa - Onda Internet 
wrote:

Hello !!

Based on 'Pure PHP radius class' (http://developer.sysco.ch/php/) i´m 
trying to implement disconnect-packet like this command:


echo User-Name := xx | radclient -x 111.222.333.444 disconnect 
secret


freeradius recognizes that packet are disconnect-request but i think 
checksum of packet are incorrect, can someone look and try to discover 
the error ?!


PoD need to be signed, like Accounting-Request. You can't just send 
them, like an Access-Request. For more details, see the radius RFCs. I 
don't see any sign of that code in the PHP class.




attached class, my changes are commented with //AlexandrE

thanks !!!

--
Sds.

Alexandre Jeronimo Correa

Onda Internet - http://www.ondainternet.com.br
OPinguim Hosting - http://www.opinguim.net

Linux User ID #142329

UNOTEL S/A - http://www.unotel.com.br





-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html