components/samba/samba30/patches/login_cache.patch
author Jiri Sasek <jurasek@opensolaris.org>
Wed, 25 May 2011 18:33:43 +0200
changeset 264 84a67a54e8fd
permissions -rw-r--r--
7044174 Move samba(s) and its dependencies to Userland. 7025146 Update samba to 3.5.8 (bugfix release) 7011577 Impossible to rename a file on a ZFS filesystem when installing 146364-01 (Samba 3.5.5) 7011579 Request to add shadow_copy2 in the next Samba patch or Solaris Samba package 7013885 User cannot delete a file on a share-se_access_check algorithmreturns access (2) denied 7010973 GPLv3 licensing issue with pkg:/library/samba/libsmbclient 7031097 Mozilla LDAP C-SDK (project private library for Samba) should be moved to Userland prior of Samba.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
264
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     1
--- samba-3.0.37/source/passdb/login_cache.c	Thu Mar 11 04:54:39 2010
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     2
+++ samba-3.0.37-new/source/passdb/login_cache.c	Wed Mar 17 04:37:18 2010
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     3
@@ -68,6 +68,7 @@
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     4
 {
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     5
 	TDB_DATA keybuf, databuf;
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     6
 	LOGIN_CACHE *entry;
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     7
+	uint16_t acct_ctrl;
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     8
 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
     9
 	if (!login_cache_init())
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    10
 		return NULL;
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    11
@@ -95,7 +96,7 @@
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    12
 	}
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    13
 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    14
 	if (tdb_unpack (databuf.dptr, databuf.dsize, SAM_CACHE_FORMAT,
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    15
-			&entry->entry_timestamp, &entry->acct_ctrl, 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    16
+			&entry->entry_timestamp, &acct_ctrl, 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    17
 			&entry->bad_password_count, 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    18
 			&entry->bad_password_time) == -1) {
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    19
 		DEBUG(7, ("No cache entry found\n"));
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    20
@@ -106,6 +107,12 @@
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    21
 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    22
 	SAFE_FREE(databuf.dptr);
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    23
 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    24
+	/*
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    25
+	 * Deal with 32-bit acct_ctrl. In the tdb we only store 16-bit
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    26
+	 * ("w" in SAM_CACHE_FORMAT). Fixes bug 7253.
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    27
+	 */
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    28
+	entry->acct_ctrl = acct_ctrl;
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    29
+
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    30
 	DEBUG(5, ("Found login cache entry: timestamp %12u, flags 0x%x, count %d, time %12u\n",
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    31
 		  (unsigned int)entry->entry_timestamp, entry->acct_ctrl, 
84a67a54e8fd 7044174 Move samba(s) and its dependencies to Userland.
Jiri Sasek <jurasek@opensolaris.org>
parents:
diff changeset
    32
 		  entry->bad_password_count, (unsigned int)entry->bad_password_time));