1 diff --git a/CHANGELOG b/CHANGELOG
2 index 0fcdfd4..4aa384b 100644
6 - expand support for the "%" hack.
7 - fix to quoting for exports gathered by hosts map.
8 - use mount option "nosuid" for "-hosts" map unless "suid" is explicily specified.
9 +- second attempt fixing quoting for exports gathered by hosts map.
11 18/06/2007 autofs-5.0.2
12 -----------------------
13 diff --git a/modules/lookup_hosts.c b/modules/lookup_hosts.c
14 index 70b13a7..1ef420e 100644
15 --- a/modules/lookup_hosts.c
16 +++ b/modules/lookup_hosts.c
17 @@ -179,14 +179,9 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void *
19 pthread_cleanup_push(cache_lock_cleanup, mc);
20 mapent_len = strlen(me->mapent);
21 - mapent = alloca(mapent_len + 3);
23 - /* Add quotes to keep the parser happy */
25 - strcpy(mapent + 1, me->mapent);
26 - mapent[mapent_len + 1] = '"';
27 - mapent[mapent_len + 2] = '\0';
29 + mapent = alloca(mapent_len + 1);
31 + strcpy(mapent, me->mapent);
32 pthread_cleanup_pop(0);
35 diff --git a/modules/parse_sun.c b/modules/parse_sun.c
36 index 9a97329..a97a7aa 100644
37 --- a/modules/parse_sun.c
38 +++ b/modules/parse_sun.c
39 @@ -878,7 +878,7 @@ static int parse_mapent(const char *ent, char *g_options, char **options, char *
42 if (!validate_location(loc)) {
43 - warn(logopt, MODPREFIX "invalid location");
44 + warn(logopt, MODPREFIX "invalid location %s", loc);
48 @@ -913,7 +913,7 @@ static int parse_mapent(const char *ent, char *g_options, char **options, char *
50 if (!validate_location(ent_chunk)) {
52 - MODPREFIX "invalid location %s", ent);
53 + MODPREFIX "invalid location %s", ent_chunk);
57 @@ -1344,6 +1344,23 @@ int parse_mount(struct autofs_point *ap, const char *name,
62 + * If this is an offset belonging to a multi-mount entry
63 + * it's already been parsed (above) and any option string
64 + * has already been stripped so just use the remainder.
67 + (me = cache_lookup_distinct(mc, name)) && me->multi) {
71 + warn(ap->logopt, MODPREFIX "out of memory");
78 l = chunklen(p, check_colon(p));
79 loc = dequote(p, l, ap->logopt);
81 @@ -1361,9 +1378,9 @@ int parse_mount(struct autofs_point *ap, const char *name,
84 if (!validate_location(loc)) {
85 + warn(ap->logopt, MODPREFIX "invalid location %s", loc);
88 - warn(ap->logopt, MODPREFIX "invalid location");
92 @@ -1387,10 +1404,11 @@ int parse_mount(struct autofs_point *ap, const char *name,
95 if (!validate_location(ent)) {
97 + MODPREFIX "invalid location %s", loc);
101 - warn(ap->logopt, MODPREFIX "invalid location");
105 @@ -1424,7 +1442,7 @@ int parse_mount(struct autofs_point *ap, const char *name,
106 MODPREFIX "entry %s is empty!", name);
112 MODPREFIX "core of entry: options=%s, loc=%.*s",
113 options, loclen, loc);