Module Name: src
Committed By: riz
Date: Fri Jan 7 01:53:33 UTC 2011
Modified Files:
src/etc [netbsd-5]: rc.subr
src/etc/rc.d [netbsd-5]: network
src/share/man/man5 [netbsd-5]: ifconfig.if.5
src/share/man/man8 [netbsd-5]: rc.subr.8
Log Message:
Pull up following revision(s) (requested by enami in ticket #1504):
share/man/man8/rc.subr.8: revision 1.27
etc/rc.subr: revision 1.86
share/man/man5/ifconfig.if.5: revision 1.14
etc/rc.d/network: revision 1.61
Add a collapse_backslash_newline function to rc.subr.
Collapse <abckslash><newline> sequences in /etc/ifconfig.xxx files read
by /etc/rc.d/network. Fixes PR 41662 by Christoph Badura, which was
also reported independently by Jeremy C. Reed.
To generate a diff of this commit:
cvs rdiff -u -r1.73 -r1.73.2.1 src/etc/rc.subr
cvs rdiff -u -r1.57.2.1 -r1.57.2.2 src/etc/rc.d/network
cvs rdiff -u -r1.11.2.2 -r1.11.2.3 src/share/man/man5/ifconfig.if.5
cvs rdiff -u -r1.21 -r1.21.2.1 src/share/man/man8/rc.subr.8
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/etc/rc.subr
diff -u src/etc/rc.subr:1.73 src/etc/rc.subr:1.73.2.1
--- src/etc/rc.subr:1.73 Mon Jun 23 03:26:18 2008
+++ src/etc/rc.subr Fri Jan 7 01:53:32 2011
@@ -1,4 +1,4 @@
-# $NetBSD: rc.subr,v 1.73 2008/06/23 03:26:18 dholland Exp $
+# $NetBSD: rc.subr,v 1.73.2.1 2011/01/07 01:53:32 riz Exp $
#
# Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -911,4 +911,26 @@
fi
}
+#
+# collapse_backslash_newline
+# Copy input to output, collapsing <backslash><newline>
+# to nothing, but leaving other backslashes alone.
+#
+collapse_backslash_newline()
+{
+ local line
+ while read -r line ; do
+ case "$line" in
+ *\\)
+ # print it, without the backslash or newline
+ printf "%s" "${line%?}"
+ ;;
+ *)
+ # print it, with a newline
+ printf "%s\n" "${line}"
+ ;;
+ esac
+ done
+}
+
_rc_subr_loaded=:
Index: src/etc/rc.d/network
diff -u src/etc/rc.d/network:1.57.2.1 src/etc/rc.d/network:1.57.2.2
--- src/etc/rc.d/network:1.57.2.1 Mon May 18 19:30:48 2009
+++ src/etc/rc.d/network Fri Jan 7 01:53:33 2011
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $NetBSD: network,v 1.57.2.1 2009/05/18 19:30:48 bouyer Exp $
+# $NetBSD: network,v 1.57.2.2 2011/01/07 01:53:33 riz Exp $
#
# PROVIDE: network
@@ -259,6 +259,7 @@
)
;;
esac |
+ collapse_backslash_newline |
while read -r args; do
case "$args" in
''|"#"*|create)
Index: src/share/man/man5/ifconfig.if.5
diff -u src/share/man/man5/ifconfig.if.5:1.11.2.2 src/share/man/man5/ifconfig.if.5:1.11.2.3
--- src/share/man/man5/ifconfig.if.5:1.11.2.2 Thu Jan 22 19:53:44 2009
+++ src/share/man/man5/ifconfig.if.5 Fri Jan 7 01:53:32 2011
@@ -1,4 +1,4 @@
-.\" $NetBSD: ifconfig.if.5,v 1.11.2.2 2009/01/22 19:53:44 snj Exp $
+.\" $NetBSD: ifconfig.if.5,v 1.11.2.3 2011/01/07 01:53:32 riz Exp $
.\"
.\" Copyright (c) 1996 Matthew R. Green
.\" All rights reserved.
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd January 9, 2009
+.Dd September 26, 2010
.Dt IFCONFIG.IF 5
.Os
.Sh NAME
@@ -63,6 +63,9 @@
In the case of a variable, semicolons may be used instead of
newlines, as described in
.Xr rc.conf 5 .
+.Ao backslash Ac Ns Ao newline Ac
+sequences in files are ignored, so long logical lines may be
+made up of several shorter physical lines.
.Pp
Normally, a line will be evaluated as command line arguments to
.Xr ifconfig 8 .
Index: src/share/man/man8/rc.subr.8
diff -u src/share/man/man8/rc.subr.8:1.21 src/share/man/man8/rc.subr.8:1.21.2.1
--- src/share/man/man8/rc.subr.8:1.21 Sun May 25 09:07:21 2008
+++ src/share/man/man8/rc.subr.8 Fri Jan 7 01:53:32 2011
@@ -1,4 +1,4 @@
-.\" $NetBSD: rc.subr.8,v 1.21 2008/05/25 09:07:21 wiz Exp $
+.\" $NetBSD: rc.subr.8,v 1.21.2.1 2011/01/07 01:53:32 riz Exp $
.\"
.\" Copyright (c) 2002-2004 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -46,6 +46,8 @@
.It
.Ic check_process Ar procname Op Ar interpreter
.It
+.Ic collapse_backslash_newline
+.It
.Ic err Ar exitval Ar message
.It
.Ic load_rc_config Ar command
@@ -205,6 +207,10 @@
.Ar interpreter
is handled as per
.Ic check_pidfile .
+.It Ic collapse_backslash_newline
+Copy input to output, collapsing
+.Ao backslash Ac Ns Ao newline Ac
+to nothing, but leaving other backslashes alone.
.It Ic err Ar exitval Ar message
Display an error message to
.Em stderr ,