The Samba-Bugzilla – Attachment 13918 Details for
Bug 13238
Samba doesn't work with tirpc and libnsl2
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch for 4.8
libtirpc_libnsl2_support.v4-8.txt (text/plain), 22.61 KB, created by
Andreas Schneider
on 2018-01-22 16:36:17 UTC
(
hide
)
Description:
patch for 4.8
Filename:
MIME Type:
Creator:
Andreas Schneider
Created:
2018-01-22 16:36:17 UTC
Size:
22.61 KB
patch
obsolete
>From 24164a8e6bce2cbfe71d25be1f2a7b8dd8844332 Mon Sep 17 00:00:00 2001 >From: Andreas Schneider <asn@samba.org> >Date: Fri, 19 Jan 2018 09:32:49 +0100 >Subject: [PATCH 1/5] s3:waf: Move HAVE_NETGROUP to wscript > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=13238 > >Pair-Programmed-With: Guenther Deschner <gd@samba.org> > >Signed-off-by: Andreas Schneider <asn@samba.org> >Signed-off-by: Guenther Deschner <gd@samba.org> >Reviewed-by: Alexander Bokovoy <ab@samba.org> >(cherry picked from commit ca5eaf0cdcf8257ac52786aa7439c8f081a2fe0d) >--- > source3/include/includes.h | 4 ---- > source3/wscript | 5 +++++ > 2 files changed, 5 insertions(+), 4 deletions(-) > >diff --git a/source3/include/includes.h b/source3/include/includes.h >index e82bfad4147..e2fb8e62e41 100644 >--- a/source3/include/includes.h >+++ b/source3/include/includes.h >@@ -91,10 +91,6 @@ > #include <rpc/rpc.h> > #endif > >-#if defined(HAVE_YP_GET_DEFAULT_DOMAIN) && defined(HAVE_SETNETGRENT) && defined(HAVE_ENDNETGRENT) && defined(HAVE_GETNETGRENT) >-#define HAVE_NETGROUP 1 >-#endif >- > #if defined (HAVE_NETGROUP) > #if defined(HAVE_RPCSVC_YP_PROT_H) > /* >diff --git a/source3/wscript b/source3/wscript >index 0f8fe5452da..d7a66122f9a 100644 >--- a/source3/wscript >+++ b/source3/wscript >@@ -611,6 +611,11 @@ msg.msg_accrightslen = sizeof(fd); > headers='netdb.h netgroup.h', > cflags=netgrent_cflags) > >+ if (conf.CONFIG_SET('HAVE_YP_GET_DEFAULT_DOMAIN') and >+ conf.CONFIG_SET('HAVE_SETNETGRENT') and >+ conf.CONFIG_SET('HAVE_ENDNETGRENT') and >+ conf.CONFIG_SET('HAVE_GETNETGRENT')): >+ conf.DEFINE('HAVE_NETGROUP', '1') > > # Look for CUPS > if Options.options.with_cups: >-- >2.15.1 > > >From 7907eebfcc3abdb72d9551102dc55e45c16f67e2 Mon Sep 17 00:00:00 2001 >From: Andreas Schneider <asn@samba.org> >Date: Fri, 19 Jan 2018 09:33:21 +0100 >Subject: [PATCH 2/5] include: Create system/nis.h in libreplace > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=13238 > >Pair-Programmed-With: Guenther Deschner <gd@samba.org> > >Signed-off-by: Andreas Schneider <asn@samba.org> >Signed-off-by: Guenther Deschner <gd@samba.org> >Reviewed-by: Alexander Bokovoy <ab@samba.org> >(cherry picked from commit c29d087e1ea4c92717ef86e372fe80f410580fdc) >--- > lib/replace/system/nis.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++ > lib/util/access.c | 10 ++++-- > source3/auth/user_util.c | 13 ++++++++ > source3/include/includes.h | 45 ------------------------- > source3/lib/util.c | 11 ++++++ > 5 files changed, 114 insertions(+), 48 deletions(-) > create mode 100644 lib/replace/system/nis.h > >diff --git a/lib/replace/system/nis.h b/lib/replace/system/nis.h >new file mode 100644 >index 00000000000..068595a1628 >--- /dev/null >+++ b/lib/replace/system/nis.h >@@ -0,0 +1,83 @@ >+/* >+ Unix SMB/CIFS implementation. >+ >+ nis system include wrappers >+ >+ Copyright (C) Andrew Tridgell 2004 >+ >+ ** NOTE! The following LGPL license applies to the replace >+ ** library. This does NOT imply that all of Samba is released >+ ** under the LGPL >+ >+ This library is free software; you can redistribute it and/or >+ modify it under the terms of the GNU Lesser General Public >+ License as published by the Free Software Foundation; either >+ version 3 of the License, or (at your option) any later version. >+ >+ This library is distributed in the hope that it will be useful, >+ but WITHOUT ANY WARRANTY; without even the implied warranty of >+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >+ Lesser General Public License for more details. >+ >+ You should have received a copy of the GNU Lesser General Public >+ License along with this library; if not, see <http://www.gnu.org/licenses/>. >+*/ >+ >+#ifndef _nis_passwd_h >+#define _nis_passwd_h >+ >+#if defined(HAVE_RPC_RPC_H) >+/* >+ * Check for AUTH_ERROR define conflict with rpc/rpc.h in prot.h. >+ */ >+#if defined(HAVE_SYS_SECURITY_H) && defined(HAVE_RPC_AUTH_ERROR_CONFLICT) >+#undef AUTH_ERROR >+#endif /* HAVE_SYS_SECURITY_H && HAVE_RPC_AUTH_ERROR_CONFLICT */ >+/* >+ * HP-UX 11.X has TCP_NODELAY and TCP_MAXSEG defined in <netinet/tcp.h> which >+ * was included above. However <rpc/rpc.h> includes <sys/xti.h> which defines >+ * them again without checking if they already exsist. This generates >+ * two "Redefinition of macro" warnings for every single .c file that is >+ * compiled. >+ */ >+#if defined(HPUX) && defined(TCP_NODELAY) >+#undef TCP_NODELAY >+#endif /* HPUX && TCP_NODELAY */ >+ >+#if defined(HPUX) && defined(TCP_MAXSEG) >+#undef TCP_MAXSEG >+#endif /* HPUX && TCP_MAXSEG */ >+ >+#include <rpc/rpc.h> >+#endif /* HAVE_RPC_RPC_H */ >+ >+ >+#if defined (HAVE_NETGROUP) >+ >+#if defined(HAVE_RPCSVC_YP_PROT_H) >+/* >+ * HP-UX 11.X has TCP_NODELAY and TCP_MAXSEG defined in <netinet/tcp.h> which >+ * was included above. However <rpc/rpc.h> includes <sys/xti.h> which defines >+ * them again without checking if they already exsist. This generates >+ * two "Redefinition of macro" warnings for every single .c file that is >+ * compiled. >+ */ >+#if defined(HPUX) && defined(TCP_NODELAY) >+#undef TCP_NODELAY >+#endif /* HPUX && TCP_MAXSEG */ >+ >+#if defined(HPUX) && defined(TCP_MAXSEG) >+#undef TCP_MAXSEG >+#endif /* HPUX && TCP_MAXSEG */ >+ >+#include <rpcsvc/yp_prot.h> >+ >+#endif /* HAVE_RPCSVC_YP_PROT_H */ >+ >+#if defined(HAVE_RPCSVC_YPCLNT_H) >+#include <rpcsvc/ypclnt.h> >+#endif /* HAVE_RPCSVC_YPCLNT_H */ >+ >+#endif /* HAVE_NETGROUP */ >+ >+#endif /* _nis_passwd_h */ >diff --git a/lib/util/access.c b/lib/util/access.c >index 6d04a5f622c..7da0573a74d 100644 >--- a/lib/util/access.c >+++ b/lib/util/access.c >@@ -22,6 +22,10 @@ > #include "lib/util/access.h" > #include "lib/util/unix_match.h" > >+#if defined(HAVE_NETGROUP) >+#include "system/nis.h" >+#endif >+ > #define NAME_INDEX 0 > #define ADDR_INDEX 1 > >@@ -143,11 +147,11 @@ static bool string_match(const char *tok,const char *s) > > netgroup_ok = innetgr(tok + 1, hostname, (char *) 0, mydomain); > >- DEBUG(5,("looking for %s of domain %s in netgroup %s gave %s\n", >+ DBG_INFO("%s %s of domain %s in netgroup %s\n", >+ netgroup_ok ? "Found" : "Could not find", > hostname, > mydomain?mydomain:"(ANY)", >- tok+1, >- BOOLSTR(netgroup_ok))); >+ tok+1); > > SAFE_FREE(hostname); > >diff --git a/source3/auth/user_util.c b/source3/auth/user_util.c >index 1ddb7387307..63841a1fe51 100644 >--- a/source3/auth/user_util.c >+++ b/source3/auth/user_util.c >@@ -23,6 +23,19 @@ > #include "system/filesys.h" > #include "auth.h" > >+#ifdef HAVE_NETGROUP >+/* rpc/xdr.h uses TRUE and FALSE */ >+#ifdef TRUE >+#undef TRUE >+#endif >+ >+#ifdef FALSE >+#undef FALSE >+#endif >+ >+#include "system/nis.h" >+#endif >+ > /******************************************************************* > Map a username from a dos name to a unix name by looking in the username > map. Note that this modifies the name in place. >diff --git a/source3/include/includes.h b/source3/include/includes.h >index e2fb8e62e41..d822c3f9300 100644 >--- a/source3/include/includes.h >+++ b/source3/include/includes.h >@@ -68,51 +68,6 @@ > #include "system/time.h" > #include "system/wait.h" > >-#if defined(HAVE_RPC_RPC_H) >-/* >- * Check for AUTH_ERROR define conflict with rpc/rpc.h in prot.h. >- */ >-#if defined(HAVE_SYS_SECURITY_H) && defined(HAVE_RPC_AUTH_ERROR_CONFLICT) >-#undef AUTH_ERROR >-#endif >-/* >- * HP-UX 11.X has TCP_NODELAY and TCP_MAXSEG defined in <netinet/tcp.h> which >- * was included above. However <rpc/rpc.h> includes <sys/xti.h> which defines >- * them again without checking if they already exsist. This generates >- * two "Redefinition of macro" warnings for every single .c file that is >- * compiled. >- */ >-#if defined(HPUX) && defined(TCP_NODELAY) >-#undef TCP_NODELAY >-#endif >-#if defined(HPUX) && defined(TCP_MAXSEG) >-#undef TCP_MAXSEG >-#endif >-#include <rpc/rpc.h> >-#endif >- >-#if defined (HAVE_NETGROUP) >-#if defined(HAVE_RPCSVC_YP_PROT_H) >-/* >- * HP-UX 11.X has TCP_NODELAY and TCP_MAXSEG defined in <netinet/tcp.h> which >- * was included above. However <rpc/rpc.h> includes <sys/xti.h> which defines >- * them again without checking if they already exsist. This generates >- * two "Redefinition of macro" warnings for every single .c file that is >- * compiled. >- */ >-#if defined(HPUX) && defined(TCP_NODELAY) >-#undef TCP_NODELAY >-#endif >-#if defined(HPUX) && defined(TCP_MAXSEG) >-#undef TCP_MAXSEG >-#endif >-#include <rpcsvc/yp_prot.h> >-#endif >-#if defined(HAVE_RPCSVC_YPCLNT_H) >-#include <rpcsvc/ypclnt.h> >-#endif >-#endif /* HAVE_NETGROUP */ >- > #ifndef HAVE_KRB5_H > #undef HAVE_KRB5 > #endif >diff --git a/source3/lib/util.c b/source3/lib/util.c >index fb508842678..ae9fe71c974 100644 >--- a/source3/lib/util.c >+++ b/source3/lib/util.c >@@ -45,6 +45,17 @@ > #define MAX_ALLOC_SIZE (1024*1024*256) > > #if (defined(HAVE_NETGROUP) && defined (WITH_AUTOMOUNT)) >+/* rpc/xdr.h uses TRUE and FALSE */ >+#ifdef TRUE >+#undef TRUE >+#endif >+ >+#ifdef FALSE >+#undef FALSE >+#endif >+ >+#include "system/nis.h" >+ > #ifdef WITH_NISPLUS_HOME > #ifdef BROKEN_NISPLUS_INCLUDE_FILES > /* >-- >2.15.1 > > >From de50541240889437d7f3b5a6073779627e28e987 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd@samba.org> >Date: Tue, 16 Jan 2018 17:48:10 +0100 >Subject: [PATCH 3/5] build: deal with recent glibc sunrpc header removal > >We need to rely on libtirpc or libntirpc to be around in that case. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=13238 >BUG: https://bugzilla.samba.org/show_bug.cgi?id=10976 > >Guenther > >Pair-Programmed-With: Andreas Schneider <asn@samba.org> > >Signed-off-by: Guenther Deschner <gd@samba.org> >Signed-off-by: Andreas Schneider <asn@samba.org> >Reviewed-by: Alexander Bokovoy <ab@samba.org> >(cherry picked from commit ee0be7eb723be1420fd601ea1abe0af748562953) >--- > ctdb/wscript | 2 +- > lib/replace/wscript | 38 +++++++++++++++++++++++++++++++++----- > lib/util/wscript_build | 2 +- > source3/auth/wscript_build | 2 +- > source3/wscript | 8 ++++---- > 5 files changed, 40 insertions(+), 12 deletions(-) > >diff --git a/ctdb/wscript b/ctdb/wscript >index 8774b999ff2..715ecb175fa 100644 >--- a/ctdb/wscript >+++ b/ctdb/wscript >@@ -559,7 +559,7 @@ def build(bld): > bld.SAMBA_BINARY('smnotify', > source=bld.SUBDIR('utils/smnotify', > 'smnotify.c gen_smnotify.c gen_xdr.c'), >- deps='ctdb-smnotify-h ctdb-smnotify-c ctdb-smnotify-x popt', >+ deps='ctdb-smnotify-h ctdb-smnotify-c ctdb-smnotify-x popt tirpc', > includes='utils utils/smnotify', > install_path='${CTDB_HELPER_BINDIR}') > >diff --git a/lib/replace/wscript b/lib/replace/wscript >index 2f94d4937d3..57b0a45faee 100644 >--- a/lib/replace/wscript >+++ b/lib/replace/wscript >@@ -5,7 +5,7 @@ VERSION = '1.2.1' > > blddir = 'bin' > >-import sys, os >+import Logs, sys, os > > # find the buildtools directory > srcdir = '.' >@@ -65,14 +65,42 @@ def configure(conf): > headers='sys/inotify.h') > > conf.CHECK_HEADERS('security/pam_appl.h zlib.h asm/unistd.h') >- conf.CHECK_HEADERS('aio.h sys/unistd.h rpc/rpc.h rpc/nettype.h alloca.h float.h') >+ conf.CHECK_HEADERS('aio.h sys/unistd.h alloca.h float.h') >+ >+ conf.SET_TARGET_TYPE('tirpc', 'EMPTY') >+ conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h') >+ if not conf.CONFIG_SET('HAVE_RPC_RPC_H'): >+ if conf.CHECK_CFG(package='libtirpc', args='--cflags', >+ msg='Checking for libtirpc headers', >+ uselib_store='TIRPC'): >+ conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h', lib='tirpc', together=True) >+ conf.SET_TARGET_TYPE('tirpc', 'SYSLIB') >+ if not conf.CONFIG_SET('HAVE_RPC_RPC_H'): >+ if conf.CHECK_CFG(package='libntirpc', args='--cflags', >+ msg='Checking for libntirpc headers', >+ uselib_store='TIRPC'): >+ conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h', lib='tirpc', together=True) >+ conf.SET_TARGET_TYPE('tirpc', 'SYSLIB') >+ if not conf.CONFIG_SET('HAVE_RPC_RPC_H'): >+ Logs.error('ERROR: No rpc/rpc.h header found, tirpc or libntirpc missing?') >+ sys.exit(1) >+ >+ conf.SET_TARGET_TYPE('nsl', 'EMPTY') >+ conf.CHECK_HEADERS('rpc/rpc.h rpcsvc/yp_prot.h', lib='tirpc') >+ if not conf.CONFIG_SET('HAVE_RPCSVC_YP_PROT_H'): >+ if conf.CHECK_CFG(package='libnsl', args='--cflags --libs', >+ msg='Checking for libnsl', >+ uselib_store='NSL'): >+ conf.SET_TARGET_TYPE('nsl', 'SYSLIB') >+ conf.CHECK_HEADERS('rpc/rpc.h rpcsvc/yp_prot.h', lib='tirpc nsl') >+ else: >+ conf.SET_TARGET_TYPE('nsl', 'SYSLIB') >+ conf.CHECK_HEADERS('rpcsvc/nis.h rpcsvc/ypclnt.h', lib='tirpc nsl') > >- conf.CHECK_HEADERS('rpcsvc/nis.h rpcsvc/ypclnt.h sys/sysctl.h') >+ conf.CHECK_HEADERS('sys/sysctl.h') > conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h') > conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h') > >- conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') >- > conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') > conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h') > conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h') >diff --git a/lib/util/wscript_build b/lib/util/wscript_build >index 0b16b6f8216..30face34381 100644 >--- a/lib/util/wscript_build >+++ b/lib/util/wscript_build >@@ -204,7 +204,7 @@ else: > > bld.SAMBA_SUBSYSTEM('access', > source='access.c', >- deps='interfaces samba-util', >+ deps='interfaces samba-util tirpc nsl', > local_include=False) > > bld.SAMBA_SUBSYSTEM('util_str_escape', >diff --git a/source3/auth/wscript_build b/source3/auth/wscript_build >index 83b5ad18f03..8fd7dcded86 100644 >--- a/source3/auth/wscript_build >+++ b/source3/auth/wscript_build >@@ -6,7 +6,7 @@ bld.SAMBA3_SUBSYSTEM('TOKEN_UTIL', > > bld.SAMBA3_SUBSYSTEM('USER_UTIL', > source='user_util.c', >- deps='TOKEN_UTIL') >+ deps='TOKEN_UTIL tirpc nsl') > > bld.SAMBA3_SUBSYSTEM('AUTH_COMMON', > source='''auth_util.c >diff --git a/source3/wscript b/source3/wscript >index d7a66122f9a..173b097ced6 100644 >--- a/source3/wscript >+++ b/source3/wscript >@@ -119,7 +119,6 @@ def configure(conf): > conf.CHECK_FUNCS('memalign posix_memalign hstrerror') > conf.CHECK_FUNCS('shmget') > conf.CHECK_FUNCS_IN('shm_open', 'rt', checklibc=True) >- #FIXME: for some reason this one still fails > conf.CHECK_FUNCS_IN('yp_get_default_domain', 'nsl') > conf.CHECK_FUNCS_IN('dn_expand _dn_expand __dn_expand', 'resolv') > conf.CHECK_FUNCS_IN('dn_expand', 'inet') >@@ -1446,7 +1445,7 @@ main() { > #darwin style quota bytecount > conf.CHECK_STRUCTURE_MEMBER('struct dqblk', 'dqb_curbytes', define='HAVE_STRUCT_DQBLK_DQB_CURBYTES', > headers='sys/quota.h') >- if conf.CHECK_HEADERS('rpcsvc/rquota.h'): >+ if conf.CHECK_HEADERS('rpcsvc/rquota.h', lib='tirpc'): > conf.DEFINE('HAVE_NFS_QUOTAS', '1') > conf.CHECK_STRUCTURE_MEMBER('struct getquota_rslt', 'getquota_rslt_u', > define='HAVE_GETQUOTA_RSLT_GETQUOTA_RSLT_U', >@@ -1484,7 +1483,8 @@ main() { > define='HAVE_NFS_QUOTAS', > msg='for NFS QUOTAS', > execute=True, >- local_include=False) >+ local_include=False, >+ lib='tirpc') > > if conf.CONFIG_SET('HAVE_QUOTACTL_LINUX') or \ > conf.CONFIG_SET('HAVE_QUOTACTL_4A') or \ >@@ -1646,7 +1646,7 @@ main() { > Logs.info("building with Spotlight support") > default_static_modules.extend(TO_LIST('rpc_mdssvc_module')) > >- conf.CHECK_HEADERS('rpc/xdr.h') >+ conf.CHECK_HEADERS('rpc/xdr.h', lib='tirpc') > > forced_static_modules.extend(TO_LIST('auth_builtin auth_sam auth_winbind')) > default_static_modules.extend(TO_LIST('''pdb_smbpasswd pdb_tdbsam >-- >2.15.1 > > >From 114b70be2f2f46a79b96320f59eda440bc660482 Mon Sep 17 00:00:00 2001 >From: Andreas Schneider <asn@samba.org> >Date: Fri, 19 Jan 2018 15:34:32 +0100 >Subject: [PATCH 4/5] wafsamba: Allow passing 'lib' to CHECK_STRUCTURE_MEMBER > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=13238 > >We need to be able to point it to the right header location, so we need >to be able to pass the 'lib' that it gets set. > >Signed-off-by: Andreas Schneider <asn@samba.org> >Reviewed-by: Alexander Bokovoy <ab@samba.org> >(cherry picked from commit 87f105d76ce074bff08fd507d72568be88d48d00) >--- > buildtools/wafsamba/samba_autoconf.py | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > >diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py >index 7940a7d4fe8..cc08e0d5c3d 100644 >--- a/buildtools/wafsamba/samba_autoconf.py >+++ b/buildtools/wafsamba/samba_autoconf.py >@@ -454,7 +454,8 @@ def CHECK_CODE(conf, code, define, > > @conf > def CHECK_STRUCTURE_MEMBER(conf, structname, member, >- always=False, define=None, headers=None): >+ always=False, define=None, headers=None, >+ lib=None): > '''check for a structure member''' > if define is None: > define = 'HAVE_%s' % member.upper() >@@ -463,6 +464,7 @@ def CHECK_STRUCTURE_MEMBER(conf, structname, member, > define, > execute=False, > link=False, >+ lib=lib, > always=always, > headers=headers, > local_include=False, >-- >2.15.1 > > >From 18201ff452a54877b74e92a91ec1c93934f4eebe Mon Sep 17 00:00:00 2001 >From: Andreas Schneider <asn@samba.org> >Date: Fri, 19 Jan 2018 14:30:20 +0100 >Subject: [PATCH 5/5] waf: Fix NFS quota support with libtirpc > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=13238 > >Signed-off-by: Andreas Schneider <asn@samba.org> >Reviewed-by: Alexander Bokovoy <ab@samba.org> > >Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> >Autobuild-Date(master): Mon Jan 22 17:26:52 CET 2018 on sn-devel-144 > >(cherry picked from commit 39a6ea766dfe55d84ab2284b8d5ed01d66da11dd) >--- > lib/replace/wscript | 2 +- > source3/lib/sysquotas_nfs.c | 11 ++++++++++- > source3/modules/nfs4acl_xattr_xdr.c | 9 +++++++++ > source3/wscript | 26 ++++++++++++++------------ > source3/wscript_build | 2 +- > 5 files changed, 35 insertions(+), 15 deletions(-) > >diff --git a/lib/replace/wscript b/lib/replace/wscript >index 57b0a45faee..2c638b77212 100644 >--- a/lib/replace/wscript >+++ b/lib/replace/wscript >@@ -70,7 +70,7 @@ def configure(conf): > conf.SET_TARGET_TYPE('tirpc', 'EMPTY') > conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h') > if not conf.CONFIG_SET('HAVE_RPC_RPC_H'): >- if conf.CHECK_CFG(package='libtirpc', args='--cflags', >+ if conf.CHECK_CFG(package='libtirpc', args='--cflags --libs', > msg='Checking for libtirpc headers', > uselib_store='TIRPC'): > conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h', lib='tirpc', together=True) >diff --git a/source3/lib/sysquotas_nfs.c b/source3/lib/sysquotas_nfs.c >index fe46d3fa36a..dd2b12d0ffd 100644 >--- a/source3/lib/sysquotas_nfs.c >+++ b/source3/lib/sysquotas_nfs.c >@@ -36,13 +36,22 @@ > * This is based on the FreeBSD / SUNOS5 section of quotas.c > */ > >+/* <rpc/xdr.h> uses TRUE and FALSE */ >+#ifdef TRUE >+#undef TRUE >+#endif >+ >+#ifdef FALSE >+#undef FALSE >+#endif >+ > #include <rpc/rpc.h> > #include <rpc/types.h> >+#include <rpc/xdr.h> > #include <rpcsvc/rquota.h> > #ifdef HAVE_RPC_NETTYPE_H > #include <rpc/nettype.h> > #endif >-#include <rpc/xdr.h> > > #ifndef RQ_PATHLEN > #define RQ_PATHLEN 1024 >diff --git a/source3/modules/nfs4acl_xattr_xdr.c b/source3/modules/nfs4acl_xattr_xdr.c >index 524e69c0e1f..399c104faa4 100644 >--- a/source3/modules/nfs4acl_xattr_xdr.c >+++ b/source3/modules/nfs4acl_xattr_xdr.c >@@ -27,6 +27,15 @@ > #define DBGC_CLASS DBGC_VFS > > #ifdef HAVE_RPC_XDR_H >+/* <rpc/xdr.h> uses TRUE and FALSE */ >+#ifdef TRUE >+#undef TRUE >+#endif >+ >+#ifdef FALSE >+#undef FALSE >+#endif >+ > #include <rpc/xdr.h> > #include "nfs41acl.h" > #include "nfs4acl_xattr_xdr.h" >diff --git a/source3/wscript b/source3/wscript >index 173b097ced6..3f23e218edd 100644 >--- a/source3/wscript >+++ b/source3/wscript >@@ -1446,10 +1446,22 @@ main() { > conf.CHECK_STRUCTURE_MEMBER('struct dqblk', 'dqb_curbytes', define='HAVE_STRUCT_DQBLK_DQB_CURBYTES', > headers='sys/quota.h') > if conf.CHECK_HEADERS('rpcsvc/rquota.h', lib='tirpc'): >- conf.DEFINE('HAVE_NFS_QUOTAS', '1') >+ # Optional structure member > conf.CHECK_STRUCTURE_MEMBER('struct getquota_rslt', 'getquota_rslt_u', > define='HAVE_GETQUOTA_RSLT_GETQUOTA_RSLT_U', >- headers='rpcsvc/rquota.h') >+ headers='rpcsvc/rquota.h', >+ lib='tirpc') >+ >+ # Required fucntion for NFS quote support >+ conf.CHECK_CODE(''' >+ clnt_create("", RQUOTAPROG, RQUOTAVERS, "udp"); >+ ''', >+ headers="rpc/rpc.h rpc/types.h rpcsvc/rquota.h rpc/nettype.h rpc/xdr.h", >+ define='HAVE_NFS_QUOTAS', >+ msg='checking for clnt_create()', >+ execute=True, >+ local_include=False, >+ lib='tirpc') > > if (host_os.rfind('linux') > -1): > conf.DEFINE('HAVE_QUOTACTL_LINUX', '1') >@@ -1476,16 +1488,6 @@ main() { > execute=True, > addmain=False) > >- conf.CHECK_CODE(''' >- clnt_create("", RQUOTAPROG, RQUOTAVERS, "udp"); >-''', >- headers="rpc/rpc.h rpc/types.h rpcsvc/rquota.h rpc/nettype.h rpc/xdr.h", >- define='HAVE_NFS_QUOTAS', >- msg='for NFS QUOTAS', >- execute=True, >- local_include=False, >- lib='tirpc') >- > if conf.CONFIG_SET('HAVE_QUOTACTL_LINUX') or \ > conf.CONFIG_SET('HAVE_QUOTACTL_4A') or \ > conf.CONFIG_SET('HAVE_QUOTACTL_4B') or \ >diff --git a/source3/wscript_build b/source3/wscript_build >index d4bc3cb1700..76c5d6e203b 100644 >--- a/source3/wscript_build >+++ b/source3/wscript_build >@@ -594,7 +594,7 @@ bld.SAMBA3_SUBSYSTEM('sysquotas', > lib/sysquotas_nfs.c > ''', > allow_warnings=True, >- deps='samba3-util samba-util') >+ deps='samba3-util samba-util tirpc') > > NOTIFY_SOURCES='' > NOTIFY_DEPS='' >-- >2.15.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
gd
:
review+
Actions:
View
Attachments on
bug 13238
: 13918 |
13919