Skip to content

Commit

Permalink
include: Create system/nis.h in libreplace
Browse files Browse the repository at this point in the history
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13238

Pair-Programmed-With: Guenther Deschner <[email protected]>

Signed-off-by: Andreas Schneider <[email protected]>
Signed-off-by: Guenther Deschner <[email protected]>
Reviewed-by: Alexander Bokovoy <[email protected]>
  • Loading branch information
cryptomilk committed Jan 22, 2018
1 parent ca5eaf0 commit c29d087
Show file tree
Hide file tree
Showing 5 changed files with 114 additions and 48 deletions.
83 changes: 83 additions & 0 deletions lib/replace/system/nis.h
Original file line number Diff line number Diff line change
@@ -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 */
10 changes: 7 additions & 3 deletions lib/util/access.c
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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);

Expand Down
13 changes: 13 additions & 0 deletions source3/auth/user_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
45 changes: 0 additions & 45 deletions source3/include/includes.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 11 additions & 0 deletions source3/lib/util.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
/*
Expand Down

0 comments on commit c29d087

Please sign in to comment.