LonghornPHP 2026

Types d'attribut RADIUS

Ces constantes définissent des types d'attribut RADIUS qui peuvent être utilisées avec les fonctions radius_put_addr(), radius_put_attr(), radius_put_int() et radius_put_string().

RADIUS_USER_NAME (int)

L'attribut User-Name. La valeur de l'attribut doit être une chaîne de caractères contenant le nom de l'utilisateur désirant s'authentifier, et peut être définie en utilisant la fonction radius_put_attr().

RADIUS_USER_PASSWORD (int)

L'attribut User-Password. La valeur de l'attribut doit être une chaîne de caractères contenant le mot de passe de l'utilisateur, et peut être définie en utilisant la fonction radius_put_attr(). Cette valeur sera brouillée pendant la transmission tel que décrit à la » section 5.2 de la RFC 2865.

RADIUS_CHAP_PASSWORD (int)

L'attribut Chap-Password. La valeur de l'attribut doit être une chaîne contenant le premier octet (qui est l'identifiant CHAP), puis une sous-séquence de 16 octets contenant le hash MD5 de l'identifiant CHAP, le mot de passe en clair, et la valeur du challenge CHAP, le tout, concaténés. Il est à noter que la valeur du challenge CHAP doit aussi être envoyée séparément dans l'attribut RADIUS_CHAP_CHALLENGE.

Exemple #1 Utilisation des mots de passe CHAP

<?php
// D'abord, nous créons un gestionnaire d'authentification et une requête.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Supposons que $password contient le mot de passe en clair :

// Génération du challenge.
$challenge = mt_rand();

// Spécifie un identifiant CHAP.
$ident = 1;

// Ajout de l'attribut Chap-Password.
$cp = hash('md5', pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Ajout de l'attribut Chap-Challenge.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* A partir d'ici, nous pouvons ajouter les autres attributs
 * et appeler la fonction radius_send_request(). */
?>
RADIUS_NAS_IP_ADDRESS (int)

L'attribut NAS-IP-Address. La valeur de l'attribut attendue est l'adresse IP du client RADIUS encodée sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_addr().

RADIUS_NAS_PORT (int)

L'attribut NAS-Port. La valeur de l'attribut attendue est le port physique de l'utilisateur sur le client RADIUS, encodé sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_int().

RADIUS_SERVICE_TYPE (int)

L'attribut Service-Type. La valeur de l'attribut indique le type de service que l'utilisateur requiert, et doit être un entier, qui peut être défini en utilisant la fonction radius_put_int().

Des constantes sont fournies pour représenter les valeurs possibles de cet attribut. Les voici :

RADIUS_FRAMED_PROTOCOL (int)

L'attribut Framed-Protocol. La valeur de l'attribut attendue est un entier, indiquant le framing à utiliser pour l'accès, et peut être définie en utilisant la fonction radius_put_int(). Les valeurs possibles pour cet attribut sont :

RADIUS_FRAMED_IP_ADDRESS (int)

L'attribut Framed-IP-Address. La valeur attendue est une adresse du réseau utilisateur encodée sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_addr() et récupérée en utilisant la fonction radius_cvt_addr().

RADIUS_FRAMED_IP_NETMASK (int)

L'attribut Framed-IP-Netmask. La valeur attendue est un netmask du réseau utilisateur, encodé sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_addr() et récupérée en utilisant la fonction radius_cvt_addr().

RADIUS_FRAMED_ROUTING (int)

L'attribut Framed-Routing. La valeur attendue est un entier indiquant la méthode de routage pour l'utilisateur, qui peut être définie en utilisant la fonction radius_put_int().

Valeurs possibles :

  • 0 : Aucun routage
  • 1 : Envoi des paquets de routage
  • 2 : Ecoute des paquets de routage
  • 3 : Envoi et écoute

RADIUS_FILTER_ID (int)

L'attribut Filter-ID. La valeur attendue est une implémentation spécifique, humainement lisible, de chaînes de filtres, qui peuvent être définies en utilisant la fonction radius_put_attr().

RADIUS_FRAMED_MTU (int)

L'attribut Framed-MTU. La valeur attendue est un entier, indiquant le MTU à configurer pour l'utilisateur, et peut être définie en utilisant la fonction radius_put_int().

RADIUS_FRAMED_COMPRESSION (int)

L'attribut Framed-Compression. La valeur attendue est un entier, indiquant le protocole de compression à utiliser, et peut être définie en utilisant la fonction radius_put_int(). Valeurs possibles :

RADIUS_LOGIN_IP_HOST (int)

L'attribut Login-IP-Host. La valeur attendue est l'adresse IP de connexion de l'utilisateur, encodée sous la forme d'un entier, qui peut être défini en utilisant la fonction radius_put_addr().

RADIUS_LOGIN_SERVICE (int)

L'attribut Login-Service. La valeur attendue est un entier indiquant le service sur lequel l'utilisateur se connecte sur l'hôte d'identification. La valeur peut être convertie en un entier PHP via la fonction radius_cvt_int().

RADIUS_LOGIN_TCP_PORT (int)

L'attribut Login-TCP-Port. La valeur attendue est un entier indiquant le port sur lequel l'utilisateur se connecte sur l'hôte d'identification. La valeur peut être convertie en un entier PHP via la fonction radius_cvt_int().

RADIUS_REPLY_MESSAGE (int)

L'attribut Reply-Message. La valeur attendue est une chaîne de caractères contenant un texte qui peut être affiché à l'utilisateur en réponse à une requête d'accès.

RADIUS_CALLBACK_NUMBER (int)

L'attribut Callback-Number. La valeur attendue est une chaîne de caractères contenant la chaîne de numérotation à utiliser pour la fonction de rappel.

RADIUS_CALLBACK_ID (int)

L'attribut Callback-Id. La valeur attendue est une chaîne contenant le nom de l'implémentation spécifique de la place à appeler.

RADIUS_FRAMED_ROUTE (int)

L'attribut Framed-Route. La valeur attendue est une chaîne contenant un jeu de routes d'implémentation spécifique à configurer pour l'utilisateur.

RADIUS_FRAMED_IPX_NETWORK (int)

L'attribut Framed-IPX-Network. La valeur attendue est un entier contenant le réseau IPX à configurer pour l'utilisateur, ou 0xFFFFFFFE pour indiquer que le client RADIUS doit sélectionner le réseau, et peut être accédé via la fonction radius_cvt_int().

RADIUS_STATE (int)

L'attribut State. La valeur attendue est une chaîne contenant l'implémentation définie incluse dans un Access-Challenge depuis un serveur qui doit être inclus dans la sous-séquence Access-Request, et peut être défini en utilisant la fonction radius_put_attr().

RADIUS_CLASS (int)

L'attribut Class. La valeur attendue est une chaîne arbitraire incluant le message d'un Access-Accept qui doit être envoyé au serveur de comptes dans les messages Accounting-Request, et peut être défini via la fonction radius_put_attr().

RADIUS_VENDOR_SPECIFIC (int)

L'attribut Vendor-Specific. En général, les valeurs de l'attribut du vendeur doivent être définies en utilisant les fonctions radius_put_vendor_addr(), radius_put_vendor_attr(), radius_put_vendor_int() et radius_put_vendor_string(), plutôt que directement.

Cette constante est utile lors de l'interprétation des attributs spécifiques du vendeur dans les réponses d'un serveur RADIUS ; lorsqu'un attribut spécifique du vendeur est reçu, la fonction radius_get_vendor_attr() doit être utilisée pour accéder à l'identifiant du vendeur, le type d'attribut et la valeur de l'attribut.

RADIUS_SESSION_TIMEOUT (int)

Timeout de la session

RADIUS_IDLE_TIMEOUT (int)

Durée d'expiration

RADIUS_TERMINATION_ACTION (int)

Action de termination

RADIUS_CALLED_STATION_ID (int)

Identifiant de la station appelée

RADIUS_CALLING_STATION_ID (int)

Identifiant de la station appelante

RADIUS_NAS_IDENTIFIER (int)

Identifiant NAS

RADIUS_PROXY_STATE (int)

Statut du Proxy

RADIUS_LOGIN_LAT_SERVICE (int)

Service d'identification LAT

RADIUS_LOGIN_LAT_NODE (int)

Noeud d'identification LAT

RADIUS_LOGIN_LAT_GROUP (int)

Groupe d'identification LAT

Lien framé Appletalk

RADIUS_FRAMED_APPLETALK_NETWORK (int)

Réseau framé Appletalk

RADIUS_FRAMED_APPLETALK_ZONE (int)

Zone framée Appletalk

RADIUS_CHAP_CHALLENGE (int)

Challenge

RADIUS_NAS_PORT_TYPE (int)

Type du port NAS :

RADIUS_PORT_LIMIT (int)

Limite du port

RADIUS_LOGIN_LAT_PORT (int)

Port d'identification LAT

RADIUS_CONNECT_INFO (int)

Information de connexion

RADIUS_ACCT_STATUS_TYPE (int)

Type de statut du compte :

RADIUS_ACCT_DELAY_TIME (int)

Délai maximal d'identification

RADIUS_ACCT_INPUT_OCTETS (int)

Octets d'entrée d'identification

RADIUS_ACCT_OUTPUT_OCTETS (int)

Octets de sortie d'identification

RADIUS_ACCT_SESSION_ID (int)

Identifiant de session d'identification

RADIUS_ACCT_AUTHENTIC (int)

Identification authentique, un parmi :

RADIUS_ACCT_SESSION_TIME (int)

Durée de la session d'identification

RADIUS_ACCT_INPUT_PACKETS (int)

Paquets d'entrée d'identification

RADIUS_ACCT_OUTPUT_PACKETS (int)

Paquets de sortie d'identification

RADIUS_ACCT_TERMINATE_CAUSE (int)

Cause de la fin de l'identification, un parmi :

RADIUS_ACCT_MULTI_SESSION_ID (int)

Identifiant d'une session multiple d'identification

Nombre de liens d'identification

Constantes de type de service
RADIUS_LOGIN

RADIUS_FRAMED

RADIUS_CALLBACK_LOGIN

RADIUS_CALLBACK_FRAMED

RADIUS_OUTBOUND

RADIUS_ADMINISTRATIVE

RADIUS_NAS_PROMPT

RADIUS_AUTHENTICATE_ONLY

RADIUS_CALLBACK_NAS_PROMPT

Framed-Protocol Constants
RADIUS_PPP

RADIUS_SLIP

RADIUS_ARAP

RADIUS_GANDALF

RADIUS_XYLOGICS

Framed-Compression Constants
RADIUS_COMP_NONE

RADIUS_COMP_VJ

RADIUS_COMP_IPXHDR

RADIUS_COMP_STAC_LZS

NAS Port Type Constants
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

Accounting Status Type Constants
RADIUS_START

RADIUS_STOP

RADIUS_ACCOUNTING_ON

RADIUS_ACCOUNTING_OFF

Accounting Authentic Constants
RADIUS_AUTH_RADIUS

RADIUS_AUTH_LOCAL

RADIUS_AUTH_REMOTE

Accounting Terminate Cause Constants
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

add a note

User Contributed Notes 1 note

up
3
Anonymous
10 years ago
To fix missing the "Alive" of Acct-Status-Type, just :

define('RADIUS_ALIVE', 3);
To Top