Types de paquets RADIUS
Types d'attribut RADIUS spécifique au vendeur
Constantes pré-définies
PHP Manual

## 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, $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 = 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` (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

`RADIUS_FRAMED_APPLETALK_LINK` (entier)

  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

`RADIUS_ACCT_LINK_COUNT` (entier)

  Nombre de liens d'identification

Types de paquets RADIUS
Types d'attribut RADIUS spécifique au vendeur
Constantes pré-définies
PHP Manual