home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 November / Chip_2003-11_cd1.bin / software / dave / dqsd.exe / searches / passgen.xml < prev    next >
Text File  |  2002-12-13  |  6KB  |  127 lines

  1. <search function="passgen">
  2.   <name>Password Generator</name>
  3.   <description>Generate passwords
  4.   <div class="helpboxDescLabels">Switches:</div>
  5.     <table class="helpboxDescTable">
  6.       <tr><td nowrap="nowrap">/length[:n]</td><td> - </td><td>Limit the password length.  Defaults to 'passgen_length' or 6.</td></tr>
  7.       <tr><td>/lower</td><td> - </td><td>Allow lowercase letters</td></tr>
  8.       <tr><td>/noupper</td><td> - </td><td>Don't allow uppercase letters</td></tr>
  9.       <tr><td>/nolower</td><td> - </td><td>Don't allow lowercase letters</td></tr>
  10.       <tr><td>/nonum</td><td> - </td><td>Don't allow numbers</td></tr>
  11.       <tr><td>/nosupper</td><td> - </td><td>Don't allow uppercase letters as the starting character</td></tr>
  12.       <tr><td>/noslower</td><td> - </td><td>Don't allow lowercase letters as the starting character</td></tr>
  13.       <tr><td>/nosnum</td><td> - </td><td>Don't allow numbers as the starting character</td></tr>
  14.       <tr><td>/num</td><td> - </td><td>Allow numbers</td></tr>
  15.       <tr><td>/supper</td><td> - </td><td>Allow uppercase letters as the starting character</td></tr>
  16.       <tr><td>/slower</td><td> - </td><td>Allow lowercase letters as the starting character</td></tr>
  17.       <tr><td>/snum</td><td> - </td><td>Allow numbers as the starting character</td></tr>
  18.       <tr><td>/upper</td><td> - </td><td>Allow uppercase letters</td></tr>
  19.     </table>
  20.   <div class="helpboxDescLabels">Examples:</div>
  21.     <table class="helpboxDescTable">
  22.       <tr><td>passgen /l:5</td></tr>
  23.     </table>
  24.   <br/>
  25.   <div class="helpboxDescLabels">localprefs.js variables</div>
  26.     <table class="helpboxDescTable">
  27.       <tr><td>passgen_length</td><td> - </td><td>Default length (number > 0)</td></tr>
  28.       <tr><td>passgen_nolowercase</td><td> - </td><td>Default allow lowercase letters (true or false)</td></tr>
  29.       <tr><td>passgen_nonumbers</td><td> - </td><td>Default allow numbers (true or false)</td></tr>
  30.       <tr><td>passgen_nouppercase</td><td> - </td><td>Default allow uppercase letters (true or false)</td></tr>
  31.       <tr><td>passgen_startlowercase</td><td> - </td><td>Default allow lowercase letters as starting character (true or false)</td></tr>
  32.       <tr><td>passgen_startnumbers</td><td> - </td><td>Default allow numbers as starting character (true or false)</td></tr>
  33.       <tr><td>passgen_startuppercase</td><td> - </td><td>Default allow uppercase letters as starting character (true or false)</td></tr>
  34.     </table>
  35.   </description>
  36.   <category>Functions</category>
  37.   <contributor>Brent Beardsley</contributor>
  38.   <script><![CDATA[
  39.     function passgen(q) 
  40.     {
  41.       var args = parseArgs(q, "length, noupper, nolower, nonum, nosupper, noslower, nosnum, upper, lower, num, supper, slower, snum");
  42.       if (q == "?") {
  43.         nullArgs("passgen", "?");
  44.         return false;
  45.       }
  46.  
  47.       var len = (typeof passgen_length != "undefined") ? passgen_length : 6;
  48.       var nouppercase = (typeof passgen_nouppercase != "undefined") ? passgen_nouppercase : false;
  49.       var nolowercase = (typeof passgen_nolowercase != "undefined") ? passgen_nolowercase : false;
  50.       var nonumbers = (typeof passgen_nonumbers != "undefined") ? passgen_nonumbers : false;
  51.       var startnumbers = (typeof passgen_startnumbers != "undefined") ? passgen_startnumbers : true;
  52.       var startuppercase = (typeof passgen_startuppercase != "undefined") ? passgen_startuppercase : true;
  53.       var startlowercase = (typeof passgen_startlowercase != "undefined") ? passgen_startlowercase : true;
  54.       for (var i = 0; i < args.switches.length; i++) {
  55.         switch (args.switches[i].name)
  56.         {
  57.         case "length":   len = args.switch_val["length"]; break;
  58.         case "noupper":  nouppercase = true; break;
  59.         case "upper":    nouppercase = false; break;
  60.         case "nolower":  nolowercase = true; break;
  61.         case "lower":    nolowercase = false; break;
  62.         case "nonum":    nonumbers   = true; break;
  63.         case "num":      nonumbers   = false; break;
  64.         case "nosupper": startuppercase = false; break;
  65.         case "supper":   startuppercase = true;  break;
  66.         case "noslower": startlowercase = false; break;
  67.         case "slower":   startlowercase = true;  break;
  68.         case "nosnum":   startnumbers   = false; break;
  69.         case "snum":     startnumbers   = true;  break;
  70.         default:         break;
  71.         }
  72.       }
  73.       var passwd = passgen_generate(len, nouppercase, nolowercase, nonumbers, startuppercase, startlowercase, startnumbers);
  74.       if (passwd != false) {
  75.         setSearchWindowText(passwd, true);
  76.       } else {
  77.         //alert("passgen_generate returned false");
  78.         nullArgs("passgen", "?");
  79.         return false;
  80.       }
  81.     }
  82.  
  83.     function passgen_generate(len, nouppercase, nolowercase, nonumbers, startuppercase, startlowercase, startnumbers)
  84.     { 
  85.       var passwd = "";
  86.       for (var i=0; i < len; i++) {
  87.         var ch = passgen_random_char(nouppercase || (i == 0 && startuppercase == false), 
  88.                                      nolowercase || (i == 0 && startlowercase == false),
  89.                                      nonumbers   || (i == 0 && startnumbers == false));
  90.         passwd += ch;
  91.       }
  92.       if (passwd != "") {
  93.           return passwd;
  94.       } else {
  95.           return false;
  96.       }
  97.     }
  98.  
  99.     function passgen_random_char(nouppercase, nolowercase, nonumbers)
  100.     {
  101.       var validchars = "";
  102.       if (nouppercase == false) {
  103.         // left out uppercase Oh because it's easily confused with zero
  104.         validchars += "ABCDEFGHIJKLMNPQRSTUVWXYZ";
  105.       }
  106.       if (nolowercase == false) {
  107.         validchars += "abcdefghijklmnopqrstuvwxyz";
  108.       }
  109.       if (nonumbers == false) {
  110.         validchars += "0123456789";
  111.       }
  112.  
  113.       if (validchars == "") {
  114.         //alert("validchars is empty");
  115.         return false;
  116.       }
  117.       var rand_num = Math.floor(Math.random() * validchars.length);
  118.       return validchars.charAt(rand_num);
  119.     }
  120.   ]]></script>
  121.  
  122.   <copyright>
  123.   Copyright (c) 2002 Brent Beardsley
  124.   Distributed under the terms of the
  125.   GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
  126.   </copyright>
  127. </search>