idmap_nss: Increase debug on failures
authorSamuel Cabrero <scabrero@samba.org>
Wed, 29 Nov 2023 11:55:13 +0000 (12:55 +0100)
committerSamuel Cabrero <scabrero@samba.org>
Wed, 13 Dec 2023 15:07:38 +0000 (15:07 +0000)
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
source3/winbindd/idmap_nss.c

index 642d5141784741a4930c1a37c1475c6535bb7406..8d2b23b4165c20b76f2ca21a2bc08bdb88cf4b75 100644 (file)
@@ -62,24 +62,36 @@ static NTSTATUS idmap_nss_unixids_to_sids(struct idmap_domain *dom, struct id_ma
 
                switch (ids[i]->xid.type) {
                case ID_TYPE_UID:
+                       errno = 0;
                        pw = getpwuid((uid_t)ids[i]->xid.id);
-
                        if (!pw) {
+                               DBG_DEBUG("getpwuid(%lu) failed: %s\n",
+                                         (unsigned long)ids[i]->xid.id,
+                                         errno != 0
+                                         ? strerror(errno)
+                                         : "not found");
                                ids[i]->status = ID_UNMAPPED;
                                continue;
                        }
                        name = pw->pw_name;
                        break;
                case ID_TYPE_GID:
+                       errno = 0;
                        gr = getgrgid((gid_t)ids[i]->xid.id);
-
                        if (!gr) {
+                               DBG_DEBUG("getgrgid(%lu) failed: %s\n",
+                                         (unsigned long)ids[i]->xid.id,
+                                         errno != 0
+                                         ? strerror(errno)
+                                         : "not found");
                                ids[i]->status = ID_UNMAPPED;
                                continue;
                        }
                        name = gr->gr_name;
                        break;
                default: /* ?? */
+                       DBG_WARNING("Unexpected xid type %d\n",
+                                   ids[i]->xid.type);
                        ids[i]->status = ID_UNKNOWN;
                        continue;
                }