1 #include <u.h> 2 #include <libc.h> 3 #include <auth.h> 4 #include "authsrv.h" 5 6 char *trivial[] = { 7 "login", 8 "guest", 9 "change me", 10 "passwd", 11 "no passwd", 12 "anonymous", 13 0 14 }; 15 16 char* 17 okpasswd(char *p) 18 { 19 char passwd[NAMELEN]; 20 char back[NAMELEN]; 21 int i, n; 22 23 strncpy(passwd, p, sizeof passwd - 1); 24 passwd[sizeof passwd - 1] = '\0'; 25 n = strlen(passwd); 26 while(passwd[n - 1] == ' ') 27 n--; 28 passwd[n] = '\0'; 29 for(i = 0; i < n; i++) 30 back[i] = passwd[n - 1 - i]; 31 back[n] = '\0'; 32 if(n < 8) 33 return "password must be at least 8 chars"; 34 35 for(i = 0; trivial[i]; i++) 36 if(strcmp(passwd, trivial[i]) == 0 37 || strcmp(back, trivial[i]) == 0) 38 return "trivial password"; 39 40 return 0; 41 } 42