? Success

User tests: Successful: Unsuccessful:

avatar itbra
itbra
21 Feb 2014

Fixing issue described in bug #33324, related to session storage classes JSessionStorageMemcache and JSessionStorageMemcached (libraries/joomla/session/storage/memcache(d).php)

There are presently three problems within this class.

  1. Within the constructor an object variable is referenced that hasn't been initialised thus causing en error to be thrown trying to reference an uninitialised variable. So, $_servers is now a private object variable.

  2. Within the constructor the parent class' constructor is called before the object variable $_servers was actually initialised.

  3. The parent class' constructor's job is to call

$this->register($options)

This method is overridden by this class. Within the method the object variable $_servers is referenced for session.save_path population. Without the patch the call for $_servers ends up with no data. With the patch applied, the call receives the populated object variable containing all registered servers.

  1. As it is obviously intended to register more than one server the variable $_servers is an array of arrays. Thus, in register it must be evaluated how many servers are registered and which one to select. I guess this will involve priority flags at some day. Currently there is only one server registered. So we have to reference this entry first before we can read its host:port for assignment. With this patch applied, this session handler is properly loaded and working.
avatar clubnite clubnite - open - 21 Feb 2014
avatar clubnite clubnite - change - 21 Feb 2014
The description was changed
Description <p>In __construct() moved the parent class construct call below initilation of $<em>servers.<br> In register() fixed the missing consideration of $</em>servers being an array of arrays.</p> <p>There are presently three problems within this class.</p> <ol> <li><p>Within the constructor the parent class' constructor is called before the required object variable $_servers was actually initialised.</p></li> <li><p>The parent class' constructor's job is to call</p></li> </ol><pre><code>$this-&gt;register($options) </code></pre> <p>This method is overridden by this class. Within the method the object variable $<em>servers is referenced for session.save</em>path population. Without the patch the call for $_servers ends up with no data. With the patch applied, the call receives the populated object variable containing all registered servers.</p> <ol> <li>As it is obviously intended to register more than one server the variable $_servers is an array of arrays. Thus, in register it must be evaluated how many servers are registered and which one to select. I guess this will involve priority flags at some day. Currently there is only one server registered. So we have to reference this entry first before we can read its host:port for assignment. With this patch applied, this session handler is properly loaded and working.</li> </ol><p>Find the assiciated tracker item at <a href="http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;tracker_item_id=33324">joomlacode.org</a></p>
avatar clubnite clubnite - change - 21 Feb 2014
The description was changed
Title
Update memcache.php
Errors in session handler memcache(d).php make these session handlers fail to start
Description <p>There are presently three problems within this class.</p> <ol> <li><p>Within the constructor the parent class' constructor is called before the required object variable $_servers was actually initialised.</p></li> <li><p>The parent class' constructor's job is to call</p></li> </ol><pre><code>$this-&gt;register($options) </code></pre> <p>This method is overridden by this class. Within the method the object variable $<em>servers is referenced for session.save</em>path population. Without the patch the call for $_servers ends up with no data. With the patch applied, the call receives the populated object variable containing all registered servers.</p> <ol> <li>As it is obviously intended to register more than one server the variable $_servers is an array of arrays. Thus, in register it must be evaluated how many servers are registered and which one to select. I guess this will involve priority flags at some day. Currently there is only one server registered. So we have to reference this entry first before we can read its host:port for assignment. With this patch applied, this session handler is properly loaded and working.</li> </ol><p>Find the assiciated tracker item at <a href="http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;tracker_item_id=33324">joomlacode.org</a></p> <p>There are presently three problems within this class.</p> <ol> <li><p>Within the constructor an object variable is referenced that hasn't been initialised thus causing en error to be thrown trying to reference an uninitialised variable. So, $_servers is now a private object variable.</p></li> <li><p>Within the constructor the parent class' constructor is called before the object variable $_servers was actually initialised.</p></li> <li><p>The parent class' constructor's job is to call</p></li> </ol><pre><code>$this-&gt;register($options) </code></pre> <p>This method is overridden by this class. Within the method the object variable $<em>servers is referenced for session.save</em>path population. Without the patch the call for $_servers ends up with no data. With the patch applied, the call receives the populated object variable containing all registered servers.</p> <ol> <li>As it is obviously intended to register more than one server the variable $_servers is an array of arrays. Thus, in register it must be evaluated how many servers are registered and which one to select. I guess this will involve priority flags at some day. Currently there is only one server registered. So we have to reference this entry first before we can read its host:port for assignment. With this patch applied, this session handler is properly loaded and working.</li> </ol><p>Find the assiciated tracker item at <a href="http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;tracker_item_id=33324">joomlacode.org</a></p>
avatar brianteeman
brianteeman - comment - 8 Aug 2014

Closed as per the comment on the tracker

avatar brianteeman brianteeman - change - 8 Aug 2014
Description <p>Fixing issue described in <a href="http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;tracker_item_id=33324">bug #33324</a>, related to session storage classes JSessionStorageMemcache and JSessionStorageMemcached (libraries/joomla/session/storage/memcache(d).php)</p> <p>There are presently three problems within this class.</p> <ol> <li><p>Within the constructor an object variable is referenced that hasn't been initialised thus causing en error to be thrown trying to reference an uninitialised variable. So, $_servers is now a private object variable.</p></li> <li><p>Within the constructor the parent class' constructor is called before the object variable $_servers was actually initialised.</p></li> <li><p>The parent class' constructor's job is to call</p></li> </ol><pre><code>$this-&gt;register($options) </code></pre> <p>This method is overridden by this class. Within the method the object variable $<em>servers is referenced for session.save</em>path population. Without the patch the call for $_servers ends up with no data. With the patch applied, the call receives the populated object variable containing all registered servers.</p> <ol> <li>As it is obviously intended to register more than one server the variable $_servers is an array of arrays. Thus, in register it must be evaluated how many servers are registered and which one to select. I guess this will involve priority flags at some day. Currently there is only one server registered. So we have to reference this entry first before we can read its host:port for assignment. With this patch applied, this session handler is properly loaded and working.</li> </ol> <p>Fixing issue described in <a href="http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;tracker_item_id=33324">bug #33324</a>, related to session storage classes JSessionStorageMemcache and JSessionStorageMemcached (libraries/joomla/session/storage/memcache(d).php)</p> <p>There are presently three problems within this class.</p> <ol class="task-list"> <li><p>Within the constructor an object variable is referenced that hasn't been initialised thus causing en error to be thrown trying to reference an uninitialised variable. So, $_servers is now a private object variable.</p></li> <li><p>Within the constructor the parent class' constructor is called before the object variable $_servers was actually initialised.</p></li> <li><p>The parent class' constructor's job is to call</p></li> </ol><pre><code>$this-&gt;register($options) </code></pre> <p>This method is overridden by this class. Within the method the object variable $_servers is referenced for session.save_path population. Without the patch the call for $_servers ends up with no data. With the patch applied, the call receives the populated object variable containing all registered servers.</p> <ol class="task-list"> <li>As it is obviously intended to register more than one server the variable $_servers is an array of arrays. Thus, in register it must be evaluated how many servers are registered and which one to select. I guess this will involve priority flags at some day. Currently there is only one server registered. So we have to reference this entry first before we can read its host:port for assignment. With this patch applied, this session handler is properly loaded and working.</li> </ol>
Status New Closed
Closed_Date 0000-00-00 00:00:00 2014-08-08 14:24:55
avatar brianteeman brianteeman - close - 8 Aug 2014

Add a Comment

Login with GitHub to post a comment