summaryrefslogtreecommitdiff
path: root/sys/src/cmd/webcookies.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-08-01 03:18:44 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-08-01 03:18:44 +0200
commitf62a2efb7add3ec40ca91adc514d5bdb6b0cd721 (patch)
tree4b60d4b543d6ce97191478466855e10a6ebce369 /sys/src/cmd/webcookies.c
parentf42a7ade7094525a9f80fb714102fd5fc69f180a (diff)
webcookies: create lockfile with 0600 permission, always use create() with perm 0600 for rewriting jar
Diffstat (limited to 'sys/src/cmd/webcookies.c')
-rw-r--r--sys/src/cmd/webcookies.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/sys/src/cmd/webcookies.c b/sys/src/cmd/webcookies.c
index b834e07da..ac94fe9fb 100644
--- a/sys/src/cmd/webcookies.c
+++ b/sys/src/cmd/webcookies.c
@@ -377,7 +377,7 @@ syncjar(Jar *jar)
fd = -1;
for(i=0; i<50; i++){
- if((fd = create(jar->lockfile, OWRITE, DMEXCL|0666)) < 0){
+ if((fd = create(jar->lockfile, OWRITE, DMEXCL|0600)) < 0){
sleep(100);
continue;
}
@@ -416,10 +416,12 @@ syncjar(Jar *jar)
purgejar(jar);
if(dowrite){
- b = Bopen(jar->file, OTRUNC|OWRITE);
- if(b == nil){
+ i = create(jar->file, OWRITE, 0600);
+ if(i < 0 || (b = Bfdopen(i, OWRITE)) == nil){
if(debug)
fprint(2, "Bopen write %s: %r", jar->file);
+ if(i >= 0)
+ close(i);
close(fd);
return -1;
}
@@ -1249,7 +1251,6 @@ void
main(int argc, char **argv)
{
char *file, *mtpt, *home, *srv;
- int fd;
file = nil;
srv = nil;
@@ -1289,12 +1290,7 @@ main(int argc, char **argv)
strcpy(file, home);
strcat(file, "/lib/webcookies");
}
- if(access(file, AEXIST) < 0){
- if((fd = create(file, OWRITE, 0600)) < 0)
- sysfatal("create %s: %r", file);
- close(fd);
- }
-
+
jar = readjar(file);
if(jar == nil)
sysfatal("readjar: %r");