head	1.16;
access;
symbols
	RELENG_8_4:1.16.0.2
	RELENG_9_1_0_RELEASE:1.15.2.1.4.2
	RELENG_9_1:1.15.2.1.0.4
	RELENG_9_1_BP:1.15.2.1
	RELENG_8_3_0_RELEASE:1.12.10.2.6.1
	RELENG_8_3:1.12.10.2.0.6
	RELENG_8_3_BP:1.12.10.2
	RELENG_9_0_0_RELEASE:1.15.2.1.2.1
	RELENG_9_0:1.15.2.1.0.2
	RELENG_9_0_BP:1.15.2.1
	RELENG_9:1.15.0.2
	RELENG_9_BP:1.15
	RELENG_7_4_0_RELEASE:1.12.2.1.4.1
	RELENG_8_2_0_RELEASE:1.12.10.2.4.1
	RELENG_7_4:1.12.2.1.0.4
	RELENG_7_4_BP:1.12.2.1
	RELENG_8_2:1.12.10.2.0.4
	RELENG_8_2_BP:1.12.10.2
	RELENG_8_1_0_RELEASE:1.12.10.2.2.1
	RELENG_8_1:1.12.10.2.0.2
	RELENG_8_1_BP:1.12.10.2
	RELENG_7_3_0_RELEASE:1.12.2.1.2.1
	RELENG_7_3:1.12.2.1.0.2
	RELENG_7_3_BP:1.12.2.1
	RELENG_8_0_0_RELEASE:1.12.10.1.2.1
	RELENG_8_0:1.12.10.1.0.2
	RELENG_8_0_BP:1.12.10.1
	RELENG_8:1.12.0.10
	RELENG_8_BP:1.12
	RELENG_7_2_0_RELEASE:1.12.8.1
	RELENG_7_2:1.12.0.8
	RELENG_7_2_BP:1.12
	RELENG_7_1_0_RELEASE:1.12.6.1
	RELENG_6_4_0_RELEASE:1.5.2.3.4.1
	RELENG_7_1:1.12.0.6
	RELENG_7_1_BP:1.12
	RELENG_6_4:1.5.2.3.0.4
	RELENG_6_4_BP:1.5.2.3
	RELENG_7_0_0_RELEASE:1.12
	RELENG_6_3_0_RELEASE:1.5.2.3
	RELENG_7_0:1.12.0.4
	RELENG_7_0_BP:1.12
	RELENG_6_3:1.5.2.3.0.2
	RELENG_6_3_BP:1.5.2.3
	RELENG_7:1.12.0.2
	RELENG_7_BP:1.12
	RELENG_6_2_0_RELEASE:1.5.2.2
	RELENG_6_2:1.5.2.2.0.2
	RELENG_6_2_BP:1.5.2.2
	RELENG_5_5_0_RELEASE:1.3.2.2
	RELENG_5_5:1.3.2.2.0.2
	RELENG_5_5_BP:1.3.2.2
	RELENG_6_1_0_RELEASE:1.5.2.1
	RELENG_6_1:1.5.2.1.0.2
	RELENG_6_1_BP:1.5.2.1
	RELENG_6_0_0_RELEASE:1.5
	RELENG_6_0:1.5.0.4
	RELENG_6_0_BP:1.5
	RELENG_6:1.5.0.2
	RELENG_6_BP:1.5
	RELENG_5_4_0_RELEASE:1.3.2.1
	RELENG_5_4:1.3.2.1.0.4
	RELENG_5_4_BP:1.3.2.1
	RELENG_5_3_0_RELEASE:1.3.2.1
	RELENG_5_3:1.3.2.1.0.2
	RELENG_5_3_BP:1.3.2.1
	RELENG_5:1.3.0.2
	RELENG_5_BP:1.3;
locks; strict;
comment	@# @;


1.16
date	2012.11.17.01.49.05;	author svnexp;	state Exp;
branches
	1.16.2.1;
next	1.15;

1.15
date	2010.09.27.15.55.39;	author imp;	state Exp;
branches
	1.15.2.1;
next	1.14;

1.14
date	2010.01.03.21.27.10;	author gavin;	state Exp;
branches;
next	1.13;

