Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2002-06-06 15:17:51 +0400
committerCorinna Vinschen <corinna@vinschen.de>2002-06-06 15:17:51 +0400
commit2e8abfc1c50f541002610c4473caefee64183f04 (patch)
tree2d7145299c7d2fe24f4d35ca0550f10ac9ccfa28 /winsup/cygwin/uinfo.cc
parentea6a35f68ad06c3e8095312239446255d5e0cedf (diff)
* sec_helper.cc (lookup_name): Suppress.
* security.cc (alloc_sd): Remove logsrv argument. Remove two calls to lookup_name. (set_security_attribute): Remove logsrv argument. Remove logsrv argument in call to alloc_sd. (set_nt_attribute): Remove logsrv argument. Remove logsrv argument in call to set_security_attribute. (set_file_attribute): Remove logsrv argument. Remove logsrv argument in call to set_nt_attribute. (set_file_attribute): Remove logsrv argument. Remove logsrv argument in call to set_file_attribute. * syscalls.cc (chown_worker): Remove logserver argument in call to set_file_attribute. (chmod): Ditto. * shm.cc (shmget): Remove logsrv argument in call to alloc_sd. * uinfo.cc (internal_getlogin): Replace calls to lookup_name by call to LookupAccountName. * security.h: Remove logsrv in declarations of set_file_attribute and alloc_sd. Remove declaration of lookup_name.
Diffstat (limited to 'winsup/cygwin/uinfo.cc')
-rw-r--r--winsup/cygwin/uinfo.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc
index e41a1cbe8..20171c497 100644
--- a/winsup/cygwin/uinfo.cc
+++ b/winsup/cygwin/uinfo.cc
@@ -150,17 +150,19 @@ internal_getlogin (cygheap_user &user)
and a domain user may have the same name. */
if (!ret && user.domain ())
{
+ char domain[DNLEN + 1];
+ DWORD dlen = sizeof (domain);
+ siz = sizeof (tu);
+ SID_NAME_USE use = SidTypeInvalid;
/* Concat DOMAIN\USERNAME for the next lookup */
strcat (strcat (strcpy (buf, user.domain ()), "\\"), user.name ());
- if (!(ret = lookup_name (buf, NULL, user.sid ())))
- debug_printf ("Couldn't retrieve SID locally!");
- }
+ if (!LookupAccountName (NULL, buf, tu, &siz,
+ domain, &dlen, &use) ||
+ !legal_sid_type (use))
+ debug_printf ("Couldn't retrieve SID locally!");
+ else user.set_sid (tu);
- /* If that fails, too, as a last resort try to get the SID from
- the logon server. */
- if (!ret && !(ret = lookup_name (user.name (), user.logsrv (),
- user.sid ())))
- debug_printf ("Couldn't retrieve SID from '%s'!", user.logsrv ());
+ }
/* If we have a SID, try to get the corresponding Cygwin user name
which can be different from the Windows user name. */