Build status as of Wed Oct 7 06:00:02 2009
URL: http://build.samba.org/ --- /home/build/master/cache/broken_results.txt.old 2009-10-06 00:00:09.0 -0600 +++ /home/build/master/cache/broken_results.txt 2009-10-07 00:00:04.0 -0600 @@ -1,4 +1,4 @@ -Build status as of Tue Oct 6 06:00:03 2009 +Build status as of Wed Oct 7 06:00:02 2009 Build counts: Tree Total Broken Panic @@ -13,10 +13,10 @@ rsync25 10 0 samba-docs 0 0 0 samba-web0 0 0 -samba_3_current 22 20 0 +samba_3_current 0 0 0 samba_3_master 23 23 5 -samba_3_next 23 22 0 -samba_4_0_test 25 25 1 +samba_3_next 2 1 0 +samba_4_0_test 25 25 0 talloc 2 2 0 tdb 1 1 0
[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-5364-gf31c221
The branch, v3-3-test has been updated via f31c2218c4cd6c04b4899f46c3cc2294c677a688 (commit) via b6f21ad0732d207c7c831c6094fad25e1469b426 (commit) from d984b39d971b7fc8f66e6c5376a2b7a98dfc20d8 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test - Log - commit f31c2218c4cd6c04b4899f46c3cc2294c677a688 Author: Karolin Seeger ksee...@samba.org Date: Wed Oct 7 09:23:27 2009 +0200 WHATSNEW: Prepare release notes for Samba 3.3.9. Karolin commit b6f21ad0732d207c7c831c6094fad25e1469b426 Author: Karolin Seeger ksee...@samba.org Date: Wed Oct 7 08:44:52 2009 +0200 VERSION: Raise version number up to 3.3.9. Karolin --- Summary of changes: WHATSNEW.txt | 101 ++- source/VERSION |2 +- 2 files changed, 100 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/WHATSNEW.txt b/WHATSNEW.txt index 0d9aaac..1c207dc 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,4 +1,101 @@ = + Release Notes for Samba 3.3.9 + October, 8 2009 + = + + +This is the latest bugfix release of the Samba 3.3 series. + +Major enhancements in Samba 3.3.9 include: + + o + + +## +Changes +### + +Changes since 3.3.8 +--- + +o Michael Adam ob...@samba.org +* BUG 6509: Use gid (not uid) cache in fetch_gid_from_cache(). + + +o Jeremy Allison j...@samba.org +* BUG 6504: Fix SAMR server for Winbind access. + + +o Yannick Bergeron burgerg...@hotmail.com +* Increase the max_grp value to 128 (AIX NGROUPS_MAX value). + + +o Günther Deschner g...@samba.org +* BUG 6700: Use DNS domain name when needing to guess server principal. +* BUG 6680: Always activate handling of large ( 256 byte) ntlmv2 blobs + in wbcAuthenticateUserEx(). +* BUG 6697: Fix interdomain trusts with Windows 2008 R2 DCs. + + +o Volker Lendecke v...@samba.org +* BUG 5886: Fix password change propagation. +* BUG 6349: Initialize domain info struct. +* BUG 6585: Fix unqualified net join. +* BUG 6646: Correctly chew keepalive packets. + + +o Derrell Lipman derrell.lip...@unwireduniverse.com +* BUG 6532: Fix domain enumeration if master browser has space in name. + + +o Stefan Metzmacher me...@samba.org +* BUG 6627: Raise the timeout for lsa_Lookup*() calls + from 10 to 35 seconds. +* BUG 6664: Make sure we don't truncate the session key to 8 bytes. + + +o Simo Sorce i...@samba.org +* BUG 6693: Check we read off the complete event from inotify. + + +o TAKEDA Yasuma yas...@osstech.co.jp +* BUG 5879: Update LDAP schema for Netscape DS 5. + + +o Kumar Thangavelu kumar.thangav...@riverbed.com +* BUG 6420: Fix 'net' crash when attempting to join a + domain. + + +o Bo Yang boy...@samba.org +* BUG 6615: Fix browsing DFS when using kerberos in libsmbclient. +* BUG 6735: Don't overwrite password in pam_winbind. + + +## +Reporting bugs Development Discussion +### + +Please discuss this release on the samba-technical mailing list or by +joining the #samba-technical IRC channel on irc.freenode.net. + +If you do report problems then please try to send high quality +feedback. If you don't provide vital information to help us track down +the problem then you will probably be ignored. All bug reports should +be filed under the Samba 3.3 product in the project's Bugzilla +database (https://bugzilla.samba.org/). + + +== +== Our Code, Our Bugs, Our Responsibility. +== The Samba Team +== + + +Release notes for older releases follow: + + + = Release Notes for Samba 3.3.8 October, 1 2009 = @@ -61,8 +158,8 @@ database (https://bugzilla.samba.org/). == -Release notes for older releases follow: - +-- + = Release Notes for Samba 3.3.7 diff --git a/source/VERSION b/source/VERSION index 26c39fc..abcb25c 100644 --- a/source/VERSION +++ b/source/VERSION @@ -25,7 +25,7 @@
[SCM] Samba Shared Repository - branch v3-3-stable updated - release-3-3-8-23-g702ad7e
The branch, v3-3-stable has been updated via 702ad7e193d50133cb22038dd937940341003a69 (commit) via 1f60be6ad0ecbdb56488e55772a65b022c055e84 (commit) via 201f15926c0907bb68b250c7b178a8bfc6232d16 (commit) via c3c8b134fa17258c52947b095686613e56d03985 (commit) via 51b7fda12e8ac7f95fb0abdef78582cface645fc (commit) via 94157bfd9b5d195e2ecc07971e58c12ba9698b1a (commit) via c2b0e8d1d054670d7b52ef3860df27232570a9d8 (commit) via 42678a945516eb7e61723eb98df0047d3413cdea (commit) via b6319e8910d96f9a53d07d38321afcee6a30f1d3 (commit) via 1cd8f66ad37fe8222d09ed0909ea8514cc843d9e (commit) via 46fcb7cb14af4a2af05d10dab3532e3915942b66 (commit) via dbcf9638e4291035c8564d97328286c1eef63853 (commit) via c8e5c1a4e9d19cbc36907bdaebae14d51ec10619 (commit) via 41106eda6bce2dc7e70fea00f23071e0820d9a13 (commit) via 6a31e7b25e1a742761f13363cc2e1ebea9a57f4c (commit) via ed2223a88a651253e627a4b0236749ad4faba79f (commit) via 1a30b49679a8210e92dfbaa11d07950f8b9de78d (commit) via 08f3e9ade974fcf5abfff71aa01cbf083f952149 (commit) via b122b7d06dc4a08421ec3a57f7b1014234dc05db (commit) via 877c02a4259fd580a957af91d08f9086a1b9b66e (commit) via 076d41be965fb56cfa0551c93f317abb31cfd0b8 (commit) via c6fd52b2025236e912b0bc8dc3e63f99ed4854e1 (commit) via 7ce571615fa2e78a46828ba1c53036fdf8c3b976 (commit) from 5f1f1c47623f846909481073d56bc909d13e5e37 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-stable - Log - commit 702ad7e193d50133cb22038dd937940341003a69 Author: Karolin Seeger ksee...@samba.org Date: Wed Oct 7 09:23:27 2009 +0200 WHATSNEW: Prepare release notes for Samba 3.3.9. Karolin (cherry picked from commit f31c2218c4cd6c04b4899f46c3cc2294c677a688) commit 1f60be6ad0ecbdb56488e55772a65b022c055e84 Author: Karolin Seeger ksee...@samba.org Date: Wed Oct 7 08:44:52 2009 +0200 VERSION: Raise version number up to 3.3.9. Karolin (cherry picked from commit b6f21ad0732d207c7c831c6094fad25e1469b426) commit 201f15926c0907bb68b250c7b178a8bfc6232d16 Author: Jeremy Allison j...@samba.org Date: Fri Oct 2 12:23:32 2009 +0200 Second part of a fix for bug #6235. Domain enumeration breaks if master browser has space in name. (cherry picked from commit d984b39d971b7fc8f66e6c5376a2b7a98dfc20d8) commit c3c8b134fa17258c52947b095686613e56d03985 Author: Derrell Lipman derrell.lip...@unwireduniverse.com Date: Fri Oct 2 12:22:25 2009 +0200 Fix bug #6532. Domain enumeration breaks if master browser has space in name. (cherry picked from commit e3601a43421cc51b2b4b6413f547daf6ea9b0b41) commit 51b7fda12e8ac7f95fb0abdef78582cface645fc Author: Kumar Thangavelu kumar.thangav...@riverbed.com Date: Fri May 29 11:27:38 2009 +0200 s3/getdcname: Fix 'net' crash. 'net' command crashed when attempting to join a domain. This occurred in a very specific case where the DC had multiple IPs and one of the IPs was invalid. Signed-off-by: Volker Lendecke v...@samba.org Fixes bug #6420. (cherry picked from commit 30cca93674d0dad15ad0ccfaf0d81f94d7d17b4a) commit 94157bfd9b5d195e2ecc07971e58c12ba9698b1a Author: Bo Yang boy...@samba.org Date: Wed Sep 16 23:58:35 2009 +0800 s3: Don't overwrite password in pam_winbind, subsequent pam modules might use the old password and new password. Signed-off-by: Bo Yang boy...@samba.org Fix bug #6735. (cherry picked from commit 457cbb36700cf460375cdbea85ada5676e03aa45) commit c2b0e8d1d054670d7b52ef3860df27232570a9d8 Author: Volker Lendecke v...@samba.org Date: Wed Sep 9 12:24:08 2009 +0200 s3:libsmb: Correctly chew keepalive packets Thanks a *lot* to Günther to send me the relevant traces! Volker Signed-off-by: Günther Deschner g...@samba.org Fixes bug #6646 (Winbind authentication issue on 3.2.13/14 and 3.4.0 (was: [Samba] Crazied NTLM_AUTH on samba 3.4.0)). (cherry picked from commit 28674fcda7aaf839fdf5704e4133a0bd3a3f93a2) commit 42678a945516eb7e61723eb98df0047d3413cdea Author: Günther Deschner g...@samba.org Date: Wed Sep 9 02:29:58 2009 +0200 s3-winbindd: Fix Bug #6700: Use dns domain name when needing to guess server principal. Patch from Robert LeBlanc rob...@leblancnet.us. Thanks! Guenther (cherry picked from commit cd920dcff320a097bcc46a9468a78cedca6fb2be) commit b6319e8910d96f9a53d07d38321afcee6a30f1d3 Author: Günther Deschner g...@samba.org Date: Tue Sep 8 11:57:52 2009 +0200 s3-schannel: Fix Bug #6697. Interdomain trusts with Windows 2008 R2 DCs. The Schannel verifier (aka NL_AUTH_SIGNATURE) structure (32 byte) sent from a W2k8r2 DC is passed in a buffer with the size of a NL_AUTH_SHA2_SIGNATURE
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-1019-gfea2a78
The branch, master has been updated via fea2a78beb1cb4a00f44a4b191f96602cdaa81b9 (commit) from d29409c1523b9d7ca9b3a7400bd9c94641decc46 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit fea2a78beb1cb4a00f44a4b191f96602cdaa81b9 Author: Günther Deschner g...@samba.org Date: Wed Oct 7 10:34:15 2009 +0200 s3: re-run make samba3-idl. Guenther --- Summary of changes: source3/librpc/gen_ndr/libnetapi.h | 30 ++-- source3/librpc/gen_ndr/messaging.h | 104 +- source3/librpc/gen_ndr/ndr_libnetapi.c | 320 ++-- source3/librpc/gen_ndr/ndr_messaging.c | 16 +- source3/librpc/gen_ndr/ndr_notify.c| 10 + source3/librpc/gen_ndr/ndr_perfcount.c | 12 ++ source3/librpc/gen_ndr/ndr_wbint.c | 122 +++-- 7 files changed, 469 insertions(+), 145 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/librpc/gen_ndr/libnetapi.h b/source3/librpc/gen_ndr/libnetapi.h index 55d2408..97b1141 100644 --- a/source3/librpc/gen_ndr/libnetapi.h +++ b/source3/librpc/gen_ndr/libnetapi.h @@ -33,7 +33,7 @@ enum NET_API_STATUS #ifndef USE_UINT_ENUMS { - NERR_Success=0 + NERR_Success=(int)(0) } #else { __donnot_use_enum_NET_API_STATUS=0x7FFF} @@ -65,10 +65,10 @@ struct domsid { enum NETSETUP_JOIN_STATUS #ifndef USE_UINT_ENUMS { - NetSetupUnknownStatus=0, - NetSetupUnjoined=1, - NetSetupWorkgroupName=2, - NetSetupDomainName=3 + NetSetupUnknownStatus=(int)(0), + NetSetupUnjoined=(int)(1), + NetSetupWorkgroupName=(int)(2), + NetSetupDomainName=(int)(3) } #else { __donnot_use_enum_NETSETUP_JOIN_STATUS=0x7FFF} @@ -1170,16 +1170,16 @@ struct LOCALGROUP_INFO_1002 { enum SID_NAME_USE #ifndef USE_UINT_ENUMS { - SidTypeUser=1, - SidTypeGroup=2, - SidTypeDomain=3, - SidTypeAlias=4, - SidTypeWellKnownGroup=5, - SidTypeDeletedAccount=6, - SidTypeInvalid=7, - SidTypeUnknown=8, - SidTypeComputer=9, - SidTypeLabel=10 + SidTypeUser=(int)(1), + SidTypeGroup=(int)(2), + SidTypeDomain=(int)(3), + SidTypeAlias=(int)(4), + SidTypeWellKnownGroup=(int)(5), + SidTypeDeletedAccount=(int)(6), + SidTypeInvalid=(int)(7), + SidTypeUnknown=(int)(8), + SidTypeComputer=(int)(9), + SidTypeLabel=(int)(10) } #else { __donnot_use_enum_SID_NAME_USE=0x7FFF} diff --git a/source3/librpc/gen_ndr/messaging.h b/source3/librpc/gen_ndr/messaging.h index 79b097c..225440a 100644 --- a/source3/librpc/gen_ndr/messaging.h +++ b/source3/librpc/gen_ndr/messaging.h @@ -11,58 +11,58 @@ enum messaging_type #ifndef USE_UINT_ENUMS { - MSG_DEBUG=(int)0x0001, - MSG_PING=(int)0x0002, - MSG_PONG=(int)0x0003, - MSG_PROFILE=(int)0x0004, - MSG_REQ_DEBUGLEVEL=(int)0x0005, - MSG_DEBUGLEVEL=(int)0x0006, - MSG_REQ_PROFILELEVEL=(int)0x0007, - MSG_PROFILELEVEL=(int)0x0008, - MSG_REQ_POOL_USAGE=(int)0x0009, - MSG_POOL_USAGE=(int)0x000A, - MSG_REQ_DMALLOC_MARK=(int)0x000B, - MSG_REQ_DMALLOC_LOG_CHANGED=(int)0x000C, - MSG_SHUTDOWN=(int)0x000D, - MSG_FORCE_ELECTION=(int)0x0101, - MSG_WINS_NEW_ENTRY=(int)0x0102, - MSG_SEND_PACKET=(int)0x0103, - MSG_PRINTER_NOTIFY=(int)0x2001, - MSG_PRINTER_NOTIFY2=(int)0x0202, - MSG_PRINTER_DRVUPGRADE=(int)0x0203, - MSG_PRINTERDATA_INIT_RESET=(int)0x0204, - MSG_PRINTER_UPDATE=(int)0x0205, - MSG_PRINTER_MOD=(int)0x0206, - MSG_SMB_CONF_UPDATED=(int)0x0301, - MSG_SMB_FORCE_TDIS=(int)0x0302, - MSG_SMB_SAM_SYNC=(int)0x0303, - MSG_SMB_SAM_REPL=(int)0x0304, - MSG_SMB_UNLOCK=(int)0x0305, - MSG_SMB_BREAK_REQUEST=(int)0x0306, - MSG_SMB_BREAK_RESPONSE=(int)0x0307, - MSG_SMB_ASYNC_LEVEL2_BREAK=(int)0x0308, - MSG_SMB_OPEN_RETRY=(int)0x0309, - MSG_SMB_KERNEL_BREAK=(int)0x030A, - MSG_SMB_FILE_RENAME=(int)0x030B, - MSG_SMB_INJECT_FAULT=(int)0x030C, - MSG_SMB_BLOCKING_LOCK_CANCEL=(int)0x030D, - MSG_SMB_NOTIFY=(int)0x030E, - MSG_SMB_STAT_CACHE_DELETE=(int)0x030F, - MSG_PVFS_NOTIFY=(int)0x0310, - MSG_SMB_BRL_VALIDATE=(int)0x0311, - MSG_SMB_RELEASE_IP=(int)0x0312, - MSG_SMB_CLOSE_FILE=(int)0x0313, - MSG_WINBIND_FINISHED=(int)0x0401, - MSG_WINBIND_FORGET_STATE=(int)0x0402, - MSG_WINBIND_ONLINE=(int)0x0403, - MSG_WINBIND_OFFLINE=(int)0x0404, - MSG_WINBIND_ONLINESTATUS=(int)0x0405, - MSG_WINBIND_TRY_TO_GO_ONLINE=(int)0x0406, - MSG_WINBIND_FAILED_TO_GO_ONLINE=(int)0x0407, - MSG_WINBIND_VALIDATE_CACHE=(int)0x0408, - MSG_WINBIND_DUMP_DOMAIN_LIST=(int)0x0409, - MSG_DUMP_EVENT_LIST=(int)0x0500, -
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-1020-g3d3134a
The branch, master has been updated via 3d3134a7d6a4d49b891a446f6cc7b38fd953739a (commit) from fea2a78beb1cb4a00f44a4b191f96602cdaa81b9 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 3d3134a7d6a4d49b891a446f6cc7b38fd953739a Author: Günther Deschner g...@samba.org Date: Tue Oct 6 17:50:15 2009 +0200 s3-netlogon: pure cosmetic indent fixes in _netr_LogonControl2Ex(). Guenther --- Summary of changes: source3/rpc_server/srv_netlog_nt.c | 140 ++-- 1 files changed, 71 insertions(+), 69 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c index 2aee005..fd90bf8 100644 --- a/source3/rpc_server/srv_netlog_nt.c +++ b/source3/rpc_server/srv_netlog_nt.c @@ -116,103 +116,105 @@ WERROR _netr_LogonControl2Ex(pipes_struct *p, const char *fn; switch (p-hdr_req.opnum) { - case NDR_NETR_LOGONCONTROL: - fn = _netr_LogonControl; - break; - case NDR_NETR_LOGONCONTROL2: - fn = _netr_LogonControl2; - break; - case NDR_NETR_LOGONCONTROL2EX: - fn = _netr_LogonControl2Ex; - break; - default: - return WERR_INVALID_PARAM; + case NDR_NETR_LOGONCONTROL: + fn = _netr_LogonControl; + break; + case NDR_NETR_LOGONCONTROL2: + fn = _netr_LogonControl2; + break; + case NDR_NETR_LOGONCONTROL2EX: + fn = _netr_LogonControl2Ex; + break; + default: + return WERR_INVALID_PARAM; } tc_status = WERR_NO_SUCH_DOMAIN; switch (r-in.function_code) { - case NETLOGON_CONTROL_TC_QUERY: - domain = r-in.data-domain; + case NETLOGON_CONTROL_TC_QUERY: + domain = r-in.data-domain; - if ( !is_trusted_domain( domain ) ) - break; + if (!is_trusted_domain(domain)) { + break; + } - if ( !get_dc_name( domain, NULL, dc_name2, dc_ss ) ) { - tc_status = WERR_NO_LOGON_SERVERS; - break; - } + if (!get_dc_name(domain, NULL, dc_name2, dc_ss)) { + tc_status = WERR_NO_LOGON_SERVERS; + break; + } - dc_name = talloc_asprintf(p-mem_ctx, %s, dc_name2); - if (!dc_name) { - return WERR_NOMEM; - } + dc_name = talloc_asprintf(p-mem_ctx, %s, dc_name2); + if (!dc_name) { + return WERR_NOMEM; + } - tc_status = WERR_OK; + tc_status = WERR_OK; - break; + break; - case NETLOGON_CONTROL_REDISCOVER: - domain = r-in.data-domain; + case NETLOGON_CONTROL_REDISCOVER: + domain = r-in.data-domain; - if ( !is_trusted_domain( domain ) ) - break; + if (!is_trusted_domain(domain)) { + break; + } - if ( !get_dc_name( domain, NULL, dc_name2, dc_ss ) ) { - tc_status = WERR_NO_LOGON_SERVERS; - break; - } + if (!get_dc_name(domain, NULL, dc_name2, dc_ss)) { + tc_status = WERR_NO_LOGON_SERVERS; + break; + } - dc_name = talloc_asprintf(p-mem_ctx, %s, dc_name2); - if (!dc_name) { - return WERR_NOMEM; - } + dc_name = talloc_asprintf(p-mem_ctx, %s, dc_name2); + if (!dc_name) { + return WERR_NOMEM; + } - tc_status = WERR_OK; + tc_status = WERR_OK; - break; + break; - default: - /* no idea what this should be */ - DEBUG(0,(%s: unimplemented function level [%d]\n, - fn, r-in.function_code)); - return WERR_UNKNOWN_LEVEL; + default: + /* no idea what this should be */ + DEBUG(0,(%s: unimplemented function level [%d]\n, +
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-1023-g3c3725a
The branch, master has been updated via 3c3725a340ffe20ab679cf2f9d41ccd0b51b4b3a (commit) via 7b3501200c55d7844c4d697456dbfa2b86cfdcc8 (commit) via 2df47b0a54ad0a973b81911ee507ab50555b24a6 (commit) from 3d3134a7d6a4d49b891a446f6cc7b38fd953739a (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 3c3725a340ffe20ab679cf2f9d41ccd0b51b4b3a Author: Günther Deschner g...@samba.org Date: Tue Oct 6 17:46:25 2009 +0200 s3-winbindd: libwbclient: implement secure channel verification for specific domains in wbcCheckTrustCredentials(). Guenther commit 7b3501200c55d7844c4d697456dbfa2b86cfdcc8 Author: Günther Deschner g...@samba.org Date: Wed Oct 7 10:43:53 2009 +0200 wbinfo: allow to check trusts via wbinfo -t --domain DOMAINNAME. Guenther commit 2df47b0a54ad0a973b81911ee507ab50555b24a6 Author: Günther Deschner g...@samba.org Date: Tue Oct 6 17:45:24 2009 +0200 libwbclient: implement secure channel verification for specific domains in wbcCheckTrustCredentials(). Guenther --- Summary of changes: nsswitch/libwbclient/wbc_pam.c | 14 +- nsswitch/libwbclient/wbclient.h|4 +--- nsswitch/wbinfo.c | 18 +- source3/winbindd/winbindd_check_machine_acct.c | 11 ++- source3/winbindd/winbindd_dual_srv.c |8 5 files changed, 33 insertions(+), 22 deletions(-) Changeset truncated at 500 lines: diff --git a/nsswitch/libwbclient/wbc_pam.c b/nsswitch/libwbclient/wbc_pam.c index 33044b2..4cd212a 100644 --- a/nsswitch/libwbclient/wbc_pam.c +++ b/nsswitch/libwbclient/wbc_pam.c @@ -502,18 +502,14 @@ wbcErr wbcCheckTrustCredentials(const char *domain, struct winbindd_response response; wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE; - if (domain) { - /* -* the current protocol doesn't support -* specifying a domain -*/ - wbc_status = WBC_ERR_NOT_IMPLEMENTED; - BAIL_ON_WBC_ERROR(wbc_status); - } - ZERO_STRUCT(request); ZERO_STRUCT(response); + if (domain) { + strncpy(request.domain_name, domain, + sizeof(request.domain_name)-1); + } + /* Send request */ wbc_status = wbcRequestResponse(WINBINDD_CHECK_MACHACC, diff --git a/nsswitch/libwbclient/wbclient.h b/nsswitch/libwbclient/wbclient.h index a87cad3..4dc6d23 100644 --- a/nsswitch/libwbclient/wbclient.h +++ b/nsswitch/libwbclient/wbclient.h @@ -1183,9 +1183,7 @@ wbcErr wbcResolveWinsByIP(const char *ip, char **name); /** * @brief Trigger a verification of the trust credentials of a specific domain * - * @param *domain The name of the domain, only NULL for the default domain is - * supported yet. Other values than NULL will result in - * WBC_ERR_NOT_IMPLEMENTED. + * @param *domain The name of the domain. * @param errorOutput details on WBC_ERR_AUTH_ERROR * * @return #wbcErr diff --git a/nsswitch/wbinfo.c b/nsswitch/wbinfo.c index a80b69f..7410a74 100644 --- a/nsswitch/wbinfo.c +++ b/nsswitch/wbinfo.c @@ -724,15 +724,23 @@ static bool wbinfo_dsgetdcname(const char *domain_name, uint32_t flags) /* Check trust account password */ -static bool wbinfo_check_secret(void) +static bool wbinfo_check_secret(const char *domain) { wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE; struct wbcAuthErrorInfo *error = NULL; + const char *domain_name; - wbc_status = wbcCheckTrustCredentials(NULL, error); + if (domain) { + domain_name = domain; + } else { + domain_name = get_winbind_domain(); + } - d_printf(checking the trust secret via RPC calls %s\n, -WBC_ERROR_IS_OK(wbc_status) ? succeeded : failed); + wbc_status = wbcCheckTrustCredentials(domain_name, error); + + d_printf(checking the trust secret for domain %s via RPC calls %s\n, + domain_name, + WBC_ERROR_IS_OK(wbc_status) ? succeeded : failed); if (wbc_status == WBC_ERR_AUTH_ERROR) { d_fprintf(stderr, error code was %s (0x%x)\n, @@ -1950,7 +1958,7 @@ int main(int argc, char **argv, char **envp) } break; case 't': - if (!wbinfo_check_secret()) { + if (!wbinfo_check_secret(opt_domain_name)) { d_fprintf(stderr, Could not check secret\n); goto done; } diff --git a/source3/winbindd/winbindd_check_machine_acct.c b/source3/winbindd/winbindd_check_machine_acct.c
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 3703890... AD-Bench: A first go at an Active Directory benchmark. from 3c3725a... s3-winbindd: libwbclient: implement secure channel verification for specific domains in wbcCheckTrustCredentials(). http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 37038905965631cbc8f10a2bfe719df0d2ad067e Author: Kai Blin k...@samba.org Date: Wed Oct 7 15:45:17 2009 +0200 AD-Bench: A first go at an Active Directory benchmark. --- Summary of changes: examples/ad-bench/README| 42 examples/ad-bench/ad-bench.sh | 38 +++ examples/ad-bench/settings.sh | 41 examples/ad-bench/test_utils.sh | 31 + examples/ad-bench/time_group.sh | 125 +++ examples/ad-bench/time_join.sh | 85 examples/ad-bench/time_kinit.sh | 63 ++ examples/ad-bench/time_ldap.sh | 137 +++ examples/ad-bench/time_user.sh | 125 +++ examples/ad-bench/utils.sh | 116 + 10 files changed, 803 insertions(+), 0 deletions(-) create mode 100644 examples/ad-bench/README create mode 100755 examples/ad-bench/ad-bench.sh create mode 100644 examples/ad-bench/settings.sh create mode 100644 examples/ad-bench/test_utils.sh create mode 100644 examples/ad-bench/time_group.sh create mode 100644 examples/ad-bench/time_join.sh create mode 100644 examples/ad-bench/time_kinit.sh create mode 100644 examples/ad-bench/time_ldap.sh create mode 100644 examples/ad-bench/time_user.sh create mode 100644 examples/ad-bench/utils.sh Changeset truncated at 500 lines: diff --git a/examples/ad-bench/README b/examples/ad-bench/README new file mode 100644 index 000..de6235f --- /dev/null +++ b/examples/ad-bench/README @@ -0,0 +1,42 @@ +== +Active Directory benchmark +== + +Setup += + +You need to modify settings.sh to point to the correct binaries for your +platform. One thing you might want to do in order to be able to run the +benchmark as a non-root user is to compile your own samba version with the +--prefix configure option set to some location writeable by the user who will be +running the benchmark. You then need to point the NET variable to the correct +location. + +Most likely, you will also want to put the realm to kdc hostname mappings into +krb5.conf and the hostname to IP address mappings for the kdcs to test into the +hosts file, so you actually benchmark the AD speed, not DNS lookup speed. + +Running the benchmarks +== + +Per default, the benchmark looks for a file called runs.txt in the directory the +benchmark is run from. (This is configurable in the settings.sh file) +runs.txt contains the credentials and server names to connect to, one set of +credentials/server per line. The format is as follows: + +u...@realm.example.com%password:domain_controller_host_name + +License +=== +AD-Bench is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +AD-Bench is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with AD-Bench. If not, see http://www.gnu.org/licenses/. diff --git a/examples/ad-bench/ad-bench.sh b/examples/ad-bench/ad-bench.sh new file mode 100755 index 000..84bb770 --- /dev/null +++ b/examples/ad-bench/ad-bench.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# AD-Bench main program, runs all the benchmarks +# +# Copyright (C) 2009 Kai Blin k...@samba.org +# +# This file is part of AD-Bench, an Active Directory benchmark tool +# +# AD-Bench is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# AD-Bench is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with AD-Bench. If not, see http://www.gnu.org/licenses/. + +source `dirname $0`/utils.sh + +if [ ! -f $RUNS ]; then + echo Error: please fill in $RUNS + echo Sambple entries are + echo
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 0ec8fe4... s4/torture: Ported SMBv1 RAW-STREAMS tests to SMB2-STREAMS from 3703890... AD-Bench: A first go at an Active Directory benchmark. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 0ec8fe420f65fabce9d6b0a998ef892201f3e395 Author: Aravind Srinivasan aravind.sriniva...@isilon.com Date: Tue Oct 6 20:25:15 2009 -0700 s4/torture: Ported SMBv1 RAW-STREAMS tests to SMB2-STREAMS --- Summary of changes: source4/torture/smb2/config.mk |3 +- source4/torture/smb2/smb2.c|1 + source4/torture/smb2/streams.c | 1767 3 files changed, 1770 insertions(+), 1 deletions(-) create mode 100644 source4/torture/smb2/streams.c Changeset truncated at 500 lines: diff --git a/source4/torture/smb2/config.mk b/source4/torture/smb2/config.mk index f617f70..e26ad26 100644 --- a/source4/torture/smb2/config.mk +++ b/source4/torture/smb2/config.mk @@ -25,7 +25,8 @@ TORTURE_SMB2_OBJ_FILES = $(addprefix $(torturesrcdir)/smb2/, \ lease.o \ create.o \ read.o \ - compound.o) + compound.o \ + streams.o) $(eval $(call proto_header_template,$(torturesrcdir)/smb2/proto.h,$(TORTURE_SMB2_OBJ_FILES:.o=.c))) diff --git a/source4/torture/smb2/smb2.c b/source4/torture/smb2/smb2.c index 2430b09..f1d8fbb 100644 --- a/source4/torture/smb2/smb2.c +++ b/source4/torture/smb2/smb2.c @@ -143,6 +143,7 @@ NTSTATUS torture_smb2_init(void) torture_suite_add_suite(suite, torture_smb2_lease_init()); torture_suite_add_suite(suite, torture_smb2_compound_init()); torture_suite_add_suite(suite, torture_smb2_oplocks_init()); + torture_suite_add_suite(suite, torture_smb2_streams_init()); torture_suite_add_1smb2_test(suite, BENCH-OPLOCK, test_smb2_bench_oplock); torture_suite_add_1smb2_test(suite, HOLD-OPLOCK, test_smb2_hold_oplock); diff --git a/source4/torture/smb2/streams.c b/source4/torture/smb2/streams.c new file mode 100644 index 000..50f27a8 --- /dev/null +++ b/source4/torture/smb2/streams.c @@ -0,0 +1,1767 @@ +/* + Unix SMB/CIFS implementation. + + test alternate data streams + + Copyright (C) Andrew Tridgell 2004 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see http://www.gnu.org/licenses/. +*/ + +#include includes.h +#include libcli/smb2/smb2.h +#include libcli/smb2/smb2_calls.h +#include libcli/smb_composite/smb_composite.h +#include libcli/raw/libcliraw.h +#include libcli/raw/raw_proto.h +#include libcli/libcli.h + +#include torture/torture.h +#include torture/smb2/proto.h +#include torture/util.h + +#include system/filesys.h + +#define DNAME teststreams + +#define CHECK_STATUS(status, correct) do { \ + if (!NT_STATUS_EQUAL(status, correct)) { \ + torture_result(tctx, TORTURE_FAIL, \ + (%s) Incorrect status %s - should be %s\n, \ + __location__, nt_errstr(status), nt_errstr(correct)); \ + ret = false; \ + goto done; \ + }} while (0) + +#define CHECK_VALUE(v, correct) do { \ + if ((v) != (correct)) { \ + torture_result(tctx, TORTURE_FAIL, \ + (%s) Incorrect value %s=%d - should be %d\n, \ + __location__, #v, (int)v, (int)correct); \ + ret = false; \ + }} while (0) + +#define CHECK_NTTIME(v, correct) do { \ + if ((v) != (correct)) { \ + torture_result(tctx, TORTURE_FAIL, \ + (%s) Incorrect value %s=%llu - should be %llu\n, \ + __location__, #v, (unsigned long long)v, \ + (unsigned long long)correct); \ + ret = false; \ + }} while (0) + +#define CHECK_STR(v, correct) do { \ + bool ok; \ + if ((v) !(correct)) { \ + ok = false; \ + } else if (!(v) (correct)) { \ + ok = false; \ + } else if (!(v) !(correct)) { \ + ok = true; \ + } else if (strcmp((v), (correct)) == 0) { \ + ok = true; \ + } else { \ + ok = false; \ + } \ + if (!ok) { \ + torture_comment(tctx,(%s) Incorrect value
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 2f379d7... s4/torture: Ported SMBv1 RAW-OPEN tests to SMB2-CREATE via 0bff2ce... s4/torture: convert all printf to torture_comments from 0ec8fe4... s4/torture: Ported SMBv1 RAW-STREAMS tests to SMB2-STREAMS http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 2f379d70ffa1dc8d2899489e35e715efe96a4b51 Author: Aravind Srinivasan aravind.sriniva...@isilon.com Date: Tue Oct 6 20:16:38 2009 -0700 s4/torture: Ported SMBv1 RAW-OPEN tests to SMB2-CREATE Four tests were ported from raw/open.c One new tests added LEADING-SLASH, which tests that a server provides the proper error when a relative path is given to a CREATE PDU with a leading /. commit 0bff2ced790fb9ff352b848246338999099f7f5f Author: Aravind Srinivasan aravind.sriniva...@isilon.com Date: Tue Oct 6 20:12:09 2009 -0700 s4/torture: convert all printf to torture_comments --- Summary of changes: source4/torture/smb2/create.c | 626 +++-- 1 files changed, 605 insertions(+), 21 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/smb2/create.c b/source4/torture/smb2/create.c index febfbe0..be825b2 100644 --- a/source4/torture/smb2/create.c +++ b/source4/torture/smb2/create.c @@ -23,26 +23,109 @@ #include libcli/smb2/smb2.h #include libcli/smb2/smb2_calls.h #include torture/torture.h +#include torture/util.h #include torture/smb2/proto.h #include librpc/gen_ndr/ndr_security.h #include libcli/security/security.h +#include system/filesys.h +#include auth/credentials/credentials.h +#include lib/cmdline/popt_common.h +#include librpc/gen_ndr/security.h +#include lib/events/events.h + #define FNAME test_create.dat +#define DNAME smb2_open #define CHECK_STATUS(status, correct) do { \ if (!NT_STATUS_EQUAL(status, correct)) { \ - printf((%s) Incorrect status %s - should be %s\n, \ - __location__, nt_errstr(status), nt_errstr(correct)); \ + torture_result(torture, TORTURE_FAIL, \ + (%s) Incorrect status %s - should be %s\n, \ +__location__, nt_errstr(status), nt_errstr(correct)); \ return false; \ }} while (0) #define CHECK_EQUAL(v, correct) do { \ if (v != correct) { \ - printf((%s) Incorrect value for %s 0x%08llx - should be 0x%08llx\n, \ - __location__, #v, (unsigned long long)v, (unsigned long long)correct); \ + torture_result(torture, TORTURE_FAIL, \ + (%s) Incorrect value for %s 0x%08llx - \ + should be 0x%08llx\n, \ +__location__, #v, \ + (unsigned long long)v, \ + (unsigned long long)correct); \ return false; \ }} while (0) +#define CHECK_TIME(t, field) do { \ + time_t t1, t2; \ + finfo.all_info.level = RAW_FILEINFO_ALL_INFORMATION; \ + finfo.all_info.in.file.handle = h1; \ + status = smb2_getinfo_file(tree, torture, finfo); \ + CHECK_STATUS(status, NT_STATUS_OK); \ + t1 = t ~1; \ + t2 = nt_time_to_unix(finfo.all_info.out.field) ~1; \ + if (abs(t1-t2) 2) { \ + torture_result(torture, TORTURE_FAIL, \ + (%s) wrong time for field %s %s - %s\n, \ + __location__, #field, \ + timestring(torture, t1), \ + timestring(torture, t2)); \ + dump_all_info(torture, finfo); \ + ret = false; \ + }} while (0) + +#define CHECK_NTTIME(t, field) do { \ + NTTIME t2; \ + finfo.all_info.level = RAW_FILEINFO_ALL_INFORMATION; \ + finfo.all_info.in.file.handle = h1; \ + status = smb2_getinfo_file(tree, torture, finfo); \ + CHECK_STATUS(status, NT_STATUS_OK); \ + t2 = finfo.all_info.out.field; \ + if (t != t2) { \ + torture_result(torture, TORTURE_FAIL, \ + (%s) wrong time for field %s %s - %s\n, \ + __location__, #field, \ + nt_time_string(torture, t), \ + nt_time_string(torture, t2)); \ + dump_all_info(torture, finfo); \ + ret = false; \ + }} while (0) + +#define CHECK_ALL_INFO(v, field) do { \ + finfo.all_info.level = RAW_FILEINFO_ALL_INFORMATION; \ + finfo.all_info.in.file.handle = h1; \ + status = smb2_getinfo_file(tree, torture, finfo); \ + CHECK_STATUS(status, NT_STATUS_OK); \ + if ((v) != (finfo.all_info.out.field)) { \ + torture_result(torture, TORTURE_FAIL, \ + (%s) wrong
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 746fb5a... Correct fix for bug 6781 - Cannot rename subfolders in Explorer view with recent versions of Samba. Without this fix, renaming a directory ./a to ./b, whilst a directory ./aa was already open would fail. Jeremy. from 2f379d7... s4/torture: Ported SMBv1 RAW-OPEN tests to SMB2-CREATE http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 746fb5aa4fb562f7626cd39197f8ef087dbf20a7 Author: Jeremy Allison j...@samba.org Date: Wed Oct 7 15:14:50 2009 -0700 Correct fix for bug 6781 - Cannot rename subfolders in Explorer view with recent versions of Samba. Without this fix, renaming a directory ./a to ./b, whilst a directory ./aa was already open would fail. Jeremy. --- Summary of changes: source3/smbd/files.c |4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/files.c b/source3/smbd/files.c index 146d809..bf21605 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -430,14 +430,12 @@ bool file_find_subpath(files_struct *dir_fsp) fsp-fsp_name-base_name); if (strnequal(d_fullname, d1_fullname, dlen)) { - int d1_len = strlen(d1_fullname); - /* * If the open file is a second file handle to the * same name or is a stream on the original file, then * don't return true. */ - if (d1_len == dlen) { + if (d1_fullname[dlen] != '/') { TALLOC_FREE(d1_fullname); continue; } -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via fcd6a57... Correct fix for bug 6781 - Cannot rename subfolders in Explorer view with recent versions of Samba. Without this fix, renaming a directory ./a to ./b, whilst a directory ./aa was already open would fail. Jeremy. from 22d2628... Test creating and deleting a bad symlink using the POSIX calls. Ensure we don't regress on bug 6769. Jeremy. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit fcd6a57d310a55cda7ff6248a59a99d50d925bed Author: Jeremy Allison j...@samba.org Date: Wed Oct 7 15:14:50 2009 -0700 Correct fix for bug 6781 - Cannot rename subfolders in Explorer view with recent versions of Samba. Without this fix, renaming a directory ./a to ./b, whilst a directory ./aa was already open would fail. Jeremy. --- Summary of changes: source3/smbd/files.c |4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/files.c b/source3/smbd/files.c index 146d809..bf21605 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -430,14 +430,12 @@ bool file_find_subpath(files_struct *dir_fsp) fsp-fsp_name-base_name); if (strnequal(d_fullname, d1_fullname, dlen)) { - int d1_len = strlen(d1_fullname); - /* * If the open file is a second file handle to the * same name or is a stream on the original file, then * don't return true. */ - if (d1_len == dlen) { + if (d1_fullname[dlen] != '/') { TALLOC_FREE(d1_fullname); continue; } -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 91456b8... s4:ldb - SQLite: port some constraints from the TDB backend also to the SQLITE one via 75eff6e... s4:subtree_delete - Make the initialisation of the child counter more clear via 30faff7... s4:ldap.py - Further enhancements via f9990e9... s4:ldb - add a check which has to be done on beginning of a modify operation via ee0204c... s4:ldap server - remove unused error handlings via 32a7b82... s4:ldb_tdb - Rework/Various from 746fb5a... Correct fix for bug 6781 - Cannot rename subfolders in Explorer view with recent versions of Samba. Without this fix, renaming a directory ./a to ./b, whilst a directory ./aa was already open would fail. Jeremy. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 91456b8dc5c4237eb76ac82afa0c5f4a35bdca65 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Tue Oct 6 09:28:38 2009 +0200 s4:ldb - SQLite: port some constraints from the TDB backend also to the SQLITE one commit 75eff6eaf3df69a397980f0717fc5cc720cfe0b9 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Oct 7 12:38:00 2009 +0200 s4:subtree_delete - Make the initialisation of the child counter more clear commit 30faff7567f2a7e82a6496bbf221cd8de5d5b50d Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Tue Oct 6 17:18:04 2009 +0200 s4:ldap.py - Further enhancements - Enhance test for distinguishedName - Add a test for single-valued attributes - Add a test for multi-valued attributes - Add a test for empty messages - Add a test for empty attributes commit f9990e9b391f330a8e6c5c158ee4e4eaa50f6176 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Oct 7 23:49:29 2009 +0200 s4:ldb - add a check which has to be done on beginning of a modify operation commit ee0204cfccbd73050b2ec806f392bf5c4a549430 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Tue Oct 6 21:53:05 2009 +0200 s4:ldap server - remove unused error handlings Those error cases should be handled by LDB itself to be available on all connection methods and not only over LDAP. commit 32a7b82e87c71e103c47fee787ed81db6266921f Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Tue Oct 6 09:30:53 2009 +0200 s4:ldb_tdb - Rework/Various - Unify the error handling method with done mark in all longer functions - Fix up result codes to match more the real MS AD - Some cosmetic fixups --- Summary of changes: source4/dsdb/samdb/ldb_modules/subtree_delete.c |2 + source4/ldap_server/ldap_backend.c | 35 -- source4/lib/ldb/common/ldb.c|8 + source4/lib/ldb/ldb_sqlite3/ldb_sqlite3.c | 49 +++ source4/lib/ldb/ldb_tdb/ldb_tdb.c | 392 --- source4/lib/ldb/tests/python/ldap.py| 242 ++- 6 files changed, 495 insertions(+), 233 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/dsdb/samdb/ldb_modules/subtree_delete.c b/source4/dsdb/samdb/ldb_modules/subtree_delete.c index 241cc5f..e1ce9c1 100644 --- a/source4/dsdb/samdb/ldb_modules/subtree_delete.c +++ b/source4/dsdb/samdb/ldb_modules/subtree_delete.c @@ -55,6 +55,8 @@ static struct subtree_delete_context *subdel_ctx_init(struct ldb_module *module, ac-module = module; ac-req = req; + ac-num_children = 0; + return ac; } diff --git a/source4/ldap_server/ldap_backend.c b/source4/ldap_server/ldap_backend.c index 5f9b822..f3d82a7 100644 --- a/source4/ldap_server/ldap_backend.c +++ b/source4/ldap_server/ldap_backend.c @@ -534,26 +534,11 @@ static NTSTATUS ldapsrv_ModifyRequest(struct ldapsrv_call *call) NT_STATUS_HAVE_NO_MEMORY(msg-elements[i].values); for (j=0; j msg-elements[i].num_values; j++) { - if (!(req-mods[i].attrib.values[j].length 0)) { - result = LDAP_OTHER; - - map_ldb_error(local_ctx, - LDB_ERR_OTHER, errstr); - errstr = talloc_asprintf(local_ctx, - %s. Empty attribute values not allowed, errstr); - goto reply; - } msg-elements[i].values[j].length = req-mods[i].attrib.values[j].length; msg-elements[i].values[j].data = req-mods[i].attrib.values[j].data; }
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 94ce06f... Make the logic a lot clearer and fix the comment to match. Jeremy from 91456b8... s4:ldb - SQLite: port some constraints from the TDB backend also to the SQLITE one http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 94ce06f01d9c84e79df1029ec3e2c6defc7fa800 Author: Jeremy Allison j...@samba.org Date: Wed Oct 7 15:39:38 2009 -0700 Make the logic a lot clearer and fix the comment to match. Jeremy --- Summary of changes: source3/smbd/files.c | 25 ++--- 1 files changed, 10 insertions(+), 15 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/files.c b/source3/smbd/files.c index bf21605..f7509d7 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -429,24 +429,19 @@ bool file_find_subpath(files_struct *dir_fsp) fsp-conn-connectpath, fsp-fsp_name-base_name); - if (strnequal(d_fullname, d1_fullname, dlen)) { - /* -* If the open file is a second file handle to the -* same name or is a stream on the original file, then -* don't return true. -*/ - if (d1_fullname[dlen] != '/') { - TALLOC_FREE(d1_fullname); - continue; - } - + /* +* If the open file has a path that is a longer +* component, then it's a subpath. +*/ + if (strnequal(d_fullname, d1_fullname, dlen) + (d1_fullname[dlen] == '/')) { TALLOC_FREE(d1_fullname); - ret = true; - goto out; + TALLOC_FREE(d_fullname); + return true; } TALLOC_FREE(d1_fullname); - } - out: + } + TALLOC_FREE(d_fullname); return ret; } -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 48fee26... Make the logic a lot clearer and fix the comment to match. Jeremy from fcd6a57... Correct fix for bug 6781 - Cannot rename subfolders in Explorer view with recent versions of Samba. Without this fix, renaming a directory ./a to ./b, whilst a directory ./aa was already open would fail. Jeremy. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 48fee26ab0a7b33fa97032b85bebbb4dc7fb8c68 Author: Jeremy Allison j...@samba.org Date: Wed Oct 7 15:39:38 2009 -0700 Make the logic a lot clearer and fix the comment to match. Jeremy --- Summary of changes: source3/smbd/files.c | 25 ++--- 1 files changed, 10 insertions(+), 15 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/files.c b/source3/smbd/files.c index bf21605..f7509d7 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -429,24 +429,19 @@ bool file_find_subpath(files_struct *dir_fsp) fsp-conn-connectpath, fsp-fsp_name-base_name); - if (strnequal(d_fullname, d1_fullname, dlen)) { - /* -* If the open file is a second file handle to the -* same name or is a stream on the original file, then -* don't return true. -*/ - if (d1_fullname[dlen] != '/') { - TALLOC_FREE(d1_fullname); - continue; - } - + /* +* If the open file has a path that is a longer +* component, then it's a subpath. +*/ + if (strnequal(d_fullname, d1_fullname, dlen) + (d1_fullname[dlen] == '/')) { TALLOC_FREE(d1_fullname); - ret = true; - goto out; + TALLOC_FREE(d_fullname); + return true; } TALLOC_FREE(d1_fullname); - } - out: + } + TALLOC_FREE(d_fullname); return ret; } -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 14dc32a... Oops. Don't break the build.. Jeremy. from 94ce06f... Make the logic a lot clearer and fix the comment to match. Jeremy http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 14dc32a4f58c3336c8ecf2d918b443768d94451e Author: Jeremy Allison j...@samba.org Date: Wed Oct 7 15:43:43 2009 -0700 Oops. Don't break the build.. Jeremy. --- Summary of changes: source3/smbd/files.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/files.c b/source3/smbd/files.c index f7509d7..2bc5ba6 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -405,14 +405,13 @@ bool file_find_subpath(files_struct *dir_fsp) files_struct *fsp; size_t dlen; char *d_fullname = NULL; - bool ret = false; d_fullname = talloc_asprintf(talloc_tos(), %s/%s, dir_fsp-conn-connectpath, dir_fsp-fsp_name-base_name); if (!d_fullname) { - goto out; + return false; } dlen = strlen(d_fullname); @@ -443,7 +442,7 @@ bool file_find_subpath(files_struct *dir_fsp) } TALLOC_FREE(d_fullname); - return ret; + return false; } / -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 879c3b8... Oops. Don't break the build.. Jeremy. from 48fee26... Make the logic a lot clearer and fix the comment to match. Jeremy http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 879c3bb9a77136777b269ad730d4b3ca223b Author: Jeremy Allison j...@samba.org Date: Wed Oct 7 15:43:43 2009 -0700 Oops. Don't break the build.. Jeremy. --- Summary of changes: source3/smbd/files.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/files.c b/source3/smbd/files.c index f7509d7..2bc5ba6 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -405,14 +405,13 @@ bool file_find_subpath(files_struct *dir_fsp) files_struct *fsp; size_t dlen; char *d_fullname = NULL; - bool ret = false; d_fullname = talloc_asprintf(talloc_tos(), %s/%s, dir_fsp-conn-connectpath, dir_fsp-fsp_name-base_name); if (!d_fullname) { - goto out; + return false; } dlen = strlen(d_fullname); @@ -443,7 +442,7 @@ bool file_find_subpath(files_struct *dir_fsp) } TALLOC_FREE(d_fullname); - return ret; + return false; } / -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via d294fd3... Exteded RAW-RENAME test to catch regressions in bug 6781. Jeremy. from 879c3b8... Oops. Don't break the build.. Jeremy. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit d294fd3a0c152e5bde491d39219c54c113db9afe Author: Jeremy Allison j...@samba.org Date: Wed Oct 7 16:52:29 2009 -0700 Exteded RAW-RENAME test to catch regressions in bug 6781. Jeremy. --- Summary of changes: source4/torture/raw/rename.c | 44 ++--- 1 files changed, 40 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/raw/rename.c b/source4/torture/raw/rename.c index 15fed0e..5402fed 100644 --- a/source4/torture/raw/rename.c +++ b/source4/torture/raw/rename.c @@ -528,8 +528,9 @@ static bool test_dir_rename(struct torture_context *tctx, struct smbcli_state *c NTSTATUS status; const char *dname1 = BASEDIR \\dir_for_rename; const char *dname2 = BASEDIR \\renamed_dir; +const char *dname1_long = BASEDIR \\dir_for_rename_long; const char *fname = BASEDIR \\dir_for_rename\\file.txt; - const char *sname = BASEDIR \\dir_for_rename:a stream:$DATA; + const char *sname = BASEDIR \\renamed_dir:a stream:$DATA; bool ret = true; int fnum = -1; @@ -542,8 +543,10 @@ static bool test_dir_rename(struct torture_context *tctx, struct smbcli_state *c /* create a directory */ smbcli_rmdir(cli-tree, dname1); smbcli_rmdir(cli-tree, dname2); +smbcli_rmdir(cli-tree, dname1_long); smbcli_unlink(cli-tree, dname1); smbcli_unlink(cli-tree, dname2); +smbcli_unlink(cli-tree, dname1_long); ZERO_STRUCT(io); io.generic.level = RAW_OPEN_NTCREATEX; @@ -561,6 +564,14 @@ static bool test_dir_rename(struct torture_context *tctx, struct smbcli_state *c fnum = io.ntcreatex.out.file.fnum; smbcli_close(cli-tree, fnum); +/* create the longname directory */ +io.ntcreatex.in.fname = dname1_long; +status = smb_raw_open(cli-tree, tctx, io); +CHECK_STATUS(status, NT_STATUS_OK); + +fnum = io.ntcreatex.out.file.fnum; + smbcli_close(cli-tree, fnum); + /* Now create and hold open a file. */ ZERO_STRUCT(io); @@ -625,6 +636,31 @@ static bool test_dir_rename(struct torture_context *tctx, struct smbcli_state *c /* close our handle to the directory. */ smbcli_close(cli-tree, fnum); + /* Open a handle on the long name, and then +* try a rename. This would catch a regression +* in bug #6781. +*/ + io.ntcreatex.in.fname = dname1_long; + io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN_IF; + + io.ntcreatex.in.access_mask = SEC_STD_READ_CONTROL | + SEC_FILE_READ_ATTRIBUTE | SEC_FILE_READ_EA | SEC_FILE_READ_DATA; + + status = smb_raw_open(cli-tree, tctx, io); +CHECK_STATUS(status, NT_STATUS_OK); +fnum = io.ntcreatex.out.file.fnum; + + ren_io.generic.level = RAW_RENAME_RENAME; + ren_io.rename.in.pattern1 = dname1; + ren_io.rename.in.pattern2 = dname2; + ren_io.rename.in.attrib = 0; + + status = smb_raw_rename(cli-tree, ren_io); + CHECK_STATUS(status, NT_STATUS_OK); + + /* close our handle to the longname directory. */ + smbcli_close(cli-tree, fnum); + /* * Now try opening a stream on the directory and holding it open * across a rename. This should be allowed. @@ -636,15 +672,15 @@ static bool test_dir_rename(struct torture_context *tctx, struct smbcli_state *c fnum = io.ntcreatex.out.file.fnum; ren_io.generic.level = RAW_RENAME_RENAME; - ren_io.rename.in.pattern1 = dname1; - ren_io.rename.in.pattern2 = dname2; + ren_io.rename.in.pattern1 = dname2; + ren_io.rename.in.pattern2 = dname1; ren_io.rename.in.attrib = 0; status = smb_raw_rename(cli-tree, ren_io); CHECK_STATUS(status, NT_STATUS_OK); done: - + if (fnum != -1) { smbcli_close(cli-tree, fnum); } -- Samba Shared Repository
[SCM] CTDB repository - branch master updated - ctdb-1.0.93-1-gf72d33a
The branch, master has been updated via f72d33ac73ebb1af802bacdfb30279df3cd8b8f9 (commit) from e77bf5708df6782b4516f698b9981a1d27e2f10b (commit) http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master - Log - commit f72d33ac73ebb1af802bacdfb30279df3cd8b8f9 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Thu Oct 8 16:45:25 2009 +1100 if a node fails to become frozen during recovery, mark it up with as a culprit so it will soon get banned --- Summary of changes: server/ctdb_recoverd.c | 21 +++-- 1 files changed, 15 insertions(+), 6 deletions(-) Changeset truncated at 500 lines: diff --git a/server/ctdb_recoverd.c b/server/ctdb_recoverd.c index 2be53f8..4222703 100644 --- a/server/ctdb_recoverd.c +++ b/server/ctdb_recoverd.c @@ -245,10 +245,18 @@ static int update_capabilities(struct ctdb_context *ctdb, struct ctdb_node_map * return 0; } +static void set_recmode_fail_callback(struct ctdb_context *ctdb, uint32_t node_pnn, int32_t res, TDB_DATA outdata, void *callback_data) +{ + struct ctdb_recoverd *rec = talloc_get_type(callback_data, struct ctdb_recoverd); + + DEBUG(DEBUG_ERR,(Failed to freeze node %u during recovery. Set it as ban culprit for %d credits\n, node_pnn, rec-nodemap-num)); + ctdb_set_culprit_count(rec, node_pnn, rec-nodemap-num); +} + /* change recovery mode on all nodes */ -static int set_recovery_mode(struct ctdb_context *ctdb, struct ctdb_node_map *nodemap, uint32_t rec_mode) +static int set_recovery_mode(struct ctdb_context *ctdb, struct ctdb_recoverd *rec, struct ctdb_node_map *nodemap, uint32_t rec_mode) { TDB_DATA data; uint32_t *nodes; @@ -263,8 +271,9 @@ static int set_recovery_mode(struct ctdb_context *ctdb, struct ctdb_node_map *no if (ctdb_client_async_control(ctdb, CTDB_CONTROL_FREEZE, nodes, CONTROL_TIMEOUT(), false, tdb_null, - NULL, NULL, - NULL) != 0) { + NULL, + set_recmode_fail_callback, + rec) != 0) { DEBUG(DEBUG_ERR, (__location__ Unable to freeze nodes. Recovery failed.\n)); talloc_free(tmp_ctx); return -1; @@ -1228,7 +1237,7 @@ static int do_recovery(struct ctdb_recoverd *rec, /* set recovery mode to active on all nodes */ - ret = set_recovery_mode(ctdb, nodemap, CTDB_RECOVERY_ACTIVE); + ret = set_recovery_mode(ctdb, rec, nodemap, CTDB_RECOVERY_ACTIVE); if (ret != 0) { DEBUG(DEBUG_ERR, (__location__ Unable to set recovery mode to active on cluster\n)); return -1; @@ -1374,7 +1383,7 @@ static int do_recovery(struct ctdb_recoverd *rec, DEBUG(DEBUG_NOTICE, (__location__ Recovery - updated flags\n)); /* disable recovery mode */ - ret = set_recovery_mode(ctdb, nodemap, CTDB_RECOVERY_NORMAL); + ret = set_recovery_mode(ctdb, rec, nodemap, CTDB_RECOVERY_NORMAL); if (ret != 0) { DEBUG(DEBUG_ERR, (__location__ Unable to set recovery mode to normal on cluster\n)); return -1; @@ -1858,7 +1867,7 @@ static void force_election(struct ctdb_recoverd *rec, uint32_t pnn, DEBUG(DEBUG_INFO,(__location__ Force an election\n)); /* set all nodes to recovery mode to stop all internode traffic */ - ret = set_recovery_mode(ctdb, nodemap, CTDB_RECOVERY_ACTIVE); + ret = set_recovery_mode(ctdb, rec, nodemap, CTDB_RECOVERY_ACTIVE); if (ret != 0) { DEBUG(DEBUG_ERR, (__location__ Unable to set recovery mode to active on cluster\n)); return; -- CTDB repository