1.13
date	2010.01.03.19.14.22;	author gavin;	state Exp;
branches;
next	1.12;

1.12
date	2006.12.30.22.53.20;	author yar;	state Exp;
branches
	1.12.2.1
	1.12.6.1
	1.12.8.1
	1.12.10.1;
next	1.11;

1.11
date	2006.05.03.15.14.47;	author ume;	state Exp;
branches;
next	1.10;

1.10
date	2006.05.01.11.02.48;	author des;	state Exp;
branches;
next	1.9;

1.9
date	2006.04.29.06.39.07;	author ume;	state Exp;
branches;
next	1.8;

1.8
date	2006.04.29.04.49.19;	author ume;	state Exp;
branches;
next	1.7;

1.7
date	2006.04.12.12.01.53;	author ume;	state Exp;
branches;
next	1.6;

1.6
date	2006.03.20.18.00.14;	author flz;	state Exp;
branches;
next	1.5;

1.5
date	2004.10.07.13.55.26;	author mtm;	state Exp;
branches
	1.5.2.1;
next	1.4;

1.4
date	2004.09.16.17.03.12;	author keramida;	state Exp;
branches;
next	1.3;

1.3
date	2004.06.21.19.38.58;	author des;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2004.05.24.11.53.26;	author des;	state Exp;
branches;
next	1.1;

1.1
date	2004.05.24.11.48.58;	author des;	state Exp;
branches;
next	;

1.16.2.1
date	2012.11.17.01.49.05;	author svnexp;	state dead;
branches;
next	1.16.2.2;

1.16.2.2
date	2013.03.28.13.02.44;	author svnexp;	state Exp;
branches;
next	;

1.15.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.15.2.1.2.1
	1.15.2.1.4.1;
next	1.15.2.2;

1.15.2.2
date	2012.11.17.11.36.11;	author svnexp;	state Exp;
branches;
next	;

1.15.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.15.2.1.2.2;

1.15.2.1.2.2
date	2012.11.17.08.36.11;	author svnexp;	state Exp;
branches;
next	;

1.15.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.15.2.1.4.2;

1.15.2.1.4.2
date	2012.11.17.08.47.01;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1
date	2010.01.17.11.10.32;	author gavin;	state Exp;
branches
	1.12.2.1.2.1
	1.12.2.1.4.1;
next	1.12.2.2;

1.12.2.2
date	2012.11.17.08.01.22;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1.2.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.12.2.1.4.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.12.2.1.4.2;

1.12.2.1.4.2
date	2012.11.17.08.16.37;	author svnexp;	state Exp;
branches;
next	;

1.12.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.12.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.12.10.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.12.10.1.2.1;
next	1.12.10.2;

1.12.10.2
date	2010.01.17.11.10.24;	author gavin;	state Exp;
branches
	1.12.10.2.2.1
	1.12.10.2.4.1
	1.12.10.2.6.1;
next	1.12.10.3;

1.12.10.3
date	2012.11.17.10.35.57;	author svnexp;	state Exp;
branches;
next	;

1.12.10.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.12.10.2.2.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.12.10.2.4.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.12.10.2.6.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.12.10.2.6.2;

1.12.10.2.6.2
date	2012.11.17.08.24.38;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1
date	2006.04.04.14.27.55;	author flz;	state Exp;
branches;
next	1.5.2.2;

1.5.2.2
date	2006.07.08.13.47.40;	author des;	state Exp;
branches;
next	1.5.2.3;

1.5.2.3
date	2007.10.25.14.36.11;	author mtm;	state Exp;
branches
	1.5.2.3.4.1;
next	1.5.2.4;

1.5.2.4
date	2010.05.14.19.57.18;	author dougb;	state Exp;
branches;
next	1.5.2.5;

1.5.2.5
date	2012.11.17.07.39.08;	author svnexp;	state Exp;
branches;
next	;

1.5.2.3.4.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.3.2.1
date	2004.10.10.09.50.54;	author mtm;	state Exp;
branches;
next	1.3.2.2;

1.3.2.2
date	2006.04.04.14.28.41;	author flz;	state Exp;
branches;
next	;


