if (auth_required && !wo->neg_chap && !wo->neg_upap) { fprintf(stderr, "\ pppd: peer authentication required but no suitable secret(s) found\n");
if (auth_required && !can_auth) { option_error("peer authentication required but no suitable secret(s) found\n"); if (remote_name[0] == 0) option_error("for authenticating any peer to us (%s)\n", our_name); else option_error("for authenticating peer %s to us (%s)\n", remote_name, our_name);
auth_check_options(){    lcp_options *wo = &lcp_wantoptions[0];    int can_auth;    lcp_options *ao = &lcp_allowoptions[0];    ipcp_options *ipwo = &ipcp_wantoptions[0];    u_int32_t remote;    /* Default our_name to hostname, and user to our_name */    if (our_name[0] == 0 || usehostname)	strcpy(our_name, hostname);    if (user[0] == 0)	strcpy(user, our_name);    /* If authentication is required, ask peer for CHAP or PAP. */    if (auth_required && !wo->neg_chap && !wo->neg_upap) {	wo->neg_chap = 1;	wo->neg_upap = 1;    }    /*     * Check whether we have appropriate secrets to use     * to authenticate ourselves and/or the peer.     */    if (ao->neg_upap && passwd[0] == 0 && !get_upap_passwd(passwd))	ao->neg_upap = 0;    if (wo->neg_upap && !uselogin && !have_upap_secret())	wo->neg_upap = 0;    if (ao->neg_chap && !have_chap_secret(our_name, remote_name, (u_int32_t)0))	ao->neg_chap = 0;    if (wo->neg_chap) {	remote = ipwo->accept_remote? 0: ipwo->hisaddr;	if (!have_chap_secret(remote_name, our_name, remote))	    wo->neg_chap = 0;    }    if (auth_required && !wo->neg_chap && !wo->neg_upap) {	fprintf(stderr, "\pppd: peer authentication required but no suitable secret(s) found\n");	exit(1);    }}