Alan Burlison wrote: > Stas Bekman wrote: > >> Alan, your worries have been accounted for. This is precisely the >> reason I wanted to have a test that mounts an attack on stashes. So we >> now test that mod_perl 2.0 works just fine if and when such attack >> happens. Notice that I talk only about stashes, since that's where the >> black magic overlaps with mod_perl functionality. All other hashes in >> the "user" space should have no effect on mod_perl. >> >> It just proves again how important is to write tests before you start >> solving a problem. We saw mod_perl 2.0 goes broken immediately after >> plan C was implemented. Though once Nick changed the threshold for >> rehashing from 4 to 14 the breakage has disappeared, because the >> normal tests didn't happen to trigger it (that's where your worry >> kicks in). Now that we have a specific test that mounts the attack and >> it verifies that the attack was successful (to prevent cases of future >> changes in the rehashing algorithm) we are covered 100%. If we didn't >> have this test you indeed would have seen random failures reported by >> users some time later. > > > Thanks Stas, now I feel all warm and cozy ;-) ;) >> I doubt that plan C affects any other projects, that don't mess with >> hashing internals like mod_perl does, any different that they get >> affected by changes in 5.8.1. So if Tk and DBI did fine with 5.8.1 >> they will do just as fine with 5.8.2 (assuming of course that they >> don't mimic mod_perl ;) > > > Nice job BTW, you and Nick deserve a lot of thanks for all the effort > you have put in to nail this. Nick is the one who nailed it down. I was just testing, asking lots of silly questions and trying to make perl emulate U32 logic ;) __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:stas@stason.org http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.comThread Previous