desc
@@


1.16
log
@Switching exporter and resync
@
text
@#!/bin/sh
#
# Copyright (c) 1993 - 2004 The FreeBSD Project. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD: head/etc/rc.d/nsswitch 213202 2010-09-27 15:55:39Z imp $
#

# PROVIDE: nsswitch
# REQUIRE: root
# BEFORE:  NETWORK

. /etc/rc.subr

name="nsswitch"
start_cmd="nsswitch_start"
stop_cmd=":"

generate_host_conf()
{
    local _cont _sources

    nsswitch_conf=$1; shift;
    host_conf=$1; shift;

    _cont=0
    _sources=""
    while read line; do
	line=${line##[ 	]}
	case $line in
	hosts:*)
		;;
	*)
		if [ $_cont -ne 1 ]; then
			continue
		fi
		;;
	esac
	if [ "${line%\\}" = "${line}\\" ]; then
		_cont=1
	fi
	line=${line#hosts:}
	line=${line%\\}
	line=${line%%#*}
	_sources="${_sources}${_sources:+ }$line"
    done < $nsswitch_conf

    echo "# Auto-generated from nsswitch.conf" > $host_conf
    for _s in ${_sources}; do
	case $_s in
	files)
		echo "hosts" >> $host_conf
		;;
	dns)
		echo "dns" >> $host_conf
		;;
	nis)
		echo "nis" >> $host_conf
		;;
	cache | *=*)
		;;
	*)
		echo "Warning: unrecognized source [$_s]" >&2
		;;
	esac
    done
}

nsswitch_start()
{
	# Generate host.conf for compatibility
	#
	if [ ! -f "/etc/host.conf" -o \
		"/etc/host.conf" -ot "/etc/nsswitch.conf" ]
	then
		echo 'Generating host.conf.'
		generate_host_conf /etc/nsswitch.conf /etc/host.conf
	fi

}

load_rc_config $name
run_rc_command "$1"
@


1.16.2.1
log
@file nsswitch was added on branch RELENG_8_4 on 2013-03-28 13:02:44 +0000
@
text
@d1 103
@


1.16.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 103
#!/bin/sh
#
# Copyright (c) 1993 - 2004 The FreeBSD Project. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD: releng/8.4/etc/rc.d/nsswitch 202464 2010-01-17 11:10:24Z gavin $
#

# PROVIDE: nsswitch
# REQUIRE: root
# BEFORE:  NETWORK

. /etc/rc.subr

name="nsswitch"
start_cmd="nsswitch_start"
stop_cmd=":"

generate_host_conf()
{
    local _cont _sources

    nsswitch_conf=$1; shift;
    host_conf=$1; shift;

    _cont=0
    _sources=""
    while read line; do
	line=${line##[ 	]}
	case $line in
	hosts:*)
		;;
	*)
		if [ $_cont -ne 1 ]; then
			continue
		fi
		;;
	esac
	if [ "${line%\\}" = "${line}\\" ]; then
		_cont=1
	fi
	line=${line#hosts:}
	line=${line%\\}
	line=${line%%#*}
	_sources="${_sources}${_sources:+ }$line"
    done < $nsswitch_conf

    echo "# Auto-generated from nsswitch.conf" > $host_conf
    for _s in ${_sources}; do
	case $_s in
	files)
		echo "hosts" >> $host_conf
		;;
	dns)
		echo "dns" >> $host_conf
		;;
	nis)
		echo "nis" >> $host_conf
		;;
	cache | *=*)
		;;
	*)
		printf "Warning: unrecognized source [%s]\n" $_s >&2
		;;
	esac
    done
}

nsswitch_start()
{
	# Generate host.conf for compatibility
	#
	if [ ! -f "/etc/host.conf" -o \
		"/etc/host.conf" -ot "/etc/nsswitch.conf" ]
	then
		echo 'Generating host.conf.'
		generate_host_conf /etc/nsswitch.conf /etc/host.conf
	fi

}

load_rc_config $name
run_rc_command "$1"
@


1.15
log
@SVN rev 213202 on 2010-09-27 15:55:39Z by imp

