0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-12-27 18:51:53 +00:00
Commit Graph

1303 Commits

Author SHA1 Message Date
Edward Z. Yang
6a6afaccc5 Rename HTML_Lexer to HTMLPurifier_Lexer. However, some more refactoring still needs to be done (namely making the lexer an interface).
Also fixed broken benchmarks.

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@65 48356398-32a2-884e-a903-53898d9a118a
2006-07-21 23:07:47 +00:00
Edward Z. Yang
cf4776cfbd Add a todo list.
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@64 48356398-32a2-884e-a903-53898d9a118a
2006-07-21 11:31:43 +00:00
Edward Z. Yang
23dba8b55e Rename MarkupFragment.php to Token.php, change internal class names and rewire the classes. We also started adding more dependence on the Lexer and Generator in unrelated tests.
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@63 48356398-32a2-884e-a903-53898d9a118a
2006-07-21 11:27:54 +00:00
Edward Z. Yang
8bde230c99 Renamed remotely
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@62 48356398-32a2-884e-a903-53898d9a118a
2006-07-21 02:16:36 +00:00
Edward Z. Yang
0ad09e5d94 Commit entity information from the HTML 4.01 spec. This should be parsed into corresponding mapping files, even though they will be versioned.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@61 48356398-32a2-884e-a903-53898d9a118a
2006-07-20 22:47:26 +00:00
Edward Z. Yang
3427c6c079 Begin getting parsing of character data into shape, not done yet.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@60 48356398-32a2-884e-a903-53898d9a118a
2006-07-20 02:43:06 +00:00
Edward Z. Yang
dadfa87acc Update documentation (esp. revamp status)
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@59 48356398-32a2-884e-a903-53898d9a118a
2006-07-20 00:40:04 +00:00
Edward Z. Yang
ff8f24458d Finish implementing fixNesting(). Removed security-in-depth check for optimization reasons, since the info array will never cause such a condition.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@58 48356398-32a2-884e-a903-53898d9a118a
2006-07-20 00:30:35 +00:00
Edward Z. Yang
3e6bcb7a0f Implemented good behavior structure for fixNesting. Goes into infinite loop if bad stuff is passed.
Remove dud test and note which tests need to be added. Also, we're only running one test at a time to ease debugging.

git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@57 48356398-32a2-884e-a903-53898d9a118a
2006-07-19 00:21:21 +00:00
Edward Z. Yang
2a2d8cbd76 Optimize files by removing is_a() calls in favor of static type member variables.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@56 48356398-32a2-884e-a903-53898d9a118a
2006-07-18 23:40:20 +00:00
Edward Z. Yang
5391195170 Finalize fixNesting test suite.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@55 48356398-32a2-884e-a903-53898d9a118a
2006-07-18 23:17:41 +00:00
Edward Z. Yang
06798e60f2 Move Test_HTMLDTD_ChildDef to top for improved organization.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@54 48356398-32a2-884e-a903-53898d9a118a
2006-07-15 20:50:28 +00:00
Edward Z. Yang
fb9ed6f600 In-depth uselessness, have empty element definition return false always.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@53 48356398-32a2-884e-a903-53898d9a118a
2006-06-15 22:08:24 +00:00
Edward Z. Yang
d9c8effc9b Begin fleshing out test_fixNesting(). Still needs more test-cases.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@52 48356398-32a2-884e-a903-53898d9a118a
2006-06-11 22:53:40 +00:00
Edward Z. Yang
e1464fa2f6 Update spec:
* Info about applicability
* Add more status reports
* Add source of XML_DTD code
* Remark about table child definitions

git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@51 48356398-32a2-884e-a903-53898d9a118a
2006-06-05 01:08:20 +00:00
Edward Z. Yang
4935c69904 Main: implemented regexp-style validation for complicated child definitions
Also:
* Updated spec with some extra comments
* Trigger error if HTMLDTD_ChildDef_Simple has validateChildren called
* Factor out definition assertion in test class

git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@50 48356398-32a2-884e-a903-53898d9a118a
2006-06-05 00:50:27 +00:00
Edward Z. Yang
f5486bbbae Add ChildDef_Optional, which piggy-backs off of ChildDef_Required. Some column 80 formatting fixes.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@49 48356398-32a2-884e-a903-53898d9a118a
2006-05-30 22:44:14 +00:00
Edward Z. Yang
3f123d6f53 Fit everything to width=80.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@48 48356398-32a2-884e-a903-53898d9a118a
2006-05-30 14:38:28 +00:00
Edward Z. Yang
e3c4faae41 Add a missing word.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@47 48356398-32a2-884e-a903-53898d9a118a
2006-04-18 02:54:39 +00:00
Edward Z. Yang
c5bcd42d3d Write an introduction to the specification.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@46 48356398-32a2-884e-a903-53898d9a118a
2006-04-18 00:20:51 +00:00
Edward Z. Yang
4d2ec806ac Add a security document, detailing issues that white-listing won't resolve.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@45 48356398-32a2-884e-a903-53898d9a118a
2006-04-17 21:32:53 +00:00
Edward Z. Yang
83f735ea7e Finish HTMLDTD_ChildDef_Required.
Fix bug in HTML_Generator that resulted in attribute-less empty elements to have extra spaces in them.

