To fix missing the "Alive" of Acct-Status-Type, just :
define('RADIUS_ALIVE', 3);Estas constantes definen tipos de atributo RADIUS que pueden ser utilizadas con las funciones radius_put_addr(), radius_put_attr(), radius_put_int() y radius_put_string().
RADIUS_USER_NAME
(int)
RADIUS_USER_PASSWORD
(int)
RADIUS_CHAP_PASSWORD
(int)
RADIUS_CHAP_CHALLENGE.
Ejemplo #1 Uso de contraseñas CHAP
<?php
// Primero, creamos un manejador de autenticación y una solicitud.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);
// Supongamos que $password contiene la contraseña en texto plano:
// Generación del desafío.
$challenge = mt_rand();
// Especifica un identificador CHAP.
$ident = 1;
// Añade el atributo Chap-Password.
$cp = hash('md5', pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);
// Añade el atributo Chap-Challenge.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);
/* A partir de aquí, podemos añadir los otros atributos
* y llamar a la función radius_send_request(). */
?>RADIUS_NAS_IP_ADDRESS
(int)
RADIUS_NAS_PORT
(int)
RADIUS_SERVICE_TYPE
(int)
Se proporcionan constantes para representar los valores posibles de este atributo. Aquí están:
RADIUS_FRAMED_PROTOCOL
(int)
El atributo Framed-Protocol. El valor del atributo esperado es un entero, que indica el framing a utilizar para el acceso, y puede ser definido utilizando la función radius_put_int(). Los valores posibles para este atributo son:
RADIUS_FRAMED_IP_ADDRESS
(int)
RADIUS_FRAMED_IP_NETMASK
(int)
RADIUS_FRAMED_ROUTING
(int)
Valores posibles:
0: Sin enrutamiento1: Enviar paquetes de enrutamiento2: Escuchar paquetes de enrutamiento3: Enviar y escucharRADIUS_FILTER_ID
(int)
RADIUS_FRAMED_MTU
(int)
RADIUS_FRAMED_COMPRESSION
(int)
El atributo Framed-Compression. El valor esperado es un entero, que indica el protocolo de compresión a utilizar, y puede ser definido utilizando la función radius_put_int(). Valores posibles:
RADIUS_COMP_NONE: Sin compresiónRADIUS_COMP_VJ: Compresión de cabecera VJ TCP/IPRADIUS_COMP_IPXHDR: Compresión de cabecera IPXRADIUS_COMP_STAC_LZS: Compresión Stac-LZS (añadido en PECL radius 1.3.0b2)
RADIUS_LOGIN_IP_HOST
(int)
RADIUS_LOGIN_SERVICE
(int)
RADIUS_LOGIN_TCP_PORT
(int)
RADIUS_REPLY_MESSAGE
(int)
RADIUS_CALLBACK_NUMBER
(int)
RADIUS_CALLBACK_ID
(int)
RADIUS_FRAMED_ROUTE
(int)
RADIUS_FRAMED_IPX_NETWORK
(int)
0xFFFFFFFE para indicar que el cliente RADIUS debe seleccionar
la red, y puede ser accedido mediante la función
radius_cvt_int().
RADIUS_STATE
(int)
RADIUS_CLASS
(int)
RADIUS_VENDOR_SPECIFIC
(int)
RADIUS_SESSION_TIMEOUT
(int)
RADIUS_IDLE_TIMEOUT
(int)
RADIUS_TERMINATION_ACTION
(int)
RADIUS_CALLED_STATION_ID
(int)
RADIUS_CALLING_STATION_ID
(int)
RADIUS_NAS_IDENTIFIER
(int)
RADIUS_PROXY_STATE
(int)
RADIUS_LOGIN_LAT_SERVICE
(int)
RADIUS_LOGIN_LAT_NODE
(int)
RADIUS_LOGIN_LAT_GROUP
(int)
RADIUS_FRAMED_APPLETALK_LINK
(int)
RADIUS_FRAMED_APPLETALK_NETWORK
(int)
RADIUS_FRAMED_APPLETALK_ZONE
(int)
RADIUS_CHAP_CHALLENGE
(int)
RADIUS_NAS_PORT_TYPE
(int)
Tipo de puerto NAS:
RADIUS_ASYNCRADIUS_SYNCRADIUS_ISDN_SYNCRADIUS_ISDN_ASYNC_V120RADIUS_ISDN_ASYNC_V110RADIUS_VIRTUALRADIUS_PIAFSRADIUS_HDLC_CLEAR_CHANNELRADIUS_X_25RADIUS_X_75RADIUS_G_3_FAXRADIUS_SDSLRADIUS_ADSL_CAPRADIUS_ADSL_DMTRADIUS_IDSLRADIUS_ETHERNETRADIUS_XDSLRADIUS_CABLERADIUS_WIRELESS_OTHERRADIUS_WIRELESS_IEEE_802_11RADIUS_PORT_LIMIT
(int)
RADIUS_LOGIN_LAT_PORT
(int)
RADIUS_CONNECT_INFO
(int)
RADIUS_ACCT_STATUS_TYPE
(int)
Tipo de estado de la cuenta:
RADIUS_ACCT_DELAY_TIME
(int)
RADIUS_ACCT_INPUT_OCTETS
(int)
RADIUS_ACCT_OUTPUT_OCTETS
(int)
RADIUS_ACCT_SESSION_ID
(int)
RADIUS_ACCT_AUTHENTIC
(int)
Identificación auténtica, uno entre:
RADIUS_ACCT_SESSION_TIME
(int)
RADIUS_ACCT_INPUT_PACKETS
(int)
RADIUS_ACCT_OUTPUT_PACKETS
(int)
RADIUS_ACCT_TERMINATE_CAUSE
(int)
Causa de la finalización de la identificación, uno entre:
RADIUS_TERM_USER_REQUESTRADIUS_TERM_LOST_CARRIERRADIUS_TERM_LOST_SERVICERADIUS_TERM_IDLE_TIMEOUTRADIUS_TERM_SESSION_TIMEOUTRADIUS_TERM_ADMIN_RESETRADIUS_TERM_ADMIN_REBOOTRADIUS_TERM_PORT_ERRORRADIUS_TERM_NAS_ERRORRADIUS_TERM_NAS_REQUESTRADIUS_TERM_NAS_REBOOTRADIUS_TERM_PORT_UNNEEDEDRADIUS_TERM_PORT_PREEMPTEDRADIUS_TERM_PORT_SUSPENDEDRADIUS_TERM_SERVICE_UNAVAILABLERADIUS_TERM_CALLBACKRADIUS_TERM_USER_ERRORRADIUS_TERM_HOST_REQUESTRADIUS_ACCT_MULTI_SESSION_ID
(int)
RADIUS_ACCT_LINK_COUNT
(int)
RADIUS_LOGIN
RADIUS_FRAMED
RADIUS_CALLBACK_LOGIN
RADIUS_CALLBACK_FRAMED
RADIUS_OUTBOUND
RADIUS_ADMINISTRATIVE
RADIUS_NAS_PROMPT
RADIUS_AUTHENTICATE_ONLY
RADIUS_CALLBACK_NAS_PROMPT
RADIUS_PPP
RADIUS_SLIP
RADIUS_ARAP
RADIUS_GANDALF
RADIUS_XYLOGICS
RADIUS_COMP_NONE
RADIUS_COMP_VJ
RADIUS_COMP_IPXHDR
RADIUS_COMP_STAC_LZS
RADIUS_ASYNC
RADIUS_SYNC
RADIUS_ISDN_SYNC
RADIUS_ISDN_ASYNC_V120
RADIUS_ISDN_ASYNC_V110
RADIUS_VIRTUAL
RADIUS_PIAFS
RADIUS_HDLC_CLEAR_CHANNEL
RADIUS_X_25
RADIUS_X_75
RADIUS_G_3_FAX
RADIUS_SDSL
RADIUS_ADSL_CAP
RADIUS_ADSL_DMT
RADIUS_IDSL
RADIUS_ETHERNET
RADIUS_XDSL
RADIUS_CABLE
RADIUS_WIRELESS_OTHER
RADIUS_WIRELESS_IEEE_802_11
RADIUS_START
RADIUS_STOP
RADIUS_ACCOUNTING_ON
RADIUS_ACCOUNTING_OFF
RADIUS_AUTH_RADIUS
RADIUS_AUTH_LOCAL
RADIUS_AUTH_REMOTE
RADIUS_TERM_USER_REQUEST
RADIUS_TERM_LOST_CARRIER
RADIUS_TERM_LOST_SERVICE
RADIUS_TERM_IDLE_TIMEOUT
RADIUS_TERM_SESSION_TIMEOUT
RADIUS_TERM_ADMIN_RESET
RADIUS_TERM_ADMIN_REBOOT
RADIUS_TERM_PORT_ERROR
RADIUS_TERM_NAS_ERROR
RADIUS_TERM_NAS_REQUEST
RADIUS_TERM_NAS_REBOOT
RADIUS_TERM_PORT_UNNEEDED
RADIUS_TERM_PORT_PREEMPTED
RADIUS_TERM_PORT_SUSPENDED
RADIUS_TERM_CALLBACK
RADIUS_TERM_USER_ERROR
RADIUS_TERM_HOST_REQUEST
RADIUS_MICROSOFT_MS_CHAP_RESPONSE
RADIUS_MICROSOFT_MS_CHAP_ERROR
RADIUS_MICROSOFT_MS_CHAP_PW_1
RADIUS_MICROSOFT_MS_CHAP_PW_2
RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
RADIUS_MICROSOFT_MS_RAS_VENDOR
RADIUS_MICROSOFT_MS_CHAP_DOMAIN
RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
RADIUS_MICROSOFT_MS_BAP_USAGE
RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
RADIUS_MICROSOFT_MS_RAS_VERSION
RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
RADIUS_MICROSOFT_MS_FILTER
RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
RADIUS_MICROSOFT_MS_CHAP2_PW
RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_ARAP_CHALLENGE