John Peacock wrote:

Peter J. Holzer wrote:
<SNIP>


2) Net::DNS assigns a random id when the package is loaded and just
   increments the id for each request. This also makes ID guessing easy.
   What's worse, with forkserver the package is loaded in the parent
   process, so every child goes through the same sequence of IDs!
   It doesn't matter in this case, since the ID isn't checked anyway,
   but for synchroneous requests it makes a difference.


This is more of a problem, since we are actively urging people to use forkserver. Can we use eval "use Net::DNS" after we fork to prevent this from happening? Can we poke a new ID value manually for each fork instance?

John


There is code in trunk to deal with this specific issue, around line 124 of ~/qpsmtpd, where the _fork subroutine is defined. Perhaps that could just be pulled over.

Reply via email to