svn commit: samba r23602 - in branches/SAMBA_3_0_RELEASE: . source/client source/include source/libsmb source/nmbd source/nsswitch source/registry source/rpc_server source/smbd

jerry at samba.org jerry at samba.org
Tue Jun 26 01:14:44 GMT 2007


Author: jerry
Date: 2007-06-26 01:14:37 +0000 (Tue, 26 Jun 2007)
New Revision: 23602

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

Log:
grab final changes for 3.0.25b due out tomorrow
Modified:
   branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
   branches/SAMBA_3_0_RELEASE/source/client/smbmount.c
   branches/SAMBA_3_0_RELEASE/source/client/smbumount.c
   branches/SAMBA_3_0_RELEASE/source/include/includes.h
   branches/SAMBA_3_0_RELEASE/source/libsmb/clikrb5.c
   branches/SAMBA_3_0_RELEASE/source/nmbd/nmbd_winsserver.c
   branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c
   branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_util.c
   branches/SAMBA_3_0_RELEASE/source/registry/reg_eventlog.c
   branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_eventlog_nt.c
   branches/SAMBA_3_0_RELEASE/source/smbd/files.c
   branches/SAMBA_3_0_RELEASE/source/smbd/oplock.c


Changeset:
Modified: branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
===================================================================
--- branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2007-06-26 01:14:37 UTC (rev 23602)
@@ -1,6 +1,6 @@
                    ===============================
                    Release Notes for Samba 3.0.25b
-                             June 20, 2007
+                             June 26, 2007
                    ===============================
 
 This is the third production release of the Samba 3.0.25 code 
@@ -44,17 +44,25 @@
     * Fix sync_file() to return NTSTATUS and return this on failure in
       the write reply path.
     * BUG 4678,4697: Fix token creation for clear text logins.  
+    * BUG 4725: Don't crash when no eventlog names are defined in
+      smb.conf.
+    * Ensure we will always release any timeout handler on fsp close 
+      or removal of oplock.
 
 
 o   Jacob Berkman <jberkman at novell.com>
     * BUG 4566: Pass password data to krb5_prompter.
 
 
+o   Gerald (Jerry) Carter <jerry at samba.org>
+    * BUG 4579: Fix "wbinfo -t" when running winbindd on a Samba DC.
+
+
 o   Guenther Deschner <gd at samba.org>
     * BUG 4657: Fix compilation and linking of pam_smbpass.so.
     * Add more netlogon GetDcName() client calls.
+    * Fix event based krb5 ticket refreshing in winbindd.
 
-
 o   SATOH Fumiyasu <fumiyas at osstech.co.jp>
     * BUG 4720: Fix smbclient connections to share names containing 
       multibyte characters.

