Microsoft Call Back Configuration Protocol. by Pedro Roque Marques (updated by Paul Mackerras) The CBCP is a method by which the Microsoft Windows NT Server may implement additional security. It is possible to configure the server in such a manner so as to require that the client systems which connect with it are required that following a valid authentication to leave a method by which the number may be returned call. It is a requirement of servers so configured that the protocol be exchanged. So, this set of patches may be applied to the pppd process to enable the cbcp client *only* portion of the specification. It is primarily meant to permit connection with Windows NT Servers. The ietf-working specification may be obtained from ftp.microsoft.com in the developr/rfc directory. The ietf task group has decided to recommend that the LCP sequence be extended to permit the callback operation. For this reason, these patches are not 'part' of pppd but are an adjunct to the code. To enable CBCP support, all that is required is to change the appropriate Makefile in the pppd subdirectory to add "-DCBCP_SUPPORT" to the CFLAGS definition and add cbcp.o to the list of object files, and then recompile pppd. The patch below does this for Makefile.bsd and Makefile.linux. --------------------------------cut here------------------------------- diff -r -c ppp-2.3.orig/pppd/Makefile.bsd ppp-2.3/pppd/Makefile.bsd *** ppp-2.3.orig/pppd/Makefile.bsd Tue Oct 8 13:33:33 1996 --- ppp-2.3/pppd/Makefile.bsd Fri Apr 11 23:59:15 1997 *************** *** 4,14 **** # -D_BITYPES is for FreeBSD, which doesn't define anything to # tell us that u_int32_t gets defined if is included. # Remove for older *BSD systems for which this isn't true. ! CFLAGS+= -g -I.. -DHAVE_PATHS_H -D_BITYPES PROG= pppd SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \ ! demand.c auth.c options.c sys-bsd.c MAN= pppd.cat8 MAN8= pppd.8 BINMODE=4555 --- 4,14 ---- # -D_BITYPES is for FreeBSD, which doesn't define anything to # tell us that u_int32_t gets defined if is included. # Remove for older *BSD systems for which this isn't true. ! CFLAGS+= -I.. -DHAVE_PATHS_H -D_BITYPES -DCBCP_SUPPORT PROG= pppd SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \ ! demand.c auth.c options.c sys-bsd.c cbcp.c MAN= pppd.cat8 MAN8= pppd.8 BINMODE=4555 diff -r -c ppp-2.3.orig/pppd/Makefile.linux ppp-2.3/pppd/Makefile.linux *** ppp-2.3.orig/pppd/Makefile.linux Tue Oct 8 15:42:41 1996 --- ppp-2.3/pppd/Makefile.linux Sat Apr 12 00:02:28 1997 *************** *** 14,20 **** ipxcp.h cbcp.h MANPAGES = pppd.8 PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \ ! auth.o options.o demand.o sys-linux.o ipxcp.o all: pppd --- 14,20 ---- ipxcp.h cbcp.h MANPAGES = pppd.8 PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \ ! auth.o options.o demand.o sys-linux.o ipxcp.o cbcp.o all: pppd *************** *** 36,42 **** #INCLUDE_DIRS= -I/usr/include -I.. INCLUDE_DIRS= ! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) --- 36,42 ---- #INCLUDE_DIRS= -I/usr/include -I.. INCLUDE_DIRS= ! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DCBCP_SUPPORT CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)