diff --git a/SOURCES/autofs-5.1.3-allow-dot-in-OPTIONSTR-value-lexer-pattern.patch b/SOURCES/autofs-5.1.3-allow-dot-in-OPTIONSTR-value-lexer-pattern.patch
new file mode 100644
index 0000000..e4ae4e7
--- /dev/null
+++ b/SOURCES/autofs-5.1.3-allow-dot-in-OPTIONSTR-value-lexer-pattern.patch
@@ -0,0 +1,38 @@
+autofs-5.1.3 - allow dot in OPTIONSTR value lexer pattern
+
+From: Ian Kent <raven@themaw.net>
+
+The options string in master map entries doesn't allow dot in the
+string value side of an option assignment. This prevents using an
+option like vers=4.1 to apply to all entries of the map.
+
+Add . to the options value portion of the regular expression used
+for this field.
+
+Signed-off-by: Ian Kent <raven@themaw.net>
+---
+ CHANGELOG        |    1 +
+ lib/master_tok.l |    2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+--- autofs-5.0.7.orig/CHANGELOG
++++ autofs-5.0.7/CHANGELOG
+@@ -252,6 +252,7 @@
+ - add congigure option for limiting getgrgid_r() stack usage.
+ - fix unset tsd group name handling.
+ - revert fix argc off by one in mount_autofs.c.
++- allow dot in OPTIONSTR value lexer pattern.
+ 
+ 25/07/2012 autofs-5.0.7
+ =======================
+--- autofs-5.0.7.orig/lib/master_tok.l
++++ autofs-5.0.7/lib/master_tok.l
+@@ -91,7 +91,7 @@ OPTWS		[[:blank:]]*
+ NL		\r?\n
+ CONT		\\\n{OPTWS}
+ 
+-OPTIONSTR	([\-]?([[:alpha:]_]([[:alnum:]_\-])*(=(\"?([[:alnum:]_\-\:])+\"?))?)+)
++OPTIONSTR	([\-]?([[:alpha:]_]([[:alnum:]_\-])*(=(\"?([[:alnum:]_\-\:\.])+\"?))?)+)
+ MACROSTR	(-D{OPTWS}([[:alpha:]_]([[:alnum:]_\-\.])*)=([[:alnum:]_\-\.])+)
+ SLASHIFYSTR	(--(no-)?slashify-colons)
+ NUMBER		[0-9]+
diff --git a/SOURCES/autofs-5.1.3-handle-additional-nfs-versions-in-mount_nfs_c.patch b/SOURCES/autofs-5.1.3-handle-additional-nfs-versions-in-mount_nfs_c.patch
new file mode 100644
index 0000000..37508a7
--- /dev/null
+++ b/SOURCES/autofs-5.1.3-handle-additional-nfs-versions-in-mount_nfs_c.patch
@@ -0,0 +1,40 @@
+autofs-5.1.3 - handle additional nfs versions in mount_nfs.c
+
+From: Ian Kent <raven@themaw.net>
+
+Since NFSv4 can now have a subversion it needs to be allowed for.
+
+It's enough to check for an options string starting with "vers=4" or
+"nfsvers=4" because it's used only to set a flag used for special
+casing the availibility probe for any NFS version 4 version.
+
+Signed-off-by: Ian Kent <raven@themaw.net>
+---
+ CHANGELOG           |    1 +
+ modules/mount_nfs.c |    5 +++--
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+--- autofs-5.0.7.orig/CHANGELOG
++++ autofs-5.0.7/CHANGELOG
+@@ -253,6 +253,7 @@
+ - fix unset tsd group name handling.
+ - revert fix argc off by one in mount_autofs.c.
+ - allow dot in OPTIONSTR value lexer pattern.
++- handle additional nfs versions in mount_nfs.c.
+ 
+ 25/07/2012 autofs-5.0.7
+ =======================
+--- autofs-5.0.7.orig/modules/mount_nfs.c
++++ autofs-5.0.7/modules/mount_nfs.c
+@@ -148,8 +148,9 @@ int mount_mount(struct autofs_point *ap,
+ 			} else if (_strncmp("use-weight-only", cp, o_len) == 0) {
+ 				flags |= MOUNT_FLAG_USE_WEIGHT_ONLY;
+ 			} else {
+-				if (_strncmp("vers=4", cp, o_len) == 0 ||
+-				    _strncmp("nfsvers=4", cp, o_len) == 0)
++				/* Is any version of NFSv4 in the options */
++				if (_strncmp("vers=4", cp, 6) == 0 ||
++				    _strncmp("nfsvers=4", cp, 9) == 0)
+ 					vers = NFS4_VERS_MASK | TCP_SUPPORTED;
+ 				else if (_strncmp("vers=3", cp, o_len) == 0 ||
+ 					 _strncmp("nfsvers=3", cp, o_len) == 0) {
diff --git a/SOURCES/autofs-5.1.3-reset-master-map-list-on-startup-retry.patch b/SOURCES/autofs-5.1.3-reset-master-map-list-on-startup-retry.patch
new file mode 100644
index 0000000..d2c17f5
--- /dev/null
+++ b/SOURCES/autofs-5.1.3-reset-master-map-list-on-startup-retry.patch
@@ -0,0 +1,76 @@
+autofs-5.1.3 - reset master map list on startup retry
+
+From: Ian Kent <raven@themaw.net>
+
+On autofs startup if automount thinks the master map read failed
+for some reason it retries the read after waiting for a fairly
+short delay.
+
+It should be ok to retry with the entries seen so far but there
+may be cases where that causes problems so release any existing
+master map entries before retrying.
+
+Signed-off-by: Ian Kent <raven@themaw.net>
+---
+ CHANGELOG          |    1 +
+ daemon/automount.c |   25 +++++++++++++++++++++++++
+ 2 files changed, 26 insertions(+)
+
+--- autofs-5.0.7.orig/CHANGELOG
++++ autofs-5.0.7/CHANGELOG
+@@ -254,6 +254,7 @@
+ - revert fix argc off by one in mount_autofs.c.
+ - allow dot in OPTIONSTR value lexer pattern.
+ - handle additional nfs versions in mount_nfs.c.
++- reset master map list on startup retry.
+ 
+ 25/07/2012 autofs-5.0.7
+ =======================
+--- autofs-5.0.7.orig/daemon/automount.c
++++ autofs-5.0.7/daemon/automount.c
+@@ -2099,6 +2099,27 @@ static void remove_empty_args(char **arg
+ 	*argc = j;
+ }
+ 
++static void do_master_list_reset(struct master *master)
++{
++	struct list_head *head, *p;
++
++	master_mutex_lock();
++
++	head = &master->mounts;
++	list_for_each(p, head) {
++		struct master_mapent *entry;
++
++		entry = list_entry(p, struct master_mapent, list);
++
++		if (!list_empty(&entry->list))
++			list_del(&entry->list);
++		master_free_mapent_sources(entry, 1);
++		master_free_mapent(entry);
++	}
++
++	master_mutex_unlock();
++}
++
+ static int do_master_read_master(struct master *master, int wait)
+ {
+ 	sigset_t signalset;
+@@ -2118,6 +2139,8 @@ static int do_master_read_master(struct
+ 	while (1) {
+ 		struct timespec t = { retry_wait, 0 };
+ 
++		do_master_list_reset(master);
++
+ 		age = time(NULL);
+ 		if (master_read_master(master, age, 0)) {
+ 			ret = 1;
+@@ -2586,6 +2609,8 @@ int main(int argc, char *argv[])
+ 			 * Failed to read master map, continue with what
+ 			 * we have anyway.
+ 			 */
++			do_master_list_reset(master_list);
++			age = time(NULL);
+ 			master_read_master(master_list, age, 1);
+ 		}
+ 	}
diff --git a/SOURCES/autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_autofs_c.patch b/SOURCES/autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_autofs_c.patch
new file mode 100644
index 0000000..b5049a4
--- /dev/null
+++ b/SOURCES/autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_autofs_c.patch
@@ -0,0 +1,58 @@
+autofs-5.1.3 - revert fix argc off by one in mount_autofs.c
+
+From: Ian Kent <raven@themaw.net>
+
+Commit 6a44f715cf to fix an off by one error in the arguments calculation
+when mounting an autofs submount actually introduced an off by one error
+instead of fixing one.
+
+Revert the change.
+
+Signed-off-by: Ian Kent <raven@themaw.net>
+---
+ CHANGELOG              |    1 +
+ modules/mount_autofs.c |    8 ++++----
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+--- autofs-5.0.7.orig/CHANGELOG
++++ autofs-5.0.7/CHANGELOG
+@@ -251,6 +251,7 @@
+ - limit getgrgid_r() buffer size.
+ - add congigure option for limiting getgrgid_r() stack usage.
+ - fix unset tsd group name handling.
++- revert fix argc off by one in mount_autofs.c.
+ 
+ 25/07/2012 autofs-5.0.7
+ =======================
+--- autofs-5.0.7.orig/modules/mount_autofs.c
++++ autofs-5.0.7/modules/mount_autofs.c
+@@ -181,11 +181,11 @@ int mount_mount(struct autofs_point *ap,
+ 
+ 	if (options) {
+ 		char *t = options;
+-		while ((t = strchr(t, ',')) != NULL) {
++		do {
+ 			argc++;
+ 			if (*t == ',')
+ 				t++;
+-		}
++		} while ((t = strchr(t, ',')) != NULL);
+ 	}
+ 	argv = (const char **) alloca((argc + 1) * sizeof(char *));
+ 
+@@ -213,13 +213,13 @@ int mount_mount(struct autofs_point *ap,
+ 
+ 	if (options) {
+ 		p = options;
+-		while ((p = strchr(p, ',')) != NULL) {
++		do {
+ 			if (*p == ',') {
+ 				*p = '\0';
+ 				p++;
+ 			}
+ 			argv[argc++] = p;
+-		}
++		} while ((p = strchr(p, ',')) != NULL);
+ 	}
+ 	argv[argc] = NULL;
+ 
diff --git a/SPECS/autofs.spec b/SPECS/autofs.spec
index 47c02bb..776262f 100644
--- a/SPECS/autofs.spec
+++ b/SPECS/autofs.spec
@@ -8,7 +8,7 @@
 Summary: A tool for automatically mounting and unmounting filesystems
 Name: autofs
 Version: 5.0.7
-Release: 69%{?dist}
+Release: 70%{?dist}.1
 Epoch: 1
 License: GPLv2+
 Group: System Environment/Daemons
@@ -406,6 +406,12 @@ Patch790: autofs-5.1.2-limit-getgrgid_r-buffer-size.patch
 Patch791: autofs-5.1.2-add-congigure-option-for-limiting-getgrgid_r-stack-usage.patch
 Patch792: autofs-5.1.3-fix-unset-tsd-group-name-handling.patch
 
+Patch793: autofs-5.1.3-revert-fix-argc-off-by-one-in-mount_autofs_c.patch
+Patch794: autofs-5.1.3-allow-dot-in-OPTIONSTR-value-lexer-pattern.patch
+Patch795: autofs-5.1.3-handle-additional-nfs-versions-in-mount_nfs_c.patch
+
+Patch800: autofs-5.1.3-reset-master-map-list-on-startup-retry.patch
+
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 %if %{with_systemd}
 BuildRequires: systemd-units
@@ -849,6 +855,12 @@ echo %{version}-%{release} > .version
 %patch791 -p1
 %patch792 -p1
 
+%patch793 -p1
+%patch794 -p1
+%patch795 -p1
+
+%patch800 -p1
+
 %build
 LDFLAGS=-Wl,-z,now
 %configure --disable-mount-locking \
@@ -945,6 +957,21 @@ fi
 %dir /etc/auto.master.d
 
 %changelog
+* Thu Oct 19 2017 Ian Kent <ikent@redhat.com> - 5.0.7-70.el7_4.1
+- bz1515311 - Automount cannot access host shares after a reboot [rhel-7.4.z]
+  - reset master map list on startup retry.
+- Resolves: rhbz#1515311
+
+* Thu Oct 19 2017 Ian Kent <ikent@redhat.com> - 5.0.7-70.el7_4
+- bz1503945 - autofs option parsing for maps with fstype=autofs no longer
+  works [rhel-7.4.z]
+  - revert fix argc off by one in mount_autofs.c.
+- bz1503946 - autofs map entry options field does not accept dot character
+  [rhel-7.4.z]
+  - allow dot in OPTIONSTR value lexer pattern.
+  - handle additional nfs versions in mount_nfs.c.
+- Resolves: rhbz#1503945 rhbz#1503946
+
 * Fri Jun 2 2017 Ian Kent <ikent@redhat.com> - 5.0.7-69
 - bz1435736 - autofs fails with kernel: automount[3386]:
     segfault at 7f3fb7595ca8 ip 00007f3fb61e353a sp 00007f3fb7595cb0