X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fclient.c;h=47ac9de974961dbc009f0dd0d805a00596f9fb25;hb=d9f89ef5daa6375fc4ff257826fa39562fbe3ac3;hp=fc2776b7e599fef28654c90f8cee5096e0f68b82;hpb=5ec60e4217863b0e2d6a86ba3f60f60c68608227;p=doldaconnect.git diff --git a/daemon/client.c b/daemon/client.c index fc2776b..47ac9de 100644 --- a/daemon/client.c +++ b/daemon/client.c @@ -60,9 +60,20 @@ static void writehashcache(int now); static struct configvar myvars[] = { + /** The default nick name to use. The nickname can also be + * specified for individual hubs, overriding this setting. */ {CONF_VAR_STRING, "defnick", {.str = L"DoldaConnect user"}}, + /** When scanning shares, this bitmask is consulted for every + * regular file. Unless the file's mode has the bits specified by + * this mask set, it will not be shared. */ {CONF_VAR_INT, "scanfilemask", {.num = 0004}}, + /** When scanning shares, this bitmask is consulted for every + * directory encountered. Unless the directory's mode has the bits + * specified by this mask set, it will be ignored and any files + * under it will not be shared. */ {CONF_VAR_INT, "scandirmask", {.num = 0005}}, + /** The filename to use for the hash cache (see the FILES section + * for more information). */ {CONF_VAR_STRING, "hashcache", {.str = L"dc-hashcache"}}, {CONF_VAR_END} }; @@ -408,7 +419,7 @@ static void writehashcache(int now) fclose(stream); } -static int hashread(struct socket *sk, void *uudata) +static void hashread(struct socket *sk, void *uudata) { static char *hashbuf; static size_t hashbufsize = 0, hashbufdata = 0; @@ -422,7 +433,7 @@ static int hashread(struct socket *sk, void *uudata) struct hashcache *hc; if((buf = sockgetinbuf(sk, &bufsize)) == NULL) - return(0); + return; bufcat(hashbuf, buf, bufsize); free(buf); while((lp = memchr(hashbuf, '\n', hashbufdata)) != NULL) @@ -464,7 +475,6 @@ static int hashread(struct socket *sk, void *uudata) } memmove(hashbuf, lp, hashbufdata -= (lp - hashbuf)); } - return(0); } static void hashexit(pid_t pid, int status, struct socket *outsock) @@ -543,7 +553,7 @@ static int hashfile(char *path) close(fd); close(pfd[1]); outsock = wrapsock(pfd[0]); - CBREG(outsock, socket_read, hashread, NULL, NULL); + outsock->readcb = hashread; childcallback(hashjob, (void (*)(pid_t, int, void *))hashexit, outsock); return(0); }