diff options
author | jkh <jkh@FreeBSD.org> | 1996-06-12 14:02:13 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1996-06-12 14:02:13 +0000 |
commit | a2ffbe1a9a5c0ebc9aefd39b36578a15c578c3a6 (patch) | |
tree | 3f3d08c3292608539123b69e56b62cbf8ccb7d03 /release/sysinstall/dist.c | |
parent | 3ff88e997b783b5d885539159b3128b761a0a023 (diff) | |
download | FreeBSD-src-a2ffbe1a9a5c0ebc9aefd39b36578a15c578c3a6.zip FreeBSD-src-a2ffbe1a9a5c0ebc9aefd39b36578a15c578c3a6.tar.gz |
Fix a truly stupid bug which broke the package installation menu
for everything _but_ the multi-user case now (it was the opposite before :-).
That means adding packages with the 2.2-960511-SNAP boot floppy is busted. Feh.
Diffstat (limited to 'release/sysinstall/dist.c')
-rw-r--r-- | release/sysinstall/dist.c | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/release/sysinstall/dist.c b/release/sysinstall/dist.c index a06aa0c..c17b516 100644 --- a/release/sysinstall/dist.c +++ b/release/sysinstall/dist.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: dist.c,v 1.56 1996/05/29 03:27:31 jkh Exp $ + * $Id: dist.c,v 1.57 1996/06/12 07:03:44 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -159,6 +159,8 @@ static Distribution XF86FontDistTable[] = { { NULL }, }; +static int distMaybeSetDES(dialogMenuItem *self); + int distReset(dialogMenuItem *self) { @@ -177,7 +179,7 @@ distSetDeveloper(dialogMenuItem *self) distReset(NULL); Dists = _DIST_DEVELOPER; SrcDists = DIST_SRC_ALL; - return DITEM_SUCCESS | DITEM_REDRAW; + return distMaybeSetDES(self); } int @@ -189,7 +191,7 @@ distSetXDeveloper(dialogMenuItem *self) XF86Dists = DIST_XF86_BIN | DIST_XF86_LIB | DIST_XF86_PROG | DIST_XF86_MAN | DIST_XF86_SERVER | DIST_XF86_FONTS; XF86ServerDists = DIST_XF86_SERVER_SVGA; XF86FontDists = DIST_XF86_FONTS_MISC; - return distSetXF86(NULL); + return distSetXF86(NULL) | distMaybeSetDES(self); } int @@ -198,7 +200,7 @@ distSetKernDeveloper(dialogMenuItem *self) distReset(NULL); Dists = _DIST_DEVELOPER; SrcDists = DIST_SRC_SYS; - return DITEM_SUCCESS | DITEM_REDRAW; + return distMaybeSetDES(self); } int @@ -206,7 +208,7 @@ distSetUser(dialogMenuItem *self) { distReset(NULL); Dists = _DIST_USER; - return DITEM_SUCCESS | DITEM_REDRAW; + return distMaybeSetDES(self); } int @@ -217,7 +219,7 @@ distSetXUser(dialogMenuItem *self) XF86Dists = DIST_XF86_BIN | DIST_XF86_LIB | DIST_XF86_MAN | DIST_XF86_SERVER | DIST_XF86_FONTS; XF86ServerDists = DIST_XF86_SERVER_SVGA; XF86FontDists = DIST_XF86_FONTS_MISC; - return distSetXF86(NULL); + return distSetXF86(NULL) | distMaybeSetDES(self); } int @@ -236,7 +238,7 @@ distSetEverything(dialogMenuItem *self) XF86Dists = DIST_XF86_ALL; XF86ServerDists = DIST_XF86_SERVER_ALL; XF86FontDists = DIST_XF86_FONTS_ALL; - return DITEM_SUCCESS | DITEM_REDRAW; + return distMaybeSetDES(self); } int @@ -257,6 +259,37 @@ distSetDES(dialogMenuItem *self) return i | DITEM_RECREATE | DITEM_RESTORE; } +static int +distMaybeSetDES(dialogMenuItem *self) +{ + int i = DITEM_SUCCESS; + + dialog_clear(); + if (!msgYesNo("Do wish to install DES cryptographic software?\n\n" + "FreeBSD will otherwise use an MD5 based password scheme which,\n" + "while perhaps more secure, is not inter-operable with traditional\n" + "UNIX password file formats.\n\n" + "Please do NOT choose Yes at this point if you are outside the\n" + "United States and Canada yet are installing from a U.S. FTP server\n" + "as this will violate U.S. export restrictions and possibly get the\n" + "server site into trouble. In such cases, install everything but DES\n" + "software from the U.S. server then change your media type to point to\n" + "an international FTP server, then using the Custom menu to selected and\n" + "extract the DES distribution(s) in a second pass.")) { + if (dmenuOpenSimple(&MenuDESDistributions)) { + if (DESDists) { + if (DESDists & DIST_DES_KERBEROS) + DESDists |= DIST_DES_DES; + Dists |= DIST_DES; + msgDebug("SetDES Masks: DES: %0x, Dists: %0x\n", DESDists, Dists); + } + } + else + i = DITEM_FAILURE; + } + return i | DITEM_RECREATE | DITEM_RESTORE; +} + int distSetSrc(dialogMenuItem *self) { |