Albrecht, it's a long shot, but could you try this modified getrlimit test program? (replace 112 and 105 with the gid and uid for postfix, respectively, if they are different on your system).
int main(int argc, char **argv)
{
struct rlimit rl;
int result;
result = setresgid(0,112,0);
printf("setresgid result is %d\n", result);
result = setresuid(0,105,0);
printf("setresuid result is %d\n", result);
result = getrlimit(RLIMIT_NOFILE, &rl);
printf("%d -> %d %d\n", result, (int) rl.rlim_cur, (int) rl.rlim_max);
return 0;
}
Tried to reproduce this on i386, but couldn't.
Albrecht, it's a long shot, but could you try this modified getrlimit test program? (replace 112 and 105 with the gid and uid for postfix, respectively, if they are different on your system).
#include <sys/resource.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
struct rlimit rl;
int result;
result = setresgid(0,112,0); "setresgid result is %d\n", result); "setresuid result is %d\n", result); RLIMIT_ NOFILE, &rl);
printf(
result = setresuid(0,105,0);
printf(
result = getrlimit(
printf("%d -> %d %d\n", result, (int) rl.rlim_cur, (int) rl.rlim_max);
return 0;
}