https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6883

--- Comment #10 from Mark Martinec <[email protected]> ---
(In reply to comment #9)
> Interesting.  So Solaris 10 fails a make test with spamd_hup with 3.3.2 or
> 3.4.0-pre1.  Anyone got a Solaris 10 system that they can take a look at
> this issue?

ok:
Jan  2 16:02:44.322 [19591] warn: spamd: restarting using '/opt/perl/bin/perl
-T -w ../spamd/spamd.raw -D -x -s stderr -C log/test_rules_copy
--siteconfigpath log/localrules.tmp -p 52355 -A 127.0.0.1 -i 127.0.0.1 -L -r
log/spamd.pid -s log/d.spamd_hup/spamd.err.1.timestamped'

bad:
Jan  2 15:43:43.240 [24489] warn: spamd: restarting using '../spamd/spamd.raw
-D -x -s stderr -C log/test_rules_copy --siteconfigpath log/localrules.tmp -p
57253 -A 127.0.0.1 -i 127.0.0.1 -L -r log/spamd.pid -s
log/d.spamd_hup/spamd.err.1.timestamped'

Notice the missing "/opt/perl/bin/perl -T -w" in front of the failing command.

The following code section in spamd/do_sighup_restart()
seems to take the "$perl eq $perl_from_hashbang_line" branch
and leaves out the -T and -w options:

  # ensure we re-run spamd using the right perl interpreter, and
  # with the right switches (taint mode and warnings) (bug 5255)
  my $perl = untaint_var($^X);
  my @execs = ( $perl, "-T", "-w", $ORIG_ARG0, @ORIG_ARGV );

  if ($perl eq $perl_from_hashbang_line) {
    # we're using the same perl as the script uses on the #! line;
    # we can safely just exec the script
    @execs = ( $ORIG_ARG0, @ORIG_ARGV );
  }

  warn "spamd: restarting using '" . join (' ', @execs) . "'\n";
  exec @execs;


Leading to the fatal error:
  "-T" is on the #! line, it must also be used on the command line
  at ../spamd/spamd.raw line 1.

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

Reply via email to