diff -Nur -x '*.orig' -x '*.rej' qpsmtpd-0.32/qpsmtpd-forkserver mezzanine_patched_qpsmtpd-0.32/qpsmtpd-forkserver --- qpsmtpd-0.32/qpsmtpd-forkserver 2006-02-26 07:22:16.000000000 -0500 +++ mezzanine_patched_qpsmtpd-0.32/qpsmtpd-forkserver 2007-02-16 16:54:02.000000000 -0500 @@ -14,6 +14,7 @@ use Socket; use Getopt::Long; use POSIX qw(:sys_wait_h :errno_h :signal_h); +use Net::DNS::Header; use strict; $| = 1; @@ -230,10 +231,12 @@ next; } # otherwise child - # all children should have different seeds, to prevent conflicts - srand( time ^ ($$ + ($$ << 15)) ); - + srand(time ^ ($$ + ($$ << 15))); + for (0 .. rand(65536)) { + Net::DNS::Header::nextid(); + } + close($server); $SIG{$_} = 'DEFAULT' for keys %SIG;