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