2020-09-11 16:24:57

by Srikrishan Malik

[permalink] [raw]
Subject: [PATCH] nfsidmap:umich_ldap return success only if attributes are found in ldap resp.

Return ENOENT if the UID/GID attributes are not found in ldap response.

Signed-off-by: Srikrishan Malik <[email protected]>
---
support/nfsidmap/umich_ldap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/support/nfsidmap/umich_ldap.c b/support/nfsidmap/umich_ldap.c
index c475d379..1aa2af49 100644
--- a/support/nfsidmap/umich_ldap.c
+++ b/support/nfsidmap/umich_ldap.c
@@ -643,6 +643,7 @@ umich_name_to_ids(char *name, int idtype, uid_t *uid, gid_t *gid,
goto out_memfree;
}
*uid = tmp_uid;
+ err = 0;
} else if (strcasecmp(attr_res, ldap_map.NFSv4_gid_attr) == 0) {
tmp_g = strtoul(*idstr, (char **)NULL, 10);
tmp_gid = tmp_g;
@@ -656,6 +657,7 @@ umich_name_to_ids(char *name, int idtype, uid_t *uid, gid_t *gid,
goto out_memfree;
}
*gid = tmp_gid;
+ err = 0;
} else {
IDMAP_LOG(0, ("umich_name_to_ids: received attr "
"'%s' ???", attr_res));
@@ -667,7 +669,6 @@ umich_name_to_ids(char *name, int idtype, uid_t *uid, gid_t *gid,
ldap_value_free(idstr);
}

- err = 0;
out_memfree:
ber_free(ber, 0);
out_unbind:
--
2.26.2


2020-09-18 18:32:32

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH] nfsidmap:umich_ldap return success only if attributes are found in ldap resp.



On 9/11/20 10:22 AM, Srikrishan Malik wrote:
> Return ENOENT if the UID/GID attributes are not found in ldap response.
>
> Signed-off-by: Srikrishan Malik <[email protected]>
Committed... (tag nfs-utils-2-5-2-rc5)

steved.

> ---
> support/nfsidmap/umich_ldap.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/support/nfsidmap/umich_ldap.c b/support/nfsidmap/umich_ldap.c
> index c475d379..1aa2af49 100644
> --- a/support/nfsidmap/umich_ldap.c
> +++ b/support/nfsidmap/umich_ldap.c
> @@ -643,6 +643,7 @@ umich_name_to_ids(char *name, int idtype, uid_t *uid, gid_t *gid,
> goto out_memfree;
> }
> *uid = tmp_uid;
> + err = 0;
> } else if (strcasecmp(attr_res, ldap_map.NFSv4_gid_attr) == 0) {
> tmp_g = strtoul(*idstr, (char **)NULL, 10);
> tmp_gid = tmp_g;
> @@ -656,6 +657,7 @@ umich_name_to_ids(char *name, int idtype, uid_t *uid, gid_t *gid,
> goto out_memfree;
> }
> *gid = tmp_gid;
> + err = 0;
> } else {
> IDMAP_LOG(0, ("umich_name_to_ids: received attr "
> "'%s' ???", attr_res));
> @@ -667,7 +669,6 @@ umich_name_to_ids(char *name, int idtype, uid_t *uid, gid_t *gid,
> ldap_value_free(idstr);
> }
>
> - err = 0;
> out_memfree:
> ber_free(ber, 0);
> out_unbind:
>