s/Delivered\s+\d+/Delivered nnn/;
- # ======== Values in spool space failure message ========
- s/space=\d+ inodes=[+-]?\d+/space=xxxxx inodes=xxxxx/;
-
-
# ======== Filter sizes ========
# The sizes of filter files may vary because of the substitution of local
# filenames, logins, etc.
# Sizes vary with test hostname
s/^cmd buf flush \d+ bytes$/cmd buf flush ddd bytes/;
+ # Spool filesystem free space changes on different systems.
+ s/^((?:spool|log) directory space =) -?\d+K (inodes =)\s*-?\d+/$1 nnnnnK $2 nnnnn/;
+
# When Exim is checking the size of directories for maildir, it uses
# the check_dir_size() function to scan directories. Of course, the order
# of the files that are obtained using readdir() varies from system to
/^log selectors =/ ||
/^cwd=/ ||
/^Fixed never_users:/ ||
+ /^Configure owner:/ ||
/^Size of off_t:/
);
# Various Unix management commands are recognized
if (/^(ln|ls|du|mkdir|mkfifo|touch|cp|cat)\s/ ||
- /^sudo\s(rmdir|rm|chown|chmod)\s/)
+ /^sudo\s(rmdir|rm|mv|chown|chmod)\s/)
{
run_system("$_ >>test-stdout 2>>test-stderr");
return 1;
$parm_eximuser = $1 if /^exim_user = (.*)$/;
$parm_eximgroup = $1 if /^exim_group = (.*)$/;
$parm_trusted_config_list = $1 if /^TRUSTED_CONFIG_LIST:.*?"(.*?)"$/;
+ ($parm_configure_owner, $parm_configure_group) = ($1, $2)
+ if /^Configure owner:\s*(\d+):(\d+)/;
print "$_" if /wrong owner/;
}
close(EXIMINFO);
die "Unable to check the TRUSTED_CONFIG_LIST, seems to be empty?\n";
}
+die "CONFIGURE_OWNER ($parm_configure_owner) does not match the user invoking $0 ($>)\n"
+ if $parm_configure_owner != $>;
+
+die "CONFIGURE_GROUP ($parm_configure_group) does not match the group invoking $0 ($))\n"
+ if 0020 & (stat "$parm_cwd/test-config")[2]
+ and $parm_configure_group != $);
+
+
open(EXIMINFO, "$parm_exim -d-all+transport -bV -C $parm_cwd/test-config -DDIR=$parm_cwd |") ||
die "** Cannot run $parm_exim: $!\n";