X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fnfsd%2Fnfssvc.c;h=60232b88a935943a67fe55a38d4796fcab0b154b;hb=1f76eab5b434cf13895920e7cab5ddf790d67b4f;hp=12d3253228fadb0e074590b83d6e08808c2ec59e;hpb=b2a3cd590442309d40e9dd6d43213445df250694;p=nfs-utils.git diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c index 12d3253..60232b8 100644 --- a/utils/nfsd/nfssvc.c +++ b/utils/nfsd/nfssvc.c @@ -212,7 +212,7 @@ int nfssvc_set_sockets(const int family, const unsigned int protobits, const char *host, const char *port) { - struct addrinfo hints = { .ai_flags = AI_PASSIVE | AI_ADDRCONFIG }; + struct addrinfo hints = { .ai_flags = AI_PASSIVE }; hints.ai_family = family; @@ -238,17 +238,17 @@ nfssvc_setvers(unsigned int ctlbits, int minorvers4) if (fd < 0) return; + n = minorvers4 >= 0 ? minorvers4 : -minorvers4; + if (n >= NFSD_MINMINORVERS4 && n <= NFSD_MAXMINORVERS4) + off += snprintf(ptr+off, sizeof(buf) - off, "%c4.%d ", + minorvers4 > 0 ? '+' : '-', + n); for (n = NFSD_MINVERS; n <= NFSD_MAXVERS; n++) { if (NFSCTL_VERISSET(ctlbits, n)) off += snprintf(ptr+off, sizeof(buf) - off, "+%d ", n); else off += snprintf(ptr+off, sizeof(buf) - off, "-%d ", n); } - n = minorvers4 >= 0 ? minorvers4 : -minorvers4; - if (n >= NFSD_MINMINORVERS4 && n <= NFSD_MAXMINORVERS4) - off += snprintf(ptr+off, sizeof(buf) - off, "%c4.%d", - minorvers4 > 0 ? '+' : '-', - n); xlog(D_GENERAL, "Writing version string to kernel: %s", buf); snprintf(ptr+off, sizeof(buf) - off, "\n"); if (write(fd, buf, strlen(buf)) != strlen(buf))