On Monday 04:56 PM 8/18/2008, Jade Rubick wrote:
Consider this use case:
* You use git or another version control system to store for a bunch of static html files you serve with Aolserver. * You check out all of your static html files. Because they're all checked out at the same time, many of them have identical timestamps. Could the user get the wrong version of an html file they're being served?

Nope, because in this case the inodes for the files would be different, so fastpath caching would distinguish them.

What about this scenario:
* You have a web application that allows administrators on various sites hosted on your application to download a list of user names and passwords (this is a slightly contrived example). They can download it to CSV. * Admin #1 generates this file. You create a unique filename for their site_id, because you want a unique filename to return back to the user: site-1234-passwords.csv. You return this file to the admin. * Admin #2 generates their file. You create a unique filename for their site_id, because you want a unique filename to return back to the user: site-5000-passwords.csv. You attempt to return this file to the admin. Because their request was in the same second, however, they get site-1234-passwords.csv?
Yep, it could happen in this case, assuming the files are deleted after they're returned to the user via ns_returnfile.

As I mentioned, this bug wasn't discovered through code review or any theoretical process--it was causing problems in live code, and it was extremely difficult to track down. And the damage assessment is still underway.

- John


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to