Date: Thu, 29 Oct 1998 01:00:00 -0800 (PST) From: adrian@ubergeeks.com To: freebsd-bugs@FreeBSD.ORG Subject: bin/8479: patch to correct line continuations in /etc/exports. Message-ID: <199810290900.BAA17011@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/8479; it has been noted by GNATS. From: adrian@ubergeeks.com To: FreeBSD-gnats-submit@FreeBSD.ORG Cc: Subject: bin/8479: patch to correct line continuations in /etc/exports. Date: Wed, 28 Oct 1998 17:45:41 -0500 (EST) >Number: 8479 >Category: bin >Synopsis: Final \'s in /etc/exports did not work intuitively. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Oct 28 14:50:01 PST 1998 >Last-Modified: >Originator: Adrian Filipi-Martin >Organization: Ubergeeks Consulting >Release: FreeBSD 2.2.7-RELEASE i386 >Environment: >Description: When reading /etc/exports, mountd would join continued lines to the following lines with no separating whitespace. This is not intuitive. Furthermore, use of the \ is not mentioned in exports(5). >How-To-Repeat: Use the an entry like the following in /etc/exports: # Misinterpreted exports file. # Entry is read as "/usr/ports/usr/src -map...". /usr/ports \ /usr/src \ -maproot=root:wheel -network 128.143.71 -mask 255.255.255.0 >Fix: Apply the following patch. Aside from correcting continuation in the exports file, it also documents the use of \ in the exports manpage. I also deleted a couple of bogus checks for newlines in nextfield(). get_line() will always remove the trailing newline, if any. --- mountd.c.orig Thu Jun 25 17:27:24 1998 +++ mountd.c Wed Oct 28 17:21:37 1998 @@ -1798,11 +1798,11 @@ p = *cp; while (*p == ' ' || *p == '\t') p++; - if (*p == '\n' || *p == '\0') + if (*p == '\0') *cp = *endcp = p; else { *cp = p++; - while (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') + while (*p != ' ' && *p != '\t' && *p != '\0') p++; *endcp = p; } @@ -1836,6 +1836,10 @@ cont_line = 1; cp--; len--; + } + if (cont_line) { + *++cp = ' '; + ++len; } *++cp = '\0'; if (len > 0) { --- exports.5.orig Wed Mar 12 10:07:13 1997 +++ exports.5 Wed Oct 28 17:29:14 1998 @@ -54,10 +54,12 @@ and .%T "NFS: Network File System Version 3 Specification, Appendix I" . .Pp -Each line in the file -(other than comment lines that begin with a #) -specifies the mount point(s) and export flags within one local server -filesystem for one or more hosts. +Each line in the file specifies the mount point(s) and export flags +within one local server filesystem for one or more hosts. Empty +lines and lines beginning with a # are ignored. A long line can +be split over several lines by ending all but the last line with +a \\. +.Pp A host may be specified only once for each local filesystem on the server and there may be only one default entry for each server filesystem that applies to all other hosts. >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810290900.BAA17011>