r1918: revert the passdb.c change; fix typos in release notes; add guenther's fix...
authorGerald Carter <jerry@samba.org>
Thu, 19 Aug 2004 13:07:49 +0000 (13:07 +0000)
committerGerald Carter <jerry@samba.org>
Thu, 19 Aug 2004 13:07:49 +0000 (13:07 +0000)
WHATSNEW.txt
source/nsswitch/winbindd_pam.c
source/passdb/passdb.c

index 45f47c12c309d2415249d46e6ab88e23995b9e9e..8aea1b6bd31113e0241a559083418153e32758c6 100644 (file)
@@ -1,6 +1,6 @@
                   =============================
                   Release Notes for Samba 3.0.6
-                            Aug 18, 2004
+                            Aug 19, 2004
                   =============================
 
 This is the latest stable release of Samba. This is the version
@@ -52,7 +52,7 @@ New features introduced in this release include:
 unix extensions = yes (default) and symlinks
 --------------------------------------------
 
-Beginning with Samba 3.0.6pre1 (formally known as 3.0.5pre1), 
+Beginning with Samba 3.0.6pre1 (formerly known as 3.0.5pre1), 
 clients supporting the UNIX extensions to the CIFS protocol 
 can create symlinks to absolute paths which will be **followed** 
 by the server.  This functionality has been requested in order 
@@ -86,7 +86,7 @@ following attributes from access by non-administrative users:
    * sambaPasswordHistory
 
 You should refer to your directory server's documentation on how 
-to implement this restriction).
+to implement this restriction.
   
 
 ######################################################################
@@ -115,17 +115,19 @@ o   Gerald (Jerry) Carter <jerry@samba.org>
     * Tighten the cache consistency with the ntprinters.tdb entry 
       an the in memory cache associated with open printer handles.
     * Make sure that register_messages_flags() doesn't overwrite 
-      the originally registers flags.
+      the originally registered flags.
+
+
+o   Guenther Deschner <gd@sernet.de>
+    * Correct infinite loop in pam_winbind's verification of 
+      group membership in the 'other sids' field in the user_info3 
+      struct.
 
 
 o   Steve French <sfrench@us.ibm.com>
     * prevent infinite recusion in reopen_logs() when expanding 
       the smb.conf variable %I.
       
-o   Luke Howard <lukeh@padl.com>
-    * Correctly use uid_to_sid() and gid_to_sid() in 
-      pdb_set_sam_sids().
-
 
 o   Volker Lendecke <vl@samba.org>
     * Improved NT->AFS ACL mapping VFS module.
@@ -138,12 +140,12 @@ o   Lars Mueller <lmuelle@suse.de>
 o   James Peach <jpeach@sgi.com>
     * Prevent smbd from attempting to use sendfile at all if it is not
       supported by the server's OS.
-    * Allow SWAT to search for index.html when searving html files 
+    * Allow SWAT to search for index.html when serving html files 
       in a directory.
 
 
 o   Jelmer Vernooij <jelmer@samba.org>
-    * BUG 1474: Fix build of --with-expsma stuff on Solaris.
+    * BUG 1474: Fix build of --with-expsam stuff on Solaris.
 
 
 Changes since 3.0.5
index 81d4e69ccd6b819175e6fd60d3fa6e7c966b2bb6..03947de8750e6da93193e6ed5574edb6ac58801d 100644 (file)
@@ -123,7 +123,7 @@ static NTSTATUS check_info3_in_group(TALLOC_CTX *mem_ctx,
            http://www.microsoft.com/windows2000/techinfo/administration/security/sidfilter.asp
          */
 
-       for (i = 0; i < info3->num_other_sids; j++) {
+       for (i = 0; i < info3->num_other_sids; i++) {
                sid_copy(&all_sids[info3->num_groups2 + i + 2],
                         &info3->other_sids[j].sid);
                j++;
index 14c8c67aa3cd8a0db53c94fbc13ba45e3145448f..743978919b6d072c010a57e66c44e4c08514a9d7 100644 (file)
@@ -190,9 +190,7 @@ static NTSTATUS pdb_set_sam_sids(SAM_ACCOUNT *account_data, const struct passwd
        const char *guest_account = lp_guestaccount();
        GROUP_MAP map;
        BOOL ret;
-       DOM_SID user_sid;
-       DOM_SID group_sid;
-
+       
        if (!account_data || !pwd) {
                return NT_STATUS_INVALID_PARAMETER;
        }
@@ -200,7 +198,7 @@ static NTSTATUS pdb_set_sam_sids(SAM_ACCOUNT *account_data, const struct passwd
        /* this is a hack this thing should not be set
           this way --SSS */
        if (!(guest_account && *guest_account)) {
-               DEBUG(1, ("pdb_set_sam_sids: NULL guest account!?!?\n"));
+               DEBUG(1, ("NULL guest account!?!?\n"));
                return NT_STATUS_UNSUCCESSFUL;
        } else {
                /* Ensure this *must* be set right */
@@ -215,13 +213,8 @@ static NTSTATUS pdb_set_sam_sids(SAM_ACCOUNT *account_data, const struct passwd
                }
        }
 
-       if (NT_STATUS_IS_OK(uid_to_sid(&user_sid, pwd->pw_uid))) {
-               if (!pdb_set_user_sid(account_data, &user_sid, PDB_SET)) {
-                       DEBUG(0,("pdb_set_sam_sids: Can't set User SID from mapped UID\n"));
-                       return NT_STATUS_INVALID_PARAMETER;
-               }
-       } else if (!pdb_set_user_sid_from_rid(account_data, algorithmic_pdb_uid_to_user_rid(pwd->pw_uid), PDB_SET)) {
-               DEBUG(0,("pdb_set_sam_sids: Can't set User SID from RID!\n"));
+       if (!pdb_set_user_sid_from_rid(account_data, algorithmic_pdb_uid_to_user_rid(pwd->pw_uid), PDB_SET)) {
+               DEBUG(0,("Can't set User SID from RID!\n"));
                return NT_STATUS_INVALID_PARAMETER;
        }
        
@@ -232,18 +225,13 @@ static NTSTATUS pdb_set_sam_sids(SAM_ACCOUNT *account_data, const struct passwd
        
        if( ret ) {
                if (!pdb_set_group_sid(account_data, &map.sid, PDB_SET)){
-                       DEBUG(0,("pdb_set_sam_sids: Can't set Group SID!\n"));
+                       DEBUG(0,("Can't set Group SID!\n"));
                        return NT_STATUS_INVALID_PARAMETER;
                }
        } 
        else {
-               if (NT_STATUS_IS_OK(gid_to_sid(&group_sid, pwd->pw_gid))) {
-                       if (!pdb_set_group_sid(account_data, &group_sid, PDB_SET)) {
-                               DEBUG(0,("pdb_set_sam_sids: Can't set Group SID from mapped GID\n"));
-                               return NT_STATUS_INVALID_PARAMETER;
-                       }
-               } else if (!pdb_set_group_sid_from_rid(account_data, pdb_gid_to_group_rid(pwd->pw_gid), PDB_SET)) {
-                       DEBUG(0,("pdb_set_sam_sids: Can't set Group SID\n"));
+               if (!pdb_set_group_sid_from_rid(account_data, pdb_gid_to_group_rid(pwd->pw_gid), PDB_SET)) {
+                       DEBUG(0,("Can't set Group SID\n"));
                        return NT_STATUS_INVALID_PARAMETER;
                }
        }