File and Variable Reference
1. Core Files
-
sites-available/gponPurpose: The main virtual server definition for GPON requests. Hooks the request up to the authentication, authorization, accounting, and post-auth modules. -
policy.d/gpon_auth_policyPurpose: The main authentication policy module for GPON. Responsible for parsing and validating the username string and retrieving the plaintext password from the database. -
policy.d/barred_user_policyPurpose: Blocks users whoseBarring-Statusis marked as restricted by the backend systems. -
policy.d/max_session_policyPurpose: Prevents simultaneous login sessions based on the user’s explicit profile rules.
2. Variable Reference Matrix
To logically trace the authorization stream, here are the key variables assigned and read during the GPON process:
2.1. User-Name
-
Purpose: Identifies the incoming client from the network hardware.
-
Dependency Tree:
-
Sent by the client equipment (
request:User-Name). -
Evaluated and sanitized by
gpon_auth_policy(rejects spaces, multiple dots, and empty strings). -
Modifies the internal variable
Tmp-String-0=User-Name. -
Extracted into
Tmp-String-1by taking all characters before the@. -
The last 9 digits of
Tmp-String-1are appended to the prefix94. -
Final canonical
User-Nameis rewritten into the request for Database lookup. -
In
post-auth,reply:User-Nameandsession-state:User-Nameare stripped to prevent leakage to the edge.
-
2.2. CHAP-Password
-
Purpose: The cryptographic challenge response submitted by the client.
-
Dependency Tree:
-
Ingested from the client request.
-
Checked for presence in
gpon_auth_policy. -
Evaluated in the
authenticateblock usingAuth-Type CHAP.
-
2.3. control:Cleartext-Password
-
Purpose: The plaintext password stored in the central AAA database.
-
Dependency Tree:
-
Fetched from the SQL/Redis backend via
gpon_sqlmodule insidegpon_auth_policy. -
If missing or
null, the request is rejected withUser not found.. -
Otherwise, passed to the CHAP module to reconstruct the challenge and verify the
CHAP-Password.
-