Feature #15941
open/etc/rc.dumpon
0%
Description
Rc.dumpon does not account for when a user configures an external swap, and or has different drives and users uses .eli on fstab. Doing so locks out dumpon and the code below must be manually adapted. Eli protects from memory leaks. The code below does not search fstab for a non Eli swap if so fstab could have 2 swap entries and allow swap on one and dump on the other if a user had 2 drives or a usb drive.
Can we please add a if .eli is used clause here?
@ #!/bin/sh #- rc.dumpon #
- part of pfSense (https://www.pfsense.org)
- Copyright (c) 2004-2013 BSD Perimeter
- Copyright (c) 2013-2016 Electric Sheep Fencing
- Copyright (c) 2014-2023 Rubicon Communications, LLC (Netgate)
- All rights reserved. #
- Based on src/etc/rc.d/dumpon from FreeBSD #
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at #
- http://www.apache.org/licenses/LICENSE-2.0 #
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
dumpon_try()
{
if /sbin/dumpon "${1}" ; then
# Make a symlink in devfs for savecore
echo "Using ${1} for dump device."
ln -fs "${1}" /dev/dumpdev
return 0
fi
echo "Unable to specify $1 as a dump device."
return 1
}
- Enable dumpdev so that savecore can see it. Enable it
- early so a crash early in the boot process can be caught.
#
while read dev mp type more ; do
[ "${type}" = "swap" ] || continue
[ -c "${dev}" ] || continue
dumpon_try "${dev}" && works=true
done </etc/fstab
if [ "${works}" != "true" ]; then # fstab entries did not work, try swap labels
for dev in /dev/label/swap*; do
if [ ! -e "${dev}" ]; then
continue;
fi
dumpon_try "${dev}" && works=true
done
if [ "${works}" != "true" ]; then
echo "No suitable dump device was found." 1>&2
exit
fi
fi@
Updated by Jonathan Lee 30 minutes ago
We have also tested with swap0 and swapUSB labels and only adding swapUSB partition label to the fstab, doing so results in two swaps being used.
What I want to happen:
I want to use label dump0 for dump files and program to recognize it.
Use of Eli for external usb based swap is to protect the information if someone takes the usb drive. And core dumps to use the swap0 or internal drive for dump files.
Currently with the use of swap0 label (internal SSD) and swapUSB label (external usb drive) and one fstab entry swapUSB results still with two entries when running swapinfo.
Can we please add a swapUSB and swapUSB.eli label if else into the code so it can determine what to do when dump and swapcore run so it doesn’t attempt to access .Eli partitions and go into null when running rc.dumpon, currently the code looks for labels that use swap* but does not look for swapUSB or swapUSB.Eli and know what to do, any external swap device should be using .Eli as it can be removed and have information on it.
Problem: when of Eli is utilized in fstab rc.dumpon can not determine what should be done with encrypted swap partitions.
Also when swap0 and swapUSB are used on different devices swapinfo shows automatically 2 items in use even if fstab has only one entry. in my example swapUSB was the only entry in fstab but swapinfo shows swapUSB and swap0 when it should only show swapUSB yet swap0 was showing when dump -l is ran, and or rc.dumpon.
What I want to happen:
System to determine what to do with the labels swapUSB and or dumpUSB or swap0 dump0 and when .eli is in use in fstab.