1 4180d05b 2004-06-17 devnull #include <u.h>
2 4180d05b 2004-06-17 devnull #include <libc.h>
3 4180d05b 2004-06-17 devnull #include <authsrv.h>
6 4180d05b 2004-06-17 devnull opasstokey(char *key, char *p)
8 4180d05b 2004-06-17 devnull uchar t[10];
11 4180d05b 2004-06-17 devnull n = strlen(p);
12 4180d05b 2004-06-17 devnull memset(t, ' ', sizeof t);
13 4180d05b 2004-06-17 devnull if(n < 5)
14 4180d05b 2004-06-17 devnull return 0;
15 4180d05b 2004-06-17 devnull if(n > 10)
17 4180d05b 2004-06-17 devnull strncpy((char*)t, p, n);
18 4180d05b 2004-06-17 devnull if(n >= 9){
19 4180d05b 2004-06-17 devnull c = p[8] & 0xf;
20 4180d05b 2004-06-17 devnull if(n == 10)
21 4180d05b 2004-06-17 devnull c += p[9] << 4;
22 4180d05b 2004-06-17 devnull for(n = 0; n < 8; n++)
23 4180d05b 2004-06-17 devnull if(c & (1 << n))
24 4180d05b 2004-06-17 devnull t[n] -= ' ';
26 4180d05b 2004-06-17 devnull for(n = 0; n < 7; n++)
27 4180d05b 2004-06-17 devnull key[n] = (t[n] >> n) + (t[n+1] << (8 - (n+1)));
28 4180d05b 2004-06-17 devnull return 1;