1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

Added Steve Langasek <vorlon@netexpress.net> pam_smbpass support

(This used to be commit 550cc5c182)
This commit is contained in:
John Terpstra 2001-04-24 21:13:48 +00:00
parent 2321514e93
commit c5eca67b0a
3 changed files with 904 additions and 713 deletions

View File

@ -86,7 +86,7 @@ FLAGS32 = $(ISA32) $(FLAGS5) $(PASSWD_FLAGS)
SPROGS = bin/smbd bin/nmbd bin/swat
PROGS1 = bin/smbclient bin/smbspool bin/testparm bin/testprns bin/smbstatus bin/smbcontrol @RUNPROG@
PROGS2 = bin/smbpasswd bin/make_smbcodepage bin/make_unicodemap bin/rpcclient bin/smbcacls @WRAP@ @WRAP32@
PROGS2 = bin/smbpasswd bin/make_smbcodepage bin/make_unicodemap bin/rpcclient bin/smbcacls @WRAP@ @WRAP32@ @PAM_MOD@
MPROGS = @MPROGS@
PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup bin/make_printerdef bin/pdbedit
@ -354,6 +354,21 @@ PICOBJS = $(SMBWRAPPER_OBJ:.o=.po)
PICOBJS32 = $(SMBWRAPPER_OBJ:.o=.po32)
LIBSMBCLIENT_PICOBJS = $(LIBSMBCLIENT_OBJ:.0=.po)
PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \
pam_smbpass/pam_smb_acct.o pam_smbpass/support.o \
lib/debug.o lib/util_sid.o lib/messages.o lib/util_str.o \
lib/wins_srv.o lib/substitute.o lib/select.o lib/util.o \
lib/slprintf.o nsswitch/wb_client.o nsswitch/wb_common.o \
lib/system.o lib/charset.o lib/util_file.o lib/kanji.o \
lib/genrand.o lib/username.o lib/charcnv.o lib/time.o \
lib/md4.o lib/util_unistr.o lib/signal.o lib/talloc.o \
lib/ms_fnmatch.o lib/util_sock.o lib/doscalls.o lib/smbrun.o \
lib/util_sec.o \
ubiqx/ubi_sLinkList.o libsmb/smbencrypt.o libsmb/smbdes.o \
$(PARAM_OBJ) $(TDB_OBJ) $(PASSDB_OBJ)
PAM_SMBPASS_PICOOBJ = $(PAM_SMBPASS_OBJ_0:.o=.po)
WINBINDD_OBJ1 = \
nsswitch/winbindd.o \
nsswitch/winbindd_user.o \
@ -385,6 +400,8 @@ NSS_OBJ = $(NSS_OBJ_0:.o=.po)
all : CHECK $(SPROGS) $(PROGS)
pam_smbpass : CHECK bin/pam_smbpass.@SHLIBEXT@
smbwrapper : CHECK bin/smbsh bin/smbwrapper.@SHLIBEXT@ @WRAP32@
smbtorture : CHECK bin/smbtorture
@ -631,6 +648,10 @@ bin/wbinfo: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) $(UBIQX_OBJ) bi
nsswitch: nsswitch/libnss_wins.so nsswitch/pam_winbind.so \
nsswitch/libnss_winbind.so bin/wbinfo
bin/pam_smbpass.@SHLIBEXT@: $(PAM_SMBPASS_PICOOBJ)
@echo "Linking shared library $@"
$(LD) @LDSHFLAGS@ -symbolic -o $@ $(PAM_SMBPASS_PICOOBJ) -lpam $(LIBS) -lc
install: installbin installman installscripts installcp installswat
installdirs:

1558
source3/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,7 @@ AC_SUBST(RUNPROG)
AC_SUBST(MPROGS)
AC_SUBST(LDSHFLAGS)
AC_SUBST(HOST_OS)
AC_SUBST(PAM_MOD)
AC_SUBST(WRAP)
AC_SUBST(WRAP32)
AC_SUBST(PICFLAG)
@ -265,7 +266,7 @@ case "$host_os" in
;;
esac
AC_CHECK_HEADERS(shadow.h netinet/ip.h netinet/tcp.h netinet/in_systm.h netinet/in_ip.h)
AC_CHECK_HEADERS(nss.h sys/security.h security/pam_appl.h)
AC_CHECK_HEADERS(nss.h sys/security.h security/pam_appl.h security/pam_modules.h)
AC_CHECK_HEADERS(stropts.h poll.h)
AC_CHECK_HEADERS(sys/capability.h syscall.h sys/syscall.h)
AC_CHECK_HEADERS(sys/acl.h sys/cdefs.h glob.h acl/acl.h)
@ -1532,6 +1533,39 @@ AC_ARG_WITH(pam,
AC_MSG_RESULT(no)
)
# we can't build a pam module if we don't have pam.
AC_CHECK_LIB(pam, pam_get_data, [AC_DEFINE(HAVE_LIBPAM)])
#################################################
# check for pam_smbpass support
AC_MSG_CHECKING(whether to use pam_smbpass)
AC_ARG_WITH(pam_smbpass,
[ --with-pam_smbpass Include the smbpass PAM module
--without-pam_smbpass Don't include the smbpass PAM module (default)],
[ case "$withval" in
yes)
AC_MSG_RESULT(yes)
# Conditions under which pam_smbpass should not be built.
if test x$PICFLAG = x; then
AC_MSG_RESULT([No support for PIC code - disabling pam_smbpass])
PAM_MOD=""
elif test x$ac_cv_lib_pam_pam_get_data = xno; then
AC_MSG_RESULT([No libpam found -- disabling pam_smbpass])
PAM_MOD=""
else
AC_DEFINE(WITH_PAM_SMBPASS)
PAM_MOD="bin/pam_smbpass.so"
fi
;;
*)
AC_MSG_RESULT(no)
;;
esac ],
AC_MSG_RESULT(no)
)
###############################################
# test for where we get crypt() from, but only