Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_unix/sys/src/cmd/auth/lib/readwrite.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include <authsrv.h>
4
#include <bio.h>
5
#include "authcmdlib.h"
6
 
7
int
8
readfile(char *file, char *buf, int n)
9
{
10
	int fd;
11
 
12
	fd = open(file, OREAD);
13
	if(fd < 0){
14
		werrstr("%s: %r", file);
15
		return -1;
16
	}
17
	n = read(fd, buf, n);
18
	close(fd);
19
	return n;
20
}
21
 
22
int
23
writefile(char *file, char *buf, int n)
24
{
25
	int fd;
26
 
27
	fd = open(file, OWRITE);
28
	if(fd < 0)
29
		return -1;
30
	n = write(fd, buf, n);
31
	close(fd);
32
	return n;
33
}
34
 
35
char*
36
findkey(char *db, char *user, char *key)
37
{
38
	int n;
39
	char filename[Maxpath];
40
 
41
	snprint(filename, sizeof filename, "%s/%s/key", db, user);
42
	n = readfile(filename, key, DESKEYLEN);
43
	if(n != DESKEYLEN)
44
		return 0;
45
	else
46
		return key;
47
}
48
 
49
char*
50
findsecret(char *db, char *user, char *secret)
51
{
52
	int n;
53
	char filename[Maxpath];
54
 
55
	snprint(filename, sizeof filename, "%s/%s/secret", db, user);
56
	n = readfile(filename, secret, SECRETLEN-1);
57
	secret[n]=0;
58
	if(n <= 0)
59
		return 0;
60
	else
61
		return secret;
62
}
63
 
64
char*
65
setkey(char *db, char *user, char *key)
66
{
67
	int n;
68
	char filename[Maxpath];
69
 
70
	snprint(filename, sizeof filename, "%s/%s/key", db, user);
71
	n = writefile(filename, key, DESKEYLEN);
72
	if(n != DESKEYLEN)
73
		return 0;
74
	else
75
		return key;
76
}
77
 
78
char*
79
setsecret(char *db, char *user, char *secret)
80
{
81
	int n;
82
	char filename[Maxpath];
83
 
84
	snprint(filename, sizeof filename, "%s/%s/secret", db, user);
85
	n = writefile(filename, secret, strlen(secret));
86
	if(n != strlen(secret))
87
		return 0;
88
	else
89
		return secret;
90
}