Axel Luttgens:
[ Charset ISO-8859-1 unsupported, converting... ]
> Le 22 mars 2013 ? 00:11, Wietse Venema a ?crit :
>
> > Axel Luttgens:
> >> So, looks quite promising. :-)
> >> Are there other tests I could/should run in order to be fully reassured?
> >
> > Does it work with postscreen? (turn off postscreen cache, turn on
> > "after 220 greeting" tests, then do the same tests as with smtpd).
>
> Did you mean something like:
[...]
Please refer to the POSTSCREEN_README file.
> With above settings, I'm able to speak to postcreen up to the RCPT
> command inclusive, then get a "450 4.3.2 Service currently
> unavailable" message and have to QUIT.
> As expected, a connection to postscreen left idle quits after 5 minutes.
> Activating caching (i.e. removing the "postscreen_cache_map ="
> line from main.cf) then results in a "PASS OLD [127.0.0.1]:port"
> message and I'm handed off to a smtpd process, through which I may
> send a message.
Excellent now you have to do it a couple thousand times in parallel
sessions.
[FIFOS]
> Again, seems to be quite conclusive.
Great, to Apple fixed it.
Do you need code for testing the sysctl() stuff?
I was thinking of:
--------
if (limit > 0) {
#ifdef MACOSX
#define MAX_FILES_PER_PROC "kern.maxfilesperproc"
long current_limit;
size_t len = sizeof(current_limit);
if (sysctlbyname(MAX_FILES_PER_PROC, ¤t_limit, &len,
(void *) 0, (size_t) 0) < 0)
return (-1);
if (limit > current_limit)
limit = current_limit;
#else
if (limit > rl.rlim_max)
rl.rlim_cur = rl.rlim_max;
#endif
else
rl.rlim_cur = limit;
if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
return (-1);
}
return (rl.rlim_cur);
--------
Or something close to that. I did not test the code.
Wietse