From 18c203fb6ebef6e363bb8633fe1673bf2b728e02 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 22 Feb 2019 11:04:34 +0100 Subject: [PATCH] Cygwin: passwd/group: drop fetching case-correct group names from LDAP Commit 4e34a39b5cdf4c3f889486b7460bea063e579d10 made sure all user and group names are case-correct, but it introduced a hefty performance hit on starting the first Cygwin process. Adding an ldap call for each AD group in a user token takes its toll in bigger AD environments with lots of groups in a user token. Real-life example: 300 groups w/ roundtrip time to the LDAP server of 0.25 secs per call... Signed-off-by: Corinna Vinschen --- winsup/cygwin/uinfo.cc | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc index 53efc2117..bfcce00da 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc @@ -2427,12 +2427,7 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) if (is_domain_account) { - /* Overwrite group name to be sure case is same as in SAM */ - if (is_group() - && cldap->fetch_ad_account (sid, true, domain) - && (val = cldap->get_account_name ())) - wcscpy (name, val); - /* Skip the rest if creating group entries and for non-users. */ + /* Skip this when creating group entries and for non-users. */ if (is_group() || acc_type != SidTypeUser) break; /* On AD machines, use LDAP to fetch domain account infos. */