mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
split replace into replace and replace1 to allow setenv to be used by
nsswitch modules. Add required libraries to get rid of undefined
functions for libns_winbind.so and libns_wins.so
(This used to be commit cec5bf5f99
)
This commit is contained in:
parent
6070a519c2
commit
edabf75a54
@ -164,7 +164,7 @@ SMBLDAP_OBJ = @SMBLDAP@
|
||||
|
||||
LIB_OBJ = lib/charcnv.o lib/debug.o lib/fault.o \
|
||||
lib/getsmbpass.o lib/interface.o lib/md4.o \
|
||||
lib/interfaces.o lib/pidfile.o lib/replace.o \
|
||||
lib/interfaces.o lib/pidfile.o lib/replace.o lib/replace1.o \
|
||||
lib/signal.o lib/system.o lib/sendfile.o lib/time.o \
|
||||
lib/ufc.o lib/genrand.o lib/username.o \
|
||||
lib/util_getent.o lib/util_pw.o lib/access.o lib/smbrun.o \
|
||||
@ -435,7 +435,7 @@ RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
|
||||
$(LIBADS_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ) \
|
||||
$(SMBLDAP_OBJ) $(DCUTIL_OBJ) lib/dummyroot.o
|
||||
|
||||
PAM_WINBIND_OBJ = nsswitch/pam_winbind.po nsswitch/wb_common.po lib/snprintf.po
|
||||
PAM_WINBIND_OBJ = nsswitch/pam_winbind.po nsswitch/wb_common.po lib/replace1.po lib/snprintf.po
|
||||
|
||||
SMBW_OBJ1 = smbwrapper/smbw.o \
|
||||
smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
|
||||
@ -607,9 +607,9 @@ WINBINDD_OBJ = \
|
||||
WBINFO_OBJ = nsswitch/wbinfo.o $(LIBSAMBA_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
|
||||
$(UBIQX_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ)
|
||||
|
||||
WINBIND_NSS_OBJ = nsswitch/wb_common.o @WINBIND_NSS_EXTRA_OBJS@
|
||||
WINBIND_NSS_OBJ = nsswitch/wb_common.o lib/replace1.o @WINBIND_NSS_EXTRA_OBJS@
|
||||
|
||||
WINBIND_NSS_PICOBJS = $(WINBIND_NSS_OBJ:.o=.po)
|
||||
WINBIND_NSS_PICOBJS = $(WINBIND_NSS_OBJ:.o=.po) lib/snprintf.po
|
||||
|
||||
POPT_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
|
||||
popt/popthelp.o popt/poptparse.o
|
||||
@ -968,7 +968,8 @@ bin/winbindd@EXEEXT@: $(WINBINDD_OBJ) @BUILD_POPT@ bin/.dummy
|
||||
|
||||
@WINBIND_WINS_NSS@: $(WINBIND_WINS_NSS_PICOBJS)
|
||||
@echo "Linking $@"
|
||||
@$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_WINS_NSS_PICOBJS) -lc \
|
||||
@$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_WINS_NSS_PICOBJS) \
|
||||
$(KRBCLIENT_OBJ) $(LDAPLIBS) $(KRB5LIBS) -lc \
|
||||
@SONAMEFLAG@`basename $@`
|
||||
|
||||
nsswitch/pam_winbind.@SHLIBEXT@: $(PAM_WINBIND_OBJ) bin/.dummy
|
||||
|
@ -447,21 +447,3 @@ char *rep_inet_ntoa(struct in_addr ip)
|
||||
return t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_SETENV
|
||||
int setenv(const char *name, const char *value, int overwrite)
|
||||
{
|
||||
char *p = NULL;
|
||||
int ret = -1;
|
||||
|
||||
asprintf(&p, "%s=%s", name, value);
|
||||
|
||||
if (overwrite || getenv(name)) {
|
||||
if (p) ret = putenv(p);
|
||||
} else {
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
42
source3/lib/replace1.c
Normal file
42
source3/lib/replace1.c
Normal file
@ -0,0 +1,42 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
replacement routines for broken systems
|
||||
Copyright (C) Andrew Tridgell 1992-1998
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
void replace1_dummy(void);
|
||||
void replace1_dummy(void) {}
|
||||
|
||||
#ifndef HAVE_SETENV
|
||||
int setenv(const char *name, const char *value, int overwrite)
|
||||
{
|
||||
char *p = NULL;
|
||||
int ret = -1;
|
||||
|
||||
asprintf(&p, "%s=%s", name, value);
|
||||
|
||||
if (overwrite || getenv(name)) {
|
||||
if (p) ret = putenv(p);
|
||||
} else {
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user