svn commit: samba r21980 - in branches/SAMBA_3_0/source/smbd: .

metze at samba.org metze at samba.org
Tue Mar 27 10:20:52 GMT 2007


Author: metze
Date: 2007-03-27 10:20:50 +0000 (Tue, 27 Mar 2007)
New Revision: 21980

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

Log:
make use of tdb_*_bystring() and string_term_tdb_data() in smbd/
to avoid creating the TDB_DATA struct from strings "by hand"

metze
Modified:
   branches/SAMBA_3_0/source/smbd/mangle_hash.c
   branches/SAMBA_3_0/source/smbd/session.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/mangle_hash.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/mangle_hash.c	2007-03-27 10:15:45 UTC (rev 21979)
+++ branches/SAMBA_3_0/source/smbd/mangle_hash.c	2007-03-27 10:20:50 UTC (rev 21980)
@@ -437,8 +437,7 @@
 	}
 
 	/* Allocate a new cache entry.  If the allocation fails, just return. */
-	data_val.dptr = raw_name;
-	data_val.dsize = strlen(raw_name)+1;
+	data_val = string_term_tdb_data(raw_name);
 	if (tdb_store_bystring(tdb_mangled_cache, mangled_name_key, data_val, TDB_REPLACE) != 0) {
 		DEBUG(0,("cache_mangled_name: Error storing entry %s -> %s\n", mangled_name_key, raw_name));
 	} else {

Modified: branches/SAMBA_3_0/source/smbd/session.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/session.c	2007-03-27 10:15:45 UTC (rev 21979)
+++ branches/SAMBA_3_0/source/smbd/session.c	2007-03-27 10:20:50 UTC (rev 21980)
@@ -61,7 +61,6 @@
 	struct in_addr *client_ip;
 	struct sessionid sessionid;
 	uint32 pid = (uint32)sys_getpid();
-	TDB_DATA key;		
 	fstring keystr;
 	char * hostname;
 	int tdb_store_flag;  /* If using utmp, we do an inital 'lock hold' store,
@@ -87,10 +86,8 @@
 	if (lp_utmp()) {
 		for (i=1;i<MAX_SESSION_ID;i++) {
 			slprintf(keystr, sizeof(keystr)-1, "ID/%d", i);
-			key.dptr = keystr;
-			key.dsize = strlen(keystr)+1;
 			
-			if (tdb_store(tdb, key, data, TDB_INSERT) == 0) break;
+			if (tdb_store_bystring(tdb, keystr, data, TDB_INSERT) == 0) break;
 		}
 		
 		if (i == MAX_SESSION_ID) {
@@ -108,10 +105,6 @@
 		slprintf(sessionid.id_str, sizeof(sessionid.id_str)-1, 
 			 SESSION_TEMPLATE, (long unsigned int)sys_getpid(), 
 			 vuser->vuid);
-
-		key.dptr = keystr;
-		key.dsize = strlen(keystr)+1;
-			
 		tdb_store_flag = TDB_REPLACE;
 	}
 
@@ -142,14 +135,14 @@
 		DEBUG(1,("pam_session rejected the session for %s [%s]\n",
 				sessionid.username, sessionid.id_str));
 		if (tdb_store_flag == TDB_MODIFY) {
-			tdb_delete(tdb, key);
+			tdb_delete_bystring(tdb, keystr);
 		}
 		return False;
 	}
 
 	data.dptr = (char *)&sessionid;
 	data.dsize = sizeof(sessionid);
-	if (tdb_store(tdb, key, data, tdb_store_flag) != 0) {
+	if (tdb_store_bystring(tdb, keystr, data, tdb_store_flag) != 0) {
 		DEBUG(1,("session_claim: unable to create session id record\n"));
 		return False;
 	}
@@ -177,7 +170,6 @@
 	TDB_DATA dbuf;
 	struct sessionid sessionid;
 	struct in_addr *client_ip;
-	TDB_DATA key;
 
 	if (!tdb) return;
 
@@ -185,11 +177,8 @@
 		return;
 	}
 
-	key.dptr = vuser->session_keystr;
-	key.dsize = strlen(vuser->session_keystr)+1;
+	dbuf = tdb_fetch_bystring(tdb, vuser->session_keystr);
 
-	dbuf = tdb_fetch(tdb, key);
-
 	if (dbuf.dsize != sizeof(sessionid))
 		return;
 
@@ -207,7 +196,7 @@
 
 	smb_pam_close_session(sessionid.username, sessionid.id_str, sessionid.hostname);
 
-	tdb_delete(tdb, key);
+	tdb_delete_bystring(tdb, vuser->session_keystr);
 }
 
 /********************************************************************



More information about the samba-cvs mailing list