<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-336308386934546555.post7495962090909617820..comments</id><updated>2010-01-20T15:11:12.275+08:00</updated><title type='text'>Comments on C for Coding: Markdown Musings on Unintended Consequences</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.cforcoding.com/feeds/7495962090909617820/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html'/><author><name>William Shields</name><uri>http://www.blogger.com/profile/18356811199950883367</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-1518708714130548332</id><published>2010-01-20T15:11:12.275+08:00</published><updated>2010-01-20T15:11:12.275+08:00</updated><title type='text'>You guys haven't even LOOKED at the MarkdownSharp ...</title><content type='html'>You guys haven&amp;#39;t even LOOKED at the MarkdownSharp code, obviously.&lt;br /&gt;&lt;br /&gt;William, are you 100% sure nobody else has defined a grammar for Markdown yet?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/1518708714130548332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/1518708714130548332'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html?showComment=1263971472275#c1518708714130548332' title=''/><author><name>Jeff Atwood</name><uri>http://codinghorror.myopenid.com/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-7495962090909617820' source='http://www.blogger.com/feeds/336308386934546555/posts/default/7495962090909617820' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-7587848506826068407</id><published>2010-01-16T11:29:35.122+08:00</published><updated>2010-01-16T11:29:35.122+08:00</updated><title type='text'>The XSS aspect is interesting and something that h...</title><content type='html'>The XSS aspect is interesting and something that hadn&amp;#39;t occurred to me. MarkdownSharp appears to still use the hash code so I guess would be vulnerable to XSS.&lt;br /&gt;&lt;br /&gt;I wonder if that means Stackoverflow is subject to XSS in the same way since I assume SO uses MarkdownSharp?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/7587848506826068407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/7587848506826068407'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html?showComment=1263612575122#c7587848506826068407' title=''/><author><name>William Shields</name><uri>http://www.blogger.com/profile/18356811199950883367</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='07140129710674369084'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-7495962090909617820' source='http://www.blogger.com/feeds/336308386934546555/posts/default/7495962090909617820' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-7597396218810537963</id><published>2010-01-16T11:18:34.129+08:00</published><updated>2010-01-16T11:18:34.129+08:00</updated><title type='text'>Ha! A match made in heaven!

Gruber's design 'esca...</title><content type='html'>Ha! A match made in heaven!&lt;br /&gt;&lt;br /&gt;Gruber&amp;#39;s design &amp;#39;escapes&amp;#39; blocks by replacing them with their hashcodes, but if the original input contains the same hashcodes — welcome to XSS city!&lt;br /&gt;&lt;br /&gt;Some people have &amp;#39;fixed&amp;#39; this hole by salting the MD5 replacements so an attacker can&amp;#39;t guess them.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/7597396218810537963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/7597396218810537963'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html?showComment=1263611914129#c7597396218810537963' title=''/><author><name>Fred Blasdel</name><uri>http://www.blogger.com/profile/08057528812732998703</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-7495962090909617820' source='http://www.blogger.com/feeds/336308386934546555/posts/default/7495962090909617820' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-4739679384891600871</id><published>2010-01-16T08:52:04.758+08:00</published><updated>2010-01-16T08:52:04.758+08:00</updated><title type='text'>MarkdownSharp replaces blocks with hashcodes so th...</title><content type='html'>MarkdownSharp replaces blocks with hashcodes so they won&amp;#39;t be affected by subsequent regexes. I suspect this must be the equivalent of the MD5 hashing you refer to (I haven&amp;#39;t looked at the original Markdown source).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/4739679384891600871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/4739679384891600871'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html?showComment=1263603124758#c4739679384891600871' title=''/><author><name>William Shields</name><uri>http://www.blogger.com/profile/18356811199950883367</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='07140129710674369084'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-7495962090909617820' source='http://www.blogger.com/feeds/336308386934546555/posts/default/7495962090909617820' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-780768042501811339</id><published>2010-01-16T07:45:00.610+08:00</published><updated>2010-01-16T07:45:00.610+08:00</updated><title type='text'>The PHP Markdown changelog should give you at leas...</title><content type='html'>&lt;a href="http://michelf.com/projects/php-markdown/" rel="nofollow"&gt;The PHP Markdown changelog&lt;/a&gt; should give you at least a hundred bugs in Markdown.pl to test against — he started with a straight transliteration (much like MarkdownSharp), and gradually made it less shitty. &lt;a href="http://code.google.com/p/pandoc/wiki/PandocVsMarkdownPl" rel="nofollow"&gt;Here&amp;#39;s some more from the author of Pandoc&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You&amp;#39;re doing the right thing by completely rewriting it using real tools instead of multi-pass regex spaghetti.&lt;br /&gt;&lt;br /&gt;Atwood and Gruber really do deserve each other — does MarkdownSharp replicate Markdown.pl&amp;#39;s ridiculous MD5-based escaping mechanism?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/780768042501811339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/780768042501811339'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html?showComment=1263599100610#c780768042501811339' title=''/><author><name>Fred Blasdel</name><uri>http://www.blogger.com/profile/08057528812732998703</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-7495962090909617820' source='http://www.blogger.com/feeds/336308386934546555/posts/default/7495962090909617820' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-336308386934546555.post-5292199757300089084</id><published>2010-01-15T16:22:10.884+08:00</published><updated>2010-01-15T16:22:10.884+08:00</updated><title type='text'>I think having the p elements inside the list item...</title><content type='html'>I think having the p elements inside the list items is for this use case:&lt;br /&gt;&lt;br /&gt;* paragraph 1&lt;br /&gt;&lt;br /&gt;   paragraph 2 (still inside list item)&lt;br /&gt;&lt;br /&gt;* paragraph 3</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/5292199757300089084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/336308386934546555/7495962090909617820/comments/default/5292199757300089084'/><link rel='alternate' type='text/html' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html?showComment=1263543730884#c5292199757300089084' title=''/><author><name>Mike Weller</name><uri>http://www.blogger.com/profile/07165673241751830326</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.cforcoding.com/2010/01/markdown-musings-on-unintended.html' ref='tag:blogger.com,1999:blog-336308386934546555.post-7495962090909617820' source='http://www.blogger.com/feeds/336308386934546555/posts/default/7495962090909617820' type='text/html'/></entry></feed>