/[LeafOK_CVS]/lbbs/src/passwd.c
ViewVC logotype

Diff of /lbbs/src/passwd.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 by sysadm, Sun Mar 20 17:37:14 2005 UTC Revision 1.3 by sysadm, Mon Apr 28 03:31:00 2025 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2                            passwd.c  -  description                                                    passwd.c  -  description
3                               -------------------                                                           -------------------
4      begin                : Mon Oct 22 2004          begin                : Mon Oct 22 2004
5      copyright            : (C) 2004 by Leaflet          copyright            : (C) 2004 by Leaflet
6      email                : leaflet@leafok.com          email                : leaflet@leafok.com
7   ***************************************************************************/   ***************************************************************************/
8    
9  /***************************************************************************  /***************************************************************************
# Line 17  Line 17 
17    
18  #include <string.h>  #include <string.h>
19    
20  int  int verify_pass_complexity(const char *password, const char *username, int len)
 verify_pass_complexity (const char *password, const char *username, int len)  
21  {  {
22    int ch_repeat[128], i, verify_ok = 1, pass_len,          int ch_repeat[128], i, verify_ok = 1, pass_len,
23      num_count = 0, upper_case = 0, lower_case = 0;                                                     num_count = 0, upper_case = 0, lower_case = 0;
24    
25    pass_len = strlen (password);          pass_len = strlen(password);
26    
27    for (i = 0; i < 128; i++)          for (i = 0; i < 128; i++)
28      ch_repeat[i] = 0;                  ch_repeat[i] = 0;
29    
30    if (pass_len < len)          if (pass_len < len)
31      verify_ok = 0;                  verify_ok = 0;
32    if (strstr (password, username) != NULL)          if (strstr(password, username) != NULL)
33      verify_ok = 0;                  verify_ok = 0;
34    for (i = 0; i < pass_len && verify_ok == 1; i++)          for (i = 0; i < pass_len && verify_ok == 1; i++)
35      {          {
36        ch_repeat[password[i]]++;                  ch_repeat[password[i]]++;
37        if (ch_repeat[password[i]] > 2)                  if (ch_repeat[password[i]] > 2)
38          verify_ok = 0;                          verify_ok = 0;
39        if (isdigit (password[i]))                  if (isdigit(password[i]))
40          num_count++;                          num_count++;
41        if (isupper (password[i]))                  if (isupper(password[i]))
42          upper_case++;                          upper_case++;
43        if (islower (password[i]))                  if (islower(password[i]))
44          lower_case++;                          lower_case++;
45        if (num_count > 2)                  if (num_count > 2)
46          verify_ok = 0;                          verify_ok = 0;
47      }          }
48    if (upper_case == 0 || lower_case == 0 || num_count == 0)          if (upper_case == 0 || lower_case == 0 || num_count == 0)
49      verify_ok = 0;                  verify_ok = 0;
50    
51    return (verify_ok);          return (verify_ok);
52  }  }


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1