Modified: branches/SAMBA_3_0_RELEASE/source/client/smbmount.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/client/smbmount.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/client/smbmount.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -152,7 +152,7 @@
 
 	/* have to open a new connection */
 	if (!(c=cli_initialise()) || (cli_set_port(c, smb_port) != smb_port) ||
-	    !cli_connect(c, server_n, &ip)) {
+	    !NT_STATUS_IS_OK(cli_connect(c, server_n, &ip))) {
 		DEBUG(0,("%d: Connection to %s failed\n", sys_getpid(), server_n));
 		if (c) {
 			cli_shutdown(c);
@@ -669,6 +669,9 @@
 
 	printf("Version %s\n\n",SAMBA_VERSION_STRING);
 
+	printf("Please be aware that smbfs is deprecated in favor of "
+	       "cifs\n\n");
+
 	printf(
 "Options:\n\
       username=<arg>                  SMB username\n\

Modified: branches/SAMBA_3_0_RELEASE/source/client/smbumount.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/client/smbumount.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/client/smbumount.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -32,7 +32,9 @@
 static void
 usage(void)
 {
-        printf("usage: smbumount mountpoint\n");
+        printf("usage: smbumount mountpoint\n\n");
+	printf("Please be aware that smbfs is deprecated in favor of "
+	       "cifs\n");
 }
 
 static int

Modified: branches/SAMBA_3_0_RELEASE/source/include/includes.h
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/include/includes.h	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/include/includes.h	2007-06-26 01:14:37 UTC (rev 23602)
@@ -1182,7 +1182,7 @@
 int cli_krb5_get_ticket(const char *principal, time_t time_offset, 
 			DATA_BLOB *ticket, DATA_BLOB *session_key_krb5, uint32 extra_ap_opts, const char *ccname, time_t *tgs_expire);
 PAC_LOGON_INFO *get_logon_info_from_pac(PAC_DATA *pac_data);
-krb5_error_code smb_krb5_renew_ticket(const char *ccache_string, const char *client_string, const char *service_string, time_t *new_start_time);
+krb5_error_code smb_krb5_renew_ticket(const char *ccache_string, const char *client_string, const char *service_string, time_t *expire_time);
 krb5_error_code kpasswd_err_to_krb5_err(krb5_error_code res_code);
 krb5_error_code smb_krb5_gen_netbios_krb5_address(smb_krb5_addresses **kerb_addr);
 krb5_error_code smb_krb5_free_addresses(krb5_context context, smb_krb5_addresses *addr);

Modified: branches/SAMBA_3_0_RELEASE/source/libsmb/clikrb5.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/libsmb/clikrb5.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/libsmb/clikrb5.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -1095,7 +1095,7 @@
  krb5_error_code smb_krb5_renew_ticket(const char *ccache_string,	/* FILE:/tmp/krb5cc_0 */
 				       const char *client_string,	/* gd at BER.SUSE.DE */
 				       const char *service_string,	/* krbtgt/BER.SUSE.DE at BER.SUSE.DE */
-				       time_t *new_start_time)
+				       time_t *expire_time)
 {
 	krb5_error_code ret;
 	krb5_context context = NULL;
@@ -1150,8 +1150,8 @@
 	
 		ret = krb5_cc_store_cred(context, ccache, &creds);
 
-		if (new_start_time) {
-			*new_start_time = (time_t) creds.times.renew_till;
+		if (expire_time) {
+			*expire_time = (time_t) creds.times.endtime;
 		}
 
 		krb5_free_cred_contents(context, &creds);
@@ -1184,7 +1184,11 @@
 			}
 		} else {
 			/* build tgt service by default */
-			client_realm = krb5_princ_realm(context, client);
+			client_realm = krb5_princ_realm(context, creds_in.client);
+			if (!client_realm) {
+				ret = ENOMEM;
+				goto done;
+			}
 			ret = krb5_make_principal(context, &creds_in.server, *client_realm, KRB5_TGS_NAME, *client_realm, NULL);
 			if (ret) {
 				goto done;
@@ -1208,8 +1212,8 @@
 	
 		ret = krb5_cc_store_cred(context, ccache, creds);
 
-		if (new_start_time) {
-			*new_start_time = (time_t) creds->times.renew_till;
+		if (expire_time) {
+			*expire_time = (time_t) creds->times.endtime;
 		}
 						
 		krb5_free_cred_contents(context, &creds_in);

Modified: branches/SAMBA_3_0_RELEASE/source/nmbd/nmbd_winsserver.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/nmbd/nmbd_winsserver.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/nmbd/nmbd_winsserver.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -2333,6 +2333,7 @@
 		if (tdb_reopen(wins_tdb)) {
 			DEBUG(0,("wins_write_database: tdb_reopen failed. Error was %s\n",
 				strerror(errno)));
+			_exit(0);
 			return;
 		}
 	}

Modified: branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -249,9 +249,7 @@
 	DEBUG(10,("check_domain_online_handler: called for domain %s\n",
 		domain->name ));
 
-	if (domain->check_online_event) {
-		TALLOC_FREE(domain->check_online_event);
-	}
+	TALLOC_FREE(domain->check_online_event);
 
 	/* Are we still in "startup" mode ? */
 
@@ -303,9 +301,7 @@
 	DEBUG(10,("set_domain_offline: called for domain %s\n",
 		domain->name ));
 
-	if (domain->check_online_event) {
-		TALLOC_FREE(domain->check_online_event);
-	}
+	TALLOC_FREE(domain->check_online_event);
 
 	if (domain->internal) {
 		DEBUG(3,("set_domain_offline: domain %s is internal - logic error.\n",
@@ -400,9 +396,7 @@
 
 	/* Ensure we have no online timeout checks. */
 	domain->check_online_timeout = 0;
-	if (domain->check_online_event) {
-		TALLOC_FREE(domain->check_online_event);
-	}
+	TALLOC_FREE(domain->check_online_event);
 
 	/* Ensure we ignore any pending child messages. */
 	message_deregister(MSG_WINBIND_TRY_TO_GO_ONLINE);

Modified: branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_util.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_util.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_util.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -91,6 +91,9 @@
 	if (sid == NULL)
 		return False;
 
+	if ( IS_DC )
+		return sid_check_is_builtin(sid);
+
 	return (sid_check_is_domain(sid) || sid_check_is_builtin(sid));
 }
 
@@ -99,6 +102,9 @@
 	if (sid == NULL)
 		return False;
 
+	if ( IS_DC )
+		return sid_check_is_in_builtin(sid);
+
 	return (sid_check_is_in_our_domain(sid) || sid_check_is_in_builtin(sid));
 }
 

Modified: branches/SAMBA_3_0_RELEASE/source/registry/reg_eventlog.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/registry/reg_eventlog.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/registry/reg_eventlog.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -190,6 +190,10 @@
 	int i;
 	int numsources;
 
+	if (!elogs) {
+		return False;
+	}
+
 	for ( i = 0; elogs[i]; i++ ) {
 		if ( strequal( elogs[i], eventlog ) )
 			break;

Modified: branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_eventlog_nt.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_eventlog_nt.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_eventlog_nt.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -123,6 +123,10 @@
 	int i;
 	const char **elogs = lp_eventlog_list();
 	
+	if (!elogs) {
+		return False;
+	}
+
 	for ( i=0; elogs[i]; i++ ) {
 		if ( strequal( name, elogs[i] ) )
 			return True;

Modified: branches/SAMBA_3_0_RELEASE/source/smbd/files.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/smbd/files.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/smbd/files.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -444,6 +444,9 @@
 		TALLOC_FREE(fsp->notify);
 	}
 
+	/* Ensure this event will never fire. */
+	TALLOC_FREE(fsp->oplock_timeout);
+
 	bitmap_clear(file_bmap, fsp->fnum - FILE_HANDLE_OFFSET);
 	files_used--;
 

Modified: branches/SAMBA_3_0_RELEASE/source/smbd/oplock.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/smbd/oplock.c	2007-06-26 00:52:19 UTC (rev 23601)
+++ branches/SAMBA_3_0_RELEASE/source/smbd/oplock.c	2007-06-26 01:14:37 UTC (rev 23602)
@@ -153,6 +153,8 @@
 	fsp->sent_oplock_break = NO_BREAK_SENT;
 	
 	flush_write_cache(fsp, OPLOCK_RELEASE_FLUSH);
+
+	TALLOC_FREE(fsp->oplock_timeout);
 }
 
 /****************************************************************************
@@ -349,12 +351,8 @@
 {
 	files_struct *fsp = (files_struct *)private_data;
 
-	/* Ensure we always remove this event. */
-	if (fsp->oplock_timeout != NULL) {
-		/* Remove the timed event handler. */
-		TALLOC_FREE(fsp->oplock_timeout);
-		fsp->oplock_timeout = NULL;
-	}
+	/* Remove the timed event handler. */
+	TALLOC_FREE(fsp->oplock_timeout);
 	DEBUG(0, ("Oplock break failed for file %s -- replying anyway\n", fsp->fsp_name));
 	global_client_failed_oplock_break = True;
 	remove_oplock(fsp);



More information about the samba-cvs mailing list