1219b2ee8SDavid du Colombier #include <u.h>
2219b2ee8SDavid du Colombier #include <libc.h>
39a747e4fSDavid du Colombier #include <authsrv.h>
4*5979f962SDavid du Colombier #include <bio.h>
59a747e4fSDavid du Colombier #include "authcmdlib.h"
6219b2ee8SDavid du Colombier
7219b2ee8SDavid du Colombier char *trivial[] = {
8219b2ee8SDavid du Colombier "login",
9219b2ee8SDavid du Colombier "guest",
10219b2ee8SDavid du Colombier "change me",
11219b2ee8SDavid du Colombier "passwd",
12219b2ee8SDavid du Colombier "no passwd",
13219b2ee8SDavid du Colombier "anonymous",
14219b2ee8SDavid du Colombier 0
15219b2ee8SDavid du Colombier };
16219b2ee8SDavid du Colombier
17219b2ee8SDavid du Colombier char*
okpasswd(char * p)18219b2ee8SDavid du Colombier okpasswd(char *p)
19219b2ee8SDavid du Colombier {
209a747e4fSDavid du Colombier char passwd[ANAMELEN];
219a747e4fSDavid du Colombier char back[ANAMELEN];
22219b2ee8SDavid du Colombier int i, n;
23219b2ee8SDavid du Colombier
24219b2ee8SDavid du Colombier strncpy(passwd, p, sizeof passwd - 1);
25219b2ee8SDavid du Colombier passwd[sizeof passwd - 1] = '\0';
26219b2ee8SDavid du Colombier n = strlen(passwd);
27219b2ee8SDavid du Colombier while(passwd[n - 1] == ' ')
28219b2ee8SDavid du Colombier n--;
29219b2ee8SDavid du Colombier passwd[n] = '\0';
30219b2ee8SDavid du Colombier for(i = 0; i < n; i++)
31219b2ee8SDavid du Colombier back[i] = passwd[n - 1 - i];
32219b2ee8SDavid du Colombier back[n] = '\0';
33219b2ee8SDavid du Colombier if(n < 8)
34219b2ee8SDavid du Colombier return "password must be at least 8 chars";
35219b2ee8SDavid du Colombier
36219b2ee8SDavid du Colombier for(i = 0; trivial[i]; i++)
37219b2ee8SDavid du Colombier if(strcmp(passwd, trivial[i]) == 0
38219b2ee8SDavid du Colombier || strcmp(back, trivial[i]) == 0)
39219b2ee8SDavid du Colombier return "trivial password";
40219b2ee8SDavid du Colombier
41219b2ee8SDavid du Colombier return 0;
42219b2ee8SDavid du Colombier }
43