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 (entier)

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 (entier)

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 (entier)

L'attribut Chap-Password. La valeur de l'attribut doit être une chaîne contenant le premier octet (qui est l'identifiant CHAP), puis la sous 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. Notez que la valeur du challenge CHAP doit aussi être envoyé 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$secret33);
radius_create_request($radhRADIUS_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 md5(pack('Ca*'$ident$password.$challenge), true);
radius_put_attr($radhRADIUS_CHAP_PASSWORDpack('C'$ident).$cp);

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

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

RADIUS_NAS_IP_ADDRESS (entier)

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

RADIUS_NAS_PORT (entier)

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 (entier)

L'attribut Service-Type. La valeur de l'attribut indique le type de service que l'utilisateur requète, 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_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 (entier)

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_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (entier)

L'attribut Framed-IP-Address. La valeur attendue est une adresse 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_IP_NETMASK (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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_COMP_NONE : Aucune compression
  • RADIUS_COMP_VJ : Compression de l'en-tête VJ TCP/IP
  • RADIUS_COMP_IPXHDR : Compression de l'en-tête IPX
  • RADIUS_COMP_STAC_LZS : Compression Stac-LZS (ajouté en PECL radius 1.3.0b2)

RADIUS_LOGIN_IP_HOST (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

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 (entier)

Timeout de la session

RADIUS_IDLE_TIMEOUT (entier)

Durée d'expiration

RADIUS_TERMINATION_ACTION (entier)

Action de termination

RADIUS_CALLED_STATION_ID (entier)

Identifiant de la station appelée

RADIUS_CALLING_STATION_ID (entier)

Identifiant de la station appelant

RADIUS_NAS_IDENTIFIER (entier)

Identifiant NAS

RADIUS_PROXY_STATE (entier)

Statut du Proxy

RADIUS_LOGIN_LAT_SERVICE (entier)

Service d'identification LAT

RADIUS_LOGIN_LAT_NODE (entier)

Noeud d'identification LAT

RADIUS_LOGIN_LAT_GROUP (entier)

Groupe d'identification LAT

Lien framé Appletalk

RADIUS_FRAMED_APPLETALK_NETWORK (entier)

Réseau framé Appletalk

RADIUS_FRAMED_APPLETALK_ZONE (entier)

Zone framé Appletalk

RADIUS_CHAP_CHALLENGE (entier)

Challenge

RADIUS_NAS_PORT_TYPE (entier)

Type du port NAS :

  • 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 (entier)

Limite du port

RADIUS_LOGIN_LAT_PORT (entier)

Port d'identification LAT

RADIUS_CONNECT_INFO (entier)

Information de connexion

RADIUS_ACCT_STATUS_TYPE (entier)

Type de statut du compte :

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (entier)

Délai maximal d'identification

RADIUS_ACCT_INPUT_OCTETS (entier)

Octets d'entrée d'identification

RADIUS_ACCT_OUTPUT_OCTETS (entier)

Octets de sortie d'identification

RADIUS_ACCT_SESSION_ID (entier)

Identifiant de session d'identification

RADIUS_ACCT_AUTHENTIC (entier)

Identification authentique, un parmi :

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (entier)

Durée de la session d'identification

RADIUS_ACCT_INPUT_PACKETS (entier)

Paquets d'entrée d'identification

RADIUS_ACCT_OUTPUT_PACKETS (entier)

Paquets de sortie d'identification

RADIUS_ACCT_TERMINATE_CAUSE (entier)

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

  • 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 (entier)

Identifiant d'une session multiple d'identification

Nombre de liens d'identification