Prefer echo over printf
@
text
@d26 1
a26 1
# $FreeBSD$
@


1.15.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.15.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d26 1
a26 1
# $FreeBSD: stable/9/etc/rc.d/nsswitch 213202 2010-09-27 15:55:39Z imp $
@


1.15.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.15.2.1.4.2
log
@Switch importer
@
text
@d26 1
a26 1
# $FreeBSD: releng/9.1/etc/rc.d/nsswitch 213202 2010-09-27 15:55:39Z imp $
@


1.15.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.15.2.1.2.2
log
@Switch importer
@
text
@d26 1
a26 1
# $FreeBSD: releng/9.0/etc/rc.d/nsswitch 213202 2010-09-27 15:55:39Z imp $
@


1.14
log
@SVN rev 201445 on 2010-01-03 21:27:10Z by gavin

Forced commit, to provide correct commit message for r201440:

Don't complain when we encounter the "cache" source, it's valid.  Also fix
the error message to include a line feed and not include a stray comma.

PR:		bin/121671
Submitted by:	Artis Caune  artis.caune gmail.com
Approved by:	ed (mentor)
MFC after:	2 weeks

While here, change "> /dev/stderr" for more usual ">&2"

Submitted by:	jilles
@
text
@d83 1
a83 1
		printf "Warning: unrecognized source [%s]\n" $_s >&2
@


1.13
log
@SVN rev 201440 on 2010-01-03 19:14:22Z by gavin

The default hash table size is 257 not 255.  Reword the rest of the line
slightly while here.

PR:		bin/121671
Submitted by:	Artis Caune  artis.caune gmail.com
Approved by:	ed (mentor)
@
text
@d83 1
a83 1
		printf "Warning: unrecognized source [%s]\n" $_s > "/dev/stderr"
@


1.12
log
@Eliminate global symbols starting with an underscore from rc.d
scripts, except for mdconfig* and jail.  Such symbols are reserved
for the rc.subr internals.  Most scripts can be fixed by just
declaring _foo symbols as local: few scripts actually need them to
be global.

Discussed with:	dougb in freebsd-rc
@
text
@d80 1
a80 1
	*=*)
d83 1
a83 1
		printf "Warning: unrecognized source [%s]", $_s > "/dev/stderr"
@


1.12.2.1
log
@SVN rev 202465 on 2010-01-17 11:10:32Z by gavin

Merge r201440, r201445 from head:

  Don't complain when we encounter the "cache" source, it's valid.  Also fix
  the error message to include a line feed and not include a stray comma.

  Submitted by: Artis Caune  artis.caune gmail.com

  While here, change "> /dev/stderr" for more usual ">&2"

  Submitted by: jilles

PR:		bin/121671
Approved by:	ed (mentor, implicit)
@
text
@d80 1
a80 1
	cache | *=*)
d83 1
a83 1
		printf "Warning: unrecognized source [%s]\n" $_s >&2
@


1.12.2.2
log
@Switch importer
@
text
@d26 1
a26 1
# $FreeBSD: stable/7/etc/rc.d/nsswitch 220110 2011-03-28 19:29:30Z dougb $
@


1.12.2.1.4.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.12.2.1.4.2
log
@Switch importer
@
text
@d26 1
a26 1
# $FreeBSD: releng/7.4/etc/rc.d/nsswitch 202465 2010-01-17 11:10:32Z gavin $
@


1.12.2.1.2.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.12.10.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.12.10.2
log
@SVN rev 202464 on 2010-01-17 11:10:24Z by gavin

Merge r201440, r201445 from head:

  Don't complain when we encounter the "cache" source, it's valid.  Also fix
  the error message to include a line feed and not include a stray comma.

  Submitted by: Artis Caune  artis.caune gmail.com

  While here, change "> /dev/stderr" for more usual ">&2"

  Submitted by: jilles

PR:		bin/121671
Approved by:	ed (mentor, implicit)
@
text
@d80 1
a80 1
	cache | *=*)
d83 1
a83 1
		printf "Warning: unrecognized source [%s]\n" $_s >&2
@


1.12.10.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d26 1
a26 1
# $FreeBSD: stable/8/etc/rc.d/nsswitch 202464 2010-01-17 11:10:24Z gavin $
@


