https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297394

--- Comment #16 from Jeremy Chadwick <[email protected]> ---
@Benjamin Let's be clear: THIS IS A FREEBSD PROBLEM, NOT A SPAMASSASSIN
PROBLEM.  The fact this works fine on Linux, previous FreeBSD versions, and
non-sh shells demonstrates that fact.  I was on the fence about opening a bug
on this anyway because I knew, 9 out of 10 odds, it would devolve into time
vampirism.  I have every right to be irritated: FreeBSD src committers made
this change, FreeBSD src committers therefore own it.  I spent almost an hour
after upgrading to figure out what the heck was going on and, rather than risk
hand-hacking the hashbang lines and sa-compile lines pertaining to re2c path, I
changed root shell back to csh and decided to report this due to the sheer
surprise (hence why I chose "affects many people").  Do not make this a "Jeremy
problem" or a "Perl problem" or a "SpamAssassin" problem.  I am not going to
truss or ktrace this and delve into various forks and syscalls; those
responsible for this change can do that, as they own it.

@cy I've never ever made any changes to /root/.profile, but FreeBSD 15.1
modified the file (I can tell from daily backups after upgrading from 15.0 to
15.1), ditto with /root/.shrc.  Here you go:

$ cat /root/.profile
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:~/bin
export PATH
TERM=${TERM:-xterm}
export TERM
PAGER=less
export PAGER

# set ENV to a file invoked each time sh is started for interactive use.
ENV=$HOME/.shrc; export ENV

# Query terminal size; useful for serial lines.
if [ -x /usr/bin/resizewin ] ; then /usr/bin/resizewin -z ; fi

# Uncomment to display a random cookie on each login.
# if [ -x /usr/bin/fortune ] ; then /usr/bin/fortune -s ; fi


Seems /root dotfiles do not come from skel (/usr/share/skel) like in olden
days, but from src/bin/sh directory.  Looks like this was done starting 2019. 
Regardless, both set ENV.  Compare my above contents to:

https://github.com/freebsd/freebsd-src/blob/releng/15.1/bin/sh/dot.profile

vs.

https://github.com/freebsd/freebsd-src/blob/releng/15.1/share/skel/dot.profile

This is not a local problem.  Or maybe you are becoming root in such a way that
does not bring in a full/clean environment (e.g. "sudo su -" and instead just
using "sudo", or alternately you can log in as root at console.  I am 100%
certain you can reproduce this on a stock system).  Regardless, one cannot deny
what's going on with ENV env var and it being set by FreeBSD dotfiles for root.

No idea what is going on with sa-compile and PATH; as said, someone else can
figure out that mess.

@Helge A fresh SpamAssassin install needs to have sa-update run manually, ditto
with sa-compile.  This is a bigger problem with much wider impact lying in
wait.  It's Perl's taint mode today (partially), but something else tomorrow. 
The default shell change happened in January 2026, so for literally 8 months
nobody noticed anything -- mindblowing.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to