File pam_mount-0.47-fix-replace-options.dif of Package pam_mount

--- src/mount.c
+++ src/mount.c	2008/10/13 14:19:40
@@ -785,6 +785,7 @@
 {
 	const struct HXdeque_node *n;
 	struct HXdeque *argv;
+	struct HXdeque *argv2;
 	hmc_t *ll_password = NULL;
 	int child_exit = 0, cstdin = -1, cstderr = -1;
 	const char *mount_user;
@@ -847,13 +848,20 @@
 
 	if ((argv = HXdeque_init()) == NULL)
 		misc_log("malloc: %s\n", strerror(errno));
+	if ((argv2 = HXdeque_init()) == NULL)
+		misc_log("malloc: %s\n", strerror(errno));
 	if (vpt->uses_ssh)
 		for (n = config->command[CMD_FD0SSH]->first;
 		     n != NULL; n = n->next)
 			arglist_add(argv, n->ptr, vinfo);
 
 	for (n = config->command[vpt->type]->first; n != NULL; n = n->next)
-		arglist_add(argv, n->ptr, vinfo);
+		arglist_add(argv2, n->ptr, vinfo);
+        /* 
+	 * do a replacement a second time to catch also variables
+	 * specified in the options of a volume
+	 */
+        argv = arglist_build(argv2, vinfo);
 
 	if (vpt->type == CMD_LCLMOUNT &&
 	    !check_filesystem(config, vpt, vinfo, ll_password))
openSUSE Build Service is sponsored by