svn commit: samba r4964 - branches/SAMBA_3_0/source/passdb
trunk/source/passdb
gd at samba.org
gd at samba.org
Mon Jan 24 17:29:12 GMT 2005
Author: gd
Date: 2005-01-24 17:29:12 +0000 (Mon, 24 Jan 2005)
New Revision: 4964
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4964
Log:
Fix our lsa lookupsid $OURDOMAINSID-500.
Give the admin-user (rid 500) a chance to be found in passdb, not
returning the (possibly obscure) first entry of "admin users" before
that.
Guenther
Modified:
branches/SAMBA_3_0/source/passdb/passdb.c
trunk/source/passdb/passdb.c
Changeset:
Modified: branches/SAMBA_3_0/source/passdb/passdb.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/passdb.c 2005-01-24 16:30:46 UTC (rev 4963)
+++ branches/SAMBA_3_0/source/passdb/passdb.c 2005-01-24 17:29:12 UTC (rev 4964)
@@ -759,24 +759,11 @@
DEBUG(5,("local_lookup_sid: looking up RID %u.\n", (unsigned int)rid));
- if (rid == DOMAIN_USER_RID_ADMIN) {
- const char **admin_list = lp_admin_users(-1);
- *psid_name_use = SID_NAME_USER;
- if (admin_list) {
- const char *p = *admin_list;
- if(!next_token(&p, name, NULL, sizeof(fstring)))
- fstrcpy(name, "Administrator");
- } else {
- fstrcpy(name, "Administrator");
- }
- return True;
- }
+ /* see if the passdb can help us with the name of the user */
if (!NT_STATUS_IS_OK(pdb_init_sam(&sam_account))) {
return False;
}
-
- /* see if the passdb can help us with the name of the user */
/* BEING ROOT BLLOCK */
become_root();
@@ -807,6 +794,20 @@
return True;
}
+ if (rid == DOMAIN_USER_RID_ADMIN) {
+ const char **admin_list = lp_admin_users(-1);
+ *psid_name_use = SID_NAME_USER;
+ if (admin_list) {
+ const char *p = *admin_list;
+ if(!next_token(&p, name, NULL, sizeof(fstring))) {
+ fstrcpy(name, "Administrator");
+ }
+ } else {
+ fstrcpy(name, "Administrator");
+ }
+ return True;
+ }
+
if (algorithmic_pdb_rid_is_user(rid)) {
uid_t uid;
struct passwd *pw = NULL;
Modified: trunk/source/passdb/passdb.c
===================================================================
--- trunk/source/passdb/passdb.c 2005-01-24 16:30:46 UTC (rev 4963)
+++ trunk/source/passdb/passdb.c 2005-01-24 17:29:12 UTC (rev 4964)
@@ -771,24 +771,11 @@
DEBUG(5,("local_lookup_sid: looking up RID %u.\n", (unsigned int)rid));
- if (rid == DOMAIN_USER_RID_ADMIN) {
- const char **admin_list = lp_admin_users(-1);
- *psid_name_use = SID_NAME_USER;
- if (admin_list) {
- const char *p = *admin_list;
- if(!next_token(&p, name, NULL, sizeof(fstring)))
- fstrcpy(name, "Administrator");
- } else {
- fstrcpy(name, "Administrator");
- }
- return True;
- }
+ /* see if the passdb can help us with the name of the user */
if (!NT_STATUS_IS_OK(pdb_init_sam(&sam_account))) {
return False;
}
-
- /* see if the passdb can help us with the name of the user */
/* BEING ROOT BLLOCK */
become_root();
@@ -819,6 +806,20 @@
return True;
}
+ if (rid == DOMAIN_USER_RID_ADMIN) {
+ const char **admin_list = lp_admin_users(-1);
+ *psid_name_use = SID_NAME_USER;
+ if (admin_list) {
+ const char *p = *admin_list;
+ if(!next_token(&p, name, NULL, sizeof(fstring))) {
+ fstrcpy(name, "Administrator");
+ }
+ } else {
+ fstrcpy(name, "Administrator");
+ }
+ return True;
+ }
+
if (algorithmic_pdb_rid_is_user(rid)) {
uid_t uid;
struct passwd *pw = NULL;
More information about the samba-cvs
mailing list