Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Jul 1999 22:59:41 +0100
From:      Josef Karthauser <joe@pavilion.net>
To:        Brian Somers <brian@Awfulhak.org>
Cc:        Mark Thomas <thomas@clark.net>, freebsd-current@FreeBSD.org, Wayne Self <wself@cdrom.com>
Subject:   Re: userland ppp - startup
Message-ID:  <19990725225941.B74812@pavilion.net>
In-Reply-To: <199907072102.WAA19958@dev.lan.awfulhak.org>; from Brian Somers on Wed, Jul 07, 1999 at 10:02:44PM %2B0100
References:  <19990707103746.A30024@pavilion.net> <199907072102.WAA19958@dev.lan.awfulhak.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii

On Wed, Jul 07, 1999 at 10:02:44PM +0100, Brian Somers wrote:
> 
> This aside, I think there are more bits required for the patches :*1
> 
> rc.conf.5 needs to be updated - that's the easy bit.
Done - see attached.
 
> I think we also need a src/etc/ppp/ppp.conf that installs with 0600 
> permissions at installation time.  This file would have a default 
> and a papchap entry in it - that's where the url for Waynes ppp.conf 
> comes in - its contents are probably what we're after.  Older versions 
> of src/etc/Makefile installed ppp.conf, so it should be easy to do that 
> side of things.
Done - attached is Waynes ppp.conf and a patch for /usr/src/etc/Makefile.
 
> Sysinstall however is also capable of writing ppp.conf.  It would 
> need to be smart enough to update the default one with the lines that 
> it wants to use (just appending an ``install'' label with the 
> necessary bits is probably the best thing to do).  This answers your 
> other question..... src/release/sysinstall/network.c - search for 
> ppp.conf.  That's how sysinstall does it :-)
Attached is network.c.patch, which should do the right thing.  It
simply appends to /etc/ppp/ppp.conf with an 'install' profile, and also
sets the relevent rc.conf variables so that the configuration survives
across reboots.  (This should probably be a little more intelligent,
but lets get the functionality in first and "better" it up later.)

> Ha, and you thought it'd be straight forward ;^P
Of course not ;).
 
