pptp client
 overview
 license
 getting started
 features
 try it
 download
 links
 documentation 
 index
 debian
 fedora core 1
 fedora core 2
 fedora core 3
 fedora core 4
 fedora core 5
 fedora core 6
 gentoo
 knoppix
 mandrake 9.0
 mandrake 10.0
 mandrake 10.1
 netbsd
 red hat 9
 red hat 8.0
 red hat 7.3
 suse 10.0
 suse 9.2
 suse 9.1
 suse 8.2
 ubuntu
 diagnosis
 support faq
 diagrams
 routing
 security
team
 developers
 cvs
 contact us
 

PPTP Client


Red Hat 8.0 HOWTO
... with OpenSSL license conflicting with kernel license

by James Cameron
24th March 2003

This describes how to install PPTP Client on a Red Hat 8.0 system. It was tested on a system installed from CD-ROM, without updates.

Install OpenSSL licensed MPPE kernel module and PPP

This method of installing MPPE uses an older OpenSSL licensed module, which although it works is incompatible with the license of the Linux kernel.

  1. download the 2.4.0-4 ppp-mppe rpm from our download section.

  2. install ignoring dependencies:

    # rpm -Uvh --nodeps ppp-mppe-2.4.0-4.i386.rpm

    The installation script should tell you that you will have to build the kernel module yourself.

    Note: if you are using apt, then installing --nodeps is not good; it causes apt to choke on any further installs. We suggest you use the GPL-compatible module instead.

  3. install the kernel-source package from CD #2:

    # mount /dev/cdrom /mnt/cdrom
    # cd /mnt/cdrom/RedHat/RPMS/
    # rpm -i kernel-source-2.4.18-14.i386.rpm

  4. patch the kernel Makefile for compatibility with the module source:

    In the directory /usr/src/linux-2.4.18-14/ edit the Makefile and remove custom from the EXTRAVERSION definition:

    change

    EXTRAVERSION = -14custom

    to

    EXTRAVERSION = -14

  5. adopt the configuration file and prepare the module build environment:

    # cp /boot/config-2.4.18-14 ./.config
    # make dep

    The make dep can take some time.

  6. patch the source for compatibility with the new kernel:

    In the directory /usr/lib/ppp-mppe-2.4.0/linux/kernel/ edit the ppp_mppe.c source file, and change malloc.h to slab.h:

    change

    #include <linux/malloc.h>

    to

    #include <linux/slab.h>

    In the same directory change the Makefile definition of MODVFLAGS (line 168 or so) from

    MODVFLAGS =

    to

    MODVFLAGS = -include $(KINCLUDES)/linux/rhconfig.h

  7. build the kernel modules:

    # cd /usr/lib/ppp-mppe-2.4.0/linux
    # ./kmodbuild.sh /usr/src/linux-2.4.18-14/

    The build may generate some warnings. These can be ignored.

  8. install the kernel modules:

    # kernel-modules/kmodinst.sh kernel-modules/new-2.4.18-14/

    Note: the install script may fail if there is no path to the depmod

  9. edit /etc/modules.conf and change char-major-108 ppp to char-major-108 ppp_generic. There should then be these lines in the file:

    alias char-major-108 ppp_generic
    alias ppp-compress-18 mppe

  10. test that you can load the module:

    Run depmod if you changed the /etc/modules.conf file or if it failed to run in the install script:

    # depmod -a

    Ask the kernel to try to load the MPPE module:

    # modprobe ppp-compress-18

Install PPTP

  1. download the latest pptp-linux rpm from our download section.

  2. install in the normal manner:

    # rpm -i pptp-linux-1.2.0-1.i386.rpm

Configure PPTP

Configure and test using pptp-command as per the Red Hat 6.2 HOWTO.


Comments

If you have comments on this document, please send them to the author at james.cameron at hp.com.

ChangeLog

DateChange
2003-03-24
Move to separate document.

2003-01-29 Mention that depmod may fail. Reported by Riaan Rossouw.

2003-01-20 Better explain MODVFLAGS change, requested by Bart Coninckx

2003-01-03 Remove use of patch, many people didn't understand it. Point to GPL-compatible module instructions.

2002-12-30 Add another MODVFLAGS change that is architecture independent, from Florian.

2002-12-20 Add MODVFLAGS Makefile pointer from Mr Gensch.

2002-12-10 Add MODVFLAGS workaround from Mahesh Shirgaonkar.

2002-11-22 Add link to beta test kernel page.