1.12.10.2.6.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.12.10.2.6.2
log
@Switch importer
@
text
@d26 1
a26 1
# $FreeBSD: releng/8.3/etc/rc.d/nsswitch 202464 2010-01-17 11:10:24Z gavin $
@


1.12.10.2.4.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.12.10.2.2.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.12.10.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.12.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.12.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.11
log
@Install /etc/nsswitch.conf statically rather than generating it at
boot.  Autogeneration of nsswitch.conf doesn't makes sense in 7.0
since it's not permitted to upgrade from a pre-nss release without
passing through an intermediate release.

Suggested by:	brooks
@
text
@d41 2
@


1.10
log
@Update host.conf every time nsswitch.conf changes, instead of just creating
it if it does not exist.

Submitted by:	Rostislav Krasny <rosti.bsd@@gmail.com>
MFC after:	2 weeks
@
text
@a38 48
convert_host_conf()
{
    host_conf=$1; shift;
    nsswitch_conf=$1; shift;

    while read line; do
	line=${line##[ 	]}
	case $line in
        hosts|local|file)
		_nsswitch="${_nsswitch}${_nsswitch+ }files"
		;;
	dns|bind)
		_nsswitch="${_nsswitch}${_nsswitch+ }dns"
		;;
	nis)
		_nsswitch="${_nsswitch}${_nsswitch+ }nis"
		;;
	'#'*)
		;;
	*)
        	printf "Warning: unrecognized line [%s]", $line > "/dev/stderr"
		;;

	esac
    done < $host_conf

    echo "hosts: $_nsswitch" > $nsswitch_conf
}

generate_nsswitch_conf()
{
    nsswitch_conf=$1; shift;

    cat >$nsswitch_conf <<EOF
group: compat
group_compat: nis
hosts: files dns
networks: files
passwd: compat
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files
EOF
}

a88 16
	# Convert host.conf to nsswitch.conf if necessary
	#
	if [ -f "/etc/host.conf" -a ! -f "/etc/nsswitch.conf" ]; then
		echo ''
		echo 'Warning: /etc/host.conf is no longer used'
		echo '  /etc/nsswitch.conf will be created for you'
		convert_host_conf /etc/host.conf /etc/nsswitch.conf
	fi

	# Generate default nsswitch.conf if none exists
	#
	if [ ! -f "/etc/nsswitch.conf" ]; then
		echo 'Generating nsswitch.conf.'
		generate_nsswitch_conf /etc/nsswitch.conf
	fi

@


1.9
log
@Oops, services should be compat by default for backward compatibility.
@
text
@d155 3
a157 1
	if [ ! -f "/etc/host.conf" ]; then
@


1.8
log
@Add newly supported databases such as services, protocols and rpc
into generated nsswitch.conf.
@
text
@d80 1
a80 1
services: files
@


1.7
log
@Remove an inappropriate comment which is put into generated
host.conf.  Someone may want to edit it later.

Requested by:	Rostislav Krasny <rosti.bsd__at__gmail.com>
@
text
@d61 1
a61 1
		
d80 4
@


1.6
log
@- Replace awk parts with shell.

Approved by:	brooks
MFC after:	2 weeks
@
text
@d110 1
a110 1
    echo "# Auto-generated from nsswitch.conf, do not edit" > $host_conf
@


1.5
log
@Remove the requirement for the FreeBSD keyword as it no longer
makes any sense.

Discussed with: dougb, brooks
MFC after: 3 days
@
text
@d43 23
a65 11
    awk '                                                                   \
        /^[:blank:]*#/       { next }                                       \
        /(hosts|local|file)/ { nsswitch[c] = "files"; c++; next }           \
        /(dns|bind)/         { nsswitch[c] = "dns";   c++; next }           \
        /nis/                { nsswitch[c] = "nis";   c++; next }           \
        { printf "Warning: unrecognized line [%s]", $0 > "/dev/stderr" }    \
        END {                                                               \
                printf "hosts: ";                                           \
                for (i in nsswitch) printf "%s ", nsswitch[i];              \
                printf "\n";                                                \
        }' < $host_conf > $nsswitch_conf
