]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/pagedown_plugin/discussion.mdwn
Exclude working directory from library path (CVE-2016-1238)
[git.ikiwiki.info.git] / doc / todo / pagedown_plugin / discussion.mdwn
index b2e2f0cb9f4d6ea394cc9153d6705a93047be375..42015c4ff2c3dfb5e508de13a5e2ed64a3fed888 100644 (file)
@@ -1,3 +1,5 @@
+(This conversation was moved from [[plugins/wmd/discussion]]. --[[anarcat]])
+
 I've tried to retrieve the wmd-editor source tarball lately, but the site seems offline.
 
 From what I've read on the Internet, wmd-editor is not (yet?) free software by itself, and its author has gone MIA.
 I've tried to retrieve the wmd-editor source tarball lately, but the site seems offline.
 
 From what I've read on the Internet, wmd-editor is not (yet?) free software by itself, and its author has gone MIA.
@@ -57,3 +59,88 @@ Given all the above, what about upgrading this plugin to use pagedown instead of
 > It does not, however, have a markdown to html converter -- for 
 > previewing it has to talk to the server with AJAX.
 > --[[Joey]]
 > It does not, however, have a markdown to html converter -- for 
 > previewing it has to talk to the server with AJAX.
 > --[[Joey]]
+
+
+>> Showdown has a pretty explicit [license.txt file](https://github.com/coreyti/showdown/blob/master/license.txt)
+>> and it basically looks like a BSD license. That license.txt file was imported into 
+>> github directly from the upstream showdown source, so it seems credible. That zip file
+>> is still available [on archive.org](http://wayback.archive.org/web/20100612163302/http://attacklab.net/showdown/showdown-v0.9.zip),
+>> and does mention a BSD copyright.
+>>
+>> So Showdown itself is clean: it's free. Nowhere does it say it derives from WMD, or
+>> if it does, it doesn't matter *because* it was made by the same author **and then** 
+>> released under that free license. But even then, it does *not* mention being a
+>> derivative of WMD.
+>> 
+>> I agree the license behind WMD is murky. One the one hand, the [google code page](https://code.google.com/p/wmd/)
+>> mentions the code will be relicensed under MIT but "for now" we can "use it freely":
+>> 
+>> > *I'm refactoring the code, and will be releasing WMD under the MIT license soon. For
+>> now you can download the most recent release (wmd-1.0.1.zip) and use it freely.*
+>>
+>> That zip file is again offline, but it's also [on archive.org](http://web.archive.org/web/20101226145228/http://wmd-editor.com/downloads/wmd-1.0.1.zip).
+>> Things get a little more murky there: the file doesn't actually mention any copyright 
+>> statement, and the code is actually obfuscated, something that is mentionned on the aforementionned
+>> Stack Exchange thread. The [terms and conditions of WMD](http://web.archive.org/web/20100323043113/http://wmd-editor.com/terms)
+>> are pretty hostile however:
+>>
+>>> *All rights reserved. You may not duplicate, copy, or reuse any portion of the HTML/CSS, JavaScript, or visual design elements or concepts without express written permission from AttackLab.*
+>>
+>> But one could argue they apply only to WMD, and *not* showdown, which has been
+>> explicitely published under a different license. And maybe that was the whole 
+>> point here: the stack exchange people were trying to negociate having the 
+>> clear and free version of WMD for their own use, maybe showdown is actually
+>> what came out of this and what allows Stack exchange to do their thing...
+>> 
+>> And besides: the point here is that we *can't actually use WMD safely*, but
+>> we **can use pagedown safely!**.
+>> 
+>> I tried the plugin: it works, and it works well. It's also fairly trivial to
+>> install the upstream showdown library, which is not shipped with the plugin
+>> (which alleviates all possible copyright problems). You can take test the 
+>> plugin at <http://testwiki.anarc.at/>
+>> 
+>> There are only three issues I could find during testing:
+>> 
+>>  1. two previews are showed (the showdown one and the regular ikiwiki one),
+>>     which can be confusing, but is still necessary because the showdown one 
+>>     doesn't parse ikiwiki directives. 
+>>  2. the wiki needs to be rebuilt when the plugin is first activated for the
+>>     stylesheets to regenerate. new wikis are not affected, and this can be
+>>     deployed massively on farms without user intervention.
+>>  3. on large pages, the edit screen isn't in the first screen, so it's not 
+>>     obvious we're editing the page, which is also a little confusing - we 
+>>     would need an anchor in there... Update: a simple patch fixes that... 
+>>     but in a rather crude way:
+>>
+>>  [[!format diff """
+--- a/IkiWiki/Render.pm
++++ b/IkiWiki/Render.pm
+@@ -87,7 +87,7 @@ sub genpage ($$) {
+        my $actions=0;
+        if (length $config{cgiurl}) {
+                if (IkiWiki->can("cgi_editpage")) {
+-                       $template->param(editurl => cgiurl(do => "edit", page => $page));
++                       $template->param(editurl => cgiurl(do => "edit", page => $page) . '#editcontent');
+                        $actions++;
+                }
+        }
+"""]]
+>>      ideally, we would show the edit box next to the page preview... And there's a way to do that too! But it requires some more CSS hackery, like [this](http://css-tricks.com/scrollfollow-sidebar/), for example:
+>>
+>>     #wmd-preview {
+>>       position: relative;
+>>       margin: 15px auto;
+>>       float: left;
+>>       width: 50%;
+>>     }
+>>     form {
+>>       position: fixed;
+>>       margin-left: 50%;
+>>     }
+>>
+>> But this is getting a little crazy and I need to sleep now.
+>>
+>> [[!template id=gitbranch branch=anarcat/pagedown author="[[anarcat]]"]]
+>>
+>> Anyways, let's work on merging that pretty branch already shall we? :) --[[anarcat]]