This chapter describes implementation specific details of MPD.
Mpd supports authentication and accounting by calling external scripts.
Pathes to that scripts must be specified using set auth extauth-script ...
and set auth extacct-script ...
commands.
On invocation extauth script receives on stdin set of request attribute:value pairs terminated by empty line and must generate response in same format on stdout.
Currently supported request attributes:
USER_NAME USER_PASSWORD - present for PAP auth only LINK NAS_PORT NAS_PORT_TYPE CALLING_STATION_ID CALLED_STATION_ID PEER_ADDR PEER_PORT PEER_IDENT
Currently supported response attributes:
RESULT - one of SUCCESS, UNDEF or FAIL USER_NAME USER_PASSWORD - if RESULT=UNDEF this field should contain correct user password FRAMED_IP_ADDRESS FRAMED_ROUTE FRAMED_IPV6_ROUTE FRAMED_MTU FRAMED_POOL SESSION_TIMEOUT IDLE_TIMEOUT REPLY_MESSAGE MS_CHAP_ERROR MPD_RULE MPD_PIPE MPD_QUEUE MPD_TABLE MPD_TABLE_STATIC MPD_FILTER MPD_LIMIT
On invocation extacct script receives on stdin set of request attribute:value pairs terminated by empty line and must generate response in same format on stdout.
Currently supported request attributes:
ACCT_STATUS_TYPE ACCT_SESSION_ID ACCT_MULTI_SESSION_ID USER_NAME IFACE BUNDLE LINK NAS_PORT NAS_PORT_TYPE ACCT_LINK_COUNT CALLING_STATION_ID CALLED_STATION_ID PEER_ADDR PEER_PORT PEER_IDENT FRAMED_IP_ADDRESS ACCT_TERMINATE_CAUSE ACCT_SESSION_TIME ACCT_INPUT_OCTETS ACCT_INPUT_PACKETS ACCT_OUTPUT_OCTETS ACCT_OUTPUT_PACKETS
Currently supported response attributes:
MPD_DROP_USER - nonzero value means that link should be disconnected
Script may specify any combination of attributes it needs. The only mandatory attribute is RESULT. For description of most attributes look their RADIUS alternatives.