d88 41
a128 24
    awk '
BEGIN {
    xlat["files"] = "hosts";
    xlat["dns"] = "bind";
    xlat["nis"] = "nis";
    cont = 0;
}
sub(/^[\t ]*hosts:/, "") || cont {
    if (!cont)
        srcs = ""
    sub(/#.*/, "")
    gsub(/[][]/, " & ")
    cont = sub(/\\$/, "")
    srcs = srcs " " $0
}
END {
    print "# Auto-generated from nsswitch.conf, do not edit"
    ns = split(srcs, s)
    for (n = 1; n <= ns; ++n) {
        if (s[n] in xlat)
            print xlat[s[n]]
    }
}
' <$nsswitch_conf >$host_conf
@


1.5.2.1
log
@MFC:

  - Replace awk parts with shell.

      src/etc/rc.d/nsswitch: rev 1.5 -> 1.6

Approved by:	re (scottl)
@
text
@d43 11
a53 23

    while read line; do
	line=${line##[ 	]}
	case $line in
        hosts|local|file)
		_nsswitch="${_nsswitch}${_nsswitch+ }files"
		;;
	dns|bind)
		_nsswitch="${_nsswitch}${_nsswitch+ }dns"
		;;
	nis)
		_nsswitch="${_nsswitch}${_nsswitch+ }nis"
		;;
	'#'*)
		;;
	*)
        	printf "Warning: unrecognized line [%s]", $line > "/dev/stderr"
		;;
		
	esac
    done < $host_conf

    echo "hosts: $_nsswitch" > $nsswitch_conf
d76 24
a99 41
    _cont=0
    _sources=""
    while read line; do
	line=${line##[ 	]}
	case $line in
	hosts:*)
		;;
	*)
		if [ $_cont -ne 1 ]; then
			continue
		fi
		;;
	esac
	if [ "${line%\\}" = "${line}\\" ]; then
		_cont=1
	fi
	line=${line#hosts:}
	line=${line%\\}
	line=${line%%#*}
	_sources="${_sources}${_sources:+ }$line"
    done < $nsswitch_conf

    echo "# Auto-generated from nsswitch.conf, do not edit" > $host_conf
    for _s in ${_sources}; do
	case $_s in
	files)
		echo "hosts" >> $host_conf
		;;
	dns)
		echo "dns" >> $host_conf
		;;
	nis)
		echo "nis" >> $host_conf
		;;
	*=*)
		;;
	*)
		printf "Warning: unrecognized source [%s]", $_s > "/dev/stderr"
		;;
	esac
    done
@


1.5.2.2
log
@MFC: (1.10) regenerate host.conf every time nsswitch.conf is updated.
@
text
@d151 1
a151 3
	if [ ! -f "/etc/host.conf" -o \
		"/etc/host.conf" -ot "/etc/nsswitch.conf" ]
	then
@


1.5.2.3
log
@MFC:
  Eliminate global symbols starting with an underscore from rc.d
  scripts, except for mdconfig* and jail.  Such symbols are reserved
  for the rc.subr internals.  Most scripts can be fixed by just
  declaring _foo symbols as local: few scripts actually need them to
  be global.
@
text
@a84 2
    local _cont _sources

@


1.5.2.4
log
@SVN rev 208096 on 2010-05-14 19:57:18Z by dougb

MFC 208060:

Remove trailing white space. No functional changes.

Hand-delete trailing ws from rc.subr, rc.d/nsswitch, and rc.d/nfslocking
while I'm here.
@
text
@d61 1
a61 1

@


1.5.2.5
log
@Switch importer
@
text
@d26 1
a26 1
# $FreeBSD: stable/6/etc/rc.d/nsswitch 208096 2010-05-14 19:57:18Z dougb $
@


1.5.2.3.4.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.4
log
@Fix requirement of `network' to `NETWORK' because the former isn't
provided by any rc.d script.

Approved by:	mtm
@
text
@a31 1
# KEYWORD: FreeBSD
@


1.3
log
@Correct an error carried over from the nsswitch.conf(5) manual page; add
a note to UPDATING since users may have to manually remove an incorrect
nsswitch.conf.

