| version 1.125, 2021/12/25 00:27:56 | version 1.126, 2021/12/25 00:34:00 | 
|  |  | 
| INSTALL=true | INSTALL=true | 
| LOCALSRC= | LOCALSRC= | 
|  |  | 
|  | unset FTPPID | 
|  | REMOVE_LOCALSRC=false | 
|  | cleanup() { | 
|  | [ "${FTPPID:-}" ] && kill -TERM -"$FTPPID" 2>/dev/null | 
|  | "$REMOVE_LOCALSRC" && rm -rf "$LOCALSRC" | 
|  | } | 
|  | trap cleanup EXIT | 
|  |  | 
| tmpdir() { | tmpdir() { | 
| local _i=1 _dir | local _i=1 _dir | 
|  |  | 
|  |  | 
| } | } | 
|  |  | 
| fetch() { | fetch() { | 
| local _src="${FWURL}/${1##*/}" _dst=$1 _user=_file _pid _exit _error='' | local _src="${FWURL}/${1##*/}" _dst=$1 _user=_file _exit _error='' | 
|  |  | 
| # If we're not in the installer, | # If we're not in the installer, | 
| # we have su(1) and doas(1) is unlikely to be configured. | # we have su(1) and doas(1) is unlikely to be configured. | 
|  |  | 
| exec /usr/bin/doas -u "$_user" \ | exec /usr/bin/doas -u "$_user" \ | 
| /usr/bin/ftp -N "${0##/}" -D 'Get/Verify' $flags -o- "$_src" > "$_dst" | /usr/bin/ftp -N "${0##/}" -D 'Get/Verify' $flags -o- "$_src" > "$_dst" | 
| fi | fi | 
| ) & _pid=$! | ) & FTPPID=$! | 
| set +o monitor | set +o monitor | 
|  |  | 
| trap "kill -TERM '-$_pid' 2>/dev/null; exit 1" EXIT INT QUIT ABRT TERM |  | 
|  |  | 
| SECONDS=0 | SECONDS=0 | 
| _last=0 | _last=0 | 
| while kill -0 -"$_pid" 2>/dev/null; do | while kill -0 -"$FTPPID" 2>/dev/null; do | 
| if [[ $SECONDS -gt 12 ]]; then | if [[ $SECONDS -gt 12 ]]; then | 
| set -- $( ls -ln "$_dst" 2>/dev/null ) | set -- $( ls -ln "$_dst" 2>/dev/null ) | 
| if [[ $_last -ne $5 ]]; then | if [[ $_last -ne $5 ]]; then | 
|  |  | 
| SECONDS=0 | SECONDS=0 | 
| sleep 1 | sleep 1 | 
| else | else | 
| kill -INT -"$_pid" | kill -INT -"$FTPPID" | 
| _error=" (timed out)" | _error=" (timed out)" | 
| fi | fi | 
| else | else | 
|  |  | 
| done | done | 
|  |  | 
| set +o errexit | set +o errexit | 
| wait "$_pid" | wait "$FTPPID" | 
| _exit=$? | _exit=$? | 
| set -o errexit | set -o errexit | 
|  |  | 
| trap "" EXIT INT QUIT ABRT TERM | unset FTPPID | 
|  |  | 
| if [ "$_exit" -ne 0 ]; then | if [ "$_exit" -ne 0 ]; then | 
| rm -f "$_dst" | rm -f "$_dst" | 
|  |  | 
|  |  | 
| if [ ! "$LOCALSRC" ]; then | if [ ! "$LOCALSRC" ]; then | 
| LOCALSRC="$( tmpdir "${DESTDIR}/tmp/${0##*/}" )" | LOCALSRC="$( tmpdir "${DESTDIR}/tmp/${0##*/}" )" | 
|  | REMOVE_LOCALSRC=true | 
| fi | fi | 
|  |  | 
| CFILE="$LOCALSRC/$CFILE" | CFILE="$LOCALSRC/$CFILE" |