From 5aadef7a57b90e62aa2fed7e118b5144706c55a0 Mon Sep 17 00:00:00 2001 From: n-connect Date: Wed, 29 May 2024 22:33:04 +0200 Subject: [PATCH] Include 13.3 Folliowing the previous code, 13.3 added to be able to use with XigmaNAS v.13.3.0.5 and above --- CHANGELOG | 1 + .../system/freebsd-update/13.3/freebsd-update | 3546 +++++++++++++++++ .../freebsd-update/13.3/freebsd-update.conf | 78 + conf/system/include/13.3/ar | Bin 0 -> 51000 bytes conf/system/include/13.3/diff3 | Bin 0 -> 29264 bytes conf/system/include/13.3/jib | 417 ++ conf/system/include/13.3/makewhatis | Bin 0 -> 512984 bytes conf/system/include/13.3/pf.os | 708 ++++ conf/system/include/13.3/pfctl | Bin 0 -> 320088 bytes conf/system/include/13.3/pfilctl | Bin 0 -> 9832 bytes conf/system/include/13.3/pflogd | Bin 0 -> 26704 bytes conf/system/include/13.3/setfib | Bin 0 -> 7632 bytes conf/system/include/13.3/sum | Bin 0 -> 11632 bytes gui/bastille_manager_tarballs.php | 2 + 14 files changed, 4752 insertions(+) create mode 100755 conf/system/freebsd-update/13.3/freebsd-update create mode 100644 conf/system/freebsd-update/13.3/freebsd-update.conf create mode 100755 conf/system/include/13.3/ar create mode 100755 conf/system/include/13.3/diff3 create mode 100644 conf/system/include/13.3/jib create mode 100755 conf/system/include/13.3/makewhatis create mode 100644 conf/system/include/13.3/pf.os create mode 100755 conf/system/include/13.3/pfctl create mode 100755 conf/system/include/13.3/pfilctl create mode 100755 conf/system/include/13.3/pflogd create mode 100755 conf/system/include/13.3/setfib create mode 100755 conf/system/include/13.3/sum diff --git a/CHANGELOG b/CHANGELOG index b0b48db..02acd67 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ ====================== Version Description +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. 1.1.29......Ad note on how to fetch EOL/Unsupported releases. diff --git a/conf/system/freebsd-update/13.3/freebsd-update b/conf/system/freebsd-update/13.3/freebsd-update new file mode 100755 index 0000000..551d404 --- /dev/null +++ b/conf/system/freebsd-update/13.3/freebsd-update @@ -0,0 +1,3546 @@ +#!/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 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 \"$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 +} + +# 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 +"$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 () { + # 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 + + 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/13.3/freebsd-update.conf b/conf/system/freebsd-update/13.3/freebsd-update.conf new file mode 100644 index 0000000..08cf512 --- /dev/null +++ b/conf/system/freebsd-update/13.3/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/13.3/ar b/conf/system/include/13.3/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/13.3/diff3 b/conf/system/include/13.3/diff3 new file mode 100755 index 0000000000000000000000000000000000000000..8a91658eac214216bfe84cedfeb025cfaf0791ab GIT binary patch literal 29264 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 literal 0 HcmV?d00001 diff --git a/conf/system/include/13.3/jib b/conf/system/include/13.3/jib new file mode 100644 index 0000000..55d9084 --- /dev/null +++ b/conf/system/include/13.3/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/13.3/makewhatis b/conf/system/include/13.3/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/13.3/pf.os b/conf/system/include/13.3/pf.os new file mode 100644 index 0000000..e131d1b --- /dev/null +++ b/conf/system/include/13.3/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/13.3/pfctl b/conf/system/include/13.3/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/13.3/pfilctl b/conf/system/include/13.3/pfilctl new file mode 100755 index 0000000000000000000000000000000000000000..5ac243900e663e92a5611ca6c846c08500611ce5 GIT binary patch literal 9832 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 literal 0 HcmV?d00001 diff --git a/conf/system/include/13.3/setfib b/conf/system/include/13.3/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/13.3/sum b/conf/system/include/13.3/sum new file mode 100755 index 0000000000000000000000000000000000000000..9cd45d3b92c2382dead198034cab375ea9ae84e7 GIT binary patch literal 11632 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 n7{1i&(*x{RHM gettext('13.3-RELEASE'), '13.2-RELEASE' => gettext('13.2-RELEASE'), '13.1-RELEASE' => gettext('13.1-RELEASE'), '13.0-RELEASE' => gettext('13.0-RELEASE'), @@ -91,6 +92,7 @@ if ($linux_compat_support == "YES"): ]; else: $a_action = [ + '13.3-RELEASE' => gettext('13.3-RELEASE'), '13.2-RELEASE' => gettext('13.2-RELEASE'), '13.1-RELEASE' => gettext('13.1-RELEASE'), '13.0-RELEASE' => gettext('13.0-RELEASE'),