Noticed by:	simon
@
text
@d31 1
a31 1
# BEFORE:  network
@


1.3.2.1
log
@RCS file: /home/ncvs/src/etc/rc,v
----------------------------
revision 1.335
date: 2004/10/08 14:23:49;  author: mtm;  state: Exp;  lines: +0 -1
Remove an unused variable.

Submitted by: Pawel Worach <pawel.worach@@telia.com>
----------------------------
revision 1.334
date: 2004/10/07 13:55:25;  author: mtm;  state: Exp;  lines: +1 -1
Remove the requirement for the FreeBSD keyword as it no longer
makes any sense.

Discussed with: dougb, brooks
MFC after: 3 days
=============================================================================
RCS file: /home/ncvs/src/etc/rc.d/nsswitch,v
----------------------------
revision 1.4
date: 2004/09/16 17:03:12;  author: keramida;  state: Exp;  lines: +1 -1
Fix requirement of `network' to `NETWORK' because the former isn't
provided by any rc.d script.

Approved by:	mtm
=============================================================================
RCS file: /home/ncvs/src/etc/rc.d/pflog,v
----------------------------
revision 1.3
date: 2004/09/16 17:04:20;  author: keramida;  state: Exp;  lines: +1 -1
We don't have any providers of `beforenetlkm' in FreeBSD.  Remove the
dependency to it from our rc.d scripts.

Approved by:	mtm
=============================================================================

Approved by: re/scottl
@
text
@d31 2
a32 1
# BEFORE:  NETWORK
@


1.3.2.2
log
@MFC:

  - Replace awk parts with shell.

      src/etc/rc.d/nsswitch: rev 1.5 -> 1.6

Approved by:	re (scottl)
@
text
@d43 11
a53 23

    while read line; do
	line=${line##[ 	]}
	case $line in
        hosts|local|file)
		_nsswitch="${_nsswitch}${_nsswitch+ }files"
		;;
	dns|bind)
		_nsswitch="${_nsswitch}${_nsswitch+ }dns"
		;;
	nis)
		_nsswitch="${_nsswitch}${_nsswitch+ }nis"
		;;
	'#'*)
		;;
	*)
        	printf "Warning: unrecognized line [%s]", $line > "/dev/stderr"
		;;
		
	esac
    done < $host_conf

    echo "hosts: $_nsswitch" > $nsswitch_conf
d76 24
a99 41
    _cont=0
    _sources=""
    while read line; do
	line=${line##[ 	]}
	case $line in
	hosts:*)
		;;
	*)
		if [ $_cont -ne 1 ]; then
			continue
		fi
		;;
	esac
	if [ "${line%\\}" = "${line}\\" ]; then
		_cont=1
	fi
	line=${line#hosts:}
	line=${line%\\}
	line=${line%%#*}
	_sources="${_sources}${_sources:+ }$line"
    done < $nsswitch_conf

    echo "# Auto-generated from nsswitch.conf, do not edit" > $host_conf
    for _s in ${_sources}; do
	case $_s in
	files)
		echo "hosts" >> $host_conf
		;;
	dns)
		echo "dns" >> $host_conf
		;;
	nis)
		echo "nis" >> $host_conf
		;;
	*=*)
		;;
	*)
		printf "Warning: unrecognized source [%s]", $_s > "/dev/stderr"
		;;
	esac
    done
@


1.2
log
@If nsswitch.conf does not exist, create it with the default settings.
The reason for doing this is that (at least some) 4.x binaries are very
unhappy if host.conf does not exist, and if we create host.conf but not
nsswitch.conf, nsswitch.conf will be created at the next reboot, so it
is better to create a correct nsswitch.conf right away.
@
text
@d64 1
a64 1
hosts: dns files
@


1.1
log
@Move the task of updating nsswitch.conf / host.conf into a separate
script called nsswitch.
@
text
@d57 15
a104 7
	# Generate host.conf for compatibility
	#
	if [ -f "/etc/nsswitch.conf" ]; then
		echo 'Generating host.conf.'
		generate_host_conf /etc/nsswitch.conf /etc/host.conf
	fi

d113 15
@

