From 10f299268e422fe51cc5924c128857317f957c66 Mon Sep 17 00:00:00 2001 From: JRGTH Date: Sun, 21 Jul 2024 23:00:32 -0400 Subject: [PATCH] Add support for 14.0 and 14.1 releases --- CHANGELOG | 1 + bastille-init | 2 +- .../system/freebsd-update/14.0/freebsd-update | 3521 ++++++++++++++++ .../freebsd-update/14.0/freebsd-update.conf | 78 + .../system/freebsd-update/14.1/freebsd-update | 3547 +++++++++++++++++ .../freebsd-update/14.1/freebsd-update.conf | 78 + conf/system/include/14.0/ar | Bin 0 -> 51000 bytes conf/system/include/14.0/diff3 | Bin 0 -> 29264 bytes conf/system/include/14.0/jib | 417 ++ conf/system/include/14.0/makewhatis | Bin 0 -> 512984 bytes conf/system/include/14.0/pf.os | 708 ++++ conf/system/include/14.0/pfctl | Bin 0 -> 320088 bytes conf/system/include/14.0/pfilctl | Bin 0 -> 9832 bytes conf/system/include/14.0/pflogd | Bin 0 -> 26704 bytes conf/system/include/14.0/setfib | Bin 0 -> 7632 bytes conf/system/include/14.0/sum | Bin 0 -> 11632 bytes conf/system/include/14.1/ar | Bin 0 -> 50520 bytes conf/system/include/14.1/diff3 | Bin 0 -> 28736 bytes conf/system/include/14.1/jib | 417 ++ conf/system/include/14.1/makewhatis | Bin 0 -> 513600 bytes conf/system/include/14.1/pf.os | 708 ++++ conf/system/include/14.1/pfctl | Bin 0 -> 341200 bytes conf/system/include/14.1/pfilctl | Bin 0 -> 9424 bytes conf/system/include/14.1/pflogd | Bin 0 -> 26448 bytes conf/system/include/14.1/setfib | Bin 0 -> 7296 bytes conf/system/include/14.1/sum | Bin 0 -> 11296 bytes gui/bastille_manager_tarballs.php | 4 + unionfs.sh | 2 +- version | 2 +- 29 files changed, 9482 insertions(+), 3 deletions(-) create mode 100755 conf/system/freebsd-update/14.0/freebsd-update create mode 100644 conf/system/freebsd-update/14.0/freebsd-update.conf create mode 100755 conf/system/freebsd-update/14.1/freebsd-update create mode 100644 conf/system/freebsd-update/14.1/freebsd-update.conf create mode 100755 conf/system/include/14.0/ar create mode 100755 conf/system/include/14.0/diff3 create mode 100755 conf/system/include/14.0/jib create mode 100755 conf/system/include/14.0/makewhatis create mode 100644 conf/system/include/14.0/pf.os create mode 100755 conf/system/include/14.0/pfctl create mode 100755 conf/system/include/14.0/pfilctl create mode 100755 conf/system/include/14.0/pflogd create mode 100755 conf/system/include/14.0/setfib create mode 100755 conf/system/include/14.0/sum create mode 100755 conf/system/include/14.1/ar create mode 100755 conf/system/include/14.1/diff3 create mode 100755 conf/system/include/14.1/jib create mode 100755 conf/system/include/14.1/makewhatis create mode 100644 conf/system/include/14.1/pf.os create mode 100755 conf/system/include/14.1/pfctl create mode 100755 conf/system/include/14.1/pfilctl create mode 100755 conf/system/include/14.1/pflogd create mode 100755 conf/system/include/14.1/setfib create mode 100755 conf/system/include/14.1/sum diff --git a/CHANGELOG b/CHANGELOG index 02acd67..99745fb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ ====================== Version Description +1.1.33......Update: Add support for 14.0 and 14.1 releases. 1.1.32......Update release list, tarballs.php to include 13.3. 1.1.31......Update bastille config files. 1.1.30......Fix config check for Linux jails. diff --git a/bastille-init b/bastille-init index da49158..9962657 100644 --- a/bastille-init +++ b/bastille-init @@ -9,7 +9,7 @@ # Debug script #set -x -# Copyright (c) 2019-2023, José Rivera (joserprg@gmail.com). +# Copyright (c) 2019-2024, José Rivera (joserprg@gmail.com). # All rights reserved. # Redistribution and use in source and binary forms, with or without diff --git a/conf/system/freebsd-update/14.0/freebsd-update b/conf/system/freebsd-update/14.0/freebsd-update new file mode 100755 index 0000000..438e13a --- /dev/null +++ b/conf/system/freebsd-update/14.0/freebsd-update @@ -0,0 +1,3521 @@ +#!/bin/sh + +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright 2004-2007 Colin Percival +# All rights reserved +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted providing 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 AUTHOR ``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 AUTHOR 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. + +#### Usage function -- called from command-line handling code. + +# Usage instructions. Options not listed: +# --debug -- don't filter output from utilities +# --no-stats -- don't show progress statistics while fetching files +usage () { + cat < ${LINE}" + exit 1 + fi + done < ${CONFFILE} + + # Merge the settings read from the configuration file with those + # provided at the command line. + mergeconfig +} + +# Provide some default parameters +default_params () { + # Save any parameters already configured, and clear the slate + saveconfig + nullconfig + + # Default configurations + config_WorkDir /var/db/freebsd-update + config_MailTo root + config_AllowAdd yes + config_AllowDelete yes + config_KeepModifiedMetadata yes + config_BaseDir / + config_VerboseLevel stats + config_StrictComponents no + config_BackupKernel yes + config_BackupKernelDir /boot/kernel.old + config_BackupKernelSymbolFiles no + config_CreateBootEnv yes + + # Merge these defaults into the earlier-configured settings + mergeconfig +} + +# Set utility output filtering options, based on ${VERBOSELEVEL} +fetch_setup_verboselevel () { + case ${VERBOSELEVEL} in + debug) + QUIETREDIR="/dev/stderr" + QUIETFLAG=" " + STATSREDIR="/dev/stderr" + DDSTATS=".." + XARGST="-t" + NDEBUG=" " + ;; + nostats) + QUIETREDIR="" + QUIETFLAG="" + STATSREDIR="/dev/null" + DDSTATS=".." + XARGST="" + NDEBUG="" + ;; + stats) + QUIETREDIR="/dev/null" + QUIETFLAG="-q" + STATSREDIR="/dev/stdout" + DDSTATS="" + XARGST="" + NDEBUG="-n" + ;; + esac +} + +# Perform sanity checks and set some final parameters +# in preparation for fetching files. Figure out which +# set of updates should be downloaded: If the user is +# running *-p[0-9]+, strip off the last part; if the +# user is running -SECURITY, call it -RELEASE. Chdir +# into the working directory. +fetchupgrade_check_params () { + export HTTP_USER_AGENT="freebsd-update (${COMMAND}, `uname -r`)" + + _SERVERNAME_z=\ +"SERVERNAME must be given via command line or configuration file." + _KEYPRINT_z="Key must be given via -k option or configuration file." + _KEYPRINT_bad="Invalid key fingerprint: " + _WORKDIR_bad="Directory does not exist or is not writable: " + _WORKDIR_bad2="Directory is not on a persistent filesystem: " + + if [ -z "${SERVERNAME}" ]; then + echo -n "`basename $0`: " + echo "${_SERVERNAME_z}" + exit 1 + fi + if [ -z "${KEYPRINT}" ]; then + echo -n "`basename $0`: " + echo "${_KEYPRINT_z}" + exit 1 + fi + if ! echo "${KEYPRINT}" | grep -qE "^[0-9a-f]{64}$"; then + echo -n "`basename $0`: " + echo -n "${_KEYPRINT_bad}" + echo ${KEYPRINT} + exit 1 + fi + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + case `df -T ${WORKDIR}` in */dev/md[0-9]* | *tmpfs*) + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad2}" + echo ${WORKDIR} + exit 1 + ;; + esac + chmod 700 ${WORKDIR} + cd ${WORKDIR} || exit 1 + + # Generate release number. The s/SECURITY/RELEASE/ bit exists + # to provide an upgrade path for FreeBSD Update 1.x users, since + # the kernels provided by FreeBSD Update 1.x are always labelled + # as X.Y-SECURITY. + RELNUM=`uname -r | + sed -E 's,-p[0-9]+,,' | + sed -E 's,-SECURITY,-RELEASE,'` + ARCH=`uname -m` + FETCHDIR=${RELNUM}/${ARCH} + PATCHDIR=${RELNUM}/${ARCH}/bp + + # Disallow upgrade from a version that is not a release + case ${RELNUM} in + *-RELEASE | *-ALPHA* | *-BETA* | *-RC*) + ;; + *) + echo -n "`basename $0`: " + cat <<- EOF + Cannot upgrade from a version that is not a release + (including alpha, beta and release candidates) + using `basename $0`. Instead, FreeBSD can be directly + upgraded by source or upgraded to a RELEASE/RELENG version + prior to running `basename $0`. + Currently running: ${RELNUM} + EOF + exit 1 + ;; + esac + + # Figure out what directory contains the running kernel + BOOTFILE=`sysctl -n kern.bootfile` + KERNELDIR=${BOOTFILE%/kernel} + if ! [ -d ${KERNELDIR} ]; then + echo "Cannot identify running kernel" + exit 1 + fi + + # Figure out what kernel configuration is running. We start with + # the output of `uname -i`, and then make the following adjustments: + # 1. Replace "SMP-GENERIC" with "SMP". Why the SMP kernel config + # file says "ident SMP-GENERIC", I don't know... + # 2. If the kernel claims to be GENERIC _and_ ${ARCH} is "amd64" + # _and_ `sysctl kern.version` contains a line which ends "/SMP", then + # we're running an SMP kernel. This mis-identification is a bug + # which was fixed in 6.2-STABLE. + KERNCONF=`uname -i` + if [ ${KERNCONF} = "SMP-GENERIC" ]; then + KERNCONF=SMP + fi + if [ ${KERNCONF} = "GENERIC" ] && [ ${ARCH} = "amd64" ]; then + if sysctl kern.version | grep -qE '/SMP$'; then + KERNCONF=SMP + fi + fi + + # Define some paths + BSPATCH=/usr/bin/bspatch + SHA256=/sbin/sha256 + PHTTPGET=/usr/libexec/phttpget + + # Set up variables relating to VERBOSELEVEL + fetch_setup_verboselevel + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` +} + +# Perform sanity checks etc. before fetching updates. +fetch_check_params () { + fetchupgrade_check_params + + if ! [ -z "${TARGETRELEASE}" ]; then + echo -n "`basename $0`: " + echo -n "-r option is meaningless with 'fetch' command. " + echo "(Did you mean 'upgrade' instead?)" + exit 1 + fi + + # Check that we have updates ready to install + if [ -f ${BDHASH}-install/kerneldone -a $FORCEFETCH -eq 0 ]; then + echo "You have a partially completed upgrade pending" + echo "Run '$0 install' first." + echo "Run '$0 fetch -F' to proceed anyway." + exit 1 + fi +} + +# Perform sanity checks etc. before fetching upgrades. +upgrade_check_params () { + fetchupgrade_check_params + + # Unless set otherwise, we're upgrading to the same kernel config. + NKERNCONF=${KERNCONF} + + # We need TARGETRELEASE set + _TARGETRELEASE_z="Release target must be specified via -r option." + if [ -z "${TARGETRELEASE}" ]; then + echo -n "`basename $0`: " + echo "${_TARGETRELEASE_z}" + exit 1 + fi + + # The target release should be != the current release. + if [ "${TARGETRELEASE}" = "${RELNUM}" ]; then + echo -n "`basename $0`: " + echo "Cannot upgrade from ${RELNUM} to itself" + exit 1 + fi + + # Turning off AllowAdd or AllowDelete is a bad idea for upgrades. + if [ "${ALLOWADD}" = "no" ]; then + echo -n "`basename $0`: " + echo -n "WARNING: \"AllowAdd no\" is a bad idea " + echo "when upgrading between releases." + echo + fi + if [ "${ALLOWDELETE}" = "no" ]; then + echo -n "`basename $0`: " + echo -n "WARNING: \"AllowDelete no\" is a bad idea " + echo "when upgrading between releases." + echo + fi + + # Set EDITOR to /usr/bin/vi if it isn't already set + : ${EDITOR:='/usr/bin/vi'} +} + +# Perform sanity checks and set some final parameters in +# preparation for installing updates. +install_check_params () { + # Check that we are root. All sorts of things won't work otherwise. + if [ `id -u` != 0 ]; then + echo "You must be root to run this." + exit 1 + fi + + # Check that securelevel <= 0. Otherwise we can't update schg files. + if [ `sysctl -n kern.securelevel` -gt 0 ]; then + echo "Updates cannot be installed when the system securelevel" + echo "is greater than zero." + exit 1 + fi + + # Check that we have a working directory + _WORKDIR_bad="Directory does not exist or is not writable: " + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + cd ${WORKDIR} || exit 1 + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` + + # Check that we have updates ready to install + if ! [ -L ${BDHASH}-install ]; then + echo "No updates are available to install." + if [ $ISFETCHED -eq 0 ]; then + echo "Run '$0 fetch' first." + exit 2 + fi + exit 0 + fi + if ! [ -f ${BDHASH}-install/INDEX-OLD ] || + ! [ -f ${BDHASH}-install/INDEX-NEW ]; then + echo "Update manifest is corrupt -- this should never happen." + echo "Re-run '$0 fetch'." + exit 1 + fi + + # Figure out what directory contains the running kernel + BOOTFILE=`sysctl -n kern.bootfile` + KERNELDIR=${BOOTFILE%/kernel} + if ! [ -d ${KERNELDIR} ]; then + echo "Cannot identify running kernel" + exit 1 + fi +} + +# Creates a new boot environment +install_create_be () { + # Figure out if we're running in a jail and return if we are + if [ `sysctl -n security.jail.jailed` = 1 ]; then + return 1 + fi + # Operating on roots that aren't located at / will, more often than not, + # not touch the boot environment. + if [ "$BASEDIR" != "/" ]; then + return 1 + fi + # Create a boot environment if enabled + if [ ${BOOTENV} = yes ]; then + bectl check 2>/dev/null + case $? in + 0) + # Boot environment are supported + CREATEBE=yes + ;; + 255) + # Boot environments are not supported + CREATEBE=no + ;; + *) + # If bectl returns an unexpected exit code, don't create a BE + CREATEBE=no + ;; + esac + if [ ${CREATEBE} = yes ]; then + echo -n "Creating snapshot of existing boot environment... " + VERSION=`freebsd-version -ku | sort -V | tail -n 1` + TIMESTAMP=`date +"%Y-%m-%d_%H%M%S"` + bectl create -r ${VERSION}_${TIMESTAMP} + if [ $? -eq 0 ]; then + echo "done."; + else + echo "failed." + exit 1 + fi + fi + fi +} + +# Perform sanity checks and set some final parameters in +# preparation for UNinstalling updates. +rollback_check_params () { + # Check that we are root. All sorts of things won't work otherwise. + if [ `id -u` != 0 ]; then + echo "You must be root to run this." + exit 1 + fi + + # Check that we have a working directory + _WORKDIR_bad="Directory does not exist or is not writable: " + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + cd ${WORKDIR} || exit 1 + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` + + # Check that we have updates ready to rollback + if ! [ -L ${BDHASH}-rollback ]; then + echo "No rollback directory found." + exit 1 + fi + if ! [ -f ${BDHASH}-rollback/INDEX-OLD ] || + ! [ -f ${BDHASH}-rollback/INDEX-NEW ]; then + echo "Update manifest is corrupt -- this should never happen." + exit 1 + fi +} + +# Perform sanity checks and set some final parameters +# in preparation for comparing the system against the +# published index. Figure out which index we should +# compare against: If the user is running *-p[0-9]+, +# strip off the last part; if the user is running +# -SECURITY, call it -RELEASE. Chdir into the working +# directory. +IDS_check_params () { + export HTTP_USER_AGENT="freebsd-update (${COMMAND}, `uname -r`)" + + _SERVERNAME_z=\ +"SERVERNAME must be given via command line or configuration file." + _KEYPRINT_z="Key must be given via -k option or configuration file." + _KEYPRINT_bad="Invalid key fingerprint: " + _WORKDIR_bad="Directory does not exist or is not writable: " + + if [ -z "${SERVERNAME}" ]; then + echo -n "`basename $0`: " + echo "${_SERVERNAME_z}" + exit 1 + fi + if [ -z "${KEYPRINT}" ]; then + echo -n "`basename $0`: " + echo "${_KEYPRINT_z}" + exit 1 + fi + if ! echo "${KEYPRINT}" | grep -qE "^[0-9a-f]{64}$"; then + echo -n "`basename $0`: " + echo -n "${_KEYPRINT_bad}" + echo ${KEYPRINT} + exit 1 + fi + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + cd ${WORKDIR} || exit 1 + + # Generate release number. The s/SECURITY/RELEASE/ bit exists + # to provide an upgrade path for FreeBSD Update 1.x users, since + # the kernels provided by FreeBSD Update 1.x are always labelled + # as X.Y-SECURITY. + RELNUM=`uname -r | + sed -E 's,-p[0-9]+,,' | + sed -E 's,-SECURITY,-RELEASE,'` + ARCH=`uname -m` + FETCHDIR=${RELNUM}/${ARCH} + PATCHDIR=${RELNUM}/${ARCH}/bp + + # Figure out what directory contains the running kernel + BOOTFILE=`sysctl -n kern.bootfile` + KERNELDIR=${BOOTFILE%/kernel} + if ! [ -d ${KERNELDIR} ]; then + echo "Cannot identify running kernel" + exit 1 + fi + + # Figure out what kernel configuration is running. We start with + # the output of `uname -i`, and then make the following adjustments: + # 1. Replace "SMP-GENERIC" with "SMP". Why the SMP kernel config + # file says "ident SMP-GENERIC", I don't know... + # 2. If the kernel claims to be GENERIC _and_ ${ARCH} is "amd64" + # _and_ `sysctl kern.version` contains a line which ends "/SMP", then + # we're running an SMP kernel. This mis-identification is a bug + # which was fixed in 6.2-STABLE. + KERNCONF=`uname -i` + if [ ${KERNCONF} = "SMP-GENERIC" ]; then + KERNCONF=SMP + fi + if [ ${KERNCONF} = "GENERIC" ] && [ ${ARCH} = "amd64" ]; then + if sysctl kern.version | grep -qE '/SMP$'; then + KERNCONF=SMP + fi + fi + + # Define some paths + SHA256=/sbin/sha256 + PHTTPGET=/usr/libexec/phttpget + + # Set up variables relating to VERBOSELEVEL + fetch_setup_verboselevel +} + +#### Core functionality -- the actual work gets done here + +# Use an SRV query to pick a server. If the SRV query doesn't provide +# a useful answer, use the server name specified by the user. +# Put another way... look up _http._tcp.${SERVERNAME} and pick a server +# from that; or if no servers are returned, use ${SERVERNAME}. +# This allows a user to specify "portsnap.freebsd.org" (in which case +# portsnap will select one of the mirrors) or "portsnap5.tld.freebsd.org" +# (in which case portsnap will use that particular server, since there +# won't be an SRV entry for that name). +# +# We ignore the Port field, since we are always going to use port 80. + +# Fetch the mirror list, but do not pick a mirror yet. Returns 1 if +# no mirrors are available for any reason. +fetch_pick_server_init () { + : > serverlist_tried + +# Check that host(1) exists (i.e., that the system wasn't built with the +# WITHOUT_BIND set) and don't try to find a mirror if it doesn't exist. + if ! which -s host; then + : > serverlist_full + return 1 + fi + + echo -n "Looking up ${SERVERNAME} mirrors... " + +# Issue the SRV query and pull out the Priority, Weight, and Target fields. +# BIND 9 prints "$name has SRV record ..." while BIND 8 prints +# "$name server selection ..."; we allow either format. + MLIST="_http._tcp.${SERVERNAME}" + host -t srv "${MLIST}" | + sed -nE "s/${MLIST} (has SRV record|server selection) //Ip" | + cut -f 1,2,4 -d ' ' | + sed -e 's/\.$//' | + sort > serverlist_full + +# If no records, give up -- we'll just use the server name we were given. + if [ `wc -l < serverlist_full` -eq 0 ]; then + echo "none found." + return 1 + fi + +# Report how many mirrors we found. + echo `wc -l < serverlist_full` "mirrors found." + +# Generate a random seed for use in picking mirrors. If HTTP_PROXY +# is set, this will be used to generate the seed; otherwise, the seed +# will be random. + if [ -n "${HTTP_PROXY}${http_proxy}" ]; then + RANDVALUE=`sha256 -qs "${HTTP_PROXY}${http_proxy}" | + tr -d 'a-f' | + cut -c 1-9` + else + RANDVALUE=`jot -r 1 0 999999999` + fi +} + +# Pick a mirror. Returns 1 if we have run out of mirrors to try. +fetch_pick_server () { +# Generate a list of not-yet-tried mirrors + sort serverlist_tried | + comm -23 serverlist_full - > serverlist + +# Have we run out of mirrors? + if [ `wc -l < serverlist` -eq 0 ]; then + cat <<- EOF + No mirrors remaining, giving up. + + This may be because upgrading from this platform (${ARCH}) + or release (${RELNUM}) is unsupported by `basename $0`. Only + platforms with Tier 1 support can be upgraded by `basename $0`. + See https://www.freebsd.org/platforms/ for more info. + + If unsupported, FreeBSD must be upgraded by source. + EOF + return 1 + fi + +# Find the highest priority level (lowest numeric value). + SRV_PRIORITY=`cut -f 1 -d ' ' serverlist | sort -n | head -1` + +# Add up the weights of the response lines at that priority level. + SRV_WSUM=0; + while read X; do + case "$X" in + ${SRV_PRIORITY}\ *) + SRV_W=`echo $X | cut -f 2 -d ' '` + SRV_WSUM=$(($SRV_WSUM + $SRV_W)) + ;; + esac + done < serverlist + +# If all the weights are 0, pretend that they are all 1 instead. + if [ ${SRV_WSUM} -eq 0 ]; then + SRV_WSUM=`grep -E "^${SRV_PRIORITY} " serverlist | wc -l` + SRV_W_ADD=1 + else + SRV_W_ADD=0 + fi + +# Pick a value between 0 and the sum of the weights - 1 + SRV_RND=`expr ${RANDVALUE} % ${SRV_WSUM}` + +# Read through the list of mirrors and set SERVERNAME. Write the line +# corresponding to the mirror we selected into serverlist_tried so that +# we won't try it again. + while read X; do + case "$X" in + ${SRV_PRIORITY}\ *) + SRV_W=`echo $X | cut -f 2 -d ' '` + SRV_W=$(($SRV_W + $SRV_W_ADD)) + if [ $SRV_RND -lt $SRV_W ]; then + SERVERNAME=`echo $X | cut -f 3 -d ' '` + echo "$X" >> serverlist_tried + break + else + SRV_RND=$(($SRV_RND - $SRV_W)) + fi + ;; + esac + done < serverlist +} + +# Take a list of ${oldhash}|${newhash} and output a list of needed patches, +# i.e., those for which we have ${oldhash} and don't have ${newhash}. +fetch_make_patchlist () { + grep -vE "^([0-9a-f]{64})\|\1$" | + tr '|' ' ' | + while read X Y; do + if [ -f "files/${Y}.gz" ] || + [ ! -f "files/${X}.gz" ]; then + continue + fi + echo "${X}|${Y}" + done | sort -u +} + +# Print user-friendly progress statistics +fetch_progress () { + LNC=0 + while read x; do + LNC=$(($LNC + 1)) + if [ $(($LNC % 10)) = 0 ]; then + echo -n $LNC + elif [ $(($LNC % 2)) = 0 ]; then + echo -n . + fi + done + echo -n " " +} + +# Function for asking the user if everything is ok +continuep () { + while read -p "Does this look reasonable (y/n)? " CONTINUE; do + case "${CONTINUE}" in + [yY]*) + return 0 + ;; + [nN]*) + return 1 + ;; + esac + done +} + +# Initialize the working directory +workdir_init () { + mkdir -p files + touch tINDEX.present +} + +# Check that we have a public key with an appropriate hash, or +# fetch the key if it doesn't exist. Returns 1 if the key has +# not yet been fetched. +fetch_key () { + if [ -r pub.ssl ] && [ `${SHA256} -q pub.ssl` = ${KEYPRINT} ]; then + return 0 + fi + + echo -n "Fetching public key from ${SERVERNAME}... " + rm -f pub.ssl + fetch ${QUIETFLAG} http://${SERVERNAME}/${FETCHDIR}/pub.ssl \ + 2>${QUIETREDIR} || true + if ! [ -r pub.ssl ]; then + echo "failed." + return 1 + fi + if ! [ `${SHA256} -q pub.ssl` = ${KEYPRINT} ]; then + echo "key has incorrect hash." + rm -f pub.ssl + return 1 + fi + echo "done." +} + +# Fetch metadata signature, aka "tag". +fetch_tag () { + echo -n "Fetching metadata signature " + echo ${NDEBUG} "for ${RELNUM} from ${SERVERNAME}... " + rm -f latest.ssl + fetch ${QUIETFLAG} http://${SERVERNAME}/${FETCHDIR}/latest.ssl \ + 2>${QUIETREDIR} || true + if ! [ -r latest.ssl ]; then + echo "failed." + return 1 + fi + + openssl rsautl -pubin -inkey pub.ssl -verify \ + < latest.ssl > tag.new 2>${QUIETREDIR} || true + rm latest.ssl + + if ! [ `wc -l < tag.new` = 1 ] || + ! grep -qE \ + "^freebsd-update\|${ARCH}\|${RELNUM}\|[0-9]+\|[0-9a-f]{64}\|[0-9]{10}" \ + tag.new; then + echo "invalid signature." + return 1 + fi + + echo "done." + + RELPATCHNUM=`cut -f 4 -d '|' < tag.new` + TINDEXHASH=`cut -f 5 -d '|' < tag.new` + EOLTIME=`cut -f 6 -d '|' < tag.new` +} + +# Sanity-check the patch number in a tag, to make sure that we're not +# going to "update" backwards and to prevent replay attacks. +fetch_tagsanity () { + # Check that we're not going to move from -pX to -pY with Y < X. + RELPX=`uname -r | sed -E 's,.*-,,'` + if echo ${RELPX} | grep -qE '^p[0-9]+$'; then + RELPX=`echo ${RELPX} | cut -c 2-` + else + RELPX=0 + fi + if [ "${RELPATCHNUM}" -lt "${RELPX}" ]; then + echo + echo -n "Files on mirror (${RELNUM}-p${RELPATCHNUM})" + echo " appear older than what" + echo "we are currently running (`uname -r`)!" + echo "Cowardly refusing to proceed any further." + return 1 + fi + + # If "tag" exists and corresponds to ${RELNUM}, make sure that + # it contains a patch number <= RELPATCHNUM, in order to protect + # against rollback (replay) attacks. + if [ -f tag ] && + grep -qE \ + "^freebsd-update\|${ARCH}\|${RELNUM}\|[0-9]+\|[0-9a-f]{64}\|[0-9]{10}" \ + tag; then + LASTRELPATCHNUM=`cut -f 4 -d '|' < tag` + + if [ "${RELPATCHNUM}" -lt "${LASTRELPATCHNUM}" ]; then + echo + echo -n "Files on mirror (${RELNUM}-p${RELPATCHNUM})" + echo " are older than the" + echo -n "most recently seen updates" + echo " (${RELNUM}-p${LASTRELPATCHNUM})." + echo "Cowardly refusing to proceed any further." + return 1 + fi + fi +} + +# Fetch metadata index file +fetch_metadata_index () { + echo ${NDEBUG} "Fetching metadata index... " + rm -f ${TINDEXHASH} + fetch ${QUIETFLAG} http://${SERVERNAME}/${FETCHDIR}/t/${TINDEXHASH} + 2>${QUIETREDIR} + if ! [ -f ${TINDEXHASH} ]; then + echo "failed." + return 1 + fi + if [ `${SHA256} -q ${TINDEXHASH}` != ${TINDEXHASH} ]; then + echo "update metadata index corrupt." + return 1 + fi + echo "done." +} + +# Print an error message about signed metadata being bogus. +fetch_metadata_bogus () { + echo + echo "The update metadata$1 is correctly signed, but" + echo "failed an integrity check." + echo "Cowardly refusing to proceed any further." + return 1 +} + +# Construct tINDEX.new by merging the lines named in $1 from ${TINDEXHASH} +# with the lines not named in $@ from tINDEX.present (if that file exists). +fetch_metadata_index_merge () { + for METAFILE in $@; do + if [ `grep -E "^${METAFILE}\|" ${TINDEXHASH} | wc -l` \ + -ne 1 ]; then + fetch_metadata_bogus " index" + return 1 + fi + + grep -E "${METAFILE}\|" ${TINDEXHASH} + done | + sort > tINDEX.wanted + + if [ -f tINDEX.present ]; then + join -t '|' -v 2 tINDEX.wanted tINDEX.present | + sort -m - tINDEX.wanted > tINDEX.new + rm tINDEX.wanted + else + mv tINDEX.wanted tINDEX.new + fi +} + +# Sanity check all the lines of tINDEX.new. Even if more metadata lines +# are added by future versions of the server, this won't cause problems, +# since the only lines which appear in tINDEX.new are the ones which we +# specifically grepped out of ${TINDEXHASH}. +fetch_metadata_index_sanity () { + if grep -qvE '^[0-9A-Z.-]+\|[0-9a-f]{64}$' tINDEX.new; then + fetch_metadata_bogus " index" + return 1 + fi +} + +# Sanity check the metadata file $1. +fetch_metadata_sanity () { + # Some aliases to save space later: ${P} is a character which can + # appear in a path; ${M} is the four numeric metadata fields; and + # ${H} is a sha256 hash. + P="[-+./:=,%@_[~[:alnum:]]" + M="[0-9]+\|[0-9]+\|[0-9]+\|[0-9]+" + H="[0-9a-f]{64}" + + # Check that the first four fields make sense. + if gunzip -c < files/$1.gz | + grep -qvE "^[a-z]+\|[0-9a-z-]+\|${P}+\|[fdL-]\|"; then + fetch_metadata_bogus "" + return 1 + fi + + # Remove the first three fields. + gunzip -c < files/$1.gz | + cut -f 4- -d '|' > sanitycheck.tmp + + # Sanity check entries with type 'f' + if grep -E '^f' sanitycheck.tmp | + grep -qvE "^f\|${M}\|${H}\|${P}*\$"; then + fetch_metadata_bogus "" + return 1 + fi + + # Sanity check entries with type 'd' + if grep -E '^d' sanitycheck.tmp | + grep -qvE "^d\|${M}\|\|\$"; then + fetch_metadata_bogus "" + return 1 + fi + + # Sanity check entries with type 'L' + if grep -E '^L' sanitycheck.tmp | + grep -qvE "^L\|${M}\|${P}*\|\$"; then + fetch_metadata_bogus "" + return 1 + fi + + # Sanity check entries with type '-' + if grep -E '^-' sanitycheck.tmp | + grep -qvE "^-\|\|\|\|\|\|"; then + fetch_metadata_bogus "" + return 1 + fi + + # Clean up + rm sanitycheck.tmp +} + +# Fetch the metadata index and metadata files listed in $@, +# taking advantage of metadata patches where possible. +fetch_metadata () { + fetch_metadata_index || return 1 + fetch_metadata_index_merge $@ || return 1 + fetch_metadata_index_sanity || return 1 + + # Generate a list of wanted metadata patches + join -t '|' -o 1.2,2.2 tINDEX.present tINDEX.new | + fetch_make_patchlist > patchlist + + if [ -s patchlist ]; then + # Attempt to fetch metadata patches + echo -n "Fetching `wc -l < patchlist | tr -d ' '` " + echo ${NDEBUG} "metadata patches.${DDSTATS}" + tr '|' '-' < patchlist | + lam -s "${FETCHDIR}/tp/" - -s ".gz" | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${STATSREDIR} | fetch_progress + echo "done." + + # Attempt to apply metadata patches + echo -n "Applying metadata patches... " + tr '|' ' ' < patchlist | + while read X Y; do + if [ ! -f "${X}-${Y}.gz" ]; then continue; fi + gunzip -c < ${X}-${Y}.gz > diff + gunzip -c < files/${X}.gz > diff-OLD + + # Figure out which lines are being added and removed + grep -E '^-' diff | + cut -c 2- | + while read PREFIX; do + look "${PREFIX}" diff-OLD + done | + sort > diff-rm + grep -E '^\+' diff | + cut -c 2- > diff-add + + # Generate the new file + comm -23 diff-OLD diff-rm | + sort - diff-add > diff-NEW + + if [ `${SHA256} -q diff-NEW` = ${Y} ]; then + mv diff-NEW files/${Y} + gzip -n files/${Y} + else + mv diff-NEW ${Y}.bad + fi + rm -f ${X}-${Y}.gz diff + rm -f diff-OLD diff-NEW diff-add diff-rm + done 2>${QUIETREDIR} + echo "done." + fi + + # Update metadata without patches + cut -f 2 -d '|' < tINDEX.new | + while read Y; do + if [ ! -f "files/${Y}.gz" ]; then + echo ${Y}; + fi + done | + sort -u > filelist + + if [ -s filelist ]; then + echo -n "Fetching `wc -l < filelist | tr -d ' '` " + echo ${NDEBUG} "metadata files... " + lam -s "${FETCHDIR}/m/" - -s ".gz" < filelist | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${QUIETREDIR} + + while read Y; do + if ! [ -f ${Y}.gz ]; then + echo "failed." + return 1 + fi + if [ `gunzip -c < ${Y}.gz | + ${SHA256} -q` = ${Y} ]; then + mv ${Y}.gz files/${Y}.gz + else + echo "metadata is corrupt." + return 1 + fi + done < filelist + echo "done." + fi + +# Sanity-check the metadata files. + cut -f 2 -d '|' tINDEX.new > filelist + while read X; do + fetch_metadata_sanity ${X} || return 1 + done < filelist + +# Remove files which are no longer needed + cut -f 2 -d '|' tINDEX.present | + sort > oldfiles + cut -f 2 -d '|' tINDEX.new | + sort | + comm -13 - oldfiles | + lam -s "files/" - -s ".gz" | + xargs rm -f + rm patchlist filelist oldfiles + rm ${TINDEXHASH} + +# We're done! + mv tINDEX.new tINDEX.present + mv tag.new tag + + return 0 +} + +# Extract a subset of a downloaded metadata file containing only the parts +# which are listed in COMPONENTS. +fetch_filter_metadata_components () { + METAHASH=`look "$1|" tINDEX.present | cut -f 2 -d '|'` + gunzip -c < files/${METAHASH}.gz > $1.all + + # Fish out the lines belonging to components we care about. + for C in ${COMPONENTS}; do + look "`echo ${C} | tr '/' '|'`|" $1.all + done > $1 + + # Remove temporary file. + rm $1.all +} + +# Generate a filtered version of the metadata file $1 from the downloaded +# file, by fishing out the lines corresponding to components we're trying +# to keep updated, and then removing lines corresponding to paths we want +# to ignore. +fetch_filter_metadata () { + # Fish out the lines belonging to components we care about. + fetch_filter_metadata_components $1 + + # Canonicalize directory names by removing any trailing / in + # order to avoid listing directories multiple times if they + # belong to multiple components. Turning "/" into "" doesn't + # matter, since we add a leading "/" when we use paths later. + cut -f 3- -d '|' $1 | + sed -e 's,/|d|,|d|,' | + sed -e 's,/|-|,|-|,' | + sort -u > $1.tmp + + # Figure out which lines to ignore and remove them. + for X in ${IGNOREPATHS}; do + grep -E "^${X}" $1.tmp + done | + sort -u | + comm -13 - $1.tmp > $1 + + # Remove temporary files. + rm $1.tmp +} + +# Filter the metadata file $1 by adding lines with "/boot/$2" +# replaced by ${KERNELDIR} (which is `sysctl -n kern.bootfile` minus the +# trailing "/kernel"); and if "/boot/$2" does not exist, remove +# the original lines which start with that. +# Put another way: Deal with the fact that the FOO kernel is sometimes +# installed in /boot/FOO/ and is sometimes installed elsewhere. +fetch_filter_kernel_names () { + grep ^/boot/$2 $1 | + sed -e "s,/boot/$2,${KERNELDIR},g" | + sort - $1 > $1.tmp + mv $1.tmp $1 + + if ! [ -d /boot/$2 ]; then + grep -v ^/boot/$2 $1 > $1.tmp + mv $1.tmp $1 + fi +} + +# For all paths appearing in $1 or $3, inspect the system +# and generate $2 describing what is currently installed. +fetch_inspect_system () { + # No errors yet... + rm -f .err + + # Tell the user why his disk is suddenly making lots of noise + echo -n "Inspecting system... " + + # Generate list of files to inspect + cat $1 $3 | + cut -f 1 -d '|' | + sort -u > filelist + + # Examine each file and output lines of the form + # /path/to/file|type|device-inum|user|group|perm|flags|value + # sorted by device and inode number. + while read F; do + # If the symlink/file/directory does not exist, record this. + if ! [ -e ${BASEDIR}/${F} ]; then + echo "${F}|-||||||" + continue + fi + if ! [ -r ${BASEDIR}/${F} ]; then + echo "Cannot read file: ${BASEDIR}/${F}" \ + >/dev/stderr + touch .err + return 1 + fi + + # Otherwise, output an index line. + if [ -L ${BASEDIR}/${F} ]; then + echo -n "${F}|L|" + stat -n -f '%d-%i|%u|%g|%Mp%Lp|%Of|' ${BASEDIR}/${F}; + readlink ${BASEDIR}/${F}; + elif [ -f ${BASEDIR}/${F} ]; then + echo -n "${F}|f|" + stat -n -f '%d-%i|%u|%g|%Mp%Lp|%Of|' ${BASEDIR}/${F}; + sha256 -q ${BASEDIR}/${F}; + elif [ -d ${BASEDIR}/${F} ]; then + echo -n "${F}|d|" + stat -f '%d-%i|%u|%g|%Mp%Lp|%Of|' ${BASEDIR}/${F}; + else + echo "Unknown file type: ${BASEDIR}/${F}" \ + >/dev/stderr + touch .err + return 1 + fi + done < filelist | + sort -k 3,3 -t '|' > $2.tmp + rm filelist + + # Check if an error occurred during system inspection + if [ -f .err ]; then + return 1 + fi + + # Convert to the form + # /path/to/file|type|user|group|perm|flags|value|hlink + # by resolving identical device and inode numbers into hard links. + cut -f 1,3 -d '|' $2.tmp | + sort -k 1,1 -t '|' | + sort -s -u -k 2,2 -t '|' | + join -1 2 -2 3 -t '|' - $2.tmp | + awk -F \| -v OFS=\| \ + '{ + if (($2 == $3) || ($4 == "-")) + print $3,$4,$5,$6,$7,$8,$9,"" + else + print $3,$4,$5,$6,$7,$8,$9,$2 + }' | + sort > $2 + rm $2.tmp + + # We're finished looking around + echo "done." +} + +# For any paths matching ${MERGECHANGES}, compare $2 against $1 and $3 and +# find any files with values unique to $2; generate $4 containing these paths +# and their corresponding hashes from $1. +fetch_filter_mergechanges () { + # Pull out the paths and hashes of the files matching ${MERGECHANGES}. + for F in $1 $2 $3; do + for X in ${MERGECHANGES}; do + grep -E "^${X}" ${F} + done | + cut -f 1,2,7 -d '|' | + sort > ${F}-values + done + + # Any line in $2-values which doesn't appear in $1-values or $3-values + # and is a file means that we should list the path in $3. + sort $1-values $3-values | + comm -13 - $2-values | + fgrep '|f|' | + cut -f 1 -d '|' > $2-paths + + # For each path, pull out one (and only one!) entry from $1-values. + # Note that we cannot distinguish which "old" version the user made + # changes to; but hopefully any changes which occur due to security + # updates will exist in both the "new" version and the version which + # the user has installed, so the merging will still work. + while read X; do + look "${X}|" $1-values | + head -1 + done < $2-paths > $4 + + # Clean up + rm $1-values $2-values $3-values $2-paths +} + +# For any paths matching ${UPDATEIFUNMODIFIED}, remove lines from $[123] +# which correspond to lines in $2 with hashes not matching $1 or $3, unless +# the paths are listed in $4. For entries in $2 marked "not present" +# (aka. type -), remove lines from $[123] unless there is a corresponding +# entry in $1. +fetch_filter_unmodified_notpresent () { + # Figure out which lines of $1 and $3 correspond to bits which + # should only be updated if they haven't changed, and fish out + # the (path, type, value) tuples. + # NOTE: We don't consider a file to be "modified" if it matches + # the hash from $3. + for X in ${UPDATEIFUNMODIFIED}; do + grep -E "^${X}" $1 + grep -E "^${X}" $3 + done | + cut -f 1,2,7 -d '|' | + sort > $1-values + + # Do the same for $2. + for X in ${UPDATEIFUNMODIFIED}; do + grep -E "^${X}" $2 + done | + cut -f 1,2,7 -d '|' | + sort > $2-values + + # Any entry in $2-values which is not in $1-values corresponds to + # a path which we need to remove from $1, $2, and $3, unless it + # that path appears in $4. + comm -13 $1-values $2-values | + sort -t '|' -k 1,1 > mlines.tmp + cut -f 1 -d '|' $4 | + sort | + join -v 2 -t '|' - mlines.tmp | + sort > mlines + rm $1-values $2-values mlines.tmp + + # Any lines in $2 which are not in $1 AND are "not present" lines + # also belong in mlines. + comm -13 $1 $2 | + cut -f 1,2,7 -d '|' | + fgrep '|-|' >> mlines + + # Remove lines from $1, $2, and $3 + for X in $1 $2 $3; do + sort -t '|' -k 1,1 ${X} > ${X}.tmp + cut -f 1 -d '|' < mlines | + sort | + join -v 2 -t '|' - ${X}.tmp | + sort > ${X} + rm ${X}.tmp + done + + # Store a list of the modified files, for future reference + fgrep -v '|-|' mlines | + cut -f 1 -d '|' > modifiedfiles + rm mlines +} + +# For each entry in $1 of type -, remove any corresponding +# entry from $2 if ${ALLOWADD} != "yes". Remove all entries +# of type - from $1. +fetch_filter_allowadd () { + cut -f 1,2 -d '|' < $1 | + fgrep '|-' | + cut -f 1 -d '|' > filesnotpresent + + if [ ${ALLOWADD} != "yes" ]; then + sort < $2 | + join -v 1 -t '|' - filesnotpresent | + sort > $2.tmp + mv $2.tmp $2 + fi + + sort < $1 | + join -v 1 -t '|' - filesnotpresent | + sort > $1.tmp + mv $1.tmp $1 + rm filesnotpresent +} + +# If ${ALLOWDELETE} != "yes", then remove any entries from $1 +# which don't correspond to entries in $2. +fetch_filter_allowdelete () { + # Produce a lists ${PATH}|${TYPE} + for X in $1 $2; do + cut -f 1-2 -d '|' < ${X} | + sort -u > ${X}.nodes + done + + # Figure out which lines need to be removed from $1. + if [ ${ALLOWDELETE} != "yes" ]; then + comm -23 $1.nodes $2.nodes > $1.badnodes + else + : > $1.badnodes + fi + + # Remove the relevant lines from $1 + while read X; do + look "${X}|" $1 + done < $1.badnodes | + comm -13 - $1 > $1.tmp + mv $1.tmp $1 + + rm $1.badnodes $1.nodes $2.nodes +} + +# If ${KEEPMODIFIEDMETADATA} == "yes", then for each entry in $2 +# with metadata not matching any entry in $1, replace the corresponding +# line of $3 with one having the same metadata as the entry in $2. +fetch_filter_modified_metadata () { + # Fish out the metadata from $1 and $2 + for X in $1 $2; do + cut -f 1-6 -d '|' < ${X} > ${X}.metadata + done + + # Find the metadata we need to keep + if [ ${KEEPMODIFIEDMETADATA} = "yes" ]; then + comm -13 $1.metadata $2.metadata > keepmeta + else + : > keepmeta + fi + + # Extract the lines which we need to remove from $3, and + # construct the lines which we need to add to $3. + : > $3.remove + : > $3.add + while read LINE; do + NODE=`echo "${LINE}" | cut -f 1-2 -d '|'` + look "${NODE}|" $3 >> $3.remove + look "${NODE}|" $3 | + cut -f 7- -d '|' | + lam -s "${LINE}|" - >> $3.add + done < keepmeta + + # Remove the specified lines and add the new lines. + sort $3.remove | + comm -13 - $3 | + sort -u - $3.add > $3.tmp + mv $3.tmp $3 + + rm keepmeta $1.metadata $2.metadata $3.add $3.remove +} + +# Remove lines from $1 and $2 which are identical; +# no need to update a file if it isn't changing. +fetch_filter_uptodate () { + comm -23 $1 $2 > $1.tmp + comm -13 $1 $2 > $2.tmp + + mv $1.tmp $1 + mv $2.tmp $2 +} + +# Fetch any "clean" old versions of files we need for merging changes. +fetch_files_premerge () { + # We only need to do anything if $1 is non-empty. + if [ -s $1 ]; then + # Tell the user what we're doing + echo -n "Fetching files from ${OLDRELNUM} for merging... " + + # List of files wanted + fgrep '|f|' < $1 | + cut -f 3 -d '|' | + sort -u > files.wanted + + # Only fetch the files we don't already have + while read Y; do + if [ ! -f "files/${Y}.gz" ]; then + echo ${Y}; + fi + done < files.wanted > filelist + + # Actually fetch them + lam -s "${OLDFETCHDIR}/f/" - -s ".gz" < filelist | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${QUIETREDIR} + + # Make sure we got them all, and move them into /files/ + while read Y; do + if ! [ -f ${Y}.gz ]; then + echo "failed." + return 1 + fi + if [ `gunzip -c < ${Y}.gz | + ${SHA256} -q` = ${Y} ]; then + mv ${Y}.gz files/${Y}.gz + else + echo "${Y} has incorrect hash." + return 1 + fi + done < filelist + echo "done." + + # Clean up + rm filelist files.wanted + fi +} + +# Prepare to fetch files: Generate a list of the files we need, +# copy the unmodified files we have into /files/, and generate +# a list of patches to download. +fetch_files_prepare () { + # Tell the user why his disk is suddenly making lots of noise + echo -n "Preparing to download files... " + + # Reduce indices to ${PATH}|${HASH} pairs + for X in $1 $2 $3; do + cut -f 1,2,7 -d '|' < ${X} | + fgrep '|f|' | + cut -f 1,3 -d '|' | + sort > ${X}.hashes + done + + # List of files wanted + cut -f 2 -d '|' < $3.hashes | + sort -u | + while read HASH; do + if ! [ -f files/${HASH}.gz ]; then + echo ${HASH} + fi + done > files.wanted + + # Generate a list of unmodified files + comm -12 $1.hashes $2.hashes | + sort -k 1,1 -t '|' > unmodified.files + + # Copy all files into /files/. We only need the unmodified files + # for use in patching; but we'll want all of them if the user asks + # to rollback the updates later. + while read LINE; do + F=`echo "${LINE}" | cut -f 1 -d '|'` + HASH=`echo "${LINE}" | cut -f 2 -d '|'` + + # Skip files we already have. + if [ -f files/${HASH}.gz ]; then + continue + fi + + # Make sure the file hasn't changed. + cp "${BASEDIR}/${F}" tmpfile + if [ `sha256 -q tmpfile` != ${HASH} ]; then + echo + echo "File changed while FreeBSD Update running: ${F}" + return 1 + fi + + # Place the file into storage. + gzip -c < tmpfile > files/${HASH}.gz + rm tmpfile + done < $2.hashes + + # Produce a list of patches to download + sort -k 1,1 -t '|' $3.hashes | + join -t '|' -o 2.2,1.2 - unmodified.files | + fetch_make_patchlist > patchlist + + # Garbage collect + rm unmodified.files $1.hashes $2.hashes $3.hashes + + # We don't need the list of possible old files any more. + rm $1 + + # We're finished making noise + echo "done." +} + +# Fetch files. +fetch_files () { + # Attempt to fetch patches + if [ -s patchlist ]; then + echo -n "Fetching `wc -l < patchlist | tr -d ' '` " + echo ${NDEBUG} "patches.${DDSTATS}" + tr '|' '-' < patchlist | + lam -s "${PATCHDIR}/" - | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${STATSREDIR} | fetch_progress + echo "done." + + # Attempt to apply patches + echo -n "Applying patches... " + tr '|' ' ' < patchlist | + while read X Y; do + if [ ! -f "${X}-${Y}" ]; then continue; fi + gunzip -c < files/${X}.gz > OLD + + bspatch OLD NEW ${X}-${Y} + + if [ `${SHA256} -q NEW` = ${Y} ]; then + mv NEW files/${Y} + gzip -n files/${Y} + fi + rm -f diff OLD NEW ${X}-${Y} + done 2>${QUIETREDIR} + echo "done." + fi + + # Download files which couldn't be generate via patching + while read Y; do + if [ ! -f "files/${Y}.gz" ]; then + echo ${Y}; + fi + done < files.wanted > filelist + + if [ -s filelist ]; then + echo -n "Fetching `wc -l < filelist | tr -d ' '` " + echo ${NDEBUG} "files... " + lam -s "${FETCHDIR}/f/" - -s ".gz" < filelist | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${STATSREDIR} | fetch_progress + + while read Y; do + if ! [ -f ${Y}.gz ]; then + echo "failed." + return 1 + fi + if [ `gunzip -c < ${Y}.gz | + ${SHA256} -q` = ${Y} ]; then + mv ${Y}.gz files/${Y}.gz + else + echo "${Y} has incorrect hash." + return 1 + fi + done < filelist + echo "done." + fi + + # Clean up + rm files.wanted filelist patchlist +} + +# Create and populate install manifest directory; and report what updates +# are available. +fetch_create_manifest () { + # If we have an existing install manifest, nuke it. + if [ -L "${BDHASH}-install" ]; then + rm -r ${BDHASH}-install/ + rm ${BDHASH}-install + fi + + # Report to the user if any updates were avoided due to local changes + if [ -s modifiedfiles ]; then + cat - modifiedfiles <<- EOF | ${PAGER} + The following files are affected by updates. No changes have + been downloaded, however, because the files have been modified + locally: + EOF + fi + rm modifiedfiles + + # If no files will be updated, tell the user and exit + if ! [ -s INDEX-PRESENT ] && + ! [ -s INDEX-NEW ]; then + rm INDEX-PRESENT INDEX-NEW + echo + echo -n "No updates needed to update system to " + echo "${RELNUM}-p${RELPATCHNUM}." + return + fi + + # Divide files into (a) removed files, (b) added files, and + # (c) updated files. + cut -f 1 -d '|' < INDEX-PRESENT | + sort > INDEX-PRESENT.flist + cut -f 1 -d '|' < INDEX-NEW | + sort > INDEX-NEW.flist + comm -23 INDEX-PRESENT.flist INDEX-NEW.flist > files.removed + comm -13 INDEX-PRESENT.flist INDEX-NEW.flist > files.added + comm -12 INDEX-PRESENT.flist INDEX-NEW.flist > files.updated + rm INDEX-PRESENT.flist INDEX-NEW.flist + + # Report removed files, if any + if [ -s files.removed ]; then + cat - files.removed <<- EOF | ${PAGER} + The following files will be removed as part of updating to + ${RELNUM}-p${RELPATCHNUM}: + EOF + fi + rm files.removed + + # Report added files, if any + if [ -s files.added ]; then + cat - files.added <<- EOF | ${PAGER} + The following files will be added as part of updating to + ${RELNUM}-p${RELPATCHNUM}: + EOF + fi + rm files.added + + # Report updated files, if any + if [ -s files.updated ]; then + cat - files.updated <<- EOF | ${PAGER} + The following files will be updated as part of updating to + ${RELNUM}-p${RELPATCHNUM}: + EOF + fi + rm files.updated + + # Create a directory for the install manifest. + MDIR=`mktemp -d install.XXXXXX` || return 1 + + # Populate it + mv INDEX-PRESENT ${MDIR}/INDEX-OLD + mv INDEX-NEW ${MDIR}/INDEX-NEW + + # Link it into place + ln -s ${MDIR} ${BDHASH}-install +} + +# Warn about any upcoming EoL +fetch_warn_eol () { + # What's the current time? + NOWTIME=`date "+%s"` + + # When did we last warn about the EoL date? + if [ -f lasteolwarn ]; then + LASTWARN=`cat lasteolwarn` + else + LASTWARN=`expr ${NOWTIME} - 63072000` + fi + + # If the EoL time is past, warn. + if [ ${EOLTIME} -lt ${NOWTIME} ]; then + echo + cat <<-EOF + WARNING: `uname -sr` HAS PASSED ITS END-OF-LIFE DATE. + Any security issues discovered after `date -r ${EOLTIME}` + will not have been corrected. + EOF + return 1 + fi + + # Figure out how long it has been since we last warned about the + # upcoming EoL, and how much longer we have left. + SINCEWARN=`expr ${NOWTIME} - ${LASTWARN}` + TIMELEFT=`expr ${EOLTIME} - ${NOWTIME}` + + # Don't warn if the EoL is more than 3 months away + if [ ${TIMELEFT} -gt 7884000 ]; then + return 0 + fi + + # Don't warn if the time remaining is more than 3 times the time + # since the last warning. + if [ ${TIMELEFT} -gt `expr ${SINCEWARN} \* 3` ]; then + return 0 + fi + + # Figure out what time units to use. + if [ ${TIMELEFT} -lt 604800 ]; then + UNIT="day" + SIZE=86400 + elif [ ${TIMELEFT} -lt 2678400 ]; then + UNIT="week" + SIZE=604800 + else + UNIT="month" + SIZE=2678400 + fi + + # Compute the right number of units + NUM=`expr ${TIMELEFT} / ${SIZE}` + if [ ${NUM} != 1 ]; then + UNIT="${UNIT}s" + fi + + # Print the warning + echo + cat <<-EOF + WARNING: `uname -sr` is approaching its End-of-Life date. + It is strongly recommended that you upgrade to a newer + release within the next ${NUM} ${UNIT}. + EOF + + # Update the stored time of last warning + echo ${NOWTIME} > lasteolwarn +} + +# Do the actual work involved in "fetch" / "cron". +fetch_run () { + workdir_init || return 1 + + # Prepare the mirror list. + fetch_pick_server_init && fetch_pick_server + + # Try to fetch the public key until we run out of servers. + while ! fetch_key; do + fetch_pick_server || return 1 + done + + # Try to fetch the metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + fetch_tagsanity || return 1 + + # Fetch the latest INDEX-NEW and INDEX-OLD files. + fetch_metadata INDEX-NEW INDEX-OLD || return 1 + + # Generate filtered INDEX-NEW and INDEX-OLD files containing only + # the lines which (a) belong to components we care about, and (b) + # don't correspond to paths we're explicitly ignoring. + fetch_filter_metadata INDEX-NEW || return 1 + fetch_filter_metadata INDEX-OLD || return 1 + + # Translate /boot/${KERNCONF} into ${KERNELDIR} + fetch_filter_kernel_names INDEX-NEW ${KERNCONF} + fetch_filter_kernel_names INDEX-OLD ${KERNCONF} + + # For all paths appearing in INDEX-OLD or INDEX-NEW, inspect the + # system and generate an INDEX-PRESENT file. + fetch_inspect_system INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Based on ${UPDATEIFUNMODIFIED}, remove lines from INDEX-* which + # correspond to lines in INDEX-PRESENT with hashes not appearing + # in INDEX-OLD or INDEX-NEW. Also remove lines where the entry in + # INDEX-PRESENT has type - and there isn't a corresponding entry in + # INDEX-OLD with type -. + fetch_filter_unmodified_notpresent \ + INDEX-OLD INDEX-PRESENT INDEX-NEW /dev/null + + # For each entry in INDEX-PRESENT of type -, remove any corresponding + # entry from INDEX-NEW if ${ALLOWADD} != "yes". Remove all entries + # of type - from INDEX-PRESENT. + fetch_filter_allowadd INDEX-PRESENT INDEX-NEW + + # If ${ALLOWDELETE} != "yes", then remove any entries from + # INDEX-PRESENT which don't correspond to entries in INDEX-NEW. + fetch_filter_allowdelete INDEX-PRESENT INDEX-NEW + + # If ${KEEPMODIFIEDMETADATA} == "yes", then for each entry in + # INDEX-PRESENT with metadata not matching any entry in INDEX-OLD, + # replace the corresponding line of INDEX-NEW with one having the + # same metadata as the entry in INDEX-PRESENT. + fetch_filter_modified_metadata INDEX-OLD INDEX-PRESENT INDEX-NEW + + # Remove lines from INDEX-PRESENT and INDEX-NEW which are identical; + # no need to update a file if it isn't changing. + fetch_filter_uptodate INDEX-PRESENT INDEX-NEW + + # Prepare to fetch files: Generate a list of the files we need, + # copy the unmodified files we have into /files/, and generate + # a list of patches to download. + fetch_files_prepare INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Fetch files. + fetch_files || return 1 + + # Create and populate install manifest directory; and report what + # updates are available. + fetch_create_manifest || return 1 + + # Warn about any upcoming EoL + fetch_warn_eol || return 1 +} + +# If StrictComponents is not "yes", generate a new components list +# with only the components which appear to be installed. +upgrade_guess_components () { + if [ "${STRICTCOMPONENTS}" = "no" ]; then + # Generate filtered INDEX-ALL with only the components listed + # in COMPONENTS. + fetch_filter_metadata_components $1 || return 1 + + # Tell the user why his disk is suddenly making lots of noise + echo -n "Inspecting system... " + + # Look at the files on disk, and assume that a component is + # supposed to be present if it is more than half-present. + cut -f 1-3 -d '|' < INDEX-ALL | + tr '|' ' ' | + while read C S F; do + if [ -e ${BASEDIR}/${F} ]; then + echo "+ ${C}|${S}" + fi + echo "= ${C}|${S}" + done | + sort | + uniq -c | + sed -E 's,^ +,,' > compfreq + grep ' = ' compfreq | + cut -f 1,3 -d ' ' | + sort -k 2,2 -t ' ' > compfreq.total + grep ' + ' compfreq | + cut -f 1,3 -d ' ' | + sort -k 2,2 -t ' ' > compfreq.present + join -t ' ' -1 2 -2 2 compfreq.present compfreq.total | + while read S P T; do + if [ ${T} -ne 0 -a ${P} -gt `expr ${T} / 2` ]; then + echo ${S} + fi + done > comp.present + cut -f 2 -d ' ' < compfreq.total > comp.total + rm INDEX-ALL compfreq compfreq.total compfreq.present + + # We're done making noise. + echo "done." + + # Sometimes the kernel isn't installed where INDEX-ALL + # thinks that it should be: In particular, it is often in + # /boot/kernel instead of /boot/GENERIC or /boot/SMP. To + # deal with this, if "kernel|X" is listed in comp.total + # (i.e., is a component which would be upgraded if it is + # found to be present) we will add it to comp.present. + # If "kernel|" is in comp.total but "kernel|X" is + # not, we print a warning -- the user is running a kernel + # which isn't part of the release. + KCOMP=`echo ${KERNCONF} | tr 'A-Z' 'a-z'` + grep -E "^kernel\|${KCOMP}\$" comp.total >> comp.present + + if grep -qE "^kernel\|" comp.total && + ! grep -qE "^kernel\|${KCOMP}\$" comp.total; then + cat <<-EOF + +WARNING: This system is running a "${KCOMP}" kernel, which is not a +kernel configuration distributed as part of FreeBSD ${RELNUM}. +This kernel will not be updated: you MUST update the kernel manually +before running "$0 install". + EOF + fi + + # Re-sort the list of installed components and generate + # the list of non-installed components. + sort -u < comp.present > comp.present.tmp + mv comp.present.tmp comp.present + comm -13 comp.present comp.total > comp.absent + + # Ask the user to confirm that what we have is correct. To + # reduce user confusion, translate "X|Y" back to "X/Y" (as + # subcomponents must be listed in the configuration file). + echo + echo -n "The following components of FreeBSD " + echo "seem to be installed:" + tr '|' '/' < comp.present | + fmt -72 + echo + echo -n "The following components of FreeBSD " + echo "do not seem to be installed:" + tr '|' '/' < comp.absent | + fmt -72 + echo + continuep || return 1 + echo + + # Suck the generated list of components into ${COMPONENTS}. + # Note that comp.present.tmp is used due to issues with + # pipelines and setting variables. + COMPONENTS="" + tr '|' '/' < comp.present > comp.present.tmp + while read C; do + COMPONENTS="${COMPONENTS} ${C}" + done < comp.present.tmp + + # Delete temporary files + rm comp.present comp.present.tmp comp.absent comp.total + fi +} + +# If StrictComponents is not "yes", COMPONENTS contains an entry +# corresponding to the currently running kernel, and said kernel +# does not exist in the new release, add "kernel/generic" to the +# list of components. +upgrade_guess_new_kernel () { + if [ "${STRICTCOMPONENTS}" = "no" ]; then + # Grab the unfiltered metadata file. + METAHASH=`look "$1|" tINDEX.present | cut -f 2 -d '|'` + gunzip -c < files/${METAHASH}.gz > $1.all + + # If "kernel/${KCOMP}" is in ${COMPONENTS} and that component + # isn't in $1.all, we need to add kernel/generic. + for C in ${COMPONENTS}; do + if [ ${C} = "kernel/${KCOMP}" ] && + ! grep -qE "^kernel\|${KCOMP}\|" $1.all; then + COMPONENTS="${COMPONENTS} kernel/generic" + NKERNCONF="GENERIC" + cat <<-EOF + +WARNING: This system is running a "${KCOMP}" kernel, which is not a +kernel configuration distributed as part of FreeBSD ${RELNUM}. +As part of upgrading to FreeBSD ${RELNUM}, this kernel will be +replaced with a "generic" kernel. + EOF + continuep || return 1 + fi + done + + # Don't need this any more... + rm $1.all + fi +} + +# Convert INDEX-OLD (last release) and INDEX-ALL (new release) into +# INDEX-OLD and INDEX-NEW files (in the sense of normal upgrades). +upgrade_oldall_to_oldnew () { + # For each ${F}|... which appears in INDEX-ALL but does not appear + # in INDEX-OLD, add ${F}|-|||||| to INDEX-OLD. + cut -f 1 -d '|' < $1 | + sort -u > $1.paths + cut -f 1 -d '|' < $2 | + sort -u | + comm -13 $1.paths - | + lam - -s "|-||||||" | + sort - $1 > $1.tmp + mv $1.tmp $1 + + # Remove lines from INDEX-OLD which also appear in INDEX-ALL + comm -23 $1 $2 > $1.tmp + mv $1.tmp $1 + + # Remove lines from INDEX-ALL which have a file name not appearing + # anywhere in INDEX-OLD (since these must be files which haven't + # changed -- if they were new, there would be an entry of type "-"). + cut -f 1 -d '|' < $1 | + sort -u > $1.paths + sort -k 1,1 -t '|' < $2 | + join -t '|' - $1.paths | + sort > $2.tmp + rm $1.paths + mv $2.tmp $2 + + # Rename INDEX-ALL to INDEX-NEW. + mv $2 $3 +} + +# Helper for upgrade_merge: Return zero true iff the two files differ only +# in the contents of their RCS tags. +samef () { + X=`sed -E 's/\\$FreeBSD.*\\$/\$FreeBSD\$/' < $1 | ${SHA256}` + Y=`sed -E 's/\\$FreeBSD.*\\$/\$FreeBSD\$/' < $2 | ${SHA256}` + + if [ $X = $Y ]; then + return 0; + else + return 1; + fi +} + +# From the list of "old" files in $1, merge changes in $2 with those in $3, +# and update $3 to reflect the hashes of merged files. +upgrade_merge () { + # We only need to do anything if $1 is non-empty. + if [ -s $1 ]; then + cut -f 1 -d '|' $1 | + sort > $1-paths + + # Create staging area for merging files + rm -rf merge/ + while read F; do + D=`dirname ${F}` + mkdir -p merge/old/${D} + mkdir -p merge/${OLDRELNUM}/${D} + mkdir -p merge/${RELNUM}/${D} + mkdir -p merge/new/${D} + done < $1-paths + + # Copy in files + while read F; do + # Currently installed file + V=`look "${F}|" $2 | cut -f 7 -d '|'` + gunzip < files/${V}.gz > merge/old/${F} + + # Old release + if look "${F}|" $1 | fgrep -q "|f|"; then + V=`look "${F}|" $1 | cut -f 3 -d '|'` + gunzip < files/${V}.gz \ + > merge/${OLDRELNUM}/${F} + fi + + # New release + if look "${F}|" $3 | cut -f 1,2,7 -d '|' | + fgrep -q "|f|"; then + V=`look "${F}|" $3 | cut -f 7 -d '|'` + gunzip < files/${V}.gz \ + > merge/${RELNUM}/${F} + fi + done < $1-paths + + # Attempt to automatically merge changes + echo -n "Attempting to automatically merge " + echo -n "changes in files..." + : > failed.merges + while read F; do + # If the file doesn't exist in the new release, + # the result of "merging changes" is having the file + # not exist. + if ! [ -f merge/${RELNUM}/${F} ]; then + continue + fi + + # If the file didn't exist in the old release, we're + # going to throw away the existing file and hope that + # the version from the new release is what we want. + if ! [ -f merge/${OLDRELNUM}/${F} ]; then + cp merge/${RELNUM}/${F} merge/new/${F} + continue + fi + + # Some files need special treatment. + case ${F} in + /etc/spwd.db | /etc/pwd.db | /etc/login.conf.db) + # Don't merge these -- we're rebuild them + # after updates are installed. + cp merge/old/${F} merge/new/${F} + ;; + *) + if ! diff3 -E -m -L "current version" \ + -L "${OLDRELNUM}" -L "${RELNUM}" \ + merge/old/${F} \ + merge/${OLDRELNUM}/${F} \ + merge/${RELNUM}/${F} \ + > merge/new/${F} 2>/dev/null; then + echo ${F} >> failed.merges + fi + ;; + esac + done < $1-paths + echo " done." + + # Ask the user to handle any files which didn't merge. + while read F; do + # If the installed file differs from the version in + # the old release only due to RCS tag expansion + # then just use the version in the new release. + if samef merge/old/${F} merge/${OLDRELNUM}/${F}; then + cp merge/${RELNUM}/${F} merge/new/${F} + continue + fi + + cat <<-EOF + +The following file could not be merged automatically: ${F} +Press Enter to edit this file in ${EDITOR} and resolve the conflicts +manually... + EOF + while true; do + read dummy >>>>>>)([[:space:]].*)?$' $(pwd)/merge/new/${F} ; then + break + fi + cat <<-EOF + +Merge conflict markers remain in: ${F} +These must be resolved for the system to be functional. + +Press Enter to return to editing this file. + EOF + done + done < failed.merges + rm failed.merges + + # Ask the user to confirm that he likes how the result + # of merging files. + while read F; do + # Skip files which haven't changed except possibly + # in their RCS tags. + if [ -f merge/old/${F} ] && [ -f merge/new/${F} ] && + samef merge/old/${F} merge/new/${F}; then + continue + fi + + # Skip files where the installed file differs from + # the old file only due to RCS tags. + if [ -f merge/old/${F} ] && + [ -f merge/${OLDRELNUM}/${F} ] && + samef merge/old/${F} merge/${OLDRELNUM}/${F}; then + continue + fi + + # Warn about files which are ceasing to exist. + if ! [ -f merge/new/${F} ]; then + cat <<-EOF + +The following file will be removed, as it no longer exists in +FreeBSD ${RELNUM}: ${F} + EOF + continuep < /dev/tty || return 1 + continue + fi + + # Print changes for the user's approval. + cat <<-EOF + +The following changes, which occurred between FreeBSD ${OLDRELNUM} and +FreeBSD ${RELNUM} have been merged into ${F}: +EOF + diff -U 5 -L "current version" -L "new version" \ + merge/old/${F} merge/new/${F} || true + continuep < /dev/tty || return 1 + done < $1-paths + + # Store merged files. + while read F; do + if [ -f merge/new/${F} ]; then + V=`${SHA256} -q merge/new/${F}` + + gzip -c < merge/new/${F} > files/${V}.gz + echo "${F}|${V}" + fi + done < $1-paths > newhashes + + # Pull lines out from $3 which need to be updated to + # reflect merged files. + while read F; do + look "${F}|" $3 + done < $1-paths > $3-oldlines + + # Update lines to reflect merged files + join -t '|' -o 1.1,1.2,1.3,1.4,1.5,1.6,2.2,1.8 \ + $3-oldlines newhashes > $3-newlines + + # Remove old lines from $3 and add new lines. + sort $3-oldlines | + comm -13 - $3 | + sort - $3-newlines > $3.tmp + mv $3.tmp $3 + + # Clean up + rm $1-paths newhashes $3-oldlines $3-newlines + rm -rf merge/ + fi + + # We're done with merging files. + rm $1 +} + +# Do the work involved in fetching upgrades to a new release +upgrade_run () { + workdir_init || return 1 + + # Prepare the mirror list. + fetch_pick_server_init && fetch_pick_server + + # Try to fetch the public key until we run out of servers. + while ! fetch_key; do + fetch_pick_server || return 1 + done + + # Try to fetch the metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + fetch_tagsanity || return 1 + + # Fetch the INDEX-OLD and INDEX-ALL. + fetch_metadata INDEX-OLD INDEX-ALL || return 1 + + # If StrictComponents is not "yes", generate a new components list + # with only the components which appear to be installed. + upgrade_guess_components INDEX-ALL || return 1 + + # Generate filtered INDEX-OLD and INDEX-ALL files containing only + # the components we want and without anything marked as "Ignore". + fetch_filter_metadata INDEX-OLD || return 1 + fetch_filter_metadata INDEX-ALL || return 1 + + # Merge the INDEX-OLD and INDEX-ALL files into INDEX-OLD. + sort INDEX-OLD INDEX-ALL > INDEX-OLD.tmp + mv INDEX-OLD.tmp INDEX-OLD + rm INDEX-ALL + + # Adjust variables for fetching files from the new release. + OLDRELNUM=${RELNUM} + RELNUM=${TARGETRELEASE} + OLDFETCHDIR=${FETCHDIR} + FETCHDIR=${RELNUM}/${ARCH} + + # Try to fetch the NEW metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + + # Fetch the new INDEX-ALL. + fetch_metadata INDEX-ALL || return 1 + + # If StrictComponents is not "yes", COMPONENTS contains an entry + # corresponding to the currently running kernel, and said kernel + # does not exist in the new release, add "kernel/generic" to the + # list of components. + upgrade_guess_new_kernel INDEX-ALL || return 1 + + # Filter INDEX-ALL to contain only the components we want and without + # anything marked as "Ignore". + fetch_filter_metadata INDEX-ALL || return 1 + + # Convert INDEX-OLD (last release) and INDEX-ALL (new release) into + # INDEX-OLD and INDEX-NEW files (in the sense of normal upgrades). + upgrade_oldall_to_oldnew INDEX-OLD INDEX-ALL INDEX-NEW + + # Translate /boot/${KERNCONF} or /boot/${NKERNCONF} into ${KERNELDIR} + fetch_filter_kernel_names INDEX-NEW ${NKERNCONF} + fetch_filter_kernel_names INDEX-OLD ${KERNCONF} + + # For all paths appearing in INDEX-OLD or INDEX-NEW, inspect the + # system and generate an INDEX-PRESENT file. + fetch_inspect_system INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Based on ${MERGECHANGES}, generate a file tomerge-old with the + # paths and hashes of old versions of files to merge. + fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT INDEX-NEW tomerge-old + + # Based on ${UPDATEIFUNMODIFIED}, remove lines from INDEX-* which + # correspond to lines in INDEX-PRESENT with hashes not appearing + # in INDEX-OLD or INDEX-NEW. Also remove lines where the entry in + # INDEX-PRESENT has type - and there isn't a corresponding entry in + # INDEX-OLD with type -. + fetch_filter_unmodified_notpresent \ + INDEX-OLD INDEX-PRESENT INDEX-NEW tomerge-old + + # For each entry in INDEX-PRESENT of type -, remove any corresponding + # entry from INDEX-NEW if ${ALLOWADD} != "yes". Remove all entries + # of type - from INDEX-PRESENT. + fetch_filter_allowadd INDEX-PRESENT INDEX-NEW + + # If ${ALLOWDELETE} != "yes", then remove any entries from + # INDEX-PRESENT which don't correspond to entries in INDEX-NEW. + fetch_filter_allowdelete INDEX-PRESENT INDEX-NEW + + # If ${KEEPMODIFIEDMETADATA} == "yes", then for each entry in + # INDEX-PRESENT with metadata not matching any entry in INDEX-OLD, + # replace the corresponding line of INDEX-NEW with one having the + # same metadata as the entry in INDEX-PRESENT. + fetch_filter_modified_metadata INDEX-OLD INDEX-PRESENT INDEX-NEW + + # Remove lines from INDEX-PRESENT and INDEX-NEW which are identical; + # no need to update a file if it isn't changing. + fetch_filter_uptodate INDEX-PRESENT INDEX-NEW + + # Fetch "clean" files from the old release for merging changes. + fetch_files_premerge tomerge-old + + # Prepare to fetch files: Generate a list of the files we need, + # copy the unmodified files we have into /files/, and generate + # a list of patches to download. + fetch_files_prepare INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Fetch patches from to-${RELNUM}/${ARCH}/bp/ + PATCHDIR=to-${RELNUM}/${ARCH}/bp + fetch_files || return 1 + + # Merge configuration file changes. + upgrade_merge tomerge-old INDEX-PRESENT INDEX-NEW || return 1 + + # Create and populate install manifest directory; and report what + # updates are available. + fetch_create_manifest || return 1 + + # Leave a note behind to tell the "install" command that the kernel + # needs to be installed before the world. + touch ${BDHASH}-install/kernelfirst + + # Remind the user that they need to run "freebsd-update install" + # to install the downloaded bits, in case they didn't RTFM. + echo "To install the downloaded upgrades, run \"$0 install\"." +} + +# Make sure that all the file hashes mentioned in $@ have corresponding +# gzipped files stored in /files/. +install_verify () { + # Generate a list of hashes + cat $@ | + cut -f 2,7 -d '|' | + grep -E '^f' | + cut -f 2 -d '|' | + sort -u > filelist + + # Make sure all the hashes exist + while read HASH; do + if ! [ -f files/${HASH}.gz ]; then + echo -n "Update files missing -- " + echo "this should never happen." + echo "Re-run '$0 fetch'." + return 1 + fi + done < filelist + + # Clean up + rm filelist +} + +# Remove the system immutable flag from files +install_unschg () { + # Generate file list + cat $@ | + cut -f 1 -d '|' > filelist + + # Remove flags + while read F; do + if ! [ -e ${BASEDIR}/${F} ]; then + continue + else + echo ${BASEDIR}/${F} + fi + done < filelist | xargs chflags noschg || return 1 + + # Clean up + rm filelist +} + +# Decide which directory name to use for kernel backups. +backup_kernel_finddir () { + CNT=0 + while true ; do + # Pathname does not exist, so it is OK use that name + # for backup directory. + if [ ! -e $BASEDIR/$BACKUPKERNELDIR ]; then + return 0 + fi + + # If directory do exist, we only use if it has our + # marker file. + if [ -d $BASEDIR/$BACKUPKERNELDIR -a \ + -e $BASEDIR/$BACKUPKERNELDIR/.freebsd-update ]; then + return 0 + fi + + # We could not use current directory name, so add counter to + # the end and try again. + CNT=$((CNT + 1)) + if [ $CNT -gt 9 ]; then + echo "Could not find valid backup dir ($BASEDIR/$BACKUPKERNELDIR)" + exit 1 + fi + BACKUPKERNELDIR="`echo $BACKUPKERNELDIR | sed -Ee 's/[0-9]\$//'`" + BACKUPKERNELDIR="${BACKUPKERNELDIR}${CNT}" + done +} + +# Backup the current kernel using hardlinks, if not disabled by user. +# Since we delete all files in the directory used for previous backups +# we create a marker file called ".freebsd-update" in the directory so +# we can determine on the next run that the directory was created by +# freebsd-update and we then do not accidentally remove user files in +# the unlikely case that the user has created a directory with a +# conflicting name. +backup_kernel () { + # Only make kernel backup is so configured. + if [ $BACKUPKERNEL != yes ]; then + return 0 + fi + + # Decide which directory name to use for kernel backups. + backup_kernel_finddir + + # Remove old kernel backup files. If $BACKUPKERNELDIR was + # "not ours", backup_kernel_finddir would have exited, so + # deleting the directory content is as safe as we can make it. + if [ -d $BASEDIR/$BACKUPKERNELDIR ]; then + rm -fr $BASEDIR/$BACKUPKERNELDIR + fi + + # Create directories for backup. + mkdir -p $BASEDIR/$BACKUPKERNELDIR + mtree -cdn -p "${BASEDIR}/${KERNELDIR}" | \ + mtree -Ue -p "${BASEDIR}/${BACKUPKERNELDIR}" > /dev/null + + # Mark the directory as having been created by freebsd-update. + touch $BASEDIR/$BACKUPKERNELDIR/.freebsd-update + if [ $? -ne 0 ]; then + echo "Could not create kernel backup directory" + exit 1 + fi + + # Disable pathname expansion to be sure *.symbols is not + # expanded. + set -f + + # Use find to ignore symbol files, unless disabled by user. + if [ $BACKUPKERNELSYMBOLFILES = yes ]; then + FINDFILTER="" + else + FINDFILTER="-a ! -name *.debug -a ! -name *.symbols" + fi + + # Backup all the kernel files using hardlinks. + (cd ${BASEDIR}/${KERNELDIR} && find . -type f $FINDFILTER -exec \ + cp -pl '{}' ${BASEDIR}/${BACKUPKERNELDIR}/'{}' \;) + + # Re-enable patchname expansion. + set +f +} + +# Install new files +install_from_index () { + # First pass: Do everything apart from setting file flags. We + # can't set flags yet, because schg inhibits hard linking. + sort -k 1,1 -t '|' $1 | + tr '|' ' ' | + while read FPATH TYPE OWNER GROUP PERM FLAGS HASH LINK; do + case ${TYPE} in + d) + # Create a directory. A file may change to a directory + # on upgrade (PR273661). If that happens, remove the + # file first. + if [ -e "${BASEDIR}/${FPATH}" ] && \ + ! [ -d "${BASEDIR}/${FPATH}" ]; then + rm -f -- "${BASEDIR}/${FPATH}" + fi + install -d -o ${OWNER} -g ${GROUP} \ + -m ${PERM} ${BASEDIR}/${FPATH} + ;; + f) + if [ -z "${LINK}" ]; then + # Create a file, without setting flags. + gunzip < files/${HASH}.gz > ${HASH} + install -S -o ${OWNER} -g ${GROUP} \ + -m ${PERM} ${HASH} ${BASEDIR}/${FPATH} + rm ${HASH} + else + # Create a hard link. + ln -f ${BASEDIR}/${LINK} ${BASEDIR}/${FPATH} + fi + ;; + L) + # Create a symlink + ln -sfh ${HASH} ${BASEDIR}/${FPATH} + ;; + esac + done + + # Perform a second pass, adding file flags. + tr '|' ' ' < $1 | + while read FPATH TYPE OWNER GROUP PERM FLAGS HASH LINK; do + if [ ${TYPE} = "f" ] && + ! [ ${FLAGS} = "0" ]; then + chflags ${FLAGS} ${BASEDIR}/${FPATH} + fi + done +} + +# Remove files which we want to delete +install_delete () { + # Generate list of new files + cut -f 1 -d '|' < $2 | + sort > newfiles + + # Generate subindex of old files we want to nuke + sort -k 1,1 -t '|' $1 | + join -t '|' -v 1 - newfiles | + sort -r -k 1,1 -t '|' | + cut -f 1,2 -d '|' | + tr '|' ' ' > killfiles + + # Remove the offending bits + while read FPATH TYPE; do + case ${TYPE} in + d) + rmdir ${BASEDIR}/${FPATH} + ;; + f) + rm ${BASEDIR}/${FPATH} + ;; + L) + rm ${BASEDIR}/${FPATH} + ;; + esac + done < killfiles + + # Clean up + rm newfiles killfiles +} + +# Install new files, delete old files, and update generated files +install_files () { + # If we haven't already dealt with the kernel, deal with it. + if ! [ -f $1/kerneldone ]; then + grep -E '^/boot/' $1/INDEX-OLD > INDEX-OLD + grep -E '^/boot/' $1/INDEX-NEW > INDEX-NEW + + # Backup current kernel before installing a new one + backup_kernel || return 1 + + # Install new files + install_from_index INDEX-NEW || return 1 + + # Remove files which need to be deleted + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Update linker.hints if necessary + if [ -s INDEX-OLD -o -s INDEX-NEW ]; then + kldxref -R ${BASEDIR}/boot/ 2>/dev/null + fi + + # We've finished updating the kernel. + touch $1/kerneldone + + # Do we need to ask for a reboot now? + if [ -f $1/kernelfirst ] && + [ -s INDEX-OLD -o -s INDEX-NEW ]; then + cat <<-EOF + +Kernel updates have been installed. Please reboot and run +"$0 install" again to finish installing updates. + EOF + exit 0 + fi + fi + + # If we haven't already dealt with the world, deal with it. + if ! [ -f $1/worlddone ]; then + # Create any necessary directories first + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '^[^|]+\|d\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + + # Install new runtime linker + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -E '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + + # Install new shared libraries next + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + + # Deal with everything else + grep -vE '^/boot/' $1/INDEX-OLD | + grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | + grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | + grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Restart host sshd if running (PR263489). Note that this does + # not affect child sshd processes handling existing sessions. + if [ "$BASEDIR" = / ] && \ + service sshd status >/dev/null 2>/dev/null; then + echo + echo "Restarting sshd after upgrade" + service sshd restart + fi + + # Rehash certs if we actually have certctl installed. + if which certctl>/dev/null; then + env DESTDIR=${BASEDIR} certctl rehash + fi + + # Rebuild generated pwd files and /etc/login.conf.db. + pwd_mkdb -d ${BASEDIR}/etc -p ${BASEDIR}/etc/master.passwd + cap_mkdb ${BASEDIR}/etc/login.conf + + # Rebuild man page databases, if necessary. + for D in /usr/share/man /usr/share/openssl/man; do + if [ ! -d ${BASEDIR}/$D ]; then + continue + fi + if [ -f ${BASEDIR}/$D/mandoc.db ] && \ + [ -z "$(find ${BASEDIR}/$D -type f -newer ${BASEDIR}/$D/mandoc.db)" ]; then + continue; + fi + makewhatis ${BASEDIR}/$D + done + + # We've finished installing the world and deleting old files + # which are not shared libraries. + touch $1/worlddone + + # Do we need to ask the user to portupgrade now? + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort > newfiles + if grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort | + join -v 1 - newfiles | + grep -q .; then + cat <<-EOF + +Completing this upgrade requires removing old shared object files. +Please rebuild all installed 3rd party software (e.g., programs +installed from the ports tree) and then run "$0 install" +again to finish installing updates. + EOF + rm newfiles + exit 0 + fi + rm newfiles + fi + + # Remove old shared libraries + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | + grep -vE '^[^|]+\|d\|' | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove old directories + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '^[^|]+\|d\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '^[^|]+\|d\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove temporary files + rm INDEX-OLD INDEX-NEW +} + +# Rearrange bits to allow the installed updates to be rolled back +install_setup_rollback () { + # Remove the "reboot after installing kernel", "kernel updated", and + # "finished installing the world" flags if present -- they are + # irrelevant when rolling back updates. + if [ -f ${BDHASH}-install/kernelfirst ]; then + rm ${BDHASH}-install/kernelfirst + rm ${BDHASH}-install/kerneldone + fi + if [ -f ${BDHASH}-install/worlddone ]; then + rm ${BDHASH}-install/worlddone + fi + + if [ -L ${BDHASH}-rollback ]; then + mv ${BDHASH}-rollback ${BDHASH}-install/rollback + fi + + mv ${BDHASH}-install ${BDHASH}-rollback +} + +# Actually install updates +install_run () { + echo -n "Installing updates..." + + # Make sure we have all the files we should have + install_verify ${BDHASH}-install/INDEX-OLD \ + ${BDHASH}-install/INDEX-NEW || return 1 + + # Remove system immutable flag from files + install_unschg ${BDHASH}-install/INDEX-OLD \ + ${BDHASH}-install/INDEX-NEW || return 1 + + # Install new files, delete old files, and update linker.hints + install_files ${BDHASH}-install || return 1 + + # Rearrange bits to allow the installed updates to be rolled back + install_setup_rollback + + echo " done." +} + +# Rearrange bits to allow the previous set of updates to be rolled back next. +rollback_setup_rollback () { + if [ -L ${BDHASH}-rollback/rollback ]; then + mv ${BDHASH}-rollback/rollback rollback-tmp + rm -r ${BDHASH}-rollback/ + rm ${BDHASH}-rollback + mv rollback-tmp ${BDHASH}-rollback + else + rm -r ${BDHASH}-rollback/ + rm ${BDHASH}-rollback + fi +} + +# Install old files, delete new files, and update linker.hints +rollback_files () { + # Install old shared library files which don't have the same path as + # a new shared library file. + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '/lib/.*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort > INDEX-NEW.libs.flist + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '/lib/.*\.so\.[0-9]+\|' | + sort -k 1,1 -t '|' - | + join -t '|' -v 1 - INDEX-NEW.libs.flist > INDEX-OLD + install_from_index INDEX-OLD || return 1 + + # Deal with files which are neither kernel nor shared library + grep -vE '^/boot/' $1/INDEX-OLD | + grep -vE '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-OLD || return 1 + install_delete INDEX-NEW INDEX-OLD || return 1 + + # Install any old shared library files which we didn't install above. + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '/lib/.*\.so\.[0-9]+\|' | + sort -k 1,1 -t '|' - | + join -t '|' - INDEX-NEW.libs.flist > INDEX-OLD + install_from_index INDEX-OLD || return 1 + + # Delete unneeded shared library files + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW + install_delete INDEX-NEW INDEX-OLD || return 1 + + # Deal with kernel files + grep -E '^/boot/' $1/INDEX-OLD > INDEX-OLD + grep -E '^/boot/' $1/INDEX-NEW > INDEX-NEW + install_from_index INDEX-OLD || return 1 + install_delete INDEX-NEW INDEX-OLD || return 1 + if [ -s INDEX-OLD -o -s INDEX-NEW ]; then + kldxref -R /boot/ 2>/dev/null + fi + + # Remove temporary files + rm INDEX-OLD INDEX-NEW INDEX-NEW.libs.flist +} + +# Actually rollback updates +rollback_run () { + echo -n "Uninstalling updates..." + + # If there are updates waiting to be installed, remove them; we + # want the user to re-run 'fetch' after rolling back updates. + if [ -L ${BDHASH}-install ]; then + rm -r ${BDHASH}-install/ + rm ${BDHASH}-install + fi + + # Make sure we have all the files we should have + install_verify ${BDHASH}-rollback/INDEX-NEW \ + ${BDHASH}-rollback/INDEX-OLD || return 1 + + # Remove system immutable flag from files + install_unschg ${BDHASH}-rollback/INDEX-NEW \ + ${BDHASH}-rollback/INDEX-OLD || return 1 + + # Install old files, delete new files, and update linker.hints + rollback_files ${BDHASH}-rollback || return 1 + + # Remove the rollback directory and the symlink pointing to it; and + # rearrange bits to allow the previous set of updates to be rolled + # back next. + rollback_setup_rollback + + echo " done." +} + +# Compare INDEX-ALL and INDEX-PRESENT and print warnings about differences. +IDS_compare () { + # Get all the lines which mismatch in something other than file + # flags. We ignore file flags because sysinstall doesn't seem to + # set them when it installs FreeBSD; warning about these adds a + # very large amount of noise. + cut -f 1-5,7-8 -d '|' $1 > $1.noflags + sort -k 1,1 -t '|' $1.noflags > $1.sorted + cut -f 1-5,7-8 -d '|' $2 | + comm -13 $1.noflags - | + fgrep -v '|-|||||' | + sort -k 1,1 -t '|' | + join -t '|' $1.sorted - > INDEX-NOTMATCHING + + # Ignore files which match IDSIGNOREPATHS. + for X in ${IDSIGNOREPATHS}; do + grep -E "^${X}" INDEX-NOTMATCHING + done | + sort -u | + comm -13 - INDEX-NOTMATCHING > INDEX-NOTMATCHING.tmp + mv INDEX-NOTMATCHING.tmp INDEX-NOTMATCHING + + # Go through the lines and print warnings. + local IFS='|' + while read FPATH TYPE OWNER GROUP PERM HASH LINK P_TYPE P_OWNER P_GROUP P_PERM P_HASH P_LINK; do + # Warn about different object types. + if ! [ "${TYPE}" = "${P_TYPE}" ]; then + echo -n "${FPATH} is a " + case "${P_TYPE}" in + f) echo -n "regular file, " + ;; + d) echo -n "directory, " + ;; + L) echo -n "symlink, " + ;; + esac + echo -n "but should be a " + case "${TYPE}" in + f) echo -n "regular file." + ;; + d) echo -n "directory." + ;; + L) echo -n "symlink." + ;; + esac + echo + + # Skip other tests, since they don't make sense if + # we're comparing different object types. + continue + fi + + # Warn about different owners. + if ! [ "${OWNER}" = "${P_OWNER}" ]; then + echo -n "${FPATH} is owned by user id ${P_OWNER}, " + echo "but should be owned by user id ${OWNER}." + fi + + # Warn about different groups. + if ! [ "${GROUP}" = "${P_GROUP}" ]; then + echo -n "${FPATH} is owned by group id ${P_GROUP}, " + echo "but should be owned by group id ${GROUP}." + fi + + # Warn about different permissions. We do not warn about + # different permissions on symlinks, since some archivers + # don't extract symlink permissions correctly and they are + # ignored anyway. + if ! [ "${PERM}" = "${P_PERM}" ] && + ! [ "${TYPE}" = "L" ]; then + echo -n "${FPATH} has ${P_PERM} permissions, " + echo "but should have ${PERM} permissions." + fi + + # Warn about different file hashes / symlink destinations. + if ! [ "${HASH}" = "${P_HASH}" ]; then + if [ "${TYPE}" = "L" ]; then + echo -n "${FPATH} is a symlink to ${P_HASH}, " + echo "but should be a symlink to ${HASH}." + fi + if [ "${TYPE}" = "f" ]; then + echo -n "${FPATH} has SHA256 hash ${P_HASH}, " + echo "but should have SHA256 hash ${HASH}." + fi + fi + + # We don't warn about different hard links, since some + # some archivers break hard links, and as long as the + # underlying data is correct they really don't matter. + done < INDEX-NOTMATCHING + + # Clean up + rm $1 $1.noflags $1.sorted $2 INDEX-NOTMATCHING +} + +# Do the work involved in comparing the system to a "known good" index +IDS_run () { + workdir_init || return 1 + + # Prepare the mirror list. + fetch_pick_server_init && fetch_pick_server + + # Try to fetch the public key until we run out of servers. + while ! fetch_key; do + fetch_pick_server || return 1 + done + + # Try to fetch the metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + fetch_tagsanity || return 1 + + # Fetch INDEX-OLD and INDEX-ALL. + fetch_metadata INDEX-OLD INDEX-ALL || return 1 + + # Generate filtered INDEX-OLD and INDEX-ALL files containing only + # the components we want and without anything marked as "Ignore". + fetch_filter_metadata INDEX-OLD || return 1 + fetch_filter_metadata INDEX-ALL || return 1 + + # Merge the INDEX-OLD and INDEX-ALL files into INDEX-ALL. + sort INDEX-OLD INDEX-ALL > INDEX-ALL.tmp + mv INDEX-ALL.tmp INDEX-ALL + rm INDEX-OLD + + # Translate /boot/${KERNCONF} to ${KERNELDIR} + fetch_filter_kernel_names INDEX-ALL ${KERNCONF} + + # Inspect the system and generate an INDEX-PRESENT file. + fetch_inspect_system INDEX-ALL INDEX-PRESENT /dev/null || return 1 + + # Compare INDEX-ALL and INDEX-PRESENT and print warnings about any + # differences. + IDS_compare INDEX-ALL INDEX-PRESENT +} + +#### Main functions -- call parameter-handling and core functions + +# Using the command line, configuration file, and defaults, +# set all the parameters which are needed later. +get_params () { + init_params + parse_cmdline $@ + parse_conffile + default_params +} + +# Fetch command. Make sure that we're being called +# interactively, then run fetch_check_params and fetch_run +cmd_fetch () { + finalize_components_config ${COMPONENTS} + if [ ! -t 0 -a $NOTTYOK -eq 0 ]; then + echo -n "`basename $0` fetch should not " + echo "be run non-interactively." + echo "Run `basename $0` cron instead." + exit 1 + fi + fetch_check_params + fetch_run || exit 1 + ISFETCHED=1 +} + +# Cron command. Make sure the parameters are sensible; wait +# rand(3600) seconds; then fetch updates. While fetching updates, +# send output to a temporary file; only print that file if the +# fetching failed. +cmd_cron () { + fetch_check_params + sleep `jot -r 1 0 3600` + + TMPFILE=`mktemp /tmp/freebsd-update.XXXXXX` || exit 1 + finalize_components_config ${COMPONENTS} >> ${TMPFILE} + if ! fetch_run >> ${TMPFILE} || + ! grep -q "No updates needed" ${TMPFILE} || + [ ${VERBOSELEVEL} = "debug" ]; then + mail -s "`hostname` security updates" ${MAILTO} < ${TMPFILE} + fi + + rm ${TMPFILE} +} + +# Fetch files for upgrading to a new release. +cmd_upgrade () { + finalize_components_config ${COMPONENTS} + upgrade_check_params + upgrade_run || exit 1 +} + +# Check if there are fetched updates ready to install. +# Chdir into the working directory. +cmd_updatesready () { + finalize_components_config ${COMPONENTS} + # Check if working directory exists (if not, no updates pending) + if ! [ -e "${WORKDIR}" ]; then + echo "No updates are available to install." + exit 2 + fi + + # Change into working directory (fail if no permission/directory etc.) + cd ${WORKDIR} || exit 1 + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` + + # Check that we have updates ready to install + if ! [ -L ${BDHASH}-install ]; then + echo "No updates are available to install." + exit 2 + fi + + echo "There are updates available to install." + echo "Run '$0 install' to proceed." +} + +# Install downloaded updates. +cmd_install () { + finalize_components_config ${COMPONENTS} + install_check_params + install_create_be + install_run || exit 1 +} + +# Rollback most recently installed updates. +cmd_rollback () { + finalize_components_config ${COMPONENTS} + rollback_check_params + rollback_run || exit 1 +} + +# Compare system against a "known good" index. +cmd_IDS () { + finalize_components_config ${COMPONENTS} + IDS_check_params + IDS_run || exit 1 +} + +# Output configuration. +cmd_showconfig () { + finalize_components_config ${COMPONENTS} + for X in ${CONFIGOPTIONS}; do + echo $X=$(eval echo \$${X}) + done +} + +#### Entry point + +# Make sure we find utilities from the base system +export PATH=/sbin:/bin:/usr/sbin:/usr/bin:${PATH} + +# Set a pager if the user doesn't +if [ -z "$PAGER" ]; then + PAGER=/usr/bin/less +fi + +# Set LC_ALL in order to avoid problems with character ranges like [A-Z]. +export LC_ALL=C + +# Clear environment variables that may affect operation of tools that we use. +unset GREP_OPTIONS + +get_params $@ +for COMMAND in ${COMMANDS}; do + cmd_${COMMAND} +done diff --git a/conf/system/freebsd-update/14.0/freebsd-update.conf b/conf/system/freebsd-update/14.0/freebsd-update.conf new file mode 100644 index 0000000..08cf512 --- /dev/null +++ b/conf/system/freebsd-update/14.0/freebsd-update.conf @@ -0,0 +1,78 @@ + +# Trusted keyprint. Changing this is a Bad Idea unless you've received +# a PGP-signed email from telling you to +# change it and explaining why. +KeyPrint 800651ef4b4c71c27e60786d7b487188970f4b4169cc055784e21eb71d410cc5 + +# Server or server pool from which to fetch updates. You can change +# this to point at a specific server if you want, but in most cases +# using a "nearby" server won't provide a measurable improvement in +# performance. +ServerName update.FreeBSD.org + +# Components of the base system which should be kept updated. +Components src world kernel + +# Example for updating the userland and the kernel source code only: +# Components src/base src/sys world + +# Paths which start with anything matching an entry in an IgnorePaths +# statement will be ignored. +IgnorePaths + +# Paths which start with anything matching an entry in an IDSIgnorePaths +# statement will be ignored by "freebsd-update IDS". +IDSIgnorePaths /usr/share/man/cat +IDSIgnorePaths /usr/share/man/whatis +IDSIgnorePaths /var/db/locate.database +IDSIgnorePaths /var/log + +# Paths which start with anything matching an entry in an UpdateIfUnmodified +# statement will only be updated if the contents of the file have not been +# modified by the user (unless changes are merged; see below). +UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile + +# When upgrading to a new FreeBSD release, files which match MergeChanges +# will have any local changes merged into the version from the new release. +MergeChanges /etc/ /boot/device.hints + +### Default configuration options: + +# Directory in which to store downloaded updates and temporary +# files used by FreeBSD Update. +# WorkDir /var/db/freebsd-update + +# Destination to send output of "freebsd-update cron" if an error +# occurs or updates have been downloaded. +# MailTo root + +# Is FreeBSD Update allowed to create new files? +# AllowAdd yes + +# Is FreeBSD Update allowed to delete files? +# AllowDelete yes + +# If the user has modified file ownership, permissions, or flags, should +# FreeBSD Update retain this modified metadata when installing a new version +# of that file? +# KeepModifiedMetadata yes + +# When upgrading between releases, should the list of Components be +# read strictly (StrictComponents yes) or merely as a list of components +# which *might* be installed of which FreeBSD Update should figure out +# which actually are installed and upgrade those (StrictComponents no)? +# StrictComponents no + +# When installing a new kernel perform a backup of the old one first +# so it is possible to boot the old kernel in case of problems. +# BackupKernel yes + +# If BackupKernel is enabled, the backup kernel is saved to this +# directory. +# BackupKernelDir /boot/kernel.old + +# When backing up a kernel also back up debug symbol files? +# BackupKernelSymbolFiles no + +# Create a new boot environment when installing patches +# CreateBootEnv yes diff --git a/conf/system/freebsd-update/14.1/freebsd-update b/conf/system/freebsd-update/14.1/freebsd-update new file mode 100755 index 0000000..77b12a3 --- /dev/null +++ b/conf/system/freebsd-update/14.1/freebsd-update @@ -0,0 +1,3547 @@ +#!/bin/sh + +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright 2004-2007 Colin Percival +# All rights reserved +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted providing 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 AUTHOR ``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 AUTHOR 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. + +#### Usage function -- called from command-line handling code. + +# Usage instructions. Options not listed: +# --debug -- don't filter output from utilities +# --no-stats -- don't show progress statistics while fetching files +usage () { + cat < ${LINE}" + exit 1 + fi + done < ${CONFFILE} + + # Merge the settings read from the configuration file with those + # provided at the command line. + mergeconfig +} + +# Provide some default parameters +default_params () { + # Save any parameters already configured, and clear the slate + saveconfig + nullconfig + + # Default configurations + config_WorkDir /var/db/freebsd-update + config_MailTo root + config_AllowAdd yes + config_AllowDelete yes + config_KeepModifiedMetadata yes + config_BaseDir / + config_VerboseLevel stats + config_StrictComponents no + config_BackupKernel yes + config_BackupKernelDir /boot/kernel.old + config_BackupKernelSymbolFiles no + config_CreateBootEnv yes + + # Merge these defaults into the earlier-configured settings + mergeconfig +} + +# Set utility output filtering options, based on ${VERBOSELEVEL} +fetch_setup_verboselevel () { + case ${VERBOSELEVEL} in + debug) + QUIETREDIR="/dev/stderr" + QUIETFLAG=" " + STATSREDIR="/dev/stderr" + DDSTATS=".." + XARGST="-t" + NDEBUG=" " + ;; + nostats) + QUIETREDIR="" + QUIETFLAG="" + STATSREDIR="/dev/null" + DDSTATS=".." + XARGST="" + NDEBUG="" + ;; + stats) + QUIETREDIR="/dev/null" + QUIETFLAG="-q" + STATSREDIR="/dev/stdout" + DDSTATS="" + XARGST="" + NDEBUG="-n" + ;; + esac +} + +# Perform sanity checks and set some final parameters +# in preparation for fetching files. Figure out which +# set of updates should be downloaded: If the user is +# running *-p[0-9]+, strip off the last part; if the +# user is running -SECURITY, call it -RELEASE. Chdir +# into the working directory. +fetchupgrade_check_params () { + export HTTP_USER_AGENT="freebsd-update (${COMMAND}, `uname -r`)" + + _SERVERNAME_z=\ +"SERVERNAME must be given via command line or configuration file." + _KEYPRINT_z="Key must be given via -k option or configuration file." + _KEYPRINT_bad="Invalid key fingerprint: " + _WORKDIR_bad="Directory does not exist or is not writable: " + _WORKDIR_bad2="Directory is not on a persistent filesystem: " + + if [ -z "${SERVERNAME}" ]; then + echo -n "`basename $0`: " + echo "${_SERVERNAME_z}" + exit 1 + fi + if [ -z "${KEYPRINT}" ]; then + echo -n "`basename $0`: " + echo "${_KEYPRINT_z}" + exit 1 + fi + if ! echo "${KEYPRINT}" | grep -qE "^[0-9a-f]{64}$"; then + echo -n "`basename $0`: " + echo -n "${_KEYPRINT_bad}" + echo ${KEYPRINT} + exit 1 + fi + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + case `df -T ${WORKDIR}` in */dev/md[0-9]* | *tmpfs*) + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad2}" + echo ${WORKDIR} + exit 1 + ;; + esac + chmod 700 ${WORKDIR} + cd ${WORKDIR} || exit 1 + + # Generate release number. The s/SECURITY/RELEASE/ bit exists + # to provide an upgrade path for FreeBSD Update 1.x users, since + # the kernels provided by FreeBSD Update 1.x are always labelled + # as X.Y-SECURITY. + RELNUM=`uname -r | + sed -E 's,-p[0-9]+,,' | + sed -E 's,-SECURITY,-RELEASE,'` + ARCH=`uname -m` + FETCHDIR=${RELNUM}/${ARCH} + PATCHDIR=${RELNUM}/${ARCH}/bp + + # Disallow upgrade from a version that is not a release + case ${RELNUM} in + *-RELEASE | *-ALPHA* | *-BETA* | *-RC*) + ;; + *) + echo -n "`basename $0`: " + cat <<- EOF + Cannot upgrade from a version that is not a release + (including alpha, beta and release candidates) + using `basename $0`. Instead, FreeBSD can be directly + upgraded by source or upgraded to a RELEASE/RELENG version + prior to running `basename $0`. + Currently running: ${RELNUM} + EOF + exit 1 + ;; + esac + + # Figure out what directory contains the running kernel + BOOTFILE=`sysctl -n kern.bootfile` + KERNELDIR=${BOOTFILE%/kernel} + if ! [ -d ${KERNELDIR} ]; then + echo "Cannot identify running kernel" + exit 1 + fi + + # Figure out what kernel configuration is running. We start with + # the output of `uname -i`, and then make the following adjustments: + # 1. Replace "SMP-GENERIC" with "SMP". Why the SMP kernel config + # file says "ident SMP-GENERIC", I don't know... + # 2. If the kernel claims to be GENERIC _and_ ${ARCH} is "amd64" + # _and_ `sysctl kern.version` contains a line which ends "/SMP", then + # we're running an SMP kernel. This mis-identification is a bug + # which was fixed in 6.2-STABLE. + KERNCONF=`uname -i` + if [ ${KERNCONF} = "SMP-GENERIC" ]; then + KERNCONF=SMP + fi + if [ ${KERNCONF} = "GENERIC" ] && [ ${ARCH} = "amd64" ]; then + if sysctl kern.version | grep -qE '/SMP$'; then + KERNCONF=SMP + fi + fi + + # Define some paths + BSPATCH=/usr/bin/bspatch + SHA256=/sbin/sha256 + PHTTPGET=/usr/libexec/phttpget + + # Set up variables relating to VERBOSELEVEL + fetch_setup_verboselevel + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` +} + +# Perform sanity checks etc. before fetching updates. +fetch_check_params () { + fetchupgrade_check_params + + if ! [ -z "${TARGETRELEASE}" ]; then + echo -n "`basename $0`: " + echo -n "'-r' option is meaningless with 'fetch' command. " + echo "(Did you mean 'upgrade' instead?)" + exit 1 + fi + + # Check that we have updates ready to install + if [ -f ${BDHASH}-install/kerneldone -a $FORCEFETCH -eq 0 ]; then + echo "You have a partially completed upgrade pending" + echo "Run '`basename $0` [options] install' first." + echo "Run '`basename $0` [options] fetch -F' to proceed anyway." + exit 1 + fi +} + +# Perform sanity checks etc. before fetching upgrades. +upgrade_check_params () { + fetchupgrade_check_params + + # Unless set otherwise, we're upgrading to the same kernel config. + NKERNCONF=${KERNCONF} + + # We need TARGETRELEASE set + _TARGETRELEASE_z="Release target must be specified via '-r' option." + if [ -z "${TARGETRELEASE}" ]; then + echo -n "`basename $0`: " + echo "${_TARGETRELEASE_z}" + exit 1 + fi + + # The target release should be != the current release. + if [ "${TARGETRELEASE}" = "${RELNUM}" ]; then + echo -n "`basename $0`: " + echo "Cannot upgrade from ${RELNUM} to itself" + exit 1 + fi + + # Turning off AllowAdd or AllowDelete is a bad idea for upgrades. + if [ "${ALLOWADD}" = "no" ]; then + echo -n "`basename $0`: " + echo -n "WARNING: \"AllowAdd no\" is a bad idea " + echo "when upgrading between releases." + echo + fi + if [ "${ALLOWDELETE}" = "no" ]; then + echo -n "`basename $0`: " + echo -n "WARNING: \"AllowDelete no\" is a bad idea " + echo "when upgrading between releases." + echo + fi + + # Set EDITOR to /usr/bin/vi if it isn't already set + : ${EDITOR:='/usr/bin/vi'} +} + +# Perform sanity checks and set some final parameters in +# preparation for installing updates. +install_check_params () { + # Check that we are root. All sorts of things won't work otherwise. + if [ `id -u` != 0 ]; then + echo "You must be root to run this." + exit 1 + fi + + # Check that securelevel <= 0. Otherwise we can't update schg files. + if [ `sysctl -n kern.securelevel` -gt 0 ]; then + echo "Updates cannot be installed when the system securelevel" + echo "is greater than zero." + exit 1 + fi + + # Check that we have a working directory + _WORKDIR_bad="Directory does not exist or is not writable: " + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + cd ${WORKDIR} || exit 1 + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` + + # Check that we have updates ready to install + if ! [ -L ${BDHASH}-install ]; then + echo "No updates are available to install." + if [ $ISFETCHED -eq 0 ]; then + echo "Run '`basename $0` [options] fetch' first." + exit 2 + fi + exit 0 + fi + if ! [ -f ${BDHASH}-install/INDEX-OLD ] || + ! [ -f ${BDHASH}-install/INDEX-NEW ]; then + echo "Update manifest is corrupt -- this should never happen." + echo "Re-run '`basename $0` [options] fetch'." + exit 1 + fi + + # Figure out what directory contains the running kernel + BOOTFILE=`sysctl -n kern.bootfile` + KERNELDIR=${BOOTFILE%/kernel} + if ! [ -d ${KERNELDIR} ]; then + echo "Cannot identify running kernel" + exit 1 + fi +} + +# Creates a new boot environment +install_create_be () { + # Figure out if we're running in a jail and return if we are + if [ `sysctl -n security.jail.jailed` = 1 ]; then + return 1 + fi + # Operating on roots that aren't located at / will, more often than not, + # not touch the boot environment. + if [ "$BASEDIR" != "/" ]; then + return 1 + fi + # Create a boot environment if enabled + if [ ${BOOTENV} = yes ]; then + bectl check 2>/dev/null + case $? in + 0) + # Boot environment are supported + CREATEBE=yes + ;; + 255) + # Boot environments are not supported + CREATEBE=no + ;; + *) + # If bectl returns an unexpected exit code, don't create a BE + CREATEBE=no + ;; + esac + if [ ${CREATEBE} = yes ]; then + echo -n "Creating snapshot of existing boot environment... " + VERSION=`freebsd-version -ku | sort -V | tail -n 1` + TIMESTAMP=`date +"%Y-%m-%d_%H%M%S"` + bectl create -r ${VERSION}_${TIMESTAMP} + if [ $? -eq 0 ]; then + echo "done."; + else + echo "failed." + exit 1 + fi + fi + fi +} + +# Perform sanity checks and set some final parameters in +# preparation for UNinstalling updates. +rollback_check_params () { + # Check that we are root. All sorts of things won't work otherwise. + if [ `id -u` != 0 ]; then + echo "You must be root to run this." + exit 1 + fi + + # Check that we have a working directory + _WORKDIR_bad="Directory does not exist or is not writable: " + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + cd ${WORKDIR} || exit 1 + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` + + # Check that we have updates ready to rollback + if ! [ -L ${BDHASH}-rollback ]; then + echo "No rollback directory found." + exit 1 + fi + if ! [ -f ${BDHASH}-rollback/INDEX-OLD ] || + ! [ -f ${BDHASH}-rollback/INDEX-NEW ]; then + echo "Update manifest is corrupt -- this should never happen." + exit 1 + fi +} + +# Perform sanity checks and set some final parameters +# in preparation for comparing the system against the +# published index. Figure out which index we should +# compare against: If the user is running *-p[0-9]+, +# strip off the last part; if the user is running +# -SECURITY, call it -RELEASE. Chdir into the working +# directory. +IDS_check_params () { + export HTTP_USER_AGENT="freebsd-update (${COMMAND}, `uname -r`)" + + _SERVERNAME_z=\ +"SERVERNAME must be given via command line or configuration file." + _KEYPRINT_z="Key must be given via '-k' option or configuration file." + _KEYPRINT_bad="Invalid key fingerprint: " + _WORKDIR_bad="Directory does not exist or is not writable: " + + if [ -z "${SERVERNAME}" ]; then + echo -n "`basename $0`: " + echo "${_SERVERNAME_z}" + exit 1 + fi + if [ -z "${KEYPRINT}" ]; then + echo -n "`basename $0`: " + echo "${_KEYPRINT_z}" + exit 1 + fi + if ! echo "${KEYPRINT}" | grep -qE "^[0-9a-f]{64}$"; then + echo -n "`basename $0`: " + echo -n "${_KEYPRINT_bad}" + echo ${KEYPRINT} + exit 1 + fi + if ! [ -d "${WORKDIR}" -a -w "${WORKDIR}" ]; then + echo -n "`basename $0`: " + echo -n "${_WORKDIR_bad}" + echo ${WORKDIR} + exit 1 + fi + cd ${WORKDIR} || exit 1 + + # Generate release number. The s/SECURITY/RELEASE/ bit exists + # to provide an upgrade path for FreeBSD Update 1.x users, since + # the kernels provided by FreeBSD Update 1.x are always labelled + # as X.Y-SECURITY. + RELNUM=`uname -r | + sed -E 's,-p[0-9]+,,' | + sed -E 's,-SECURITY,-RELEASE,'` + ARCH=`uname -m` + FETCHDIR=${RELNUM}/${ARCH} + PATCHDIR=${RELNUM}/${ARCH}/bp + + # Figure out what directory contains the running kernel + BOOTFILE=`sysctl -n kern.bootfile` + KERNELDIR=${BOOTFILE%/kernel} + if ! [ -d ${KERNELDIR} ]; then + echo "Cannot identify running kernel" + exit 1 + fi + + # Figure out what kernel configuration is running. We start with + # the output of `uname -i`, and then make the following adjustments: + # 1. Replace "SMP-GENERIC" with "SMP". Why the SMP kernel config + # file says "ident SMP-GENERIC", I don't know... + # 2. If the kernel claims to be GENERIC _and_ ${ARCH} is "amd64" + # _and_ `sysctl kern.version` contains a line which ends "/SMP", then + # we're running an SMP kernel. This mis-identification is a bug + # which was fixed in 6.2-STABLE. + KERNCONF=`uname -i` + if [ ${KERNCONF} = "SMP-GENERIC" ]; then + KERNCONF=SMP + fi + if [ ${KERNCONF} = "GENERIC" ] && [ ${ARCH} = "amd64" ]; then + if sysctl kern.version | grep -qE '/SMP$'; then + KERNCONF=SMP + fi + fi + + # Define some paths + SHA256=/sbin/sha256 + PHTTPGET=/usr/libexec/phttpget + + # Set up variables relating to VERBOSELEVEL + fetch_setup_verboselevel +} + +#### Core functionality -- the actual work gets done here + +# Use an SRV query to pick a server. If the SRV query doesn't provide +# a useful answer, use the server name specified by the user. +# Put another way... look up _http._tcp.${SERVERNAME} and pick a server +# from that; or if no servers are returned, use ${SERVERNAME}. +# This allows a user to specify "update.FreeBSD.org" (in which case +# freebsd-update will select one of the mirrors) or "update1.freebsd.org" +# (in which case freebsd-update will use that particular server, since +# there won't be an SRV entry for that name). +# +# We ignore the Port field, since we are always going to use port 80. + +# Fetch the mirror list, but do not pick a mirror yet. Returns 1 if +# no mirrors are available for any reason. +fetch_pick_server_init () { + : > serverlist_tried + +# Check that host(1) exists (i.e., that the system wasn't built with the +# WITHOUT_BIND set) and don't try to find a mirror if it doesn't exist. + if ! which -s host; then + : > serverlist_full + return 1 + fi + + echo -n "Looking up ${SERVERNAME} mirrors... " + +# Issue the SRV query and pull out the Priority, Weight, and Target fields. +# BIND 9 prints "$name has SRV record ..." while BIND 8 prints +# "$name server selection ..."; we allow either format. + MLIST="_http._tcp.${SERVERNAME}" + host -t srv "${MLIST}" | + sed -nE "s/${MLIST} (has SRV record|server selection) //Ip" | + cut -f 1,2,4 -d ' ' | + sed -e 's/\.$//' | + sort > serverlist_full + +# If no records, give up -- we'll just use the server name we were given. + if [ `wc -l < serverlist_full` -eq 0 ]; then + echo "none found." + return 1 + fi + +# Report how many mirrors we found. + echo `wc -l < serverlist_full` "mirrors found." + +# Generate a random seed for use in picking mirrors. If HTTP_PROXY +# is set, this will be used to generate the seed; otherwise, the seed +# will be random. + if [ -n "${HTTP_PROXY}${http_proxy}" ]; then + RANDVALUE=`sha256 -qs "${HTTP_PROXY}${http_proxy}" | + tr -d 'a-f' | + cut -c 1-9` + else + RANDVALUE=`jot -r 1 0 999999999` + fi +} + +# Pick a mirror. Returns 1 if we have run out of mirrors to try. +fetch_pick_server () { +# Generate a list of not-yet-tried mirrors + sort serverlist_tried | + comm -23 serverlist_full - > serverlist + +# Have we run out of mirrors? + if [ `wc -l < serverlist` -eq 0 ]; then + cat <<- EOF + No mirrors remaining, giving up. + + This may be because upgrading from this platform (${ARCH}) + or release (${RELNUM}) is unsupported by `basename $0`. Only + platforms with Tier 1 support can be upgraded by `basename $0`. + See https://www.freebsd.org/platforms/ for more info. + + If unsupported, FreeBSD must be upgraded by source. + EOF + return 1 + fi + +# Find the highest priority level (lowest numeric value). + SRV_PRIORITY=`cut -f 1 -d ' ' serverlist | sort -n | head -1` + +# Add up the weights of the response lines at that priority level. + SRV_WSUM=0; + while read X; do + case "$X" in + ${SRV_PRIORITY}\ *) + SRV_W=`echo $X | cut -f 2 -d ' '` + SRV_WSUM=$(($SRV_WSUM + $SRV_W)) + ;; + esac + done < serverlist + +# If all the weights are 0, pretend that they are all 1 instead. + if [ ${SRV_WSUM} -eq 0 ]; then + SRV_WSUM=`grep -E "^${SRV_PRIORITY} " serverlist | wc -l` + SRV_W_ADD=1 + else + SRV_W_ADD=0 + fi + +# Pick a value between 0 and the sum of the weights - 1 + SRV_RND=`expr ${RANDVALUE} % ${SRV_WSUM}` + +# Read through the list of mirrors and set SERVERNAME. Write the line +# corresponding to the mirror we selected into serverlist_tried so that +# we won't try it again. + while read X; do + case "$X" in + ${SRV_PRIORITY}\ *) + SRV_W=`echo $X | cut -f 2 -d ' '` + SRV_W=$(($SRV_W + $SRV_W_ADD)) + if [ $SRV_RND -lt $SRV_W ]; then + SERVERNAME=`echo $X | cut -f 3 -d ' '` + echo "$X" >> serverlist_tried + break + else + SRV_RND=$(($SRV_RND - $SRV_W)) + fi + ;; + esac + done < serverlist +} + +# Take a list of ${oldhash}|${newhash} and output a list of needed patches, +# i.e., those for which we have ${oldhash} and don't have ${newhash}. +fetch_make_patchlist () { + grep -vE "^([0-9a-f]{64})\|\1$" | + tr '|' ' ' | + while read X Y; do + if [ -f "files/${Y}.gz" ] || + [ ! -f "files/${X}.gz" ]; then + continue + fi + echo "${X}|${Y}" + done | sort -u +} + +# Print user-friendly progress statistics +fetch_progress () { + LNC=0 + while read x; do + LNC=$(($LNC + 1)) + if [ $(($LNC % 10)) = 0 ]; then + echo -n $LNC + elif [ $(($LNC % 2)) = 0 ]; then + echo -n . + fi + done + echo -n " " +} + +# Function for asking the user if everything is ok +continuep () { + while read -p "Does this look reasonable (y/n)? " CONTINUE; do + case "${CONTINUE}" in + [yY]*) + return 0 + ;; + [nN]*) + return 1 + ;; + esac + done +} + +# Initialize the working directory +workdir_init () { + mkdir -p files + touch tINDEX.present +} + +# Check that we have a public key with an appropriate hash, or +# fetch the key if it doesn't exist. Returns 1 if the key has +# not yet been fetched. +fetch_key () { + if [ -r pub.ssl ] && [ `${SHA256} -q pub.ssl` = ${KEYPRINT} ]; then + return 0 + fi + + echo -n "Fetching public key from ${SERVERNAME}... " + rm -f pub.ssl + fetch ${QUIETFLAG} http://${SERVERNAME}/${FETCHDIR}/pub.ssl \ + 2>${QUIETREDIR} || true + if ! [ -r pub.ssl ]; then + echo "failed." + return 1 + fi + if ! [ `${SHA256} -q pub.ssl` = ${KEYPRINT} ]; then + echo "key has incorrect hash." + rm -f pub.ssl + return 1 + fi + echo "done." +} + +# Fetch metadata signature, aka "tag". +fetch_tag () { + echo -n "Fetching metadata signature " + echo ${NDEBUG} "for ${RELNUM} from ${SERVERNAME}... " + rm -f latest.ssl + fetch ${QUIETFLAG} http://${SERVERNAME}/${FETCHDIR}/latest.ssl \ + 2>${QUIETREDIR} || true + if ! [ -r latest.ssl ]; then + echo "failed." + return 1 + fi + + openssl rsautl -pubin -inkey pub.ssl -verify \ + < latest.ssl > tag.new 2>${QUIETREDIR} || true + rm latest.ssl + + if ! [ `wc -l < tag.new` = 1 ] || + ! grep -qE \ + "^freebsd-update\|${ARCH}\|${RELNUM}\|[0-9]+\|[0-9a-f]{64}\|[0-9]{10}" \ + tag.new; then + echo "invalid signature." + return 1 + fi + + echo "done." + + RELPATCHNUM=`cut -f 4 -d '|' < tag.new` + TINDEXHASH=`cut -f 5 -d '|' < tag.new` + EOLTIME=`cut -f 6 -d '|' < tag.new` +} + +# Sanity-check the patch number in a tag, to make sure that we're not +# going to "update" backwards and to prevent replay attacks. +fetch_tagsanity () { + # Check that we're not going to move from -pX to -pY with Y < X. + RELPX=`uname -r | sed -E 's,.*-,,'` + if echo ${RELPX} | grep -qE '^p[0-9]+$'; then + RELPX=`echo ${RELPX} | cut -c 2-` + else + RELPX=0 + fi + if [ "${RELPATCHNUM}" -lt "${RELPX}" ]; then + echo + echo -n "Files on mirror (${RELNUM}-p${RELPATCHNUM})" + echo " appear older than what" + echo "we are currently running (`uname -r`)!" + echo "Cowardly refusing to proceed any further." + return 1 + fi + + # If "tag" exists and corresponds to ${RELNUM}, make sure that + # it contains a patch number <= RELPATCHNUM, in order to protect + # against rollback (replay) attacks. + if [ -f tag ] && + grep -qE \ + "^freebsd-update\|${ARCH}\|${RELNUM}\|[0-9]+\|[0-9a-f]{64}\|[0-9]{10}" \ + tag; then + LASTRELPATCHNUM=`cut -f 4 -d '|' < tag` + + if [ "${RELPATCHNUM}" -lt "${LASTRELPATCHNUM}" ]; then + echo + echo -n "Files on mirror (${RELNUM}-p${RELPATCHNUM})" + echo " are older than the" + echo -n "most recently seen updates" + echo " (${RELNUM}-p${LASTRELPATCHNUM})." + echo "Cowardly refusing to proceed any further." + return 1 + fi + fi +} + +# Fetch metadata index file +fetch_metadata_index () { + echo ${NDEBUG} "Fetching metadata index... " + rm -f ${TINDEXHASH} + fetch ${QUIETFLAG} http://${SERVERNAME}/${FETCHDIR}/t/${TINDEXHASH} + 2>${QUIETREDIR} + if ! [ -f ${TINDEXHASH} ]; then + echo "failed." + return 1 + fi + if [ `${SHA256} -q ${TINDEXHASH}` != ${TINDEXHASH} ]; then + echo "update metadata index corrupt." + return 1 + fi + echo "done." +} + +# Print an error message about signed metadata being bogus. +fetch_metadata_bogus () { + echo + echo "The update metadata$1 is correctly signed, but" + echo "failed an integrity check." + echo "Cowardly refusing to proceed any further." + return 1 +} + +# Construct tINDEX.new by merging the lines named in $1 from ${TINDEXHASH} +# with the lines not named in $@ from tINDEX.present (if that file exists). +fetch_metadata_index_merge () { + for METAFILE in $@; do + if [ `grep -E "^${METAFILE}\|" ${TINDEXHASH} | wc -l` \ + -ne 1 ]; then + fetch_metadata_bogus " index" + return 1 + fi + + grep -E "${METAFILE}\|" ${TINDEXHASH} + done | + sort > tINDEX.wanted + + if [ -f tINDEX.present ]; then + join -t '|' -v 2 tINDEX.wanted tINDEX.present | + sort -m - tINDEX.wanted > tINDEX.new + rm tINDEX.wanted + else + mv tINDEX.wanted tINDEX.new + fi +} + +# Sanity check all the lines of tINDEX.new. Even if more metadata lines +# are added by future versions of the server, this won't cause problems, +# since the only lines which appear in tINDEX.new are the ones which we +# specifically grepped out of ${TINDEXHASH}. +fetch_metadata_index_sanity () { + if grep -qvE '^[0-9A-Z.-]+\|[0-9a-f]{64}$' tINDEX.new; then + fetch_metadata_bogus " index" + return 1 + fi +} + +# Sanity check the metadata file $1. +fetch_metadata_sanity () { + # Some aliases to save space later: ${P} is a character which can + # appear in a path; ${M} is the four numeric metadata fields; and + # ${H} is a sha256 hash. + P="[-+./:=,%@_[~[:alnum:]]" + M="[0-9]+\|[0-9]+\|[0-9]+\|[0-9]+" + H="[0-9a-f]{64}" + + # Check that the first four fields make sense. + if gunzip -c < files/$1.gz | + grep -qvE "^[a-z]+\|[0-9a-z-]+\|${P}+\|[fdL-]\|"; then + fetch_metadata_bogus "" + return 1 + fi + + # Remove the first three fields. + gunzip -c < files/$1.gz | + cut -f 4- -d '|' > sanitycheck.tmp + + # Sanity check entries with type 'f' + if grep -E '^f' sanitycheck.tmp | + grep -qvE "^f\|${M}\|${H}\|${P}*\$"; then + fetch_metadata_bogus "" + return 1 + fi + + # Sanity check entries with type 'd' + if grep -E '^d' sanitycheck.tmp | + grep -qvE "^d\|${M}\|\|\$"; then + fetch_metadata_bogus "" + return 1 + fi + + # Sanity check entries with type 'L' + if grep -E '^L' sanitycheck.tmp | + grep -qvE "^L\|${M}\|${P}*\|\$"; then + fetch_metadata_bogus "" + return 1 + fi + + # Sanity check entries with type '-' + if grep -E '^-' sanitycheck.tmp | + grep -qvE "^-\|\|\|\|\|\|"; then + fetch_metadata_bogus "" + return 1 + fi + + # Clean up + rm sanitycheck.tmp +} + +# Fetch the metadata index and metadata files listed in $@, +# taking advantage of metadata patches where possible. +fetch_metadata () { + fetch_metadata_index || return 1 + fetch_metadata_index_merge $@ || return 1 + fetch_metadata_index_sanity || return 1 + + # Generate a list of wanted metadata patches + join -t '|' -o 1.2,2.2 tINDEX.present tINDEX.new | + fetch_make_patchlist > patchlist + + if [ -s patchlist ]; then + # Attempt to fetch metadata patches + echo -n "Fetching `wc -l < patchlist | tr -d ' '` " + echo ${NDEBUG} "metadata patches.${DDSTATS}" + tr '|' '-' < patchlist | + lam -s "${FETCHDIR}/tp/" - -s ".gz" | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${STATSREDIR} | fetch_progress + echo "done." + + # Attempt to apply metadata patches + echo -n "Applying metadata patches... " + tr '|' ' ' < patchlist | + while read X Y; do + if [ ! -f "${X}-${Y}.gz" ]; then continue; fi + gunzip -c < ${X}-${Y}.gz > diff + gunzip -c < files/${X}.gz > diff-OLD + + # Figure out which lines are being added and removed + grep -E '^-' diff | + cut -c 2- | + while read PREFIX; do + look "${PREFIX}" diff-OLD + done | + sort > diff-rm + grep -E '^\+' diff | + cut -c 2- > diff-add + + # Generate the new file + comm -23 diff-OLD diff-rm | + sort - diff-add > diff-NEW + + if [ `${SHA256} -q diff-NEW` = ${Y} ]; then + mv diff-NEW files/${Y} + gzip -n files/${Y} + else + mv diff-NEW ${Y}.bad + fi + rm -f ${X}-${Y}.gz diff + rm -f diff-OLD diff-NEW diff-add diff-rm + done 2>${QUIETREDIR} + echo "done." + fi + + # Update metadata without patches + cut -f 2 -d '|' < tINDEX.new | + while read Y; do + if [ ! -f "files/${Y}.gz" ]; then + echo ${Y}; + fi + done | + sort -u > filelist + + if [ -s filelist ]; then + echo -n "Fetching `wc -l < filelist | tr -d ' '` " + echo ${NDEBUG} "metadata files... " + lam -s "${FETCHDIR}/m/" - -s ".gz" < filelist | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${QUIETREDIR} + + while read Y; do + if ! [ -f ${Y}.gz ]; then + echo "failed." + return 1 + fi + if [ `gunzip -c < ${Y}.gz | + ${SHA256} -q` = ${Y} ]; then + mv ${Y}.gz files/${Y}.gz + else + echo "metadata is corrupt." + return 1 + fi + done < filelist + echo "done." + fi + +# Sanity-check the metadata files. + cut -f 2 -d '|' tINDEX.new > filelist + while read X; do + fetch_metadata_sanity ${X} || return 1 + done < filelist + +# Remove files which are no longer needed + cut -f 2 -d '|' tINDEX.present | + sort > oldfiles + cut -f 2 -d '|' tINDEX.new | + sort | + comm -13 - oldfiles | + lam -s "files/" - -s ".gz" | + xargs rm -f + rm patchlist filelist oldfiles + rm ${TINDEXHASH} + +# We're done! + mv tINDEX.new tINDEX.present + mv tag.new tag + + return 0 +} + +# Extract a subset of a downloaded metadata file containing only the parts +# which are listed in COMPONENTS. +fetch_filter_metadata_components () { + METAHASH=`look "$1|" tINDEX.present | cut -f 2 -d '|'` + gunzip -c < files/${METAHASH}.gz > $1.all + + # Fish out the lines belonging to components we care about. + for C in ${COMPONENTS}; do + look "`echo ${C} | tr '/' '|'`|" $1.all + done > $1 + + # Remove temporary file. + rm $1.all +} + +# Generate a filtered version of the metadata file $1 from the downloaded +# file, by fishing out the lines corresponding to components we're trying +# to keep updated, and then removing lines corresponding to paths we want +# to ignore. +fetch_filter_metadata () { + # Fish out the lines belonging to components we care about. + fetch_filter_metadata_components $1 + + # Canonicalize directory names by removing any trailing / in + # order to avoid listing directories multiple times if they + # belong to multiple components. Turning "/" into "" doesn't + # matter, since we add a leading "/" when we use paths later. + cut -f 3- -d '|' $1 | + sed -e 's,/|d|,|d|,' | + sed -e 's,/|-|,|-|,' | + sort -u > $1.tmp + + # Figure out which lines to ignore and remove them. + for X in ${IGNOREPATHS}; do + grep -E "^${X}" $1.tmp + done | + sort -u | + comm -13 - $1.tmp > $1 + + # Remove temporary files. + rm $1.tmp +} + +# Filter the metadata file $1 by adding lines with "/boot/$2" +# replaced by ${KERNELDIR} (which is `sysctl -n kern.bootfile` minus the +# trailing "/kernel"); and if "/boot/$2" does not exist, remove +# the original lines which start with that. +# Put another way: Deal with the fact that the FOO kernel is sometimes +# installed in /boot/FOO/ and is sometimes installed elsewhere. +fetch_filter_kernel_names () { + grep ^/boot/$2 $1 | + sed -e "s,/boot/$2,${KERNELDIR},g" | + sort - $1 > $1.tmp + mv $1.tmp $1 + + if ! [ -d /boot/$2 ]; then + grep -v ^/boot/$2 $1 > $1.tmp + mv $1.tmp $1 + fi +} + +# For all paths appearing in $1 or $3, inspect the system +# and generate $2 describing what is currently installed. +fetch_inspect_system () { + # No errors yet... + rm -f .err + + # Tell the user why his disk is suddenly making lots of noise + echo -n "Inspecting system... " + + # Generate list of files to inspect + cat $1 $3 | + cut -f 1 -d '|' | + sort -u > filelist + + # Examine each file and output lines of the form + # /path/to/file|type|device-inum|user|group|perm|flags|value + # sorted by device and inode number. + while read F; do + # If the symlink/file/directory does not exist, record this. + if ! [ -e ${BASEDIR}/${F} ]; then + echo "${F}|-||||||" + continue + fi + if ! [ -r ${BASEDIR}/${F} ]; then + echo "Cannot read file: ${BASEDIR}/${F}" \ + >/dev/stderr + touch .err + return 1 + fi + + # Otherwise, output an index line. + if [ -L ${BASEDIR}/${F} ]; then + echo -n "${F}|L|" + stat -n -f '%d-%i|%u|%g|%Mp%Lp|%Of|' ${BASEDIR}/${F}; + readlink ${BASEDIR}/${F}; + elif [ -f ${BASEDIR}/${F} ]; then + echo -n "${F}|f|" + stat -n -f '%d-%i|%u|%g|%Mp%Lp|%Of|' ${BASEDIR}/${F}; + sha256 -q ${BASEDIR}/${F}; + elif [ -d ${BASEDIR}/${F} ]; then + echo -n "${F}|d|" + stat -f '%d-%i|%u|%g|%Mp%Lp|%Of|' ${BASEDIR}/${F}; + else + echo "Unknown file type: ${BASEDIR}/${F}" \ + >/dev/stderr + touch .err + return 1 + fi + done < filelist | + sort -k 3,3 -t '|' > $2.tmp + rm filelist + + # Check if an error occurred during system inspection + if [ -f .err ]; then + return 1 + fi + + # Convert to the form + # /path/to/file|type|user|group|perm|flags|value|hlink + # by resolving identical device and inode numbers into hard links. + cut -f 1,3 -d '|' $2.tmp | + sort -k 1,1 -t '|' | + sort -s -u -k 2,2 -t '|' | + join -1 2 -2 3 -t '|' - $2.tmp | + awk -F \| -v OFS=\| \ + '{ + if (($2 == $3) || ($4 == "-")) + print $3,$4,$5,$6,$7,$8,$9,"" + else + print $3,$4,$5,$6,$7,$8,$9,$2 + }' | + sort > $2 + rm $2.tmp + + # We're finished looking around + echo "done." +} + +# For any paths matching ${MERGECHANGES}, compare $2 against $1 and $3 and +# find any files with values unique to $2; generate $4 containing these paths +# and their corresponding hashes from $1. +fetch_filter_mergechanges () { + # Pull out the paths and hashes of the files matching ${MERGECHANGES}. + for F in $1 $2 $3; do + for X in ${MERGECHANGES}; do + grep -E "^${X}" ${F} + done | + cut -f 1,2,7 -d '|' | + sort > ${F}-values + done + + # Any line in $2-values which doesn't appear in $1-values or $3-values + # and is a file means that we should list the path in $3. + sort $1-values $3-values | + comm -13 - $2-values | + fgrep '|f|' | + cut -f 1 -d '|' > $2-paths + + # For each path, pull out one (and only one!) entry from $1-values. + # Note that we cannot distinguish which "old" version the user made + # changes to; but hopefully any changes which occur due to security + # updates will exist in both the "new" version and the version which + # the user has installed, so the merging will still work. + while read X; do + look "${X}|" $1-values | + head -1 + done < $2-paths > $4 + + # Clean up + rm $1-values $2-values $3-values $2-paths +} + +# For any paths matching ${UPDATEIFUNMODIFIED}, remove lines from $[123] +# which correspond to lines in $2 with hashes not matching $1 or $3, unless +# the paths are listed in $4. For entries in $2 marked "not present" +# (aka. type -), remove lines from $[123] unless there is a corresponding +# entry in $1. +fetch_filter_unmodified_notpresent () { + # Figure out which lines of $1 and $3 correspond to bits which + # should only be updated if they haven't changed, and fish out + # the (path, type, value) tuples. + # NOTE: We don't consider a file to be "modified" if it matches + # the hash from $3. + for X in ${UPDATEIFUNMODIFIED}; do + grep -E "^${X}" $1 + grep -E "^${X}" $3 + done | + cut -f 1,2,7 -d '|' | + sort > $1-values + + # Do the same for $2. + for X in ${UPDATEIFUNMODIFIED}; do + grep -E "^${X}" $2 + done | + cut -f 1,2,7 -d '|' | + sort > $2-values + + # Any entry in $2-values which is not in $1-values corresponds to + # a path which we need to remove from $1, $2, and $3, unless it + # that path appears in $4. + comm -13 $1-values $2-values | + sort -t '|' -k 1,1 > mlines.tmp + cut -f 1 -d '|' $4 | + sort | + join -v 2 -t '|' - mlines.tmp | + sort > mlines + rm $1-values $2-values mlines.tmp + + # Any lines in $2 which are not in $1 AND are "not present" lines + # also belong in mlines. + comm -13 $1 $2 | + cut -f 1,2,7 -d '|' | + fgrep '|-|' >> mlines + + # Remove lines from $1, $2, and $3 + for X in $1 $2 $3; do + sort -t '|' -k 1,1 ${X} > ${X}.tmp + cut -f 1 -d '|' < mlines | + sort | + join -v 2 -t '|' - ${X}.tmp | + sort > ${X} + rm ${X}.tmp + done + + # Store a list of the modified files, for future reference + fgrep -v '|-|' mlines | + cut -f 1 -d '|' > modifiedfiles + rm mlines +} + +# For each entry in $1 of type -, remove any corresponding +# entry from $2 if ${ALLOWADD} != "yes". Remove all entries +# of type - from $1. +fetch_filter_allowadd () { + cut -f 1,2 -d '|' < $1 | + fgrep '|-' | + cut -f 1 -d '|' > filesnotpresent + + if [ ${ALLOWADD} != "yes" ]; then + sort < $2 | + join -v 1 -t '|' - filesnotpresent | + sort > $2.tmp + mv $2.tmp $2 + fi + + sort < $1 | + join -v 1 -t '|' - filesnotpresent | + sort > $1.tmp + mv $1.tmp $1 + rm filesnotpresent +} + +# If ${ALLOWDELETE} != "yes", then remove any entries from $1 +# which don't correspond to entries in $2. +fetch_filter_allowdelete () { + # Produce a lists ${PATH}|${TYPE} + for X in $1 $2; do + cut -f 1-2 -d '|' < ${X} | + sort -u > ${X}.nodes + done + + # Figure out which lines need to be removed from $1. + if [ ${ALLOWDELETE} != "yes" ]; then + comm -23 $1.nodes $2.nodes > $1.badnodes + else + : > $1.badnodes + fi + + # Remove the relevant lines from $1 + while read X; do + look "${X}|" $1 + done < $1.badnodes | + comm -13 - $1 > $1.tmp + mv $1.tmp $1 + + rm $1.badnodes $1.nodes $2.nodes +} + +# If ${KEEPMODIFIEDMETADATA} == "yes", then for each entry in $2 +# with metadata not matching any entry in $1, replace the corresponding +# line of $3 with one having the same metadata as the entry in $2. +fetch_filter_modified_metadata () { + # Fish out the metadata from $1 and $2 + for X in $1 $2; do + cut -f 1-6 -d '|' < ${X} > ${X}.metadata + done + + # Find the metadata we need to keep + if [ ${KEEPMODIFIEDMETADATA} = "yes" ]; then + comm -13 $1.metadata $2.metadata > keepmeta + else + : > keepmeta + fi + + # Extract the lines which we need to remove from $3, and + # construct the lines which we need to add to $3. + : > $3.remove + : > $3.add + while read LINE; do + NODE=`echo "${LINE}" | cut -f 1-2 -d '|'` + look "${NODE}|" $3 >> $3.remove + look "${NODE}|" $3 | + cut -f 7- -d '|' | + lam -s "${LINE}|" - >> $3.add + done < keepmeta + + # Remove the specified lines and add the new lines. + sort $3.remove | + comm -13 - $3 | + sort -u - $3.add > $3.tmp + mv $3.tmp $3 + + rm keepmeta $1.metadata $2.metadata $3.add $3.remove +} + +# Remove lines from $1 and $2 which are identical; +# no need to update a file if it isn't changing. +fetch_filter_uptodate () { + comm -23 $1 $2 > $1.tmp + comm -13 $1 $2 > $2.tmp + + mv $1.tmp $1 + mv $2.tmp $2 +} + +# Fetch any "clean" old versions of files we need for merging changes. +fetch_files_premerge () { + # We only need to do anything if $1 is non-empty. + if [ -s $1 ]; then + # Tell the user what we're doing + echo -n "Fetching files from ${OLDRELNUM} for merging... " + + # List of files wanted + fgrep '|f|' < $1 | + cut -f 3 -d '|' | + sort -u > files.wanted + + # Only fetch the files we don't already have + while read Y; do + if [ ! -f "files/${Y}.gz" ]; then + echo ${Y}; + fi + done < files.wanted > filelist + + # Actually fetch them + lam -s "${OLDFETCHDIR}/f/" - -s ".gz" < filelist | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${QUIETREDIR} + + # Make sure we got them all, and move them into /files/ + while read Y; do + if ! [ -f ${Y}.gz ]; then + echo "failed." + return 1 + fi + if [ `gunzip -c < ${Y}.gz | + ${SHA256} -q` = ${Y} ]; then + mv ${Y}.gz files/${Y}.gz + else + echo "${Y} has incorrect hash." + return 1 + fi + done < filelist + echo "done." + + # Clean up + rm filelist files.wanted + fi +} + +# Prepare to fetch files: Generate a list of the files we need, +# copy the unmodified files we have into /files/, and generate +# a list of patches to download. +fetch_files_prepare () { + # Tell the user why his disk is suddenly making lots of noise + echo -n "Preparing to download files... " + + # Reduce indices to ${PATH}|${HASH} pairs + for X in $1 $2 $3; do + cut -f 1,2,7 -d '|' < ${X} | + fgrep '|f|' | + cut -f 1,3 -d '|' | + sort > ${X}.hashes + done + + # List of files wanted + cut -f 2 -d '|' < $3.hashes | + sort -u | + while read HASH; do + if ! [ -f files/${HASH}.gz ]; then + echo ${HASH} + fi + done > files.wanted + + # Generate a list of unmodified files + comm -12 $1.hashes $2.hashes | + sort -k 1,1 -t '|' > unmodified.files + + # Copy all files into /files/. We only need the unmodified files + # for use in patching; but we'll want all of them if the user asks + # to rollback the updates later. + while read LINE; do + F=`echo "${LINE}" | cut -f 1 -d '|'` + HASH=`echo "${LINE}" | cut -f 2 -d '|'` + + # Skip files we already have. + if [ -f files/${HASH}.gz ]; then + continue + fi + + # Make sure the file hasn't changed. + cp "${BASEDIR}/${F}" tmpfile + if [ `sha256 -q tmpfile` != ${HASH} ]; then + echo + echo "File changed while FreeBSD Update running: ${F}" + return 1 + fi + + # Place the file into storage. + gzip -c < tmpfile > files/${HASH}.gz + rm tmpfile + done < $2.hashes + + # Produce a list of patches to download + sort -k 1,1 -t '|' $3.hashes | + join -t '|' -o 2.2,1.2 - unmodified.files | + fetch_make_patchlist > patchlist + + # Garbage collect + rm unmodified.files $1.hashes $2.hashes $3.hashes + + # We don't need the list of possible old files any more. + rm $1 + + # We're finished making noise + echo "done." +} + +# Fetch files. +fetch_files () { + # Attempt to fetch patches + if [ -s patchlist ]; then + echo -n "Fetching `wc -l < patchlist | tr -d ' '` " + echo ${NDEBUG} "patches.${DDSTATS}" + tr '|' '-' < patchlist | + lam -s "${PATCHDIR}/" - | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${STATSREDIR} | fetch_progress + echo "done." + + # Attempt to apply patches + echo -n "Applying patches... " + tr '|' ' ' < patchlist | + while read X Y; do + if [ ! -f "${X}-${Y}" ]; then continue; fi + gunzip -c < files/${X}.gz > OLD + + bspatch OLD NEW ${X}-${Y} + + if [ `${SHA256} -q NEW` = ${Y} ]; then + mv NEW files/${Y} + gzip -n files/${Y} + fi + rm -f diff OLD NEW ${X}-${Y} + done 2>${QUIETREDIR} + echo "done." + fi + + # Download files which couldn't be generate via patching + while read Y; do + if [ ! -f "files/${Y}.gz" ]; then + echo ${Y}; + fi + done < files.wanted > filelist + + if [ -s filelist ]; then + echo -n "Fetching `wc -l < filelist | tr -d ' '` " + echo ${NDEBUG} "files... " + lam -s "${FETCHDIR}/f/" - -s ".gz" < filelist | + xargs ${XARGST} ${PHTTPGET} ${SERVERNAME} \ + 2>${STATSREDIR} | fetch_progress + + while read Y; do + if ! [ -f ${Y}.gz ]; then + echo "failed." + return 1 + fi + if [ `gunzip -c < ${Y}.gz | + ${SHA256} -q` = ${Y} ]; then + mv ${Y}.gz files/${Y}.gz + else + echo "${Y} has incorrect hash." + return 1 + fi + done < filelist + echo "done." + fi + + # Clean up + rm files.wanted filelist patchlist +} + +# Create and populate install manifest directory; and report what updates +# are available. +fetch_create_manifest () { + # If we have an existing install manifest, nuke it. + if [ -L "${BDHASH}-install" ]; then + rm -r ${BDHASH}-install/ + rm ${BDHASH}-install + fi + + # Report to the user if any updates were avoided due to local changes + if [ -s modifiedfiles ]; then + cat - modifiedfiles <<- EOF | ${PAGER} + The following files are affected by updates. No changes have + been downloaded, however, because the files have been modified + locally: + EOF + fi + rm modifiedfiles + + # If no files will be updated, tell the user and exit + if ! [ -s INDEX-PRESENT ] && + ! [ -s INDEX-NEW ]; then + rm INDEX-PRESENT INDEX-NEW + echo + echo -n "No updates needed to update system to " + echo "${RELNUM}-p${RELPATCHNUM}." + return + fi + + # Divide files into (a) removed files, (b) added files, and + # (c) updated files. + cut -f 1 -d '|' < INDEX-PRESENT | + sort > INDEX-PRESENT.flist + cut -f 1 -d '|' < INDEX-NEW | + sort > INDEX-NEW.flist + comm -23 INDEX-PRESENT.flist INDEX-NEW.flist > files.removed + comm -13 INDEX-PRESENT.flist INDEX-NEW.flist > files.added + comm -12 INDEX-PRESENT.flist INDEX-NEW.flist > files.updated + rm INDEX-PRESENT.flist INDEX-NEW.flist + + # Report removed files, if any + if [ -s files.removed ]; then + cat - files.removed <<- EOF | ${PAGER} + The following files will be removed as part of updating to + ${RELNUM}-p${RELPATCHNUM}: + EOF + fi + rm files.removed + + # Report added files, if any + if [ -s files.added ]; then + cat - files.added <<- EOF | ${PAGER} + The following files will be added as part of updating to + ${RELNUM}-p${RELPATCHNUM}: + EOF + fi + rm files.added + + # Report updated files, if any + if [ -s files.updated ]; then + cat - files.updated <<- EOF | ${PAGER} + The following files will be updated as part of updating to + ${RELNUM}-p${RELPATCHNUM}: + EOF + fi + rm files.updated + + # Create a directory for the install manifest. + MDIR=`mktemp -d install.XXXXXX` || return 1 + + # Populate it + mv INDEX-PRESENT ${MDIR}/INDEX-OLD + mv INDEX-NEW ${MDIR}/INDEX-NEW + + # Link it into place + ln -s ${MDIR} ${BDHASH}-install +} + +# Warn about any upcoming EoL +fetch_warn_eol () { + # What's the current time? + NOWTIME=`date "+%s"` + + # When did we last warn about the EoL date? + if [ -f lasteolwarn ]; then + LASTWARN=`cat lasteolwarn` + else + LASTWARN=`expr ${NOWTIME} - 63072000` + fi + + # If the EoL time is past, warn. + if [ ${EOLTIME} -lt ${NOWTIME} ]; then + echo + cat <<-EOF + WARNING: `uname -sr` HAS PASSED ITS END-OF-LIFE DATE. + Any security issues discovered after `date -r ${EOLTIME}` + will not have been corrected. + EOF + return 1 + fi + + # Figure out how long it has been since we last warned about the + # upcoming EoL, and how much longer we have left. + SINCEWARN=`expr ${NOWTIME} - ${LASTWARN}` + TIMELEFT=`expr ${EOLTIME} - ${NOWTIME}` + + # Don't warn if the EoL is more than 3 months away + if [ ${TIMELEFT} -gt 7884000 ]; then + return 0 + fi + + # Don't warn if the time remaining is more than 3 times the time + # since the last warning. + if [ ${TIMELEFT} -gt `expr ${SINCEWARN} \* 3` ]; then + return 0 + fi + + # Figure out what time units to use. + if [ ${TIMELEFT} -lt 604800 ]; then + UNIT="day" + SIZE=86400 + elif [ ${TIMELEFT} -lt 2678400 ]; then + UNIT="week" + SIZE=604800 + else + UNIT="month" + SIZE=2678400 + fi + + # Compute the right number of units + NUM=`expr ${TIMELEFT} / ${SIZE}` + if [ ${NUM} != 1 ]; then + UNIT="${UNIT}s" + fi + + # Print the warning + echo + cat <<-EOF + WARNING: `uname -sr` is approaching its End-of-Life date. + It is strongly recommended that you upgrade to a newer + release within the next ${NUM} ${UNIT}. + EOF + + # Update the stored time of last warning + echo ${NOWTIME} > lasteolwarn +} + +# Do the actual work involved in "fetch" / "cron". +fetch_run () { + workdir_init || return 1 + + # Prepare the mirror list. + fetch_pick_server_init && fetch_pick_server + + # Try to fetch the public key until we run out of servers. + while ! fetch_key; do + fetch_pick_server || return 1 + done + + # Try to fetch the metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + fetch_tagsanity || return 1 + + # Fetch the latest INDEX-NEW and INDEX-OLD files. + fetch_metadata INDEX-NEW INDEX-OLD || return 1 + + # Generate filtered INDEX-NEW and INDEX-OLD files containing only + # the lines which (a) belong to components we care about, and (b) + # don't correspond to paths we're explicitly ignoring. + fetch_filter_metadata INDEX-NEW || return 1 + fetch_filter_metadata INDEX-OLD || return 1 + + # Translate /boot/${KERNCONF} into ${KERNELDIR} + fetch_filter_kernel_names INDEX-NEW ${KERNCONF} + fetch_filter_kernel_names INDEX-OLD ${KERNCONF} + + # For all paths appearing in INDEX-OLD or INDEX-NEW, inspect the + # system and generate an INDEX-PRESENT file. + fetch_inspect_system INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Based on ${UPDATEIFUNMODIFIED}, remove lines from INDEX-* which + # correspond to lines in INDEX-PRESENT with hashes not appearing + # in INDEX-OLD or INDEX-NEW. Also remove lines where the entry in + # INDEX-PRESENT has type - and there isn't a corresponding entry in + # INDEX-OLD with type -. + fetch_filter_unmodified_notpresent \ + INDEX-OLD INDEX-PRESENT INDEX-NEW /dev/null + + # For each entry in INDEX-PRESENT of type -, remove any corresponding + # entry from INDEX-NEW if ${ALLOWADD} != "yes". Remove all entries + # of type - from INDEX-PRESENT. + fetch_filter_allowadd INDEX-PRESENT INDEX-NEW + + # If ${ALLOWDELETE} != "yes", then remove any entries from + # INDEX-PRESENT which don't correspond to entries in INDEX-NEW. + fetch_filter_allowdelete INDEX-PRESENT INDEX-NEW + + # If ${KEEPMODIFIEDMETADATA} == "yes", then for each entry in + # INDEX-PRESENT with metadata not matching any entry in INDEX-OLD, + # replace the corresponding line of INDEX-NEW with one having the + # same metadata as the entry in INDEX-PRESENT. + fetch_filter_modified_metadata INDEX-OLD INDEX-PRESENT INDEX-NEW + + # Remove lines from INDEX-PRESENT and INDEX-NEW which are identical; + # no need to update a file if it isn't changing. + fetch_filter_uptodate INDEX-PRESENT INDEX-NEW + + # Prepare to fetch files: Generate a list of the files we need, + # copy the unmodified files we have into /files/, and generate + # a list of patches to download. + fetch_files_prepare INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Fetch files. + fetch_files || return 1 + + # Create and populate install manifest directory; and report what + # updates are available. + fetch_create_manifest || return 1 + + # Warn about any upcoming EoL + fetch_warn_eol || return 1 +} + +# If StrictComponents is not "yes", generate a new components list +# with only the components which appear to be installed. +upgrade_guess_components () { + if [ "${STRICTCOMPONENTS}" = "no" ]; then + # Generate filtered INDEX-ALL with only the components listed + # in COMPONENTS. + fetch_filter_metadata_components $1 || return 1 + + # Tell the user why his disk is suddenly making lots of noise + echo -n "Inspecting system... " + + # Look at the files on disk, and assume that a component is + # supposed to be present if it is more than half-present. + cut -f 1-3 -d '|' < INDEX-ALL | + tr '|' ' ' | + while read C S F; do + if [ -e ${BASEDIR}/${F} ]; then + echo "+ ${C}|${S}" + fi + echo "= ${C}|${S}" + done | + sort | + uniq -c | + sed -E 's,^ +,,' > compfreq + grep ' = ' compfreq | + cut -f 1,3 -d ' ' | + sort -k 2,2 -t ' ' > compfreq.total + grep ' + ' compfreq | + cut -f 1,3 -d ' ' | + sort -k 2,2 -t ' ' > compfreq.present + join -t ' ' -1 2 -2 2 compfreq.present compfreq.total | + while read S P T; do + if [ ${T} -ne 0 -a ${P} -gt `expr ${T} / 2` ]; then + echo ${S} + fi + done > comp.present + cut -f 2 -d ' ' < compfreq.total > comp.total + rm INDEX-ALL compfreq compfreq.total compfreq.present + + # We're done making noise. + echo "done." + + # Sometimes the kernel isn't installed where INDEX-ALL + # thinks that it should be: In particular, it is often in + # /boot/kernel instead of /boot/GENERIC or /boot/SMP. To + # deal with this, if "kernel|X" is listed in comp.total + # (i.e., is a component which would be upgraded if it is + # found to be present) we will add it to comp.present. + # If "kernel|" is in comp.total but "kernel|X" is + # not, we print a warning -- the user is running a kernel + # which isn't part of the release. + KCOMP=`echo ${KERNCONF} | tr 'A-Z' 'a-z'` + grep -E "^kernel\|${KCOMP}\$" comp.total >> comp.present + + if grep -qE "^kernel\|" comp.total && + ! grep -qE "^kernel\|${KCOMP}\$" comp.total; then + cat <<-EOF + +WARNING: This system is running a "${KCOMP}" kernel, which is not a +kernel configuration distributed as part of FreeBSD ${RELNUM}. +This kernel will not be updated: you MUST update the kernel manually +before running '`basename $0` [options] install'. + EOF + fi + + # Re-sort the list of installed components and generate + # the list of non-installed components. + sort -u < comp.present > comp.present.tmp + mv comp.present.tmp comp.present + comm -13 comp.present comp.total > comp.absent + + # Ask the user to confirm that what we have is correct. To + # reduce user confusion, translate "X|Y" back to "X/Y" (as + # subcomponents must be listed in the configuration file). + echo + echo -n "The following components of FreeBSD " + echo "seem to be installed:" + tr '|' '/' < comp.present | + fmt -72 + echo + echo -n "The following components of FreeBSD " + echo "do not seem to be installed:" + tr '|' '/' < comp.absent | + fmt -72 + echo + continuep || return 1 + echo + + # Suck the generated list of components into ${COMPONENTS}. + # Note that comp.present.tmp is used due to issues with + # pipelines and setting variables. + COMPONENTS="" + tr '|' '/' < comp.present > comp.present.tmp + while read C; do + COMPONENTS="${COMPONENTS} ${C}" + done < comp.present.tmp + + # Delete temporary files + rm comp.present comp.present.tmp comp.absent comp.total + fi +} + +# If StrictComponents is not "yes", COMPONENTS contains an entry +# corresponding to the currently running kernel, and said kernel +# does not exist in the new release, add "kernel/generic" to the +# list of components. +upgrade_guess_new_kernel () { + if [ "${STRICTCOMPONENTS}" = "no" ]; then + # Grab the unfiltered metadata file. + METAHASH=`look "$1|" tINDEX.present | cut -f 2 -d '|'` + gunzip -c < files/${METAHASH}.gz > $1.all + + # If "kernel/${KCOMP}" is in ${COMPONENTS} and that component + # isn't in $1.all, we need to add kernel/generic. + for C in ${COMPONENTS}; do + if [ ${C} = "kernel/${KCOMP}" ] && + ! grep -qE "^kernel\|${KCOMP}\|" $1.all; then + COMPONENTS="${COMPONENTS} kernel/generic" + NKERNCONF="GENERIC" + cat <<-EOF + +WARNING: This system is running a "${KCOMP}" kernel, which is not a +kernel configuration distributed as part of FreeBSD ${RELNUM}. +As part of upgrading to FreeBSD ${RELNUM}, this kernel will be +replaced with a "generic" kernel. + EOF + continuep || return 1 + fi + done + + # Don't need this any more... + rm $1.all + fi +} + +# Convert INDEX-OLD (last release) and INDEX-ALL (new release) into +# INDEX-OLD and INDEX-NEW files (in the sense of normal upgrades). +upgrade_oldall_to_oldnew () { + # For each ${F}|... which appears in INDEX-ALL but does not appear + # in INDEX-OLD, add ${F}|-|||||| to INDEX-OLD. + cut -f 1 -d '|' < $1 | + sort -u > $1.paths + cut -f 1 -d '|' < $2 | + sort -u | + comm -13 $1.paths - | + lam - -s "|-||||||" | + sort - $1 > $1.tmp + mv $1.tmp $1 + + # Remove lines from INDEX-OLD which also appear in INDEX-ALL + comm -23 $1 $2 > $1.tmp + mv $1.tmp $1 + + # Remove lines from INDEX-ALL which have a file name not appearing + # anywhere in INDEX-OLD (since these must be files which haven't + # changed -- if they were new, there would be an entry of type "-"). + cut -f 1 -d '|' < $1 | + sort -u > $1.paths + sort -k 1,1 -t '|' < $2 | + join -t '|' - $1.paths | + sort > $2.tmp + rm $1.paths + mv $2.tmp $2 + + # Rename INDEX-ALL to INDEX-NEW. + mv $2 $3 +} + +# Helper for upgrade_merge: Return zero true iff the two files differ only +# in the contents of their RCS tags. +samef () { + X=`sed -E 's/\\$FreeBSD.*\\$/\$FreeBSD\$/' < $1 | ${SHA256}` + Y=`sed -E 's/\\$FreeBSD.*\\$/\$FreeBSD\$/' < $2 | ${SHA256}` + + if [ $X = $Y ]; then + return 0; + else + return 1; + fi +} + +# From the list of "old" files in $1, merge changes in $2 with those in $3, +# and update $3 to reflect the hashes of merged files. +upgrade_merge () { + # We only need to do anything if $1 is non-empty. + if [ -s $1 ]; then + cut -f 1 -d '|' $1 | + sort > $1-paths + + # Create staging area for merging files + rm -rf merge/ + while read F; do + D=`dirname ${F}` + mkdir -p merge/old/${D} + mkdir -p merge/${OLDRELNUM}/${D} + mkdir -p merge/${RELNUM}/${D} + mkdir -p merge/new/${D} + done < $1-paths + + # Copy in files + while read F; do + # Currently installed file + V=`look "${F}|" $2 | cut -f 7 -d '|'` + gunzip < files/${V}.gz > merge/old/${F} + + # Old release + if look "${F}|" $1 | fgrep -q "|f|"; then + V=`look "${F}|" $1 | cut -f 3 -d '|'` + gunzip < files/${V}.gz \ + > merge/${OLDRELNUM}/${F} + fi + + # New release + if look "${F}|" $3 | cut -f 1,2,7 -d '|' | + fgrep -q "|f|"; then + V=`look "${F}|" $3 | cut -f 7 -d '|'` + gunzip < files/${V}.gz \ + > merge/${RELNUM}/${F} + fi + done < $1-paths + + # Attempt to automatically merge changes + echo -n "Attempting to automatically merge " + echo -n "changes in files..." + : > failed.merges + while read F; do + # If the file doesn't exist in the new release, + # the result of "merging changes" is having the file + # not exist. + if ! [ -f merge/${RELNUM}/${F} ]; then + continue + fi + + # If the file didn't exist in the old release, we're + # going to throw away the existing file and hope that + # the version from the new release is what we want. + if ! [ -f merge/${OLDRELNUM}/${F} ]; then + cp merge/${RELNUM}/${F} merge/new/${F} + continue + fi + + # Some files need special treatment. + case ${F} in + /etc/spwd.db | /etc/pwd.db | /etc/login.conf.db) + # Don't merge these -- we're rebuild them + # after updates are installed. + cp merge/old/${F} merge/new/${F} + ;; + *) + if ! diff3 -E -m -L "current version" \ + -L "${OLDRELNUM}" -L "${RELNUM}" \ + merge/old/${F} \ + merge/${OLDRELNUM}/${F} \ + merge/${RELNUM}/${F} \ + > merge/new/${F} 2>/dev/null; then + echo ${F} >> failed.merges + fi + ;; + esac + done < $1-paths + echo " done." + + # Ask the user to handle any files which didn't merge. + while read F; do + # If the installed file differs from the version in + # the old release only due to RCS tag expansion + # then just use the version in the new release. + if samef merge/old/${F} merge/${OLDRELNUM}/${F}; then + cp merge/${RELNUM}/${F} merge/new/${F} + continue + fi + + cat <<-EOF + +The following file could not be merged automatically: ${F} +Press Enter to edit this file in ${EDITOR} and resolve the conflicts +manually... + EOF + while true; do + read response /dev/null; then + echo + break + fi + ${EDITOR} `pwd`/merge/new/${F} < /dev/tty + + if ! grep -qE '^(<<<<<<<|=======|>>>>>>>)([[:space:]].*)?$' $(pwd)/merge/new/${F} ; then + break + fi + cat <<-EOF + +Merge conflict markers remain in: ${F} +These must be resolved for the system to be functional. + +Press Enter to return to editing this file, or type "ACCEPT" to carry on with +these lines remaining in the file. + EOF + done + done < failed.merges + rm failed.merges + + # Ask the user to confirm that he likes how the result + # of merging files. + while read F; do + # Skip files which haven't changed except possibly + # in their RCS tags. + if [ -f merge/old/${F} ] && [ -f merge/new/${F} ] && + samef merge/old/${F} merge/new/${F}; then + continue + fi + + # Skip files where the installed file differs from + # the old file only due to RCS tags. + if [ -f merge/old/${F} ] && + [ -f merge/${OLDRELNUM}/${F} ] && + samef merge/old/${F} merge/${OLDRELNUM}/${F}; then + continue + fi + + # Warn about files which are ceasing to exist. + if ! [ -f merge/new/${F} ]; then + cat <<-EOF + +The following file will be removed, as it no longer exists in +FreeBSD ${RELNUM}: ${F} + EOF + continuep < /dev/tty || return 1 + continue + fi + + # Print changes for the user's approval. + cat <<-EOF + +The following changes, which occurred between FreeBSD ${OLDRELNUM} and +FreeBSD ${RELNUM} have been merged into ${F}: +EOF + diff -U 5 -L "current version" -L "new version" \ + merge/old/${F} merge/new/${F} || true + continuep < /dev/tty || return 1 + done < $1-paths + + # Store merged files. + while read F; do + if [ -f merge/new/${F} ]; then + V=`${SHA256} -q merge/new/${F}` + + gzip -c < merge/new/${F} > files/${V}.gz + echo "${F}|${V}" + fi + done < $1-paths > newhashes + + # Pull lines out from $3 which need to be updated to + # reflect merged files. + while read F; do + look "${F}|" $3 + done < $1-paths > $3-oldlines + + # Update lines to reflect merged files + join -t '|' -o 1.1,1.2,1.3,1.4,1.5,1.6,2.2,1.8 \ + $3-oldlines newhashes > $3-newlines + + # Remove old lines from $3 and add new lines. + sort $3-oldlines | + comm -13 - $3 | + sort - $3-newlines > $3.tmp + mv $3.tmp $3 + + # Clean up + rm $1-paths newhashes $3-oldlines $3-newlines + rm -rf merge/ + fi + + # We're done with merging files. + rm $1 +} + +# Do the work involved in fetching upgrades to a new release +upgrade_run () { + workdir_init || return 1 + + # Prepare the mirror list. + fetch_pick_server_init && fetch_pick_server + + # Try to fetch the public key until we run out of servers. + while ! fetch_key; do + fetch_pick_server || return 1 + done + + # Try to fetch the metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + fetch_tagsanity || return 1 + + # Fetch the INDEX-OLD and INDEX-ALL. + fetch_metadata INDEX-OLD INDEX-ALL || return 1 + + # If StrictComponents is not "yes", generate a new components list + # with only the components which appear to be installed. + upgrade_guess_components INDEX-ALL || return 1 + + # Generate filtered INDEX-OLD and INDEX-ALL files containing only + # the components we want and without anything marked as "Ignore". + fetch_filter_metadata INDEX-OLD || return 1 + fetch_filter_metadata INDEX-ALL || return 1 + + # Merge the INDEX-OLD and INDEX-ALL files into INDEX-OLD. + sort INDEX-OLD INDEX-ALL > INDEX-OLD.tmp + mv INDEX-OLD.tmp INDEX-OLD + rm INDEX-ALL + + # Adjust variables for fetching files from the new release. + OLDRELNUM=${RELNUM} + RELNUM=${TARGETRELEASE} + OLDFETCHDIR=${FETCHDIR} + FETCHDIR=${RELNUM}/${ARCH} + + # Try to fetch the NEW metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + + # Fetch the new INDEX-ALL. + fetch_metadata INDEX-ALL || return 1 + + # If StrictComponents is not "yes", COMPONENTS contains an entry + # corresponding to the currently running kernel, and said kernel + # does not exist in the new release, add "kernel/generic" to the + # list of components. + upgrade_guess_new_kernel INDEX-ALL || return 1 + + # Filter INDEX-ALL to contain only the components we want and without + # anything marked as "Ignore". + fetch_filter_metadata INDEX-ALL || return 1 + + # Convert INDEX-OLD (last release) and INDEX-ALL (new release) into + # INDEX-OLD and INDEX-NEW files (in the sense of normal upgrades). + upgrade_oldall_to_oldnew INDEX-OLD INDEX-ALL INDEX-NEW + + # Translate /boot/${KERNCONF} or /boot/${NKERNCONF} into ${KERNELDIR} + fetch_filter_kernel_names INDEX-NEW ${NKERNCONF} + fetch_filter_kernel_names INDEX-OLD ${KERNCONF} + + # For all paths appearing in INDEX-OLD or INDEX-NEW, inspect the + # system and generate an INDEX-PRESENT file. + fetch_inspect_system INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Based on ${MERGECHANGES}, generate a file tomerge-old with the + # paths and hashes of old versions of files to merge. + fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT INDEX-NEW tomerge-old + + # Based on ${UPDATEIFUNMODIFIED}, remove lines from INDEX-* which + # correspond to lines in INDEX-PRESENT with hashes not appearing + # in INDEX-OLD or INDEX-NEW. Also remove lines where the entry in + # INDEX-PRESENT has type - and there isn't a corresponding entry in + # INDEX-OLD with type -. + fetch_filter_unmodified_notpresent \ + INDEX-OLD INDEX-PRESENT INDEX-NEW tomerge-old + + # For each entry in INDEX-PRESENT of type -, remove any corresponding + # entry from INDEX-NEW if ${ALLOWADD} != "yes". Remove all entries + # of type - from INDEX-PRESENT. + fetch_filter_allowadd INDEX-PRESENT INDEX-NEW + + # If ${ALLOWDELETE} != "yes", then remove any entries from + # INDEX-PRESENT which don't correspond to entries in INDEX-NEW. + fetch_filter_allowdelete INDEX-PRESENT INDEX-NEW + + # If ${KEEPMODIFIEDMETADATA} == "yes", then for each entry in + # INDEX-PRESENT with metadata not matching any entry in INDEX-OLD, + # replace the corresponding line of INDEX-NEW with one having the + # same metadata as the entry in INDEX-PRESENT. + fetch_filter_modified_metadata INDEX-OLD INDEX-PRESENT INDEX-NEW + + # Remove lines from INDEX-PRESENT and INDEX-NEW which are identical; + # no need to update a file if it isn't changing. + fetch_filter_uptodate INDEX-PRESENT INDEX-NEW + + # Fetch "clean" files from the old release for merging changes. + fetch_files_premerge tomerge-old + + # Prepare to fetch files: Generate a list of the files we need, + # copy the unmodified files we have into /files/, and generate + # a list of patches to download. + fetch_files_prepare INDEX-OLD INDEX-PRESENT INDEX-NEW || return 1 + + # Fetch patches from to-${RELNUM}/${ARCH}/bp/ + PATCHDIR=to-${RELNUM}/${ARCH}/bp + fetch_files || return 1 + + # Merge configuration file changes. + upgrade_merge tomerge-old INDEX-PRESENT INDEX-NEW || return 1 + + # Create and populate install manifest directory; and report what + # updates are available. + fetch_create_manifest || return 1 + + # Leave a note behind to tell the "install" command that the kernel + # needs to be installed before the world. + touch ${BDHASH}-install/kernelfirst + + # Remind the user that they need to run "freebsd-update install" + # to install the downloaded bits, in case they didn't RTFM. + echo "To install the downloaded upgrades, run '`basename $0` [options] install'." +} + +# Make sure that all the file hashes mentioned in $@ have corresponding +# gzipped files stored in /files/. +install_verify () { + # Generate a list of hashes + cat $@ | + cut -f 2,7 -d '|' | + grep -E '^f' | + cut -f 2 -d '|' | + sort -u > filelist + + # Make sure all the hashes exist + while read HASH; do + if ! [ -f files/${HASH}.gz ]; then + echo -n "Update files missing -- " + echo "this should never happen." + echo "Re-run '`basename $0` [options] fetch'." + return 1 + fi + done < filelist + + # Clean up + rm filelist +} + +# Remove the system immutable flag from files +install_unschg () { + # Generate file list + cat $@ | + cut -f 1 -d '|' > filelist + + # Remove flags + while read F; do + if ! [ -e ${BASEDIR}/${F} ]; then + continue + else + echo ${BASEDIR}/${F} + fi + done < filelist | xargs chflags noschg || return 1 + + # Clean up + rm filelist +} + +# Decide which directory name to use for kernel backups. +backup_kernel_finddir () { + CNT=0 + while true ; do + # Pathname does not exist, so it is OK use that name + # for backup directory. + if [ ! -e $BASEDIR/$BACKUPKERNELDIR ]; then + return 0 + fi + + # If directory do exist, we only use if it has our + # marker file. + if [ -d $BASEDIR/$BACKUPKERNELDIR -a \ + -e $BASEDIR/$BACKUPKERNELDIR/.freebsd-update ]; then + return 0 + fi + + # We could not use current directory name, so add counter to + # the end and try again. + CNT=$((CNT + 1)) + if [ $CNT -gt 9 ]; then + echo "Could not find valid backup dir ($BASEDIR/$BACKUPKERNELDIR)" + exit 1 + fi + BACKUPKERNELDIR="`echo $BACKUPKERNELDIR | sed -Ee 's/[0-9]\$//'`" + BACKUPKERNELDIR="${BACKUPKERNELDIR}${CNT}" + done +} + +# Backup the current kernel using hardlinks, if not disabled by user. +# Since we delete all files in the directory used for previous backups +# we create a marker file called ".freebsd-update" in the directory so +# we can determine on the next run that the directory was created by +# freebsd-update and we then do not accidentally remove user files in +# the unlikely case that the user has created a directory with a +# conflicting name. +backup_kernel () { + # Only make kernel backup is so configured. + if [ $BACKUPKERNEL != yes ]; then + return 0 + fi + + # Decide which directory name to use for kernel backups. + backup_kernel_finddir + + # Remove old kernel backup files. If $BACKUPKERNELDIR was + # "not ours", backup_kernel_finddir would have exited, so + # deleting the directory content is as safe as we can make it. + if [ -d $BASEDIR/$BACKUPKERNELDIR ]; then + rm -fr $BASEDIR/$BACKUPKERNELDIR + fi + + # Create directories for backup. + mkdir -p $BASEDIR/$BACKUPKERNELDIR + mtree -cdn -p "${BASEDIR}/${KERNELDIR}" | \ + mtree -Ue -p "${BASEDIR}/${BACKUPKERNELDIR}" > /dev/null + + # Mark the directory as having been created by freebsd-update. + touch $BASEDIR/$BACKUPKERNELDIR/.freebsd-update + if [ $? -ne 0 ]; then + echo "Could not create kernel backup directory" + exit 1 + fi + + # Disable pathname expansion to be sure *.symbols is not + # expanded. + set -f + + # Use find to ignore symbol files, unless disabled by user. + if [ $BACKUPKERNELSYMBOLFILES = yes ]; then + FINDFILTER="" + else + FINDFILTER="-a ! -name *.debug -a ! -name *.symbols" + fi + + # Backup all the kernel files using hardlinks. + (cd ${BASEDIR}/${KERNELDIR} && find . -type f $FINDFILTER -exec \ + cp -pl '{}' ${BASEDIR}/${BACKUPKERNELDIR}/'{}' \;) + + # Re-enable pathname expansion. + set +f +} + +# Check for and remove an existing directory that conflicts with the file or +# symlink that we are going to install. +dir_conflict () { + if [ -d "$1" ]; then + echo "Removing conflicting directory $1" + rm -rf -- "$1" + fi +} + +# Install new files +install_from_index () { + # First pass: Do everything apart from setting file flags. We + # can't set flags yet, because schg inhibits hard linking. + sort -k 1,1 -t '|' $1 | + tr '|' ' ' | + while read FPATH TYPE OWNER GROUP PERM FLAGS HASH LINK; do + case ${TYPE} in + d) + # Create a directory. A file may change to a directory + # on upgrade (PR273661). If that happens, remove the + # file first. + if [ -e "${BASEDIR}/${FPATH}" ] && \ + ! [ -d "${BASEDIR}/${FPATH}" ]; then + rm -f -- "${BASEDIR}/${FPATH}" + fi + install -d -o ${OWNER} -g ${GROUP} \ + -m ${PERM} ${BASEDIR}/${FPATH} + ;; + f) + dir_conflict "${BASEDIR}/${FPATH}" + if [ -z "${LINK}" ]; then + # Create a file, without setting flags. + gunzip < files/${HASH}.gz > ${HASH} + install -S -o ${OWNER} -g ${GROUP} \ + -m ${PERM} ${HASH} ${BASEDIR}/${FPATH} + rm ${HASH} + else + # Create a hard link. + ln -f ${BASEDIR}/${LINK} ${BASEDIR}/${FPATH} + fi + ;; + L) + dir_conflict "${BASEDIR}/${FPATH}" + # Create a symlink + ln -sfh ${HASH} ${BASEDIR}/${FPATH} + ;; + esac + done + + # Perform a second pass, adding file flags. + tr '|' ' ' < $1 | + while read FPATH TYPE OWNER GROUP PERM FLAGS HASH LINK; do + if [ ${TYPE} = "f" ] && + ! [ ${FLAGS} = "0" ]; then + chflags ${FLAGS} ${BASEDIR}/${FPATH} + fi + done +} + +# Remove files which we want to delete +install_delete () { + # Generate list of new files + cut -f 1 -d '|' < $2 | + sort > newfiles + + # Generate subindex of old files we want to nuke + sort -k 1,1 -t '|' $1 | + join -t '|' -v 1 - newfiles | + sort -r -k 1,1 -t '|' | + cut -f 1,2 -d '|' | + tr '|' ' ' > killfiles + + # Remove the offending bits + while read FPATH TYPE; do + case ${TYPE} in + d) + rmdir ${BASEDIR}/${FPATH} + ;; + f) + if [ -f "${BASEDIR}/${FPATH}" ]; then + rm "${BASEDIR}/${FPATH}" + fi + ;; + L) + if [ -L "${BASEDIR}/${FPATH}" ]; then + rm "${BASEDIR}/${FPATH}" + fi + ;; + esac + done < killfiles + + # Clean up + rm newfiles killfiles +} + +# Install new files, delete old files, and update generated files +install_files () { + # If we haven't already dealt with the kernel, deal with it. + if ! [ -f $1/kerneldone ]; then + grep -E '^/boot/' $1/INDEX-OLD > INDEX-OLD + grep -E '^/boot/' $1/INDEX-NEW > INDEX-NEW + + # Backup current kernel before installing a new one + backup_kernel || return 1 + + # Install new files + install_from_index INDEX-NEW || return 1 + + # Remove files which need to be deleted + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Update linker.hints if necessary + if [ -s INDEX-OLD -o -s INDEX-NEW ]; then + kldxref -R ${BASEDIR}/boot/ 2>/dev/null + fi + + # We've finished updating the kernel. + touch $1/kerneldone + + # Do we need to ask for a reboot now? + if [ -f $1/kernelfirst ] && + [ -s INDEX-OLD -o -s INDEX-NEW ]; then + cat <<-EOF + +Kernel updates have been installed. Please reboot and run +'`basename $0` [options] install' again to finish installing updates. + EOF + exit 0 + fi + fi + + # If we haven't already dealt with the world, deal with it. + if ! [ -f $1/worlddone ]; then + # Create any necessary directories first + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '^[^|]+\|d\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + + # Install new runtime linker + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -E '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + + # Install new shared libraries next + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + + # Deal with everything else + grep -vE '^/boot/' $1/INDEX-OLD | + grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | + grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | + grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Restart host sshd if running (PR263489). Note that this does + # not affect child sshd processes handling existing sessions. + if [ "$BASEDIR" = / ] && \ + service sshd status >/dev/null 2>/dev/null; then + echo + echo "Restarting sshd after upgrade" + service sshd restart + fi + + # Rehash certs if we actually have certctl installed. + if which certctl>/dev/null; then + env DESTDIR=${BASEDIR} certctl rehash + fi + + # Rebuild generated pwd files and /etc/login.conf.db. + pwd_mkdb -d ${BASEDIR}/etc -p ${BASEDIR}/etc/master.passwd + cap_mkdb ${BASEDIR}/etc/login.conf + + # Rebuild man page databases, if necessary. + for D in /usr/share/man /usr/share/openssl/man; do + if [ ! -d ${BASEDIR}/$D ]; then + continue + fi + if [ -f ${BASEDIR}/$D/mandoc.db ] && \ + [ -z "$(find ${BASEDIR}/$D -type f -newer ${BASEDIR}/$D/mandoc.db)" ]; then + continue; + fi + makewhatis ${BASEDIR}/$D + done + + # We've finished installing the world and deleting old files + # which are not shared libraries. + touch $1/worlddone + + # Do we need to ask the user to portupgrade now? + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort > newfiles + if grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort | + join -v 1 - newfiles | + grep -q .; then + cat <<-EOF + +Completing this upgrade requires removing old shared object files. +Please rebuild all installed 3rd party software (e.g., programs +installed from the ports tree) and then run +'`basename $0` [options] install' again to finish installing updates. + EOF + rm newfiles + exit 0 + fi + rm newfiles + fi + + # Remove old shared libraries + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | + grep -vE '^[^|]+\|d\|' | + grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove old directories + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '^[^|]+\|d\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '^[^|]+\|d\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove temporary files + rm INDEX-OLD INDEX-NEW +} + +# Rearrange bits to allow the installed updates to be rolled back +install_setup_rollback () { + # Remove the "reboot after installing kernel", "kernel updated", and + # "finished installing the world" flags if present -- they are + # irrelevant when rolling back updates. + if [ -f ${BDHASH}-install/kernelfirst ]; then + rm ${BDHASH}-install/kernelfirst + rm ${BDHASH}-install/kerneldone + fi + if [ -f ${BDHASH}-install/worlddone ]; then + rm ${BDHASH}-install/worlddone + fi + + if [ -L ${BDHASH}-rollback ]; then + mv ${BDHASH}-rollback ${BDHASH}-install/rollback + fi + + mv ${BDHASH}-install ${BDHASH}-rollback +} + +# Actually install updates +install_run () { + echo -n "Installing updates..." + + # Make sure we have all the files we should have + install_verify ${BDHASH}-install/INDEX-OLD \ + ${BDHASH}-install/INDEX-NEW || return 1 + + # Remove system immutable flag from files + install_unschg ${BDHASH}-install/INDEX-OLD \ + ${BDHASH}-install/INDEX-NEW || return 1 + + # Install new files, delete old files, and update linker.hints + install_files ${BDHASH}-install || return 1 + + # Rearrange bits to allow the installed updates to be rolled back + install_setup_rollback + + echo " done." +} + +# Rearrange bits to allow the previous set of updates to be rolled back next. +rollback_setup_rollback () { + if [ -L ${BDHASH}-rollback/rollback ]; then + mv ${BDHASH}-rollback/rollback rollback-tmp + rm -r ${BDHASH}-rollback/ + rm ${BDHASH}-rollback + mv rollback-tmp ${BDHASH}-rollback + else + rm -r ${BDHASH}-rollback/ + rm ${BDHASH}-rollback + fi +} + +# Install old files, delete new files, and update linker.hints +rollback_files () { + # Create directories first. They may be needed by files we will + # install in subsequent steps (PR273950). + awk -F \| '{if ($2 == "d") print }' $1/INDEX-OLD > INDEX-OLD + install_from_index INDEX-OLD || return 1 + + # Install old shared library files which don't have the same path as + # a new shared library file. + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '/lib/.*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort > INDEX-NEW.libs.flist + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '/lib/.*\.so\.[0-9]+\|' | + sort -k 1,1 -t '|' - | + join -t '|' -v 1 - INDEX-NEW.libs.flist > INDEX-OLD + install_from_index INDEX-OLD || return 1 + + # Deal with files which are neither kernel nor shared library + grep -vE '^/boot/' $1/INDEX-OLD | + grep -vE '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-OLD || return 1 + install_delete INDEX-NEW INDEX-OLD || return 1 + + # Install any old shared library files which we didn't install above. + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '/lib/.*\.so\.[0-9]+\|' | + sort -k 1,1 -t '|' - | + join -t '|' - INDEX-NEW.libs.flist > INDEX-OLD + install_from_index INDEX-OLD || return 1 + + # Delete unneeded shared library files + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD + grep -vE '^/boot/' $1/INDEX-NEW | + grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW + install_delete INDEX-NEW INDEX-OLD || return 1 + + # Deal with kernel files + grep -E '^/boot/' $1/INDEX-OLD > INDEX-OLD + grep -E '^/boot/' $1/INDEX-NEW > INDEX-NEW + install_from_index INDEX-OLD || return 1 + install_delete INDEX-NEW INDEX-OLD || return 1 + if [ -s INDEX-OLD -o -s INDEX-NEW ]; then + kldxref -R /boot/ 2>/dev/null + fi + + # Remove temporary files + rm INDEX-OLD INDEX-NEW INDEX-NEW.libs.flist +} + +# Actually rollback updates +rollback_run () { + echo -n "Uninstalling updates..." + + # If there are updates waiting to be installed, remove them; we + # want the user to re-run 'fetch' after rolling back updates. + if [ -L ${BDHASH}-install ]; then + rm -r ${BDHASH}-install/ + rm ${BDHASH}-install + fi + + # Make sure we have all the files we should have + install_verify ${BDHASH}-rollback/INDEX-NEW \ + ${BDHASH}-rollback/INDEX-OLD || return 1 + + # Remove system immutable flag from files + install_unschg ${BDHASH}-rollback/INDEX-NEW \ + ${BDHASH}-rollback/INDEX-OLD || return 1 + + # Install old files, delete new files, and update linker.hints + rollback_files ${BDHASH}-rollback || return 1 + + # Remove the rollback directory and the symlink pointing to it; and + # rearrange bits to allow the previous set of updates to be rolled + # back next. + rollback_setup_rollback + + echo " done." +} + +# Compare INDEX-ALL and INDEX-PRESENT and print warnings about differences. +IDS_compare () { + # Get all the lines which mismatch in something other than file + # flags. We ignore file flags because sysinstall doesn't seem to + # set them when it installs FreeBSD; warning about these adds a + # very large amount of noise. + cut -f 1-5,7-8 -d '|' $1 > $1.noflags + sort -k 1,1 -t '|' $1.noflags > $1.sorted + cut -f 1-5,7-8 -d '|' $2 | + comm -13 $1.noflags - | + fgrep -v '|-|||||' | + sort -k 1,1 -t '|' | + join -t '|' $1.sorted - > INDEX-NOTMATCHING + + # Ignore files which match IDSIGNOREPATHS. + for X in ${IDSIGNOREPATHS}; do + grep -E "^${X}" INDEX-NOTMATCHING + done | + sort -u | + comm -13 - INDEX-NOTMATCHING > INDEX-NOTMATCHING.tmp + mv INDEX-NOTMATCHING.tmp INDEX-NOTMATCHING + + # Go through the lines and print warnings. + local IFS='|' + while read FPATH TYPE OWNER GROUP PERM HASH LINK P_TYPE P_OWNER P_GROUP P_PERM P_HASH P_LINK; do + # Warn about different object types. + if ! [ "${TYPE}" = "${P_TYPE}" ]; then + echo -n "${FPATH} is a " + case "${P_TYPE}" in + f) echo -n "regular file, " + ;; + d) echo -n "directory, " + ;; + L) echo -n "symlink, " + ;; + esac + echo -n "but should be a " + case "${TYPE}" in + f) echo -n "regular file." + ;; + d) echo -n "directory." + ;; + L) echo -n "symlink." + ;; + esac + echo + + # Skip other tests, since they don't make sense if + # we're comparing different object types. + continue + fi + + # Warn about different owners. + if ! [ "${OWNER}" = "${P_OWNER}" ]; then + echo -n "${FPATH} is owned by user id ${P_OWNER}, " + echo "but should be owned by user id ${OWNER}." + fi + + # Warn about different groups. + if ! [ "${GROUP}" = "${P_GROUP}" ]; then + echo -n "${FPATH} is owned by group id ${P_GROUP}, " + echo "but should be owned by group id ${GROUP}." + fi + + # Warn about different permissions. We do not warn about + # different permissions on symlinks, since some archivers + # don't extract symlink permissions correctly and they are + # ignored anyway. + if ! [ "${PERM}" = "${P_PERM}" ] && + ! [ "${TYPE}" = "L" ]; then + echo -n "${FPATH} has ${P_PERM} permissions, " + echo "but should have ${PERM} permissions." + fi + + # Warn about different file hashes / symlink destinations. + if ! [ "${HASH}" = "${P_HASH}" ]; then + if [ "${TYPE}" = "L" ]; then + echo -n "${FPATH} is a symlink to ${P_HASH}, " + echo "but should be a symlink to ${HASH}." + fi + if [ "${TYPE}" = "f" ]; then + echo -n "${FPATH} has SHA256 hash ${P_HASH}, " + echo "but should have SHA256 hash ${HASH}." + fi + fi + + # We don't warn about different hard links, since some + # some archivers break hard links, and as long as the + # underlying data is correct they really don't matter. + done < INDEX-NOTMATCHING + + # Clean up + rm $1 $1.noflags $1.sorted $2 INDEX-NOTMATCHING +} + +# Do the work involved in comparing the system to a "known good" index +IDS_run () { + workdir_init || return 1 + + # Prepare the mirror list. + fetch_pick_server_init && fetch_pick_server + + # Try to fetch the public key until we run out of servers. + while ! fetch_key; do + fetch_pick_server || return 1 + done + + # Try to fetch the metadata index signature ("tag") until we run + # out of available servers; and sanity check the downloaded tag. + while ! fetch_tag; do + fetch_pick_server || return 1 + done + fetch_tagsanity || return 1 + + # Fetch INDEX-OLD and INDEX-ALL. + fetch_metadata INDEX-OLD INDEX-ALL || return 1 + + # Generate filtered INDEX-OLD and INDEX-ALL files containing only + # the components we want and without anything marked as "Ignore". + fetch_filter_metadata INDEX-OLD || return 1 + fetch_filter_metadata INDEX-ALL || return 1 + + # Merge the INDEX-OLD and INDEX-ALL files into INDEX-ALL. + sort INDEX-OLD INDEX-ALL > INDEX-ALL.tmp + mv INDEX-ALL.tmp INDEX-ALL + rm INDEX-OLD + + # Translate /boot/${KERNCONF} to ${KERNELDIR} + fetch_filter_kernel_names INDEX-ALL ${KERNCONF} + + # Inspect the system and generate an INDEX-PRESENT file. + fetch_inspect_system INDEX-ALL INDEX-PRESENT /dev/null || return 1 + + # Compare INDEX-ALL and INDEX-PRESENT and print warnings about any + # differences. + IDS_compare INDEX-ALL INDEX-PRESENT +} + +#### Main functions -- call parameter-handling and core functions + +# Using the command line, configuration file, and defaults, +# set all the parameters which are needed later. +get_params () { + init_params + parse_cmdline $@ + parse_conffile + default_params +} + +# Fetch command. Make sure that we're being called +# interactively, then run fetch_check_params and fetch_run +cmd_fetch () { + finalize_components_config ${COMPONENTS} + if [ ! -t 0 -a $NOTTYOK -eq 0 ]; then + echo -n "`basename $0` fetch should not " + echo "be run non-interactively." + echo "Run `basename $0` cron instead." + exit 1 + fi + fetch_check_params + fetch_run || exit 1 + ISFETCHED=1 +} + +# Cron command. Make sure the parameters are sensible; wait +# rand(3600) seconds; then fetch updates. While fetching updates, +# send output to a temporary file; only print that file if the +# fetching failed. +cmd_cron () { + fetch_check_params + sleep `jot -r 1 0 3600` + + TMPFILE=`mktemp /tmp/freebsd-update.XXXXXX` || exit 1 + finalize_components_config ${COMPONENTS} >> ${TMPFILE} + if ! fetch_run >> ${TMPFILE} || + ! grep -q "No updates needed" ${TMPFILE} || + [ ${VERBOSELEVEL} = "debug" ]; then + mail -s "`hostname` security updates" ${MAILTO} < ${TMPFILE} + fi + ISFETCHED=1 + + rm ${TMPFILE} +} + +# Fetch files for upgrading to a new release. +cmd_upgrade () { + finalize_components_config ${COMPONENTS} + upgrade_check_params + upgrade_run || exit 1 +} + +# Check if there are fetched updates ready to install. +# Chdir into the working directory. +cmd_updatesready () { + finalize_components_config ${COMPONENTS} + # Check if working directory exists (if not, no updates pending) + if ! [ -e "${WORKDIR}" ]; then + echo "No updates are available to install." + exit 2 + fi + + # Change into working directory (fail if no permission/directory etc.) + cd ${WORKDIR} || exit 1 + + # Construct a unique name from ${BASEDIR} + BDHASH=`echo ${BASEDIR} | sha256 -q` + + # Check that we have updates ready to install + if ! [ -L ${BDHASH}-install ]; then + echo "No updates are available to install." + exit 2 + fi + + echo "There are updates available to install." + echo "Run '`basename $0` [options] install' to proceed." +} + +# Install downloaded updates. +cmd_install () { + finalize_components_config ${COMPONENTS} + install_check_params + install_create_be + install_run || exit 1 +} + +# Rollback most recently installed updates. +cmd_rollback () { + finalize_components_config ${COMPONENTS} + rollback_check_params + rollback_run || exit 1 +} + +# Compare system against a "known good" index. +cmd_IDS () { + finalize_components_config ${COMPONENTS} + IDS_check_params + IDS_run || exit 1 +} + +# Output configuration. +cmd_showconfig () { + finalize_components_config ${COMPONENTS} + for X in ${CONFIGOPTIONS}; do + echo $X=$(eval echo \$${X}) + done +} + +#### Entry point + +# Make sure we find utilities from the base system +export PATH=/sbin:/bin:/usr/sbin:/usr/bin:${PATH} + +# Set a pager if the user doesn't +if [ -z "$PAGER" ]; then + PAGER=/usr/bin/less +fi + +# Set LC_ALL in order to avoid problems with character ranges like [A-Z]. +export LC_ALL=C + +# Clear environment variables that may affect operation of tools that we use. +unset GREP_OPTIONS + +get_params $@ +for COMMAND in ${COMMANDS}; do + cmd_${COMMAND} +done diff --git a/conf/system/freebsd-update/14.1/freebsd-update.conf b/conf/system/freebsd-update/14.1/freebsd-update.conf new file mode 100644 index 0000000..08cf512 --- /dev/null +++ b/conf/system/freebsd-update/14.1/freebsd-update.conf @@ -0,0 +1,78 @@ + +# Trusted keyprint. Changing this is a Bad Idea unless you've received +# a PGP-signed email from telling you to +# change it and explaining why. +KeyPrint 800651ef4b4c71c27e60786d7b487188970f4b4169cc055784e21eb71d410cc5 + +# Server or server pool from which to fetch updates. You can change +# this to point at a specific server if you want, but in most cases +# using a "nearby" server won't provide a measurable improvement in +# performance. +ServerName update.FreeBSD.org + +# Components of the base system which should be kept updated. +Components src world kernel + +# Example for updating the userland and the kernel source code only: +# Components src/base src/sys world + +# Paths which start with anything matching an entry in an IgnorePaths +# statement will be ignored. +IgnorePaths + +# Paths which start with anything matching an entry in an IDSIgnorePaths +# statement will be ignored by "freebsd-update IDS". +IDSIgnorePaths /usr/share/man/cat +IDSIgnorePaths /usr/share/man/whatis +IDSIgnorePaths /var/db/locate.database +IDSIgnorePaths /var/log + +# Paths which start with anything matching an entry in an UpdateIfUnmodified +# statement will only be updated if the contents of the file have not been +# modified by the user (unless changes are merged; see below). +UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile + +# When upgrading to a new FreeBSD release, files which match MergeChanges +# will have any local changes merged into the version from the new release. +MergeChanges /etc/ /boot/device.hints + +### Default configuration options: + +# Directory in which to store downloaded updates and temporary +# files used by FreeBSD Update. +# WorkDir /var/db/freebsd-update + +# Destination to send output of "freebsd-update cron" if an error +# occurs or updates have been downloaded. +# MailTo root + +# Is FreeBSD Update allowed to create new files? +# AllowAdd yes + +# Is FreeBSD Update allowed to delete files? +# AllowDelete yes + +# If the user has modified file ownership, permissions, or flags, should +# FreeBSD Update retain this modified metadata when installing a new version +# of that file? +# KeepModifiedMetadata yes + +# When upgrading between releases, should the list of Components be +# read strictly (StrictComponents yes) or merely as a list of components +# which *might* be installed of which FreeBSD Update should figure out +# which actually are installed and upgrade those (StrictComponents no)? +# StrictComponents no + +# When installing a new kernel perform a backup of the old one first +# so it is possible to boot the old kernel in case of problems. +# BackupKernel yes + +# If BackupKernel is enabled, the backup kernel is saved to this +# directory. +# BackupKernelDir /boot/kernel.old + +# When backing up a kernel also back up debug symbol files? +# BackupKernelSymbolFiles no + +# Create a new boot environment when installing patches +# CreateBootEnv yes diff --git a/conf/system/include/14.0/ar b/conf/system/include/14.0/ar new file mode 100755 index 0000000000000000000000000000000000000000..f664b7d884920711912156d1de56a190b86c6c1a GIT binary patch literal 51000 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 literal 0 HcmV?d00001 diff --git a/conf/system/include/14.0/diff3 b/conf/system/include/14.0/diff3 new file mode 100755 index 0000000000000000000000000000000000000000..8a91658eac214216bfe84cedfeb025cfaf0791ab GIT binary patch literal 29264 zcmdsg3w%_?_5a;GAVgrJg2Y$3YJx;aNE9?71hbIfy>J7OhvI`mNH!#rm%Dd)HAr-` zmfP!E`m477ey#mcTPwexwoQL6h!1oFm;~!1;*0tMt&ba5YpenRAN&8Fxig!amDv7Y zpa0|P?wNDu%*>fHXU?3NJ6X1rYx9y^u2B+ylBL;_3u(E?CX{mewwrhYpj0Z9PQ&*^ z={wR0;3Z9xP7%<&-UAf!a6RDfQjYO*4X@MKOG7qyhHgvu<4>4se{^+ zy*6DA4TalyIRS+}7r&?1kSPDGoV*&Tl9&7SMRq%h@N=6i2`F@bHOi5k|Gf{Dr%!~B zdm>bLg#wE9rZv>B_HOW2Piv^j^)}Sz`J3|!h?V+JJk+0gKCgGqk}~NpZ=V^bQ=XtB z8K+b8PCDhC>KO;(8K=lNcNlv1F!W16zwi|GklD$npjUu)`YGruK|7T^^~2Bu!_?C{ z41aJK{_rsTcMn7V`7rhTY8d|i9ESdfVd%Suq3;=n{@gJ17ePOjp5GXT|J`Be(P8MH z4MR_c!JcXyM-4+ieHi+LVdxWwp8;1VuF!Yy(p}#f^{q14s?+-%< z8TNCo)O!ySc*Occ0mSLj*;0I+W4ZK|#Q$@}Q-b1z$?@Ejcxo_zFgFR_-lhvU$d!au zfaG&Y$x;*vzVu5SlQ)edIgWDLPKGB-UvqpH!&9V@d`%*$sh%r1JckHaW+JGPXuo;$ zS8MlFuKNY~Zu;P8SJ4vau-~ zr?vv`n<5`|7Cz_Ub2dKo&{})}OW9u-ROw6yPDxtt$ri;k0f|W*ISp_s zKKUFc`=D`-Ki;Nw^}gmNY30fmU-O!#sz$F=rF%Ej>(a{lrh0v)-r$#PbY=C1s+G0% zO;ru`o4nG>`Ri6L_O7Y->t5g7hAO|`>qi}ay{dZc%IdncE7t_7d^M8at2Z=PS2cL0 zHD0~BMPJ#_+_XkQqRO{MYVp-K>9wp>O>;nRq15`-fm*4yx}n+cCARve8mZCSSlzNw z^6S3p#umw64dlTp(KDql7=ns++rbHjWG0T3(QZQ_e=@HpKY{)*uctDB{xWxx z+Y;zMqX~-Vo&@?9nUSUK3G_2KeMbU4!1dXYK%d0*vpa!4hszU5ps(ff^d!*t3B4uI zALZkID1m+!ujfbt{c)}zD}i3k$Gty+zMUL5o`D4VUwQo!-ye!`5%Q-c(9h=flaWCG zh|AM)yWNhcN9;Qj*K<*S#!rXx3p_J{-bafS9yx(Ng6pk^w@Yh53gfiDdL49HE5vii zL8mg}IpUx@{lDd)lm8b_zk}{vg9aRQF1lUh`!*N>Al7lBD7;^^7CG0FN(Wu6dBnfm zK~E+Ee^xo@PCe8)=uSPfIOx>2cs4lbVk{}I%|Um@4qF{`TJy!T%|WLaMLhR7=oC+g zXS;(g;x5YD;h;PB9UTt3Gk)IfpgY(0h=WdXfOvWwbnXIJR-bTRSvp{VJWZ9 zK^O5a(OVpJis{6&!9k}OTs&xh&F}irRIp`u@q`Z3^bZ5-I-9e}LSv)%& z^veVhu){%j#`(J)bP=ahv513yxuc%?rt0R#mMXn|b%R%?AhEg0FJ(8>OvR@k9U}4? znffT}8(X}f$cW{uy?*~nyW{?u=({XkwQw2Z3h4C+>Jdmb)gVTfDfABLQf|F0ds+}L z*T}2ZU(5twb@RnCRNV+hzpOXQ-Wu6o?W=FmAs>r_7dFdH-t|m@Rk}nJP`Qfo#d8(U!lj-$ zs-`ZzP6lb7x^!Xrk|pxIMT=#RT7m zipd$TK5nf|%}uAA)exuISHG#bDVHXVzoZ~PA6xf-Jf&M`gIz;&kk3}=vdUZExNgH` zo^oyG(&ZAjQYdJsr~0N#5-y7L%v=~$MP}=8BN*VuD!rJx&wPvRm0&(_o>e;b#Ug__ zok8yEW}nYnt;-GAZ_;ow&w#={zqBg%V%gu~t*)=FM@Ptl8k?CTu4ELT*mh2>VQ=H5EcLTobAtnZE)+Bky-oQ7dJlyVzsim-Hil=wnPQwS|%+%c$V7qiV?wB^Y) z-rA}_gD&TKa`F%gwQTg&uc_1J$#Zk$OY`%m%k*+kUcy%kc^<7vY$8mR)uw7Tz_N5{ zULj79(r;t~INN@{Z7>~!Fc=J>!_M_tTI_AXshhkyu!hAMvyjML(-g>MkxD62dCk5x zvtg5(ta;{?Yt(tBqY{qNx^5>OJ!hJr6U{uS)qa?uSR#B?@s(y3mS8E@Lp6$(CazIh zT6jP<#NOkJFP2+62wb0j^C^uvZg8w-K8#XsdAu=BiZ>WvKmI|h-!d^A`esH?ILXnB zN$R736>&H=V=^{g|G#{Gh0W;yNMAloDED##?yQpz<(+t9T1&`(?px{-WlIyvypd3* zDgl2x0T=Z+;cPy(1w%ICj?L5m#w4Bj(D@FX2|YhYlJ%8ZUg)X@K1oF%W<{>r~#&=NYah-@SX*5)>V)X@Nq?w?gDI8kp{d2 z@D0F+00#gY=A#W9aE)Gob^yg0k89In$+aQFb?)eqY4om@_WCrOg%hAZIxz8!&A2^j z?wApk!I5{22&dke^26lh2a~|<89f3AQ8HLGd?sTv4V4V?Ums_Ypi-#?pEB?iJ9&_% zygTrzL*50a$lC#0EArUcgpg%UFq!1skIy#b%|U8aKs(9)_&pQMd-Yy z4Ln(;lJrw5Ec&GclaoS2>m~g>1m1hVJ4C;r%lPyl?{Va1Asw&Bp?ewRkHFJYD%p3w zL|Y36+aaC|*yMijurnsXvtlUEbnx{4gL;;eZG&eG>Ws^iG+2=gaw~W;J+NITk8fyO z+rcv(JTxcc^(-06vmZS9-@-$Bw!kwLJnSq<^lNS~<<8_)sH~jXFf~EE<6sx1;7xJ? z5xfh<_$7TPS|{5m1#i|INqP(EIIqK&lJ*F0`+aB&_+J8lz*)D0KY5C<4yw=|&tIdA zTn2k0f{^Dbl0E4GQ9I4mXTY}`d?TEE9&i9B`}qj@JCM)Lfki!_%lM?Fz`l_8Fw*fh zxQ!Eu^fDDZ3jEHGh#<<(ADm}Nx7lqG?{e@y4&EO)d6T?c+?6&X- zDB&^xz5*}bC$>?Qis4dX5%;djSn%XD{nOCFK)(_!$*w?_o~{_jt<&Jhqpg~;xmPh( z^k`=88OYO$bI%0uU#pqf=}1IRcTa4m>LfMzRAxodd;StOsonP(uNu!4MBMj1MwyS$ zS8!mYZ&bm7-6N59-{%Q#PRkA)s4zE6#%rF~vJBN28GY2cA8tx9slCm;#$nAkrWq$K z871NfT|_autvkS2TU(na+8?5yN_6FVjoJzQ3EztGqG}xT7%?SWLbx>zg|%?@j;~`e zEu8yHfQp>=)XuMxb!hD?ml}LoicUc7j{4Q${xmiAtUf_CQ?iucK$7p{G9v~772~y7 zZ}f=uz;ssUmsn>|=T`ut>sh&C-!|62YnCYC^Z))8 zNj)P9pys@#c7B~4m~eyVyDR!;K!RGK4>k6j-Z$SY`)q&-+YcE(ddBfkeM?AB^RduL z`e?;0F>Zir%1{X!$%gzx`mdPDN?36z!4pZov{#U7oQ?BwjOuM@P79Yj_--uL9a@gDML{X*?n>Q^ zaxS5tGUK>nyrqQ4&wmT*G~O;Rh*%p?PYJPakz#bV~&Bx>+vlKY3rqzW_jX+$KXgzBebdkvPW812tig17HVe08NhD9YzE z^j`_>%VO!fSUMAFRCFt^$VmPDb&}MV1Zs(k$@~Dm6?4XNaATa_`%5eaE!>9J2Ee}e zCJKjVtUSbsjf^94b5;~^m zx6PIU@2TeH=Dg8iC1xxf9g5uIrcou+GRAgE>CxUN)1gUgG)hMILym#NOpezvOc*Ww zH3DN+z0IV06|0qM&W>KDnCJgWp}rJDJIgwF{=aBgd*-xHxTGcWi?4kae1#hMA8&Qlw0?cfjTB+nR{1B-u04HZhYxE{!)49 zJ@?(I7XU9a`i{R)cEO3XF{c4@?@CPt7}c{i^(*M!1Lv~kZ1=7)p8+Y8PXxvU_b?09 zb3&0oHhR1B6?E*FHTzuBY{~b~6JYtk3Mg?gkE{iddydTk>tAf(0qzSjN9wDgYbSmb(RJ&r%`ZKhwVL+^(ppaso3*nc8R77KB9Jbm(#fmf06Fioz zm?0`O-<;JCjtNw#ie(2TQ3o+9){oACqQWvP_mdV> z^Su3_G=QR-v-WG@J$0bM578?3;n`4t(S>~K6Y8?Qve|h4)5ur4Lx(^mZ74>0n`Q*I zYR0F^s7`k~=}!rVDH~>Rgg|)AotP)UD$z=GuIGu7RL%?$T4v-U#n?=iuNY~Hi7L&& zR>kPlMt!Q7;oiZ@-0dGhPws0Y?ws;%_-v<`Vq66#^;wFkWE4cy;)NORe~&~*u>c^N zR1iTeX4$iCs#%$-8D-CIqp$6%*;1+)I>_CnrPL3jD|pPMn5{?Klu%6no)%6y+D7_u zSy4qZwWHhAU}vdn6e&jQ(QTT!sI&rtc3;KHD(03r&hcUu88p%Ev36sDBw}4KmgiUG zysyT(0%vl|LE%CwTo8%oK0&TSL$vs87FpK4c9FS-ar#csHFIsIW`0ku$oWJl#_&|C zv2JITrM${)UNmNHVpVe6^pwWwtB25+Yv#@Q+LW6oCy1yd)OXyvWJozBF5($O=&O|A z9vW>d?h#ahJ`)xlhXl=S#VjqwD7o8zg-p%dKn6o}&0LjPk@KY*+poW@P1!?QR69Q) z?`Io=vPyHEz)U1>j{#J8b(&c>SuoFr2IvR?Nf{1 zaJO$_USs-UT1a11&2ivi;f+!}?vOil8us?8+4`nrU5Fz9*ila(9cQ37WJQC$A?*MD z-jqOeyEjWO;k~&8B+a~=)TtSWKO=QeJ#$c|J!LzOBzqnsdsK7wb-0XBKgO-R0L=Gh zP@m8DJV~p22WCDy5i$BnHBy{kW~7LUtneP%w~7}fp=2}EnB5uOYwm~Yf_ z`XPEg>&VVD0L8eM3?@2SHNJ!sbhlrPp{_8el1XHxDaJl6CkiWYx6=l4FE2P2y_j3vd^4qgfl+o;T41Jp&aG^| zk@6{~k5=@VUWiT}mB_@NUto>{1FL<0@wk3>i2gJ#Udyb0>ygQ9XrAi(Au{0Os68gJ z7$%cxUNc!IRdZ<;+$mE7VwFxMnW+GJd$HgcTnA~ux!*Edv*7j*(V~#7nIqw_^DA=t zD~dYZ;g?xMn-suP4}M*SGUYm~j2>B;;=y9G&mFprhBUShbunW!Hxyz8Eaj6MNti@< z6-313US3}Cu2%F{cY7P^Twu=n!1Dym82ZH^`&l!#e$DAepmTToN}EQd=bPh>EGS<3 z9<~-LsMZ36t#B`x*}v;6wArZnZiy=F%O^^>M1CHep3~7nxTND*q`gR6GKx}Ml?m#P z5nx(}Gl*kn3(8X@l!1Ksw5?=b?uSELLC%)?v9pm%K?of_M*3i3oMIwA8ei0lAO~YE zJux0%2&tz{gb2F_*|cyA_~P|4bia4W`Sxvg8-#YHOjK;Gy`USAn*}f0yV34zMnGKm}c%N1QC%8IW!Dw zK0tJ0oXl|5c#~XO9bB!u{Sz>Fa2yjHNO6bg57ydB?x9nkz#HUj(o|E+%4jPIvV)-Z zbQr8++&vj(3SQR??1N^E!VG~1Xc{TT)3D6{kVHuOL?XND;2b0Ncdv_LZ*drA#nR0-7*k|oRNCrse@AD!rC0R=?BFp^VDXSf}g4(37IYzXWjjw^}jF8aM-YTiXPII?oL z{|&VU2VlGpgVI*AhE8kT?f(gcFEt_34{0x>n>9{i*vfk2&(veK{z467AUG|uWTX&< zjXxKKsdoJfOlh_yScfl!@9O*@Ws#}RN?TywI16F1?fsK)Ov$K7)>G2hW>cu=kI&fZ z`6+eXl7cl!aNQhw+lrNT2_eHy1Pk0QM&JQc@!Po=5d zU9frVLrD>62NK>(rX9T$3Vow;zPYqN?FpKm8crYWn9h3p0t#-*)6^;D@aSD?QI|V> zI#YYu8-)wa*8Vh4+m(5NC!Wk>_3fnTU_FjPyl$cQ=+Ci^W+L{m2j~bSLC^hQ)Ql(u zoJ9gcV>F~nxDvq-4l56%7ti+4;Dl*bqre;#XtTYIK9|W=T#o(tkJ0#Gx5~_&)I(3( z`>r8|yc&%{ED}*M{$jl^BS0}Xr&XAZ(vT5-8;T=_r@%n+Q`_b3Sn~z2FY*L>fAN3S!z$ zY;UOkt43_<) zEBZ4CH49?fLRBCyie-1kb^DoqOMov3kDjgsJ1N*f(8-*)QtaBCJ!Bv=x##*4%cSVl zO(!8qH|nN|KrTzdgUn1)-AqiiFR63ZH^$`<>VSQchOr4kyV!*GD>;YM*i&lJQ=2cP zk~BV+JwCgJ^zK1h0BVB_ikgkyHAK`#n7Q!8@U`<%fIE{wZrouq58b!p1QZjVam_xa zjC@Dm?nI7S^j6?3dy;jK9oy#G=VePEGhNm73eMtfmgT4fhcbPKS$68Vbf9h`@=bLi zrJ4DIi)|h3d2s#fs~ka`sjuM_np9!WIP49Wd5@_u*J0Jej9GzD&tr}VD_`L3&wsIb zN0`ow!k&Vy<&m!PPIe9z&WAce2i$i>cnEM2TO)5r3titjrWRJirFN{biNPq82f_*$?mY1=27)CN_Bgf&gn$>f_1UNY#0GY&^jUm z#za0Sd^OH^$^VSp8;cot(}=$Kr@S(O2#t zQe>y)^dVHCh*-keQV+Z=+^3^HVL;^8SujJ#e}A@)vJ+Z+?(oxBv+MJTUwHgE=rZItP%yZM zM$TnN3hq!X5CnT8p98SBT4u`DKDK1WBex9ViAQc}HpU}2;>0_ZL8FXj^OGf1M@B%Q zoMKSi$S{~#`@h13_$)RNT%_opA<>6^DT_QV0~ZbL!)+y>&Vf?(-_fjHjw-v^0>u;^ zPMre;Ngj@U6N<(>K$WW(X-;M(=tTe4%Z6y+Q2706l^Z>PN2Zm^w)Q_Qjg3fkL zc7n}A%2Wy|Q`1`KEey|^Oz%(BZg^^vHcb8i%{)tTJWFyMAvxY2l%tJKlFh3SV2s3$ zQ7zivdSJ++{o5y)hq4O6Cl+J0o{4&?buKAt{}v&L`CEnfBJ&$U@R88r=1KWWXo<8> zbfALAz|Y5$&ed?znWnkeL0Uy9wlTd=hdT`pr0cWIxoPz7XhE9&?#O;EX`JTXB}K7p z9k%X6MTpq~2i*_P&Dc@u4qc6L-y!SWeRS_c4PO;Qg{slLWmlg}F(KZ`R2W~m?|cbJ zMR;>8dM3Rw#|tUd7+bbg_5{C7*I#osir`f=inl;APKnU!RJ6)`Vk~fuX!sC@-Saq& z+78(r8jsdJ_KPnMd-JvBr=B*{J;GBwZ}Jwi%=iFrldW+Rz=b9Q;l9-dk+@%Pv4eX^PQ z>{P0xkY3gWPP0a$X}oJ1y8>^pN~Xh#tz~xk{m`I{Hc2r44y*?3$bseEgglG>eAhj(41Xg-@3V~);9BscldFul7J(~aJtBU*PdC1> z<{%TRe0cmBq9D9G+D@mE#?$MuFEb&gz=^Tr%%Bd z*kUS1c_cc8B#7UCz=eqjUJ`8A47tL1A9p`Wu?e8nEI1Mco}}Y&%Q_AAZ|tX+IH#A& z_&`d35-u=AM{Yy#jYBf`u9?A@tp7b28>N37zN$AkFv|V?WK>WPN$4-sTI$|~X`IrA z&pe#R_PTd%!kv=69%BG2K(7+M+2z56^}VbbDOu4o63fRr-Mg;F3-3|-=fRV*{z>rU z)WCfAuG7Q5-r(10HH-xV$G75ry?fWe1>xyW;6uLQfmp6)wRVYFtY zMaRYMht3<)l-L1GbcF(s@Xg85^Bwv^58a_0TDoGLqVGk)*u-1j55`t)Ii0ldUf(F> z^ZPQvSe1TmFjlQk3dU-1mV<@G^9Zt~=oDrzo<}edr092qydL(}G&)w`q7A2h7xe~D zpr^k=T?Gdc^rIR_ZT*fmu*+MBxI96>YB&(rFU~olr?U#;_J9}~FL9SK1%E~g{u?Q{ zo@kO#@g>yoF{ljo4*lY-@Gg9O3Uo?*F4SSX3S|dl>Au6Np=V`APZRy&^-EMW>K~>5 zEqXR27;N9rvND+jxHZ#uGTj{_1yLzPt$6LVT|XbGBzj4F0vq@ zP8C&Tlo=I|t2x~j;q@+MH`W|_+_Yu>ehuoIA3l#Z`Ir!gt@Kf3-RuPXu=N$r-3iHu zZ`v>yM>&`tq@Y3hOdV(CuD9q&AYXC4hS(j!m}mDa)Mg!q#jD0sbjbzxXaX-rQ@2qC zX8Ge3^S0jwCySsaAU_H|M2&QowBkv4pli=y2dN?YF(GX65CXSmWmZgS&B{21{J%z7 zr~LD|$djovB^)V){O+w2(ID?bT>p@NGMB&5AwN8uWKB$vzwaIF6%pR6-Piy?TX^FL zKLLQ3k7KUCm?)!^;tE`MxR0`f`wJa69V`#d1mR3@;p1Ac;=YAqj?XRvUwB3jd@x*F z45zHo3y0`ep+j8?_^}AJ6{joV8(jJ%_pW5R{K1wNdv!U4)g`qUi_7!wT?5txs^NbKYkSHYNV}&V5H^-$CLc;pg+C!qvaR^-1~yinx8sj?CdbpThwW0s%=#I`$FZYAaFXGFh)e48?x@uOp7{CkKI zher_{bdP!T5gQAS`2`jt#ZVB4(5u0gOuQ_Wnaaa^?m?wiIRvM(;HM#;r2wJRrFOcU zir|6XD;_}7-1BqdEkbsg$;#o}yB{RnII}L}H5>zDnQ{L%kg-SH3ShFU1~5$Kirf`F z9^)C!_`v#} zcQxaED`wX)KRi9Z!gvpFpxD*753Ora5qp!3CHAmZWa*Do7@tGsBeOA%&^V^>e*1il zLN9tfHrmtHdR`3PpaBGg3?#Q=WKzfGW57u@GmvBMVf_m4ybJjS2d#y6-c}OJ3=z@j zH1>9$Oxv-=LxOK9bC>PKYLnDDAK$m=ZhUVEoPkC7T-Z+(BRu|>45yn|Fg_E(W*oe_wP=plY;P0GEHkU1q%aX zAW|$?n1p?N>DKPx^S4+5V#VdQo!~L-)@D&A1urhOc-LHiPZlQ4pi4ih+9~ zc$Ws7`Qk#dxWm!$_IiX1CE=AW9E7HWsC(KY`o~yJ+~hv486DmfGj16jI=Cgh?L@kM zX7M$XZyBqYXDML>Aja&i>Ct`eT_>yq2zStuNiF>s4PKD0RI=-o(8hD5s#;ITCKqMF*o-_ z&t~&U3opXe3e3S6X26y3pU>;#gI`Zx|AA_p!0yM@joZ0KAQHvv{Db;saHShCI+#V! z&>tW-wg98n7nR|CNq9{86UeDfxm9uX#DLG3_(xcB0}@mJixq+WYDOmtZr}yiA>^6S z2(yUJL*h^e5+z7{0)vQ7N8)TW6`g`aJ|!+h;?Kl$HYG4fQF?Wy!NQ^=IS)vg z`%8`6-8q2{ch2UBh7&SmX$CfxP^WqRe3^t##=!Q&@ykRs%Axmi8tX&KZe+7x?xK;` z!sWeICpL~$pt!t0kPZ()BHXZIpYx<`q3xJkG|8%~{;55?f^-1rZu z$Kf&G$LhiMB5%RTSbZoTk7ucW3Qk9lf6#KK;{H7@uO7GVA$3t@Xzb^ZGjTn%);k!! z#~9-Ak6jKCALM#dywI<|v_338#LoD;&9WfS$1aV!CMXnb>um9bZni6dY8J zf2tKld{NZSLTnBJ46&+2dc2qH5Z+0pM7NIVy%~6StN`(JYjIY_9 z5Ubh2u!J%2{U6i!Xls!p|FXe+cu!neri=I(jMF&J84BAbV^_s4W!E5hvSP51xFvkk z-`x69F9~eC=wY|iVZKvgzGRg!-%1AVwypSH+lsxg;zn3;09L%YL&5PXm|)2H41@~_ znAx}D>{i9=QD(Mg>TN*bkgb0~XbDRUP6L4Pq~K=wg}}dOXTvI0%3<%X{~b;Menmzf zFcmUTE$V{dvZ>Ic?9PPPFky&Z9#O&-5iH|n>_)tm3o2`y=57Wi1@&-n`re7<_1oh& z`g;qggIsU+ZXDF|j`ZRW5nf>EX0-YWT%YBGbg|UlJi5MmOurnLDti&_J}RLCT=Le8 zudNPngdpJfO_*k?yX;jJe{}%Ywik{R-Se=uJ|KO|rQ~$`Qu2DlK~&aSNHxA5IFEO+ zH*hxH5JroR$N*9N2cTH@p-`=Te?R{B8@8X)jC}~vRO99NxKG2l(;#Bp?cu+>l41AS z!+(DZ!x}OC0Sy1f*vh6@FOF69?|`J)9MIyW50dSD zSZ2HpT^>cPFcpb}Vn)GCWw)|>GMeG0(g9QH7&Mh6Oej?NB0GF#x2^+ogclwB0|;>Z zg>lejh6kpSSQ%*iyg#rZyamnDfp3V;%=*aHSyMoA%sIBcW4;DIDrM{WjB3!?9un-jvGoO}J8ec$nd+>fE*2~1-izG$A1Q7jdW&!%N zYznNxEW}%CYcCYXf?!M?#n{VmX!=cPn%;cddDcVVqKlvOx0IY4Zl3G0;=3C$uvCW zT`Trc4)~3|Z25o3y=|{j)U!UN{h*E*WkCE%4e1N#kKyx|oJmH5>0yUvgMY6x5EXx~ zgGrEP;W`KI{p?TMhjs{$g1~VMvJ{(f-^KXO{x!a7y^LiOUPoDdM@aqI|3*0C6sfP5 z;r~K78AxA*;Xfc8qb&7xF#I;cF$_}Qc7|^v9ELCTZDY8PaQGXkuZ`h15k8V|@_MoC z)r4d1lKNILoX#!ku;@yCl?-1@I06)@uax2Q38x9xm(TDygd>8L`ecUBBzz3v84SOa zaGFSc62mVc9Q#hGkG9^i>sy{Kf`Y#96Ce)8NQlu zT1NU-G5mVM;Y`qfhA$@k62eOvKA&*7HT0k1a|nljNB+=kDJ2hwha5XSZM-}=c6#!EYD02t z^oVvx*r=4o8OagTBibX!PtRzcL5`aq`ulo%j(%vHz9P^vuLhp8M|L4DjJmPn86D9f$@82#CyEuG> z!}mEn#^Hz-yN0tkoW$Yf9M0qL8V+kYT*u+<9R7sE-*C8#!!8bA;qZM9k8wDHqG>#5 zaX5*?%Q>9K;WZrAa=4De+d2FRhri))7l&OOzQW=A93JCvgpaq+;Uo?(=Wrf}*KkTCZ=WtZ8L(!4-M=d6&zR`9JU?H#Drnud1xcwduL}xoa-Z&o8R%Pzknw_ticp38H@KL{gNH{gdSW${~wqP99+Z}HEZHf;@lq%W{K55JcP4{2<0Q#HyE&r149#Eqb% zPHGO-Gm)zr>#HGGGb*v0L(;BjwI9{cPicCakcnQcWU9bV!>zS#;(z9w{144l;Wz1z zXXp_y(O-*sZFAYbJ43!yl#lR)fQn$`Q20kdra+Edt0*u0uz<_C115JzZF9F5_sDqtz{=@IQG%0CBrIGm4{7wdq4S**1E+eV@u zPGW%K80w;EU#uGf_Hu;_`9=EzE=F0(6XnG^C7@WRz`~xy@w*;Ws*CzTk64G}kT)dS zPt<=6$~eo5byz^>I!r--V)-V}NTy5ip(nx(PQbUtf@o*Q|BVukN)#tidC~vj{yi?i z&$}Z~sXd|mJy~{^fb9tdg#4m{J9&8#M~HtPP5irQ8s6hNpA090^j-Ln{Gz;w0~%J^ zjI_~nJ_+JT|AtIwc@a0X{*&dmCzRjD*V}Epe1;f!E<~dI_w(|CE&lJlt+op!@+a!= zp@i}sx7p=7{>kz<9b)|#?MHa|2rr-5ULw95k$D6WZ_P?f3HXl}TW5 zJc;^v0eLj`qJ0rBiGR#nWPn`|xw%Sm9i+&6I xGbE^qd_mw)lqdUgK0+J;zeJ`;JNfi_8%u02k(Y*7$nGrP&dZ;cP#^)7{u};b5~lzF literal 0 HcmV?d00001 diff --git a/conf/system/include/14.0/jib b/conf/system/include/14.0/jib new file mode 100755 index 0000000..55d9084 --- /dev/null +++ b/conf/system/include/14.0/jib @@ -0,0 +1,417 @@ +#!/bin/sh +#- +# Copyright (c) 2016 Devin Teske +# 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 AUTHOR 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 AUTHOR 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. +# +# +############################################################ IDENT(1) +# +# $Title: if_bridge(4) management script for vnet jails $ +# +############################################################ INFORMATION +# +# Use this tool with jail.conf(5) (or rc.conf(5) ``legacy'' configuration) to +# manage `vnet' interfaces for jails. Designed to automate the creation of vnet +# interface(s) during jail `prestart' and destroy said interface(s) during jail +# `poststop'. +# +# In jail.conf(5) format: +# +# ### BEGIN EXCERPT ### +# +# xxx { +# host.hostname = "xxx.yyy"; +# path = "/vm/xxx"; +# +# # +# # NB: Below 2-lines required +# # NB: The number of eNb_xxx interfaces should match the number of +# # arguments given to `jib addm xxx' in exec.prestart value. +# # +# vnet; +# vnet.interface = e0b_xxx, e1b_xxx, ...; +# +# exec.clean; +# exec.system_user = "root"; +# exec.jail_user = "root"; +# +# # +# # NB: Below 2-lines required +# # NB: The number of arguments after `jib addm xxx' should match +# # the number of eNb_xxx arguments in vnet.interface value. +# # +# exec.prestart += "jib addm xxx em0 em1 ..."; +# exec.poststop += "jib destroy xxx"; +# +# # Standard recipe +# exec.start += "/bin/sh /etc/rc"; +# exec.stop = "/bin/sh /etc/rc.shutdown jail"; +# exec.consolelog = "/var/log/jail_xxx_console.log"; +# mount.devfs; +# +# # Optional (default off) +# #allow.mount; +# #allow.set_hostname = 1; +# #allow.sysvipc = 1; +# #devfs_ruleset = "11"; # rule to unhide bpf for DHCP +# } +# +# ### END EXCERPT ### +# +# In rc.conf(5) ``legacy'' format (used when /etc/jail.conf does not exist): +# +# ### BEGIN EXCERPT ### +# +# jail_enable="YES" +# jail_list="xxx" +# +# # +# # Global presets for all jails +# # +# jail_devfs_enable="YES" # mount devfs +# +# # +# # Global options (default off) +# # +# #jail_mount_enable="YES" # mount /etc/fstab.{name} +# #jail_set_hostname_allow="YES" # Allow hostname to change +# #jail_sysvipc_allow="YES" # Allow SysV Interprocess Comm. +# +# # xxx +# jail_xxx_hostname="xxx.shxd.cx" # hostname +# jail_xxx_rootdir="/vm/xxx" # root directory +# jail_xxx_vnet_interfaces="e0b_xxx e1bxxx ..." # vnet interface(s) +# jail_xxx_exec_prestart0="jib addm xxx em0 em1 ..." # bridge interface(s) +# jail_xxx_exec_poststop0="jib destroy xxx" # destroy interface(s) +# #jail_xxx_mount_enable="YES" # mount /etc/fstab.xxx +# #jail_xxx_devfs_ruleset="11" # rule to unhide bpf for DHCP +# +# ### END EXCERPT ### +# +# Note that the legacy rc.conf(5) format is converted to +# /var/run/jail.{name}.conf by /etc/rc.d/jail if jail.conf(5) is missing. +# +# ASIDE: dhclient(8) inside a vnet jail... +# +# To allow dhclient(8) to work inside a vnet jail, make sure the following +# appears in /etc/devfs.rules (which should be created if it doesn't exist): +# +# [devfsrules_jail=11] +# add include $devfsrules_hide_all +# add include $devfsrules_unhide_basic +# add include $devfsrules_unhide_login +# add path 'bpf*' unhide +# +# And set ether devfs.ruleset="11" (jail.conf(5)) or +# jail_{name}_devfs_ruleset="11" (rc.conf(5)). +# +# NB: While this tool can't create every type of desirable topology, it should +# handle most setups, minus some which considered exotic or purpose-built. +# +############################################################ GLOBALS + +pgm="${0##*/}" # Program basename + +# +# Global exit status +# +SUCCESS=0 +FAILURE=1 + +############################################################ FUNCTIONS + +usage() +{ + local action usage descr + exec >&2 + echo "Usage: $pgm action [arguments]" + echo "Actions:" + for action in \ + addm \ + show \ + show1 \ + destroy \ + ; do + eval usage=\"\$jib_${action}_usage\" + [ "$usage" ] || continue + eval descr=\"\$jib_${action}_descr\" + printf "\t%s\n\t\t%s\n" "$usage" "$descr" + done + exit $FAILURE +} + +action_usage() +{ + local usage descr action="$1" + eval usage=\"\$jib_${action}_usage\" + echo "Usage: $pgm $usage" >&2 + eval descr=\"\$jib_${action}_descr\" + printf "\t%s\n" "$descr" + exit $FAILURE +} + +derive_mac() +{ + local OPTIND=1 OPTARG __flag + local __mac_num= __make_pair= + while getopts 2n: __flag; do + case "$__flag" in + 2) __make_pair=1 ;; + n) __mac_num=${OPTARG%%[^0-9]*} ;; + esac + done + shift $(( $OPTIND - 1 )) + + if [ ! "$__mac_num" ]; then + eval __mac_num=\${_${iface}_num:--1} + __mac_num=$(( $__mac_num + 1 )) + eval _${iface}_num=\$__mac_num + fi + + local __iface="$1" __name="$2" __var_to_set="$3" __var_to_set_b="$4" + local __iface_devid __new_devid __num __new_devid_b + # + # Calculate MAC address derived from given iface. + # + # The formula I'm using is ``NP:SS:SS:II:II:II'' where: + # + N denotes 4 bits used as a counter to support branching + # each parent interface up to 15 times under the same jail + # name (see S below). + # + P denotes the special nibble whose value, if one of + # 2, 6, A, or E (but usually 2) denotes a privately + # administered MAC address (while remaining routable). + # + S denotes 16 bits, the sum(1) value of the jail name. + # + I denotes bits that are inherited from parent interface. + # + # The S bits are a CRC-16 checksum of NAME, allowing the jail + # to change link numbers in ng_bridge(4) without affecting the + # MAC address. Meanwhile, if... + # + the jail NAME changes (e.g., it was duplicated and given + # a new name with no other changes) + # + the underlying network interface changes + # + the jail is moved to another host + # the MAC address will be recalculated to a new, similarly + # unique value preventing conflict. + # + __iface_devid=$( ifconfig $__iface ether | awk '/ether/,$0=$2' ) + # ??:??:??:II:II:II + __new_devid=${__iface_devid#??:??:??} # => :II:II:II + # => :SS:SS:II:II:II + __num=$( set -- `echo -n "$__name" | sum` && echo $1 ) + __new_devid=$( printf :%02x:%02x \ + $(( $__num >> 8 & 255 )) $(( $__num & 255 )) )$__new_devid + # => P:SS:SS:II:II:II + case "$__iface_devid" in + ?2:*) __new_devid=a$__new_devid __new_devid_b=e$__new_devid ;; + ?[Ee]:*) __new_devid=2$__new_devid __new_devid_b=6$__new_devid ;; + *) __new_devid=2$__new_devid __new_devid_b=e$__new_devid + esac + # => NP:SS:SS:II:II:II + __new_devid=$( printf %x $(( $__mac_num & 15 )) )$__new_devid + __new_devid_b=$( printf %x $(( $__mac_num & 15 )) )$__new_devid_b + + # + # Return derivative MAC address(es) + # + if [ "$__make_pair" ]; then + if [ "$__var_to_set" -a "$__var_to_set_b" ]; then + eval $__var_to_set=\$__new_devid + eval $__var_to_set_b=\$__new_devid_b + else + echo $__new_devid $__new_devid_b + fi + else + if [ "$__var_to_set" ]; then + eval $__var_to_set=\$__new_devid + else + echo $__new_devid + fi + fi +} + +mustberoot_to_continue() +{ + if [ "$( id -u )" -ne 0 ]; then + echo "Must run as root!" >&2 + exit $FAILURE + fi +} + +jib_addm_usage="addm [-b BRIDGE_NAME] NAME [!]iface0 [[!]iface1 ...]" +jib_addm_descr="Creates e0b_NAME [e1b_NAME ...]" +jib_addm() +{ + local OPTIND=1 OPTARG flag bridge=bridge + while getopts b: flag; do + case "$flag" in + b) bridge="${OPTARG:-bridge}" ;; + *) action_usage addm # NOTREACHED + esac + done + shift $(( $OPTIND - 1 )) + + local name="$1" + [ "${name:-x}" = "${name#*[!0-9a-zA-Z_]}" -a $# -gt 1 ] || + action_usage addm # NOTREACHED + shift 1 # name + + mustberoot_to_continue + + local iface eiface_devid_a eiface_devid_b + local new no_derive num quad i=0 + for iface in $*; do + + no_derive= + case "$iface" in + !*) iface=${iface#!} no_derive=1 ;; + esac + + # Make sure the interface doesn't exist already + if ifconfig "e${i}a_$name" > /dev/null 2>&1; then + i=$(( $i + 1 )) + continue + fi + + # Bring the interface up + ifconfig $iface up || return + + # Make sure the interface has been bridged + if ! ifconfig "$iface$bridge" > /dev/null 2>&1; then + new=$( ifconfig bridge create ) || return + ifconfig $new addm $iface || return + ifconfig $new name "$iface$bridge" || return + ifconfig "$iface$bridge" up || return + fi + + # Create a new interface to the bridge + new=$( ifconfig epair create ) || return + ifconfig "$iface$bridge" addm $new || return + + # Rename the new interface + ifconfig $new name "e${i}a_$name" || return + ifconfig ${new%a}b name "e${i}b_$name" || return + ifconfig "e${i}a_$name" up || return + ifconfig "e${i}b_$name" up || return + + # + # Set the MAC address of the new interface using a sensible + # algorithm to prevent conflicts on the network. + # + eiface_devid_a= eiface_devid_b= + [ "$no_derive" ] || derive_mac -2 $iface "$name" \ + eiface_devid_a eiface_devid_b + if [ "$eiface_devid_a" -a "$eiface_devid_b" ]; then + ifconfig "e${i}a_$name" ether $eiface_devid_a + ifconfig "e${i}b_$name" ether $eiface_devid_b + fi > /dev/null 2>&1 + + i=$(( $i + 1 )) + done # for iface +} + +jib_show_usage="show" +jib_show_descr="List possible NAME values for \`show NAME'" +jib_show1_usage="show NAME" +jib_show1_descr="Lists e0b_NAME [e1b_NAME ...]" +jib_show2_usage="show [NAME]" +jib_show() +{ + local OPTIND=1 OPTARG flag + while getopts "" flag; do + case "$flag" in + *) action_usage show2 # NOTREACHED + esac + done + shift $(( $OPTIND - 1 )) + if [ $# -eq 0 ]; then + ifconfig | awk ' + /^[^:[:space:]]+:/ { + iface = $1 + sub(/:.*/, "", iface) + next + } + $1 == "groups:" { + for (n = split($0, group); n > 1; n--) { + if (group[n] != "bridge") continue + print iface + next + } + }' | + xargs -rn1 ifconfig | + awk '$1 == "member:" && + sub(/^e[[:digit:]]+a_/, "", $2), $0 = $2' | + sort -u + return + fi + ifconfig | awk -v name="$1" ' + match($0, /^e[[:digit:]]+a_/) && sub(/:.*/, "") && + substr($1, RSTART + RLENGTH) == name + ' | sort +} + +jib_destroy_usage="destroy NAME" +jib_destroy_descr="Destroy e0b_NAME [e1b_NAME ...]" +jib_destroy() +{ + local OPTIND=1 OPTARG flag + while getopts "" flag; do + case "$flag" in + *) action_usage destroy # NOTREACHED + esac + done + shift $(( $OPTIND -1 )) + local name="$1" + [ "${name:-x}" = "${name#*[!0-9a-zA-Z_]}" -a $# -eq 1 ] || + action_usage destroy # NOTREACHED + mustberoot_to_continue + jib_show "$name" | xargs -rn1 -I eiface ifconfig eiface destroy +} + +############################################################ MAIN + +# +# Command-line arguments +# +action="$1" +[ "$action" ] || usage # NOTREACHED + +# +# Validate action argument +# +if [ "$BASH_VERSION" ]; then + type="$( type -t "jib_$action" )" || usage # NOTREACHED +else + type="$( type "jib_$action" 2> /dev/null )" || usage # NOTREACHED +fi +case "$type" in +*function) + shift 1 # action + eval "jib_$action" \"\$@\" + ;; +*) usage # NOTREACHED +esac + +################################################################################ +# END +################################################################################ diff --git a/conf/system/include/14.0/makewhatis b/conf/system/include/14.0/makewhatis new file mode 100755 index 0000000000000000000000000000000000000000..1db97a78640b57b8471dac157e003820041f2440 GIT binary patch literal 512984 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%0D^)^O$S@*^9hn2sM2pAUbm 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 literal 0 HcmV?d00001 diff --git a/conf/system/include/14.0/pf.os b/conf/system/include/14.0/pf.os new file mode 100644 index 0000000..e131d1b --- /dev/null +++ b/conf/system/include/14.0/pf.os @@ -0,0 +1,708 @@ +# $OpenBSD: pf.os,v 1.27 2016/09/03 17:08:57 sthen Exp $ +# passive OS fingerprinting +# ------------------------- +# +# SYN signatures. Those signatures work for SYN packets only (duh!). +# +# (C) Copyright 2000-2003 by Michal Zalewski +# (C) Copyright 2003 by Mike Frantzen +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# +# This fingerprint database is adapted from Michal Zalewski's p0f passive +# operating system package. The last database sync was from a Nov 3 2003 +# p0f.fp. +# +# +# Each line in this file specifies a single fingerprint. Please read the +# information below carefully before attempting to append any signatures +# reported as UNKNOWN to this file to avoid mistakes. +# +# We use the following set metrics for fingerprinting: +# +# - Window size (WSS) - a highly OS dependent setting used for TCP/IP +# performance control (max. amount of data to be sent without ACK). +# Some systems use a fixed value for initial packets. On other +# systems, it is a multiple of MSS or MTU (MSS+40). In some rare +# cases, the value is just arbitrary. +# +# NEW SIGNATURE: if p0f reported a special value of 'Snn', the number +# appears to be a multiple of MSS (MSS*nn); a special value of 'Tnn' +# means it is a multiple of MTU ((MSS+40)*nn). Unless you notice the +# value of nn is not fixed (unlikely), just copy the Snn or Tnn token +# literally. If you know this device has a simple stack and a fixed +# MTU, you can however multiply S value by MSS, or T value by MSS+40, +# and put it instead of Snn or Tnn. +# +# If WSS otherwise looks like a fixed value (for example a multiple +# of two), or if you can confirm the value is fixed, please quote +# it literally. If there's no apparent pattern in WSS chosen, you +# should consider wildcarding this value. +# +# - Overall packet size - a function of all IP and TCP options and bugs. +# +# NEW SIGNATURE: Copy this value literally. +# +# - Initial TTL - We check the actual TTL of a received packet. It can't +# be higher than the initial TTL, and also shouldn't be dramatically +# lower (maximum distance is defined as 40 hops). +# +# NEW SIGNATURE: *Never* copy TTL from a p0f-reported signature literally. +# You need to determine the initial TTL. The best way to do it is to +# check the documentation for a remote system, or check its settings. +# A fairly good method is to simply round the observed TTL up to +# 32, 64, 128, or 255, but it should be noted that some obscure devices +# might not use round TTLs (in particular, some shoddy appliances use +# "original" initial TTL settings). If not sure, you can see how many +# hops you're away from the remote party with traceroute or mtr. +# +# - Don't fragment flag (DF) - some modern OSes set this to implement PMTU +# discovery. Others do not bother. +# +# NEW SIGNATURE: Copy this value literally. +# +# - Maximum segment size (MSS) - this setting is usually link-dependent. P0f +# uses it to determine link type of the remote host. +# +# NEW SIGNATURE: Always wildcard this value, except for rare cases when +# you have an appliance with a fixed value, know the system supports only +# a very limited number of network interface types, or know the system +# is using a value it pulled out of nowhere. Specific unique MSS +# can be used to tell Google crawlbots from the rest of the population. +# +# - Window scaling (WSCALE) - this feature is used to scale WSS. +# It extends the size of a TCP/IP window to 32 bits. Some modern +# systems implement this feature. +# +# NEW SIGNATURE: Observe several signatures. Initial WSCALE is often set +# to zero or other low value. There's usually no need to wildcard this +# parameter. +# +# - Timestamp - some systems that implement timestamps set them to +# zero in the initial SYN. This case is detected and handled appropriately. +# +# - Selective ACK permitted - a flag set by systems that implement +# selective ACK functionality. +# +# - The sequence of TCP all options (MSS, window scaling, selective ACK +# permitted, timestamp, NOP). Other than the options previously +# discussed, p0f also checks for timestamp option (a silly +# extension to broadcast your uptime ;-), NOP options (used for +# header padding) and sackOK option (selective ACK feature). +# +# NEW SIGNATURE: Copy the sequence literally. +# +# To wildcard any value (except for initial TTL or TCP options), replace +# it with '*'. You can also use a modulo operator to match any values +# that divide by nnn - '%nnn'. +# +# Fingerprint entry format: +# +# wwww:ttt:D:ss:OOO...:OS:Version:Subtype:Details +# +# wwww - window size (can be *, %nnn, Snn or Tnn). The special values +# "S" and "T" which are a multiple of MSS or a multiple of MTU +# respectively. +# ttt - initial TTL +# D - don't fragment bit (0 - not set, 1 - set) +# ss - overall SYN packet size +# OOO - option value and order specification (see below) +# OS - OS genre (Linux, Solaris, Windows) +# Version - OS Version (2.0.27 on x86, etc) +# Subtype - OS subtype or patchlevel (SP3, lo0) +# details - Generic OS details +# +# If OS genre starts with '*', p0f will not show distance, link type +# and timestamp data. It is useful for userland TCP/IP stacks of +# network scanners and so on, where many settings are randomized or +# bogus. +# +# If OS genre starts with @, it denotes an approximate hit for a group +# of operating systems (signature reporting still enabled in this case). +# Use this feature at the end of this file to catch cases for which +# you don't have a precise match, but can tell it's Windows or FreeBSD +# or whatnot by looking at, say, flag layout alone. +# +# Option block description is a list of comma or space separated +# options in the order they appear in the packet: +# +# N - NOP option +# Wnnn - window scaling option, value nnn (or * or %nnn) +# Mnnn - maximum segment size option, value nnn (or * or %nnn) +# S - selective ACK OK +# T - timestamp +# T0 - timestamp with a zero value +# +# To denote no TCP options, use a single '.'. +# +# Please report any additions to this file, or any inaccuracies or +# problems spotted, to the maintainers: lcamtuf@coredump.cx, +# frantzen@openbsd.org and bugs@openbsd.org with a tcpdump packet +# capture of the relevant SYN packet(s) +# +# A test and submission page is available at +# http://lcamtuf.coredump.cx/p0f-help/ +# +# +# WARNING WARNING WARNING +# ----------------------- +# +# Do not add a system X as OS Y just because NMAP says so. It is often +# the case that X is a NAT firewall. While nmap is talking to the +# device itself, p0f is fingerprinting the guy behind the firewall +# instead. +# +# When in doubt, use common sense, don't add something that looks like +# a completely different system as Linux or FreeBSD or LinkSys router. +# Check DNS name, establish a connection to the remote host and look +# at SYN+ACK - does it look similar? +# +# Some users tweak their TCP/IP settings - enable or disable RFC1323 +# functionality, enable or disable timestamps or selective ACK, +# disable PMTU discovery, change MTU and so on. Always compare a new rule +# to other fingerprints for this system, and verify the system isn't +# "customized" before adding it. It is OK to add signature variants +# caused by a commonly used software (personal firewalls, security +# packages, etc), but it makes no sense to try to add every single +# possible /proc/sys/net/ipv4 tweak on Linux or so. +# +# KEEP IN MIND: Some packet firewalls configured to normalize outgoing +# traffic (OpenBSD pf with "scrub" enabled, for example) will, well, +# normalize packets. Signatures will not correspond to the originating +# system (and probably not quite to the firewall either). +# +# NOTE: Try to keep this file in some reasonable order, from most to +# least likely systems. This will speed up operation. Also keep most +# generic and broad rules near the end. +# + +########################## +# Standard OS signatures # +########################## + +# ----------------- AIX --------------------- + +# AIX is first because its signatures are close to NetBSD, MacOS X and +# Linux 2.0, but it uses a fairly rare MSSes, at least sometimes... +# This is a shoddy hack, though. + +45046:64:0:44:M*: AIX:4.3::AIX 4.3 +16384:64:0:44:M512: AIX:4.3:2-3:AIX 4.3.2 and earlier + +16384:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2 +16384:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2 +32768:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2 +32768:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2 +65535:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2 +65535:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2 +65535:64:0:64:M*,N,W1,N,N,T,N,N,S: AIX:5.3:ML1:AIX 5.3 ML1 + +# ----------------- Linux ------------------- + +# S1:64:0:44:M*:A: Linux:1.2::Linux 1.2.x (XXX quirks support) +512:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x +16384:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x + +# Endian snafu! Nelson says "ha-ha": +2:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x (MkLinux) on Mac +64:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x (MkLinux) on Mac + + +S4:64:1:60:M1360,S,T,N,W0: Linux:google::Linux (Google crawlbot) + +S2:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4 (big boy) +S3:64:1:60:M*,S,T,N,W0: Linux:2.4:.18-21:Linux 2.4.18 and newer +S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W0: Linux:2.6:.1-7:Linux 2.4/2.6 <= 2.6.7 + +S4:64:1:60:M*,S,T,N,W5: Linux:2.6::Linux 2.6 (newer, 1) +S4:64:1:60:M*,S,T,N,W6: Linux:2.6::Linux 2.6 (newer, 2) +S4:64:1:60:M*,S,T,N,W7: Linux:2.6::Linux 2.6 (newer, 3) +T4:64:1:60:M*,S,T,N,W7: Linux:2.6::Linux 2.6 (newer, 4) + +S10:64:1:60:M*,S,T,N,W4: Linux:3.0::Linux 3.0 + +S3:64:1:60:M*,S,T,N,W1: Linux:2.5::Linux 2.5 (sometimes 2.4) +S4:64:1:60:M*,S,T,N,W1: Linux:2.5-2.6::Linux 2.5/2.6 +S3:64:1:60:M*,S,T,N,W2: Linux:2.5::Linux 2.5 (sometimes 2.4) +S4:64:1:60:M*,S,T,N,W2: Linux:2.5::Linux 2.5 (sometimes 2.4) + +S20:64:1:60:M*,S,T,N,W0: Linux:2.2:20-25:Linux 2.2.20 and newer +S22:64:1:60:M*,S,T,N,W0: Linux:2.2::Linux 2.2 +S11:64:1:60:M*,S,T,N,W0: Linux:2.2::Linux 2.2 + +# Popular cluster config scripts disable timestamps and +# selective ACK: +S4:64:1:48:M1460,N,W0: Linux:2.4:cluster:Linux 2.4 in cluster + +# This needs to be investigated. On some systems, WSS +# is selected as a multiple of MTU instead of MSS. I got +# many submissions for this for many late versions of 2.4: +T4:64:1:60:M1412,S,T,N,W0: Linux:2.4::Linux 2.4 (late, uncommon) + +# This happens only over loopback, but let's make folks happy: +32767:64:1:60:M16396,S,T,N,W0: Linux:2.4:lo0:Linux 2.4 (local) +S8:64:1:60:M3884,S,T,N,W0: Linux:2.2:lo0:Linux 2.2 (local) + +# Opera visitors: +16384:64:1:60:M*,S,T,N,W0: Linux:2.2:Opera:Linux 2.2 (Opera?) +32767:64:1:60:M*,S,T,N,W0: Linux:2.4:Opera:Linux 2.4 (Opera?) + +# Some fairly common mods: +S4:64:1:52:M*,N,N,S,N,W0: Linux:2.4:ts:Linux 2.4 w/o timestamps +S22:64:1:52:M*,N,N,S,N,W0: Linux:2.2:ts:Linux 2.2 w/o timestamps + + +# ----------------- FreeBSD ----------------- + +16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:4.0-4.2::FreeBSD 2.0-4.2 +16384:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 + +1024:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 + +57344:64:1:44:M*: FreeBSD:4.6-4.8:noRFC1323:FreeBSD 4.6-4.8 (no RFC1323) +57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.9::FreeBSD 4.6-4.9 + +32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.1 (or MacOS X) +32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.11::FreeBSD 4.7-5.2 +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.7-5.2 + +# XXX need quirks support +# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (1) +# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (2) +# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (3) +# 65535:64:1:44:M*:Z:FreeBSD:5.2::FreeBSD 5.2 (no RFC1323) + +# 16384:64:1:60:M*,N,N,N,N,N,N,T:FreeBSD:4.4:noTS:FreeBSD 4.4 (w/o timestamps) + +# ----------------- NetBSD ------------------ + +16384:64:0:60:M*,N,W0,N,N,T: NetBSD:1.3::NetBSD 1.3 +65535:64:0:60:M*,N,W0,N,N,T0: NetBSD:1.6:opera:NetBSD 1.6 (Opera) +16384:64:0:60:M*,N,W0,N,N,T0: NetBSD:1.6::NetBSD 1.6 +16384:64:1:60:M*,N,W0,N,N,T0: NetBSD:1.6:df:NetBSD 1.6 (DF) +65535:64:1:60:M*,N,W1,N,N,T0: NetBSD:1.6::NetBSD 1.6W-current (DF) +65535:64:1:60:M*,N,W0,N,N,T0: NetBSD:1.6::NetBSD 1.6X (DF) +32768:64:1:60:M*,N,W0,N,N,T0: NetBSD:1.6:randomization:NetBSD 1.6ZH-current (w/ ip_id randomization) + +# ----------------- OpenBSD ----------------- + +16384:64:0:60:M*,N,W0,N,N,T: OpenBSD:2.6::NetBSD 1.3 (or OpenBSD 2.6) +16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.8::OpenBSD 3.0-4.8 +16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.8:no-df:OpenBSD 3.0-4.8 (scrub no-df) +57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0::OpenBSD 3.3-4.0 +57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0:no-df:OpenBSD 3.3-4.0 (scrub no-df) + +65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:opera:OpenBSD 3.0-4.0 (Opera) + +16384:64:1:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9::OpenBSD 4.9 +16384:64:0:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9:no-df:OpenBSD 4.9 (scrub no-df) + +16384:64:1:64:M*,N,N,S,N,W6,N,N,T: OpenBSD:6.1::OpenBSD 6.1 +16384:64:0:64:M*,N,N,S,N,W6,N,N,T: OpenBSD:6.1:no-df:OpenBSD 6.1 (scrub no-df) + +# ----------------- DragonFly BSD ----------------- + +57344:64:1:60:M*,N,W0,N,N,T: DragonFly:1.0:A:DragonFly 1.0A +57344:64:0:64:M*,N,W0,N,N,S,N,N,T: DragonFly:1.2-1.12::DragonFly 1.2-1.12 +5840:64:1:60:M*,S,T,N,W4: DragonFly:2.0-2.1::DragonFly 2.0-2.1 +57344:64:0:64:M*,N,W0,N,N,S,N,N,T: DragonFly:2.2-2.3::DragonFly 2.2-2.3 +57344:64:0:64:M*,N,W5,N,N,S,N,N,T: DragonFly:2.4-2.7::DragonFly 2.4-2.7 + +# ----------------- Solaris ----------------- + +S17:64:1:64:N,W3,N,N,T0,N,N,S,M*: Solaris:8:RFC1323:Solaris 8 RFC1323 +S17:64:1:48:N,N,S,M*: Solaris:8::Solaris 8 +S17:255:1:44:M*: Solaris:2.5-2.7::Solaris 2.5 to 7 + +S6:255:1:44:M*: Solaris:2.6-2.7::Solaris 2.6 to 7 +S23:255:1:44:M*: Solaris:2.5:1:Solaris 2.5.1 +S34:64:1:48:M*,N,N,S: Solaris:2.9::Solaris 9 +S44:255:1:44:M*: Solaris:2.7::Solaris 7 + +4096:64:0:44:M1460: SunOS:4.1::SunOS 4.1.x + +S34:64:1:52:M*,N,W0,N,N,S: Solaris:10:beta:Solaris 10 (beta) +32850:64:1:64:M*,N,N,T,N,W1,N,N,S: Solaris:10::Solaris 10 1203 + +# ----------------- IRIX -------------------- + +49152:64:0:44:M*: IRIX:6.4::IRIX 6.4 +61440:64:0:44:M*: IRIX:6.2-6.5::IRIX 6.2-6.5 +49152:64:0:52:M*,N,W2,N,N,S: IRIX:6.5:RFC1323:IRIX 6.5 (RFC1323) +49152:64:0:52:M*,N,W3,N,N,S: IRIX:6.5:RFC1323:IRIX 6.5 (RFC1323) + +61440:64:0:48:M*,N,N,S: IRIX:6.5:12-21:IRIX 6.5.12 - 6.5.21 +49152:64:0:48:M*,N,N,S: IRIX:6.5:15-21:IRIX 6.5.15 - 6.5.21 + +49152:60:0:64:M*,N,W2,N,N,T,N,N,S: IRIX:6.5:IP27:IRIX 6.5 IP27 + + +# ----------------- Tru64 ------------------- + +32768:64:1:48:M*,N,W0: Tru64:4.0::Tru64 4.0 (or OS/2 Warp 4) +32768:64:0:48:M*,N,W0: Tru64:5.0::Tru64 5.0 +8192:64:0:44:M1460: Tru64:5.1:noRFC1323:Tru64 6.1 (no RFC1323) (or QNX 6) +61440:64:0:48:M*,N,W0: Tru64:5.1a:JP4:Tru64 v5.1a JP4 (or OpenVMS 7.x on Compaq 5.x stack) + +# ----------------- OpenVMS ----------------- + +6144:64:1:60:M*,N,W0,N,N,T: OpenVMS:7.2::OpenVMS 7.2 (Multinet 4.4 stack) + +# ----------------- MacOS ------------------- + +# XXX Need EOL tcp opt support +# S2:255:1:48:M*,W0,E:.:MacOS:8.6 classic + +# XXX some of these use EOL too +16616:255:1:48:M*,W0: MacOS:7.3-7.6:OTTCP:MacOS 7.3-8.6 (OTTCP) +16616:255:1:48:M*,W0: MacOS:8.0-8.6:OTTCP:MacOS 7.3-8.6 (OTTCP) +16616:255:1:48:M*,N,N,N: MacOS:8.1-8.6:OTTCP:MacOS 8.1-8.6 (OTTCP) +32768:255:1:48:M*,W0,N: MacOS:9.0-9.2::MacOS 9.0-9.2 +65535:255:1:48:M*,N,N,N,N: MacOS:9.1::MacOS 9.1 (OT 2.7.4) + + +# ----------------- Windows ----------------- + +# Windows TCP/IP stack is a mess. For most recent XP, 2000 and +# even 98, the patchlevel, not the actual OS version, is more +# relevant to the signature. They share the same code, so it would +# seem. Luckily for us, almost all Windows 9x boxes have an +# awkward MSS of 536, which I use to tell one from another +# in most difficult cases. + +8192:32:1:44:M*: Windows:3.11::Windows 3.11 (Tucows) +S44:64:1:64:M*,N,W0,N,N,T0,N,N,S: Windows:95::Windows 95 +8192:128:1:64:M*,N,W0,N,N,T0,N,N,S: Windows:95:b:Windows 95b + +# There were so many tweaking tools and so many stack versions for +# Windows 98 it is no longer possible to tell them from each other +# without some very serious research. Until then, there's an insane +# number of signatures, for your amusement: + +S44:32:1:48:M*,N,N,S: Windows:98:lowTTL:Windows 98 (low TTL) +8192:32:1:48:M*,N,N,S: Windows:98:lowTTL:Windows 98 (low TTL) +%8192:64:1:48:M536,N,N,S: Windows:98::Windows 98 +%8192:128:1:48:M536,N,N,S: Windows:98::Windows 98 +S4:64:1:48:M*,N,N,S: Windows:98::Windows 98 +S6:64:1:48:M*,N,N,S: Windows:98::Windows 98 +S12:64:1:48:M*,N,N,S: Windows:98::Windows 98 +T30:64:1:64:M1460,N,W0,N,N,T0,N,N,S: Windows:98::Windows 98 +32767:64:1:48:M*,N,N,S: Windows:98::Windows 98 +37300:64:1:48:M*,N,N,S: Windows:98::Windows 98 +46080:64:1:52:M*,N,W3,N,N,S: Windows:98:RFC1323:Windows 98 (RFC1323) +65535:64:1:44:M*: Windows:98:noSack:Windows 98 (no sack) +S16:128:1:48:M*,N,N,S: Windows:98::Windows 98 +S16:128:1:64:M*,N,W0,N,N,T0,N,N,S: Windows:98::Windows 98 +S26:128:1:48:M*,N,N,S: Windows:98::Windows 98 +T30:128:1:48:M*,N,N,S: Windows:98::Windows 98 +32767:128:1:52:M*,N,W0,N,N,S: Windows:98::Windows 98 +60352:128:1:48:M*,N,N,S: Windows:98::Windows 98 +60352:128:1:64:M*,N,W2,N,N,T0,N,N,S: Windows:98::Windows 98 + +# What's with 1414 on NT? +T31:128:1:44:M1414: Windows:NT:4.0:Windows NT 4.0 SP6a +64512:128:1:44:M1414: Windows:NT:4.0:Windows NT 4.0 SP6a +8192:128:1:44:M*: Windows:NT:4.0:Windows NT 4.0 (older) + +# Windows XP and 2000. Most of the signatures that were +# either dubious or non-specific (no service pack data) +# were deleted and replaced with generics at the end. + +65535:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4, XP SP1 +65535:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP4, XP SP1 +%8192:128:1:48:M*,N,N,S: Windows:2000:SP2+:Windows 2000 SP2, XP SP1 (seldom 98 4.10.2222) +%8192:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP2, XP SP1 (seldom 98 4.10.2222) +S20:128:1:48:M*,N,N,S: Windows:2000::Windows 2000/XP SP3 +S20:128:1:48:M*,N,N,S: Windows:XP:SP3:Windows 2000/XP SP3 +S45:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4, XP SP 1 +S45:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP4, XP SP 1 +40320:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4 + +S6:128:1:48:M*,N,N,S: Windows:2000:SP2:Windows XP, 2000 SP2+ +S6:128:1:48:M*,N,N,S: Windows:XP::Windows XP, 2000 SP2+ +S12:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows XP SP1 +S44:128:1:48:M*,N,N,S: Windows:2000:SP3:Windows Pro SP1, 2000 SP3 +S44:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows Pro SP1, 2000 SP3 +64512:128:1:48:M*,N,N,S: Windows:2000:SP3:Windows SP1, 2000 SP3 +64512:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows SP1, 2000 SP3 +32767:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows SP1, 2000 SP4 +32767:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows SP1, 2000 SP4 + +8192:128:1:52:M*,N,W2,N,N,S: Windows:Vista::Windows Vista/7 + +# Odds, ends, mods: + +S52:128:1:48:M1260,N,N,S: Windows:2000:cisco:Windows XP/2000 via Cisco +S52:128:1:48:M1260,N,N,S: Windows:XP:cisco:Windows XP/2000 via Cisco +65520:128:1:48:M*,N,N,S: Windows:XP::Windows XP bare-bone +16384:128:1:52:M536,N,W0,N,N,S: Windows:2000:ZoneAlarm:Windows 2000 w/ZoneAlarm? +2048:255:0:40:.: Windows:.NET::Windows .NET Enterprise Server + +44620:64:0:48:M*,N,N,S: Windows:ME::Windows ME no SP (?) +S6:255:1:48:M536,N,N,S: Windows:95:winsock2:Windows 95 winsock 2 +32768:32:1:52:M1460,N,W0,N,N,S: Windows:2003:AS:Windows 2003 AS + + +# No need to be more specific, it passes: +# *:128:1:48:M*,N,N,S:U:-Windows:XP/2000 while downloading (leak!) XXX quirk +# there is an equiv similar generic sig w/o the quirk + +# ----------------- HP/UX ------------------- + +32768:64:1:44:M*: HP-UX:B.10.20::HP-UX B.10.20 +32768:64:0:48:M*,W0,N: HP-UX:11.0::HP-UX 11.0 +32768:64:1:48:M*,W0,N: HP-UX:11.10::HP-UX 11.0 or 11.11 +32768:64:1:48:M*,W0,N: HP-UX:11.11::HP-UX 11.0 or 11.11 + +# Whoa. Hardcore WSS. +0:64:0:48:M*,W0,N: HP-UX:B.11.00:A:HP-UX B.11.00 A (RFC1323) + +# ----------------- RiscOS ------------------ + +# We don't yet support the ?12 TCP option +#16384:64:1:68:M1460,N,W0,N,N,T,N,N,?12: RISCOS:3.70-4.36::RISC OS 3.70-4.36 +12288:32:0:44:M536: RISC OS:3.70:4.10:RISC OS 3.70 inet 4.10 + +# XXX quirk +# 4096:64:1:56:M1460,N,N,T:T: RISC OS:3.70:freenet:RISC OS 3.70 freenet 2.00 + + + +# ----------------- BSD/OS ------------------ + +# Once again, power of two WSS is also shared by MacOS X with DF set +8192:64:1:60:M1460,N,W0,N,N,T: BSD/OS:3.1::BSD/OS 3.1-4.3 (or MacOS X 10.2 w/DF) +8192:64:1:60:M1460,N,W0,N,N,T: BSD/OS:4.0-4.3::BSD/OS 3.1-4.3 (or MacOS X 10.2) + + +# ---------------- NewtonOS ----------------- + +4096:64:0:44:M1420: NewtonOS:2.1::NewtonOS 2.1 + +# ---------------- NeXTSTEP ----------------- + +S4:64:0:44:M1024: NeXTSTEP:3.3::NeXTSTEP 3.3 +S8:64:0:44:M512: NeXTSTEP:3.3::NeXTSTEP 3.3 + +# ------------------ BeOS ------------------- + +1024:255:0:48:M*,N,W0: BeOS:5.0-5.1::BeOS 5.0-5.1 +12288:255:0:44:M1402: BeOS:5.0::BeOS 5.0.x + +# ------------------ OS/400 ----------------- + +8192:64:1:60:M1440,N,W0,N,N,T: OS/400:VR4::OS/400 VR4/R5 +8192:64:1:60:M1440,N,W0,N,N,T: OS/400:VR5::OS/400 VR4/R5 +4096:64:1:60:M1440,N,W0,N,N,T: OS/400:V4R5:CF67032:OS/400 V4R5 + CF67032 + +# XXX quirk +# 28672:64:0:44:M1460:A:OS/390:? + +# ------------------ ULTRIX ----------------- + +16384:64:0:40:.: ULTRIX:4.5::ULTRIX 4.5 + +# ------------------- QNX ------------------- + +S16:64:0:44:M512: QNX:::QNX demodisk + +# ------------------ Novell ----------------- + +16384:128:1:44:M1460: Novell:NetWare:5.0:Novel Netware 5.0 +6144:128:1:44:M1460: Novell:IntranetWare:4.11:Novell IntranetWare 4.11 +6144:128:1:44:M1368: Novell:BorderManager::Novell BorderManager ? + +6144:128:1:52:M*,W0,N,S,N,N: Novell:Netware:6:Novell Netware 6 SP3 + + +# ----------------- SCO ------------------ +S3:64:1:60:M1460,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1 +S17:64:1:60:M1380,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1.3 MP3 +S23:64:1:44:M1380: SCO:OpenServer:5.0:SCO OpenServer 5.0 + +# ------------------- DOS ------------------- + +2048:255:0:44:M536: DOS:WATTCP:1.05:DOS Arachne via WATTCP/1.05 +T2:255:0:44:M984: DOS:WATTCP:1.05Arachne:Arachne via WATTCP/1.05 (eepro) + +# ------------------ OS/2 ------------------- + +S56:64:0:44:M512: OS/2:4::OS/2 4 +28672:64:0:44:M1460: OS/2:4::OS/2 Warp 4.0 + +# ----------------- TOPS-20 ----------------- + +# Another hardcore MSS, one of the ACK leakers hunted down. +# XXX QUIRK 0:64:0:44:M1460:A:TOPS-20:version 7 +0:64:0:44:M1460: TOPS-20:7::TOPS-20 version 7 + +# ----------------- FreeMiNT ---------------- + +S44:255:0:44:M536: FreeMiNT:1:16A:FreeMiNT 1 patch 16A (Atari) + +# ------------------ AMIGA ------------------ + +# XXX TCP option 12 +# S32:64:1:56:M*,N,N,S,N,N,?12:.:AMIGA:3.9 BB2 with Miami stack + +# ------------------ Plan9 ------------------ + +65535:255:0:48:M1460,W0,N: Plan9:4::Plan9 edition 4 + +# ----------------- AMIGAOS ----------------- + +16384:64:1:48:M1560,N,N,S: AMIGAOS:3.9::AMIGAOS 3.9 BB2 MiamiDX + +########################################### +# Appliance / embedded / other signatures # +########################################### + +# ---------- Firewalls / routers ------------ + +S12:64:1:44:M1460: @Checkpoint:::Checkpoint (unknown 1) +S12:64:1:48:N,N,S,M1460: @Checkpoint:::Checkpoint (unknown 2) +4096:32:0:44:M1460: ExtremeWare:4.x::ExtremeWare 4.x + +# XXX TCP option 12 +# S32:64:0:68:M512,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO w/Checkpoint NG FP3 +# S16:64:0:68:M1024,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO 3.7 build 026 + +S4:64:1:60:W0,N,S,T,M1460: FortiNet:FortiGate:50:FortiNet FortiGate 50 + +8192:64:1:44:M1460: Eagle:::Eagle Secure Gateway + +S52:128:1:48:M1260,N,N,N,N: LinkSys:WRV54G::LinkSys WRV54G VPN router + + + +# ------- Switches and other stuff ---------- + +4128:255:0:44:M*: Cisco:::Cisco Catalyst 3500, 7500 etc +S8:255:0:44:M*: Cisco:12008::Cisco 12008 +60352:128:1:64:M1460,N,W2,N,N,T,N,N,S: Alteon:ACEswitch::Alteon ACEswitch +64512:128:1:44:M1370: Nortel:Contivity Client::Nortel Conectivity Client + + +# ---------- Caches and whatnots ------------ + +S4:64:1:52:M1460,N,N,S,N,W0: AOL:web cache::AOL web cache + +32850:64:1:64:N,W1,N,N,T,N,N,S,M*: NetApp:5.x::NetApp Data OnTap 5.x +16384:64:1:64:M1460,N,N,S,N,W0,N: NetApp:5.3:1:NetApp 5.3.1 +65535:64:0:64:M1460,N,N,S,N,W*,N,N,T: NetApp:5.3-5.5::NetApp 5.3-5.5 +65535:64:0:60:M1460,N,W0,N,N,T: NetApp:CacheFlow::NetApp CacheFlow +8192:64:1:64:M1460,N,N,S,N,W0,N,N,T: NetApp:5.2:1:NetApp NetCache 5.2.1 +20480:64:1:64:M1460,N,N,S,N,W0,N,N,T: NetApp:4.1::NetApp NetCache4.1 + +65535:64:0:60:M1460,N,W0,N,N,T: CacheFlow:4.1::CacheFlow CacheOS 4.1 +8192:64:0:60:M1380,N,N,N,N,N,N,T: CacheFlow:1.1::CacheFlow CacheOS 1.1 + +S4:64:0:48:M1460,N,N,S: Cisco:Content Engine::Cisco Content Engine + +27085:128:0:40:.: Dell:PowerApp cache::Dell PowerApp (Linux-based) + +65535:255:1:48:N,W1,M1460: Inktomi:crawler::Inktomi crawler +S1:255:1:60:M1460,S,T,N,W0: LookSmart:ZyBorg::LookSmart ZyBorg + +16384:255:0:40:.: Proxyblocker:::Proxyblocker (what's this?) + +65535:255:0:48:M*,N,N,S: Redline:::Redline T|X 2200 + +32696:128:0:40:M1460: Spirent:Avalanche::Spirent Web Avalanche HTTP benchmarking engine + +# ----------- Embedded systems -------------- + +S9:255:0:44:M536: PalmOS:Tungsten:C:PalmOS Tungsten C +S5:255:0:44:M536: PalmOS:3::PalmOS 3/4 +S5:255:0:44:M536: PalmOS:4::PalmOS 3/4 +S4:255:0:44:M536: PalmOS:3:5:PalmOS 3.5 +2948:255:0:44:M536: PalmOS:3:5:PalmOS 3.5.3 (Handera) +S29:255:0:44:M536: PalmOS:5::PalmOS 5.0 +16384:255:0:44:M1398: PalmOS:5.2:Clie:PalmOS 5.2 (Clie) +S14:255:0:44:M1350: PalmOS:5.2:Treo:PalmOS 5.2.1 (Treo) + +S23:64:1:64:N,W1,N,N,T,N,N,S,M1460: SymbianOS:7::SymbianOS 7 + +8192:255:0:44:M1460: SymbianOS:6048::Symbian OS 6048 (Nokia 7650?) +8192:255:0:44:M536: SymbianOS:9210::Symbian OS (Nokia 9210?) +S22:64:1:56:M1460,T,S: SymbianOS:P800::Symbian OS ? (SE P800?) +S36:64:1:56:M1360,T,S: SymbianOS:6600::Symbian OS 60xx (Nokia 6600?) + + +# Perhaps S4? +5840:64:1:60:M1452,S,T,N,W1: Zaurus:3.10::Zaurus 3.10 + +32768:128:1:64:M1460,N,W0,N,N,T0,N,N,S: PocketPC:2002::PocketPC 2002 + +S1:255:0:44:M346: Contiki:1.1:rc0:Contiki 1.1-rc0 + +4096:128:0:44:M1460: Sega:Dreamcast:3.0:Sega Dreamcast Dreamkey 3.0 +T5:64:0:44:M536: Sega:Dreamcast:HKT-3020:Sega Dreamcast HKT-3020 (browser disc 51027) +S22:64:1:44:M1460: Sony:PS2::Sony Playstation 2 (SOCOM?) + +S12:64:0:44:M1452: AXIS:5600:v5.64:AXIS Printer Server 5600 v5.64 + +3100:32:1:44:M1460: Windows:CE:2.0:Windows CE 2.0 + +#################### +# Fancy signatures # +#################### + +1024:64:0:40:.: *NMAP:syn scan:1:NMAP syn scan (1) +2048:64:0:40:.: *NMAP:syn scan:2:NMAP syn scan (2) +3072:64:0:40:.: *NMAP:syn scan:3:NMAP syn scan (3) +4096:64:0:40:.: *NMAP:syn scan:4:NMAP syn scan (4) + +# Requires quirks support +# 1024:64:0:40:.:A:*NMAP:TCP sweep probe (1) +# 2048:64:0:40:.:A:*NMAP:TCP sweep probe (2) +# 3072:64:0:40:.:A:*NMAP:TCP sweep probe (3) +# 4096:64:0:40:.:A:*NMAP:TCP sweep probe (4) + +1024:64:0:60:W10,N,M265,T: *NMAP:OS:1:NMAP OS detection probe (1) +2048:64:0:60:W10,N,M265,T: *NMAP:OS:2:NMAP OS detection probe (2) +3072:64:0:60:W10,N,M265,T: *NMAP:OS:3:NMAP OS detection probe (3) +4096:64:0:60:W10,N,M265,T: *NMAP:OS:4:NMAP OS detection probe (4) + +32767:64:0:40:.: *NAST:::NASTsyn scan + +# Requires quirks support +# 12345:255:0:40:.:A:-p0f:sendsyn utility + + +##################################### +# Generic signatures - just in case # +##################################### + +#*:64:1:60:M*,N,W*,N,N,T: @FreeBSD:4.0-4.9::FreeBSD 4.x/5.x +#*:64:1:60:M*,N,W*,N,N,T: @FreeBSD:5.0-5.1::FreeBSD 4.x/5.x + +*:128:1:52:M*,N,W0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323) +*:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323) +*:128:1:64:M*,N,W*,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP (RFC1323, w+) +*:128:1:48:M536,N,N,S: @Windows:98::Windows 98 +*:128:1:48:M*,N,N,S: @Windows:XP::Windows XP/2000 +*:128:1:48:M*,N,N,S: @Windows:2000::Windows XP/2000 + + diff --git a/conf/system/include/14.0/pfctl b/conf/system/include/14.0/pfctl new file mode 100755 index 0000000000000000000000000000000000000000..07fca247c60d6c021d76a66df72d7b95993e8071 GIT binary patch literal 320088 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 z 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 N0S_@=-_L3MzW}d;;{^Z! literal 0 HcmV?d00001 diff --git a/conf/system/include/14.0/pfilctl b/conf/system/include/14.0/pfilctl new file mode 100755 index 0000000000000000000000000000000000000000..5ac243900e663e92a5611ca6c846c08500611ce5 GIT binary patch literal 9832 zcmcgy4RBP~b-pVhSg^?A*bdl$QEJPP8fzsb{7AyeXhBQfilr$0IpbJ})oLZJS?%uZ zzLkNIDE3MoUSHPHxSoW1rY#|fO)_rFBp#3K09hFjavZyAnl#jLv63ldw`-?r++f+Y z*?#A~d!@GzDR!sR9!Brn^WF1v-?{gm``%mr)a~6;WV0=1f{NJ}n2p+Z8bFi5*hwLi z*u?7CO}MUs(n81!I7U6xXOQGQMTRW7UGx`&lif+tFS+Puw~2=2d`!TIlihsu!BV3~ za<Ex)tCj=jd2D4_-bG{>Q-oXbwNLoXY0Fw*i|g?yh<82j{_k^Wa^;Z^oaM zq5$TK+dmIJI1hdl_+0**iD7Vr!#i zkV9~ay&Qj3hp7zD96D(KA(A;;B9v%Pmx?ykAbHOMx`ELd!jFYOxGxxsgjsugG#2R& z`+5V+rv?rLRn{I12i0~p6laFm?mysb?+S)}q2QqaYj5dm-x25z#??StlFXc($ zht?&nQ%M;U&Ywd>$CL?|>zlf!O}Kny;U@PPhUB02nxq;r9@?|C&m`5EaPz)wGU2q3 zB`GG{JpNV_ZXW-aO*oB7(moR|>j?Grm~feE!lNeKTo(?QaFKdaXGctUDMyUUQ4=m6 z1$oD?377SVI*yrea~(Nu!p$}BqzN~llc!9$te@n6#Dr5Fm6SH&@)?)<#!WcYN=XwY zoa(To^4j(Bvhuq464n!m?2ohU36(KlZ%42@5lO_${E^;XU%0cOtUQjw5Z=!cVb01w zR}V98i^~$`>O*nyb%X+C+)aZ~kt$lZc)XtNo7=sfox7Cn+qdqlWQ)t=4dt+fktfW0 zjgr+9@O8#nBJS%BP^hvB4)k+h{S>g@h+DY?j(r%!{&3{saKY%PfL4^pE19RYZ!L4H zJ%Ly_pw2Z8x2qZBfZBRi-5Kbsj&=n@7z=8%KM+;Rq7f9@8|?mMYbD!tFdCq|*;W>B ztN^F={RSqh8N45pfXuNEko0eZhi+%=XW(+qY=?F*+ks`am8Fa9^z3~v`c~m@81~GLT>oWrycrT#XP{??)beR}3< z#dtc*{>}Q;h5ny~{xB8?e>af+TTTA!XZ4}VX}6+Xaoz9Q{v5M?wBWeVa2xkEAhq=N`m8r_6zN`+O*@u52^D7x+JF;#TM7TJVI5* zal(}xu$L!Z-lh*Q?R8gv_cD*RDEDF}fvAd3@dhTeH@(_5ul9bX3>GuOIr!HuW*&rM zS67!)#xKZED{kcpnsvv}bGRznKYFxlE-kO58cELNQPI4q@{`x|d2g!fn_$~2uXsj3 zELM@V4{e_0&slCcyqo-clIQK7{HyA6kG|k;B{^Lbd%Ic7V}OeGdVV4|nR(dox#|vb zU9}oa`dmBX^Oo81ew052@xJ1E(ADPJ>uPU1H_Y#E&rT(^`gb4FsMqDdJe8L{qt}ZQ z%fI5<+mVFf&NLtF6vp`0PfSGqc2b@mU5SjSrHbD8-OnO5x55d6 zxUsDY?qAW1m6T#rlJ6D8?D+{LdCs28@j| z@caM9L9h1fObVcT=xx=7mF_{;$ZS`P^v~o$L+J$deRH;N5AUOGj=sHFDk$#Sx6!^S zdkk&Y8CuLR3C^0_1rr462m0k%bg6+lT*(jfiQCXOioV=l5?yEL+)ivoCVmg_EJdqL zXL2}&wUQF#JUN|LdnuvKT1FY2T!4*w8P%j&dsope=XcrdwQ0+0AphBX{zo)AY!G<+ z8+cRnk};%O(N|>tmc-P$TM$pt-bB`*@;zX+`OIBL*E;G--R1}5ZlLfN=$TnR1@nV? zQwQ%+?i~~4o=`5jM-ZIpjhpettfY32oVB&CNW+UCUWU?+p-Bvwf*7=c8B;*K~&`%DG zFvnmmjZ{yhQ7@i@rn~l&Tad5ubw!GAk8R3CC7e~ z&pRI9ftBypKDZ%NVSTg2!^j_jwO1QM%=7}PX(b*2H->KRKkwFlLy=SEe-4f8uTf61 zST_p)x+fB!#rmx?RWqb}KU8yz&^U*NT!G6GDAR#Umr?Ib=UoL(oGGN0mtQQv zAJTHW=st}EV7AYG2Ej~=@G`a>P4^O-ZapDa%Db7LqeH9|wN=UE@EjO%tZ616hscL^ z+1O8iDI7dc39e6^?yKhO@@c>Y{)T4#B~IgRp1g_-(5xVVt!QVy4Ta>uX{PSM)ZUM$ z6ckqWRG=pLvNmmk8Dkj%QGFT|*i z)Fr53JD$AY8ojdIn`)dupxhk==S6bbm#BMzu_oqP{HjsP=qUdV0wsn?x0KL&yj#5(Gdj5#9G#UD-*P=F5LdG9t6=1ebqIG7`YDX)eD+ zaxuxLxcnl?*sCmioXg)Q8P$nphq?Scl2Nu<_6V0xkc?xJWushviex*<`?&lB$#|+` z*;X$98Oijjoo(Xsqa@R-WwwUPhe$3Zxs1y(lIc}4yNt^ZkxZ}TS;plKlIfK)JB13B zFMoh!dX>yha(M^I^a`1s;BpJe^y-*Rb9ocV^vak$#pMQ)G0C`pk_AELWR)fU|IKMa ziLM%q{Z~F85lzbd%oB5WQp_u}4CGbh%h$e_=g~8Z+!k>IsN7d&vE);125lsvG zVnbvr_)FI8dz%Qye^Vh9yHKPFCzA1Kff2n$D+?sQ#k^;T?DyA=`^yMLTA)OwLjQI{ zocYd1&#Of8K50P_t*S7%{5El~kf+4`4h#R7dY;d5A!FXTEc0%7`McM0An_+x^9U2x{b zSBF5Xq0H-TF00+(tZ}X{s}MihkW7gvc5np9*l%%y!EJRG~Q5M-5peW5*Qw_@WXu`w!Ixdt*TJ0lpb^0LWM?>{2Ary|n>jlVhT{i&nX@~b zaEfsi2<Hl?XhlORT9Hnl>SNA8PkUDk-^JT|I-w~g=EPTW zXwgS<=EP_5AaimvzZ!|fF&cwC8T?xnUl;$|3++GJJF;$^6b;GE-{2^gb)Qi|rdlHH)1o1{LPjQ% z^+7`P^EuTVX)o)L!~BJTQHamsk0>n;Aj#=< z&`eU4ybqn!miIs3@AT4#%$t-4E%s&N0FwL-sVKO0{vH?h;<%gn{~_}KQ>>B)rm#1E zODE__i@iJtSBV7E1C^Pq<9`aBbpJBGJU8$CnD)ml_DvN4KuyAapG>p?-|(B_cYu?M zTp!2l4Mq9?Ev)xz&EK;Y`%}XHlz4FXDEl8+?9;+NE$prFtnvu#DaUgB^7p{;k7bqbXM6pAZ z+soM0T8l2VsI8^eDz?=RQ6UN?(b_grrHEGJvv(R)s+Lkj^Z)(MJ!f(gnddUqQ7f6~wgAka=^?~pX~QEBMsr=b_6 zq0df3zcLMdaT9bH#cAlv($H6=phThh=U zPDB4)8v4#O^xbLb9ck!)OhZ4AhW>UM`rp&gKT1RYBn|y&8u}M$=niaLPdJX!&@mh_ zuFuqRet--T_bW`?aG$D;($v0C(KRho{+E%;DT;y_*zNE?3-6C9uB@-r&%jPemD-__ zWT$=eJlp5~D@z*=AINR2wr#@ogJ{cWNqb!21GMoHe?s6{+GOBNl<_SI&m;lcx;BU- z?V-OtxboSuRrf7Jo(~h}$}*ADv`Yam#&Z>(DH+I$8$LzrYrHx z#&a2-^YEy>*A(QLdizGxP6vJs9`4&bcrL=jG#$@)Jd5zmz{4~O&k{VefoX^Zv@-w~ z$UMO;JYI>Zspmd5RVfN&z>{!oQo$Pk35DVr)d}BIft2Gh7H!eC8Z zBpM9Qt`9^a!H5)=1nTRXDg{;S6RB^i=~JaTP*<;2uMXEmgIcIE5UQwb zY6#V#Re?Z{>biO;W}!7fWM#e@=e5eFs-Om9U3H+UDh#!w;l|2_kj64a6LOkD!N!XE zx>ZtaRUiu68&}Fk8Uvw7ZBx|3&|a{yNvnhP_0SaUHH9hI%2+DaH${S4b)^NWC>)${ zU~M=Us0vnTQbsjA6QwU#t%y}?l06a(uB3tiumzjonrIMy1qjC)E74(EL$HDVwd{w0 zh*h&X+|-~og`$CQ4NXRlT1A^0V}e}QScTGHBmG+y2sR)PqSvEoE!Gf-tkfcPh=_VE zP#*|4SfZ=yBB4OEveuH$YO4d`M&UXw5K;XmY(sOQI;bm&u}0y$NK@rX6a?zR)F-qW z5r-J83at({Mz!ju@Jg++HrxcaR@PR52fBoVks8QBt|r_R3yClTEe0CA+bs0ggl7Wb z%1gq5#wwT`X_U=cF%k}n$YvN+h-h9}S6>g2ja3a1%Y zm|vhWg(_1-Cc2t@YTDB#T+ad3J9ihzNx5@vKf2`WzYhPF6ED&Pd2gfE0EHLyqrWKz zFy`HU^qZv|Q?|=Fi}Qj?hi!Du5h@+E(K$D#(hXLQa)zXcu+v888m3Z?jc%XwM%n0G zJ5>rv{kaZsol&XTM&~-A(s~=6^SeqLZFIZ6tv0&d-pw|;eO}*UqpP)vZEUsCRo{@l z%|=&i4e8r$bo+eXW}|a&pi+m8&b3FSP8*%`x=IIZbhSRQtjk8XpYKc?-M*hZY@^%P z$fGuTpS3PwX+YnoyHZlJZFH_-D&^Sd+{>sm%0}nDMJ1Pw&V7qY6Kr&@gDMr+=w~S+ zV6lyUwv9g1Mpye67JF@UIkZHrG8PoqGqB znr(FZK5D&afw(zJ_I;HahnW$B=-jKTlw+e$Q$)Z~Hu`iM-DRWCu+b;j=-iX5RA8g?JfTvtjjqle zESqVg&s5BSUK_o{MlZ9`XW8gWZS>hT`f?k+)JCth(LFYL$VQ)Iqc_{=b8YnXHoDhF z-)N)zZ1h$eeV&cJ*+##@M&Dwi`)%~CHu`)UeVdKGz((J0qhD#Gx7p}rHhPDR&U2+o zoi@5UTe0kbjm|TmN?kVk)rtsc+USdI^usnf&yFe`wb6P0Or;-KImZ9e6cJ~URe|ti z>_;c}?$sttbaAVW&F!Mvrf}57Ev~DU+ug9{(!kqT*I1)1!(MGw`7{@{lNLvA#MRKW zDp=);Ho0;mT5e>TOYY95xq{81U}Y3#paiiuuW}W-YMP?1-1;go=0@_l=~NP}#wmtd zQplP{d7)~wRG@jdNhd)NC#NdK8do+pt!{MTOwoYdq${@y=Wd*cpz0(S4@JVJSU9Mm z&A}{+uuK{kh`6fis;h(8az}|NTuhHB>MXi@;Slk4$q}2Q1;8+?Xqb^I9+(Ny(Z7t0se96>bWJ zpzVZ}!Ej@+ezNdx)kJNM=y>`b+xiB22gfjWA2#oix~4`nI?Yvy<00zunBt;eU~UcY z5P}6PgSFD;s%h2J>ZXOJMW)##ibExiJ+7u$6o*6?PD=2&>_N$=Jl<4a<$}xDMUhFa zrs`@Sh?e@8wv3%w$MY=8%2WNHa^n0emv}1tSI$kD{0&sLMge-x@`DzO1ZslQT$WQ@ z%koN_%kf#|stVQz)-YQw;)chQat&x5A`E`24patN8ge0=83g5nHCLas4814=2#mdM z1>d<*E}#uQ(zL@pX->(8~w|+*}}PT@ys)PMjoTT7|IIdpPYKT4JvrWRLVbpUrP;>?Wmajy|}4~o;Zl!qp)I}KNKO(>`>#LO(_0A3)7c6%$* z50PLz|xic2QSg)|6UJk5OAfO|gpu272PmQ=M%RCGEj<~Nx zm35SNVd_FW$hrFjbC;O!t=pH>fMO-yGgxjC9m{1#bgZ1 z1RSUi0d5|PduJTxm*N2A2ONci&3eECILK@TG;wfw1F#tfl>r0LE_`1MxDgxw<$xW4 z{9a2jHrU$%n*rYd+zfb}I5yIgaQLsq#`)WT+p$q@CB(+~89*j=#?82Xp_b8{lX2FN zLD{r*9LivZwiSohE67-KO3p2rvxg4!fuUr`z?^14kjYnyrxSeJ0aJW);{!K2ZX57} ztjtHqNxphKweayPcD{M>0k>skwn?etF8>acyWsm3cD`BhEb6ljPZVXR+ROZwE-df- zn)1V6Q=S9c)5)g|1+x5C$fs=e#IrK*Q5IPD;7h@G9D44s^UaSB+B7g>dF8=geiwK) zf`8MQnnwLna$$33(z1;_jJ>6Zv3vXT+-b8PJg^mU5L{t;N2L1u(Y8v0;r}(c>v9Lz+X4SKn z2Vq2?a*VW&#hA9&NySgrFUd>UkAQCiDh##r&Fj@Y^Cwbh<_cu2*zBS{xo89RQ~I#K zVqjq$gG|}k@JBuPI=R7Dv2M5X%0ayqz(T!epiXuk-XGcZnJwb^ZN*H!D)71Tt#@bI z6|zszw^xH{H~NK%zTO1BV(_iB>tOF2BU6dhT;P8O{LMJji}SnES+w5>K5P7Tf#(kJ zoM^nTO~{aOw|~iB0RB>34E&vSRhu^c%wM5tb}V`EaGn}ajJQZAe^jr0 zio}$s-GMr;shW0#1l5KwZjGCFQ!Ws^ZQ%V3yd&)L=dus7vieG%TtG{1zP05my z#U)oS^2QI1^66iCjWOQJ-TuUkc3-?b$D43mgA=1SUaZBk{Ccr3zBjw&^&2PpjDg;k zw&=Ou#L&4onL5X;r&O<=;q7U2K3UciKQ=k~&z60$!``_2)e;m%2YdB@n}5JU)qR6s zU)Sl?%RBr=-t#E)PtV&85V^*0VGP1 zb3X7i3!mag{OF+YNrf+LXRtUQD2cDj&W*h=-&m*V2TOVu=lJwN-8;-6TJ;)iZ(XPU zmR~>O*N>Sl)JP$bVL;kVKNzd4tMgU+ef(1fQwBpl&Druhe0uf2`1B(sdXG2ZCT@O= z1YUK}K&!3{nc}D4{M}@M7q2r;K zY>Dy~(ND*C>l7X0HQa?|aLoXifks9`|33D6jVy1%o8gWBCo`Pg)9H=x&hG9ON|x_- zj+v=Z9;E$FNIM<5gIL71=uo))W#r0}PeZ%%-6;*oKh=E@S1z&4^4+?-6S)?2kYm$Z zJpe_`?*ceW4;v$Qpu}qoeGtHJIPM^paKF~o(^J@1o{T}Nb4)4TcSD{S9~d1iJmT^_Ps}N##@A+R(dqC&4r1u_H+y<$zn{S%c*c^)h#VD^Pt4(> z%5*5bEIamEcb2CRj7QnEqGMHm3H{N(Hy`SRsvFv(6P*)V%6cGtVq&=fKMn~{zTP=8 z*y^0vu*Eqsw#_+lU7J_`aRG|FdZHM>ueZz;AmJs^7<~b{lD(&UOmCvaB{)4@-h?Ly zqyygVYUTsh8FycN6}xS$-zYkUZu1$Jc@v8}&F`Gg{FGgTQD_E$be|;X)yPuzbdMPu z;=Oqfb!RN@HouJ$`}m=Kh&N;OgAnUAPDUTzf0#e%z8FgjImZmQs? zEPy{{jcgQ%b=$lQJ5h#f@AzVS-gZYFVw%#+cZ=e$lwb8VNymf}^ zfx{SP$3#4j+${n**7X$C^Axt3^I!vtUkAOVt$CU^5$iJNfY#EsW-RFB7dQsTCx7ed z*@cA!Gu!j1*@mgWn^@OnUJCZ^vrHEyC5m3^%XK%oL|+|_4Z_GBwG7?#1hx=;$4{U2 zW%P&BmFk^np~HM1{C=aMV}8qr(MpaJ?o}{E{Caoy2)qBi##!E$*P|Eujmm6{IP;Bh z;G5bW`#UO$fpX0JC91Zx#a=DhNf&TrU~GPDJ^(VD7D3B`X6f7+8&;}giGtd_v!Zzf zQZePp@z3~juf^`)DAMuiPdM&eAY4MppYW>7h{YcR0QMWDrx#$u~XAJzc~ zxE7`6d{A}AY)H`^Q}GGe7vWp`vR1WL{ux{zdjc_?8nu$c?M;*JNC+J?58nud-MZx z&b7vq{<#^)=2(ADthy~P#BMZ3et#amg>>-7dT*uUe`siiqZJ_TZU9}2=CwNl%phS> zU4Sem)yn}e?l!zmC5r|hu@Ik3`sfi5 zQP`GR5Hz$t6@_Sh7(m?pu@7v~VyfNlc#8;hFcWl6yW?8ftob+e zLQ9)-;~s3^_1$8~Z68p30sT?|WDA(J&2aEVEaqhZtm|y?M ztOPZF6f4+oPz!8@M|MD_R``PXEtEi9%Zot0#uLk_e#;T(hJ6;Jxdwb}?j4v)`AIm= zgGKFZb227VjI`mfmcs+vqVrHWc{(b<&mPVbS!|=tjQt1n9ttpuCVF9L6haW!>j1#o zctEmZG4$%sp+YGt=x>>SM0v7Z_;~a`=c3*WtDeWIH$~OMZpo@Qgbm%s3W=gTHCiC= zv!kG|0^Jz-d&rqS@@afJH*g0D&I{f^`wmOh7r|L-xPOXr?8MBqXVAvzNN_Dd9E<4@ z@_q)cZj6d3*`^*7!(s~ubcSOMK-|3q1!7ptV+ILPaw)P1#|Z!k#|9`5sh{o_;h5zj zi^ESDy2A~CXq*EeqOk;-cE@ylGL`D?<8#2b{gvInxjz#}7q8xOK!la!GlaU~jp~Um z;O#B%;gdDI#>`qUnPf^lOWvKhfUwp(zy42iqzgRpqZzR!e!Zv*V=nIgFff zW{`}Lx3W=VXb1pi1c)Wv5B*h`G08Gx2F}O~l0E2nj9X)97EWc|BS?DOC2D_yQ`UAd zMvRlZ)8}IX#sbe_WS@Xz5R;mJd&gV+P_bA46h{=C8y>I==3iOlM1{mEAeO+46g24bMwZ{vm|w^pbjK z3kOZ9v91Gg@7(xvASKVxf7Pw%vO*}r!6%ILyF|F0nYr}=5FT00D<-@`banHxZZFDhX0G@I`e zpY`;_-Pg{>?vO)g0W)aA80kk20aXNmp);OX!o3nTA>ci0=wx87$J~Dkh8621KgKAH zyHBAA%F1L$$l{lWAuBmc$T|oBSz|0&n=M&SoCRW!<0Hs2PlCCaYKH;%j3MJN<_^Th zqS--8Z?W66J3G1eQ*_@yA;UT!@_yjzMd-VSIPx#d{RIHd8y=j1Zri|)!hWIBaw-;> z+n}WIqWdQBmFgd)y5uoPG={pVuo#hhz}fNwjmrg%$ryPaOO2sJ0N|)EN`NKYv;HC+ z)$y{JDi7d(5aaG#NXJw;3;R+Ok67&z|zgv&tuKSK6$$jA_~ze8!p z(76DRT}&+DUT4WZ0=J{)aLR79WUsbluL6Tjb_ry|%zXv6P)vYRg(Ac73*aTr@l7?J*|-K!#T_wC@) zVnclTaq~0m@)7SBA*k*GL-GNXlp2mTl#?jh%uwR`Y0U+<{u7$_I6`2=RZnGJT#7s! zJ9a-NZ!GeCt|5~9u{|v@=H`?bSB^lKT@LHv+jH$1r^MZ3de-F(0Y(Q|)AMh!ZT&PdgZR ziP(GQ3+Ne~l*Ss1-!tZ$=)bLEv=;rVQyPih`}tw?JC9ErP|F;IJp#P2gI*XQyujnr z&EWaU!RQ_=8}{=|YJQaGBd<^Ytb|u^ju-Q(9XyK3t=+R7Vy!K{ITiY0Y1KX3a3OR6 zO5t9m4q@px+>fG;DB99}n$H-7(Xj`obbEWH@|g4wGZSJG-e=8_tr>4Z~5ztCzR>5(D0V z%QoZo#N2usC#XGsyp z0T4UK!ETEk&qwsgx-I4-P{aHQ>g>9lV(vw*bn2(k2`JobR(uF9-O-66F6TTD#{bkC zq#A^n(=isg^(dyGH{lH;ULer%D3}qb8%GiweeTDo>ZA?&n`SAS%#_HbL}&|3E&zgt zE+#jE0_RDKFpGq9NXWJb|3vfFHOjwfs=H(c%8nzui_v9X#8!33vY7yI$c1|y*C3nG z?zjqo94MTEY`ddW5YVZKygW=4-Djft5B~_^9Ba^j6x@KaAO4#@E8m6=TY{+*LwG0_ zsg~EBE&HK+ceyoB65k6PGM=Z;X%=L>a)^uV{nODf*P|aZgA!xpkC4Mueggoef(Bv< z_itW8Q;DJr|1A9H9YJDw8*WcuMu9)!u7zZT*EUQLl^iL?&`s#0ohBOd>;EtZ!3pSw zjgO%PoSnviMRT?+q*ihF8N{N2!XC3#bY1icp(Ex^sF^3!JT^_L`4KZh%|pncnO6az z=3Zh6_sN!;8?0`=e>jNkjwdlrn9!8SIyW3AX1J5oly{te0B&X-#WwCG&4!Fc++7*EH{ z&p_gM;z8jk6*b%wp{V%?^47|dC|dLfhC8R$@!g#6;9tw@%TNHXe}e9SRh@`49PJ** z_9^)#T7}KegG4_eyNjhrhWqiUkYCRz#Qm~W$ItVT;eHGlLwy%4L>Nsn7PlGm_rS0B zK_#ILmL90_(|>@y-4T@{lS8fQA>ihxc%NVm=tR-|=m1Oc2CK#_RpWImt2EgmOdfd} zR6<L;M2JK0OC)JIn0-Z&m0e&&xSSJ6?evNz%B@DzSnln!4!~u9{pnO6M`^X-z6+6 zdiYW{H~Kn`5&bRn<`1ntxE*vg*@61BDZFvCy?3tI3X(Okor4nxRQ?NObiZx30Tb&v z?%VaxdG9|MFCH#nJH{y3&`RH+t8&aKY^vR{76c|Z-SS(}rDz8Cd5`X;Qm>);vxQRb z#o)9K&8UA9n!F87nobsC?kx4{yUk%hN^l!giL+2q1?32g7u0}Z|ZJu zqH0|BvU0oOOA4D;2@V-aHhTINSt`31~lzef5j=Fhb9Q~$6$vyk?6q6EnF||KX6@hJ9xx}WDOle5yob6J;=zvfJxR0$Tss-$OmZ%luiaj@#y;iL`-lsdK_(~_GdpM zB9=6i{Dg?wtbLydW0`f<0fEdrDTgs()(e9B&u9d*%Wa5B<5{Y2Rw4{B_&&#V9X$F8 z1mLck9_d~oA{|oZSu4UX`3g1RSaA_57{xnJ0qc(SPzCb7gT6+m{RH7%Y7|&Lf)>|c zcwpbPaRGG1#^ET6(NwF|)UBv*+)HobLTP?t#w6d(?R$Wg?1a+V{D~j%6+O?4W)33> z-4Z*)EP{x5@qp;N=7l16Ui7u(We_A{rwAEe#vWh%_<-=E#*Zm1ek{|u;S!!Bj%7GE z+y}ue`cI=t)bPU%-u)Hus7gwc+i$(B^SuY}!y5 zyyr(4bJb$3*T8vtS*_`Mk18ZXK$TX(-9oD=&lJ?b(tr4*& zI`-SL^>@vMB1cy?K|$dtYMOFo@+s_{;FN=tg;Q{_H78S3PS*(5BiJ*g-U=MStFWXF zepNcpivKr37q7VVmT#`@QzCqYwvS@2w>ti3B1dhXWBcsZ?a1_Mdoo(bYr*5-!@|rr zGB-mGR^vRg7Bu+zy8z0cnZFm>`}L$x^kESVcmUfNyv$TKJik-%!1E)>a4YwpiK3Gk z54_=PLriy{fy`bwqZ?O0MHQ&iJqVds5LjyB$%Z0k7RIPG`JDt5r;kjUnJ9V}HH21Z zL;fFl$usv+ezCnB8-u7xz?Ukq6`yDJ$?QKQg-rmW5+e3GMgZB0@ z@;G0eZT=hE7|Xs7MGp3L&z1WxMC1(B)&quT4-RGcvdz$Y#3(yS|5h!|3zM<@d*$1k z0_?Z#@6Hi99c&5T6JUHMMh@?&Xf=*-fIg_l# z<8C;i-SZNcIpOOK$l!M^5|>DSe^erNZSyC7Z13OH_q(!``J>IFP{10sABh}BZFjNy z{u=C`)N8+c%Y{-G9xpEGYisf*C>W;}*xjSe?3BG=Qp>;A z`1u@cwA-+1~D~Zn72?FUR%1jh>J}n&UZR>UH`-oe! z3~QQ-AKvLU>-b)l`*!SK#dV~otG$J<$6%c1yr#`L(SxrydGPfn&$gB$%@grWr4F12 zw&8A-yI=2i?vKa~Vn@5DlaAM82e7bqpdCZgg)ncz0=j2CZe{tcb7+XX?%C4r*~&V& zLvF>%YoGZxbc9C+;LCqFma!{N$DTCwjF_XhAy~wFv$N1SAlF&syFkWP2XpOjQJZE= z_jJWhM%*=H;^a5>%xe*Jedo^-oHyf#LOAB!2}`VFj%itpFLHTk`4%X-2}-s?X?72l zZk5(sO5>JU_q1W^6wXM*w!nhRl?79<6&DuZHMsj-(H%u50Q6i2X&^4f$q-%j7nTXT zK80OI`6hf<=Opu1sH~6bz9PP^V@S9FcXVz14$t|<71?}qg6ll@gJSFy-GS=jZ4m_j zh5}~i@V3u=tJP%8YH~A5#6i?&oPxJmX6z*RCuDs;YzC}JeHl=m2l4%##OOGVL7Y!< z-{1H9hDTH1H-rB+sFIDMML)jaU;6X&dzMEnB(9&tpJmfR-r>xr{Vl3N5GCJqa=WUIihBaV*HlIsP& zg7_ffA%R~@9D`j;E*JPh;+X8TWSPL{5yx7iC1(nJ7V(pb7YKYBajf-P(k1YVh+{*h zC36IR0dZ_CwWKESvBa?x*OL4uOHb~Z#Bp?i{Q@6GoM+Tzr@#jj=Q%amCh$z+JgX+R z3H;c2;2e9&Edu|9IM1xfR)PP6IM1!g^#Xr~IM1%hkiZWTXV4~>3w$4Oo?(+^0)LS> z&#}pw0)L)3&$7t^f$t#B^K8;3@ZS)}4g>ZJ{9)oe*CsWAKR}#k+vMRdX#d^BUBtTt zemn7ViFXS8`^3i*=lAK*|HRKDzD?lQ6CX!>i@?LgbBVVK{5s-zV86gu5Qh(8zre30 zK7sghfiEOJk$9QF=Ml$@4*LZ@i};1a3j{umIM!I$FYt?qV}k+v1%3f>?Big+z{e8D zZUFWl7yVBh2NT#Y@L|LYiFXQoFmY_}V86gKiSyi^+$Qj2u(cMaA=oeQPly*0Zx#4I zi1VnJTrcoxq{V-y-lZaS!oUfnP^_4)OH@UqO5>@sPl;CGI7@T;L0d`-qnbd>-+6#Agb87V#^H z7YKYBaX)dFz%L>`pLmYIFCe~vxF+zi#IGcN_?YN_;$_6U1U`)TRm3|5KA8AI;%&rb z0xnX2T+tQeM9Ngm852q2{Ova;sMKWTte;Ke#9>c^ByxZ=5E3U!reZ0G6D1QT5GH)Z zMaUayq2l+~n9bn~g~W-RsY42uYG_M0S#-&!sdkl|Y{|%pmr1qfuuyH2)5>t7X7Wh> ze|>4`vyn425*G@lMv-cQ=G8hD=VUZ z1g`vU)&9Tx`vNO2S(tyi>x5Bz#iBy%O%1@B;~tNI0-gwlCp$38zRnN5Ul%R!g`_ z!doP~Q^JQNd{V-_67HAq0|}2vI8Oc;_&8kR;b-N7_$>;*ztmNDX?{We6xRe<>Z-3_ z)zB2K$+PHr1$i}73JRuPT2Q>=l8dKYnpb#90n!xw-h%a0w-}YUHEvYnq!V|KL8qD!3vh`tgjcF){qU zV5FA6D;HRy<%>VJ4r%#~P0?U}G*F}ESFLG`tZC5lYZ_zuQm;NpMc6`X1Cd%S-}+>o zDClAQP67qUT&O;ZToeCnUCR&FR#b=a%K{a(Rp3;ZmXF^r1Q-9hUdzW17S?I`qFQCN z3BUH2UuA*oDp7|#6@hRVe>KlW0u6PQPzAp}mv6OztW|eK1U2Eb2L4PP4XF?g5I<>W zMbZEMlhZ8cR<*A1@1vO%?7yD%pNF~L48o)8x5i*{TdG%*9cW#ts@FP$;wD-om6}ZawEt!N8xJSQE(+poS$)_2MJ{oCu0Z%2LlSn03!u@k;w{XMA5 zzE}0tK2ZI8CR=D6l4@5$<(EIA%x-_@TEVV$F0){n1yY}?z9Q^H#$MmG$tqF*4ok6O zl(2vO1O4i&bHvhbTNSpcft9BI+n`gXvOo2^-xXGc&C-5Z{VVbC0Sd@cpco{~mi5*A ot%{X61wTfC$}1kiowEK2I}!Q*yfjbgZfD&m>wjq{o}m8!1DZ>mwg3PC literal 0 HcmV?d00001 diff --git a/conf/system/include/14.0/setfib b/conf/system/include/14.0/setfib new file mode 100755 index 0000000000000000000000000000000000000000..36874cbe789e057f4bfe595393064da0908f6fad GIT binary patch literal 7632 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 literal 0 HcmV?d00001 diff --git a/conf/system/include/14.0/sum b/conf/system/include/14.0/sum new file mode 100755 index 0000000000000000000000000000000000000000..9cd45d3b92c2382dead198034cab375ea9ae84e7 GIT binary patch literal 11632 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 Te(!`OHmU>X^9R_egl_f^oh*i> literal 0 HcmV?d00001 diff --git a/conf/system/include/14.1/diff3 b/conf/system/include/14.1/diff3 new file mode 100755 index 0000000000000000000000000000000000000000..8c72e80b74805434eba0e2d2540782a135631604 GIT binary patch literal 28736 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 + echo "Usage: $pgm action [arguments]" + echo "Actions:" + for action in \ + addm \ + show \ + show1 \ + destroy \ + ; do + eval usage=\"\$jib_${action}_usage\" + [ "$usage" ] || continue + eval descr=\"\$jib_${action}_descr\" + printf "\t%s\n\t\t%s\n" "$usage" "$descr" + done + exit $FAILURE +} + +action_usage() +{ + local usage descr action="$1" + eval usage=\"\$jib_${action}_usage\" + echo "Usage: $pgm $usage" >&2 + eval descr=\"\$jib_${action}_descr\" + printf "\t%s\n" "$descr" + exit $FAILURE +} + +derive_mac() +{ + local OPTIND=1 OPTARG __flag + local __mac_num= __make_pair= + while getopts 2n: __flag; do + case "$__flag" in + 2) __make_pair=1 ;; + n) __mac_num=${OPTARG%%[^0-9]*} ;; + esac + done + shift $(( $OPTIND - 1 )) + + if [ ! "$__mac_num" ]; then + eval __mac_num=\${_${iface}_num:--1} + __mac_num=$(( $__mac_num + 1 )) + eval _${iface}_num=\$__mac_num + fi + + local __iface="$1" __name="$2" __var_to_set="$3" __var_to_set_b="$4" + local __iface_devid __new_devid __num __new_devid_b + # + # Calculate MAC address derived from given iface. + # + # The formula I'm using is ``NP:SS:SS:II:II:II'' where: + # + N denotes 4 bits used as a counter to support branching + # each parent interface up to 15 times under the same jail + # name (see S below). + # + P denotes the special nibble whose value, if one of + # 2, 6, A, or E (but usually 2) denotes a privately + # administered MAC address (while remaining routable). + # + S denotes 16 bits, the sum(1) value of the jail name. + # + I denotes bits that are inherited from parent interface. + # + # The S bits are a CRC-16 checksum of NAME, allowing the jail + # to change link numbers in ng_bridge(4) without affecting the + # MAC address. Meanwhile, if... + # + the jail NAME changes (e.g., it was duplicated and given + # a new name with no other changes) + # + the underlying network interface changes + # + the jail is moved to another host + # the MAC address will be recalculated to a new, similarly + # unique value preventing conflict. + # + __iface_devid=$( ifconfig $__iface ether | awk '/ether/,$0=$2' ) + # ??:??:??:II:II:II + __new_devid=${__iface_devid#??:??:??} # => :II:II:II + # => :SS:SS:II:II:II + __num=$( set -- `echo -n "$__name" | sum` && echo $1 ) + __new_devid=$( printf :%02x:%02x \ + $(( $__num >> 8 & 255 )) $(( $__num & 255 )) )$__new_devid + # => P:SS:SS:II:II:II + case "$__iface_devid" in + ?2:*) __new_devid=a$__new_devid __new_devid_b=e$__new_devid ;; + ?[Ee]:*) __new_devid=2$__new_devid __new_devid_b=6$__new_devid ;; + *) __new_devid=2$__new_devid __new_devid_b=e$__new_devid + esac + # => NP:SS:SS:II:II:II + __new_devid=$( printf %x $(( $__mac_num & 15 )) )$__new_devid + __new_devid_b=$( printf %x $(( $__mac_num & 15 )) )$__new_devid_b + + # + # Return derivative MAC address(es) + # + if [ "$__make_pair" ]; then + if [ "$__var_to_set" -a "$__var_to_set_b" ]; then + eval $__var_to_set=\$__new_devid + eval $__var_to_set_b=\$__new_devid_b + else + echo $__new_devid $__new_devid_b + fi + else + if [ "$__var_to_set" ]; then + eval $__var_to_set=\$__new_devid + else + echo $__new_devid + fi + fi +} + +mustberoot_to_continue() +{ + if [ "$( id -u )" -ne 0 ]; then + echo "Must run as root!" >&2 + exit $FAILURE + fi +} + +jib_addm_usage="addm [-b BRIDGE_NAME] NAME [!]iface0 [[!]iface1 ...]" +jib_addm_descr="Creates e0b_NAME [e1b_NAME ...]" +jib_addm() +{ + local OPTIND=1 OPTARG flag bridge=bridge + while getopts b: flag; do + case "$flag" in + b) bridge="${OPTARG:-bridge}" ;; + *) action_usage addm # NOTREACHED + esac + done + shift $(( $OPTIND - 1 )) + + local name="$1" + [ "${name:-x}" = "${name#*[!0-9a-zA-Z_]}" -a $# -gt 1 ] || + action_usage addm # NOTREACHED + shift 1 # name + + mustberoot_to_continue + + local iface eiface_devid_a eiface_devid_b + local new no_derive num quad i=0 + for iface in $*; do + + no_derive= + case "$iface" in + !*) iface=${iface#!} no_derive=1 ;; + esac + + # Make sure the interface doesn't exist already + if ifconfig "e${i}a_$name" > /dev/null 2>&1; then + i=$(( $i + 1 )) + continue + fi + + # Bring the interface up + ifconfig $iface up || return + + # Make sure the interface has been bridged + if ! ifconfig "$iface$bridge" > /dev/null 2>&1; then + new=$( ifconfig bridge create ) || return + ifconfig $new addm $iface || return + ifconfig $new name "$iface$bridge" || return + ifconfig "$iface$bridge" up || return + fi + + # Create a new interface to the bridge + new=$( ifconfig epair create ) || return + ifconfig "$iface$bridge" addm $new || return + + # Rename the new interface + ifconfig $new name "e${i}a_$name" || return + ifconfig ${new%a}b name "e${i}b_$name" || return + ifconfig "e${i}a_$name" up || return + ifconfig "e${i}b_$name" up || return + + # + # Set the MAC address of the new interface using a sensible + # algorithm to prevent conflicts on the network. + # + eiface_devid_a= eiface_devid_b= + [ "$no_derive" ] || derive_mac -2 $iface "$name" \ + eiface_devid_a eiface_devid_b + if [ "$eiface_devid_a" -a "$eiface_devid_b" ]; then + ifconfig "e${i}a_$name" ether $eiface_devid_a + ifconfig "e${i}b_$name" ether $eiface_devid_b + fi > /dev/null 2>&1 + + i=$(( $i + 1 )) + done # for iface +} + +jib_show_usage="show" +jib_show_descr="List possible NAME values for \`show NAME'" +jib_show1_usage="show NAME" +jib_show1_descr="Lists e0b_NAME [e1b_NAME ...]" +jib_show2_usage="show [NAME]" +jib_show() +{ + local OPTIND=1 OPTARG flag + while getopts "" flag; do + case "$flag" in + *) action_usage show2 # NOTREACHED + esac + done + shift $(( $OPTIND - 1 )) + if [ $# -eq 0 ]; then + ifconfig | awk ' + /^[^:[:space:]]+:/ { + iface = $1 + sub(/:.*/, "", iface) + next + } + $1 == "groups:" { + for (n = split($0, group); n > 1; n--) { + if (group[n] != "bridge") continue + print iface + next + } + }' | + xargs -rn1 ifconfig | + awk '$1 == "member:" && + sub(/^e[[:digit:]]+a_/, "", $2), $0 = $2' | + sort -u + return + fi + ifconfig | awk -v name="$1" ' + match($0, /^e[[:digit:]]+a_/) && sub(/:.*/, "") && + substr($1, RSTART + RLENGTH) == name + ' | sort +} + +jib_destroy_usage="destroy NAME" +jib_destroy_descr="Destroy e0b_NAME [e1b_NAME ...]" +jib_destroy() +{ + local OPTIND=1 OPTARG flag + while getopts "" flag; do + case "$flag" in + *) action_usage destroy # NOTREACHED + esac + done + shift $(( $OPTIND -1 )) + local name="$1" + [ "${name:-x}" = "${name#*[!0-9a-zA-Z_]}" -a $# -eq 1 ] || + action_usage destroy # NOTREACHED + mustberoot_to_continue + jib_show "$name" | xargs -rn1 -I eiface ifconfig eiface destroy +} + +############################################################ MAIN + +# +# Command-line arguments +# +action="$1" +[ "$action" ] || usage # NOTREACHED + +# +# Validate action argument +# +if [ "$BASH_VERSION" ]; then + type="$( type -t "jib_$action" )" || usage # NOTREACHED +else + type="$( type "jib_$action" 2> /dev/null )" || usage # NOTREACHED +fi +case "$type" in +*function) + shift 1 # action + eval "jib_$action" \"\$@\" + ;; +*) usage # NOTREACHED +esac + +################################################################################ +# END +################################################################################ diff --git a/conf/system/include/14.1/makewhatis b/conf/system/include/14.1/makewhatis new file mode 100755 index 0000000000000000000000000000000000000000..1fbcba096a306e795e7a7aaada67f0b85dc29469 GIT binary patch literal 513600 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

xHhM*C|q@i+9;x>tpKiHWUXt)`Xw>;kD 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 +# (C) Copyright 2003 by Mike Frantzen +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# +# This fingerprint database is adapted from Michal Zalewski's p0f passive +# operating system package. The last database sync was from a Nov 3 2003 +# p0f.fp. +# +# +# Each line in this file specifies a single fingerprint. Please read the +# information below carefully before attempting to append any signatures +# reported as UNKNOWN to this file to avoid mistakes. +# +# We use the following set metrics for fingerprinting: +# +# - Window size (WSS) - a highly OS dependent setting used for TCP/IP +# performance control (max. amount of data to be sent without ACK). +# Some systems use a fixed value for initial packets. On other +# systems, it is a multiple of MSS or MTU (MSS+40). In some rare +# cases, the value is just arbitrary. +# +# NEW SIGNATURE: if p0f reported a special value of 'Snn', the number +# appears to be a multiple of MSS (MSS*nn); a special value of 'Tnn' +# means it is a multiple of MTU ((MSS+40)*nn). Unless you notice the +# value of nn is not fixed (unlikely), just copy the Snn or Tnn token +# literally. If you know this device has a simple stack and a fixed +# MTU, you can however multiply S value by MSS, or T value by MSS+40, +# and put it instead of Snn or Tnn. +# +# If WSS otherwise looks like a fixed value (for example a multiple +# of two), or if you can confirm the value is fixed, please quote +# it literally. If there's no apparent pattern in WSS chosen, you +# should consider wildcarding this value. +# +# - Overall packet size - a function of all IP and TCP options and bugs. +# +# NEW SIGNATURE: Copy this value literally. +# +# - Initial TTL - We check the actual TTL of a received packet. It can't +# be higher than the initial TTL, and also shouldn't be dramatically +# lower (maximum distance is defined as 40 hops). +# +# NEW SIGNATURE: *Never* copy TTL from a p0f-reported signature literally. +# You need to determine the initial TTL. The best way to do it is to +# check the documentation for a remote system, or check its settings. +# A fairly good method is to simply round the observed TTL up to +# 32, 64, 128, or 255, but it should be noted that some obscure devices +# might not use round TTLs (in particular, some shoddy appliances use +# "original" initial TTL settings). If not sure, you can see how many +# hops you're away from the remote party with traceroute or mtr. +# +# - Don't fragment flag (DF) - some modern OSes set this to implement PMTU +# discovery. Others do not bother. +# +# NEW SIGNATURE: Copy this value literally. +# +# - Maximum segment size (MSS) - this setting is usually link-dependent. P0f +# uses it to determine link type of the remote host. +# +# NEW SIGNATURE: Always wildcard this value, except for rare cases when +# you have an appliance with a fixed value, know the system supports only +# a very limited number of network interface types, or know the system +# is using a value it pulled out of nowhere. Specific unique MSS +# can be used to tell Google crawlbots from the rest of the population. +# +# - Window scaling (WSCALE) - this feature is used to scale WSS. +# It extends the size of a TCP/IP window to 32 bits. Some modern +# systems implement this feature. +# +# NEW SIGNATURE: Observe several signatures. Initial WSCALE is often set +# to zero or other low value. There's usually no need to wildcard this +# parameter. +# +# - Timestamp - some systems that implement timestamps set them to +# zero in the initial SYN. This case is detected and handled appropriately. +# +# - Selective ACK permitted - a flag set by systems that implement +# selective ACK functionality. +# +# - The sequence of TCP all options (MSS, window scaling, selective ACK +# permitted, timestamp, NOP). Other than the options previously +# discussed, p0f also checks for timestamp option (a silly +# extension to broadcast your uptime ;-), NOP options (used for +# header padding) and sackOK option (selective ACK feature). +# +# NEW SIGNATURE: Copy the sequence literally. +# +# To wildcard any value (except for initial TTL or TCP options), replace +# it with '*'. You can also use a modulo operator to match any values +# that divide by nnn - '%nnn'. +# +# Fingerprint entry format: +# +# wwww:ttt:D:ss:OOO...:OS:Version:Subtype:Details +# +# wwww - window size (can be *, %nnn, Snn or Tnn). The special values +# "S" and "T" which are a multiple of MSS or a multiple of MTU +# respectively. +# ttt - initial TTL +# D - don't fragment bit (0 - not set, 1 - set) +# ss - overall SYN packet size +# OOO - option value and order specification (see below) +# OS - OS genre (Linux, Solaris, Windows) +# Version - OS Version (2.0.27 on x86, etc) +# Subtype - OS subtype or patchlevel (SP3, lo0) +# details - Generic OS details +# +# If OS genre starts with '*', p0f will not show distance, link type +# and timestamp data. It is useful for userland TCP/IP stacks of +# network scanners and so on, where many settings are randomized or +# bogus. +# +# If OS genre starts with @, it denotes an approximate hit for a group +# of operating systems (signature reporting still enabled in this case). +# Use this feature at the end of this file to catch cases for which +# you don't have a precise match, but can tell it's Windows or FreeBSD +# or whatnot by looking at, say, flag layout alone. +# +# Option block description is a list of comma or space separated +# options in the order they appear in the packet: +# +# N - NOP option +# Wnnn - window scaling option, value nnn (or * or %nnn) +# Mnnn - maximum segment size option, value nnn (or * or %nnn) +# S - selective ACK OK +# T - timestamp +# T0 - timestamp with a zero value +# +# To denote no TCP options, use a single '.'. +# +# Please report any additions to this file, or any inaccuracies or +# problems spotted, to the maintainers: lcamtuf@coredump.cx, +# frantzen@openbsd.org and bugs@openbsd.org with a tcpdump packet +# capture of the relevant SYN packet(s) +# +# A test and submission page is available at +# http://lcamtuf.coredump.cx/p0f-help/ +# +# +# WARNING WARNING WARNING +# ----------------------- +# +# Do not add a system X as OS Y just because NMAP says so. It is often +# the case that X is a NAT firewall. While nmap is talking to the +# device itself, p0f is fingerprinting the guy behind the firewall +# instead. +# +# When in doubt, use common sense, don't add something that looks like +# a completely different system as Linux or FreeBSD or LinkSys router. +# Check DNS name, establish a connection to the remote host and look +# at SYN+ACK - does it look similar? +# +# Some users tweak their TCP/IP settings - enable or disable RFC1323 +# functionality, enable or disable timestamps or selective ACK, +# disable PMTU discovery, change MTU and so on. Always compare a new rule +# to other fingerprints for this system, and verify the system isn't +# "customized" before adding it. It is OK to add signature variants +# caused by a commonly used software (personal firewalls, security +# packages, etc), but it makes no sense to try to add every single +# possible /proc/sys/net/ipv4 tweak on Linux or so. +# +# KEEP IN MIND: Some packet firewalls configured to normalize outgoing +# traffic (OpenBSD pf with "scrub" enabled, for example) will, well, +# normalize packets. Signatures will not correspond to the originating +# system (and probably not quite to the firewall either). +# +# NOTE: Try to keep this file in some reasonable order, from most to +# least likely systems. This will speed up operation. Also keep most +# generic and broad rules near the end. +# + +########################## +# Standard OS signatures # +########################## + +# ----------------- AIX --------------------- + +# AIX is first because its signatures are close to NetBSD, MacOS X and +# Linux 2.0, but it uses a fairly rare MSSes, at least sometimes... +# This is a shoddy hack, though. + +45046:64:0:44:M*: AIX:4.3::AIX 4.3 +16384:64:0:44:M512: AIX:4.3:2-3:AIX 4.3.2 and earlier + +16384:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2 +16384:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2 +32768:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2 +32768:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2 +65535:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2 +65535:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2 +65535:64:0:64:M*,N,W1,N,N,T,N,N,S: AIX:5.3:ML1:AIX 5.3 ML1 + +# ----------------- Linux ------------------- + +# S1:64:0:44:M*:A: Linux:1.2::Linux 1.2.x (XXX quirks support) +512:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x +16384:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x + +# Endian snafu! Nelson says "ha-ha": +2:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x (MkLinux) on Mac +64:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x (MkLinux) on Mac + + +S4:64:1:60:M1360,S,T,N,W0: Linux:google::Linux (Google crawlbot) + +S2:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4 (big boy) +S3:64:1:60:M*,S,T,N,W0: Linux:2.4:.18-21:Linux 2.4.18 and newer +S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W0: Linux:2.6:.1-7:Linux 2.4/2.6 <= 2.6.7 + +S4:64:1:60:M*,S,T,N,W5: Linux:2.6::Linux 2.6 (newer, 1) +S4:64:1:60:M*,S,T,N,W6: Linux:2.6::Linux 2.6 (newer, 2) +S4:64:1:60:M*,S,T,N,W7: Linux:2.6::Linux 2.6 (newer, 3) +T4:64:1:60:M*,S,T,N,W7: Linux:2.6::Linux 2.6 (newer, 4) + +S10:64:1:60:M*,S,T,N,W4: Linux:3.0::Linux 3.0 + +S3:64:1:60:M*,S,T,N,W1: Linux:2.5::Linux 2.5 (sometimes 2.4) +S4:64:1:60:M*,S,T,N,W1: Linux:2.5-2.6::Linux 2.5/2.6 +S3:64:1:60:M*,S,T,N,W2: Linux:2.5::Linux 2.5 (sometimes 2.4) +S4:64:1:60:M*,S,T,N,W2: Linux:2.5::Linux 2.5 (sometimes 2.4) + +S20:64:1:60:M*,S,T,N,W0: Linux:2.2:20-25:Linux 2.2.20 and newer +S22:64:1:60:M*,S,T,N,W0: Linux:2.2::Linux 2.2 +S11:64:1:60:M*,S,T,N,W0: Linux:2.2::Linux 2.2 + +# Popular cluster config scripts disable timestamps and +# selective ACK: +S4:64:1:48:M1460,N,W0: Linux:2.4:cluster:Linux 2.4 in cluster + +# This needs to be investigated. On some systems, WSS +# is selected as a multiple of MTU instead of MSS. I got +# many submissions for this for many late versions of 2.4: +T4:64:1:60:M1412,S,T,N,W0: Linux:2.4::Linux 2.4 (late, uncommon) + +# This happens only over loopback, but let's make folks happy: +32767:64:1:60:M16396,S,T,N,W0: Linux:2.4:lo0:Linux 2.4 (local) +S8:64:1:60:M3884,S,T,N,W0: Linux:2.2:lo0:Linux 2.2 (local) + +# Opera visitors: +16384:64:1:60:M*,S,T,N,W0: Linux:2.2:Opera:Linux 2.2 (Opera?) +32767:64:1:60:M*,S,T,N,W0: Linux:2.4:Opera:Linux 2.4 (Opera?) + +# Some fairly common mods: +S4:64:1:52:M*,N,N,S,N,W0: Linux:2.4:ts:Linux 2.4 w/o timestamps +S22:64:1:52:M*,N,N,S,N,W0: Linux:2.2:ts:Linux 2.2 w/o timestamps + + +# ----------------- FreeBSD ----------------- + +16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:4.0-4.2::FreeBSD 2.0-4.2 +16384:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 + +1024:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 + +57344:64:1:44:M*: FreeBSD:4.6-4.8:noRFC1323:FreeBSD 4.6-4.8 (no RFC1323) +57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.9::FreeBSD 4.6-4.9 + +32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.1 (or MacOS X) +32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.11::FreeBSD 4.7-5.2 +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.7-5.2 + +# XXX need quirks support +# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (1) +# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (2) +# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (3) +# 65535:64:1:44:M*:Z:FreeBSD:5.2::FreeBSD 5.2 (no RFC1323) + +# 16384:64:1:60:M*,N,N,N,N,N,N,T:FreeBSD:4.4:noTS:FreeBSD 4.4 (w/o timestamps) + +# ----------------- NetBSD ------------------ + +16384:64:0:60:M*,N,W0,N,N,T: NetBSD:1.3::NetBSD 1.3 +65535:64:0:60:M*,N,W0,N,N,T0: NetBSD:1.6:opera:NetBSD 1.6 (Opera) +16384:64:0:60:M*,N,W0,N,N,T0: NetBSD:1.6::NetBSD 1.6 +16384:64:1:60:M*,N,W0,N,N,T0: NetBSD:1.6:df:NetBSD 1.6 (DF) +65535:64:1:60:M*,N,W1,N,N,T0: NetBSD:1.6::NetBSD 1.6W-current (DF) +65535:64:1:60:M*,N,W0,N,N,T0: NetBSD:1.6::NetBSD 1.6X (DF) +32768:64:1:60:M*,N,W0,N,N,T0: NetBSD:1.6:randomization:NetBSD 1.6ZH-current (w/ ip_id randomization) + +# ----------------- OpenBSD ----------------- + +16384:64:0:60:M*,N,W0,N,N,T: OpenBSD:2.6::NetBSD 1.3 (or OpenBSD 2.6) +16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.8::OpenBSD 3.0-4.8 +16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.8:no-df:OpenBSD 3.0-4.8 (scrub no-df) +57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0::OpenBSD 3.3-4.0 +57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0:no-df:OpenBSD 3.3-4.0 (scrub no-df) + +65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:opera:OpenBSD 3.0-4.0 (Opera) + +16384:64:1:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9::OpenBSD 4.9 +16384:64:0:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9:no-df:OpenBSD 4.9 (scrub no-df) + +16384:64:1:64:M*,N,N,S,N,W6,N,N,T: OpenBSD:6.1::OpenBSD 6.1 +16384:64:0:64:M*,N,N,S,N,W6,N,N,T: OpenBSD:6.1:no-df:OpenBSD 6.1 (scrub no-df) + +# ----------------- DragonFly BSD ----------------- + +57344:64:1:60:M*,N,W0,N,N,T: DragonFly:1.0:A:DragonFly 1.0A +57344:64:0:64:M*,N,W0,N,N,S,N,N,T: DragonFly:1.2-1.12::DragonFly 1.2-1.12 +5840:64:1:60:M*,S,T,N,W4: DragonFly:2.0-2.1::DragonFly 2.0-2.1 +57344:64:0:64:M*,N,W0,N,N,S,N,N,T: DragonFly:2.2-2.3::DragonFly 2.2-2.3 +57344:64:0:64:M*,N,W5,N,N,S,N,N,T: DragonFly:2.4-2.7::DragonFly 2.4-2.7 + +# ----------------- Solaris ----------------- + +S17:64:1:64:N,W3,N,N,T0,N,N,S,M*: Solaris:8:RFC1323:Solaris 8 RFC1323 +S17:64:1:48:N,N,S,M*: Solaris:8::Solaris 8 +S17:255:1:44:M*: Solaris:2.5-2.7::Solaris 2.5 to 7 + +S6:255:1:44:M*: Solaris:2.6-2.7::Solaris 2.6 to 7 +S23:255:1:44:M*: Solaris:2.5:1:Solaris 2.5.1 +S34:64:1:48:M*,N,N,S: Solaris:2.9::Solaris 9 +S44:255:1:44:M*: Solaris:2.7::Solaris 7 + +4096:64:0:44:M1460: SunOS:4.1::SunOS 4.1.x + +S34:64:1:52:M*,N,W0,N,N,S: Solaris:10:beta:Solaris 10 (beta) +32850:64:1:64:M*,N,N,T,N,W1,N,N,S: Solaris:10::Solaris 10 1203 + +# ----------------- IRIX -------------------- + +49152:64:0:44:M*: IRIX:6.4::IRIX 6.4 +61440:64:0:44:M*: IRIX:6.2-6.5::IRIX 6.2-6.5 +49152:64:0:52:M*,N,W2,N,N,S: IRIX:6.5:RFC1323:IRIX 6.5 (RFC1323) +49152:64:0:52:M*,N,W3,N,N,S: IRIX:6.5:RFC1323:IRIX 6.5 (RFC1323) + +61440:64:0:48:M*,N,N,S: IRIX:6.5:12-21:IRIX 6.5.12 - 6.5.21 +49152:64:0:48:M*,N,N,S: IRIX:6.5:15-21:IRIX 6.5.15 - 6.5.21 + +49152:60:0:64:M*,N,W2,N,N,T,N,N,S: IRIX:6.5:IP27:IRIX 6.5 IP27 + + +# ----------------- Tru64 ------------------- + +32768:64:1:48:M*,N,W0: Tru64:4.0::Tru64 4.0 (or OS/2 Warp 4) +32768:64:0:48:M*,N,W0: Tru64:5.0::Tru64 5.0 +8192:64:0:44:M1460: Tru64:5.1:noRFC1323:Tru64 6.1 (no RFC1323) (or QNX 6) +61440:64:0:48:M*,N,W0: Tru64:5.1a:JP4:Tru64 v5.1a JP4 (or OpenVMS 7.x on Compaq 5.x stack) + +# ----------------- OpenVMS ----------------- + +6144:64:1:60:M*,N,W0,N,N,T: OpenVMS:7.2::OpenVMS 7.2 (Multinet 4.4 stack) + +# ----------------- MacOS ------------------- + +# XXX Need EOL tcp opt support +# S2:255:1:48:M*,W0,E:.:MacOS:8.6 classic + +# XXX some of these use EOL too +16616:255:1:48:M*,W0: MacOS:7.3-7.6:OTTCP:MacOS 7.3-8.6 (OTTCP) +16616:255:1:48:M*,W0: MacOS:8.0-8.6:OTTCP:MacOS 7.3-8.6 (OTTCP) +16616:255:1:48:M*,N,N,N: MacOS:8.1-8.6:OTTCP:MacOS 8.1-8.6 (OTTCP) +32768:255:1:48:M*,W0,N: MacOS:9.0-9.2::MacOS 9.0-9.2 +65535:255:1:48:M*,N,N,N,N: MacOS:9.1::MacOS 9.1 (OT 2.7.4) + + +# ----------------- Windows ----------------- + +# Windows TCP/IP stack is a mess. For most recent XP, 2000 and +# even 98, the patchlevel, not the actual OS version, is more +# relevant to the signature. They share the same code, so it would +# seem. Luckily for us, almost all Windows 9x boxes have an +# awkward MSS of 536, which I use to tell one from another +# in most difficult cases. + +8192:32:1:44:M*: Windows:3.11::Windows 3.11 (Tucows) +S44:64:1:64:M*,N,W0,N,N,T0,N,N,S: Windows:95::Windows 95 +8192:128:1:64:M*,N,W0,N,N,T0,N,N,S: Windows:95:b:Windows 95b + +# There were so many tweaking tools and so many stack versions for +# Windows 98 it is no longer possible to tell them from each other +# without some very serious research. Until then, there's an insane +# number of signatures, for your amusement: + +S44:32:1:48:M*,N,N,S: Windows:98:lowTTL:Windows 98 (low TTL) +8192:32:1:48:M*,N,N,S: Windows:98:lowTTL:Windows 98 (low TTL) +%8192:64:1:48:M536,N,N,S: Windows:98::Windows 98 +%8192:128:1:48:M536,N,N,S: Windows:98::Windows 98 +S4:64:1:48:M*,N,N,S: Windows:98::Windows 98 +S6:64:1:48:M*,N,N,S: Windows:98::Windows 98 +S12:64:1:48:M*,N,N,S: Windows:98::Windows 98 +T30:64:1:64:M1460,N,W0,N,N,T0,N,N,S: Windows:98::Windows 98 +32767:64:1:48:M*,N,N,S: Windows:98::Windows 98 +37300:64:1:48:M*,N,N,S: Windows:98::Windows 98 +46080:64:1:52:M*,N,W3,N,N,S: Windows:98:RFC1323:Windows 98 (RFC1323) +65535:64:1:44:M*: Windows:98:noSack:Windows 98 (no sack) +S16:128:1:48:M*,N,N,S: Windows:98::Windows 98 +S16:128:1:64:M*,N,W0,N,N,T0,N,N,S: Windows:98::Windows 98 +S26:128:1:48:M*,N,N,S: Windows:98::Windows 98 +T30:128:1:48:M*,N,N,S: Windows:98::Windows 98 +32767:128:1:52:M*,N,W0,N,N,S: Windows:98::Windows 98 +60352:128:1:48:M*,N,N,S: Windows:98::Windows 98 +60352:128:1:64:M*,N,W2,N,N,T0,N,N,S: Windows:98::Windows 98 + +# What's with 1414 on NT? +T31:128:1:44:M1414: Windows:NT:4.0:Windows NT 4.0 SP6a +64512:128:1:44:M1414: Windows:NT:4.0:Windows NT 4.0 SP6a +8192:128:1:44:M*: Windows:NT:4.0:Windows NT 4.0 (older) + +# Windows XP and 2000. Most of the signatures that were +# either dubious or non-specific (no service pack data) +# were deleted and replaced with generics at the end. + +65535:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4, XP SP1 +65535:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP4, XP SP1 +%8192:128:1:48:M*,N,N,S: Windows:2000:SP2+:Windows 2000 SP2, XP SP1 (seldom 98 4.10.2222) +%8192:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP2, XP SP1 (seldom 98 4.10.2222) +S20:128:1:48:M*,N,N,S: Windows:2000::Windows 2000/XP SP3 +S20:128:1:48:M*,N,N,S: Windows:XP:SP3:Windows 2000/XP SP3 +S45:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4, XP SP 1 +S45:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP4, XP SP 1 +40320:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4 + +S6:128:1:48:M*,N,N,S: Windows:2000:SP2:Windows XP, 2000 SP2+ +S6:128:1:48:M*,N,N,S: Windows:XP::Windows XP, 2000 SP2+ +S12:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows XP SP1 +S44:128:1:48:M*,N,N,S: Windows:2000:SP3:Windows Pro SP1, 2000 SP3 +S44:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows Pro SP1, 2000 SP3 +64512:128:1:48:M*,N,N,S: Windows:2000:SP3:Windows SP1, 2000 SP3 +64512:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows SP1, 2000 SP3 +32767:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows SP1, 2000 SP4 +32767:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows SP1, 2000 SP4 + +8192:128:1:52:M*,N,W2,N,N,S: Windows:Vista::Windows Vista/7 + +# Odds, ends, mods: + +S52:128:1:48:M1260,N,N,S: Windows:2000:cisco:Windows XP/2000 via Cisco +S52:128:1:48:M1260,N,N,S: Windows:XP:cisco:Windows XP/2000 via Cisco +65520:128:1:48:M*,N,N,S: Windows:XP::Windows XP bare-bone +16384:128:1:52:M536,N,W0,N,N,S: Windows:2000:ZoneAlarm:Windows 2000 w/ZoneAlarm? +2048:255:0:40:.: Windows:.NET::Windows .NET Enterprise Server + +44620:64:0:48:M*,N,N,S: Windows:ME::Windows ME no SP (?) +S6:255:1:48:M536,N,N,S: Windows:95:winsock2:Windows 95 winsock 2 +32768:32:1:52:M1460,N,W0,N,N,S: Windows:2003:AS:Windows 2003 AS + + +# No need to be more specific, it passes: +# *:128:1:48:M*,N,N,S:U:-Windows:XP/2000 while downloading (leak!) XXX quirk +# there is an equiv similar generic sig w/o the quirk + +# ----------------- HP/UX ------------------- + +32768:64:1:44:M*: HP-UX:B.10.20::HP-UX B.10.20 +32768:64:0:48:M*,W0,N: HP-UX:11.0::HP-UX 11.0 +32768:64:1:48:M*,W0,N: HP-UX:11.10::HP-UX 11.0 or 11.11 +32768:64:1:48:M*,W0,N: HP-UX:11.11::HP-UX 11.0 or 11.11 + +# Whoa. Hardcore WSS. +0:64:0:48:M*,W0,N: HP-UX:B.11.00:A:HP-UX B.11.00 A (RFC1323) + +# ----------------- RiscOS ------------------ + +# We don't yet support the ?12 TCP option +#16384:64:1:68:M1460,N,W0,N,N,T,N,N,?12: RISCOS:3.70-4.36::RISC OS 3.70-4.36 +12288:32:0:44:M536: RISC OS:3.70:4.10:RISC OS 3.70 inet 4.10 + +# XXX quirk +# 4096:64:1:56:M1460,N,N,T:T: RISC OS:3.70:freenet:RISC OS 3.70 freenet 2.00 + + + +# ----------------- BSD/OS ------------------ + +# Once again, power of two WSS is also shared by MacOS X with DF set +8192:64:1:60:M1460,N,W0,N,N,T: BSD/OS:3.1::BSD/OS 3.1-4.3 (or MacOS X 10.2 w/DF) +8192:64:1:60:M1460,N,W0,N,N,T: BSD/OS:4.0-4.3::BSD/OS 3.1-4.3 (or MacOS X 10.2) + + +# ---------------- NewtonOS ----------------- + +4096:64:0:44:M1420: NewtonOS:2.1::NewtonOS 2.1 + +# ---------------- NeXTSTEP ----------------- + +S4:64:0:44:M1024: NeXTSTEP:3.3::NeXTSTEP 3.3 +S8:64:0:44:M512: NeXTSTEP:3.3::NeXTSTEP 3.3 + +# ------------------ BeOS ------------------- + +1024:255:0:48:M*,N,W0: BeOS:5.0-5.1::BeOS 5.0-5.1 +12288:255:0:44:M1402: BeOS:5.0::BeOS 5.0.x + +# ------------------ OS/400 ----------------- + +8192:64:1:60:M1440,N,W0,N,N,T: OS/400:VR4::OS/400 VR4/R5 +8192:64:1:60:M1440,N,W0,N,N,T: OS/400:VR5::OS/400 VR4/R5 +4096:64:1:60:M1440,N,W0,N,N,T: OS/400:V4R5:CF67032:OS/400 V4R5 + CF67032 + +# XXX quirk +# 28672:64:0:44:M1460:A:OS/390:? + +# ------------------ ULTRIX ----------------- + +16384:64:0:40:.: ULTRIX:4.5::ULTRIX 4.5 + +# ------------------- QNX ------------------- + +S16:64:0:44:M512: QNX:::QNX demodisk + +# ------------------ Novell ----------------- + +16384:128:1:44:M1460: Novell:NetWare:5.0:Novel Netware 5.0 +6144:128:1:44:M1460: Novell:IntranetWare:4.11:Novell IntranetWare 4.11 +6144:128:1:44:M1368: Novell:BorderManager::Novell BorderManager ? + +6144:128:1:52:M*,W0,N,S,N,N: Novell:Netware:6:Novell Netware 6 SP3 + + +# ----------------- SCO ------------------ +S3:64:1:60:M1460,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1 +S17:64:1:60:M1380,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1.3 MP3 +S23:64:1:44:M1380: SCO:OpenServer:5.0:SCO OpenServer 5.0 + +# ------------------- DOS ------------------- + +2048:255:0:44:M536: DOS:WATTCP:1.05:DOS Arachne via WATTCP/1.05 +T2:255:0:44:M984: DOS:WATTCP:1.05Arachne:Arachne via WATTCP/1.05 (eepro) + +# ------------------ OS/2 ------------------- + +S56:64:0:44:M512: OS/2:4::OS/2 4 +28672:64:0:44:M1460: OS/2:4::OS/2 Warp 4.0 + +# ----------------- TOPS-20 ----------------- + +# Another hardcore MSS, one of the ACK leakers hunted down. +# XXX QUIRK 0:64:0:44:M1460:A:TOPS-20:version 7 +0:64:0:44:M1460: TOPS-20:7::TOPS-20 version 7 + +# ----------------- FreeMiNT ---------------- + +S44:255:0:44:M536: FreeMiNT:1:16A:FreeMiNT 1 patch 16A (Atari) + +# ------------------ AMIGA ------------------ + +# XXX TCP option 12 +# S32:64:1:56:M*,N,N,S,N,N,?12:.:AMIGA:3.9 BB2 with Miami stack + +# ------------------ Plan9 ------------------ + +65535:255:0:48:M1460,W0,N: Plan9:4::Plan9 edition 4 + +# ----------------- AMIGAOS ----------------- + +16384:64:1:48:M1560,N,N,S: AMIGAOS:3.9::AMIGAOS 3.9 BB2 MiamiDX + +########################################### +# Appliance / embedded / other signatures # +########################################### + +# ---------- Firewalls / routers ------------ + +S12:64:1:44:M1460: @Checkpoint:::Checkpoint (unknown 1) +S12:64:1:48:N,N,S,M1460: @Checkpoint:::Checkpoint (unknown 2) +4096:32:0:44:M1460: ExtremeWare:4.x::ExtremeWare 4.x + +# XXX TCP option 12 +# S32:64:0:68:M512,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO w/Checkpoint NG FP3 +# S16:64:0:68:M1024,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO 3.7 build 026 + +S4:64:1:60:W0,N,S,T,M1460: FortiNet:FortiGate:50:FortiNet FortiGate 50 + +8192:64:1:44:M1460: Eagle:::Eagle Secure Gateway + +S52:128:1:48:M1260,N,N,N,N: LinkSys:WRV54G::LinkSys WRV54G VPN router + + + +# ------- Switches and other stuff ---------- + +4128:255:0:44:M*: Cisco:::Cisco Catalyst 3500, 7500 etc +S8:255:0:44:M*: Cisco:12008::Cisco 12008 +60352:128:1:64:M1460,N,W2,N,N,T,N,N,S: Alteon:ACEswitch::Alteon ACEswitch +64512:128:1:44:M1370: Nortel:Contivity Client::Nortel Conectivity Client + + +# ---------- Caches and whatnots ------------ + +S4:64:1:52:M1460,N,N,S,N,W0: AOL:web cache::AOL web cache + +32850:64:1:64:N,W1,N,N,T,N,N,S,M*: NetApp:5.x::NetApp Data OnTap 5.x +16384:64:1:64:M1460,N,N,S,N,W0,N: NetApp:5.3:1:NetApp 5.3.1 +65535:64:0:64:M1460,N,N,S,N,W*,N,N,T: NetApp:5.3-5.5::NetApp 5.3-5.5 +65535:64:0:60:M1460,N,W0,N,N,T: NetApp:CacheFlow::NetApp CacheFlow +8192:64:1:64:M1460,N,N,S,N,W0,N,N,T: NetApp:5.2:1:NetApp NetCache 5.2.1 +20480:64:1:64:M1460,N,N,S,N,W0,N,N,T: NetApp:4.1::NetApp NetCache4.1 + +65535:64:0:60:M1460,N,W0,N,N,T: CacheFlow:4.1::CacheFlow CacheOS 4.1 +8192:64:0:60:M1380,N,N,N,N,N,N,T: CacheFlow:1.1::CacheFlow CacheOS 1.1 + +S4:64:0:48:M1460,N,N,S: Cisco:Content Engine::Cisco Content Engine + +27085:128:0:40:.: Dell:PowerApp cache::Dell PowerApp (Linux-based) + +65535:255:1:48:N,W1,M1460: Inktomi:crawler::Inktomi crawler +S1:255:1:60:M1460,S,T,N,W0: LookSmart:ZyBorg::LookSmart ZyBorg + +16384:255:0:40:.: Proxyblocker:::Proxyblocker (what's this?) + +65535:255:0:48:M*,N,N,S: Redline:::Redline T|X 2200 + +32696:128:0:40:M1460: Spirent:Avalanche::Spirent Web Avalanche HTTP benchmarking engine + +# ----------- Embedded systems -------------- + +S9:255:0:44:M536: PalmOS:Tungsten:C:PalmOS Tungsten C +S5:255:0:44:M536: PalmOS:3::PalmOS 3/4 +S5:255:0:44:M536: PalmOS:4::PalmOS 3/4 +S4:255:0:44:M536: PalmOS:3:5:PalmOS 3.5 +2948:255:0:44:M536: PalmOS:3:5:PalmOS 3.5.3 (Handera) +S29:255:0:44:M536: PalmOS:5::PalmOS 5.0 +16384:255:0:44:M1398: PalmOS:5.2:Clie:PalmOS 5.2 (Clie) +S14:255:0:44:M1350: PalmOS:5.2:Treo:PalmOS 5.2.1 (Treo) + +S23:64:1:64:N,W1,N,N,T,N,N,S,M1460: SymbianOS:7::SymbianOS 7 + +8192:255:0:44:M1460: SymbianOS:6048::Symbian OS 6048 (Nokia 7650?) +8192:255:0:44:M536: SymbianOS:9210::Symbian OS (Nokia 9210?) +S22:64:1:56:M1460,T,S: SymbianOS:P800::Symbian OS ? (SE P800?) +S36:64:1:56:M1360,T,S: SymbianOS:6600::Symbian OS 60xx (Nokia 6600?) + + +# Perhaps S4? +5840:64:1:60:M1452,S,T,N,W1: Zaurus:3.10::Zaurus 3.10 + +32768:128:1:64:M1460,N,W0,N,N,T0,N,N,S: PocketPC:2002::PocketPC 2002 + +S1:255:0:44:M346: Contiki:1.1:rc0:Contiki 1.1-rc0 + +4096:128:0:44:M1460: Sega:Dreamcast:3.0:Sega Dreamcast Dreamkey 3.0 +T5:64:0:44:M536: Sega:Dreamcast:HKT-3020:Sega Dreamcast HKT-3020 (browser disc 51027) +S22:64:1:44:M1460: Sony:PS2::Sony Playstation 2 (SOCOM?) + +S12:64:0:44:M1452: AXIS:5600:v5.64:AXIS Printer Server 5600 v5.64 + +3100:32:1:44:M1460: Windows:CE:2.0:Windows CE 2.0 + +#################### +# Fancy signatures # +#################### + +1024:64:0:40:.: *NMAP:syn scan:1:NMAP syn scan (1) +2048:64:0:40:.: *NMAP:syn scan:2:NMAP syn scan (2) +3072:64:0:40:.: *NMAP:syn scan:3:NMAP syn scan (3) +4096:64:0:40:.: *NMAP:syn scan:4:NMAP syn scan (4) + +# Requires quirks support +# 1024:64:0:40:.:A:*NMAP:TCP sweep probe (1) +# 2048:64:0:40:.:A:*NMAP:TCP sweep probe (2) +# 3072:64:0:40:.:A:*NMAP:TCP sweep probe (3) +# 4096:64:0:40:.:A:*NMAP:TCP sweep probe (4) + +1024:64:0:60:W10,N,M265,T: *NMAP:OS:1:NMAP OS detection probe (1) +2048:64:0:60:W10,N,M265,T: *NMAP:OS:2:NMAP OS detection probe (2) +3072:64:0:60:W10,N,M265,T: *NMAP:OS:3:NMAP OS detection probe (3) +4096:64:0:60:W10,N,M265,T: *NMAP:OS:4:NMAP OS detection probe (4) + +32767:64:0:40:.: *NAST:::NASTsyn scan + +# Requires quirks support +# 12345:255:0:40:.:A:-p0f:sendsyn utility + + +##################################### +# Generic signatures - just in case # +##################################### + +#*:64:1:60:M*,N,W*,N,N,T: @FreeBSD:4.0-4.9::FreeBSD 4.x/5.x +#*:64:1:60:M*,N,W*,N,N,T: @FreeBSD:5.0-5.1::FreeBSD 4.x/5.x + +*:128:1:52:M*,N,W0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323) +*:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323) +*:128:1:64:M*,N,W*,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP (RFC1323, w+) +*:128:1:48:M536,N,N,S: @Windows:98::Windows 98 +*:128:1:48:M*,N,N,S: @Windows:XP::Windows XP/2000 +*:128:1:48:M*,N,N,S: @Windows:2000::Windows XP/2000 + + diff --git a/conf/system/include/14.1/pfctl b/conf/system/include/14.1/pfctl new file mode 100755 index 0000000000000000000000000000000000000000..b6223f009f56c02203d8a00dcc936b2c5334537a GIT binary patch literal 341200 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 tNQUzBq81^9g;=LZ9Pv+z|h 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

  • u}`TbztqhU&}K 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%0Aw?#z+{S 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

    jenOH_i- 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 NR;z#a9Hs03e*wZN{hR;* literal 0 HcmV?d00001 diff --git a/conf/system/include/14.1/pfilctl b/conf/system/include/14.1/pfilctl new file mode 100755 index 0000000000000000000000000000000000000000..d54dcc969bfb2f6bae781c56c2affa9544ac9d7a GIT binary patch literal 9424 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 V$1>F&&OKwqk1G46HUpa|{u>+CRAm4F literal 0 HcmV?d00001 diff --git a/conf/system/include/14.1/pflogd b/conf/system/include/14.1/pflogd new file mode 100755 index 0000000000000000000000000000000000000000..efaaaf795012ba3f0ade7f474c10b9a2fb72204b GIT binary patch literal 26448 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 literal 0 HcmV?d00001 diff --git a/conf/system/include/14.1/setfib b/conf/system/include/14.1/setfib new file mode 100755 index 0000000000000000000000000000000000000000..14d7f30dd7278cd9441759101b8102af7cd716de GIT binary patch literal 7296 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 T)*Tspu^~Ro{!2W;J)-(IPlneR literal 0 HcmV?d00001 diff --git a/conf/system/include/14.1/sum b/conf/system/include/14.1/sum new file mode 100755 index 0000000000000000000000000000000000000000..0ca1db8434290d5416aac23d74874489296939e9 GIT binary patch literal 11296 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 literal 0 HcmV?d00001 diff --git a/gui/bastille_manager_tarballs.php b/gui/bastille_manager_tarballs.php index 4b97083..e955292 100644 --- a/gui/bastille_manager_tarballs.php +++ b/gui/bastille_manager_tarballs.php @@ -72,6 +72,8 @@ $sphere_array = $rel_list; if ($linux_compat_support == "YES"): $a_action = [ + '14.0-RELEASE' => gettext('14.0-RELEASE'), + '14.1-RELEASE' => gettext('14.1-RELEASE'), '13.3-RELEASE' => gettext('13.3-RELEASE'), '13.2-RELEASE' => gettext('13.2-RELEASE'), '13.1-RELEASE' => gettext('13.1-RELEASE'), @@ -92,6 +94,8 @@ if ($linux_compat_support == "YES"): ]; else: $a_action = [ + '14.0-RELEASE' => gettext('14.0-RELEASE'), + '14.1-RELEASE' => gettext('14.1-RELEASE'), '13.3-RELEASE' => gettext('13.3-RELEASE'), '13.2-RELEASE' => gettext('13.2-RELEASE'), '13.1-RELEASE' => gettext('13.1-RELEASE'), diff --git a/unionfs.sh b/unionfs.sh index 6dab695..c719ce9 100755 --- a/unionfs.sh +++ b/unionfs.sh @@ -10,7 +10,7 @@ # Debug script #set -x -# Copyright (c) 2019-2023, José Rivera (joserprg@gmail.com). +# Copyright (c) 2019-2024, José Rivera (joserprg@gmail.com). # All rights reserved. # Redistribution and use in source and binary forms, with or without diff --git a/version b/version index ba7b2f7..c567640 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.1.32 +1.1.33