Hello,

I saw this change to cygwin to ignore S-1-15-3-* SIDs:
https://www.cygwin.com/cgit/newlib-cygwin/commit/?id=271f187b7b59a6645e24e9c36b60ba31f6527556

I think, though, that the current code doesn't completely skip
resolving those never-resolving SIDs.

I'm annoyed by those SIDs because they slow down any 'stat()' syscall,
specially with active directory. Here are strace microsecond times
(500ms):

387924  540348 [main] stat 1327 pwdgrp::fetch_account_from_windows:
LookupAccountSid(S-1-15-3-65536-3323407561-2172269196-3486974656-4132058316-2250862433-3856296919-434318741-3760235072),
Win32 error 1332
186045  726814 [main] stat 1327 pwdgrp::fetch_account_from_windows:
LookupAccountSid(S-1-15-3-65536-3323407561-2172269196-3486974656-4132058316-2250862433-3856296919-434318741-3760235072),
Win32 error 1332

That slows down a lot things like TAB-completion executing, depending on
the latency of the AD connection.

I think that the early part of fetch_account_from_windows should filter
out S-1-15-3-* SIDs as well, instead of asking AD.

What do you think? I never built cygwin and I don't know many of the
implications if I tried to make the change on my own, so I hope someone
aware can, if possible, prepare the patch. It should not be difficult for
the acquainted.

Regards,
Lluís.

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to