Date: Fri, 16 Jul 2010 20:42:20 +0000 (UTC) From: Bruce Cran <brucec@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r210175 - head/usr.sbin/sysinstall Message-ID: <201007162042.o6GKgKHJ016694@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; -}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007162042.o6GKgKHJ016694>