head	1.10;
access;
symbols
	RELENG_8_4:1.9.0.2
	RELENG_9_1_0_RELEASE:1.8.18.1.4.2
	RELENG_9_1:1.8.18.1.0.4
	RELENG_9_1_BP:1.8.18.1
	RELENG_8_3_0_RELEASE:1.8.12.1.8.1
	RELENG_8_3:1.8.12.1.0.8
	RELENG_8_3_BP:1.8.12.1
	RELENG_9_0_0_RELEASE:1.8.18.1.2.1
	RELENG_9_0:1.8.18.1.0.2
	RELENG_9_0_BP:1.8.18.1
	RELENG_9:1.8.0.18
	RELENG_9_BP:1.8
	RELENG_7_4_0_RELEASE:1.8.16.1
	RELENG_8_2_0_RELEASE:1.8.12.1.6.1
	RELENG_7_4:1.8.0.16
	RELENG_7_4_BP:1.8
	RELENG_8_2:1.8.12.1.0.6
	RELENG_8_2_BP:1.8.12.1
	RELENG_8_1_0_RELEASE:1.8.12.1.4.1
	RELENG_8_1:1.8.12.1.0.4
	RELENG_8_1_BP:1.8.12.1
	RELENG_7_3_0_RELEASE:1.8.14.1
	RELENG_7_3:1.8.0.14
	RELENG_7_3_BP:1.8
	RELENG_8_0_0_RELEASE:1.8.12.1.2.1
	RELENG_8_0:1.8.12.1.0.2
	RELENG_8_0_BP:1.8.12.1
	RELENG_8:1.8.0.12
	RELENG_8_BP:1.8
	RELENG_7_2_0_RELEASE:1.8.10.1
	RELENG_7_2:1.8.0.10
	RELENG_7_2_BP:1.8
	RELENG_7_1_0_RELEASE:1.8.8.1
	RELENG_6_4_0_RELEASE:1.8.2.1.10.1
	RELENG_7_1:1.8.0.8
	RELENG_7_1_BP:1.8
	RELENG_6_4:1.8.2.1.0.10
	RELENG_6_4_BP:1.8.2.1
	RELENG_7_0_0_RELEASE:1.8
	RELENG_6_3_0_RELEASE:1.8.2.1
	RELENG_7_0:1.8.0.6
	RELENG_7_0_BP:1.8
	RELENG_6_3:1.8.2.1.0.8
	RELENG_6_3_BP:1.8.2.1
	RELENG_7:1.8.0.4
	RELENG_7_BP:1.8
	RELENG_6_2_0_RELEASE:1.8.2.1
	RELENG_6_2:1.8.2.1.0.6
	RELENG_6_2_BP:1.8.2.1
	RELENG_6_1_0_RELEASE:1.8.2.1
	RELENG_6_1:1.8.2.1.0.4
	RELENG_6_1_BP:1.8.2.1
	RELENG_6_0_0_RELEASE:1.8.2.1
	RELENG_6_0:1.8.2.1.0.2
	RELENG_6_0_BP:1.8.2.1
	RELENG_6:1.8.0.2
	old_RELENG_6:1.6.0.2
	old_RELENG_6_BP:1.6
	old_RELENG_5_4_0_RELEASE:1.4.2.2
	old_RELENG_5_4:1.4.2.2.0.4
	old_RELENG_5_4_BP:1.4.2.2
	old_RELENG_5_3_0_RELEASE:1.4.2.2
	old_RELENG_5_3:1.4.2.2.0.2
	old_RELENG_5_3_BP:1.4.2.2
	old_RELENG_5:1.4.0.2
	old_RELENG_5_BP:1.4;
locks; strict;
comment	@# @;


1.10
date	2013.06.28.00.28.40;	author svnexp;	state dead;
branches;
next	1.9;

1.9
date	2012.11.17.01.49.04;	author svnexp;	state Exp;
branches
	1.9.2.1;
next	1.8;

1.8
date	2005.08.05.23.38.51;	author pjd;	state Exp;
branches
	1.8.2.1
	1.8.4.1
	1.8.8.1
	1.8.10.1
	1.8.12.1
	1.8.14.1
	1.8.16.1
	1.8.18.1;
next	1.7;

1.7
date	2005.08.05.21.23.08;	author pjd;	state Exp;
branches;
next	1.6;

1.6
date	2004.10.07.13.55.25;	author mtm;	state Exp;
branches;
next	1.5;

1.5
date	2004.08.18.21.54.40;	author thomas;	state Exp;
branches;
next	1.4;

1.4
date	2004.03.08.12.25.05;	author pjd;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2004.02.05.21.40.37;	author des;	state Exp;
branches;
next	1.2;

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

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

