<?xml version="1.0"?>
<?xml-stylesheet
href="http://www.w3.org/2000/08/w3c-synd/style.css" type="text/css"
?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel rdf:about="http://pear.php.net/bugs/search.php">
    <title>PEAR Bug Search Results</title>
    <link>http://pear.php.net/bugs/search.php?cmd=display&amp;package_name%5B0%5D=Text_Password</link>
    <description>Search Results</description>
    <dc:language>en-us</dc:language>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <admin:generatorAgent rdf:resource="http://pear.php.net/bugs"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
    <items>
     <rdf:Seq>
      <rdf:li rdf:resource="http://pear.php.net/bug/11434" />
      <rdf:li rdf:resource="http://pear.php.net/bug/377" />

     </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://pear.php.net/gifs/pearsmall.gif">
    <title>PEAR Bugs</title>
    <url>http://pear.php.net/gifs/pearsmall.gif</url>
    <link>http://pear.php.net/bugs</link>
  </image>

    <item rdf:about="http://pear.php.net/bug/11434">
      <title>Text_Password: Feature/Change Request 11434 [Assigned] pronounceable password genreation to add numbers</title>
      <link>http://pear.php.net/bugs/11434</link>
      <content:encoded><![CDATA[<pre>Text_Password Feature/Change Request
Reported by mattrq
2007-06-25T14:36:51+00:00
PHP: 5.2.3 OS: linux Package Version: 

Description:
------------
Pronounceable passwords could be made more secure by interspersing a number somewhere between the syllables.

example output from Text_Password::create(8) &amp;#8220;troupeat&amp;#8221; could become &amp;#8220;troup4eat&amp;#8221;</pre>]]></content:encoded>
      <description><![CDATA[<pre>Text_Password Feature/Change Request
Reported by mattrq
2007-06-25T14:36:51+00:00
PHP: 5.2.3 OS: linux Package Version: 

Description:
------------
Pronounceable passwords could be made more secure by interspersing a number somewhere between the syllables.

example output from Text_Password::create(8) &amp;#8220;troupeat&amp;#8221; could become &amp;#8220;troup4eat&amp;#8221;</pre>]]></description>
      <dc:date>2008-11-30T13:58:32+00:00</dc:date>
      <dc:creator>mattrq &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Text_Password Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/377">
      <title>Text_Password: Feature/Change Request 377 [Assigned] Possible alternative mechanism in _createPronounceable function</title>
      <link>http://pear.php.net/bugs/377</link>
      <content:encoded><![CDATA[<pre>Text_Password Feature/Change Request
Reported by jackh@...
2003-12-08T14:07:31+00:00
PHP: Irrelevant OS: Red Hat / Irrelevant Package Version: 

Description:
------------
I didn't think it was appropriate to raise this through a bug report, but the feedback I got from the pear dev mailing list, suggested I did.

Put simply, I have made minor mods to the _createPronounceable function in my local copy of Password.php.  I think that the modifed function produces more pronounceable strings.

The original mechanism looped through pairs of (Consonant Sound, Vowel Sound) to build up the string.  I use an Initial Consonant Sound, followed by pairs of (Vowel Sound, Consonant Sound).  The Initial Consonant Sound is selected from a different array of sounds to that used for the other Consonant Sounds.  &quot;rt&quot; is not pronounceable at the start of a word, but is when it is preceded by a vowel sound.

I have pasted the diff into the Reproduce Code field below.

Reproduce code:
---------------
? Text_Password.diff
Index: Password.php
===================================================================
RCS file: /repository/pear/Text_Password/Password.php,v
retrieving revision 1.7
diff -u -r1.7 Password.php
--- Password.php        3 Apr 2003 11:37:19 -0000       1.7
+++ Password.php        8 Dec 2003 11:10:04 -0000
@@ -415,26 +415,45 @@
         /**
          * List of vowels and vowel sounds
          */
-        $v = array('a', 'e', 'i', 'o', 'u', 'ae', 'ou', 'io',
-                   'ea', 'ou', 'ia', 'ai'
+        $v = array('a', 'e', 'i', 'o', 'u', 'oo', 'ou', 'io',
+                   'ia', 'ai', 'ee', 'yo'
                    );
 
         /**
-         * List of consonants and consonant sounds
+         * List of beginner consonants and consonant sounds
          */
-        $c = array('b', 'c', 'd', 'g', 'h', 'j', 'k', 'l', 'm',
-                   'n', 'p', 'r', 's', 't', 'u', 'v', 'w',
-                   'tr', 'cr', 'fr', 'dr', 'wr', 'pr', 'th',
-                   'ch', 'ph', 'st', 'sl', 'cl'
+        $c1 = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
+                   'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'z',
+                   'bl', 'br', 'ch', 'cl', 'cr', 'dr', 'dw', 'gh', 
+                   'gl', 'gr', 'kl', 'kn', 'kr', 'kw', 'mr', 'nr',
+                   'ph', 'pl', 'pr', 'pw', 'sc', 'sh', 'sm', 'sn',
+                   'sp', 'sr', 'st', 'sw', 'th', 'tl', 'tr', 'tw',
+                   'wh', 'wr', 'qu'
                    );
 
+        /**
+         * List of subsequent consonants and consonant sounds
+         */
+        $cn = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
+                   'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'z',
+                   'bb', 'bs', 'ch', 'ck', 'cs', 'ct', 'ds', 'ff',
+                   'fs', 'ft', 'gg', 'gs', 'ht', 'ks', 'ld', 'lf',
+                   'lg', 'lm', 'ln', 'lp', 'ls', 'lt', 'lv', 
+                   'ms', 'nd', 'ng', 'nk', 'nn', 'ns', 'nt', 'ps',
+                   'pt', 'qs', 'rb', 'rc', 'rd', 'rf', 'rg', 'rk', 
+                   'rm', 'rn', 'rp', 'rr', 'rs', 'rt', 'rv', 'rz', 
+                   'sh', 'sk', 'sp', 'ss', 'st', 'th', 'ts', 'tt', 
+                   'vs', 'wk', 'wn', 'wp', 'ws', 'wt'
+
+                   );
         $v_count = 12;
-        $c_count = 29;
-
-        $_Text_Password_NumberOfPossibleCharacters = $v_count + $c_count;
+        $c1_count = 54;
+        $cn_count = 80;
 
-        for ($i = 0; $i &lt; $length; $i++) {
-            $retVal .= $c[mt_rand(0, $c_count-1)] . $v[mt_rand(0, $v_count-1)];
+        $_Text_Password_NumberOfPossibleCharacters = $v_count + $cn_count;
+        $retVal = $c1[mt_rand(0, $c1_count-1)];
+        for ($i = strlen($retVal); $i &lt; $length; $i++) {
+            $retVal .= $v[mt_rand(0, $v_count-1)] . $cn[mt_rand(0, $cn_count-1)];
         }
 
         return substr($retVal, 0, $length);</pre>]]></content:encoded>
      <description><![CDATA[<pre>Text_Password Feature/Change Request
Reported by jackh@...
2003-12-08T14:07:31+00:00
PHP: Irrelevant OS: Red Hat / Irrelevant Package Version: 

Description:
------------
I didn't think it was appropriate to raise this through a bug report, but the feedback I got from the pear dev mailing list, suggested I did.

Put simply, I have made minor mods to the _createPronounceable function in my local copy of Password.php.  I think that the modifed function produces more pronounceable strings.

The original mechanism looped through pairs of (Consonant Sound, Vowel Sound) to build up the string.  I use an Initial Consonant Sound, followed by pairs of (Vowel Sound, Consonant Sound).  The Initial Consonant Sound is selected from a different array of sounds to that used for the other Consonant Sounds.  &quot;rt&quot; is not pronounceable at the start of a word, but is when it is preceded by a vowel sound.

I have pasted the diff into the Reproduce Code field below.

Reproduce code:
---------------
? Text_Password.diff
Index: Password.php
===================================================================
RCS file: /repository/pear/Text_Password/Password.php,v
retrieving revision 1.7
diff -u -r1.7 Password.php
--- Password.php        3 Apr 2003 11:37:19 -0000       1.7
+++ Password.php        8 Dec 2003 11:10:04 -0000
@@ -415,26 +415,45 @@
         /**
          * List of vowels and vowel sounds
          */
-        $v = array('a', 'e', 'i', 'o', 'u', 'ae', 'ou', 'io',
-                   'ea', 'ou', 'ia', 'ai'
+        $v = array('a', 'e', 'i', 'o', 'u', 'oo', 'ou', 'io',
+                   'ia', 'ai', 'ee', 'yo'
                    );
 
         /**
-         * List of consonants and consonant sounds
+         * List of beginner consonants and consonant sounds
          */
-        $c = array('b', 'c', 'd', 'g', 'h', 'j', 'k', 'l', 'm',
-                   'n', 'p', 'r', 's', 't', 'u', 'v', 'w',
-                   'tr', 'cr', 'fr', 'dr', 'wr', 'pr', 'th',
-                   'ch', 'ph', 'st', 'sl', 'cl'
+        $c1 = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
+                   'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'z',
+                   'bl', 'br', 'ch', 'cl', 'cr', 'dr', 'dw', 'gh', 
+                   'gl', 'gr', 'kl', 'kn', 'kr', 'kw', 'mr', 'nr',
+                   'ph', 'pl', 'pr', 'pw', 'sc', 'sh', 'sm', 'sn',
+                   'sp', 'sr', 'st', 'sw', 'th', 'tl', 'tr', 'tw',
+                   'wh', 'wr', 'qu'
                    );
 
+        /**
+         * List of subsequent consonants and consonant sounds
+         */
+        $cn = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
+                   'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'z',
+                   'bb', 'bs', 'ch', 'ck', 'cs', 'ct', 'ds', 'ff',
+                   'fs', 'ft', 'gg', 'gs', 'ht', 'ks', 'ld', 'lf',
+                   'lg', 'lm', 'ln', 'lp', 'ls', 'lt', 'lv', 
+                   'ms', 'nd', 'ng', 'nk', 'nn', 'ns', 'nt', 'ps',
+                   'pt', 'qs', 'rb', 'rc', 'rd', 'rf', 'rg', 'rk', 
+                   'rm', 'rn', 'rp', 'rr', 'rs', 'rt', 'rv', 'rz', 
+                   'sh', 'sk', 'sp', 'ss', 'st', 'th', 'ts', 'tt', 
+                   'vs', 'wk', 'wn', 'wp', 'ws', 'wt'
+
+                   );
         $v_count = 12;
-        $c_count = 29;
-
-        $_Text_Password_NumberOfPossibleCharacters = $v_count + $c_count;
+        $c1_count = 54;
+        $cn_count = 80;
 
-        for ($i = 0; $i &lt; $length; $i++) {
-            $retVal .= $c[mt_rand(0, $c_count-1)] . $v[mt_rand(0, $v_count-1)];
+        $_Text_Password_NumberOfPossibleCharacters = $v_count + $cn_count;
+        $retVal = $c1[mt_rand(0, $c1_count-1)];
+        for ($i = strlen($retVal); $i &lt; $length; $i++) {
+            $retVal .= $v[mt_rand(0, $v_count-1)] . $cn[mt_rand(0, $cn_count-1)];
         }
 
         return substr($retVal, 0, $length);</pre>]]></description>
      <dc:date>2008-11-30T13:58:58+00:00</dc:date>
      <dc:creator>jackh &amp;#x61;&amp;#116; iol &amp;#x64;&amp;#111;&amp;#x74; ie</dc:creator>
      <dc:subject>Text_Password Feature/Change Request</dc:subject>
    </item>
</rdf:RDF>
