Author: vlendec
Date: 2005-11-28 20:42:18 +0000 (Mon, 28 Nov 2005)
New Revision: 11947

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=11947

Log:
Back out passdb:expand_explicit until we find consensus. I'll file this as a
bugzilla entry.

Volker

Modified:
   branches/SAMBA_3_0/source/passdb/passdb.c
   branches/SAMBA_3_0/source/passdb/pdb_ldap.c
   trunk/source/passdb/passdb.c
   trunk/source/passdb/pdb_ldap.c


Changeset:
Modified: branches/SAMBA_3_0/source/passdb/passdb.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/passdb.c   2005-11-28 20:14:09 UTC (rev 
11946)
+++ branches/SAMBA_3_0/source/passdb/passdb.c   2005-11-28 20:42:18 UTC (rev 
11947)
@@ -1751,8 +1751,6 @@
        uint32 pwHistLen = 0;
        BOOL ret = True;
        fstring tmpstring;
-       BOOL expand_explicit = lp_parm_bool(-1, "passdb", "expand_explicit",
-                                           False);
        
        if(sampass == NULL || buf == NULL) {
                DEBUG(0, ("init_sam_from_buffer_v2: NULL parameters found!\n"));
@@ -1817,10 +1815,7 @@
 
        if (homedir) {
                fstrcpy( tmpstring, homedir );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_homedir(sampass, tmpstring, PDB_SET);
        }
        else {
@@ -1836,10 +1831,7 @@
 
        if (logon_script) {
                fstrcpy( tmpstring, logon_script );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_logon_script(sampass, tmpstring, PDB_SET);
        }
        else {
@@ -1850,10 +1842,7 @@
        
        if (profile_path) {     
                fstrcpy( tmpstring, profile_path );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_profile_path(sampass, tmpstring, PDB_SET);
        } 
        else {

Modified: branches/SAMBA_3_0/source/passdb/pdb_ldap.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/pdb_ldap.c 2005-11-28 20:14:09 UTC (rev 
11946)
+++ branches/SAMBA_3_0/source/passdb/pdb_ldap.c 2005-11-28 20:42:18 UTC (rev 
11947)
@@ -604,8 +604,6 @@
        LOGIN_CACHE     *cache_entry = NULL;
        uint32          pwHistLen;
        pstring         tmpstring;
-       BOOL expand_explicit = lp_parm_bool(-1, "passdb", "expand_explicit",
-                                           False);
 
        /*
         * do a little initialization
@@ -778,10 +776,7 @@
                        PDB_DEFAULT );
        } else {
                pstrcpy( tmpstring, homedir );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_homedir(sampass, tmpstring, PDB_SET);
        }
 
@@ -793,10 +788,7 @@
                        PDB_DEFAULT );
        } else {
                pstrcpy( tmpstring, logon_script );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_logon_script(sampass, tmpstring, PDB_SET);
        }
 
@@ -808,10 +800,7 @@
                        PDB_DEFAULT );
        } else {
                pstrcpy( tmpstring, profile_path );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_profile_path(sampass, tmpstring, PDB_SET);
        }
 

Modified: trunk/source/passdb/passdb.c
===================================================================
--- trunk/source/passdb/passdb.c        2005-11-28 20:14:09 UTC (rev 11946)
+++ trunk/source/passdb/passdb.c        2005-11-28 20:42:18 UTC (rev 11947)
@@ -874,11 +874,13 @@
        
        become_root();
        if (pdb_getsampwnam(sam_account, user)) {
+               uint16 acct;
                const DOM_SID *user_sid;
 
                unbecome_root();
 
                user_sid = pdb_get_user_sid(sam_account);
+               acct = pdb_get_acct_ctrl(sam_account);
 
                if (!sid_check_is_in_our_domain(user_sid)) {
                        DEBUG(0, ("User %s with invalid SID %s in passdb\n",
@@ -887,7 +889,13 @@
                }
 
                sid_peek_rid(user_sid, rid);
-               *type = SID_NAME_USER;
+
+               if (acct & (ACB_DOMTRUST|ACB_WSTRUST|ACB_SRVTRUST)) {
+                       /* We need to filter out these in lsa_lookupnames. */
+                       *type = SID_NAME_COMPUTER;
+               } else {
+                       *type = SID_NAME_USER;
+               }
                pdb_free_sam(&sam_account);
                return True;
        }
@@ -1766,8 +1774,6 @@
        uint32 pwHistLen = 0;
        BOOL ret = True;
        fstring tmpstring;
-       BOOL expand_explicit = lp_parm_bool(-1, "passdb", "expand_explicit",
-                                           False);
        
        if(sampass == NULL || buf == NULL) {
                DEBUG(0, ("init_sam_from_buffer_v2: NULL parameters found!\n"));
@@ -1832,10 +1838,7 @@
 
        if (homedir) {
                fstrcpy( tmpstring, homedir );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_homedir(sampass, tmpstring, PDB_SET);
        }
        else {
@@ -1851,10 +1854,7 @@
 
        if (logon_script) {
                fstrcpy( tmpstring, logon_script );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_logon_script(sampass, tmpstring, PDB_SET);
        }
        else {
@@ -1865,10 +1865,7 @@
        
        if (profile_path) {     
                fstrcpy( tmpstring, profile_path );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_profile_path(sampass, tmpstring, PDB_SET);
        } 
        else {

Modified: trunk/source/passdb/pdb_ldap.c
===================================================================
--- trunk/source/passdb/pdb_ldap.c      2005-11-28 20:14:09 UTC (rev 11946)
+++ trunk/source/passdb/pdb_ldap.c      2005-11-28 20:42:18 UTC (rev 11947)
@@ -604,8 +604,6 @@
        LOGIN_CACHE     *cache_entry = NULL;
        uint32          pwHistLen;
        pstring         tmpstring;
-       BOOL expand_explicit = lp_parm_bool(-1, "passdb", "expand_explicit",
-                                           False);
 
        /*
         * do a little initialization
@@ -778,10 +776,7 @@
                        PDB_DEFAULT );
        } else {
                pstrcpy( tmpstring, homedir );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_homedir(sampass, tmpstring, PDB_SET);
        }
 
@@ -793,10 +788,7 @@
                        PDB_DEFAULT );
        } else {
                pstrcpy( tmpstring, logon_script );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_logon_script(sampass, tmpstring, PDB_SET);
        }
 
@@ -808,10 +800,7 @@
                        PDB_DEFAULT );
        } else {
                pstrcpy( tmpstring, profile_path );
-               if (expand_explicit) {
-                       standard_sub_basic( username, tmpstring,
-                                           sizeof(tmpstring) );
-               }
+               standard_sub_basic( username, tmpstring, sizeof(tmpstring) );
                pdb_set_profile_path(sampass, tmpstring, PDB_SET);
        }
 

Reply via email to