Am Mon, Jan 02, 2023 at 09:54:40AM +0100 schrieb Martin Ziemer:
> This patch updates getmail from 6.18.10 to 6.18.11.
> 
> For the new shell quotes, which fixes a security hole, i changed the
> getmails-script from using /bin/sh to use bash.
> 
> Tested on to amd64 systems.
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/mail/getmail/Makefile,v
> retrieving revision 1.103
> diff -u -p -u -p -r1.103 Makefile
> --- Makefile  9 Dec 2022 14:29:52 -0000       1.103
> +++ Makefile  2 Jan 2023 08:44:16 -0000
> @@ -1,6 +1,6 @@
>  COMMENT=     IMAP/POP3/SDPS mail retriever
>  
> -MODPY_EGG_VERSION=   6.18.10
> +MODPY_EGG_VERSION=   6.18.11
>  GH_ACCOUNT=  getmail6
>  GH_PROJECT=  getmail6
>  GH_TAGNAME=  v${MODPY_EGG_VERSION}
> @@ -18,6 +18,8 @@ PERMIT_PACKAGE=     Yes
>  MODULES=     lang/python
>  MODPY_PYBUILD=       setuptools
>  NO_TEST=     Yes
> +
> +RUN_DEPENDS= shells/bash
>  
>  EXDIR=               ${PREFIX}/share/examples/getmail
>  
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/mail/getmail/distinfo,v
> retrieving revision 1.82
> diff -u -p -u -p -r1.82 distinfo
> --- distinfo  9 Dec 2022 14:29:52 -0000       1.82
> +++ distinfo  2 Jan 2023 08:44:16 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (getmail6-6.18.10.tar.gz) = 
> DlYXz6LMh8WyWWNPWfVyjfOyVoqSyqVkdn4lb3mGatY=
> -SIZE (getmail6-6.18.10.tar.gz) = 205481
> +SHA256 (getmail6-6.18.11.tar.gz) = 
> SD5PJr0PYsie0tRHazhArKu32GjEDeC8mT7HuWQtlok=
> +SIZE (getmail6-6.18.11.tar.gz) = 207051
> Index: patches/patch-getmails
> ===================================================================
> RCS file: /cvs/ports/mail/getmail/patches/patch-getmails,v
> retrieving revision 1.1
> diff -u -p -u -p -r1.1 patch-getmails
> --- patches/patch-getmails    9 Dec 2022 14:29:52 -0000       1.1
> +++ patches/patch-getmails    2 Jan 2023 08:44:16 -0000
> @@ -3,16 +3,22 @@
>  Index: getmails
>  --- getmails.orig
>  +++ getmails
> -@@ -28,7 +28,7 @@ BASE1=${1##*/}
> - [ "$BASE1" != "${BASE1#$2}" ] && return 0 || return 1
> +@@ -1,4 +1,4 @@
> +-#!/bin/sh
> ++#!/usr/bin/env bash
> + # vim:se tw=78 sts=4:
> + # Copyright (C) 2011-2017 Osamu Aoki <os...@debian.org>, GPL2+
> + 
> +@@ -32,7 +32,7 @@ shellquote() {
> +     printf '%s\n' "'${1//\'/\'\\\'\'}'"
>   }
>   UID_BY_ID=$(id -u)
>  -PID_GETMAILS=$(pgrep -U $UID_BY_ID '^getmails$')
> -+PID_GETMAILS=$(pgrep -f -U $UID_BY_ID '^/bin/sh /usr/local/bin/getmails$')
> ++PID_GETMAILS=$(pgrep -f -U $UID_BY_ID '^bash /usr/local/bin/getmails$')
>   if [ "x$PID_GETMAILS" != "x$$" ]; then
>       echo "The getmails script is already running as PID=\"$PID_GETMAILS\" 
> ." >&2
>       exit 1
> -@@ -44,7 +44,7 @@ if [ -f $getmailrcdir/stop ]; then
> +@@ -48,7 +48,7 @@ if [ -f $getmailrcdir/stop ]; then
>       echo "Do not run getmail ... (if not, remove $getmailrcdir/stop)" >&2
>       exit 1
>   fi
> @@ -21,7 +27,7 @@ Index: getmails
>   # Address concerns raised by #863856
>   #  emacs backup files:   foo~ foo#
>   #  vim backup files:     foo~ foo.swp
> -@@ -57,7 +57,8 @@ if $para ; then
> +@@ -61,7 +61,8 @@ if $para ; then
>              ! endwith "$file" '#' && \
>              ! startswith "$file" 'oldmail-' && \
>              ! endwith "$file" '.swp' && \
> @@ -31,13 +37,13 @@ Index: getmails
>           $rcfiles --rcfile "$file" "$@" &
>           pids="$pids $!"
>           fi
> -@@ -79,7 +80,8 @@ else
> +@@ -83,7 +84,8 @@ else
>              ! endwith "$file" '#' && \
>              ! startswith "$file" 'oldmail-' && \
>              ! endwith "$file" '.swp' && \
>  -           ! endwith "$file" '.bak' ; then
>  +           ! endwith "$file" '.bak' && \
>  +           [ -f "$file" ]; then
> -             rcfiles="$rcfiles --rcfile \"$file\""
> +             rcfiles="$rcfiles --rcfile $(shellquote "$file")"
>           fi
>       done
> 

Reply via email to