* uinfo.cc (pwdgrp::fetch_account_from_windows): Fix gid evaluation
for local accounts.
This commit is contained in:
parent
3d6a6ba138
commit
91659b43b9
|
@ -1,3 +1,8 @@
|
||||||
|
2014-04-12 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* uinfo.cc (pwdgrp::fetch_account_from_windows): Fix gid evaluation
|
||||||
|
for local accounts.
|
||||||
|
|
||||||
2014-04-10 Corinna Vinschen <corinna@vinschen.de>
|
2014-04-10 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 30.
|
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 30.
|
||||||
|
|
|
@ -1475,13 +1475,13 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap)
|
||||||
if (uid == ILLEGAL_UID)
|
if (uid == ILLEGAL_UID)
|
||||||
uid = posix_offset + sid_sub_auth_rid (sid);
|
uid = posix_offset + sid_sub_auth_rid (sid);
|
||||||
|
|
||||||
if (is_domain_account)
|
/* We only care for extended user information if we're creating a
|
||||||
{
|
passwd entry and the account is a user or alias. */
|
||||||
/* We only care for the extended user information if we're
|
if (is_group () || acc_type == SidTypeGroup)
|
||||||
creating a passwd entry and the account is, in fact, a user. */
|
break;
|
||||||
if (is_group () || acc_type != SidTypeUser)
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
if (acc_type == SidTypeUser)
|
||||||
|
{
|
||||||
/* Default primary group. If the sid is the current user, fetch
|
/* Default primary group. If the sid is the current user, fetch
|
||||||
the default group from the current user token, otherwise make
|
the default group from the current user token, otherwise make
|
||||||
the educated guess that the user is in group "Domain Users"
|
the educated guess that the user is in group "Domain Users"
|
||||||
|
@ -1491,7 +1491,10 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap)
|
||||||
+ sid_sub_auth_rid (cygheap->user.groups.pgsid);
|
+ sid_sub_auth_rid (cygheap->user.groups.pgsid);
|
||||||
else
|
else
|
||||||
gid = posix_offset + DOMAIN_GROUP_RID_USERS;
|
gid = posix_offset + DOMAIN_GROUP_RID_USERS;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_domain_account)
|
||||||
|
{
|
||||||
/* Use LDAP to fetch domain account infos. */
|
/* Use LDAP to fetch domain account infos. */
|
||||||
if (!cldap->open (NULL))
|
if (!cldap->open (NULL))
|
||||||
break;
|
break;
|
||||||
|
@ -1561,7 +1564,7 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap)
|
||||||
/* Set comment variable for below attribute loop. */
|
/* Set comment variable for below attribute loop. */
|
||||||
comment = ui->usri4_comment;
|
comment = ui->usri4_comment;
|
||||||
}
|
}
|
||||||
else if (acc_type == SidTypeAlias)
|
else /* acc_type == SidTypeAlias */
|
||||||
{
|
{
|
||||||
nas = NetLocalGroupGetInfo (NULL, name, 1, (PBYTE *) &gi);
|
nas = NetLocalGroupGetInfo (NULL, name, 1, (PBYTE *) &gi);
|
||||||
if (nas != NERR_Success)
|
if (nas != NERR_Success)
|
||||||
|
@ -1572,8 +1575,6 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap)
|
||||||
/* Set comment variable for below attribute loop. */
|
/* Set comment variable for below attribute loop. */
|
||||||
comment = gi->lgrpi1_comment;
|
comment = gi->lgrpi1_comment;
|
||||||
}
|
}
|
||||||
else /* SidTypeGroup. No way to add a comment to "None" :( */
|
|
||||||
break;
|
|
||||||
/* Local SAM accounts have only a handful attributes
|
/* Local SAM accounts have only a handful attributes
|
||||||
available to home users. Therefore, fetch additional
|
available to home users. Therefore, fetch additional
|
||||||
passwd/group attributes from the "Description" field
|
passwd/group attributes from the "Description" field
|
||||||
|
|
Loading…
Reference in New Issue