1 Microsoft Call Back Configuration Protocol.
3 (updated by Paul Mackerras)
5 The CBCP is a method by which the Microsoft Windows NT Server may
6 implement additional security. It is possible to configure the server
7 in such a manner so as to require that the client systems which
8 connect with it are required that following a valid authentication to
9 leave a method by which the number may be returned call.
11 It is a requirement of servers to be so configured that the protocol be
14 So, this set of patches may be applied to the pppd process to enable
15 the cbcp client *only* portion of the specification. It is primarily
16 meant to permit connection with Windows NT Servers.
18 The ietf-working specification may be obtained from ftp.microsoft.com
19 in the developr/rfc directory.
21 The ietf task group has decided to recommend that the LCP sequence be
22 extended to permit the callback operation. For this reason, these
23 patches are not 'part' of pppd but are an adjunct to the code.
25 To enable CBCP support, all that is required is to change the
26 appropriate Makefile in the pppd subdirectory to add "-DCBCP_SUPPORT"
27 to the CFLAGS definition and add cbcp.o to the list of object files,
28 and then recompile pppd. The patch below does this for Makefile.bsd
29 and Makefile.linux. You can patch the Makefiles by running
30 patch -p1 < README.cbcp.
32 I use such script to make a callback:
34 pppd debug nodetach /dev/modem 115200 crtscts modem \
35 callback 222222 name NAME remotename SERVER \
36 connect 'chat -v "" atz OK atdt111111 CONNECT ""'
38 pppd debug /dev/modem 115200 crtscts modem \
39 name NAME remotename SERVER defaultroute \
40 connect 'chat -v RING ATA CONNECT "\c"'
42 First we invoke pppd with 'nodetach' option in order to not detach from
43 the controlling terminal and 'callback NUMBER' option, then wait for
44 1 second and invoke pppd again which waits for a callback (RING) and
45 then answers (ATA). Number 222222 is a callback number, i.e. server will
46 call us back at this number, while number 111111 is the number we are
49 You have to put in /etc/ppp/chap-secrets the following two lines:
54 You have to use your real login name, remote server name and password.
56 --------------------------------cut here-------------------------------
57 diff -ur ppp-2.4.1.orig/pppd/Makefile.bsd ppp-2.4.1/pppd/Makefile.bsd
58 --- ppp-2.4.1.orig/pppd/Makefile.bsd Mon Apr 12 08:24:44 1999
59 +++ ppp-2.4.1/pppd/Makefile.bsd Tue Nov 20 02:36:49 2001
61 # -D_BITYPES is for FreeBSD, which doesn't define anything to
62 # tell us that u_int32_t gets defined if <sys/types.h> is included.
63 # Remove for older *BSD systems for which this isn't true.
64 -CFLAGS+= -g -I../include -DHAVE_PATHS_H -D_BITYPES
65 +CFLAGS+= -g -I../include -DHAVE_PATHS_H -D_BITYPES -DCBCP_SUPPORT
68 SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
69 - demand.c auth.c options.c utils.c sys-bsd.c
70 + demand.c auth.c options.c utils.c sys-bsd.c cbcp.c
74 diff -ur ppp-2.4.1.orig/pppd/Makefile.linux ppp-2.4.1/pppd/Makefile.linux
75 --- ppp-2.4.1.orig/pppd/Makefile.linux Wed May 23 05:39:50 2001
76 +++ ppp-2.4.1/pppd/Makefile.linux Tue Nov 20 02:40:56 2001
79 PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
80 auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
88 INCLUDE_DIRS= -I../include
90 -COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
91 +COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP -DCBCP_SUPPORT
93 CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)