* Tue Feb 7 2012 Ian Kent <knt@redhat.com> - 1:5.0.6-10

- fix rpc build error.
- add sss lookup module.
- teach automount about sss source.
This commit is contained in:
Ian Kent 2012-02-07 09:25:08 +08:00
parent 8963ad3659
commit c27a1d8eef
4 changed files with 1816 additions and 1 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
autofs-5.0.6 - fix rpc build error
From: Leonardo Chiquitto <leonardo.lists@gmail.com>
The compile error looks like a problem in the libtirpc interface code rewrite
(commit f8ea2a5762 - autofs-5.0.6 - fix ipv6 rpc calls). The following patch
should fix it.
---
CHANGELOG | 1 +
lib/rpc_subs.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
--- autofs-5.0.6.orig/CHANGELOG
+++ autofs-5.0.6/CHANGELOG
@@ -20,6 +20,7 @@
- add systemd unit support.
- remove empty command line arguments (passed by systemd).
- fix improve mount location error reporting.
+- fix rpc build error.
28/06/2011 autofs-5.0.6
-----------------------
--- autofs-5.0.6.orig/lib/rpc_subs.c
+++ autofs-5.0.6/lib/rpc_subs.c
@@ -154,7 +154,7 @@ static CLIENT *rpc_do_create_client(stru
{
CLIENT *client = NULL;
struct sockaddr_in in4_laddr;
- struct sockaddr_in in4_raddr;
+ struct sockaddr_in *in4_raddr;
int type, proto;
socklen_t slen;

View File

@ -0,0 +1,93 @@
autofs-5.0.6 - teach automount about sss source
From: Ian Kent <raven@themaw.net>
Add parser and conditional checks to automount to handle sss source.
Note, the parsing probably needs more work, both for master map entries
and map entries, to attempt to narrow invalid map names passed down to
lower level modules. For now we have to just handle these failures in
the lookup module.
---
CHANGELOG | 1 +
daemon/lookup.c | 1 +
lib/master_tok.l | 2 +-
lib/nss_parse.y | 6 ++++--
modules/parse_sun.c | 2 +-
5 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index ba6f90c..e276396 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -24,6 +24,7 @@
- fix improve mount location error reporting.
- fix fix wait for master source mutex.
- add sss lookup module.
+- teach automount about sss source.
28/06/2011 autofs-5.0.6
-----------------------
diff --git a/daemon/lookup.c b/daemon/lookup.c
index 098588c..de7c817 100644
--- a/daemon/lookup.c
+++ b/daemon/lookup.c
@@ -177,6 +177,7 @@ int lookup_nss_read_master(struct master *master, time_t age)
!strncmp(name, "nisplus:", 8) ||
!strncmp(name, "ldap:", 5) ||
!strncmp(name, "ldaps:", 6) ||
+ !strncmp(name, "sss:", 4) ||
!strncmp(name, "dir:", 4)) {
strncpy(source, name, tmp - name);
diff --git a/lib/master_tok.l b/lib/master_tok.l
index 77e9a26..0d6edb7 100644
--- a/lib/master_tok.l
+++ b/lib/master_tok.l
@@ -118,7 +118,7 @@ DNNAMESTR2 ([[:alnum:]_.\-]+)
INTMAP (-hosts|-null)
MULTI ((multi)(,(sun|hesiod))?(:{OPTWS}|{WS}))
MULTISEP ([\-]{2}[[:blank:]]+)
-MTYPE ((file|program|yp|nis|nisplus|ldap|ldaps|hesiod|userdir)(,(sun|hesiod))?(:{OPTWS}|{WS}))
+MTYPE ((file|program|sss|yp|nis|nisplus|ldap|ldaps|hesiod|userdir)(,(sun|hesiod))?(:{OPTWS}|{WS}))
OPTTOUT (-t{OPTWS}|-t{OPTWS}={OPTWS}|--timeout{OPTWS}|--timeout{OPTWS}={OPTWS})
diff --git a/lib/nss_parse.y b/lib/nss_parse.y
index 3bda6b3..a39fda4 100644
--- a/lib/nss_parse.y
+++ b/lib/nss_parse.y
@@ -82,7 +82,8 @@ nss_source: SOURCE
{
if (!strcmp($1, "files") || !strcmp($1, "yp") ||
!strcmp($1, "nis") || !strcmp($1, "ldap") ||
- !strcmp($1, "nisplus") || !strcmp($1, "hesiod"))
+ !strcmp($1, "nisplus") || !strcmp($1, "hesiod") ||
+ !strcmp($1, "sss"))
src = add_source(nss_list, $1);
else
nss_ignore($1);
@@ -92,7 +93,8 @@ nss_source: SOURCE
if (!strcmp($1, "files") || !strcmp($1, "yp") ||
!strcmp($1, "nis") || !strcmp($1, "ldap") ||
- !strcmp($1, "nisplus") || !strcmp($1, "hesiod")) {
+ !strcmp($1, "nisplus") || !strcmp($1, "hesiod") ||
+ !strcmp($1, "sss")) {
src = add_source(nss_list, $1);
for (a = 0; a < NSS_STATUS_MAX; a++) {
if (act[a].action != NSS_ACTION_UNKNOWN) {
diff --git a/modules/parse_sun.c b/modules/parse_sun.c
index e9d94c7..d7e74e2 100644
--- a/modules/parse_sun.c
+++ b/modules/parse_sun.c
@@ -880,7 +880,7 @@ static int validate_location(unsigned int logopt, char *loc)
!strncmp(ptr, "file:", 5) || !strncmp(ptr, "yp:", 3) ||
!strncmp(ptr, "nis:", 4) || !strncmp(ptr, "nisplus:", 8) ||
!strncmp(ptr, "ldap:", 5) || !strncmp(ptr, "ldaps:", 6) ||
- !strncmp(ptr, "dir:", 4))
+ !strncmp(ptr, "sss:", 4) || !strncmp(ptr, "dir:", 4))
return 1;
error(logopt,
"expected colon delimeter not found in location %s",

View File

@ -8,7 +8,7 @@
Summary: A tool for automatically mounting and unmounting filesystems
Name: autofs
Version: 5.0.6
Release: 9%{?dist}
Release: 10%{?dist}
Epoch: 1
License: GPLv2+
Group: System Environment/Daemons
@ -36,6 +36,9 @@ Patch20: autofs-5.0.6-fix-MNT_DETACH-define.patch
Patch21: autofs-5.0.6-remove-empty-command-line-arguments.patch
Patch22: autofs-5.0.6-fix-fix-wait-for-master-source-mutex.patch
Patch23: autofs-5.0.6-fix-improve-mount-location-error-reporting.patch
Patch24: autofs-5.0.6-fix-rpc-build-error.patch
Patch25: autofs-5.0.6-add-sss-lookup-module.patch
Patch26: autofs-5.0.6-teach-automount-about-sss-source.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if %{with_systemd}
BuildRequires: systemd-units
@ -114,6 +117,9 @@ echo %{version}-%{release} > .version
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%build
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
@ -197,6 +203,11 @@ fi
%dir /etc/auto.master.d
%changelog
* Tue Feb 7 2012 Ian Kent <knt@redhat.com> - 1:5.0.6-10
- fix rpc build error.
- add sss lookup module.
- teach automount about sss source.
* Mon Jan 23 2012 Ian Kent <knt@redhat.com> - 1:5.0.6-9
- add correct patch for "fix improve mount location error reporting".
- add correct patch for "fix fix wait for master source mutex".