summaryrefslogtreecommitdiff
path: root/src/scanners.c
AgeCommit message (Collapse)Author
2018-03-25Fix inline raw HTML parsing.John MacFarlane
This fixes a recently added failing spec test case. Previously spaces were being allowed in unquoted attribute values; no we forbid them.
2017-07-13Reverted mistaken fix to #193.John MacFarlane
Commit 14ea489f5dd6e3d07e23f104d6c9ce441d05751b
2017-06-21Don't scan past newline eitherYuki Izumi
2017-06-21Don't scan past an EOLYuki Izumi
2017-06-02Fixed bug with unescaped left angle bracket in link destination.John MacFarlane
Closes #193.
2016-12-05scanners.c generated with re2c 0.16 (68K smaller!).John MacFarlane
2016-12-05scanners.re - fixed warnings; use * for fallback.John MacFarlane
2016-12-01Allow balanced nested parens in link destinations (#166)Yuki Izumi
2016-09-14Allow tabs after setext header line.John MacFarlane
See jgm/commonmark.js#109
2016-09-13Regenerated scanners.c.John MacFarlane
2016-09-12Fixed h2..h6 HTML blocks (jgm/CommonMark#430).John MacFarlane
Added regression test.
2016-07-02Fixed ATX headers and thematic breaks to allow tabs as well as spaces.John MacFarlane
2016-04-09Reformatted.John MacFarlane
2016-02-06Generated scanners.c with more recent re2c.John MacFarlane
2016-01-11Fixed edge case with escaped parens in link destination.John MacFarlane
Closes #97. This was also checked against the #82 case with asan.
2016-01-05Don't allow spaces in link destinations, even with pointy brackets.John MacFarlane
Conforms to latest change in spec.
2016-01-05Updated `scheme` scanner according to spec change.John MacFarlane
We no longer use a whitelist of valid schemes.
2015-12-28Another small optimization in _scan_at.John MacFarlane
Check for offset greater than string length.
2015-12-22Adjusted scanner for link url.John MacFarlane
This fixes the heap buffer overflow reported in #82. Closes #82.
2015-12-22Regenerate scanners.c using re2c 0.15.3.John MacFarlane
2015-12-22Rename hrule -> thematic_break.John MacFarlane
CMARK_NODE_HRULE -> CMARK_NODE_THEMATIC_BREAK. However we've defined the former as the latter to keep backwards compatibility. See jgm/CommonMark 8fa94cb460f5e516b0e57adca33f50a669d51f6c
2015-12-22Rename 'header' -> 'heading'.John MacFarlane
See jgm/CommonMark commit 0cdbcee4e840abd0ac7db93797b2b75ca4104314 Note that we have defined cmark_node_get_header_level = cmark_node_get_heading_level and cmark_node_set_header_level = camrk_node_set_heading_level for backwards compatibility in the API.
2015-09-16Check for NULL pointer in _scan_at.John MacFarlane
Closes #81.
2015-08-18Added iframe to list of blocktags, as per spec change.John MacFarlane
2015-08-07Removed pre from blocktags scanner.John MacFarlane
See jgm/CommonMark#355. Pre is handled separately in rule 1 and needn't be handled in rule 6.
2015-07-27Use clang-format, llvm style, for formatting.John MacFarlane
* Reformatted all source files. * Added 'format' target to Makefile. * Removed 'astyle' target. * Updated .editorconfig.
2015-07-13Added `CMARK_OPT_SAFE` option and `--safe` command-line flag.John MacFarlane
* Added `CMARK_OPT_SAFE`. This option disables rendering of raw HTML and potentially dangerous links. * Added `--safe` option in command-line program. * Updated `cmark.3` man page. * Added `scan_dangerous_url` to scanners. * In HTML, suppress rendering of raw HTML and potentially dangerous links if `CMARK_OPT_SAFE`. Dangerous URLs are those that begin with `javascript:`, `vbscript:`, `file:`, or `data:` (except for `image/png`, `image/gif`, `image/jpeg`, or `image/webp` mime types). * Added `api_test` for `OPT_CMARK_SAFE`. * Rewrote `README.md` on security.
2015-07-12Fixed scanner for link url.John MacFarlane
re2c returns the longest match, so we were getting bad results with [link](foo\(and\(bar\)\)) which it would parse as containing a bare `\` followed by an in-parens chunk ending with the final paren.
2015-07-11Allow non-initial hyphens in html tag names.John MacFarlane
This allows for custom tags, see jgm/CommonMark#239.
2015-07-10Updates for new HTML block spec.John MacFarlane
* Rewrote spec for HTML blocks. A few other spec examples also changed as a result. * Removed old `html_block_tag` scanner. Added new `html_block_start` and `html_block_start_7`, as well as `html_block_end_n` for n = 1-5. * Rewrote block parser for new HTML block spec.
2015-07-03Use utf-8 aware re2c.John MacFarlane
2015-06-13Fixed backslashes in link destinations that are not part of escapes.John MacFarlane
See jgm/commonmark#45.
2015-06-07Convert code base to strbuf_tNick Wellnhofer
There are probably a couple of places I missed. But this will only be a problem if we use a 64-bit bufsize_t at some point. Then, we'll get warnings from -Wshorten-64-to-32.
2015-04-07Support for CRLF and CR line endings.Ben Trask
2015-03-29Scanners: added _scan_scheme, scan_scheme.John MacFarlane
This is used in the commonmark renderer.
2015-02-13Updated scanners for new whitespace definition.John MacFarlane
2015-01-31Fixed autolink scanner to conform to the spec.John MacFarlane
Backslash escapes not allowed in autolinks.
2015-01-17Put check for fence close with the other checks for end-of-block.John MacFarlane
This is a more logical arrangement and follows recent changes to the JS implementation.
2015-01-03scanners.re: More accurate regex for HTML comments.John MacFarlane
Note: this only affects inline parsing. Block parsing is handled differently.
2014-12-16scanners.re: use cmark_chunk rather than chunk.John MacFarlane
2014-12-15Re-added cmark_ prefix to strbuf and chunk.John MacFarlane
Reverts 225d720.
2014-12-01Added src/scanners.c to repository.John MacFarlane
This reduces build dependencies and should help avoid issues like