aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorRebecca Cran <brucec@FreeBSD.org>2010-07-16 20:42:20 +0000
committerRebecca Cran <brucec@FreeBSD.org>2010-07-16 20:42:20 +0000
commit7039ce193fadc0ba72537f2642fc84290734a3f9 (patch)
tree62280b96dca120d52168599ee5088e9b1c2c0341 /usr.sbin
parent61e1c1931927c98f889a501ea03aade5b98bd2ed (diff)
downloadsrc-7039ce193fadc0ba72537f2642fc84290734a3f9.tar.gz
src-7039ce193fadc0ba72537f2642fc84290734a3f9.zip
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
Notes
Notes: svn path=/head/; revision=210175
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/sysinstall/devices.c31
-rw-r--r--usr.sbin/sysinstall/install.c2
-rw-r--r--usr.sbin/sysinstall/menus.c9
-rw-r--r--usr.sbin/sysinstall/network.c224
4 files changed, 4 insertions, 262 deletions
diff --git a/usr.sbin/sysinstall/devices.c b/usr.sbin/sysinstall/devices.c
index 640b6da625a7..0cc79227b96b 100644
--- a/usr.sbin/sysinstall/devices.c
+++ b/usr.sbin/sysinstall/devices.c
@@ -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;
}
diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c
index 2a6a95bfd829..cd43e94ff7c8 100644
--- a/usr.sbin/sysinstall/install.c
+++ b/usr.sbin/sysinstall/install.c
@@ -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))
diff --git a/usr.sbin/sysinstall/menus.c b/usr.sbin/sysinstall/menus.c
index 9d184e96ad1a..58a995012788 100644
--- a/usr.sbin/sysinstall/menus.c
+++ b/usr.sbin/sysinstall/menus.c
@@ -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 } },
diff --git a/usr.sbin/sysinstall/network.c b/usr.sbin/sysinstall/network.c
index a06c927377f1..35599aad3b91 100644
--- a/usr.sbin/sysinstall/network.c
+++ b/usr.sbin/sysinstall/network.c
@@ -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;
-}