diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2019-02-22 13:04:34 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2019-02-22 23:58:51 +0300 |
commit | 18c203fb6ebef6e363bb8633fe1673bf2b728e02 (patch) | |
tree | f82b6dd7d4ea6c86c90bdcd084d4edce94528d88 | |
parent | 5fcbbf7ead615c116f8e08047093232b1325faf4 (diff) |
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 <corinna@vinschen.de>
-rw-r--r-- | winsup/cygwin/uinfo.cc | 7 |
1 files changed, 1 insertions, 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. */ |