On Thu, 30 Aug 2007 08:50:40 +0200
Stefan Priebe <[EMAIL PROTECTED]> wrote:
> So here are some problems and the solutions ( the patches may not apply 
> cleanly to the actual 0.40 version):
> 
> 
> 1.) You get some errors with the auth mechanism if an old process has 
> used auth the value seems not to be destroyed. So add 
> "delete($qpsmtpd->{_auth});"
>   in function new_child before my ($client, $iinfo) = $d->accept().
> otherwise some other hosts are authorized even if they don't authourize 
> at all.
What about $qpsmtpd->{_auth_user}, $qpsmtpd->{_auth_mechanism}?
Do we want to reset the $qpsmtpd->command_counter, too (AKA 
$qpsmtpd->{_counter})?
I'd rather not fix it this way if possible. Better would be to create a
new instance of $qpsmtpd when a new client connects. Else we'll be hunting bugs 
like these if something like $qpsmtpd->{_auth} is added to the core.

[...]
> 3.) If you would like to run more than one qpsmtpd-prefork on a single 
> machine you get a problem with the shared memory so my patch:
>       # setup shared memory
> -    $chld_shmem = shmem("qpsmtpd", 1);
> +    $chld_shmem = shmem($d_port."qpsmtpd", 1);
>       untie $chld_shmem;
> 
> @@ -470,7 +485,7 @@ sub shmem_opt {
> 
>       my ($chld_shmem, $chld_busy);
>       eval {
> -        $chld_shmem = &shmem("qpsmtpd", 0);    #connect to shared 
> memory hash
> +        $chld_shmem = &shmem($d_port."qpsmtpd", 0);    #connect to 
> shared memory hash
> 
>           if (tied %{$chld_shmem}) {
>               # perform options
Seems to be ok, if noone speaks against it, I'll commit tomorrow. There
should be a note in the docs then, that you can't use two ports like
10025 and 10026: 
      The association between variables in distinct processes is 
      provided by GLUE. This is an integer number or 4 character 
      string[1] that serves as a common identifier for data across 
      process space. 

> 4.) The only last problem i have is, that if i don't exit the child if 
> it has done a TLS connection a second or third TLS connection mostly fail.
Any (verbose) logs about the failed connections?

Reply via email to