stephen-smith wrote on Sunday, June 13, 2010:
Input sanitization is important; each time we don’t do it, it’s another possible SQL injection. I don’t think it is appropriate to let code that doesn’t do sufficient input sanitization into the tree. If a line in your unified diff starts with “+” (so, new or changed), it should do input sanitization.
Output sanitization is important; each time we don’t do it, it’s another possible XSS attack. I don’t think it is appropriate to let code that doesn’t do sufficient output sanitization into the tree. If a line in your unified diff starts with “+” (so, new or changed), it should do output sanitization.
Handling magic_quotes_* and register_globals correctly are good to do, but if the code you are replacing doesn’t handle them, you aren’t breaking anything new. So, I’m fine with that. It’s possible for register_globals to cause a security issue, but it hasn’t caused any so far. If we do proper input/output sanitization, magic_quotes_* is at most an annoyance.
Outputting correct HTML 4 / XHTML 1 is already part of policy.
48 hours is NOT very long. In 48 hours, our HEAD usually moves one or two commits it is rare for patches to break one or two commits later. On the Git mailing list it was often a week before a proposed patch would make it into the master branch, and that was only if it passed review.
All that said, I was just trying to give a complete review of the code. If you or Andy feel the code is ready to be committed as is, feel free to exercise your commit access. I’m not ready to commit the code, because I don’t want to knowingly commit code with issues. I’ve already addressed some of the issues I had with the code in my Git tree on Gitorious. “review-3010456” is the name of the branch, it should be mirrored to GitHub after some time.
Once I think the patch is ready, I’ll post it for review and gladly wait 48 hours. I know we can’t catch everything, but the fewer issues get checked in the less time we spend on fixing issues and the more time we spend on new features.
I’ll admit that “the perfect shouldn’t be the enemy of the good”, and that incremental improvement is necessary. I’m just not comfortable with my commits containing issues that I know about.