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>2000-07-26 19:44:58 +0400
committerCorinna Vinschen <corinna@vinschen.de>2000-07-26 19:44:58 +0400
commita246b47b6730317cc3d21d0fa93f0465de7ec8dc (patch)
tree88076952af43c373a2b66b4adf9eaf20dee20c45
parent6e76b010c370ff6d0d2e5b8a60a542827917fcbb (diff)
* security.cc (lookup_name): Search on local machine first if
myself->domain is not empty.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/security.cc17
2 files changed, 22 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 74187c329..fe3dcb592 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jul 26 17:43:00 2000 Corinna Vinschen <corinna@vinschen.de>
+
+ * security.cc (lookup_name): Search on local machine first if
+ myself->domain is not empty.
+
2000-07-26 DJ Delorie <dj@cygnus.com>
* fhandler_console.cc (fhandler_console::read): Explicitly set cursor
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc
index 42bf5f2bc..d640ac4a3 100644
--- a/winsup/cygwin/security.cc
+++ b/winsup/cygwin/security.cc
@@ -344,6 +344,23 @@ lookup_name (const char *name, const char *logsrv, PSID ret_sid)
if (! name)
return FALSE;
+ if (*myself->domain)
+ {
+ strcat (strcat (strcpy (domuser, myself->domain), "\\"), name);
+ if (LookupAccountName (NULL, domuser,
+ sid, (sidlen = MAX_SID_LEN, &sidlen),
+ dom, (domlen = MAX_COMPUTERNAME_LENGTH, &domlen),
+ &acc_type)
+ && legal_sid_type (acc_type))
+ goto got_it;
+ if (logsrv && *logsrv
+ && LookupAccountName (logsrv, domuser,
+ sid, (sidlen = MAX_SID_LEN, &sidlen),
+ dom, (domlen = MAX_COMPUTERNAME_LENGTH,&domlen),
+ &acc_type)
+ && legal_sid_type (acc_type))
+ goto got_it;
+ }
if (logsrv && *logsrv)
{
if (LookupAccountName (logsrv, name,