From owner-freebsd-current Tue Oct 24 1:59:53 2000 Delivered-To: freebsd-current@freebsd.org Received: from smtp05.primenet.com (smtp05.primenet.com [206.165.6.135]) by hub.freebsd.org (Postfix) with ESMTP id 7987E37B479; Tue, 24 Oct 2000 01:59:47 -0700 (PDT) Received: (from daemon@localhost) by smtp05.primenet.com (8.9.3/8.9.3) id CAA04482; Tue, 24 Oct 2000 02:00:12 -0700 (MST) Received: from usr01.primenet.com(206.165.6.201) via SMTP by smtp05.primenet.com, id smtpdAAAvnaySi; Tue Oct 24 02:00:06 2000 Received: (from tlambert@localhost) by usr01.primenet.com (8.8.5/8.8.5) id BAA13647; Tue, 24 Oct 2000 01:59:36 -0700 (MST) From: Terry Lambert Message-Id: <200010240859.BAA13647@usr01.primenet.com> Subject: Re: new rc.network6 and rc.firewall6 To: obrien@FreeBSD.ORG Date: Tue, 24 Oct 2000 08:59:36 +0000 (GMT) Cc: bv@wjv.com, freebsd-current@FreeBSD.ORG In-Reply-To: <20001023010526.A6883@dragon.nuxi.com> from "David O'Brien" at Oct 23, 2000 01:05:27 AM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > One of the reasons for the numbers in the SysVR4 arena is to > > set the order of execution so programs which other depend upon > > are executed first. How does the NetBSD solve this problem. > > Very coolly. The main rc script runs a script named `rcorder' to > generate the proper order. rc.shutdown also uses `rcorder' but reverses > the ordering. Two examples are included below to show what `rcorder' > uses to generate the list. These NetBSD rc files also provide "start", > "stop", "restart", "status", etc. commands to assist the sysadmin. > Again, *very* slick and still quite BSD-like. [ ... ] > # PROVIDE: ypbind > # REQUIRE: ypserv One thing that surfaced frequently in a discussion of a similar system was hard vs. soft requirements. Specifically, I can run sendmail without a syslogd running, so it is not a hard requirement, but I would prefer that it be there so that I can log things. There is a similar non-requirement for bind to start sendmail, if you have it configured to not probe interfaces, which is a good idea for dial-on-demand configurations, but to provide service to a remote system, it needs bind around. So along with "PROVIDE" and "REQUIRE", there's a need for "WANT"; it could be used as a tie-breaker for circular dependency lists, if such occur. Similarly, there is a need for a "config", as well as a "start", "stop", "restart", and "Status". For well written software, this would end up being a NOOP, since it would not cache config data, but would instead obtain it each time (an example of bad caching is sendmail source host name caching, when an ISP supports DNSUPDAT based on RADIUS audit events: if the machine claims to be named something different than the ISP assigned DNS name such that forward and reverse mappings don't match, the ISP will reject attempts to relay email from valid customers). Yeah, in a perfect world, everyone would have a static IP address, and sendmail would have a knob to make it do a gethostbyaddr() for each time that it wanted to say "HELO", etc., etc.. Oh... and the PROVIDE/REQUIRE/WANT lists really, really want to be "per service name" rather than per program name, so I could, for example, have a service that depends on "smtpserv", and not care if it was sendmail or qmail or whatever, only that there was a protocol aware program sitting on the SMTP port, waiting for a connection. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message