From a9bd7962502657372612ea13f89f9882d53d78ad Mon Sep 17 00:00:00 2001 From: brian Date: Sat, 17 Oct 1998 12:28:08 +0000 Subject: If the client asks for CBCP, then replies with CBCP_NONUM to our REQ, allow no dialback - but only if we've ``set cbcp *''.. Suggested by: Andrzej Tobola --- usr.sbin/ppp/cbcp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'usr.sbin') diff --git a/usr.sbin/ppp/cbcp.c b/usr.sbin/ppp/cbcp.c index 27f83e9..a8689f8 100644 --- a/usr.sbin/ppp/cbcp.c +++ b/usr.sbin/ppp/cbcp.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cbcp.c,v 1.1 1998/08/07 18:44:16 brian Exp $ + * $Id: cbcp.c,v 1.2 1998/08/26 17:39:38 brian Exp $ */ #include @@ -548,6 +548,13 @@ cbcp_CheckResponse(struct cbcp *cbcp, struct cbcp_data *data) log_Printf(LogPHASE, "Internal CBCP error - agreed on %d ??!?\n", (int)cbcp->fsm.type); return CBCP_ACTION_DOWN; + } else if (data->type == CBCP_NONUM && cbcp->fsm.type == CBCP_CLIENTNUM) { + /* + * Client doesn't want CBCP after all.... + * We only allow this when ``set cbcp *'' has been specified. + */ + cbcp->fsm.type = CBCP_NONUM; + return CBCP_ACTION_ACK; } log_Printf(LogCBCP, "Invalid peer RESPONSE\n"); return CBCP_ACTION_REQ; -- cgit v1.1