svn commit: r210175 - head/usr.sbin/sysinstall

Bruce Cran brucec at FreeBSD.org
Fri Jul 16 20:42:21 UTC 2010


Author: brucec
Date: Fri Jul 16 20:42:20 2010
New Revision: 210175
URL: http://svn.freebsd.org/changeset/base/210175

Log:
  FreeBSD 8 doesn't support kernel PPP or SLIP; remove code for configuring
  and installing via such devices from sysinstall.
  
  Reviewed by: randi
  Approved by: rrs (mentor)
  MFC after: 1 month

Modified:
  head/usr.sbin/sysinstall/devices.c
  head/usr.sbin/sysinstall/install.c
  head/usr.sbin/sysinstall/menus.c
  head/usr.sbin/sysinstall/network.c

Modified: head/usr.sbin/sysinstall/devices.c
==============================================================================
--- head/usr.sbin/sysinstall/devices.c	Fri Jul 16 20:28:45 2010	(r210174)
+++ head/usr.sbin/sysinstall/devices.c	Fri Jul 16 20:42:20 2010	(r210175)
@@ -321,14 +321,6 @@ deviceGetAll(void)
 	if (!strncmp(ifptr->ifr_name, "lo", 2))
 	    goto loopend;
 
-	/* If we have a slip device, don't register it */
-	if (!strncmp(ifptr->ifr_name, "sl", 2)) {
-	    goto loopend;
-	}
-	/* And the same for ppp */
-	if (!strncmp(ifptr->ifr_name, "tun", 3) || !strncmp(ifptr->ifr_name, "ppp", 3)) {
-	    goto loopend;
-	}
 	/* Try and find its description */
 	for (i = 0, descr = NULL; device_names[i].name; i++) {
 	    int len = strlen(device_names[i].name);
@@ -416,29 +408,6 @@ skipif:
 		}
 		break;
 
-	    case DEVICE_TYPE_NETWORK:
-		fd = deviceTry(device_names[i], try, j);
-		/* The only network devices that you can open this way are serial ones */
-		if (fd >= 0) {
-		    char *newdesc, *cp;
-
-		    close(fd);
-		    cp = device_names[i].description;
-		    /* Serial devices get a slip and ppp device each, if supported */
-		    newdesc = safe_malloc(strlen(cp) + 40);
-		    sprintf(newdesc, cp, "SLIP interface", try, j + 1);
-		    deviceRegister("sl0", newdesc, strdup(try), DEVICE_TYPE_NETWORK, TRUE, mediaInitNetwork,
-				   NULL, mediaShutdownNetwork, NULL);
-		    msgDebug("Add mapping for %s to sl0\n", try);
-		    newdesc = safe_malloc(strlen(cp) + 50);
-		    sprintf(newdesc, cp, "PPP interface", try, j + 1);
-		    deviceRegister("ppp0", newdesc, strdup(try), DEVICE_TYPE_NETWORK, TRUE, mediaInitNetwork,
-				   NULL, mediaShutdownNetwork, NULL);
-		    if (isDebug())
-			msgDebug("Add mapping for %s to ppp0\n", try);
-		}
-		break;
-
 	    default:
 		break;
 	    }

