Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enable locking of fnetnodes.
[doldaconnect.git]
/
daemon
/
ui.c
diff --git
a/daemon/ui.c
b/daemon/ui.c
index
df421ec
..
9b3eba6
100644
(file)
--- a/
daemon/ui.c
+++ b/
daemon/ui.c
@@
-590,7
+590,7
@@
static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc
args = NULL;
for(i = 3; i < argc - 1; i += 2)
newwcspair(argv[i], argv[i + 1], &args);
args = NULL;
for(i = 3; i < argc - 1; i += 2)
newwcspair(argv[i], argv[i + 1], &args);
- fn = fnetinitconnect(argv[1], buf, args);
+ fn = fnetinitconnect(argv[1],
data->userinfo->name,
buf, args);
err = errno;
free(buf);
if(fn == NULL)
err = errno;
free(buf);
if(fn == NULL)
@@
-641,6
+641,11
@@
static void cmd_disconnect(struct socket *sk, struct uidata *data, int argc, wch
sq(sk, 0, L"510", L"No such node", NULL);
return;
}
sq(sk, 0, L"510", L"No such node", NULL);
return;
}
+ if(wpfind(fn->args, L"locked") && !((data->userinfo->perms & PERM_ADMIN) || !wcscmp(data->userinfo->name, fn->owner)))
+ {
+ sq(sk, 0, L"502", L"This node is locked and you are neither administrator nor its owner", NULL);
+ return;
+ }
killfnetnode(fn);
unlinkfnetnode(fn);
}
killfnetnode(fn);
unlinkfnetnode(fn);
}