1.9.2.1
date	2012.11.17.01.49.04;	author svnexp;	state dead;
branches;
next	1.9.2.2;

1.9.2.2
date	2013.03.28.13.02.43;	author svnexp;	state Exp;
branches;
next	;

1.8.2.1
date	2005.08.16.09.04.55;	author pjd;	state Exp;
branches
	1.8.2.1.10.1;
next	1.8.2.2;

1.8.2.2
date	2012.11.17.07.39.07;	author svnexp;	state Exp;
branches;
next	;

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

1.8.4.1
date	2012.11.17.08.01.20;	author svnexp;	state Exp;
branches;
next	;

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

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

1.8.12.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.8.12.1.2.1
	1.8.12.1.4.1
	1.8.12.1.6.1
	1.8.12.1.8.1;
next	1.8.12.2;

1.8.12.2
date	2012.11.17.10.35.56;	author svnexp;	state Exp;
branches;
next	;

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

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

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

1.8.12.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.8.12.1.8.2;

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

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

1.8.16.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.8.16.2;

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

1.8.18.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.8.18.1.2.1
	1.8.18.1.4.1;
next	1.8.18.2;

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

1.8.18.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.8.18.1.2.2;

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

1.8.18.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.8.18.1.4.2;

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

1.4.2.1
date	2004.09.06.20.55.03;	author thomas;	state Exp;
branches;
next	1.4.2.2;

1.4.2.2
date	2004.10.10.09.50.53;	author mtm;	state Exp;
branches;
next	;


desc
@@


1.10
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/252310
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@#!/bin/sh
#
# $FreeBSD: head/etc/rc.d/encswap 180563 2008-07-16 19:22:48Z dougb $
#

# PROVIDE: disks
# REQUIRE: initrandom
# KEYWORD: nojail

. /etc/rc.subr

name="encswap"
start_cmd="encswap_attach"
stop_cmd="encswap_detach"

encswap_attach()
{
	while read device mountpoint type options rest ; do
		case ":${device}:${type}:${options}" in
		:#*)
			continue
			;;
		*.bde:swap:sw)
			passphrase=`dd if=/dev/random count=1 2>/dev/null | md5 -q`
			device="${device%.bde}"
			gbde init "${device}" -P "${passphrase}" || return 1
			gbde attach "${device}" -p "${passphrase}" || return 1
			;;
		*.eli:swap:sw)
			device="${device%.eli}"
			geli onetime ${geli_swap_flags} "${device}" || return 1
			;;
		esac
	done < /etc/fstab
}

encswap_detach()
{
	while read device mountpoint type options rest ; do
		case ":${device}:${type}:${options}" in
		:#*)
			continue
			;;
		*.bde:swap:sw)
			device="${device%.bde}"
			gbde detach "${device}"
			;;
		*.eli:swap:sw)
			# Nothing here, because geli swap devices should be
			# created with the auto-detach-on-last-close option.
			;;
		esac
	done < /etc/fstab
}

load_rc_config $name
run_rc_command "$1"
@


1.9
log
@Switching exporter and resync
@
text
@@


1.9.2.1
log
@file encswap was added on branch RELENG_8_4 on 2013-03-28 13:02:43 +0000
@
text
@d1 57
@


1.9.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 57
#!/bin/sh
#
# $FreeBSD: releng/8.4/etc/rc.d/encswap 180563 2008-07-16 19:22:48Z dougb $
#

# PROVIDE: disks
# REQUIRE: initrandom
# KEYWORD: nojail

. /etc/rc.subr

name="encswap"
start_cmd="encswap_attach"
stop_cmd="encswap_detach"

encswap_attach()
{
	while read device mountpoint type options rest ; do
		case ":${device}:${type}:${options}" in
		:#*)
			continue
			;;
		*.bde:swap:sw)
			passphrase=`dd if=/dev/random count=1 2>/dev/null | md5 -q`
			device="${device%.bde}"
			gbde init "${device}" -P "${passphrase}" || return 1
			gbde attach "${device}" -p "${passphrase}" || return 1
			;;
		*.eli:swap:sw)
			device="${device%.eli}"
			geli onetime ${geli_swap_flags} "${device}" || return 1
			;;
		esac
	done < /etc/fstab
}

encswap_detach()
{
	while read device mountpoint type options rest ; do
		case ":${device}:${type}:${options}" in
		:#*)
			continue
			;;
		*.bde:swap:sw)
			device="${device%.bde}"
			gbde detach "${device}"
			;;
		*.eli:swap:sw)
			# Nothing here, because geli swap devices should be
			# created with the auto-detach-on-last-close option.
			;;
		esac
	done < /etc/fstab
}

load_rc_config $name
run_rc_command "$1"
@


1.8
log
@Teach rc.d/encswap script how to use geli(8) for swap encryption.