Modified: head/usr.sbin/sysinstall/install.c
==============================================================================
--- head/usr.sbin/sysinstall/install.c	Fri Jul 16 20:28:45 2010	(r210174)
+++ head/usr.sbin/sysinstall/install.c	Fri Jul 16 20:42:20 2010	(r210175)
@@ -692,7 +692,7 @@ nodisks:
 		   "may do so by typing: /usr/sbin/sysinstall.");
     }
     if (mediaDevice->type != DEVICE_TYPE_FTP && mediaDevice->type != DEVICE_TYPE_NFS) {
-	if (!msgYesNo("Would you like to configure any Ethernet or SLIP/PPP network devices?")) {
+	if (!msgYesNo("Would you like to configure any Ethernet network devices?")) {
 	    Device *tmp = tcpDeviceSelect();
 
 	    if (tmp && !((DevInfo *)tmp->private)->use_dhcp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))

Modified: head/usr.sbin/sysinstall/menus.c
==============================================================================
--- head/usr.sbin/sysinstall/menus.c	Fri Jul 16 20:28:45 2010	(r210174)
+++ head/usr.sbin/sysinstall/menus.c	Fri Jul 16 20:42:20 2010	(r210175)
@@ -882,13 +882,8 @@ DMenu MenuMediaFTP = {
 DMenu MenuNetworkDevice = {
     DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
     "Network interface information required",
-    "If you are using PPP over a serial device, as opposed to a direct\n"
-    "ethernet connection, then you may first need to dial your Internet\n"
-    "Service Provider using the ppp utility we provide for that purpose.\n"
-    "If you're using SLIP over a serial device then the expectation is\n"
-    "that you have a HARDWIRED connection.\n\n"
-    "You can also install over a parallel port using a special \"laplink\"\n"
-    "cable to another machine running FreeBSD.",
+    "Please select the ethernet device to configure.\n\n"
+    "",
     "Press F1 to read network configuration manual",
     "network_device",
     { { NULL } },

Modified: head/usr.sbin/sysinstall/network.c
==============================================================================
--- head/usr.sbin/sysinstall/network.c	Fri Jul 16 20:28:45 2010	(r210174)
+++ head/usr.sbin/sysinstall/network.c	Fri Jul 16 20:42:20 2010	(r210175)
@@ -45,9 +45,6 @@
 #include <sys/stat.h>
 
 static Boolean	networkInitialized;
-static pid_t	startPPP(Device *devp);
-
-static pid_t	pppPID;
 
 Boolean
 mediaInitNetwork(Device *dev)
@@ -73,56 +70,6 @@ mediaInitNetwork(Device *dev)
     w = savescr();
     dialog_clear_norefresh();
 
-    /* Old PPP process lying around? */
-    if (pppPID) {
-	msgConfirm("Killing previous PPP process %d.", pppPID);
-	kill(pppPID, SIGTERM);
-	pppPID = 0;
-    }
-    if (!strncmp("ppp", dev->name, 3)) {	/* PPP? */
-	if (!(pppPID = startPPP(dev))) {
-	    msgConfirm("Unable to start PPP!  This installation method cannot be used.");
-	    return FALSE;
-	}
-	networkInitialized = TRUE;
-	return TRUE;
-    }
-    else if (!strncmp("sl", dev->name, 2)) {	/* SLIP? */
-	char *val;
-	char attach[256];
-
-	/* Cheesy slip attach */
-	snprintf(attach, 256, "slattach -a -h -l -s 9600 %s", dev->devname);
-	val = msgGetInput(attach,
-			  "Warning:  SLIP is rather poorly supported in this revision\n"
-			  "of the installation due to the lack of a dialing utility.\n"
-			  "If you can use PPP for this instead then you're much better\n"
-			  "off doing so, otherwise SLIP works fairly well for *hardwired*\n"
-			  "links.  Please edit the following slattach command for\n"
-			  "correctness (default here is: VJ compression, Hardware flow-\n"
-			  "control, ignore carrier and 9600 baud data rate).  When you're\n"
-			  "ready, press [ENTER] to execute it.");
-	if (!val) {
-	    msgConfirm("slattach command was empty.  Try again!");
-	    restorescr(w);
-	    return FALSE;
-	}
-	else
-	    SAFE_STRCPY(attach, val);
-	/*
-	 * Doing this with vsystem() is actually bogus since we should be storing the pid of slattach
-	 * for later killing.  It's just too convenient to call vsystem(), however, rather than
-	 * constructing a proper argument for exec() so we punt on doing slip right for now.
-	 */
-	if (vsystem("%s", attach)) {
-	    msgConfirm("slattach returned a bad status!  Please verify that\n"
-		       "the command is correct and try this operation again.");
-	    restorescr(w);
-	    return FALSE;
-	}
-	restorescr(w);
-    }
-
     snprintf(ifconfig, 255, "%s%s", VAR_IFCONFIG, dev->name);
     cp = variable_get(ifconfig);
     if (cp) {
@@ -181,9 +128,7 @@ mediaShutdownNetwork(Device *dev)
     if (!RunningAsInit || !networkInitialized)
 	return;
 
-    msgDebug("Shutdown called for network device %s\n", dev->name);
-    /* Not a serial device? */
-    if (strncmp("sl", dev->name, 2) && strncmp("ppp", dev->name, 3)) {
+	msgDebug("Shutdown called for network device %s\n", dev->name);
 	int i;
 	char ifconfig[255];
 
@@ -200,172 +145,5 @@ mediaShutdownNetwork(Device *dev)
 	    msgDebug("Deleting default route.\n");
 	    vsystem("route -n delete default");
 	}
-    }
-    else if (pppPID) {
-	msgConfirm("Killing previous PPP process %d.", pppPID);
-	kill(pppPID, SIGTERM);
-	pppPID = 0;
-    }
-    networkInitialized = FALSE;
 }
 
-/* Start PPP on the 3rd screen */
-static pid_t
-startPPP(Device *devp)
-{
-    int fd2, pulse;
-    FILE *fp;
-    char *val;
-    pid_t pid = 0;
-    char myaddr[16], provider[16], speed[16], authname[32], authkey[16];
-    char phone[16];
-    WINDOW *w = savescr();
-    
-    /* These are needed to make ppp work */
-    Mkdir("/var/log");
-    Mkdir("/var/run");
-    Mkdir("/var/spool/lock");
-    Mkdir("/etc/ppp");
-
-    dialog_clear_norefresh();
-    if (!variable_get(VAR_SERIAL_SPEED))
-	variable_set2(VAR_SERIAL_SPEED, "115200", 0);
-    /* Get any important user values */
-    val = variable_get_value(VAR_SERIAL_SPEED,
-		      "Enter the baud rate for your modem - this can be higher than the actual\n"
-		      "maximum data rate since most modems can talk at one speed to the\n"
-		      "computer and at another speed to the remote end.\n\n"
-		      "If you're not sure what to put here, just select the default.", 0);
-    SAFE_STRCPY(speed, (val && *val) ? val : "115200");
-
-    val = variable_get(VAR_GATEWAY);
-    SAFE_STRCPY(provider, (val && *val) ? val : "0");
-
-    dialog_clear_norefresh();
-    val = msgGetInput(provider, "Enter the IP address of your service provider or 0 if you\n"
-		      "don't know it and would prefer to negotiate it dynamically.");
-    SAFE_STRCPY(provider, (val && *val) ? val : "0");
-
-    if (devp->private && ((DevInfo *)devp->private)->ipaddr[0])
-	SAFE_STRCPY(myaddr, ((DevInfo *)devp->private)->ipaddr);
-    else
-	strcpy(myaddr, "0");
-
-    if (!Fake)
-	fp = fopen("/etc/ppp/ppp.linkup", "w");
-    else
-	fp = fopen("/dev/stderr", "w");
-    if (fp != NULL) {
-	fprintf(fp, "MYADDR:\n");
-	fprintf(fp, " delete ALL\n");
-        fprintf(fp, " add 0 0 HISADDR\n");
-	fchmod(fileno(fp), 0755);
-	fclose(fp);
-    }
-    if (!Fake)
-	fd2 = open("/etc/ppp/ppp.secret", O_CREAT);
-    else
-	fd2 = -1;
-    if (fd2 != -1) {
-	fchmod(fd2, 0700);
-	close(fd2);
-    }
-    if (!Fake)
-	fp = fopen("/etc/ppp/ppp.conf", "a");
-    else
-	fp = fopen("/dev/stderr", "w");
-    if (!fp) {
-	msgConfirm("Couldn't open /etc/ppp/ppp.conf file!  This isn't going to work");
-	restorescr(w);
-	return 0;
-    }
-    authname[0] = '\0';
-    pulse = 0;
-    dialog_clear_norefresh();
-    if (!dialog_yesno("", "Does your ISP support PAP or CHAP ppp logins?", -1, -1)) {
-	val = msgGetInput(NULL, "Enter the name you use to login to your provider.");
-	SAFE_STRCPY(authname, val);
-	dialog_clear_norefresh();
-	val = msgGetInput(NULL, "Enter the password you use to login to your provider.");
-	SAFE_STRCPY(authkey, val);
-	dialog_clear_norefresh();
-	val = msgGetInput(NULL, "Enter the your provider's login phone number.");
-	SAFE_STRCPY(phone, val);
-	dialog_clear_norefresh();
-	pulse = dialog_yesno("", "Does your telephone line support tone dialing?", -1, -1);
-    }
-    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 255.255.255.0 0.0.0.0\n", myaddr, provider);
-    fprintf(fp, " add! default HISADDR\n");
-    fprintf(fp, " set timeout 0\n");
-    fprintf(fp, " enable dns\n");
-    fprintf(fp, " set log local phase\n");
-    if(authname[0] != '\0'){
-	fprintf(fp, " set dial \"ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 5 \\\"\\\" AT OK-AT-OK ATE1Q0 OK \\\\dATD%c\\\\T TIMEOUT 40 CONNECT\"\n", pulse ? 'P' : 'T');
-	fprintf(fp, " set login\n");
-	fprintf(fp, " set authname %s\n", authname);
-	fprintf(fp, " set authkey %s\n", authkey);
-	fprintf(fp, " set phone %s\n", phone);
-    }
-    if (fchmod(fileno(fp), 0600) != 0)
-	msgConfirm("Warning: Failed to fix permissions on /etc/ppp/ppp.conf !");
-    fclose(fp);
-
-    /* Make the ppp config persistent */
-    variable_set2(VAR_PPP_ENABLE, "YES", 0);
-    variable_set2(VAR_PPP_PROFILE, "install", 0);
-
-    if (!Fake && !file_readable("/dev/tun0")) {
-	msgConfirm("Warning:  No /dev/tun0 device.  PPP will not work!");
-	restorescr(w);
-	return 0;
-    }
-
-    if (isDebug())
-	msgDebug("About to start PPP on device %s @ %s baud.  Provider = %s\n", devp->devname, speed, provider);
-
-    if (!Fake && !(pid = fork())) {
-	int i, fd;
-	struct termios foo;
-	extern int login_tty(int);
-
-	for (i = getdtablesize(); i >= 0; i--)
-	    close(i);
-
-	/* We're going over to VTY2 */
-	fd = open("/dev/ttyv2", O_RDWR);
-	ioctl(0, TIOCSCTTY, &fd);
-	dup2(0, 1);
-	dup2(0, 2);
-	DebugFD = 2;
-	if (login_tty(fd) == -1)
-	    msgDebug("ppp: Can't set the controlling terminal.\n");
-	signal(SIGTTOU, SIG_IGN);
-	if (tcgetattr(fd, &foo) != -1) {
-	    foo.c_cc[VERASE] = '\010';
-	    if (tcsetattr(fd, TCSANOW, &foo) == -1)
-		msgDebug("ppp: Unable to set the erase character.\n");
-	}
-	else
-	    msgDebug("ppp: Unable to get the terminal attributes!\n");
-	execlp("ppp", "ppp", "install", (char *)NULL);
-	msgDebug("PPP process failed to exec!\n");
-	exit(1);
-    }
-    else {
-	dialog_clear_norefresh();
-	msgConfirm("NOTICE: The PPP command is now started on VTY3 (type ALT-F3 to\n"
-           "interact with it, ALT-F1 to switch back here). If you are using\n"
-           "a PAP or CHAP login simply enter \"dial\", otherwise you'll need\n"
-           "to use the \"term\" command which starts a terminal emulator\n"
-           "which you can use to talk to your modem and dial the service\n"
-           "provider.  Once you're connected, come back to this screen and\n"
-           "press return.\n\n"
-           "DO NOT PRESS [ENTER] HERE UNTIL THE CONNECTION IS FULLY\n"
-           "ESTABLISHED!");
-    }
-    restorescr(w);
-    return pid;
-}


More information about the svn-src-head mailing list