diff --git a/cde/config/cf/FreeBSD.cf b/cde/config/cf/FreeBSD.cf index faf94894c..48ac23c73 100644 --- a/cde/config/cf/FreeBSD.cf +++ b/cde/config/cf/FreeBSD.cf @@ -247,4 +247,12 @@ ICONVSYSLIB != if test -f /usr/local/include/iconv.h; then echo -liconv; else ec #define CDESharedRev 2 +#if !defined(HasPamLibrary) +#define HasPamLibrary YES +#endif + +#if !defined(PamAuthenticationModule) +#define PamAuthenticationModule /usr/local/lib/security/pam_pwauth_suid.so +#endif + #include diff --git a/cde/config/cf/NetBSD.cf b/cde/config/cf/NetBSD.cf index 627c46666..c6449989f 100644 --- a/cde/config/cf/NetBSD.cf +++ b/cde/config/cf/NetBSD.cf @@ -316,3 +316,11 @@ CXXDEPENDINCLUDE != CppCmd -x c++ -Wp,-v < /dev/null \ #ifndef KornShell #define KornShell /usr/pkg/bin/ksh93 #endif + +#if !defined(HasPamLibrary) +#define HasPamLibrary YES +#endif + +#if !defined(PamAuthenticationModule) +#define PamAuthenticationModule /usr/pkg/lib/security/pam_pwauth_suid.so +#endif diff --git a/cde/config/cf/linux.cf b/cde/config/cf/linux.cf index 8e40b576b..fe0509b7c 100644 --- a/cde/config/cf/linux.cf +++ b/cde/config/cf/linux.cf @@ -299,5 +299,9 @@ XCOMM This is needed for CDE currently #define SharedTtReqs $(TIRPCLIB) $(LDPRELIBS) SharedXReqs $(CXXLIB) +#if !defined(HasPamLibrary) +#define HasPamLibrary YES +#endif + #include #include diff --git a/cde/databases/CDE-MIN.udb b/cde/databases/CDE-MIN.udb index 409e26c11..d96fda7e1 100644 --- a/cde/databases/CDE-MIN.udb +++ b/cde/databases/CDE-MIN.udb @@ -252,3 +252,22 @@ programs/dtdbcache/dtdbcache install_target = /usr/dt/bin/dtdbcache mode = 0555 } + +# +# PAM configuration files. +# +#ifdef HAS_PAM_LIBRARY +programs/dtlogin/config/pam.d.dtlogin +{ default + install_target = /usr/dt/config/pam.d.dtlogin + mode = 0644 + owner = root +} +# +programs/dtsession/config/pam.d.dtsession +{ default + install_target = /usr/dt/config/pam.d.dtsession + mode = 0644 + owner = root +} +#endif diff --git a/cde/databases/CDE-RUN.udb b/cde/databases/CDE-RUN.udb index 968cae138..86284ef1d 100644 --- a/cde/databases/CDE-RUN.udb +++ b/cde/databases/CDE-RUN.udb @@ -1523,12 +1523,21 @@ programs/dtfile/dtcopy/dtfile_copy mode = 0555 } # +#ifdef HAS_PAM_LIBRARY +programs/dtsession/dtsession +{ default + install_target = /usr/dt/bin/dtsession + owner = root + mode = 0555 +} +#else programs/dtsession/dtsession { default install_target = /usr/dt/bin/dtsession owner = root mode = 04555 } +#endif # programs/dtsession/dtloadresources { default diff --git a/cde/databases/Imakefile b/cde/databases/Imakefile index 958b53294..2009bd973 100644 --- a/cde/databases/Imakefile +++ b/cde/databases/Imakefile @@ -34,6 +34,10 @@ UDB_RELEASE_OPT = -ReleaseStream netbsd */ UDB_CPP_UNDEF_LIST = -UhpV4 -Uhpux -Uaix -Usun -Uunix -Ulinux -Uopenbsd -Ufreebsd -Unetbsd +#if defined(HasPamLibrary) && HasPamLibrary +UDB_CPP_DEF_LIST = -DHAS_PAM_LIBRARY +#endif + #if defined UTF8_NLS_SUPPORT # define UTF8_NLS_SUPPORT_OPT -DUTF8_NLS_SUPPORT #else @@ -196,7 +200,8 @@ clean:: /* * Default locale (C) */ -LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) -D_ENGLISH_ UTF8_NLS_SUPPORT_OPT +LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) $(UDB_CPP_DEF_LIST) -D_ENGLISH_ \ + UTF8_NLS_SUPPORT_OPT CppSourceFile(CDE-LOC-C.tmp,CDE-LOC.src,$(LOC_CPP_LIST),) CppSourceFile(CDE-HELP-LOC-C.tmp,CDE-HELP-LOC.src,$(LOC_CPP_LIST),) CppSourceFile(CDE-MSG-LOC-C.tmp,CDE-MSG-LOC.src,$(LOC_CPP_LIST),) @@ -206,7 +211,7 @@ CreateLocalizedFilesets(C,C,C,CDE-RUN,CDE-ENG-A-HELP,CDE-ENG-A-MSG,C,C,CDE-LOC-C /* * German */ -DE_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) -D_GERMAN_ +DE_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) $(UDB_CPP_DEF_LIST) -D_GERMAN_ CppSourceFile(CDE-LOC-DE.tmp,CDE-LOC.src,$(DE_LOC_CPP_LIST),) CppSourceFile(CDE-HELP-LOC-DE.tmp,CDE-HELP-LOC.src,$(DE_LOC_CPP_LIST),) CppSourceFile(CDE-MSG-LOC-DE.tmp,CDE-MSG-LOC.src,$(DE_LOC_CPP_LIST),) @@ -216,7 +221,7 @@ CreateLocalizedFilesets(DE,de_DE.UTF-8,German,CDE-LANGS,CDE-GER-I-HELP,CDE-GER-I /* * Spanish */ -ES_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) -D_SPANISH_ +ES_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) $(UDB_CPP_DEF_LIST) -D_SPANISH_ CppSourceFile(CDE-LOC-ES.tmp,CDE-LOC.src,$(ES_LOC_CPP_LIST),) CppSourceFile(CDE-HELP-LOC-ES.tmp,CDE-HELP-LOC.src,$(ES_LOC_CPP_LIST),) CppSourceFile(CDE-MSG-LOC-ES.tmp,CDE-MSG-LOC.src,$(ES_LOC_CPP_LIST),) @@ -226,7 +231,7 @@ CreateLocalizedFilesets(ES,es_ES.UTF-8,Spanish,CDE-LANGS,CDE-SPA-I-HELP,CDE-SPA- /* * French */ -FR_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) -D_FRENCH_ +FR_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) $(UDB_CPP_DEF_LIST) -D_FRENCH_ CppSourceFile(CDE-LOC-FR.tmp,CDE-LOC.src,$(FR_LOC_CPP_LIST),) CppSourceFile(CDE-HELP-LOC-FR.tmp,CDE-HELP-LOC.src,$(FR_LOC_CPP_LIST),) CppSourceFile(CDE-MSG-LOC-FR.tmp,CDE-MSG-LOC.src,$(FR_LOC_CPP_LIST),) @@ -236,7 +241,7 @@ CreateLocalizedFilesets(FR,fr_FR.UTF-8,French,CDE-LANGS,CDE-FRE-I-HELP,CDE-FRE-I /* * Italian */ -IT_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) -D_ITALIAN_ +IT_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) $(UDB_CPP_DEF_LIST) -D_ITALIAN_ CppSourceFile(CDE-LOC-IT.tmp,CDE-LOC.src,$(IT_LOC_CPP_LIST),) CppSourceFile(CDE-HELP-LOC-IT.tmp,CDE-HELP-LOC.src,$(IT_LOC_CPP_LIST),) CppSourceFile(CDE-MSG-LOC-IT.tmp,CDE-MSG-LOC.src,$(IT_LOC_CPP_LIST),) @@ -246,7 +251,7 @@ CreateLocalizedFilesets(IT,it_IT.UTF-8,Italian,CDE-LANGS,CDE-ITA-I-HELP,CDE-ITA- /* * Japanese */ -JP_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) -D_JAPANESE_ +JP_LOC_CPP_LIST = $(UDB_CPP_UNDEF_LIST) $(UDB_CPP_DEF_LIST) -D_JAPANESE_ CppSourceFile(CDE-LOC-JP.tmp,CDE-LOC.src,$(JP_LOC_CPP_LIST),) CppSourceFile(CDE-HELP-LOC-JP.tmp,CDE-HELP-LOC.src,$(JP_LOC_CPP_LIST),) CppSourceFile(CDE-MSG-LOC-JP.tmp,CDE-MSG-LOC.src,$(JP_LOC_CPP_LIST),)