svn commit: samba r16697 - in branches/SAMBA_3_0_RELEASE: . source/libsmb

jerry at samba.org jerry at samba.org
Thu Jun 29 21:44:49 GMT 2006


Author: jerry
Date: 2006-06-29 21:44:49 +0000 (Thu, 29 Jun 2006)
New Revision: 16697

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

Log:
merge Jeremy's client SMB signing fix and tidy up release notes some more
Modified:
   branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
   branches/SAMBA_3_0_RELEASE/source/libsmb/smb_signing.c


Changeset:
Modified: branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
===================================================================
--- branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2006-06-29 21:30:58 UTC (rev 16696)
+++ branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2006-06-29 21:44:49 UTC (rev 16697)
@@ -3,16 +3,20 @@
                               Jun XX, 2006
                    ==============================
 
+This is the latest stable release of Samba. This is the version
+that production Samba servers should be running for all current
+bug-fixes.  Please read the following important changes in this
+release.
+
 We would like to thank the developers of Klocwork for their 
-analysis of the Samba source tree.  This release includes 
-fixes for over 200 defects reported by the Klocwork code 
-analyzer.
+analysis of the Samba source tree.  This release includes fixes 
+for over 200 defects reported by the Klocwork code analyzer.
 
 Thanks very much to those people who spent time testing the 
 release candidates and reported their findings.  We would 
-like to especially thank Thomas Bork <tombork at web.de> for 
-his numerous reports.  We believe that the final is in much 
-better shape in a large part due to his efforts.
+like to especially thank Thomas Bork <tombork at web.de> for his 
+numerous reports.  We believe that the final is in much better 
+shape in a large part due to his efforts.
 
 
 New features in 3.0.23 include:
@@ -23,10 +27,10 @@
    o New handling of unmapped users and groups. 
    o New non-root share management tools.
    o Improved support for local and BUILTIN groups.
-   o Winbind IDMAP integration with RFC2307 schema objects 
-     supported by Windows 2003 R2.
-   o Rewritten 'net ads join' to mimic Windows XP without 
-     requiring administrative rights to join a domain.
+   o Winbind IDMAP integration with RFC2307 schema objects supported 
+     by Windows 2003 R2.
+   o Rewritten 'net ads join' to mimic Windows XP without requiring 
+     administrative rights to join a domain.
 
 User and Group changes
 ======================
@@ -148,6 +152,7 @@
     * Fix various issues raised by the Klocwork code analyzer.
     * Fix nmbd WINS serving bug causing duplicate IPs in the *<1b> 
       query reply ("enhanced browsing = yes").
+    * Fix SMB signing failures in client tools.
 
 
 o   Nicholas Brealey <nick at brealey.org>

Modified: branches/SAMBA_3_0_RELEASE/source/libsmb/smb_signing.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/libsmb/smb_signing.c	2006-06-29 21:30:58 UTC (rev 16696)
+++ branches/SAMBA_3_0_RELEASE/source/libsmb/smb_signing.c	2006-06-29 21:44:49 UTC (rev 16697)
@@ -332,7 +332,22 @@
 /*	cli->outbuf[smb_ss_field+2]=0; 
 	Uncomment this to test if the remote server actually verifies signatures...*/
 
-	data->send_seq_num += 2;
+	/* Instead of re-introducing the trans_info_conect we
+	   used to have here, we use the fact that during a
+	   SMBtrans/SMBtrans2/SMBnttrans send that the mid stays
+	   constant. This means that calling store_sequence_for_reply()
+	   will return False for all trans secondaries, as the mid is already
+	   on the stored sequence list. As the send_seqence_number must
+	   remain constant for all primary+secondary trans sends, we
+	   only increment the send sequence number when we successfully
+	   add a new entry to the outstanding sequence list. This means
+	   I can isolate the fix here rather than re-adding the trans
+	   signing on/off calls in libsmb/clitrans2.c JRA.
+	 */
+	
+	if (store_sequence_for_reply(&data->outstanding_packet_list, SVAL(outbuf,smb_mid), data->send_seq_num + 1)) {
+		data->send_seq_num += 2;
+	}
 }
 
 /***********************************************************
@@ -356,7 +371,12 @@
 		return False;
 	}
 
-	reply_seq_number = data->send_seq_num - 1;
+	if (!get_sequence_for_reply(&data->outstanding_packet_list, SVAL(inbuf, smb_mid), &reply_seq_number)) {
+		DEBUG(1, ("client_check_incoming_message: received message "
+			"with mid %u with no matching send record.\n", (unsigned int)SVAL(inbuf, smb_mid) ));
+		return False;
+	}
+
 	simple_packet_signature(data, (const unsigned char *)inbuf,
 				reply_seq_number, calc_md5_mac);
 



More information about the samba-cvs mailing list