<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
    <channel rdf:about="http://pear.php.net/">
    <link>http://pear.php.net/</link>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <dc:language>en-us</dc:language><items>
<rdf:Seq><rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.13/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.12/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.11/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.10/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.9/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.8/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.7/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.6/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.5/"/>
<rdf:li rdf:resource="http://pear.php.net/package/LiveUser/download/0.16.4/"/>
</rdf:Seq>
</items>

<title>PEAR: Latest releases for krausbn</title>
<description>The latest releases for the PEAR developer krausbn (Björn Kraus)</description>
</channel>

<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.13/">
 <title>LiveUser 0.16.13</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.13/</link>
 <content:encoded>- #9418: Initialization for example 5 wrong&lt;br /&gt;
- #9575: Example trips over MySQL boolean/int&lt;br /&gt;
- #9581: Add support for session.cookie_httponly
 </content:encoded>
 <dc:date>2008-01-28T03:29:59-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.12/">
 <title>LiveUser 0.16.12</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.12/</link>
 <content:encoded>- wrong use of pdo fetch method, when no result could be fetched it returns&lt;br /&gt;
  false with no error. Swith to using fetchAll and check for an empty array&lt;br /&gt;
- we cannot decrypt most of the encryption method used by the hash extension so&lt;br /&gt;
  we default to returning the unmodified string&lt;br /&gt;
- the wrong variable was used to report the type of permission container when an&lt;br /&gt;
  error occured&lt;br /&gt;
