User`s guide

232
K
A
DAK
KwikNet PPP Option
6.4 PPP Authentication Parameters
If any of your PPP networks require PAP, CHAP, MS-CHAP or EAP authentication, you
must provide the KwikNet PPP network driver with access to the authentication parameters
needed to support these protocols. These parameters are the heart of your PPP security
system. The maintenance and safekeeping of these parameters is your responsibility.
The KwikNet PPP authentication parameters for each PPP network interface are located in
array kn_ppp_auth[] in module KN_PPPAA.C located in the KwikNet PPP installation
directory. The authentication parameters are specified in a knx_ppp_admin structure
which is defined in module KN_PPPAA.C.
struct knx_ppp_admin { /* PPP administration structure */
const char xad_tag[KN_TAGSIZE]; /* PPP network tag */
struct knx_authnset xad_pap; /* PAP parameters */
struct knx_authnset xad_chap; /* CHAP parameters */
#ifdef TM_USE_PPP_MSCHAP
struct knx_authnset xad_mschap1; /* MS-CHAP v1 parameters */
#endif
#ifdef TM_USE_EAP
struct knx_authnset xad_eapmd5; /* EAP-MD5 parameters */
#endif
};
The network tag is provided to identify the PPP network interface to which the
authentication parameters apply. This tag must exactly match the tag used in the network
definition when the network interface was added to your KwikNet configuration.
For each supported authentication protocol, you must provide the authentication
parameters in a knx_authnset structure which is defined in module KN_PPPAA.C. The
structure provides the name and password (secret) for both the local network interface
and the peer. Some protocols also require the challenge name.
struct knx_authnset { /* PPP authentication set */
struct knx_authn *xad_lname; /* Local name */
struct knx_authn *xad_lsecret; /* Local secret */
struct knx_authn *xad_pname; /* Peer name */
struct knx_authn *xad_psecret; /* Peer secret */
struct knx_authn *xad_phost; /* Challenge name */
};
Each authentication parameter is specified as a constant array of characters. The
parameter is provided in a knx_authn structure which is defined in module KN_PPPAA.C.
The structure provides the length of the authentication parameter and a pointer to the
character array which constitutes the parameter.
struct knx_authn { /* PPP authentication parameter */
short int xad_length; /* Length of parameter */
short int xad_rsv1; /* Reserved for alignment */
const char *xad_value; /* Pointer to parameter value */
};