Joe
-- 
Josef Karthauser	FreeBSD: How many times have you booted today?
Technical Manager	Viagra for your server (http://www.uk.freebsd.org)
Pavilion Internet plc.  [joe@pavilion.net, joe@uk.freebsd.org, joe@tao.org.uk]

--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="usr_src_etc_ppp_ppp.conf"

#################################################################
# PPP  Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by wself@cdrom.com
#
# $Id$
#################################################################

default:

 #
 # Instructions:
 #
 # edit the next three lines and replace the items in caps with
 # the values which have been assigned by your ISP.
 #

 set phone PHONE_NUM
 set authname USERNAME
 set authkey PASSWORD

 #
 # Make sure that "device" references the correct serial port
 # for your modem. (cuaa0 = COM1, cuaa1 = COM2)
 #

 set device /dev/cuaa1

 set log Phase Chat LCP IPCP CCP tun command
 set speed 115200
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"

 set timeout 120
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add default HISADDR
 enable dns


--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="usr_src_etc_Makefile.patch"

Index: etc/Makefile
===================================================================
RCS file: /home/ncvs/src/etc/Makefile,v
retrieving revision 1.201
diff -u -r1.201 Makefile
--- Makefile	1999/07/10 18:02:12	1.201
+++ Makefile	1999/07/25 17:46:57
@@ -24,6 +24,7 @@
 	BSD.var.dist BSD.x11.dist
 NAMEDB= PROTO.localhost.rev named.conf named.root make-localhost
 PPPCNF= ppp.deny ppp.shells.sample
+PPPCF2= ppp.conf
 NOSPAM=	Makefile README
 
 
@@ -79,6 +80,8 @@
 	    ${NAMEDB} ${DESTDIR}/etc/namedb
 	cd ${.CURDIR}/ppp; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 \
 	    ${PPPCNF} ${DESTDIR}/etc/ppp
+	cd ${.CURDIR}/ppp; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 600 \
+	    ${PPPCF2} ${DESTDIR}/etc/ppp
 	cd ${.CURDIR}/mail; ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 \
 	    ${NOSPAM} ${DESTDIR}/etc/mail
 	${INSTALL} -c -o ${BINOWN} -g operator -m 664 /dev/null \

--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="usr_src_share_man_man5_rc.conf.5.patch"

Index: rc.conf.5
===================================================================
RCS file: /home/ncvs/src/share/man/man5/rc.conf.5,v
retrieving revision 1.36
diff -u -r1.36 rc.conf.5
--- rc.conf.5	1999/07/16 09:22:01	1.36
+++ rc.conf.5	1999/07/25 17:19:02
@@ -218,6 +218,30 @@
 .Ed
 Then note that alias4 would \fBnot\fR be added since the search would
 stop with the missing alias3 entry.
+.It Ar ppp_enable
+(bool) If set to
+.Ar YES ,
+run the
+.Xr ppp 8
+daemon.
+.It Ar ppp_mode
+(str) Mode in which to run the
+.Xr ppp 8
+daemon.  Accepted modes are
+.Ar auto , ddial , direct
+and
+.Ar dedicated .
+See the manual for a full description.
+.It Ar ppp_alias
+(bool) If set to
+.Ar YES ,
+enables packet aliasing. Used in conjunction with
+.Ar gateway_enable
+allows hosts on private network addresses access the Internet using
+this host as a network address translating router.
+.It Ar ppp_profile
+(str) The name of the profile to use from
+.Ar /etc/ppp/ppp.conf .
 .It Ar rc_conf_files
 (str) This option is used to specify a list of files that will override
 the settings in

--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="usr_src_release_sysinstall_sysinstall.h"

Index: sysinstall.h
===================================================================
RCS file: /home/ncvs/src/release/sysinstall/sysinstall.h,v
retrieving revision 1.171
diff -u -r1.171 sysinstall.h
--- sysinstall.h	1999/07/19 10:06:17	1.171
+++ sysinstall.h	1999/07/25 21:24:15
@@ -148,6 +148,8 @@
 #define VAR_PCNFSD			"pcnfsd"
 #define VAR_PKG_TMPDIR			"PKG_TMPDIR"
 #define VAR_PORTS_PATH			"ports"
+#define VAR_PPP_ENABLE			"ppp_enable"
+#define VAR_PPP_PROFILE			"ppp_profile"
 #define VAR_RELNAME			"releaseName"
 #define VAR_ROOT_SIZE			"rootSize"
 #define VAR_ROUTER			"router"

--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="usr_src_release_sysinstall_network.c"

Index: network.c
===================================================================
RCS file: /home/ncvs/src/release/sysinstall/network.c,v
retrieving revision 1.37
diff -u -r1.37 network.c
--- network.c	1999/07/18 10:18:05	1.37
+++ network.c	1999/07/25 21:56:15
@@ -246,7 +246,7 @@
 	close(fd2);
     }
     if (!Fake)
-	fp = fopen("/etc/ppp/ppp.conf", "w");
+	fp = fopen("/etc/ppp/ppp.conf", "a");
     else
 	fp = fopen("/dev/stderr", "w");
     if (!fp) {
@@ -268,7 +268,7 @@
 	dialog_clear_norefresh();
 	pulse = dialog_yesno("", "Does your telephone line support tone dialing?", -1, -1);
     }
-    fprintf(fp, "default:\n");
+    fprintf(fp, "\ninstall:\n");
     fprintf(fp, " set speed %s\n", speed);
     fprintf(fp, " set device %s\n", devp->devname);
     fprintf(fp, " set ifaddr %s %s\n", myaddr, provider);
@@ -282,10 +282,14 @@
 	fprintf(fp, " set authkey %s\n", authkey);
 	fprintf(fp, " set phone %s\n", phone);
     }
-    if (fchmod(fileno(fp), 0640) != 0)
+    if (fchmod(fileno(fp), 0600) != 0)
 	msgConfirm("Warning: Failed to fix permissions on /etc/ppp/ppp.conf !");
     fclose(fp);
 
+    /* Make the ppp config persistant */  
+    variable_set2(VAR_PPP_ENABLE, "YES", 0);
+    variable_set2(VAR_PPP_PROFILE, "install", 0);
+
     if (!Fake && !file_readable("/dev/tun0") && mknod("/dev/tun0", 0600 | S_IFCHR, makedev(52, 0))) {
 	msgConfirm("Warning:  No /dev/tun0 device.  PPP will not work!");
 	return 0;
@@ -318,7 +322,7 @@
 	}
 	else
 	    msgDebug("ppp: Unable to get the terminal attributes!\n");
-	execlp("ppp", "ppp", (char *)NULL);
+	execlp("ppp", "ppp install", (char *)NULL);
 	msgDebug("PPP process failed to exec!\n");
 	exit(1);
     }

--VbJkn9YxBvnuCH5J--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990725225941.B74812>