- push an error on the stack when the encryption method cannot be found&lt;br /&gt;
- make sequence columns primary key&lt;br /&gt;
- properly disconnect the pdo object&lt;br /&gt;
- make it possible to set the status message mapping&lt;br /&gt;
- register options for create (Bug #7704)&lt;br /&gt;
- use the hash extension if it is present for the password encryption&lt;br /&gt;
- refactored decryptPW() and encryptPW() into static methods in the LiveUser class&lt;br /&gt;
- force null instead of false for PDO fetch() calls that return empty sets&lt;br /&gt;
- fixed logging into example1&lt;br /&gt;
- debug =&gt; false in conf doesn't work (Bug #7564; thx to Matthias)&lt;br /&gt;
- added support for user defined handle fields&lt;br /&gt;
  in DB, MDB, MDB2 and PDO containers you can set a list of fields in your auth&lt;br /&gt;
  container storage config, default is 'handle', example:&lt;br /&gt;
  'handles' =&gt; array('handle', 'auth_user_id', 'email')&lt;br /&gt;
  these fields are now used to find the right user on login (Request #7781)&lt;br /&gt;
- fixed LiveUser::decryptPW(): added missing third parameter 'secret'&lt;br /&gt;
- check if safe_mode is enabled in fileExists() to determine what algo to use (Bug #8296)
 </content:encoded>
 <dc:date>2006-08-22T13:34:20-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.11/">
 <title>LiveUser 0.16.11</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.11/</link>
 <content:encoded>- parse error typo fix in PEARAuth container (bug #6968)&lt;br /&gt;
- minor improvements to the phpdoc comments in PEARAuth container&lt;br /&gt;
- use ugly fopen() hack in fileExists()&lt;br /&gt;
  http://marc.theaimsgroup.com/?l=pear-dev&amp;m=114148949106207&amp;w=2&lt;br /&gt;
- changed API for readuserData(), auth_user_id parameter now contains the&lt;br /&gt;
  auth_user_id to use&lt;br /&gt;
- login() now supports passing in an auth_user_id instead of the handle/password&lt;br /&gt;
- made stack property public&lt;br /&gt;
- typo fix in PDO container readImplyingRights() method (bug #7195)&lt;br /&gt;
- expanded error handling in Log instance creation&lt;br /&gt;
- handle if no proper credentials where passed to readUserData() (bug #7262)&lt;br /&gt;
- replace isset() with array_key_exists() where applicable&lt;br /&gt;
- disable __autoload() in class_exists() calls (bug #7304)&lt;br /&gt;
- brought property names in line s/rights/right_ids *BC break*&lt;br /&gt;
- MDB2_Schema 0.5 and MDB2 2.0.1 handles nulls in schema files properly so&lt;br /&gt;
  there is no need to disable MDB2_PORTABILITY_EMPTY_TO_NULL in the installer
 </content:encoded>
 <dc:date>2006-04-19T04:44:56-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.10/">
 <title>LiveUser 0.16.10</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.10/</link>
 <content:encoded>- Do not include Cache.php since its only a concept and not implemented yet&lt;br /&gt;
- fixed serious issue with right reading in the Medium and Complex container&lt;br /&gt;
- right_level may not be null in schema (use default if not explicitly set)&lt;br /&gt;
- phpdoc improvements&lt;br /&gt;
- bumped dependency for MDB2 to first stable release&lt;br /&gt;
- added missing optional dependency on mcrypt&lt;br /&gt;
- made admin user a superadmin in example4&lt;br /&gt;
- bumped copyright to 2006
 </content:encoded>
 <dc:date>2006-02-27T13:17:51-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.9/">
 <title>LiveUser 0.16.9</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.9/</link>
 <content:encoded>This releases fixes a minor security issue that is limited to the optional&lt;br /&gt;
remember me feature. This issue was report to us by GulfTech Security Research.&lt;br /&gt;
&lt;br /&gt;
The issue would allow an attacker to determine the existance of files inside the&lt;br /&gt;
file system, as well as being able to delete files:&lt;br /&gt;
- if the relativ path is shorter than 32 characters (including a null&lt;br /&gt;
byte)&lt;br /&gt;
- if null bytes are handled inside the &quot;_COOKIE&quot; superglobal, for example&lt;br /&gt;
through usage of magic_quotes_gpc, the issue becomes essentially limited to&lt;br /&gt;
files ending with &quot;.lu&quot;.&lt;br /&gt;
&lt;br /&gt;
All installations using the remember me feature are strongly urged to update.&lt;br /&gt;
This release also changes some other aspects including a BC break so developers&lt;br /&gt;
can optionally patch their current installations from the changes in the&lt;br /&gt;
following commit:&lt;br /&gt;
http://cvs.php.net/viewcvs.cgi/pear/LiveUser/LiveUser.php?r1=1.148&amp;r2=1.149&amp;diff_format=u&lt;br /&gt;
&lt;br /&gt;
- fixed major bug in PEARAuth container: auth_user_id is not an optional property&lt;br /&gt;
- added passwordEncryptionMode and secret to phpdoc comment&lt;br /&gt;
- made cryptRC4() method public to match usage in auth common in the client and admin api&lt;br /&gt;
- fixed handling of the secret user defineable property (bug #6551)&lt;br /&gt;
- added support for user_group_ids (bug #6517)&lt;br /&gt;
- allow grouprights and groupusers table to join eachother&lt;br /&gt;
- updateProperty doesn't update the session (bug #6612)&lt;br /&gt;
- renamed &quot;connection&quot; config option to &quot;dbc&quot; *BC BREAK*&lt;br /&gt;
- cleaned up and unified init() in the storage classes&lt;br /&gt;
- added example for dumping SQL to a file to installer&lt;br /&gt;
- add support for force_seq to installer&lt;br /&gt;
- removed allowDuplicateHandles and allowEmptyPasswords options, they are now&lt;br /&gt;
  handled through the table definition in the given Globals.php (overwriteable&lt;br /&gt;
  via the config array) *BC BREAK*&lt;br /&gt;
- initial untested support for PDO in the installer&lt;br /&gt;
- added examples for setting length and defaults to installer&lt;br /&gt;
- use overwrite when unlink is enabled in the installer&lt;br /&gt;
- reworked handling of merging user with group rights *BC BREAK*&lt;br /&gt;
When using the Medium or Complex container a user may gain rights through direct&lt;br /&gt;
assignment or through membership in a group that has rights assigned. The user&lt;br /&gt;
and group rights are merged with the following logic:&lt;br /&gt;
* if the right is only assigned to a member group but not the user the right is&lt;br /&gt;
  available to the user at the level at which the group has the right&lt;br /&gt;
* if the right is only assigned to the user at a level greater than zero but not&lt;br /&gt;
  to a member group the right is available to the user at the level at which&lt;br /&gt;
  user has the right&lt;br /&gt;
* if the right is only assigned to the user at a level equal to zero but not&lt;br /&gt;
  to a member group the right is available to the user at the level at which&lt;br /&gt;
  user has the right&lt;br /&gt;
* if the right is only assigned to the user at a level lower than zero but not&lt;br /&gt;
  to a member group then the right is unavailable to the user&lt;br /&gt;
* if the is assigned to a member group and the user and the level at which the&lt;br /&gt;
  user has the right is greater than zero, then the right is available to the&lt;br /&gt;
  user at higher level of the two&lt;br /&gt;
* if the is assigned to a member group and the user and the level at which the&lt;br /&gt;
  user has the right is equal to zero, then the right is unavailable to the user&lt;br /&gt;
* if the is assigned to a member group and the user and the level at which the&lt;br /&gt;
  user has the right is lower than zero, then the right is available to the&lt;br /&gt;
  user at the minimum of the group assigned level and the addition of the&lt;br /&gt;
  negativ user level and the maximum level&lt;br /&gt;
Example:&lt;br /&gt;
The user as the following right_id =&gt; level pairs&lt;br /&gt;
array&lt;br /&gt;
  1 =&gt; 3&lt;br /&gt;
  2 =&gt; -2&lt;br /&gt;
  3 =&gt; 0&lt;br /&gt;
  5 =&gt; -1&lt;br /&gt;
&lt;br /&gt;
The groups he is a member of have the following right_id =&gt; level pairs&lt;br /&gt;
array&lt;br /&gt;
  1 =&gt; 1&lt;br /&gt;
  2 =&gt; 3&lt;br /&gt;
  3 =&gt; 3&lt;br /&gt;
  4 =&gt; 2&lt;br /&gt;
&lt;br /&gt;
The final right_id =&gt; level pairs are as follows&lt;br /&gt;
array&lt;br /&gt;
  1 =&gt; 3 // user has a higher level (3) than the group level (1)&lt;br /&gt;
  2 =&gt; 1 // 3 - 2 means a maximum possible level of 1&lt;br /&gt;
  4 =&gt; 2 // only group has the right at level 2&lt;br /&gt;
  5 =&gt; 2 // only user has the right at level 3 - 1 = 2
 </content:encoded>
 <dc:date>2006-02-21T14:38:18-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.8/">
 <title>LiveUser 0.16.8</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.8/</link>
 <content:encoded>- clearer status and error messages&lt;br /&gt;
- fix a bug with the passed Log object being discarded&lt;br /&gt;
- extra debug info when the auth container is instantiated&lt;br /&gt;
- more helpful error message when the class cannot be loaded&lt;br /&gt;
- make the PEAR::Auth wrapper use the passed handle and password&lt;br /&gt;
- fixed phpdoc typo in singleton method (bug #5668)&lt;br /&gt;
- fixed ability to call singleton() with only the conf parameter set, even if&lt;br /&gt;
  singleton was never called before (bug #5669)&lt;br /&gt;
- fixed issue in factoryStorage() that would lead to modifying the config array (bug #5526)&lt;br /&gt;
- added ability to disable executing the sql commands on installSchema()&lt;br /&gt;
- set status after logging out not before&lt;br /&gt;
- tweaked error messages for failed factory method calls&lt;br /&gt;
- fix for calling singleton without a signature string (bug #5905)&lt;br /&gt;
- attempt at checking if it is safe to start the session, add an error to the stack if not and return&lt;br /&gt;
- minor performance tweak in login()&lt;br /&gt;
- reordered code inside login() to make onFailedMapping events more powerful&lt;br /&gt;
- improved handling of INACTIVE status&lt;br /&gt;
- stop using backendArrayIndex infavor of containerName property in the auth instance&lt;br /&gt;
- removed loginTimeout feature (disable lastlogin if you are concerned about&lt;br /&gt;
  the cost of updating the lastlogin time)&lt;br /&gt;
- handle option user data properties in readUserData() in the PEAR::Auth wrapper&lt;br /&gt;
- added a few return true's for method that returned void so far&lt;br /&gt;
- tons of phpdoc and whitespace fixes and additions&lt;br /&gt;
- add missing css file in example5&lt;br /&gt;
- only read remember me cookie in login() if remember was passed as true (bug #6215)&lt;br /&gt;
- handle and password are passed to reeadUserData in the PEARAuth container&lt;br /&gt;
- reworked file loading in loadClass() to work around issues in safe_mode with&lt;br /&gt;
  LiveUser::fileExists() (bug #6226)&lt;br /&gt;
- moved all explict handling of logout() and login() out of the init() method *BC BREAK*&lt;br /&gt;
- made setRememberCookie(), readRememberCookie() and deleteRememberCookie public&lt;br /&gt;
- setRememberCookie() no longer accepts a remember parameter&lt;br /&gt;
- added PDO backend and optional pdo based config for example5
 </content:encoded>
 <dc:date>2005-12-21T06:27:16-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.7/">
 <title>LiveUser 0.16.7</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.7/</link>
 <content:encoded>- typo fix getMessage =&gt; getMessage() (bug #5283)&lt;br /&gt;
- added parameter to unlink backup file to force new creation in installSchema()&lt;br /&gt;
- fixed join points in implied_rights table in the perm Globals.php&lt;br /&gt;
- removed unnecessary join in readUserRights() of the database containers&lt;br /&gt;
- removed autoInit (all init() manually instead) *BC BREAK*&lt;br /&gt;
- reworked log/debug handling (there is a new 'debug' conf option which can&lt;br /&gt;
  either be a bool or a log instance)&lt;br /&gt;
- made the log property public which made it possible to remove addErrorLog()&lt;br /&gt;
- renamed loadPEARLog() to PEARLogFactory and reworked it to return a Log&lt;br /&gt;
  instance as a static method&lt;br /&gt;
- added an optional signature parameter to singleton() instead of using the&lt;br /&gt;
  handle/password/confName parameters (which no longer exist) *BC BREAK*&lt;br /&gt;
- made login() and logout() public&lt;br /&gt;
- made freeze() private&lt;br /&gt;
- prefixed all private properties/methods with an underscore
 </content:encoded>
 <dc:date>2005-10-10T06:53:15-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.6/">
 <title>LiveUser 0.16.6</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.6/</link>
 <content:encoded>- various fixes to the Session auth container&lt;br /&gt;
- various fixes to the PEARAuth auth container&lt;br /&gt;
- added error handler and more comments to the install.php&lt;br /&gt;
- removed updateLastLogin option&lt;br /&gt;
- delete remember me cookie in all error cases while reading the remember me cookie&lt;br /&gt;
- cosmetic fixes to the examples in demodata.php&lt;br /&gt;
- (re-)added example5 (more or less the same as example4)
 </content:encoded>
 <dc:date>2005-09-02T08:43:24-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.5/">
 <title>LiveUser 0.16.5</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.5/</link>
 <content:encoded>- fixed bugs related to is_active handling (resulting in users being able to&lt;br /&gt;
  login that are set to in active!) *SECURITY ISSUE*&lt;br /&gt;
- fixed bug in getProperty() that would make it impossible to fetch the values&lt;br /&gt;
  of internal config properties (bug #5110)&lt;br /&gt;
- pass the storage config array by ref after all
 </content:encoded>
 <dc:date>2005-08-17T08:26:53-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/LiveUser/download/0.16.4/">
 <title>LiveUser 0.16.4</title>
 <link>http://pear.php.net/package/LiveUser/download/0.16.4/</link>
 <content:encoded>- writeSchema returns error objects and not false on error&lt;br /&gt;
- added error handling around call to parent::init()&lt;br /&gt;
- assign _storage property by ref in the permission container&lt;br /&gt;
- moved area admin code from the medium into the complex container&lt;br /&gt;
- tweaked error handling in login()/readUserData()&lt;br /&gt;
- only assign the perm instance to _perm if mapUser/unfreeze succeeded&lt;br /&gt;
- fixed bug in the auth container common class that made is_active a required&lt;br /&gt;
  and not optional feature as intended&lt;br /&gt;
- fixed bug in MDB/MDB2 perm storage layer that could lead to incorrect&lt;br /&gt;
  datatype being used when the alias feature is used
 </content:encoded>
 <dc:date>2005-08-15T10:53:47-05:00</dc:date>
</item>

</rdf:RDF>