MFC after:	3 days
@
text
@d3 1
a3 1
# $FreeBSD$
@


1.8.4.1
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/7/etc/rc.d/encswap 220110 2011-03-28 19:29:30Z dougb $
@


1.8.18.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.8.18.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
@d3 1
a3 1
# $FreeBSD: stable/9/etc/rc.d/encswap 180563 2008-07-16 19:22:48Z dougb $
@


1.8.18.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.8.18.1.4.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.1/etc/rc.d/encswap 180563 2008-07-16 19:22:48Z dougb $
@


1.8.18.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.8.18.1.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.0/etc/rc.d/encswap 180563 2008-07-16 19:22:48Z dougb $
@


1.8.16.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.8.16.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/7.4/etc/rc.d/encswap 148765 2005-08-05 23:38:51Z pjd $
@


1.8.14.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.8.12.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.8.12.2
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
@d3 1
a3 1
# $FreeBSD: stable/8/etc/rc.d/encswap 180563 2008-07-16 19:22:48Z dougb $
@


1.8.12.1.8.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.8.12.1.8.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/8.3/etc/rc.d/encswap 180563 2008-07-16 19:22:48Z dougb $
@


1.8.12.1.6.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.8.12.1.4.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.8.12.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.8.10.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.8.8.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.8.2.1
log
@MFC: Remove gbde_swap script and introduce encswap script, which knows how to
     encrypt swap partitions using both: gbde and geli.

Approved by:	re (kensmith)
@
text
@@


1.8.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/6/etc/rc.d/encswap 149130 2005-08-16 09:04:55Z pjd $
@


1.8.2.1.10.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.7
log
@gbde_swap has been repo-copied to encswap.

Repo-copy made by:	markm
@
text
@d12 3
a14 3
name="gbde_swap"
start_cmd="gbde_swap_attach"
stop_cmd="gbde_swap_detach"
d16 1
a16 1
gbde_swap_attach()
d24 8
a31 3
			;;
		*)
			continue
a33 4
		passphrase=`dd if=/dev/random count=1 2>/dev/null | md5 -q`
		device="${device%.bde}"
		gbde init "${device}" -P "${passphrase}" || return 1
		gbde attach "${device}" -p "${passphrase}" || return 1
d37 1
a37 1
gbde_swap_detach()
d45 2
d48 3
a50 2
		*)
			continue
a52 2
		device="${device%.bde}"
		gbde detach "${device}"
@


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

Discussed with: dougb, brooks
MFC after: 3 days
@
text
@@


1.5
log
@Skip entries for GBDE swap devices if they are commented out in /etc/fstab.

Reviewed by:	des
@
text
@d8 1
a8 1
# KEYWORD: FreeBSD nojail
@


1.4
log
@Mark scripts as not usable inside a jail by adding keyword 'nojail'.

Some suggestions from:	rwatson, Ruben de Groot <mail25@@bzerk.org>
@
text
@a17 1
	cat /etc/fstab |
d19 4
a22 1
		case "${device}:${type}:${options}" in
d33 1
a33 1
	done
a37 1
	cat /etc/fstab |
d39 4
a42 1
		case "${device}:${type}:${options}" in
d51 1
a51 1
	done
@


1.4.2.1
log
@MFC to RELENG_5 rev. 1.5:
Skip entries for GBDE swap devices if they are commented out in /etc/fstab.

Approved by:	re (scottl)
@
text
@d18 1
d20 1
a20 4
		case ":${device}:${type}:${options}" in
		:#*)
			continue
			;;
d31 1
a31 1
	done < /etc/fstab
d36 1
d38 1
a38 4
		case ":${device}:${type}:${options}" in
		:#*)
			continue
			;;
d47 1
a47 1
	done < /etc/fstab
@


1.4.2.2
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
@d8 1
a8 1
# KEYWORD: nojail
@


1.3
log
@Require initrandom rather than random, since random requires
mountcritlocal, which requires disks, which gbde_swap provides.

Noticed by:	brooks
@
text
@d8 1
a8 1
# KEYWORD: FreeBSD
@


1.2
log
@We don't really need a lockfile, and most likely can't create one at
this point.
@
text
@d7 1
a7 1
# REQUIRE: random
@


1.1
log
@Add support for initializing swap devices with random one-shot keys.  Note
that the keys are currently generated by computing the MD5 checksum of 512
bytes read from /dev/random, and are passed to gbde on the command line.

Sponsored by:	Teleplan AS
@
text
@d29 2
a30 5
		lockfile="/var/run/${device##*/}.lock"
		gbde init "${device}" -L "${lockfile}" -P "${passphrase}" ||
			return 1
		gbde attach "${device}" -l "${lockfile}" -p "${passphrase}" ||
			return 1
@

