From 96bdfdf08a88e190c8e36ec4112a09f5f7c07e89 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 10 Nov 2012 11:42:44 +0000 Subject: quota: allow usage of getrpcbynumber() instead of getrpcbynumber_r() libtirpc does not implement the reentrant function getrpcbynumber_r(), so allow quota to use the non-reentrant version getrpcbynumber(). This should not be a problem as quota tools are not multi-threaded. Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- package/quota/quota-tools-getrpcbynumber.patch | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 package/quota/quota-tools-getrpcbynumber.patch (limited to 'package/quota/quota-tools-getrpcbynumber.patch') diff --git a/package/quota/quota-tools-getrpcbynumber.patch b/package/quota/quota-tools-getrpcbynumber.patch new file mode 100644 index 000000000..3fed853c0 --- /dev/null +++ b/package/quota/quota-tools-getrpcbynumber.patch @@ -0,0 +1,42 @@ +allow usage of getrpcbynumber() instead of getrpcbynumber_r() + +libtirpc does not implement the reentrant function getrpcbynumber_r(), +so allow quota to use the non-reentrant version getrpcbynumber(). This +should not be a problem as quota tools are not multi-threaded. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -182,6 +182,12 @@ + AC_C_CONST + AC_C_INLINE + ++AC_CHECK_FUNCS([getrpcbynumber getrpcbynumber_r]) ++ ++if test "$ac_cv_func_getrpcbynumber_r" != "yes" -a "$ac_cv_func_getrpcbynumber" != "yes"; then ++ AC_MSG_ERROR([Neither getrpcbynumber_r nor getrpcbynumber are available]) ++fi ++ + AC_ARG_ENABLE(altformat, + [ --enable-altformat=[yes/no] Enable alternative format used by edquota [default=yes].], + , +Index: b/svc_socket.c +=================================================================== +--- a/svc_socket.c ++++ b/svc_socket.c +@@ -55,7 +55,12 @@ + addr.sin_family = AF_INET; + + if (!port) { ++#if HAVE_GETRPCBYNUMBER_R + ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof(rpcdata), &rpcp); ++#else ++ rpcp = getrpcbynumber(number); ++ ret = 0; ++#endif + if (ret == 0 && rpcp != NULL) { + /* First try name */ + ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata, -- cgit v1.2.3