Permalink
Browse files

Bugfixes and Rails Edge

Update to Rails 2.3.1.
  (Actually, not quite. Doesn't look like 2.3.1 will be released
   today, but I REALLY want to push these bugfixes out.)
Removed bundled Rack (Rails 2.3.1 comes bundled with Rack 1.0).
Add
     config.action_view.cache_template_loading = true
  to production environment.
Fix FastCGI bug (http://rubyforge.org/tracker/index.php?func=detail&aid=24191&group_id=186&atid=783).
Fix WikiWords bug (http://rubyforge.org/pipermail/instiki-users/2009-February/001181.html).
  • Loading branch information...
1 parent 0ddef97 commit 133c21b8019d3de3501e3a968d36410a8e32ade3 @distler distler committed Feb 28, 2009
Showing 641 changed files with 20,001 additions and 71,135 deletions.
View
116 CHANGELOG
@@ -1,3 +1,119 @@
+
+* 0.16.3: Big steps, Rails 2.3.0-RC1 and tons of new stuff!
+
+All the patching, developing and great hacking from Jacques Distler was
+merged into the main codebase of instiki. Jaques is now also maintaining the
+main branch (together with parasew), which brings instiki up-to-date!
+
+Find more information about all the changes in his site:
+
+ http://golem.ph.utexas.edu/instiki/
+
+New Features:
+* Instiki comes and runs with Rails 2.3.0-RC1
+* New Markdown interpreter: Maruku
+* Default markup dialect is Markdown+itex2MML
+* Mathematics suport, using itex2MML (Markdown+itex2MML)
+ http://golem.ph.utexas.edu/~distler/blog/itex2MMLcommands.html
+ or BlahTeX (Markdown+BlahTeX/PNG)
+ http://golem.ph.utexas.edu/instiki/show/BlahTeX
+* Theorem Environments
+* Automatic Equation numbering and automatic Theorem numbering,
+* Integrated presentation software
+ http://golem.ph.utexas.edu/instiki/show/S5
+ complete with support for themes
+ (available with Markdown, Markdown+itex2MML or Markdown+BlahTeX/PNG)
+* Sends application/xhtml+xml to compatible browsers
+ (available with Markdown, Markdown+itex2MML or Markdown+BlahTeX/PNG)
+ Serve Webs which use non-Markdown Text Filters (Textile, RDoc or Mixed) as
+ text/html. This makes those Text Filters usable, again.
+* Scalable Vector Graphics (SVG) enabled
+ (available with Markdown, Markdown+itex2MML or Markdown+BlahTeX/PNG).
+* Nifty SVG Logo
+ (available with Markdown, Markdown+itex2MML or Markdown+BlahTeX/PNG).
+* Atom 1.0 feeds.
+* ETag support.
+* Filesystem-based caching.
+* New, industrial-strength Sanitizer (anti-XSS protection).
+* Uses xhtmldiff for redline diff pages.
+* (Actually functional) LaTeX output.
+* InterWeb WikiLinks
+* Add a user interface to manage uploaded files.
+* Add a user interface to delete a Web.
+* Add a user interface to delete orphaned pages in a Category. In addition to
+ deleting all orphaned pages, you can now delete just the orphaned pages in a
+ particular category. Among other things, this provides a handy way to delete
+ a (selection of) page(s): just assign them to a new category (“delete”, say)
+ and delete the orphaned pages in that category.
+* Add the manage_fixtures plugin for easy database migration
+* Descriptions in the File Upload Dialog are used as the default alt text (for
+ pictures) or the default link text (for files).
+
+Bugfixes:
+(see http://golem.ph.utexas.edu/~distler/blog/archives/001893.html for a
+complete list)
+
+* fixes to xhtmldiff
+* fixed Sanitizer issues
+* Do dnsbl lookups more judiciously. Anti-spam effectiveness is undiminished,
+ but the application is more responsive.
+* Fix a Session CookieOverflow when rescuing Instiki::ValidationError
+* Domain independent caching
+* Fix for no Flash Messages
+* Links on “published” Webs were all screwed-up. Fixed.
+* Make uploaded pictures display in the “published” view.
+* Make @import rules in the “Stylesheet Tweaks” work in the “published” view.
+* Actually verify the password, when setting a password for a Web, rather than
+ just pretending to do so.
+* fixes for nowiki “<nowiki>[[!include foo]]</nowiki>”)
+* Hide Equations From WikiChunk Processing
+* Fix a bug in the Chunk handler, which was mangling backslashes in included
+ pages.
+* Entering the wrong password on the “CreateWeb” form now redirects back to
+ the form, as it should.
+* Allow single-letter WikiLinks (e.g. “[[a]]”). Requested by a Japanese user.
+* Allow single-letter includes (e.g. “[[!include a]]”).
+* Huge improvements to caching and cache-sweeping
+* Category listing restricts to current Web.
+* All WikiReference methods limit results to the current web
+* File uploads work right.
+* Make WEBrick respond to TERM signal. (Launchd, in particular, requires this.)
+* Ditch the URIChunk and LocalURIChunk handlers. Slow, buggy, and of dubious
+ utility.
+* Ensure unsafe operations (new, save,...) are POSTs, not GETs.
+* Fix utf-8 bug in WikiChunk handling.
+* Disable WikiChunk processing in tags.
+* Hide Equations From WikiChunk Processing
+* Fix for the "Backslashes in Included Equations" bug.
+* Sessions are now stored in a cookie (signed and Base-64 encoded).
+ Form_spam_protection stores form_keys in the session.
+ Make sure spambots implement both cookies and javascript, by storing
+ hashed (with salt) keys in the session.
+* Make sure request.ip is a valid IPv4 or IPv6 address.
+* Make remove_orphaned_pages work in a proxied situation.
+* In the wiki_controller, only apply the dnsbl_check before_filter
+ to the :edit, :new, and :save :export actions, instead of all actions.
+ This makes mundane "show" requests faster, but does not
+ compromise spam-fighting ability.
+* Be a little gentler in recovering from Instiki::ValidationErrors, when
+ saving a page. Previously, we threw away all the user's changes upon
+ the redirect. Now we attempt to salvage what he wrote.
+* Drop hostname from cache key.
+* Fix Recursive Includes.
+* Entering an incorrect password on the Create Web form should redirect
+ back to the form, with a flash error.
+* In the Stylesheet Tweaks, the owner of a Web can specify an @import rule
+ to pull in CSS styles form an external file. This worked in the "show"
+ view, but was broken in the "published" view. Fixed.
+* Allow multiple leading capital letters in a WikiWord.
+
+------------------------------------------------------------------------------
+* 0.13.0:
+
+Mainly a Bugfix Release, which fixes two XSS Vulnerabilities.
+More information can be found on Jacques Distler's Blog:
+http://golem.ph.utexas.edu/~distler/blog/archives/001634.html
+
------------------------------------------------------------------------------
* 0.12.0:
View
23 README
@@ -35,8 +35,9 @@ if you are running Windows 95, 98 or ME and cannot get instiki to run, try Versi
=== If you are on Mac OSX
-Since the Apple guys really screwed it up, having an old Ruby Version (1.8.2) and a broken Readline Library with MacOSX Tiger, you have to
+On Leopard, you are all set.
+Tiger ships with a really old Ruby Version (1.8.2) and a broken Readline Library you have to
- use the Ruby One-Click-Installer for OSX ( http://rubyosx.com ) if you don't already have macports' Ruby
- make sure you read http://instiki.5uper.net/instiki/show/SQLite+issues+on+OSX
- run "ruby instiki.rb" via command-line in the directory
@@ -64,10 +65,14 @@ You're now running a perfectly suitable wiki on port 2500 that'll present you wi
* Password-protected webs: Keep it private
* Authors: Each revision is associated with an author, so you can see who changed what
* Reference tracker: Which other pages are pointing to the current?
-* Three markup choices: Textile http://www.textism.com/tools/textile
- (default / RedCloth http://www.whytheluckystiff.net/ruby/redcloth ),
- Markdown (BlueCloth[http://bluecloth.rubyforge.org]), and RDoc[http://rdoc.sourceforge.net/doc]
-* Embedded webserver: Through WEBrick[http://www.webrick.org], also runs on Mongel if you want to.
+* Five markup choices:
+ Markdown-based choices [http://daringfireball.net/projects/markdown/syntax]:
+ Markdown+itex2MML (the default; requires itex2MML)
+ Markdown+BlahTeX/PNG (requires blahtex and a working TeX installation
+ Markdown
+ Textile [http://www.textism.com/tools/textile]
+ RDoc [http://rdoc.sourceforge.net/doc]
+* Embedded webserver: uses Mongrel (if installed), or the bundled WEBrick webserver (if not).
* Internationalization: Wiki words in any latin, greek, cyrillian, or armenian characters
* Color diffs: Track changes through revisions
* Runs on SQLite per default, can be configured to run on PostgreSQL, MySQL, DB2, Firebird, Openbase, Oracle, SQL Server or Sybase
@@ -82,6 +87,9 @@ You're now running a perfectly suitable wiki on port 2500 that'll present you wi
* See CHANGELOG
+== Migrating from Instiki 0.11-0.12 to 0.16.3
+
+ rake upgrade_instiki
== Migrating Instiki 0.10.2 storage to Instiki 0.11.0 database
@@ -150,3 +158,8 @@ Email:: alex[AT]verk.info
From 0.11 onwards:: Matthias Tarasiewicz and 5uper.net
Email:: parasew[AT]gmail.com
Website:: http://5uper.net[http://5uper.net]
+
+From 0.13 onwards:: Matthias Tarasiewicz and Jacques Distler
+Email:: instiki-devel[AT]rubyforge.org
+Weblog Jacques: http://golem.ph.utexas.edu/~distler/blog/
+Weblog Parasew: http://parasew.com
View
@@ -7,7 +7,7 @@
`ruby -r #{v + 'rexml/rexml'} -e 'p REXML::VERSION'`.split('.').collect {|n| n.to_i} }
$:.unshift(File.dirname(__FILE__) + '/../vendor/plugins/rexml/lib') if (rexml_versions[0] <=> rexml_versions[1]) == -1
-$:.unshift(File.dirname(__FILE__) + '/../vendor/plugins/rack/lib')
+#$:.unshift(File.dirname(__FILE__) + '/../vendor/plugins/rack/lib')
require File.join(File.dirname(__FILE__), 'boot')
require 'active_support/secure_random'
@@ -21,6 +21,7 @@
# Full error reports are disabled and caching is turned on
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching = true
+config.action_view.cache_template_loading = true
# Enable serving of images, stylesheets, and javascripts from an asset server
# config.action_controller.asset_host = "http://assets.example.com"
View
@@ -1,6 +1,5 @@
#!/usr/bin/env ruby
-$:.unshift(File.dirname(__FILE__) + '/vendor/plugins/rack/lib')
# Executable file for a gem
# must be same as ./instiki.rb
View
@@ -70,7 +70,7 @@ class Word < WikiLink
attr_reader :escaped_text
unless defined? WIKI_WORD
- WIKI_WORD = Regexp.new('(":)?(\\\\)?(' + WikiWords::WIKI_WORD_PATTERN + ')\b', 0)
+ WIKI_WORD = Regexp.new('(":)?(\\\\)?(' + WikiWords::WIKI_WORD_PATTERN + ')\b', 0, 'u')
end
def self.pattern
View
@@ -37,6 +37,7 @@ ARGV.clone.options do |opts|
opts.on("-e", "--environment=name", String,
"Specifies the environment to run this server under (test/development/production).",
"Default: production") { |v| options[:environment] = v }
+ opts.on("-P", "--path=/path", String, "Runs Instiki mounted at a specific path.", "Default: /") { |v| options[:path] = v }
opts.separator ""
@@ -55,7 +56,7 @@ unless server
end
puts "=> Booting #{ActiveSupport::Inflector.demodulize(server)}"
-puts "=> Rails #{Rails.version} application starting on http://#{options[:Host]}:#{options[:Port]}"
+puts "=> Rails #{Rails.version} application starting on http://#{options[:Host]}:#{options[:Port]}#{options[:path]}"
%w(cache pids sessions sockets).each do |dir_to_make|
FileUtils.mkdir_p(File.join(RAILS_ROOT, 'tmp', dir_to_make))
@@ -88,11 +89,20 @@ else
inner_app = ActionController::Dispatcher.new
end
+if options[:path].nil?
+ map_path = "/"
+else
+ ActionController::Base.relative_url_root = options[:path]
+ map_path = options[:path]
+end
+
app = Rack::Builder.new {
use Rails::Rack::LogTailer unless options[:detach]
- use Rails::Rack::Static
use Rails::Rack::Debugger if options[:debugger]
- run inner_app
+ map map_path do
+ use Rails::Rack::Static
+ run inner_app
+ end
}.to_app
puts "=> Call with -d to detach"
@@ -11,6 +11,10 @@ def test_simple
match(WikiChunk::Word, 'This is a WikiWord okay?', :page_name => 'WikiWord')
end
+ def test_lowercase_accented
+ no_match(WikiChunk::Word, "This is a Refer\303\252ncia?")
+ end
+
def test_escaped
# escape is only implemented in WikiChunk::Word
match(WikiChunk::Word, 'Do not link to an \EscapedWord',
@@ -1,8 +0,0 @@
-* Christian Neukirchen <chneukirchen@gmail.com>
-* HTTP authentication: Tim Fletcher <twoggle@gmail.com>
-* Cookie sessions, Static handler: Luc Heinrich <luc@honk-honk.com>
-* Pool sessions, OpenID authentication: blink <blinketje@gmail.com>
-* Rack::Deflater: Christoffer Sawicki <christoffer.sawicki@gmail.com>
-* LiteSpeed handler: Adrian Madrid
-* SCGI handler: Jeremy Evans
-* Official Logo: Armin Ronacher
@@ -1,18 +0,0 @@
-Copyright (c) 2007 Christian Neukirchen <purl.org/net/chneukirchen>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Oops, something went wrong.

0 comments on commit 133c21b

Please sign in to comment.