__linux__ (already defined by compiler) not _linux_ (manually defined)
[ppp.git] / README.cbcp
1              Microsoft Call Back Configuration Protocol.
2                         by Pedro Roque Marques
3                         (updated by Paul Mackerras)
4
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.
10
11 It is a requirement of servers to be so configured that the protocol be
12 exchanged.
13
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.
17
18 The ietf-working specification may be obtained from ftp.microsoft.com
19 in the developr/rfc directory.
20
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.
24
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.
31
32 I use such script to make a callback:
33
34 pppd debug nodetach /dev/modem 115200 crtscts modem     \
35 callback 222222 name NAME remotename SERVER     \
36 connect 'chat -v "" atz OK atdt111111 CONNECT ""'
37 sleep 1
38 pppd debug /dev/modem 115200 crtscts modem      \
39 name NAME remotename SERVER defaultroute        \
40 connect 'chat -v RING ATA CONNECT "\c"'
41
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
47 calling to.
48
49 You have to put in /etc/ppp/chap-secrets the following two lines:
50
51 NAME SERVER PASSWORD
52 SERVER NAME PASSWORD
53
54 You have to use your real login name, remote server name and password.
55
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
60 @@ -4,11 +4,11 @@
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
66  
67  PROG=  pppd
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
71  MAN=   pppd.cat8
72  MAN8=  pppd.8
73  BINMODE=4555
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
77 @@ -15,7 +15,7 @@
78  MANPAGES = pppd.8
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 \
81 -          tdb.o tty.o
82 +          tdb.o tty.o cbcp.o
83  
84  all: pppd
85  
86 @@ -56,7 +56,7 @@
87  
88  INCLUDE_DIRS= -I../include
89  
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
92  
93  CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
94