From 65d6735c5949ec233df9813f734e918a93fa36cf Mon Sep 17 00:00:00 2001
From: Thorsten Kukuk <5908016+thkukuk@users.noreply.github.com>
Date: Mon, 16 Sep 2019 17:17:49 +0200
Subject: Add support for a vendor directory and libeconf (#136)
With this, it is possible for Linux distributors to store their
supplied default configuration files somewhere below /usr, while
/etc only contains the changes made by the user. The new option
--enable-vendordir defines where Linux-PAM should additional look
for pam.d/*, login.defs and securetty if this files are not in /etc.
libeconf is a key/value configuration file reading library, which
handles the split of configuration files in different locations
and merges them transparently for the application.
---
doc/Makefile.am | 2 ++
doc/custom-html.xsl | 19 +++++++++++++++++++
doc/custom-man.xsl | 10 ++++++++++
doc/man/Makefile.am | 5 +++++
doc/man/pam.8.xml | 17 +++++++++++++++--
5 files changed, 51 insertions(+), 2 deletions(-)
create mode 100644 doc/custom-html.xsl
create mode 100644 doc/custom-man.xsl
(limited to 'doc')
diff --git a/doc/Makefile.am b/doc/Makefile.am
index f4762f2d..38319f5b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -8,6 +8,8 @@ CLEANFILES = *~
dist_html_DATA = index.html
+EXTRA_DIST = custom-html.xsl custom-man.xsl
+
#######################################################
releasedocs: all
diff --git a/doc/custom-html.xsl b/doc/custom-html.xsl
new file mode 100644
index 00000000..081beaf6
--- /dev/null
+++ b/doc/custom-html.xsl
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/custom-man.xsl b/doc/custom-man.xsl
new file mode 100644
index 00000000..bf01d583
--- /dev/null
+++ b/doc/custom-man.xsl
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
index 78c891df..8e76897e 100644
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -59,5 +59,10 @@ pam.d.5: pam.conf.5
pam_get_item.3: pam_item_types_std.inc.xml pam_item_types_ext.inc.xml
pam_set_data.3: pam_item_types_std.inc.xml pam_item_types_ext.inc.xml
pam.conf.5: pam.conf-desc.xml pam.conf-dir.xml pam.conf-syntax.xml
+if HAVE_VENDORDIR
+XSLTPROC_CUSTOM = --stringparam vendordir $(VENDORDIR)
+else
+XSLTPROC_CUSTOM = --stringparam vendordir ""
+endif
-include $(top_srcdir)/Make.xml.rules
endif
diff --git a/doc/man/pam.8.xml b/doc/man/pam.8.xml
index 9839defb..464af0e5 100644
--- a/doc/man/pam.8.xml
+++ b/doc/man/pam.8.xml
@@ -53,11 +53,12 @@
Vendor-supplied PAM configuration files might be installed in
- the system directory /usr/lib/pam.d/ instead
+ the system directory /usr/lib/pam.d/ or
+ a configurable vendor specific directory instead
of the machine configuration directory /etc/pam.d/.
If no machine configuration file is found, the vendor-supplied file
is used. All files in /etc/pam.d/ override
- files with the same name in /usr/lib/pam.d/.
+ files with the same name in other directories.
From the point of view of the system administrator, for whom this
@@ -157,6 +158,18 @@ closing hook for modules to affect the services available to a user.
+
+ %vendordir%/pam.d
+
+
+ the Linux-PAM vendor configuration
+ directory. Files in /etc/pam.d and
+ /usr/lib/pam.d override files with the same
+ name in this directory. Only available if Linux-PAM was compiled
+ with vendordir enabled.
+
+
+
--
cgit v1.2.3