Javascript debugger
Website design
↑
This package is based on the libradius of FreeBSD. This PECL adds full support for Radius Authentication (» RFC 2865) and Radius Accounting (» RFC 2866). This package is available for Unix (tested on FreeBSD and Linux) and for Windows.
Howto install the package?
or if you would like to have it as .so:
For Windows I recommend to use the
php_radius.dll
from
» http://snaps.php.net/.
Unbundled PECL
extensions may be downloaded from:
» http://pecl4win.php.net/
The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.
RADIUS_ACCESS_REQUEST
()
RADIUS_ACCESS_ACCEPT
()
RADIUS_ACCESS_REJECT
()
RADIUS_ACCOUNTING_REQUEST
()
RADIUS_ACCOUNTING_RESPONSE
()
RADIUS_ACCESS_CHALLENGE
()
RADIUS_USER_NAME
(string)
RADIUS_USER_PASSWORD
(string)
RADIUS_CHAP_PASSWORD
(string)
RADIUS_NAS_IP_ADDRESS
(string)
RADIUS_NAS_PORT
(int)
RADIUS_SERVICE_TYPE
(int)
Type of Service, one of:
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_FRAMED_PROTOCOL
(int)
Framed Protocol, one of:
RADIUS_PPP |
RADIUS_SLIP |
RADIUS_ARAP |
RADIUS_GANDALF |
RADIUS_XYLOGICS |
RADIUS_FRAMED_IP_ADDRESS
(string)
RADIUS_FRAMED_IP_NETMASK
(string)
RADIUS_FRAMED_ROUTING
(int)
RADIUS_FILTER_ID
(string)
RADIUS_FRAMED_MTU
(int)
RADIUS_FRAMED_COMPRESSION
(int)
Compression, one of:
RADIUS_COMP_NONE |
RADIUS_COMP_VJ |
RADIUS_COMP_IPXHDR |
RADIUS_LOGIN_IP_HOST
(string)
RADIUS_LOGIN_SERVICE
(int)
RADIUS_LOGIN_TCP_PORT
(int)
RADIUS_REPLY_MESSAGE
(string)
RADIUS_CALLBACK_NUMBER
(string)
RADIUS_CALLBACK_ID
(string)
RADIUS_FRAMED_ROUTE
(string)
RADIUS_FRAMED_IPX_NETWORK
(string)
RADIUS_STATE
(string)
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
(string)
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
(string)
RADIUS_NAS_PORT_TYPE
(int)
NAS port type, one of:
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_PORT_LIMIT
(int)
RADIUS_LOGIN_LAT_PORT
(int)
RADIUS_CONNECT_INFO
(string)
RADIUS_ACCT_STATUS_TYPE
(int)
Accounting status type, one of:
RADIUS_START |
RADIUS_STOP |
RADIUS_ACCOUNTING_ON |
RADIUS_ACCOUNTING_OFF |
RADIUS_ACCT_DELAY_TIME
(int)
RADIUS_ACCT_INPUT_OCTETS
(int)
RADIUS_ACCT_OUTPUT_OCTETS
(int)
RADIUS_ACCT_SESSION_ID
(int)
RADIUS_ACCT_AUTHENTIC
(int)
Accounting authentic, one of:
RADIUS_AUTH_RADIUS |
RADIUS_AUTH_LOCAL |
RADIUS_AUTH_REMOTE |
RADIUS_ACCT_SESSION_TIME
(int)
RADIUS_ACCT_INPUT_PACKETS
(int)
RADIUS_ACCT_OUTPUT_PACKETS
(int)
RADIUS_ACCT_TERMINATE_CAUSE
(int)
Accounting terminate cause, one of:
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_SERVICE_UNAVAILABLE |
RADIUS_TERM_CALLBACK |
RADIUS_TERM_USER_ERROR |
RADIUS_TERM_HOST_REQUEST |
RADIUS_ACCT_MULTI_SESSION_ID
(string)
RADIUS_ACCT_LINK_COUNT
(int)
RADIUS_VENDOR_MICROSOFT
(int)
Microsoft specific vendor attributes (» RFC 2548), one of:
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 |
Howto start?
Take also a look at the examples in this package.
The package contains an example php script. This script demonstrates howto authenticate with radius using PAP or CHAP (md5). If you authenticate with Microsoft Radius servers then its not possible to use CHAP (md5). If you would like to authenticate with Microsoft Servers you have to use MS-CHAPv1 or MS-CHAPv2, but its more complicated, because you need md4, sha1 and des to generate the right data. The enclosed examples demonstrate all authentication-methods, including MS-CHAPv1 and MS-CHAPv2. To get the MS-CHAP to work you need the mcrypt and the mhash extension, starting with version 1.2 of the package, the mcrypt extension is no longer needed.
If you have comments, bugfixes, enhancements or want to help to develop this you can send me a mail at » mbretter@php.net. Binaries for Windows can be downloaded from » here.
Table of Contents