X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fui.c;h=2daf6881e4fb79874c77fe0b223ed24ff03d488d;hb=edda83f20cb7ca8ad5d1076d6a7cebe067a3fb23;hp=4484a1d008c51fdf35de585bb184a304dc350938;hpb=0a1bc5b19fe40d88790d02f236ea4c9637024969;p=doldaconnect.git diff --git a/daemon/ui.c b/daemon/ui.c index 4484a1d..2daf688 100644 --- a/daemon/ui.c +++ b/daemon/ui.c @@ -571,6 +571,11 @@ static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc haveargs(3); havepriv(PERM_FNETCTL); + for(i = 0, fn = fnetnodes; fn != NULL; i++, fn = fn->next); + if((confgetint("fnet", "maxnodes") > 0) && (i >= confgetint("fnet", "maxnodes"))) { + sq(sk, 0, L"515", L"Too many fnetnodes connected already", NULL); + return; + } if((buf = icwcstombs(argv[2], NULL)) == NULL) { sq(sk, 0, L"504", L"Could not convert data to locale charset", NULL); @@ -592,8 +597,8 @@ static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc } linkfnetnode(fn); fnetsetname(fn, argv[2]); + sq(sk, 0, L"200", L"%%i", fn->id, L"Connection under way", NULL); putfnetnode(fn); - sq(sk, 0, L"200", L"Connection under way", NULL); } static void cmd_lsnodes(struct socket *sk, struct uidata *data, int argc, wchar_t **argv)