1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <title>Geeklog Documentation - Changes</title>
5 <link rel="stylesheet" type="text/css" href="../docstyle.css" title="Dev Stylesheet">
9 <p><a href="http://www.geeklog.net/" style="background:transparent"><img src="../images/newlogo.gif" alt="Geeklog" width="243" height="90"></a></p>
10 <div class="menu"><a href="index.html">Geeklog Documentation</a> - Changes</div>
14 <p>This document is intended to give a quick overview over the most important
15 and / or obvious changes. For a detailed list of changes, please consult the
16 <a href="../history">ChangeLog</a>. The file <tt>docs/changed-files</tt> has a
17 list of files that have been changed since the last release.</p>
19 <h2><a name="changes161">Geeklog 1.6.1</a></h2>
21 <h3>New Features and Improvements</h3>
24 <li>Geeklog now lets you enter meta descriptions and meta keywords for the main
25 page, for stories, topics, static pages, and polls. Please note that these
26 meta tags <a href="http://www.mattcutts.com/blog/keywords-meta-tag-in-web-search/">may not be used</a> by some search engines.</li>
27 <li>You can now have one featured story per topic (for stories set to "Show
29 <li>New <a href="polls.html#autotags">autotags</a> now allow you to embed polls
30 in stories and everywhere else where autotags are allowed.</li>
31 <li>The Migrate option in the install script can now also be applied to an
32 existing database (i.e. you don't need to import a database dump to update
33 your URLs and paths).</li>
34 <li>The Database Backup admin panel now includes options to optimize the
35 database and convert tables to InnoDB (MySQL only).</li>
36 <li>Improved <a href="http://wiki.geeklog.net/index.php/Timezone_Support">timezone support</a> and let users actually set their own timezone.</li>
37 <li>Minor security enhancements:
39 <li>"Important" cookies (like the session cookies) are now created with
40 the HttpOnly flag set. This will help avoid some XSS attacks,
41 provided your browser supports this flag.</li>
42 <li>Template errors will now trigger the <a href="http://www.geeklog.net/faqman/index.php?op=view&t=65">standard error handler</a> instead of
43 exposing the template path.</li>
44 <li>Fixed inclusion protection for some of the Spam-X class files.</li>
48 <p>Please also see the list of <a href="theme.html#changes">theme changes</a>.</p>
53 <li>Fixed automatic <a href="config.html#desc_article_comment_close_enabled">closing of stories for comments</a> after a certain amount of days. If you need to
54 re-open comments on stories that were closed due to this bug, you can use
56 <code style="margin-left:2em">UPDATE gl_stories SET commentcode = 0, comment_expire = 0 WHERE commentcode = 1;</code></li>
57 <li>The comment speed limit was being ignored.</li>
58 <li>Fixed a bug in the Group Editor that didn't let you add groups to other
59 groups (this problem was only introduced in Geeklog 1.6.0).</li>
60 <li>The admin group for the Static Pages plugin was created with a wrong name
61 in Geeklog 1.6.0 (fresh installs only).</li>
64 <h2><a name="changes160sr2">Geeklog 1.6.0sr2</a></h2>
66 <p>This release addresses the following security issue:</p>
68 <li>Unauthorized file uploads were possible through FCKeditor.<br>
69 Uploaded files still had to go through FCKeditor's filter, so it was not possible to upload scripts (and the integrity of the Geeklog site as such was not in danger). There were, however, reports that this was used to host malware.<br>
70 This update prevents use of the upload feature when FCKeditor is disabled and disables it for anonymous users. It also doesn't allow uploading of archive files any more. Furthermore, you need some sort of "edit" permission now to be able to upload files through FCKeditor (this is meant as an interim measure - we will probably introduce a separate "upload" permission in future Geeklog versions).</li>
75 <li>Fixed installation using InnoDB tables.</li>
76 <li>Fixed a (non-exploitable) SQL error when auto-updating a story's
77 commentcode field.</li>
78 <li>Fixed a wrong function name in the Links plugin.</li>
82 <h2><a name="changes160sr1">Geeklog 1.6.0sr1</a></h2>
84 <p>This release addresses the following security issues:</p>
86 <li>Gerendi Sandor Attila reported an XSS in the forms to email a user and to
87 email a story to a friend.</li>
88 <li>The "Mail Story to a Friend" function didn't check story permissions, so
89 that it was possible to email a story even if you didn't have the
90 permissions to view it on the site.</li>
95 <li>Fixed an SQL error when submitting a story and the story submission queue
97 <li>Fixed calls to a nonexistent function <code>COM_outputMessageAndAbort</code>.</li>
101 <h2><a name="changes160">Geeklog 1.6.0</a></h2>
103 <h3>Results from the Summer of Code</h3>
105 <p>This release incorporates the following projects implemented during the
106 the 2008 Google Summer of Code:</p>
109 <li>Site migration support and easier plugin installation, by Matt West</li>
110 <li>Improved search, by Sami Barakat</li>
111 <li>Comment moderation and editable comments, by Jared Wenerd</li>
114 <h3>Other changes</h3>
117 <li>The minimum PHP version required by Geeklog is now <strong>PHP 4.3.0</strong>. Given that the PHP team ended support for PHP 4 in August 2008, you should be
118 looking into upgrading to PHP 5 anyway.</li>
119 <li>Includes <a href="http://www.fckeditor.net/">FCKeditor</a> 2.6.4.1</li>
120 <li>Includes a new plugin, <a href="http://wiki.geeklog.net/index.php/XMLSitemap_Plugin">XMLSitemap</a>, that automatically generates a <a
121 href="http://www.sitemaps.org/">XML sitemap file</a>, as supported by all
122 major search engines. Plugin written and provided by mystral-kk.</li>
123 <li>Several <a href="http://wiki.geeklog.net/index.php/New_Plugin_API_Functions_in_Geeklog_1.6.0">new plugin API functions</a> have been added and existing
124 functions have been extended.</li>
125 <li>The included documentation has been moved to <tt>docs/english</tt> to allow
126 for translations. Links to the documentation from within Geeklog will link
127 to existing translations for the current language automatically (or fall
128 back to the English documentation if no suitable translation can be found).</li>
129 <li>There were a variety of <a href="theme.html#changes">theme changes</a> to
130 support new functionality and fix inconsistencies in the layout.</li>
133 <p>This release also includes a number of patches and improvements made by
134 students applying for participation in the Google Summer of Code 2009. Thank
138 <h2><a name="changes152sr5">Geeklog 1.5.2sr5</a></h2>
140 <p>This release addresses the following security issues:</p>
142 <li>Gerendi Sandor Attila reported an XSS in the forms to email a user and to
143 email a story to a friend.</li>
144 <li>The "Mail Story to a Friend" function didn't check story permissions, so
145 that it was possible to email a story even if you didn't have the
146 permissions to view it on the site.</li>
150 <h2><a name="changes152sr4">Geeklog 1.5.2sr4</a></h2>
152 <p>Bookoo of the Nine Situations Group posted another SQL injection exploit, targetting an old bug in usersettings.php. As with the previous issues, this allowed an attacker to extract the password hash for any account and is fixed with this release.</p>
155 <h2><a name="changes152sr3">Geeklog 1.5.2sr3</a></h2>
157 <p>Bookoo of the Nine Situations Group posted another SQL injection exploit, this time targetting the webservices API. As with the previous issue, this allowed an attacker to extract the password hash for any account and is fixed with this release.</p>
160 <h2><a name="changes152sr2">Geeklog 1.5.2sr2</a></h2>
162 <p>Bookoo of the Nine Situations Group posted an SQL injection exploit for glFusion that also works with Geeklog. This issue allowed an attacker to extract the password hash for any account and is fixed with this release.</p>
165 <h2><a name="changes152sr1">Geeklog 1.5.2sr1</a></h2>
167 <p>Fernando Muñoz reported a possible <a href="http://en.wikipedia.org/wiki/XSS" title="Click to look up 'XSS' on Wikipedia" style="text-decoration: none; color: black; border-bottom: 1px dotted black;">XSS</a> in the query form on most admin panels that we are fixing with this release.</p>
170 <h2><a name="changes152">Geeklog 1.5.2</a></h2>
175 <li>Fixed a bug in the story preview where the story content was lost when
176 previewing a story with a duplicate story ID.</li>
177 <li>Fixed another bug in the story preview that caused extra backslashes to
178 appear in the story's title.</li>
179 <li>The Trackback editor didn't work since the security token was missing from
180 the editor template.</li>
181 <li>Fixed issues with clickable links in plain text postings.</li>
182 <li>Fixed various problems with updating feeds, e.g. when changing topic
186 <h3>Fixes in the bundled Plugins</h3>
189 <li>Calendar: You couldn't add a new event to your personal calendar.</li>
190 <li>Links: Changing a link's ID to one that was already in use overwrote the
192 <li>Polls: Changing a poll's ID created a new poll. Also fixed an SQL error
193 when the poll question contained single quotes.</li>
194 <li>Static Pages: Saving a static page changed the owner to the user who saved
198 <h3>Other Changes</h3>
201 <li>Improved image quality when using gdlib to rescale uploaded images.</li>
202 <li>Theme changes are documented in the <a href="theme.html#changes">theme
203 documentation</a>, as usual. There are 4 bugfixes (one of which is in the
204 templates for the Polls plugin) that should be applied to all themes for
205 the 1.5.x series.</li>
209 <h2><a name="changes151">Geeklog 1.5.1</a></h2>
211 <p>Geeklog 1.5.1 is mostly a bugfix release and a recommended upgrade for users
212 of Geeklog 1.5.0. There were also a few minor feature additions.</p>
216 <h4>Security related</h4>
219 <li>The upload script for FCKeditor could be <a
220 href="http://www.geeklog.net/article.php/file-uploads">called directly</a>
221 to upload various media files (but not executable scripts), as reported
223 <li>The protection in various include files against direct execution did not
224 work properly on non-case sensitive file systems, e.g. on Windows
225 (reported by Mark Evans).</li>
226 <li>It was possible to view stories with a publication date in the future and
227 stories that had the draft flag set if you knew their story ID.</li>
228 <li>It was possible to post comments on unpublished stories if you knew their
230 <li>When a database backup fails, the database password is no longer logged to
231 <tt>error.log</tt>.</li>
234 <h4>Other Bugfixes</h4>
237 <li>All right-side blocks were rendered twice, which not only took more time
238 than necessary, but could also affect the functionality of add-ons like
239 the Chatterblock or Shoutbox.</li>
240 <li>Fixed handling of security tokens (for CSRF protection) that prevented
241 you from deleting comments on a story that had trackbacks.</li>
242 <li>Other fixes were applied to the user submission queue, story submissions,
243 the list of draft stories and the support for MS SQL.</li>
246 <h4>Fixes in the bundled Plugins</h4>
249 <li>Calendar: Fixed display of events in the Upcoming Events block for the
250 current day (really this time ...).</li>
251 <li>Links: Fixed SQL error when trying to change a category and fixed new
252 categories silently overwriting existing categories with the same ID.</li>
253 <li>Static Pages: Fixed printer friendly version when <tt>url_rewrite</tt> is
257 <h3>New Features and Improvements</h3>
260 <li>Includes <a href="http://www.fckeditor.net/">FCKeditor</a> 2.6.3</li>
261 <li>In multi-language setups, blocks can now also be multi-lingual.</li>
262 <li>New "Subscribe to ..." feed story option when there is a separate feed for
263 a story's topic.</li>
264 <li>New option "All Frontpage Stories" for article feeds (skip stories that have
265 the "Show only in topic" option set).</li>
266 <li>Allow to unset Configuration options again after they have been "restored",
267 e.g. after accidental activation.</li>
268 <li>Configuration options can now be overwritten in <tt>siteconfig.php</tt>.
269 This is mostly useful for the <code>$_CONF['rootdebug']</code> option.</li>
270 <li>Remotely authenticated users can now use the webservices (they need to use
271 <tt>username@servicename</tt> for their username).<br>
272 <strong>Note:</strong> OpenID users can <em>not</em> use the webservices,
273 due to technical issues with the authentication method.</li>
274 <li>Improved compatibility of the webservices (i.e. AtomPub).</li>
277 <h3>Theme Changes</h3>
279 <p>There was one mandatory theme change: The template file for configuration
280 items, <tt>admin/config/config_element.thtml</tt> has to be updated (copy
281 from the Professional theme). All other theme changes in this release are
282 optional - see the <a href="theme.html#changes">theme documentation</a> for
286 <h2><a name="changes150">Geeklog 1.5.0</a></h2>
288 <h3>Results from the Summer of Code</h3>
290 <p>This release incorporates the following projects implemented during the
291 the 2007 Google Summer of Code:</p>
294 <li>New user-friendly install script by Matt West</li>
295 <li>New Configuration GUI (replacing config.php) by Aaron Blankstein</li>
296 <li>New Webservices API based on the Atom Publishing Protocol by Ramnath R. Iyer</li>
299 <h3>Other New Features and Improvements</h3>
302 <li>OpenID support: You can now allow users to log into your site using an
303 OpenID, so that they don't need to create a new account with your site but
304 still get all the benefits of a normal registered user.</li>
305 <li>New LDAP remote authentication module.</li>
306 <li>The Links plugin now has hierarchical (sub-)categories.</li>
307 <li>Updated <a href="http://www.fckeditor.net/">FCKeditor</a> to version 2.6.</li>
308 <li>Rewrite of the underlying story code. Amongst other things, this should
309 finally resolve all outstanding issues with the handling of special
310 characters, HTML entities, etc. in stories. Also introduces a new
311 <code>[raw]</code> tag as an inline complement to <code>[code]</code> when
312 you want to post pieces of code (e.g. HTML) "as is", so that they are not
314 <li>Comments can now be closed, i.e. existing comments will still be displayed
315 but no new comment can be posted.</li>
316 <li>The Polls plugin now allows for multiple questions per poll.</li>
317 <li>The Static Pages plugin now supports comments.</li>
318 <li>The database backup admin panel now lets you delete and download
320 <li>The default Professional theme is now HTML 4.01 Strict compliant. Geeklog
321 now also <a href="theme.html#xhtml">supports XHTML</a> (given an XHTML
322 compliant theme).</li>
328 <li>Geeklog now includes protection against <a href="http://www.geeklog.net/article.php/csrf">cross-site request forgery</a> attacks.</li>
329 <li>Lukasz Pilorz reported <a href="http://www.geeklog.net/article.php/kses">security issues in kses</a>, the HTML filter we're using in Geeklog.</li>
333 <h2><a name="changes141">Geeklog 1.4.1</a></h2>
335 <h3>New Features</h3>
338 <li>Support for Microsoft SQL Server. Starting with this release, Geeklog can
339 now also be installed on Microsoft SQL Server, so it's no longer restricted
340 to just MySQL. The MS SQL support was developed by Randy Kolenko.
342 Please note that any third-party plugins will have to offer support for
343 MS SQL before they can be installed on Microsoft SQL Server. The bundled
344 plugins (Calendar, Links, Polls, Spam-X, Static Pages) have already been
345 updated accordingly.</li>
346 <li><a href="calendar.html">Calendar plugin</a>. The formerly built-in calendar
347 and events have now been moved into a separate plugin. This complements the
348 move of the <a href="polls.html">polls</a> and <a href="links.html">links</a> sections into plugins in Geeklog 1.4.0 and makes Geeklog more modular as you
349 can now easily disable or replace functionality that you don't need for
351 <li><a href="http://wiki.geeklog.net/wiki/index.php/Multi-Language_Support">Multi-language support</a>. It is now possible to build truly multi-lingual sites
352 with Geeklog where not only the navigation but also the content of the site
353 changes with the language.</li>
354 <li>Ships with <a href="http://www.fckeditor.net/">FCKeditor</a> 2.3.1, which once
355 again includes a file manager for uploading images.</li>
356 <li>A function for mass-deletion of old or inactive users. The list automatically
357 searches for users that have never logged in, only used the site for a very
358 short time or have not been online since a very long time. The time span can
359 be varied, and found users can be selectively deleted.</li>
364 <p>In the light of the security issues discovered in Geeklog 1.4.0 and earlier
365 versions, the Geeklog source code has undergone a code review. We have
366 identified and addressed several minor issues and introduced new measures to
367 enhance security in this release. As a welcome side effect, the code reviews
368 have also uncovered a few bugs and inconsistencies that we also fixed in this
371 <h3>Spam Protection</h3>
373 <p>With this release we are finally removing support for the <a href="http://www.geeklog.net/article.php/mt-blacklist-discontinued">discontinued</a> MT-Blacklist. In its place, we are now using a system called Spam Link Verification (SLV) run by Russ Jones at <a href="http://www.linksleeve.org/">www.linksleeve.org</a>. SLV could be described as a community-driven, automatically updated blacklist. See the documentation of the <a href="spamx.html" rel="nofollow">Spam-X plugin</a> for details.</p>
376 <h2><a name="changes140sr6">Geeklog 1.4.0sr6</a></h2>
378 <p>MustLive pointed out a possible <a href="http://en.wikipedia.org/wiki/XSS" title="Click to look up 'XSS' on Wikipedia" style="text-decoration: none; color: black; border-bottom: 1px dotted black;">XSS</a> in the form to email an article to a friend that we're fixing with this release.</p>
381 <h2><a name="changes140sr5-1">Geeklog 1.4.0sr5-1</a></h2>
383 <p>This release fixes display problems in the comment preview that were only
384 introduced in Geeklog 1.4.0sr5.</p>
387 <h2><a name="changes140sr5">Geeklog 1.4.0sr5</a></h2>
389 <p>JPCERT/CC informed us about a possible <a href="http://en.wikipedia.org/wiki/XSS" title="Click to look up 'XSS' on Wikipedia" style="text-decoration: none; color: black; border-bottom: 1px dotted black;">XSS</a> in the comment handling that we're fixing with this release.</p>
392 <h2><a name="changes140sr4">Geeklog 1.4.0sr4</a></h2>
394 <p>Two exploits have been released by "rgod" for insecure Geeklog installations and for a bug in the "mcpuk" file manager that we've been shipping as part of FCKeditor in all previous 1.4.0 releases.</p>
397 <li>Some of the files outside of the public_html directory were not protected
398 against direct execution. If Geeklog was installed such that those files
399 were accessible from a URL (which has always been strongly discouraged in
400 the installation instructions) then those files could be used to load and
401 execute malicious code from a remote server.
404 href="http://www.geeklog.net/article.php/so-called-exploit">So-called
405 Geeklog "exploit" posted</a>
407 In this release, we've added the missing execution prevention for all files
408 outside of public_html. We would still, however, suggest that you fix your
409 Geeklog install if the files outside of public_html are accessible from a
411 href="http://www.geeklog.net/faqman/index.php?op=view&t=56">FAQ</a> for
414 <li>The "mcpuk" file manager that we've integrated into FCKeditor allowed the
415 upload of arbitrary PHP code (even if FCKeditor was disabled in Geeklog's
416 config.php). Depending on your webserver's configuration, it was then
417 possible to execute that uploaded code.
419 More information: <a href="http://www.geeklog.net/article.php/exploit-for-fckeditor-filemanager">Exploit for FCKeditor's mcpuk file manager</a>
421 The file manager has been removed from this release. You will therefore no
422 longer be able to upload files, e.g. images, through FCKeditor. Future
423 versions of Geeklog will ship with an updated version of FCKeditor and its
424 included file manager.
428 <p>Note: This release also includes the <a
429 href="http://www.geeklog.net/article.php/fighting-trackback-spam">updated
430 lib-trackback.php</a> for better protection against Trackback spam.</p>
433 <h2><a name="changes140sr3">Geeklog 1.4.0sr3</a></h2>
435 <p>This release addresses the following security issues:</p>
437 <li>Possible SQL injection and authentication bypass in <tt>auth.inc.php</tt>
438 (reported by the Security Science Researchers Institute Of Iran).</li>
439 <li>Possible XSS in <tt>getimage.php</tt>
440 (reported by the Security Science Researchers Institute Of Iran).</li>
441 <li>Path disclosure in <tt>getimage.php</tt> and the <tt>functions.php</tt> of
442 some themes, e.g. the Professional theme
443 (reported by the Security Science Researchers Institute Of Iran).</li>
444 <li>Possible SQL injection in story submissions.</li>
448 <h2><a name="changes140sr2">Geeklog 1.4.0sr2</a></h2>
450 <p>This release addresses the following security issues:</p>
452 <li>Konstantin Dyakoff found an old bug in the session handling that would
453 allow anyone to log in as any user.</li>
454 <li>HTML was not stripped from the Location field in a user's profile.</li>
458 <h2><a name="changes140sr1">Geeklog 1.4.0sr1</a></h2>
460 <p>This release addresses the following security issues:</p>
462 <li>James Bercegay of GulfTech Security Research reported several issues with
463 Geeklog's cookie handling that made it vulnerable to SQL injections,
464 arbitrary file access, and even injection and execution of arbitrary
469 <h2><a name="changes140">Geeklog 1.4.0</a></h2>
471 <p><small>(Geeklog 1.4.0 was originally supposed to be called 1.3.12, so any
472 references you may find to a version 1.3.12 apply to version 1.4.0)</small></p>
474 <h3>New Features</h3>
477 <li>Geeklog now officially works with <code>register_globals = off</code>.
478 Please note that some plugins may still require it to be <code>on</code>,
480 <li>Added support for sending and receiving <a
481 href="http://en.wikipedia.org/wiki/Trackback">Trackback</a> and <a
482 href="http://en.wikipedia.org/wiki/Pingback">Pingback</a> comments. Both
483 are supported for stories, but there is also a new plugin API so that
484 plugins can use this feature, too. Trackback and Pingback can be disabled
485 in <tt>config.php</tt>.</li>
486 <li>Added the ability to "ping" weblog directory services to advertise site
487 updates (preconfigured to ping <a
488 href="http://pingomatic.com">Ping-o-Matic</a>). As with Trackback and
489 Pingback, this is supported for stories, but plugins can also make use of
490 this feature via the plugin API.</li>
491 <li>New syndication framework so that Geeklog can now <strong>read and
492 write</strong> feeds in different formats (currently supported: RSS, RDF,
494 <li>New administrator controlled user status. Including banning and
495 administrator activation of accounts.</li>
496 <li>New Remote Authentication system to allow people with accounts on remote
497 services such as Blogger.com or LiveJournal.com to login to your site
498 without having to directly register on your site. (Remote accounts can be
499 banned as normal accounts).</li>
500 <li>The Admin sections have been revamped to provide a more consistent look and
501 sortable lists. "Command and Control" (<tt>moderation.php</tt>) now also
502 comes with a new set of icons and has one icon for every Admin section.
503 Furthermore, the Admin block and Command and Control can be <a
504 href="config.html#desc_sort_admin">sorted</a> alphabetically.</li>
505 <li>Ships with <a href="http://www.fckeditor.net/">FCKeditor</a> (WYSIWYG
506 editor). To <a href="config.html#desc_advanced_editor">enable</a>, set
507 <code>$_CONF['advanced_editor'] = true;</code> in your
508 <tt>config.php</tt>.</li>
509 <li>The search now only displays a specified amount of results per page to
510 avoid running into timeouts when searching through large databases.<br>
511 <b>Note:</b> Plugins will have to be updated to support the "paged" search.
512 Until then, Geeklog fakes the paged results for plugin searches, which
513 means that a plugin that hasn't been updated will still search through the
514 entire database, but Geeklog will only display the results for the current
516 <li>Introduced an "Article Directory", providing an overview of all past
517 articles, sorted by year and month.</li>
518 <li>The default permissions for new objects (stories, topics, blocks, etc.) can
519 now be set in config.php.</li>
522 <h3>Compatibility</h3>
525 <li>Due to the changes, themes will have to be updated to work with Geeklog
526 1.4.0. See the <a href="theme.html#changes">list of theme changes</a> for
528 <li>The plugin API for comments has changed. Plugins using comments will have
529 to be updated to work with Geeklog 1.4.0.</li>
532 <h3>More Information</h3>
534 <p>We have posted a series of stories on the Geeklog homepage that highlight and explain some of the new features:</p>
536 <li><a href="http://www.geeklog.net/article.php/advanced-editor">Geeklog's Advanced Editor</a></li>
537 <li><a href="http://www.geeklog.net/article.php/remote-authentication">Remote Authentication</a></li>
538 <li><a href="http://www.geeklog.net/article.php/trackback-pingback">Trackback and Pingback</a></li>
539 <li><a href="http://www.geeklog.net/article.php/ping">Sending a Ping</a></li>
540 <li><a href="http://www.geeklog.net/article.php/comment-plugin-api">New Comment Plugin API</a></li>
544 <h2><a name="changes1311sr7">Geeklog 1.3.11sr7</a></h2>
546 <p>JPCERT/CC informed us about a possible <a href="http://en.wikipedia.org/wiki/XSS" title="Click to look up 'XSS' on Wikipedia" style="text-decoration: none; color: black; border-bottom: 1px dotted black;">XSS</a> in the comment handling that we're fixing with this release.</p>
549 <h2><a name="changes1311sr6">Geeklog 1.3.11sr6</a></h2>
551 <p>This release addresses the following security issues:</p>
553 <li>Possible SQL injection and authentication bypass in <tt>auth.inc.php</tt>
554 (reported by the Security Science Researchers Institute Of Iran).</li>
555 <li>Possible XSS in <tt>getimage.php</tt>
556 (reported by the Security Science Researchers Institute Of Iran).</li>
557 <li>Path disclosure in <tt>getimage.php</tt> and the <tt>functions.php</tt> of
558 some themes, e.g. the Professional theme
559 (reported by the Security Science Researchers Institute Of Iran).</li>
560 <li>Possible SQL injection in story submissions.</li>
564 <h2><a name="changes1311sr5">Geeklog 1.3.11sr5</a></h2>
567 <li>Konstantin Dyakoff found an old bug in the session handling that would
568 allow anyone to log in as any user.</li>
572 <h2><a name="changes1311sr4">Geeklog 1.3.11sr4</a></h2>
574 <p>This release addresses the following security issues:</p>
576 <li>James Bercegay of GulfTech Security Research reported several issues with
577 Geeklog's cookie handling that made it vulnerable to SQL injections,
578 arbitrary file access, and even injection and execution of arbitrary
583 <h2><a name="changes1311sr3">Geeklog 1.3.11sr3</a></h2>
585 <p>This release addresses the following security issues:</p>
588 <li>Provided you knew the story id, it was possible to submit comments for
589 stories even if you did not have access to those stories
590 (reported by LWC). The same problem also existed with poll comments.</li>
591 <li>Supplying an illegal start or end date to the advanced search resulted in a
592 warning message that disclosed the path to the Geeklog install on the
593 server (reported by r0t3d3Vil).<br>
594 It was <strong>not</strong> possible to use this for SQL injections.</li>
597 <p>Also included in this release are bugfixes, e.g. for the problems editing
598 static pages when URL rewriting was enabled, that were introduced in
602 <h2><a name="changes1311sr2">Geeklog 1.3.11sr2</a></h2>
604 <p>This release provides security enhancements and better spam protection
605 originally developed for Geeklog 1.3.12. It also addresses a few bugs where
606 the bugfix could be integrated with a reasonable amount of work (other bugfixes
607 will have to wait for the 1.3.12 release).
609 <h3>Security and Spam protection</h3>
611 <li>There is now a speed limit for login attempts, defaulting to three tries
612 in a five minute period (<a
613 href="config.html#desc_login_attempts">configurable</a> in
614 <tt>config.php</tt>).</li>
615 <li>Linefeeds are filtered from the To:, From:, and Subject: fields of any
616 email sent through <code>COM_mail</code>.</li>
617 <li>When a new user account is created and the user submission queue is enabled
618 in <tt>config.php</tt>, Geeklog now ensures that the new account is properly
619 queued even in the unlikely event that the account creation fails halfway
621 <li>When a post is identified as spam, it now also triggers the speed limit
622 (ie. posters will have to wait for the speed limit to expire before they
623 can make another submission).</li>
624 <li>Spam posts now get a 403 "Forbidden" HTTP response code.</li>
625 <li>Spam checks are now done for comments, story, link, and event submissions,
626 the message sent with the "email story to a friend" option, and for the
627 contents of the user profile.</li>
628 <li><a href="http://www.geeklog.net/article.php/spam-x-1.0.2"
629 rel="nofollow">Spam-X plugin 1.0.2</a> included.</li>
632 <p>Please note that MT-Blacklist (used by Spam-X) has recently been <a href="http://www.geeklog.net/article.php/mt-blacklist-discontinued">discontinued</a>. The
633 Spam-X plugin as included in this release is configured to get the last version
634 of the blacklist from geeklog.net, but there will be no more updates.</p>
638 <li>Fixed an error message thrown up by PHP 5.0.5 or later when viewing the
639 article page (bug #483).</li>
640 <li>Quote names in email addresses as soon as they contain any non-alphanumeric
641 characters, apart from the blank (bug #368). This should help when trying
642 to email users with special characters in their name.</li>
643 <li>Upgraded included kses class to version 0.2.2 which fixes problems with
644 Japanese and Thai characters (bugs #94 and #119).</li>
645 <li>Fixed SQL error when using the [staticpage:] autotag (bug #373).</li>
647 <p>For a complete list of bugfixes, please see the Changelog.</p>
649 <h3>Improvements</h3>
651 <li>Added support for a <code>custom_usercheck</code> function (for the
652 custom registration code). See the included <tt>lib-custom.php</tt> for
654 <li>Improved handling of the auto-archive option in <tt>index.php</tt>, which
655 should slightly improve page load times.</li>
656 <li>Includes several new and updated language files.</li>
657 <li>Includes updated PEAR classes.</li>
661 <h2><a name="changes1311sr1">Geeklog 1.3.11sr1</a></h2>
662 <p>This release addresses the following security issue:</p>
664 <li>Stefan Esser found an SQL injection that can, under certain circumstances,
665 be exploited to extract user data such as the user's password hash.</li>
668 <h2><a name="changes1311">Geeklog 1.3.11</a></h2>
670 <p>Geeklog 1.3.11 is a <strong>bugfix and security release</strong> over Geeklog 1.3.10 and is meant to replace 1.3.10. The change in the version number was necessary since one of the bugfixes involves a change in the database.</p>
672 <h3>Security issues</h3>
674 <li>It was possible to submit stories anonymously even if anonymous submissions
675 were turned off in <tt>config.php</tt> (reported by Barry Wong).<br>
676 These stories still ended up in the submission queue, though, unless you
677 disabled it in <tt>config.php</tt>.</li>
678 <li>Some of the parameters in link and event submissions weren't filtered,
679 leaving them open to potential SQL injections.</li>
680 <li>The links for the What's Related block were created from the unfiltered
681 story text, opening the possibility of XSS attacks (reported by Vincent
687 <li>Fixes the length of the 'sid' field in the gl_comments table. Using story
688 IDs longer than 20 characters prevented comment posts from being associated
690 <li>Ensures compatibility with PHP 4.1.x (includes updated PEAR packages).</li>
691 <li>Fixes the archiving option being activated too early (bug #345).</li>
692 <li>Properly deletes comments and story images when deleting entire topics
694 <li>Deletes comments when deleting polls.</li>
695 <li>Fixes several bugs in the calendar and improves overall handling of both
696 the site calendar and the personal calendars (bugs #268, #336, #338, and
698 <li>Fixes "More by <i>author</i>" and "More from <i>topic</i>" links in
700 <li>Various other fixes, see <tt>docs/history</tt> for details.</li>
703 <p>We strongly advise users of Geeklog 1.3.10 to upgrade to 1.3.11 ASAP. Upgrading should be relatively painless, as there weren't any changes in the themes, language files, or config.php over 1.3.10.</p>
706 <h2><a name="changes1310">Geeklog 1.3.10</a></h2>
708 <h3>New Default Theme</h3>
710 <p>This release comes with a new default theme: We've chosen the Professional
711 theme, kindly provided by Victor B. Gonzalez (of <a href="http://aeonserv.com">Aeonserv</a> fame). The theme has been modified slightly and is now fully HTML 4.01 and CSS compliant.</p>
713 <p>We've also decided to remove the old set of themes (Classic, Clean, Digital Monochrome, Gameserver, Smooth Blue, XSilver, Yahoo) from the distribution. They are now available as a separate tarball.</p>
715 <h3>New Features</h3>
718 <li><a href="spamx.html" rel="nofollow">Spam-X plugin</a> included. Tom Willet
719 has kindly provided his spam detection plugin, which is now part of the
720 default Geeklog install.<br>
721 The plugin has been modified slightly to store the blacklists in the
722 database. Users of the previous version of the plugin will have to import
723 their personal blacklist via the plugin's admin panel.</li>
724 <li>Story Archive feature: It is now possible to move stories to an "archive"
725 topic or have them deleted automatically at a given time.</li>
726 <li>Customizable menu bar: The site's menu bar can now be <a
727 href="config.html#desc_menu_elements">configured</a> in config.php, i.e.
728 you can choose which entries should be displayed there and in which order.
729 It's also possible to add custom entries by providing a function in
731 <li>Clickable links in text postings: URLs in non-HTML postings are now
732 recognized by Geeklog and displayed as clickable links.</li>
733 <li>Editable story IDs: The IDs of stories can now be changed (like the IDs of
734 static pages) to provide more readable URLs (and further improve the
735 chances of being picked up by seach engines, especially when used with
737 <li>Autolinks are a new form of links that can be used in stories and comments.
738 An autolink takes the form
739 <code>[<i>name</i>:<i>id</i> <i>link text</i>]</code> where <i>name</i> is
740 the tag name, <i>id</i> is the ID of an object the link should be pointing
741 to, and <i>link text</i> is used as the text of the link.<br>
742 Example: <code>[story:email-bug About the email bug]</code> would be
743 translated into <code><a href="http://example.com/article.php/email-bug">About the email bug</a></code><br>
744 For the built-in autotags, the <i>link text</i> is optional and Geeklog
745 will use the title of the object (story / event / static page) if it is not
747 Predefined autotags are <code>[story:]</code> to link to stories and
748 <code>[event:]</code> to link to events. Plugins can define their own
749 autotags to provide links to objects under their control. The Static Pages
750 plugin already provides a <code>[staticpage:]</code> autotag.</li>
751 <li>Customizable welcome email: The email that is sent out to users
752 registering with your site is now fully customizable by providing the
753 text in a text file (/path/to/geeklog/data/welcome_email.txt).</li>
754 <li>Timezone hack: The popular "<a
755 href="http://www.geeklog.net/forum/viewtopic.php?showtopic=40196">timezone
756 hack</a>" is now included. It lets you set the site's timezone for when
757 your server is located in another timezone.</li>
760 <h3>Other Improvements</h3>
763 <li>Various changes have been made to improve the overall performance.</li>
764 <li>On fresh installs, there is now an option to use InnoDB tables (instead of
765 MyISAM) if your MySQL version supports them (as of MySQL 4.0, or 3.x "Max"
766 builds). Existing databases can be converted to InnoDB by using the script
767 <tt>admin/install/toinnodb.php</tt>.<br>
768 <strong>Warning:</strong> Using InnoDB tables makes database backups
769 somewhat more complicated. Small and medium-sized sites should work just
770 fine with MyISAM tables, so if in doubt <em>don't</em> use InnoDB
772 <li>The calendar's week can now either start on a Sunday or a Monday.</li>
773 <li>The Static Pages plugin now has an option to display a printer-friendly
774 version of a static page.</li>
780 <li>The comment code has undergone major changes to improve performance and
781 add improvements like the ability to link to individual comments,
782 paging comments, etc.</li>
783 <li>Users can now report abusive comments to the site admin.</li>
784 <li>The site admin can get an email notification when a new comment is
785 posted (similar to the notification emails for new stories, links,
786 events, and users).</li>
787 <li>The IP addresses of comment posters are now tracked and can be looked up
788 directly by linking to a Whois service (or you can install Tom Willet's
789 <a href="http://sf.net/project/showfiles.php?group_id=68255&package_id=95743">NetTools</a>, which include a Whois function).</li>
792 <h3>Security-related fixes</h3>
794 <p><strong>Note:</strong> All of the following bugs were problems with
795 Geeklog's permissions system and fall into the "information leakage" category,
796 i.e. under certain circumstances, site content was visible to persons who
797 shouldn't be able to see it. None of these bugs were exploitable in the sense
798 that they could be used to gain privileges or cause damage to Geeklog or the
799 environment it's running in.</p>
802 <li>Group Admins were able to list the members of all groups, even if they were
803 not members of those groups.</li>
804 <li>Group Admins were given a list of all the groups in the system, even if
805 they were not members of those groups (bug #280).</li>
806 <li>Story and Event Admins were always given a list of all the stories / all
807 the events, even when they didn't have read access to them (bug #269).</li>
808 <li>It was possible to request comments from stories even if the user didn't
809 have permission to read the story (provided you knew both the story and
810 the comment id).</li>
811 <li>Event permissions in the calendar's day and week view weren't checked
812 properly, so that events may have been visible to users who shouldn't
813 have been able to see them.</li>
814 <li>It was possible to add any event to the personal calender, even if you
815 didn't have permissions to see it in the site calendar (provided you knew
819 <h3>Other bugfixes</h3>
822 <li>Previewing and saving a story submission left the submitted story in the
823 submission queue, but did additionally save it as a new story.</li>
824 <li>Deleting an event from the personal calendar didn't work (bug #199).</li>
825 <li>Old userphotos weren't removed when the new photo had a different file
826 type, e.g. when changing from a .gif to a .jpg (bug #228).</li>
827 <li>Scaling images didn't work when the image exceeded the max. height but
828 not the max. width (bug #242).</li>
829 <li>Keeping an unscaled image wasn't possible when using gdlib to rescale
830 images (bug #197).</li>
831 <li>When using gdlib, GIF images were converted to PNG format, but Geeklog
832 was still trying to display the GIF version. Since the LZW patent has
833 now <a href="http://www.unisys.com/about__unisys/lzw">expired</a>, it is
834 safe to use GIF images again and the PNG conversion has been dropped.</li>
835 <li>The tarball also includes updated PEAR packages which should address the
836 email problems some users were having (bug #246).<br>
837 <strong>Note:</strong> These are the same PEAR packages that already
838 shipped with Geeklog 1.3.9sr2.</li>
841 <p>Please note that there have also been <a href="theme.html#changes">theme
842 changes</a>, some of which are important to make the new features work (e.g.
843 the editable story IDs and the story archive options)!</p>
845 <p>This release contains various improvements provided by the Geeklog community
846 (see the <tt>docs/history</tt> file for proper credits). Thank you!</p>
848 <h2><a name="changes139sr3">Geeklog 1.3.9sr3</a></h2>
849 <p>This release addresses the following security issues:</p>
852 <li>It was possible to submit stories anonymously even if anonymous submissions
853 were turned off in <tt>config.php</tt> (reported by Barry Wong).<br>
854 These stories still ended up in the submission queue, though, unless you
855 disabled it in <tt>config.php</tt>.</li>
856 <li>Some of the parameters in link and event submissions weren't filtered,
857 leaving them open to potential SQL injections.</li>
861 <h2><a name="changes139sr2">Geeklog 1.3.9sr2</a></h2>
862 <p>This release addresses the following security issues:</p>
865 <li>Fixed a cross site scripting vulnerability caused by using the variable
866 <code>$topic</code> in the language files (bug #293).</li>
867 <li>Prevent comment posts on stories or polls were comment posting has been
873 <li>Fixed <tt>lib-plugins.php</tt> to work properly with PHP 5.</li>
874 <li>The complete tarball also includes updated PEAR packaged that fix
875 some of the reported email problems.</li>
879 <h2><a name="changes139sr1">Geeklog 1.3.9sr1</a></h2>
880 <p>This release addresses the following security issues:</p>
883 <li>It was possible to post anonymous comments, even when anonymous comment
884 posting had been switched off in config.php.<br>
885 This bug was apparently exploited by spammers to send hundreds of spam
886 posts to certain Geeklog sites.</li>
887 <li>Added additional speed limit checks for comments and submissions.</li>
888 <li>If none of the topics were visible for anonymous users, the site's index
889 page may still have displayed some stories for anonymous users, depending
890 on the stories' permissions.</li>
891 <li>Users still got Daily Digest emails for topics from which they had been
892 removed (bug #178).</li>
893 <li>It was possible to subscribe to the Daily Digest for all topics, even if
894 the user did not have access to certain topics.</li>
895 <li>Comments to stories were sometimes listed in a user's profile, even if the
896 user viewing the profile didn't have permissions to access the story the
897 comments belonged to.</li>
902 <li>Fixed an SQL error in <code>COM_showTopics</code> if users excluded topics
903 from their preferences.</li>
904 <li>Fixed sporadic "Duplicate entry '...' for key 1." messages in error.log,
905 caused by the handling of pseudo-session ids for anonymous users.</li>
906 <li>Fixed incorrect author names in Daily Digest (bug #207).</li>
907 <li>The <code>plugin_profileblocksedit_<i>plugin-name</i></code> Plugin API
908 function wasn't working due to a missing piece of code in
909 usersettings.php.</li>
910 <li><code>COM_extractLinks</code> will now ignore anchor tags that do not
911 contain "<code>href</code>" (bug #183).</li>
915 <h2><a name="changes139">Geeklog 1.3.9</a></h2>
917 <h3>New Features</h3>
920 <li>Geeklog now uses PEAR::Mail to send all emails. This gives you the option
921 to send emails via PHP's built-in mail() function (as before), via
922 sendmail or via SMTP.</li>
923 <li>There is a new admin option called Content Syndication that lets you
924 create and configure (RSS) feeds. In addition to the standard feed
925 containing all the new stories, you can now create feeds per topic, for
926 upcoming events, and for links.<br>
927 This feature is extensible in that plugins can provide additional feeds.
928 It is also possible to provide feeds in formats other than RSS 0.91 by
929 providing additional feed classes.</li>
930 <li>Admins can change the block order easily from the list of blocks now.</li>
931 <li>There is an alternative interface to adding users to groups (requires
933 <li>Users in the Group Admin group can now only assign other users to groups
934 of which they themselves are a member.</li>
935 <li>Image upload can now also use the GD library to scale images.</li>
936 <li>Comments now use templates.</li>
937 <li>To accomodate strict webhosts who don't allow file uploads to the standard
938 image directory, you can now set a new configuration variable,
939 <code>$_CONF['path_images']</code> to point to a directory outside of your
940 webtree where article images and user profile pictures will be saved.</li>
941 <li>Geeklog now supports URL rewriting for story URLs, i.e. you can have URLs
942 like <tt>http://www.geeklog.net/article.php/20031229225326631</tt> which
943 are known to be picked up by Google.</li>
944 <li>Plugins can add their own section to Geeklog's What's New block.</li>
945 <li>All URL fields can now hold up to 255 characters (requires theme updates).</li>
948 <p>Please see the <a href="theme.html#changes">themes documentation</a> for a
949 complete list of theme changes.</p>
951 <p>Also included is the <a href="staticpages.html">Static Pages plugin 1.4</a>,
952 which now has, among other improvements, a second option to include PHP in
953 static pages without having to use the PHP <code>return</code> statement.</p>
959 <li>Words from a search query are now properly highlighted in comments. Also
960 fixed a problem with highlighting when the search query contained '*'
962 <li>Various fixes in the search class.</li>
963 <li>Fixed a bug that let users register with an empty username.</li>
964 <li>When batch-importing users, those users were all subscribed to the
965 Daily Digest automatically (uses the $_CONF['emailstoriesperdefault']
966 setting instead now).</li>
967 <li>Fixed option to delete comments, which previously was only available to
968 users in the Root group (e.g. Admin). Now those users that have story.edit
969 permissions for the actual story can delete comments.</li>
970 <li>Deleting a group may have left orphaned entries in the group_assignments
971 table (this has been fixed now). When upgrading to 1.3.9, the install
972 script will remove any orphaned entries from the database.</li>
975 <p>There have also been a lot of changes to improve security, especially
976 against SQL injections.</p>
979 <h2><a name="changes138-1sr6">Geeklog 1.3.8-1sr6</a></h2>
980 <p>This release addresses the following security issues:</p>
983 <li>Fixed a cross site scripting vulnerability caused by using the variable
984 <code>$topic</code> in the language files (bug #293).</li>
985 <li>Prevent comment posts on stories or polls were comment posting has been
990 <h2><a name="changes138-1sr5">Geeklog 1.3.8-1sr5</a></h2>
991 <p>This release addresses the following security issue:</p>
994 <li>It was possible to post anonymous comments, even when anonymous comment
995 posting had been switched off in config.php.<br>
996 This bug was apparently exploited by spammers to send hundreds of spam
997 posts to certain Geeklog sites.</li>
1001 <h2><a name="changes138-1sr4">Geeklog 1.3.8-1sr4</a></h2>
1002 <p>This release addresses the following security issues:</p>
1005 <li>It was possible for users in the Group Admin and User Admin groups to
1006 become a member of the Root group (reported by Samuel M. Stone,
1008 <li>Being admin for a certain area (e.g. Story Admin for stories) made it
1009 possible to delete all objects in that area (e.g. stories) even if the user
1010 was not supposed to have access to them, provided the id of the object was
1012 <li>It was possible to delete other people's personal events if you knew the
1014 <li>It was possible to browse through the comments of a story even if the user
1015 did not have access to the actual story (reported by Peter Roozemaal).</li>
1016 <li>Due to an XSS issue, it was possible to change someone's account settings
1017 (including the password) if you got them to click on a specially crafted
1018 link (reported by Jelmer, fix suggested by Vincent Furia).</li>
1019 <li>The comment display suffered from the possibility of an SQL injection
1020 (reported by Jelmer).</li>
1021 <li>It was possible to inject Javascript code in the calendar (reported by
1023 <li>It was possible to execute (but not save) Javascript code in the comment
1024 preview (reported by Jelmer).</li>
1028 <h2><a name="changes138-1sr3">Geeklog 1.3.8-1sr3</a></h2>
1029 <p>This release addresses the following security-related issues:</p>
1032 <li>As "dr.wh0" pointed out, the category field for link submissions was not
1033 filtered at all. Although you probably can't cause too much harm with
1034 those 32 characters, this has now been fixed.</li>
1035 <li>Vincent Furia found that the restrictions for the form to email users
1036 could be circumvented and could even be used to spam users.
1037 In addition to fixing theses issues, there is now also a speed limit
1038 on that form (defaults to the speed limit for story submissions).</li>
1039 <li>There was a way to post comments anonymously even when posting for
1040 anonymous users had been disabled.</li>
1041 <li>It was possible to post comments under someone else's username.</li>
1045 <h2><a name="changes138-1sr2">Geeklog 1.3.8-1sr2</a></h2>
1047 <p>Jouko Pynnonen found a way to trick the new "forgot password" feature, introduced in 1.3.8, into letting an attacker change the password for <em>any</em> account. This release addresses this issue - there were no other changes.</p>
1049 <p>Obviously, we strongly recommend to upgrade as soon as possible.</p>
1052 <h2><a name="changes138-1sr1">Geeklog 1.3.8-1sr1</a></h2>
1054 <p>The purpose of this release is to address some of the security issues reported in September and early October 2003. We strongly recommend upgrading to this version.</p>
1056 <h3>Security issues</h3>
1058 <li>By including Ulf Harnhammar's <a href="http://sourceforge.net/projects/kses/" title="kses homepage">kses</a> HTML filter, this release addresses a variety of possible Javascript injection and CSS defacement issues.</li>
1059 <li>Details of SQL errors will not be reported in the browser any more (but only in Geeklog's error.log file). This will avoid disclosing any sensitive information as part of the error message (which is so far the only problem we have found with the alleged SQL injection issues that have been reported).
1062 <p>Please note that at the moment we do <strong>not</strong> recommend to use Geeklog with MySQL 4.1 (which, at the time of this writing, is in alpha state and should not be used on production sites anyway). An upcoming release of Geeklog will include more thorough filtering of SQL injections attempts, thus also fixing the problems with MySQL 4.1.</p>
1064 <h3>Other fixes</h3>
1066 <li>Fixed the auto-detection of the value for the <code>$_CONF['cookiedomain']</code> variable if the URL included a port number (such as <tt>example.com:8080</tt>). This will fix the login problems some users were reporting.</li>
1067 <li>The full 1.3.8-1sr1 tarball also includes updated French (Canada) and Turkish language files.</li>
1071 <h2><a name="changes138-1">Geeklog 1.3.8-1</a></h2>
1073 <p>Geeklog 1.3.8-1 is a bugfix release over Geeklog 1.3.8. It contains a
1074 variety of (mostly minor) bugfixes. None of those fixes are security-related.</p>
1079 <li>Fixes to the new search to restore pre-1.3.8 behavior (display search form
1080 again if no results are returned, handling of
1081 <tt>$_CONF['searchloginrequired']</tt>, etc.). Also fixed the search by
1083 <li>Fixed problems in the install script when trying to identify the MySQL
1084 version. The install script failed silently on PHP 4.0.4 and earlier
1086 <li>Fixed a problem with the What's Related block on stories that contain
1088 <li>Skip user "Anonymous" when sending out the Daily Digest.
1089 <li>Prevent admin from changing a user's email address to one that's already
1090 used by another user.</li>
1091 <li>Update RSS feed and Older Stories block when deleting a story.</li>
1094 <p>The full 1.3.8-1 tarball also includes new and updated language files
1095 (see the Changelog for details).</p>
1098 <h2><a name="changes138">Geeklog 1.3.8</a></h2>
1100 <h3>New Features</h3>
1102 <p>Geeklog 1.3.8 Includes the <strong>Static Pages 1.3 plugin</strong> which
1103 replaces <em>both</em> the Static Pages 1.1 and 1.2 plugins. See the <a
1104 href="staticpages.html">Static Pages documentation</a> for details.</p>
1107 <li>The search function has been rewritten. You can now search for the
1108 exact phrase, all the words, or any of the words from a query. Search
1109 words are also highlighted in stories.
1110 <li>New Privacy options: Users can decide whether they want to receive
1111 email from other users and/or admins and whether they want to show up in
1112 the Who's Online block.
1113 <li>You can now get a list of all users who are in a certain group (from the
1114 Admin's group editor).
1115 <li>When scaling is configured for images in stories, you can now keep the
1116 unscaled image (has to be enabled in config.php first). In that case, the
1117 scaled-down image in the story will serve as a thumbnail and link to the
1119 <li>You can now make one topic the default topic. The topic selection in the
1120 story submission form will then default to that topic. However, when
1121 browsing by topic (index.php?topic=Geeklog etc.) new story submissions will
1122 default to the current topic.
1123 <li>You can give your users the ability to change their username and delete
1124 their account. Both features have to be enabled in config.php.
1125 <li>Extended Plugin API: Plugins can now display content in Geeklog's
1126 center area, add their own information to the user profile, and add
1127 information to the site's header (<code><head></code> section).
1128 <li>There's a new API for custom registration forms (see
1129 <tt>lib-custom.php</tt> for sample code).
1130 <li>There have been quite a few theme changes in order to move most larger
1131 portions of hard-coded HTML to template files and to give theme designers
1132 more control over the layout. Please consult the <a
1133 href="theme.html#changes138">themes documentation</a> for a list of changes.</li>
1139 <li>The "forgot password" function has been rewritten. Instead of resetting
1140 your old password and sending you a new one, you will now receive an
1141 email with a unique link in it. If you follow this link, you can enter a
1142 new password directly. Otherwise, you can simply ignore the email and your
1143 old password will remain valid.
1144 <li>Topic access was not always checked properly. If Story Admins report
1145 getting access denied messages after upgrading to 1.3.8, check your topic
1146 permissions carefully.
1147 <li>The poll editor let you enter one answer too many (i.e. when the max.
1148 number of answers was set to 10 you could actually enter 11). Please check
1149 your existing polls or you may lose the last answer if you exceeded the
1150 max. number of answers in a poll (adjust $_CONF['maxanswers'] accordingly,
1152 <li>Geeklog should install and run again on old versions of MySQL
1153 (specifically, 3.22.xx). Please note that some of these old versions aren't
1154 even supported by MySQL AB any more and MySQL installs older than 3.23.54
1155 are having security issues.
1159 <h2><a name="changes137sr5">Geeklog 1.3.7sr5</a></h2>
1160 <p>This release addresses the following security issues:</p>
1163 <li>It was possible for users in the Group Admin and User Admin groups to
1164 become a member of the Root group (reported by Samuel M. Stone,
1166 <li>Being admin for a certain area (e.g. Story Admin for stories) made it
1167 possible to delete all objects in that area (e.g. stories) even if the user
1168 was not supposed to have access to them, provided the id of the object was
1170 <li>It was possible to delete other people's personal events if you knew the
1172 <li>It was possible to browse through the comments of a story even if the user
1173 did not have access to the actual story (reported by Peter Roozemaal).</li>
1174 <li>Due to an XSS issue, it was possible to change someone's account settings
1175 (including the password) if you got them to click on a specially crafted
1176 link (reported by Jelmer, fix suggested by Vincent Furia).</li>
1177 <li>The comment display suffered from the possibility of an SQL injection
1178 (reported by Jelmer).</li>
1179 <li>It was possible to inject Javascript code in the calendar (reported by
1181 <li>It was possible to execute (but not save) Javascript code in the comment
1182 preview (reported by Jelmer).</li>
1186 <h2><a name="changes137sr4">Geeklog 1.3.7sr4</a></h2>
1187 <p>This release addresses the following security-related issues:</p>
1190 <li>As "dr.wh0" pointed out, the category field for link submissions was not
1191 filtered at all. Although you probably can't cause too much harm with
1192 those 32 characters, this has now been fixed.</li>
1193 <li>Vincent Furia found that the restrictions for the form to email users
1194 could be circumvented and could even be used to spam users.</li>
1195 <li>There was a way to post comments anonymously even when posting for
1196 anonymous users had been disabled.</li>
1197 <li>It was possible to post comments under someone else's username.</li>
1201 <h2><a name="changes137sr3">Geeklog 1.3.7sr3</a></h2>
1203 <p>The purpose of this release is to address some of the security issues reported in September and early October 2003. If you don't plan to upgrade to the latest version of Geeklog (1.3.8-1sr1, at the time of this writing), we strongly suggest you upgrade to at least 1.3.7sr3 instead.</p>
1205 <h3>Security issues</h3>
1207 <li>By including Ulf Harnhammar's <a href="http://sourceforge.net/projects/kses/" title="kses homepage">kses</a> HTML filter, this release addresses a variety of possible Javascript injection and CSS defacement issues.</li>
1208 <li>Details of SQL errors will not be reported in the browser any more (but only in Geeklog's error.log file). This will avoid disclosing any sensitive information as part of the error message (which is so far the only problem we have found with the alleged SQL injection issues that have been reported).
1211 <p>Please note that at the moment we do <strong>not</strong> recommend to use Geeklog with MySQL 4.1 (which, at the time of this writing, is in alpha state and should not be used on production sites anyway). An upcoming release of Geeklog will include more thorough filtering of SQL injections attempts, thus also fixing the problems with MySQL 4.1.</p>
1214 <h2><a name="changes137sr2">Geeklog 1.3.7sr2</a></h2>
1216 <h3>Security issues</h3>
1218 <p>The purpose of this release is to fix the following security issues.
1219 All users are <em>strongly</em> encouraged to upgrade to this version ASAP.</p>
1221 <li>It was possible to obtain valid session ids for every account on a Geeklog
1222 site, including the Admin account (reported by SCAN Associates).</li>
1223 <li>Using Internet Explorer, it was possible to upload an image with embedded
1224 PHP code and execute it (reported by SCAN Associates).</li>
1225 <li>Story permissions could override topic permissions, resulting in the display
1226 of stories to users who shouldn't have access to them (reported by Andrew
1227 Lawlor). This was already fixed with the new <tt>index.php</tt>, released
1229 <li>Added a warning in <tt>config.php</tt> that adding any of the following
1230 tags to the list of allowable HTML can make the site vulnerable to
1231 scripting attacks:<br>
1232 <code><img> <span> <marquee> <script>
1233 <embed> <object> <iframe></code><br>
1234 (pointed out by Joat Dede).</li>
1237 <p>This update also includes fixes for the notorious "permission denied"
1238 error messages that some users would get in the Admin area (e.g. when trying
1239 to save a story and being "only" a user with Story Admin permissions).</p>
1241 <p>The full 1.3.7sr2 tarball also includes various new and updated language
1242 files (see the Changelog for details).</p>
1245 <h2><a name="changes137sr1">Geeklog 1.3.7sr1</a></h2>
1247 <h3>Security issues</h3>
1249 <p>The main purpose of this release is to fix the following security issues.
1250 All users are strongly recommended to upgrade to this version.</p>
1252 <li>Javascript code could be injected in the homepage field of a user's profile (reported by Jin Yean Tan).</li>
1253 <li>Javascript code could be injected in certain URLs to be used in a cross-site scripting attack (reported by Jin Yean Tan).</li>
1254 <li>Comments could be deleted by anybody if they knew the comment id (which is not normally visible).</li>
1255 <li>A StoryAdmin could manipulate stories even if s/he did not have access to them (e.g. when s/he was not a member of a certain group). The same applied to Admins for events, links, polls, topics, and blocks (reported by Kobaz).</li>
1258 <h3>Other Bugfixes</h3>
1261 <li>Fixed possible causes for endless loops with the redirect in index.php: No redirect will be done if $HTTP_SERVER_VARS['HTTP_HOST'] is not set. Also, the comparison of the configured and actual server name is not case-sensitive any more.</li>
1262 <li>Fixed image resizing when using ImageMagick.</li>
1263 <li>The new user notification email (introduced in Geeklog 1.3.7) was always
1264 sent out, even if 'user' was not listed in $_CONF['notification'].
1265 <li>The Admin menu will now be displayed for users who have Admin access to plugins only, but not to one of the core Admin features.</li>
1266 <li>The default for the daily digest is now back to "off", i.e. new users will not receive it automatically. To enable the daily digest for new users again, set $_CONF['emailstoriesperdefault'] = 1 in config.php.</li>
1269 <p>Documentation and hard-coded links (version check, link to Geeklog in a site's footer) have been updated to point to <a href="http://www.geeklog.net/">www.geeklog.net</a>.</p>
1272 <h2><a name="changes137">Geeklog 1.3.7</a></h2>
1274 <h3>New Features</h3>
1277 <li>A notification email can now be sent when a new story, link, or event
1278 has been submitted or a new user has registered with the site (see the
1279 <a href="config.html#submission">submission settings</a> for details).<br>
1280 Please note that this feature doesn't tie in with Geeklog's security
1281 features - it's really more of a hack, since many people asked for this
1283 <li>Following the "X stories in last 24 hours" link in the What's New block
1284 will now display just those new stories.</li>
1285 <li>User photos are now resized, just like images in stories (if the use
1286 of an image library is configured). The max. dimensions for user photos
1287 can be set with a separate set of config variables in
1288 <tt>config.php</tt>.</li>
1289 <li>The plugin menu now lists all plugins which exist in the file system
1290 but haven't been installed yet. It also provides a link to the install
1291 script of those plugins for easy installation.</li>
1292 <li>Several new config variables have been added to config.php (notification,
1293 showfirstasfeatured, dateonly, timeonly, skip_preview, upcomingeventsrange,
1294 emailstoryloginrequired, hideemailicon, hideprintericon, hidenewstories,
1295 hidenewcomments, hidenewlinks, max_photo_width, max_photo_height,
1296 max_photo_size). Please see the <a
1297 href="config.html">config documentation</a> for details.</li>
1298 <li>Theme changes: Please consult the <a href="theme.html#changes137">themes
1299 documentation</a> for a list of changes.</li>
1306 <li>Added sanity checks in the Admin story editor to prevent the loss of all
1307 stories when using an incomplete language file (or when manipulating the
1309 <li>Fixed a nasty bug in lib-security.php that let any user with UserAdmin
1310 permissions change the Root user's password, thus effectively becoming
1312 <li>Fixed problems with blocks disappearing when they were set to
1314 <li>Fixed problems with multiple [code] ... [/code] sections in stories
1316 <li>Fixed double line spacing in [code] sections and HTML-formatted comments
1317 on PHP 4.2.0 and up.</li>
1318 <li>Fixed problems with slashes and HTML entities in emails sent by
1320 <li>Fixes and improvements to the plugin API.</li>
1323 <p><strong>Contributors:</strong> Blaine Lang, Vincent Furia, and Kenn Osborne
1324 have contributed to this release. Thank you!</p>
1326 <h3><a name="addindex">Speeding up Geeklog (a bit)</a></h3>
1328 <p>If you're upgrading from 1.3.6 or older versions, you may want to run the
1329 script called <tt>addindex.php</tt> that you will find in the <tt>install</tt>
1330 directory. This script adds index fields to some of Geeklog's database tables
1331 which should improve overall access times a bit.</p>
1333 <p>This has been implemented as a separate script (and not as part of the
1334 upgrade process of the install script) since it may take some time to run,
1335 depending on how many users / stories / etc. you have in your database. Some
1336 people may even run into timeouts, e.g. when their hosting service limits the
1337 execution time of PHP scripts. If that happens to you - <strong>Don't
1338 Panic</strong>. Simply run the script again (and again and ...) until it
1339 reports that it didn't add any fields to any tables.</p>
1341 <p>Please note that you do <em>not</em> need to run this script if you're doing
1342 a fresh install of Geeklog 1.3.7. A database created during a fresh install
1343 already has the new index fields.</p>
1346 <h2><a name="changes136">Geeklog 1.3.6</a></h2>
1348 <h3>New Features</h3>
1351 <li>Images in articles can now be resized automatically during upload
1352 (provided you have either ImageMagick or netpbm installed). See the
1353 <a href="config.html#image">configuration description</a> for details.</li>
1354 <li>The contents of a static page entitled "Frontpage" will be displayed
1355 before the first story on the front page of a Geeklog site. If the static
1356 page additionally carries the label "nonews", then it will completely
1357 replace the news on the front page.</li>
1358 <li>User submission queue: When activated (in <tt><a
1359 href="config.html#submission">config.php</a></tt>), new users will need to
1360 be approved by an admin before they receive their password.</li>
1361 <li>The submission queues can be switched off separately, either completely
1362 (in <tt><a href="config.html#submission">config.php</a></tt>) or only for
1363 certain groups of users (by using the new features story.submit,
1364 links.submit, and event.submit).</li>
1365 <li>When posting source code (e.g. PHP, HTML, ...), you can now use the
1366 [code] ... [/code] pseudo tags to enclose those portions of your posting
1367 that should be reproduced verbatim.</li>
1368 <li>The links section now uses a categorized and paged display (can be
1369 <a href="config.html#links">switched off</a> separately and even back to the
1370 pre-1.3.6 style listing).</li>
1371 <li>Anonymous users can now be <a href="config.html#login">blocked</a> from
1372 almost every part of the site (e.g. links section, site stats, ...), if
1374 <li>A Geeklog site can now be disabled easily (e.g. for maintenance) by
1375 setting a flag in <tt><a href="config.html#site">config.php</a></tt>.</li>
1376 <li>Theme changes: Please consult the <a href="theme.html#changes136">themes
1377 documentation</a> for a list of changes.</li>
1383 <li>Several fixes have been made to ensure that permissions are taken into
1384 account properly (e.g. not revealing titles of stories that the user has no
1386 <li>Several fixes have been made to make sure that Geeklog can now be
1387 properly localized (provided you have a language file that is up to date
1388 and have chosen the proper <a href="config.html#languages_locale">locale
1389 settings</a> for your country and language).</li>
1390 <li>The variable $_CONF['site_admin_url'] is now used properly so that you
1391 can rename Geeklog's <tt>admin</tt> directory if needed.</li>
1392 <li>New RDF parser will now import most (if not all) RDF news feeds
1399 <li>Since there are a lot of new variables in <tt>config.php</tt>, it is
1400 recommended you start with a fresh copy of that file instead of copying
1401 over your old <tt>config.php</tt> from your previous installation.</li>
1402 <li>Please note that currently only the English, German, Italian, Polish,
1403 and Japanese language files are up to date. Using one of the other
1404 language files may result in your Geeklog site not working properly.</li>
1407 <p><strong>Contributors:</strong> Gene Wood, Blaine Lang, Tom Willet, and
1408 Roger Webster have contributed to this release. Thank you!</p>
1410 <div class="footer">
1411 <a href="http://wiki.geeklog.net">The Geeklog Documentation Project</a><br>
1412 All trademarks and copyrights on this page are owned by their respective owners. Geeklog is copyleft.