packages/net/nfs-kernel-server/patches/100-nfs_utils_uclibc.patch

50 lines
1.3 KiB
Diff
Raw Normal View History

--- 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
@@ -168,6 +168,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) {
@@ -182,6 +183,7 @@ static void auth_unix_gid(FILE *f)
}
}
}
+#endif
qword_printuint(f, uid);
qword_printuint(f, time(0) + DEFAULT_TTL);
if (rv >= 0) {