Add whitespace designation to MF_Text.

git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@44 48356398-32a2-884e-a903-53898d9a118a
2006-04-17 00:49:15 +00:00
Edward Z. Yang
20c53d6017 Add to spec some special cases about exclusions and what to do with invalid data.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@43 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 22:51:34 +00:00
Edward Z. Yang
b29155018b Add a few more comments about possible extra features.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@42 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 21:06:08 +00:00
Edward Z. Yang
8c80b70c37 Implement automatic <p> and <li> closing. We trimmed down the closing P tags list to something more sane in the spec.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@41 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 19:34:28 +00:00
Edward Z. Yang
ffbeaf66d1 Refine tests to include attribute checks and some other cases.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@40 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 16:57:51 +00:00
Edward Z. Yang
eefb08b6f9 PureHTMLDefinition::makeWellFormed() is now complete, but may be missing a few unit tests. Update spec: we need transforms for the foreign elements. PureHTMLDefinition's children definitions have info but not behavior.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@39 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 16:50:51 +00:00
Edward Z. Yang
4c9f4067ab Begin creating scaffolding for the DTD declarations + evaluations that will make up the meat of the rest of the validation. Add a few more forgotten tests for makeWellFormed()
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@38 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 04:07:21 +00:00
Edward Z. Yang
3f4d928173 Add broken test cases for PureHTMLDefinition::makeWellFormed()
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@37 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 03:48:03 +00:00
Edward Z. Yang
0c88b090b0 Add HTML_Generator::generateFromTokens().
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@36 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 03:42:25 +00:00
Edward Z. Yang
1a3887de1b Standardize test-cases with the prefix Test_. Add framework for HTML_Purifier, its unit test will really only be for regression testing from integration issues. It's more important to test the components.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@35 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 03:39:39 +00:00
Edward Z. Yang
69da034570 Fix bug in HTML_Generator that resulted in extra spaces. PureHTMLDefinition now passes all tests.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@34 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 03:33:37 +00:00
Edward Z. Yang
2782d7499a Slightly alter tag hierarchy so that Empty doesn't inherit from Start.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@33 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 03:28:13 +00:00
Edward Z. Yang
7c6775d552 Add HTML_Generator class and associated unit tests.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@32 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 03:27:40 +00:00
Edward Z. Yang
c4b23cc775 Turn on entity parsing for the Lexers. Add PureHTMLDefinition and define removeForeignElements.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@31 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 03:00:05 +00:00
Edward Z. Yang
e7f5b1674d Condense benchmark output.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@30 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 01:09:32 +00:00
Edward Z. Yang
6248b05d0e Peephole optimization for infinite loop protection code.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@29 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 00:37:57 +00:00
Edward Z. Yang
20e027646d Commit benchmarking code.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@28 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 00:35:34 +00:00
Edward Z. Yang
53b738c1e4 Fix the ineffective infinite loop protection.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@27 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 00:35:22 +00:00
Edward Z. Yang
9f1d145322 Add infinite loop protection.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@26 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 00:30:11 +00:00
Edward Z. Yang
6372a16926 Fix some more attribute parsing things that could lead to infinite loops.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@25 48356398-32a2-884e-a903-53898d9a118a
2006-04-16 00:23:35 +00:00
Edward Z. Yang
92bfaafd20 Fix infinite loop that occurs when we have unquoted attributes.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@24 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 22:28:03 +00:00
Edward Z. Yang
bbd2ad29bd Add more info to the spec about CSS and start documenting status of each segment.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@23 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 02:28:43 +00:00
Edward Z. Yang
dad395ac45 Scratch PI or JASP from spec. Add extra comments about MarkupFragment's behavior to incoming data. More Todos for our home-brew lexer, and also fix empty tag support in the SAX parer adapter. Add test framework for marking SAX to be tested with the regular result, or a specialized result.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@22 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 02:19:27 +00:00
Edward Z. Yang
181d544b61 Cleanup final renaming stuff (how could I forget to rename the class) and hook in the SAX parser. It has a bit different behavior, so you'll have to be careful.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@21 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 01:47:12 +00:00
Edward Z. Yang
bf331d3a13 Kick naming changes into effect.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@20 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 01:30:26 +00:00
Edward Z. Yang
ec8d41d768 Copy of tests for MarkupLexer
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@19 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 01:17:13 +00:00
Edward Z. Yang
d0d22874e4 Import MarkupLexer from thewritingpot. We also need the unit tests associated with it.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@18 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 01:15:56 +00:00
Edward Z. Yang
6d77fa061b Add framework.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@17 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 01:13:42 +00:00
Edward Z. Yang
1f4165d868 Commit our specification document.
git-svn-id: http://htmlpurifier.org/svnroot/html_purifier/trunk@16 48356398-32a2-884e-a903-53898d9a118a
2006-04-15 01:06:54 +00:00