50 lines
1.3 KiB
Diff
50 lines
1.3 KiB
Diff
|
--- a/support/include/sockaddr.h
|
||
|
+++ b/support/include/sockaddr.h
|
||
|
@@ -20,7 +20,10 @@
|
||
|
#ifndef NFS_UTILS_SOCKADDR_H
|
||
|
#define NFS_UTILS_SOCKADDR_H
|
||
|
|
||
|
+/* uClibc doesn't have/need libio.h */
|
||
|
+#ifndef __UCLIBC__
|
||
|
#include <libio.h>
|
||
|
+#endif
|
||
|
#include <stdbool.h>
|
||
|
#include <sys/socket.h>
|
||
|
#include <netinet/in.h>
|
||
|
--- a/support/nfs/svc_socket.c
|
||
|
+++ b/support/nfs/svc_socket.c
|
||
|
@@ -40,10 +40,13 @@ int getservport(u_long number, const cha
|
||
|
char rpcdata[1024], servdata[1024];
|
||
|
struct rpcent rpcbuf, *rpcp;
|
||
|
struct servent servbuf, *servp = NULL;
|
||
|
- int ret;
|
||
|
-
|
||
|
+ int ret=0;
|
||
|
+#ifndef __UCLIBC__
|
||
|
ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof rpcdata,
|
||
|
&rpcp);
|
||
|
+#else
|
||
|
+ rpcp = getrpcbynumber (number);
|
||
|
+#endif
|
||
|
if (ret == 0 && rpcp != NULL) {
|
||
|
/* First try name. */
|
||
|
ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata,
|
||
|
--- a/utils/mountd/cache.c
|
||
|
+++ b/utils/mountd/cache.c
|
||
|
@@ -162,6 +162,7 @@ static void auth_unix_gid(FILE *f)
|
||
|
pw = getpwuid(uid);
|
||
|
if (!pw)
|
||
|
rv = -1;
|
||
|
+#ifndef __UCLIBC__
|
||
|
else {
|
||
|
rv = getgrouplist(pw->pw_name, pw->pw_gid, groups, &ngroups);
|
||
|
if (rv == -1 && ngroups >= groups_len) {
|
||
|
@@ -176,6 +177,7 @@ static void auth_unix_gid(FILE *f)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
+#endif
|
||
|
qword_printuint(f, uid);
|
||
|
qword_printuint(f, time(0) + DEFAULT_TTL);
|
||
|
if (rv >= 0) {
|