https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=18c203fb6ebef6e363bb8633fe1673bf2b728e02

commit 18c203fb6ebef6e363bb8633fe1673bf2b728e02
Author: Corinna Vinschen <[email protected]>
Date:   Fri Feb 22 11:04:34 2019 +0100

    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 <[email protected]>

Diff:
---
 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 53efc21..bfcce00 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. */

Reply via email to