Build status as of Wed Apr 7 06:00:01 2010
URL: http://build.samba.org/ --- /home/build/master/cache/broken_results.txt.old 2010-04-06 00:00:03.0 -0600 +++ /home/build/master/cache/broken_results.txt 2010-04-07 00:00:12.0 -0600 @@ -1,4 +1,4 @@ -Build status as of Tue Apr 6 06:00:02 2010 +Build status as of Wed Apr 7 06:00:01 2010 Build counts: Tree Total Broken Panic @@ -12,11 +12,11 @@ rsync29 10 0 samba-docs 0 0 0 samba-web0 0 0 -samba_3_current 27 21 0 -samba_3_master 27 27 1 +samba_3_current 27 26 2 +samba_3_master 27 27 2 samba_3_next 27 25 3 -samba_4_0_test 29 28 0 -samba_4_0_waf 27 26 1 +samba_4_0_test 29 29 0 +samba_4_0_waf 27 27 1 talloc 29 10 0 tdb 27 17 0
[SCM] Samba Shared Repository - annotated tag release-3-5-2 created
The annotated tag, release-3-5-2 has been created at 27eae9ba581aa583ce4c9c335f38b33cb616be83 (tag) tagging a5e9217d5ca9eb7697e5fa855572bb49f0e644ac (commit) replaces release-3-5-1 tagged by Karolin Seeger on Wed Apr 7 09:48:23 2010 +0200 - Log - tag release-3-5-2 -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.12 (GNU/Linux) iD8DBQBLvDjebzORW2Vot+oRAtYrAJwNHeqAm/8YDho7Qv6wslSwfAl5GgCeN/Pa tm59d0epkUseWmL73/zcyFw= =v9Te -END PGP SIGNATURE- Andrew Tridgell (4): s3-events: make the old timed events compatible with tevent s3-brlock: add a minimim retry time for pending blocking locks s3-brlock: we don't need these MSG_SMB_UNLOCK calls now s3-smbd: add a rate limited cleanup of brl, connections and locking db Björn Jacke (1): s3:vfs_aixacl2: add missing semicolon Bo Yang (1): s3: signals are processed twice in child. Günther Deschner (24): spoolss: rollback SetPrinterData{Ex} IDL. s3-spoolss: fix _spoolss_SetPrinterData{Ex} after IDL change. s3-net: fix net after spoolss_SetPrinterData{Ex} IDL change. s3-rpcclient: fix rpcclient after spoolss_SetPrinterData{Ex} IDL change. spoolss: rollback GetPrinterData[Ex] IDL. s3-spoolss: fix _spoolss_GetPrinterDataEx after IDL change. s3-rpcclient: fix rpcclient after spoolss_GetPrinterData{Ex} IDL change. spoolss: fix spoolss_EnumPrinterDataEx IDL. s3-net: fix net after spoolss_EnumPrinterDataEx IDL change. s3-rpcclient: fix rpcclient after spoolss_EnumPrinterDataEx IDL change. s3-spoolss: fix _spoolss_EnumPrinterDataEx after idl s3-libads: fix get_remote_printer_publishing_data after spoolss_EnumPrinterDataEx IDL change. s3: re-run make samba3-idl. s4-spoolss: fix spoolss_GetPrinterData implementation after IDL change. s4-spoolss: fix dcesrv_spoolss_GetPrinterData build. s4-smbtorture: fix RPC-SPOOLSS-WIN after PrinterData IDL changes. s4-smbtorture: fix smbtorture after GetPrinterData{Ex} after IDL changes. s4-smbtorture: add --option=torture:spoolss_check_size=yes. s3-netlogon: Fix bug #7237: _netr_SamLogon segfaults for clients sending NULL domain. s3-spoolss: Fix value-needed calculation in_spoolss_EnumPrinterData(). winreg: fix winreg_QueryValue IDL. s3: re-run make samba3-idl. s3-winreg: add some debug statements to _winreg_QueryValue(). s3-winreg: Fix _winreg_QueryValue crash bugs and implement windows behavior. Holger Hetterich (1): s3: net_share.c: fix argc handling Jeff Layton (3): mount.cifs: take extra care that mountpoint isn't changed during mount mount.cifs: check for invalid characters in device name and mountpoint mount.cifs: don't allow it to be run as setuid root program Jeremy Allison (10): First part of fix for bug #7159 - client rpc_transport doesn't cope with bad server data returns. Second part of fix for bug #7159 - client rpc_transport doesn't cope with bad server data returns. Fix bug #7234 - Symlink delete fails but incorrectly reports success to client. s3-printing: Fix printer admin functionality. Fix bug 7075 - bug in vfs_scannedonly rmdir implementation. Fix bug 7297 - smbd crashes with CUPS printers and no [printers] share defined. Fix bug #7283 - vfs_acl_tdb does not work as expected. Fix bug 7307 - man net usershare mistake Fix warning messages on compile in g_lock.c Volker Michael please check. Fix bug 7310 - DOS attribute inconsistency with MS Office Kai Blin (1): s3 ntlm_auth: Don't malloc data that will be talloc_free()d Karolin Seeger (5): VERSION: Raise version number up to 3.5.2. WHATSNEW: Start release notes for Samba 3.5.2. WHATSNEW: Prepare release notes for Samba 3.5.2. WHATSNEW: Update changes since 3.5.1. WHATSNEW: Update changes since 3.5.1. Michael Adam (20): s3:build: Fix automatic building of vfs_tsmsm if gpfs and dmapi are present. s3:release-scripts: fix create-tarball to treat vendor patch level correctly s3:dbwrap_ctdb: start rewrite of transactions using the global lock (g_lock) build: Add a configure check for CTDB_CONTROL_TRANS3_COMMIT. s3:dbwrap_ctdb: update (C) s3:dbwrap_ctdb: change db_ctdb_transaction_store() to return NTSTATUS. s3:dbwrap_ctdb: maintain a database sequence number that bumps in transactions s3:build: remove checks for deprecated ctdb controls. s3:dbwrap_ctdb: fix db_ctdb_fetch_db_seqnum_from_db() when NT_STATUS_NOT_FOUND. s3:dbwrap_ctdb: fix two may be used uninitialized warnings s3:dbwrap_ctdb: fix an uninitialized variable. s3:dbwrap_ctdb: fix logic error in pull_newest_from_marshall_buffer(). s3:dbwrap_ctdb: fix brown paperbag bug in ctdb_transaction_commit. s3:dbwrap_ctdb: exit early
svn commit: samba-web r1415 - in trunk: . devel history
Author: kseeger Date: 2010-04-07 02:19:17 -0600 (Wed, 07 Apr 2010) New Revision: 1415 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=samba-webrev=1415 Log: Announce Samba 3.5.2 Karolin Added: trunk/history/samba-3.5.2.html Modified: trunk/devel/index.html trunk/header_columns.html trunk/history/header_history.html trunk/index.html Changeset: Modified: trunk/devel/index.html === --- trunk/devel/index.html 2010-03-27 15:44:25 UTC (rev 1414) +++ trunk/devel/index.html 2010-04-07 08:19:17 UTC (rev 1415) @@ -20,8 +20,8 @@ 3.0.x and 2.2.x versions of Samba, which are no longer in active development. /p -pThe latest production release is emSamba 3.5.1/em (a -href=/samba/history/samba-3.5.1.htmlrelease notes/a and a +pThe latest production release is emSamba 3.5.2/em (a +href=/samba/history/samba-3.5.2.htmlrelease notes/a and a href=/samba/download/download/a)./p pWith the release of Samba 3.5.0, the 3.4 series has been turned into Modified: trunk/header_columns.html === --- trunk/header_columns.html 2010-03-27 15:44:25 UTC (rev 1414) +++ trunk/header_columns.html 2010-04-07 08:19:17 UTC (rev 1415) @@ -120,9 +120,9 @@ div class=releases h4Current Stable Release/h4 ul -lia href=/samba/ftp/stable/samba-3.5.1.tar.gzSamba 3.5.1 (gzipped)/a/li -lia href=/samba/history/samba-3.5.1.htmlRelease Notes/a/li -lia href=/samba/ftp/stable/samba-3.5.1.tar.ascSignature/a/li +lia href=/samba/ftp/stable/samba-3.5.2.tar.gzSamba 3.5.2 (gzipped)/a/li +lia href=/samba/history/samba-3.5.2.htmlRelease Notes/a/li +lia href=/samba/ftp/stable/samba-3.5.2.tar.ascSignature/a/li /ul h4Historical/h4 Modified: trunk/history/header_history.html === --- trunk/history/header_history.html 2010-03-27 15:44:25 UTC (rev 1414) +++ trunk/history/header_history.html 2010-04-07 08:19:17 UTC (rev 1415) @@ -77,6 +77,7 @@ div class=notes h6Release Notes/h6 ul +lia href=samba-3.5.2.htmlsamba-3.5.2/a/li lia href=samba-3.5.1.htmlsamba-3.5.1/a/li lia href=samba-3.5.0.htmlsamba-3.5.0/a/li lia href=samba-3.4.7.htmlsamba-3.4.7/a/li Added: trunk/history/samba-3.5.2.html === --- trunk/history/samba-3.5.2.html (rev 0) +++ trunk/history/samba-3.5.2.html 2010-04-07 08:19:17 UTC (rev 1415) @@ -0,0 +1,124 @@ +!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN +http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; +html xmlns=http://www.w3.org/1999/xhtml; + +head +titleSamba - Release Notes Archive/title +/head + +body + + H2Samba 3.5.2 Available for Download/H2 + +p +pre + = + Release Notes for Samba 3.5.2 + April 7, 2010 + = + + +This is the latest stable release of Samba 3.5. + +Major enhancements in Samba 3.5.2 include: + + o Fix smbd segfaults in _netr_SamLogon for clients sending null domain +(bug #7237). + o Fix smbd segfaults in waiting for connections message (bug #7251). + o Fix an uninitialized variable read in smbd (bug #7254). + o Fix a memleak in Winbind (bug #7278). + o Fix Winbind reconnection to it's own domain (bug #7295). + + +Changes since 3.5.1 +--- + + +o Michael Adam lt;ob...@samba.orggt; +* BUG 7231: Fix automatic building of vfs_tsmsm if gpfs and dmapi are + present. +* BUG 7232: Fix race conditions in CTDB persistent transactions. +* BUG 7313: Make 'net conf addshare' atomic. +* BUG 7314: Eliminate race condition in creating/scanning sorted subkeys in + the registry backend. + + +o Jeremy Allison lt;j...@samba.orggt; +* BUG 7075: Fix bug in vfs_scannedonly rmdir implementation. +* BUG 7159: Fix handling of bad server data returns in client rpc_transport. +* BUG 7234: Symlink delete fails but incorrectly reports success to client. +* BUG 7255: Fix printer admin functionality. +* BUG 7283: Fix smbd segfault if using vfs_acl_tdb. +* BUG 7297: Fix smbd crashes with CUPS printers and no [printers] share defined. +* BUG 7310: Fix DOS attribute inconsistency with MS Office. + + +o Kai Blin lt;k...@samba.orggt; +* BUG 7290: Fix core dump in 'ntlm_auth' with gss-spnego helper. + + +o Guuml;nther Deschner lt;g...@samba.orggt; +* BUG 6727: Fix several printing issues. +* BUG 7237: Fix smbd segfaults in _netr_SamLogon for clients sending + null domain. +* BUG 7256: Fix value-needed calculation in_spoolss_EnumPrinterData(). +* BUG 7258: Fix _winreg_QueryValue crash bugs and implement Windows + behavior. + + +o Holger Hetterich lt;hhet...@novell.comgt; +
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 827084b... WHATSNEW: Start release notes for Samba 3.5.3. via 21c2500... VERSION: Raise version number up to 3.5.3. from 05bc07c... WHATSNEW: Update changes since 3.5.1. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 827084bc317c76335f76d76970a51e67222b1fc9 Author: Karolin Seeger ksee...@samba.org Date: Wed Apr 7 10:41:07 2010 +0200 WHATSNEW: Start release notes for Samba 3.5.3. Karolin commit 21c25005c79fa957ac95514373c7aa8828f3fee1 Author: Karolin Seeger ksee...@samba.org Date: Wed Apr 7 10:39:08 2010 +0200 VERSION: Raise version number up to 3.5.3. Karolin --- Summary of changes: WHATSNEW.txt| 45 ++--- source3/VERSION |2 +- 2 files changed, 43 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/WHATSNEW.txt b/WHATSNEW.txt index e3726f2..8d79905 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,4 +1,45 @@ = + Release Notes for Samba 3.5.3 + May 19, 2010 + = + + +This is the latest stable release of Samba 3.5. + +Major enhancements in Samba 3.5.3 include: + + o + + +Changes since 3.5.2 +--- + + + +## +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.5 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.5.2 April 7, 2010 = @@ -126,9 +167,7 @@ database (https://bugzilla.samba.org/). == The Samba Team == - -Release notes for older releases follow: - +-- = Release Notes for Samba 3.5.1 diff --git a/source3/VERSION b/source3/VERSION index 7e78360..638de0b 100644 --- a/source3/VERSION +++ b/source3/VERSION @@ -25,7 +25,7 @@ SAMBA_VERSION_MAJOR=3 SAMBA_VERSION_MINOR=5 -SAMBA_VERSION_RELEASE=2 +SAMBA_VERSION_RELEASE=3 # Bug fix releases use a letter for the patch revision # -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-stable updated
The branch, v3-5-stable has been updated via 4edb5b0... WHATSNEW: Start release notes for Samba 3.5.3. via d5ee522... VERSION: Raise version number up to 3.5.3. from a5e9217... WHATSNEW: Update changes since 3.5.1. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-stable - Log - commit 4edb5b0bf0158dbe16cf426729e8cd1ed23d205d Author: Karolin Seeger ksee...@samba.org Date: Wed Apr 7 10:41:07 2010 +0200 WHATSNEW: Start release notes for Samba 3.5.3. Karolin (cherry picked from commit 827084bc317c76335f76d76970a51e67222b1fc9) commit d5ee52280a103cfcc0a95ce011d48d278f718a00 Author: Karolin Seeger ksee...@samba.org Date: Wed Apr 7 10:39:08 2010 +0200 VERSION: Raise version number up to 3.5.3. Karolin (cherry picked from commit 21c25005c79fa957ac95514373c7aa8828f3fee1) --- Summary of changes: WHATSNEW.txt| 45 ++--- source3/VERSION |2 +- 2 files changed, 43 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/WHATSNEW.txt b/WHATSNEW.txt index e3726f2..8d79905 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,4 +1,45 @@ = + Release Notes for Samba 3.5.3 + May 19, 2010 + = + + +This is the latest stable release of Samba 3.5. + +Major enhancements in Samba 3.5.3 include: + + o + + +Changes since 3.5.2 +--- + + + +## +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.5 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.5.2 April 7, 2010 = @@ -126,9 +167,7 @@ database (https://bugzilla.samba.org/). == The Samba Team == - -Release notes for older releases follow: - +-- = Release Notes for Samba 3.5.1 diff --git a/source3/VERSION b/source3/VERSION index 425a2c2..4c95fd3 100644 --- a/source3/VERSION +++ b/source3/VERSION @@ -25,7 +25,7 @@ SAMBA_VERSION_MAJOR=3 SAMBA_VERSION_MINOR=5 -SAMBA_VERSION_RELEASE=2 +SAMBA_VERSION_RELEASE=3 # Bug fix releases use a letter for the patch revision # -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 4712940... s4-smbtorture: merge badname spoolss openprinter tests. via 8bb30ff... s4-smbtorture: avoid passing down a full test_spoolss_context to directory spoolss tests when not used. from 3d113a6... Ensure we total up the correct number of creds requested in a compound request. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 4712940e7cbd0d05a30b548d23e96a4d0b741e78 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 00:39:17 2010 +0200 s4-smbtorture: merge badname spoolss openprinter tests. Guenther commit 8bb30ffcf619e4e799ba38df41f0479fb70980c9 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 00:38:02 2010 +0200 s4-smbtorture: avoid passing down a full test_spoolss_context to directory spoolss tests when not used. Guenther --- Summary of changes: source4/torture/rpc/spoolss.c | 80 ++--- 1 files changed, 51 insertions(+), 29 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index c109a7a..4cc0e84 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -311,7 +311,6 @@ static bool test_EnumPorts(struct torture_context *tctx, static bool test_GetPrintProcessorDirectory(struct torture_context *tctx, struct dcerpc_pipe *p, - struct test_spoolss_context *ctx, const char *environment) { NTSTATUS status; @@ -331,10 +330,10 @@ static bool test_GetPrintProcessorDirectory(struct torture_context *tctx, .server = },{ .level = 1, - .server = talloc_asprintf(ctx, %s, dcerpc_server_name(p)) + .server = talloc_asprintf(tctx, %s, dcerpc_server_name(p)) },{ .level = 1024, - .server = talloc_asprintf(ctx, %s, dcerpc_server_name(p)) + .server = talloc_asprintf(tctx, %s, dcerpc_server_name(p)) } }; int i; @@ -353,18 +352,18 @@ static bool test_GetPrintProcessorDirectory(struct torture_context *tctx, torture_comment(tctx, Testing GetPrintProcessorDirectory level %u\n, r.in.level); - status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, ctx, r); + status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, tctx, r); torture_assert_ntstatus_ok(tctx, status, dcerpc_spoolss_GetPrintProcessorDirectory failed); torture_assert_werr_equal(tctx, r.out.result, WERR_INSUFFICIENT_BUFFER, GetPrintProcessorDirectory unexpected return code); - blob = data_blob_talloc(ctx, NULL, needed); + blob = data_blob_talloc(tctx, NULL, needed); data_blob_clear(blob); r.in.buffer = blob; r.in.offered = needed; - status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, ctx, r); + status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, tctx, r); torture_assert_ntstatus_ok(tctx, status, dcerpc_spoolss_GetPrintProcessorDirectory failed); torture_assert_werr_ok(tctx, r.out.result, GetPrintProcessorDirectory failed); @@ -378,7 +377,6 @@ static bool test_GetPrintProcessorDirectory(struct torture_context *tctx, static bool test_GetPrinterDriverDirectory(struct torture_context *tctx, struct dcerpc_pipe *p, - struct test_spoolss_context *ctx, const char *environment) { NTSTATUS status; @@ -398,10 +396,10 @@ static bool test_GetPrinterDriverDirectory(struct torture_context *tctx, .server = },{ .level = 1, - .server = talloc_asprintf(ctx, %s, dcerpc_server_name(p)) + .server = talloc_asprintf(tctx, %s, dcerpc_server_name(p)) },{ .level = 1024, - .server = talloc_asprintf(ctx, %s, dcerpc_server_name(p)) + .server = talloc_asprintf(tctx, %s, dcerpc_server_name(p)) } }; int i; @@ -420,18 +418,18 @@ static bool test_GetPrinterDriverDirectory(struct torture_context *tctx, torture_comment(tctx, Testing GetPrinterDriverDirectory level %u\n, r.in.level); - status =
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 3fdebc0... s3: add comment about what the FSCTL_QUERY_ALLOCATED_RANGES currently does from 4712940... s4-smbtorture: merge badname spoolss openprinter tests. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 3fdebc06465cd6493617c2b129759e08200097f7 Author: Björn Jacke b...@sernet.de Date: Wed Apr 7 12:21:07 2010 +0200 s3: add comment about what the FSCTL_QUERY_ALLOCATED_RANGES currently does --- Summary of changes: source3/smbd/nttrans.c |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 46edc06..a03a0b1 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -2217,6 +2217,12 @@ static void call_nt_transact_ioctl(connection_struct *conn, } case FSCTL_QUERY_ALLOCATED_RANGES: { + /* FIXME: This is just a dummy reply, telling that all of the +* file is allocated. MKS cp needs that. +* Adding the real allocated ranges via FIEMAP on Linux +* and SEEK_DATA/SEEK_HOLE on Solaris is needed to make +* this FSCTL correct for sparse files. +*/ NTSTATUS status; uint64_t offset, length; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 95b9c48... s3-rpcclient: allow to define server_unc in cmd_srvsvc_srv_query_info(). via f63c345... s4-smbtorture: test all types and also use a wellknown builtin form name in RPC-SPOOLSS. from 3fdebc0... s3: add comment about what the FSCTL_QUERY_ALLOCATED_RANGES currently does http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 95b9c48ef1fbe6c1566a86cadf3295b6c7e28319 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 14:38:31 2010 +0200 s3-rpcclient: allow to define server_unc in cmd_srvsvc_srv_query_info(). Guenther commit f63c345bbd2b069c1f946529d559e8c6dbd7f2bc Author: Günther Deschner g...@samba.org Date: Wed Apr 7 14:37:30 2010 +0200 s4-smbtorture: test all types and also use a wellknown builtin form name in RPC-SPOOLSS. Guenther --- Summary of changes: source3/rpcclient/cmd_srvsvc.c | 14 +++- source4/torture/rpc/spoolss.c | 171 ++-- 2 files changed, 138 insertions(+), 47 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/rpcclient/cmd_srvsvc.c b/source3/rpcclient/cmd_srvsvc.c index 866b681..890151e 100644 --- a/source3/rpcclient/cmd_srvsvc.c +++ b/source3/rpcclient/cmd_srvsvc.c @@ -173,17 +173,23 @@ static WERROR cmd_srvsvc_srv_query_info(struct rpc_pipe_client *cli, union srvsvc_NetSrvInfo info; WERROR result; NTSTATUS status; + const char *server_unc = cli-srv_name_slash; - if (argc 2) { - printf(Usage: %s [infolevel]\n, argv[0]); + if (argc 3) { + printf(Usage: %s [infolevel] [server_unc]\n, argv[0]); return WERR_OK; } - if (argc == 2) + if (argc = 2) { info_level = atoi(argv[1]); + } + + if (argc = 3) { + server_unc = argv[2]; + } status = rpccli_srvsvc_NetSrvGetInfo(cli, mem_ctx, -cli-srv_name_slash, +server_unc, info_level, info, result); diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index 4cc0e84..d4970c1 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -2386,7 +2386,8 @@ static bool test_EnumForms_find_one(struct torture_context *tctx, static bool test_DeleteForm(struct torture_context *tctx, struct dcerpc_binding_handle *b, struct policy_handle *handle, - const char *form_name) + const char *form_name, + WERROR expected_result) { struct spoolss_DeleteForm r; @@ -2398,13 +2399,15 @@ static bool test_DeleteForm(struct torture_context *tctx, torture_assert_ntstatus_ok(tctx, dcerpc_spoolss_DeleteForm_r(b, tctx, r), DeleteForm failed); - torture_assert_werr_ok(tctx, r.out.result, - DeleteForm failed); - torture_assert_ntstatus_ok(tctx, - dcerpc_spoolss_DeleteForm_r(b, tctx, r), - 2nd DeleteForm failed); - torture_assert_werr_equal(tctx, r.out.result, WERR_INVALID_FORM_NAME, - 2nd DeleteForm failed); + torture_assert_werr_equal(tctx, r.out.result, expected_result, + DeleteForm gave unexpected result); + if (W_ERROR_IS_OK(r.out.result)) { + torture_assert_ntstatus_ok(tctx, + dcerpc_spoolss_DeleteForm_r(b, tctx, r), + 2nd DeleteForm failed); + torture_assert_werr_equal(tctx, r.out.result, WERR_INVALID_FORM_NAME, + 2nd DeleteForm failed); + } return true; } @@ -2413,7 +2416,8 @@ static bool test_AddForm(struct torture_context *tctx, struct dcerpc_binding_handle *b, struct policy_handle *handle, uint32_t level, -union spoolss_AddFormInfo *info) +union spoolss_AddFormInfo *info, +WERROR expected_result) { struct spoolss_AddForm r; @@ -2425,19 +2429,14 @@ static bool test_AddForm(struct torture_context *tctx, r.in.level = level; r.in.info = *info; - torture_comment(tctx, Testing AddForm(%s) level %d\n, - r.in.info.info1-form_name, r.in.level); + torture_comment(tctx, Testing AddForm(%s) level %d, type %d\n, + r.in.info.info1-form_name, r.in.level, + r.in.info.info1-flags);
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 345fcf5... s4-smbtorture: test for invalid form flags in RPC-SPOOLSS. from 95b9c48... s3-rpcclient: allow to define server_unc in cmd_srvsvc_srv_query_info(). http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 345fcf58751c49a4832476561855f7deeba3f7b3 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 14:56:07 2010 +0200 s4-smbtorture: test for invalid form flags in RPC-SPOOLSS. Guenther --- Summary of changes: source4/torture/rpc/spoolss.c | 26 +- 1 files changed, 21 insertions(+), 5 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index d4970c1..b86a9ce 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -2440,8 +2440,13 @@ static bool test_AddForm(struct torture_context *tctx, torture_assert_ntstatus_ok(tctx, dcerpc_spoolss_AddForm_r(b, tctx, r), 2nd AddForm failed); - torture_assert_werr_equal(tctx, r.out.result, WERR_FILE_EXISTS, - 2nd AddForm gave unexpected result); + if (W_ERROR_EQUAL(expected_result, WERR_INVALID_PARAM)) { + torture_assert_werr_equal(tctx, r.out.result, WERR_INVALID_PARAM, + 2nd AddForm gave unexpected result); + } else { + torture_assert_werr_equal(tctx, r.out.result, WERR_FILE_EXISTS, + 2nd AddForm gave unexpected result); + } return true; } @@ -2563,9 +2568,11 @@ static bool test_Forms_args(struct torture_context *tctx, torture_assert_int_equal(tctx, info.info1.size.width, add_info.info1-size.width, width mismatch); } - torture_assert(tctx, - test_EnumForms_find_one(tctx, b, handle, print_server, form_name), - Newly added form not found in enum call); + if (!W_ERROR_EQUAL(expected_add_result, WERR_INVALID_PARAM)) { + torture_assert(tctx, + test_EnumForms_find_one(tctx, b, handle, print_server, form_name), + Newly added form not found in enum call); + } torture_assert(tctx, test_DeleteForm(tctx, b, handle, form_name, expected_delete_result), @@ -2651,7 +2658,16 @@ static bool test_Forms(struct torture_context *tctx, .info1.area = area, .expected_add_result= WERR_FILE_EXISTS, .expected_delete_result = WERR_INVALID_PARAM + }, + { + .info1.flags= 12345, + .info1.form_name= invalid_flags, + .info1.size = size, + .info1.area = area, + .expected_add_result= WERR_INVALID_PARAM, + .expected_delete_result = WERR_INVALID_FORM_NAME } + }; for (i=0; i ARRAY_SIZE(forms); i++) { -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 1ac654d... s4:WHATSNEW4.txt - further updates and corrections via acfd025... s4:pyregistry.c - fix indentation via fa4d91e... s4:provision - add a comment which explains why paths.dns_keytab is stored without path reference from 345fcf5... s4-smbtorture: test for invalid form flags in RPC-SPOOLSS. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 1ac654d108ebeede3ff78ddb30f19e1f4d516063 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Apr 7 15:02:23 2010 +0200 s4:WHATSNEW4.txt - further updates and corrections Some are inspired by ekacnet. commit acfd02574b1d8de11beb11609020f075083aa019 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Apr 7 14:33:09 2010 +0200 s4:pyregistry.c - fix indentation commit fa4d91e1e0cc4a5383d735089b40f28e384fbd5d Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Apr 7 14:20:18 2010 +0200 s4:provision - add a comment which explains why paths.dns_keytab is stored without path reference --- Summary of changes: WHATSNEW4.txt | 29 +- source4/lib/registry/pyregistry.c | 35 ++- source4/scripting/python/samba/provision.py |3 ++ 3 files changed, 38 insertions(+), 29 deletions(-) Changeset truncated at 500 lines: diff --git a/WHATSNEW4.txt b/WHATSNEW4.txt index 7176abe..fe5274d 100644 --- a/WHATSNEW4.txt +++ b/WHATSNEW4.txt @@ -73,11 +73,16 @@ http://wiki.samba.org/index.php/Samba4_DRS_TODO_List Beside this the release includes: +* a new build system based on WAF +Andrew Tridgell (tridge) invested much time to bring this up. He achieved a +marvellous work which brings us faster building, easier management and smaller +binaries. + * enhancements in Samba4 winbind to provide a fairly good implementation of the most important functions needed by libnss_winbind and pam_winbind -The use of this two components allows a user/group mapping for Windows accounts -on UNIX and UNIX-like systems. Therefore also these accounts can be used to -connect to services as ssh, login, Xsession and so on. +This two components allow a user/group mapping for Windows accounts on UNIX and +UNIX-like systems. Therefore also these accounts can be used to connect to +services as ssh, login, Xsession and so on. More informations available at http://wiki.samba.org/index.php/Samba4/Winbind and for winbind in general, libnss_winbind and pam_winbind in the Samba 3.X documentation. @@ -87,8 +92,10 @@ These can now also be set on the command line directly on the server. See net acl for further informations. * dynamic DNS updates -A new DNS upgrade mechanism has been introduced which works with newer bind9 -releases. +Up-to-date DNS entries are essential for Active Directory deployments. As for +the moment Samba4 isn't yet capable to interoperate with Microsofts AD DNS +server (regarding RPCs, ADs zone entries...) a kind of update script has been +developed. It also permits the update of the grant and resource lists. * registry improvements The registry code was reworked, improved and retested. This was achieved by the @@ -97,10 +104,11 @@ new torture tests written by gd and some additional testing against Windows Also some real bugs were fixed. * new Kerberos HEIMDAL release -Abartlet imported a new release with various bugfixes +Andrew Bartlett (abartlet) imported a new release with various bugfixes * DCE/RPC code unification work -Metze started his work to unify these codebases between s3 and s4 +Stefan Metzmacher (metze) started his work to unify these codebases between s3 +and s4 * And much more We always try to fix bugs and keep improving the (source) quality of our @@ -139,9 +147,6 @@ KNOWN ISSUES from Samba3 to Samba4. It's not included yet in the binary distributions since it's completely experimental! -- ACL are not set by default on shares created by the provision. - Work is underway on this subject and it should be fixed soon. - RUNNING Samba4 == @@ -153,8 +158,8 @@ DEVELOPMENT and FEEDBACK We need your help! Projects as Samba 4 live from the community feedback. If you provide expressive bug reports, some documentation snippets on the wiki or some -real patches - all is appreciated if it meets our quality criterias. Here you -can find the links: +real code patches - all is appreciated if it meets our quality criterias. Here +you can find further references: Bugs can be filed at https://bugzilla.samba.org/ but please be aware that many features are simply not expected to work at this stage. diff --git a/source4/lib/registry/pyregistry.c b/source4/lib/registry/pyregistry.c index d7295b5..b043594 100644 --- a/source4/lib/registry/pyregistry.c
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via eebc66c... s3-spoolss: Added a winreg_getform1 function. via c7fb84a... s3-spoolss: Added a winreg_setform1 function. via 0d46ab0... s3-spoolss: Added a winreg_deleteform1 function. via 93575d6... s3-spoolss: Added a winreg_addform1 function. via fbd3235... s3-spoolss: Added a winreg_enumforms1 function. via 20e96d9... s3-spoolss: Fixed winreg_printer_openkey to be used in a more generic way. via adfd485... s3-spoolss: Added a delete_printer_key function using the winreg pipe. via f0054d8... s3-spoolss: Added a enum_printer_key function using the winreg pipe. via 77d1b73... s3-spoolss: Added a delete_printer_dataex function using the winreg pipe. via e498338... s3-spoolss: Added a enum_printer_dataex function using the winreg pipe. via 511dba5... s3-spoolss: Added a get_printer_dataex function using the winreg pipe. via bc23545... s3-spoolss: Added a set_printer_dataex function using the winreg pipe. via 4f3893f... s3-spoolss: Added a function to open a regkey using the winreg pipe. from 1ac654d... s4:WHATSNEW4.txt - further updates and corrections http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit eebc66ce324192b38c1ceca857623c634875d379 Author: Andreas Schneider a...@samba.org Date: Thu Apr 1 12:45:58 2010 +0200 s3-spoolss: Added a winreg_getform1 function. Signed-off-by: Günther Deschner g...@samba.org commit c7fb84a58fd3597431c0bbe131e51a95eaff8a70 Author: Andreas Schneider a...@samba.org Date: Thu Apr 1 11:51:59 2010 +0200 s3-spoolss: Added a winreg_setform1 function. Signed-off-by: Günther Deschner g...@samba.org commit 0d46ab0f3eb9662d7ee3eaf8f680632486878d46 Author: Andreas Schneider a...@samba.org Date: Wed Mar 31 15:31:21 2010 +0200 s3-spoolss: Added a winreg_deleteform1 function. Signed-off-by: Günther Deschner g...@samba.org commit 93575d6d7051089b50e038a152750939130c6a72 Author: Andreas Schneider a...@samba.org Date: Wed Mar 31 13:04:04 2010 +0200 s3-spoolss: Added a winreg_addform1 function. Signed-off-by: Günther Deschner g...@samba.org commit fbd32356103e8d72dadf51e51b3119443f13ffb2 Author: Andreas Schneider a...@samba.org Date: Wed Mar 31 13:03:09 2010 +0200 s3-spoolss: Added a winreg_enumforms1 function. Signed-off-by: Günther Deschner g...@samba.org commit 20e96d92430f8f9e18351be96319c3c3758ccb77 Author: Andreas Schneider a...@samba.org Date: Tue Mar 30 14:46:32 2010 +0200 s3-spoolss: Fixed winreg_printer_openkey to be used in a more generic way. Signed-off-by: Günther Deschner g...@samba.org commit adfd4854faf8b2177574d62950324d676d92fae0 Author: Andreas Schneider a...@samba.org Date: Tue Apr 6 17:01:15 2010 +0200 s3-spoolss: Added a delete_printer_key function using the winreg pipe. Signed-off-by: Günther Deschner g...@samba.org commit f0054d8361b90acc3b4d39b0c283f9d54467e61d Author: Andreas Schneider a...@redhat.com Date: Wed Mar 17 15:59:10 2010 +0100 s3-spoolss: Added a enum_printer_key function using the winreg pipe. Signed-off-by: Günther Deschner g...@samba.org commit 77d1b73a3e31f67dce28055603c34bd78e927616 Author: Andreas Schneider a...@redhat.com Date: Mon Mar 15 12:30:05 2010 +0100 s3-spoolss: Added a delete_printer_dataex function using the winreg pipe. Signed-off-by: Günther Deschner g...@samba.org commit e498338f6f29ffdcca0f3108968e04f635c797d4 Author: Andreas Schneider a...@redhat.com Date: Fri Mar 12 17:31:21 2010 +0100 s3-spoolss: Added a enum_printer_dataex function using the winreg pipe. Signed-off-by: Günther Deschner g...@samba.org commit 511dba5ae8529f8a3e661a2d9d0e6426e38fbee8 Author: Andreas Schneider a...@redhat.com Date: Mon Mar 15 12:27:51 2010 +0100 s3-spoolss: Added a get_printer_dataex function using the winreg pipe. Signed-off-by: Günther Deschner g...@samba.org commit bc235459094f01e6fbf3b544bb4848427ceae9d5 Author: Andreas Schneider a...@redhat.com Date: Mon Mar 15 12:24:59 2010 +0100 s3-spoolss: Added a set_printer_dataex function using the winreg pipe. Signed-off-by: Günther Deschner g...@samba.org commit 4f3893f8148a36d11a4fa333c323fcf6f0176b2e Author: Andreas Schneider a...@redhat.com Date: Mon Mar 15 12:24:40 2010 +0100 s3-spoolss: Added a function to open a regkey using the winreg pipe. Signed-off-by: Günther Deschner g...@samba.org --- Summary of changes: source3/Makefile.in |1 + source3/rpc_server/srv_spoolss_util.c | 1768 + source3/rpc_server/srv_spoolss_util.h | 257 + 3 files changed, 2026 insertions(+), 0 deletions(-) create mode 100644
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via c76bd65... s4-samdb: Allow skipping global schema. via feeedf4... s4-provision: Proper handling of exceptions, use SamDB class but skip global schema. via 21ab06f... s4-python: Move samdb_ntds_objectGUID to pydsdb. via fe4b212... urgent_replication: Use standard comments rather than docstrings. from eebc66c... s3-spoolss: Added a winreg_getform1 function. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit c76bd65b608bed0810013b3a447a4a30fbed98bd Author: Jelmer Vernooij jel...@samba.org Date: Wed Apr 7 12:11:12 2010 +0200 s4-samdb: Allow skipping global schema. commit feeedf49cfc2edbfdfd0e5512904ea67f2daff11 Author: Jelmer Vernooij jel...@samba.org Date: Wed Apr 7 12:10:09 2010 +0200 s4-provision: Proper handling of exceptions, use SamDB class but skip global schema. commit 21ab06f8a233b38bee750250e455416ac0bef13e Author: Jelmer Vernooij jel...@samba.org Date: Sun Apr 4 03:30:03 2010 +0200 s4-python: Move samdb_ntds_objectGUID to pydsdb. commit fe4b212eba1d7645c8be98240a2630759050197d Author: Jelmer Vernooij jel...@samba.org Date: Sun Apr 4 03:08:05 2010 +0200 urgent_replication: Use standard comments rather than docstrings. --- Summary of changes: source4/dsdb/pydsdb.c | 148 source4/lib/ldb/tests/python/urgent_replication.py | 57 source4/scripting/bin/samba_dnsupdate |6 +- source4/scripting/bin/upgradeprovision |3 +- source4/scripting/python/pyglue.c | 144 --- source4/scripting/python/samba/__init__.py | 10 +- .../scripting/python/samba/netcmd/setpassword.py |2 +- source4/scripting/python/samba/provision.py| 24 ++- source4/scripting/python/samba/samdb.py| 55 ++-- 9 files changed, 247 insertions(+), 202 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/dsdb/pydsdb.c b/source4/dsdb/pydsdb.c index ac9b93c..b18c127 100644 --- a/source4/dsdb/pydsdb.c +++ b/source4/dsdb/pydsdb.c @@ -21,6 +21,8 @@ #include includes.h #include dsdb/samdb/samdb.h #include lib/ldb/pyldb.h +#include libcli/security/security.h +#include librpc/ndr/libndr.h /* FIXME: These should be in a header file somewhere, once we finish moving * away from SWIG .. */ @@ -83,6 +85,138 @@ static PyObject *py_dsdb_convert_schema_to_openldap(PyObject *self, return ret; } +static PyObject *py_samdb_set_domain_sid(PyLdbObject *self, PyObject *args) +{ + PyObject *py_ldb, *py_sid; + struct ldb_context *ldb; + struct dom_sid *sid; + bool ret; + + if (!PyArg_ParseTuple(args, OO, py_ldb, py_sid)) + return NULL; + + PyErr_LDB_OR_RAISE(py_ldb, ldb); + + sid = dom_sid_parse_talloc(NULL, PyString_AsString(py_sid)); + + ret = samdb_set_domain_sid(ldb, sid); + if (!ret) { + PyErr_SetString(PyExc_RuntimeError, set_domain_sid failed); + return NULL; + } + Py_RETURN_NONE; +} + +static PyObject *py_samdb_get_domain_sid(PyLdbObject *self, PyObject *args) +{ + PyObject *py_ldb; + struct ldb_context *ldb; + const struct dom_sid *sid; + PyObject *ret; + char *retstr; + + if (!PyArg_ParseTuple(args, O, py_ldb)) + return NULL; + + PyErr_LDB_OR_RAISE(py_ldb, ldb); + + sid = samdb_domain_sid(ldb); + if (!sid) { + PyErr_SetString(PyExc_RuntimeError, samdb_domain_sid failed); + return NULL; + } + retstr = dom_sid_string(NULL, sid); + ret = PyString_FromString(retstr); + talloc_free(retstr); + return ret; +} + +static PyObject *py_samdb_ntds_invocation_id(PyObject *self, PyObject *args) +{ + PyObject *py_ldb, *result; + struct ldb_context *ldb; + TALLOC_CTX *mem_ctx; + const struct GUID *guid; + + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + PyErr_NoMemory(); + return NULL; + } + + if (!PyArg_ParseTuple(args, O, py_ldb)) { + talloc_free(mem_ctx); + return NULL; + } + + PyErr_LDB_OR_RAISE(py_ldb, ldb); + + guid = samdb_ntds_invocation_id(ldb); + if (guid == NULL) { + PyErr_SetString(PyExc_RuntimeError, + Failed to find NTDS invocation ID); + talloc_free(mem_ctx); + return NULL; + } + + result = PyString_FromString(GUID_string(mem_ctx, guid)); + talloc_free(mem_ctx); + return result; +} + +static PyObject *py_dsdb_set_ntds_invocation_id(PyObject *self, PyObject *args) +{ + PyObject *py_ldb,
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 40172f3... Test using (-1) for tid and sessionid in compound related requests. via 556b42a... On compound requests, MS-SMB2 says clients MAY use 0x for compound tid and 0x for compound sessionid values. Cope with this. via 146c161... Don't forget to initialize *p_creds_requested. from c76bd65... s4-samdb: Allow skipping global schema. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 40172f374ba6d5a6edde2834f7f0a28a5fe49928 Author: Jeremy Allison j...@samba.org Date: Wed Apr 7 10:33:02 2010 -0700 Test using (-1) for tid and sessionid in compound related requests. Jeremy. commit 556b42a351e3584550f79d1c7ad83b44f3a5562b Author: Jeremy Allison j...@samba.org Date: Wed Apr 7 10:32:01 2010 -0700 On compound requests, MS-SMB2 says clients MAY use 0x for compound tid and 0x for compound sessionid values. Cope with this. Jeremy. commit 146c1618e44591a11afade87f67797e6f80fa813 Author: Jeremy Allison j...@samba.org Date: Wed Apr 7 10:31:43 2010 -0700 Don't forget to initialize *p_creds_requested. Jeremy. --- Summary of changes: source3/smbd/smb2_server.c |1 + source3/smbd/smb2_sesssetup.c | 20 source3/smbd/smb2_tcon.c| 19 +++ source4/torture/smb2/compound.c | 25 + 4 files changed, 65 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 7fd3ef4..f5e3765 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -241,6 +241,7 @@ static NTSTATUS smbd_smb2_request_validate(struct smbd_smb2_request *req, int idx; bool compound_related = false; + *p_creds_requested = 0; count = req-in.vector_count; if (count 4) { diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c index 0df4bd6..b3ea3fa 100644 --- a/source3/smbd/smb2_sesssetup.c +++ b/source3/smbd/smb2_sesssetup.c @@ -338,15 +338,29 @@ static NTSTATUS smbd_smb2_session_setup(struct smbd_smb2_request *req, NTSTATUS smbd_smb2_request_check_session(struct smbd_smb2_request *req) { const uint8_t *inhdr; + const uint8_t *outhdr; int i = req-current_idx; uint64_t in_session_id; void *p; struct smbd_smb2_session *session; + bool chained_fixup = false; inhdr = (const uint8_t *)req-in.vector[i+0].iov_base; in_session_id = BVAL(inhdr, SMB2_HDR_SESSION_ID); + if (i 2 in_session_id == (0xLL)) { + /* +* Chained request - fill in session_id from +* the previous request out.vector[].iov_base. +* We can't modify the inhdr here as we have +* yet to check signing. +*/ + outhdr = (const uint8_t *)req-out.vector[i-3].iov_base; + in_session_id = BVAL(outhdr, SMB2_HDR_SESSION_ID); + chained_fixup = true; + } + /* lookup an existing session */ p = idr_find(req-sconn-smb2.sessions.idtree, in_session_id); if (p == NULL) { @@ -363,6 +377,12 @@ NTSTATUS smbd_smb2_request_check_session(struct smbd_smb2_request *req) pdb_get_domain(session-server_info-sam_account)); req-session = session; + + if (chained_fixup) { + /* Fix up our own outhdr. */ + outhdr = (const uint8_t *)req-out.vector[i].iov_base; + SBVAL(outhdr, SMB2_HDR_SESSION_ID, in_session_id); + } return NT_STATUS_OK; } diff --git a/source3/smbd/smb2_tcon.c b/source3/smbd/smb2_tcon.c index bd33007..3eb9da2 100644 --- a/source3/smbd/smb2_tcon.c +++ b/source3/smbd/smb2_tcon.c @@ -220,15 +220,27 @@ static NTSTATUS smbd_smb2_tree_connect(struct smbd_smb2_request *req, NTSTATUS smbd_smb2_request_check_tcon(struct smbd_smb2_request *req) { const uint8_t *inhdr; + const uint8_t *outhdr; int i = req-current_idx; uint32_t in_tid; void *p; struct smbd_smb2_tcon *tcon; + bool chained_fixup = false; inhdr = (const uint8_t *)req-in.vector[i+0].iov_base; in_tid = IVAL(inhdr, SMB2_HDR_TID); + if (i 2 in_tid == (0x)) { + /* +* Chained request - fill in tid from +* the previous request out.vector[].iov_base. +*/ +outhdr = (const uint8_t *)req-out.vector[i-3].iov_base; +in_tid = IVAL(outhdr, SMB2_HDR_TID); +chained_fixup = true; +} + /* lookup an existing session */ p =
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 8ae956d... s4:winbind/wb_server.c - fix indentation from 40172f3... Test using (-1) for tid and sessionid in compound related requests. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 8ae956d7ba23b10e8fe17facc19f44d0ab167762 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Apr 7 18:54:42 2010 +0200 s4:winbind/wb_server.c - fix indentation --- Summary of changes: source4/winbind/wb_server.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/winbind/wb_server.c b/source4/winbind/wb_server.c index 11f0bf0..4b31997 100644 --- a/source4/winbind/wb_server.c +++ b/source4/winbind/wb_server.c @@ -306,8 +306,8 @@ static void winbind_task_init(struct task_server *task) listen_socket-socket_path = service-priv_socket_path = talloc_asprintf(listen_socket, %s/%s, - lp_winbindd_privileged_socket_directory(task-lp_ctx), - WINBINDD_SAMBA3_SOCKET); + lp_winbindd_privileged_socket_directory(task-lp_ctx), + WINBINDD_SAMBA3_SOCKET); if (!listen_socket-socket_path) goto nomem; if (!listen_socket-socket_path) goto nomem; listen_socket-service = service; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 79fccc4... s4:registry - regf backend - fix it up regarding REG_DWORD/REG_DWORD_BIG_ENDIAN_VALUES from 8ae956d... s4:winbind/wb_server.c - fix indentation http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 79fccc45bc3acac5d9b15a3585e2526a3b1876f2 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Apr 7 20:14:46 2010 +0200 s4:registry - regf backend - fix it up regarding REG_DWORD/REG_DWORD_BIG_ENDIAN_VALUES This is needed to make it platform independently work (also on big endian platforms as little endian). Also add a size check before storing a DWORD. --- Summary of changes: source4/lib/registry/regf.c | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/lib/registry/regf.c b/source4/lib/registry/regf.c index 5825ac1..615389e 100644 --- a/source4/lib/registry/regf.c +++ b/source4/lib/registry/regf.c @@ -550,10 +550,11 @@ static WERROR regf_get_value(TALLOC_CTX *ctx, struct hive_key *key, *data_type = vk-data_type; if (vk-data_length 0x8000) { - vk-data_length =~0x8000; - data-data = (uint8_t *)talloc_memdup(ctx, (uint8_t *)vk-data_offset, vk-data_length); + /* this is data of type REG_DWORD or REG_DWORD_BIG_ENDIAN */ + data-data = talloc_size(ctx, sizeof(uint32_t)); W_ERROR_HAVE_NO_MEMORY(data-data); - data-length = vk-data_length; + SIVAL(data-data, 0, vk-data_offset); + data-length = sizeof(uint32_t); } else { *data = hbin_get(regf, vk-data_offset); } @@ -1821,7 +1822,8 @@ static WERROR regf_set_value(struct hive_key *key, const char *name, /* Set the type and data */ vk.data_length = data.length; vk.data_type = type; - if (type == REG_DWORD) { + if ((data.length == sizeof(uint32_t)) + ((type == REG_DWORD) || (type == REG_DWORD_BIG_ENDIAN))) { vk.data_length |= 0x8000; vk.data_offset = IVAL(data.data, 0); } else { -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via baf81a0... LDB:python bindings - also empty LDB message elements should have a python representation from 79fccc4... s4:registry - regf backend - fix it up regarding REG_DWORD/REG_DWORD_BIG_ENDIAN_VALUES http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit baf81a0e08099dc863a014eb6e03b6e877ae8b93 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Apr 7 20:40:06 2010 +0200 LDB:python bindings - also empty LDB message elements should have a python representation Bug found by ekacnet (see technical mailing list). --- Summary of changes: source4/lib/ldb/pyldb.c |9 ++--- 1 files changed, 6 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c index 4ff56b4..737d3fb 100644 --- a/source4/lib/ldb/pyldb.c +++ b/source4/lib/ldb/pyldb.c @@ -1827,9 +1827,12 @@ static PyObject *py_ldb_msg_element_repr(PyLdbMessageElementObject *self) element_str = talloc_asprintf_append(element_str, ,%s, PyObject_REPR(o)); } - ret = PyString_FromFormat(MessageElement([%s]), element_str); - - talloc_free(element_str); + if (element_str != NULL) { + ret = PyString_FromFormat(MessageElement([%s]), element_str); + talloc_free(element_str); + } else { + ret = PyString_FromString(MessageElement([])); + } return ret; } -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 2cf3585... selftest: Display minutes and hours for duration. from baf81a0... LDB:python bindings - also empty LDB message elements should have a python representation http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 2cf3585e52807eedfe80bffcd56fd6df4eec467b Author: Jelmer Vernooij jel...@samba.org Date: Wed Apr 7 17:54:57 2010 +0200 selftest: Display minutes and hours for duration. --- Summary of changes: selftest/format-subunit | 14 +- 1 files changed, 13 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/selftest/format-subunit b/selftest/format-subunit index 54949df..032b990 100755 --- a/selftest/format-subunit +++ b/selftest/format-subunit @@ -15,6 +15,18 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), ../lib/testtools)) import subunithelper import subunit +def format_time(t): +minutes, seconds = divmod(t, 60) +hours, minutes = divmod(minutes, 60) +ret = +if hours: +ret += %dh % hours +if minutes: +ret += %dm % minutes +ret += %ds % seconds +return ret + + class PlainFormatter(object): def __init__(self, summaryfile, verbose, immediate, statistics, @@ -62,7 +74,7 @@ class PlainFormatter(object): out = [%d % self.index if self.totalsuites is not None: out += /%d % self.totalsuites -out += in %ds % duration +out += in + format_time(duration) if self.suitesfailed: out += , %d errors % (len(self.suitesfailed),) out += ] %s % name -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 7ccd680... s3: Fix bug 7327 -- Build fails while building without kerberos from 2cf3585... selftest: Display minutes and hours for duration. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 7ccd68073ddc02abdd6d8fbfaefef5c42e4e8178 Author: Volker Lendecke v...@samba.org Date: Wed Apr 7 22:28:28 2010 +0200 s3: Fix bug 7327 -- Build fails while building without kerberos libsmb/clikrb5.c has a dummy implementation for the non-kerberos case --- Summary of changes: source3/include/krb5_protos.h | 11 ++- 1 files changed, 6 insertions(+), 5 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/include/krb5_protos.h b/source3/include/krb5_protos.h index 4f8521b..b65fb17 100644 --- a/source3/include/krb5_protos.h +++ b/source3/include/krb5_protos.h @@ -88,11 +88,6 @@ krb5_error_code smb_krb5_parse_name_norealm(krb5_context context, bool smb_krb5_principal_compare_any_realm(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2); -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, - const char *impersonate_princ_s); 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); @@ -146,3 +141,9 @@ char *smb_krb5_principal_get_realm(krb5_context context, krb5_principal principal); #endif /* HAVE_KRB5 */ +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, + const char *impersonate_princ_s); + -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via e5bb6d5... s4-waf: Fix 'waf dist' app name. via 472860c... Move configure_check_unused script to root scriptdir, as it is useful for both s3 and s4. via 36474e5... s4: Remove unused pkg-config replacement in perl. via 0473926... update-external: Support updating dnspython. from 7ccd680... s3: Fix bug 7327 -- Build fails while building without kerberos http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit e5bb6d56df9b8816665fd42a04531ef19b30be17 Author: Jelmer Vernooij jel...@samba.org Date: Wed Apr 7 22:52:28 2010 +0200 s4-waf: Fix 'waf dist' app name. commit 472860c9a7485e37627900cb450dca605051e07a Author: Jelmer Vernooij jel...@samba.org Date: Wed Apr 7 22:17:34 2010 +0200 Move configure_check_unused script to root scriptdir, as it is useful for both s3 and s4. commit 36474e58676574d426f4f8a3a067be52fa78cc9f Author: Jelmer Vernooij jel...@samba.org Date: Wed Apr 7 22:15:27 2010 +0200 s4: Remove unused pkg-config replacement in perl. commit 0473926a5b448c1a0b397d079c353f8406588c0d Author: Jelmer Vernooij jel...@samba.org Date: Wed Apr 7 22:13:34 2010 +0200 update-external: Support updating dnspython. --- Summary of changes: buildtools/wafsamba/samba_dist.py |2 +- lib/update-external.sh |5 + .../script = script}/configure_check_unused.pl|0 source4/script/pkg-config | 145 4 files changed, 6 insertions(+), 146 deletions(-) rename {source4/script = script}/configure_check_unused.pl (100%) delete mode 100755 source4/script/pkg-config Changeset truncated at 500 lines: diff --git a/buildtools/wafsamba/samba_dist.py b/buildtools/wafsamba/samba_dist.py index e01bebe..68fdf08 100644 --- a/buildtools/wafsamba/samba_dist.py +++ b/buildtools/wafsamba/samba_dist.py @@ -19,7 +19,7 @@ def add_tarfile(tar, fname, abspath): def dist(appname='',version=''): -if not isinstance(appname, str): +if not appname: # this copes with a mismatch in the calling arguments for dist() appname = Utils.g_module.APPNAME version = Utils.g_module.VERSION diff --git a/lib/update-external.sh b/lib/update-external.sh index 53748d8..fc2443b 100755 --- a/lib/update-external.sh +++ b/lib/update-external.sh @@ -13,4 +13,9 @@ echo Updating testtools... bzr export $WORKDIR/testtools lp:testtools rsync -avz --delete $WORKDIR/testtools/ $TARGETDIR/testtools/ +echo Updating dnspython... +git clone git://www.dnspython.org/dnspython.git $WORKDIR/dnspython +rm -rf $WORKDIR/dnspython/.git +rsync -avz --delete $WORKDIR/dnspython/ $TARGETDIR/dnspython/ + rm -rf $WORKDIR diff --git a/source4/script/configure_check_unused.pl b/script/configure_check_unused.pl similarity index 100% rename from source4/script/configure_check_unused.pl rename to script/configure_check_unused.pl diff --git a/source4/script/pkg-config b/source4/script/pkg-config deleted file mode 100755 index 458cac6..000 --- a/source4/script/pkg-config +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/perl -# Simple pkg-config implementation in perl -# jel...@samba.org, November 2006 - -use strict; -use Getopt::Long; - -my @dirs = split(/:/, $ENV{PKG_CONFIG_PATH}); - -my $opt_help = 0; -my $opt_libs = 0; -my $opt_cflags = 0; -my $opt_static = 0; - -my $result = GetOptions ( - 'help|h|?' = \$opt_help, - 'static' = \$opt_static, - 'libs' = \$opt_libs, - 'cflags' = \$opt_cflags - ); - -if (not $result) { - exit(1); -} - -if ($opt_help) { - print pkg-config replacement in perl\n; - print Copyright (C) 2006 Jelmer Vernooij jelm...@samba.org\n; - print \n; - print Usage: pkg-config [OPTIONS] PACKAGE...\n; - print --help Print this help message\n; - print --staticPrint flags for static libraries\n; - print --libs Print linker flags\n; - print --cflagsPrint C compiler flags\n; - print \n; - exit(0); -} - -sub find_path($) -{ - my $name = shift; - foreach my $dir (@dirs) { - if (-f $dir/$name-uninstalled.pc) { - return $dir/$name-uninstalled.pc; - } - } - foreach my $dir (@dirs) { - if (-f $dir/$name.pc ) { - return $dir/$name.pc; - } - } - die(No such package `$name'); -} - -sub ReplaceVars($$) -{ - my ($expr, $vars) = @_; - - $_ = $expr; - - while (/(.*)\${([^}]+)}(.*)/) { - $_ = $1$vars-{$2}$3; - } - - return $_; -} - -sub Parse($) -{ - my $name = shift; - my $path = find_path($name); -
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 64957ce... LDB:sample_module - reintroduce accidentally removed ldb_msg_add_fmt statement from e5bb6d5... s4-waf: Fix 'waf dist' app name. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 64957ce0686761acd2a2a7ec1787898d2d8238b6 Author: Matthias Dieter Wallnöfer mwallnoe...@yahoo.de Date: Wed Apr 7 23:00:42 2010 +0200 LDB:sample_module - reintroduce accidentally removed ldb_msg_add_fmt statement Obviously this is really needed by the samba4.ldb test. --- Summary of changes: source4/lib/ldb/tests/sample_module.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/lib/ldb/tests/sample_module.c b/source4/lib/ldb/tests/sample_module.c index f48a1ee..5269b8f 100644 --- a/source4/lib/ldb/tests/sample_module.c +++ b/source4/lib/ldb/tests/sample_module.c @@ -27,6 +27,8 @@ int sample_add(struct ldb_module *mod, struct ldb_request *req) { struct ldb_control *control; + ldb_msg_add_fmt(req-op.add.message, touchedBy, sample); + /* check if there's a relax control */ control = ldb_request_get_control(req, LDB_CONTROL_RELAX_OID); if (control == NULL) { -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 7f3116a... build: allow the waf build to work with python 3.0 and 3.1 from 64957ce... LDB:sample_module - reintroduce accidentally removed ldb_msg_add_fmt statement http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 7f3116a63d7d91f4c0d26adf8fcdef0a5a957971 Author: Thomas Nagy tnagy1...@gmail.com Date: Thu Apr 8 07:45:46 2010 +1000 build: allow the waf build to work with python 3.0 and 3.1 Python 3.x is a bit fussier about print statements and indentation. Signed-off-by: Andrew Tridgell tri...@samba.org --- Summary of changes: buildtools/wafsamba/samba_autoconf.py |2 +- buildtools/wafsamba/samba_deps.py | 21 ++--- buildtools/wafsamba/samba_install.py |4 +++- buildtools/wafsamba/samba_utils.py|6 +++--- buildtools/wafsamba/wafsamba.py | 10 ++ lib/socket_wrapper/wscript|6 ++ lib/util/wscript_configure|2 +- lib/wscript_build |2 +- pidl/wscript |4 ++-- source4/dynconfig/wscript |4 ++-- source4/scripting/wscript_build |3 ++- source4/selftest/wscript |8 source4/setup/wscript_build |3 ++- source4/wscript | 10 +- 14 files changed, 44 insertions(+), 41 deletions(-) Changeset truncated at 500 lines: diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index d1b43d4..32c7463 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -545,7 +545,7 @@ def SAMBA_CONFIG_H(conf, path=None): testflags=True) if Options.options.pedantic: - conf.ADD_CFLAGS('-W', testflags=True) +conf.ADD_CFLAGS('-W', testflags=True) if path is None: conf.write_config_header('config.h', top=True) diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py index 08a24db..be77d2c 100644 --- a/buildtools/wafsamba/samba_deps.py +++ b/buildtools/wafsamba/samba_deps.py @@ -96,10 +96,9 @@ def build_dependencies(self): if getattr(self, 'uselib', None): up_list = [] - for l in self.uselib: - up_list.append(l.upper()) - self.uselib = up_list - +for l in self.uselib: + up_list.append(l.upper()) +self.uselib = up_list def build_includes(self): '''This builds the right set of includes for a target. @@ -280,7 +279,7 @@ def check_orpaned_targets(bld, tgt_list): type = target_dict[t.sname] if not type in ['BINARY', 'LIBRARY', 'MODULE', 'ET', 'PYTHON']: if re.search('^PIDL_', t.sname) is None: -print Target %s of type %s is unused by any other target % (t.sname, type) +print(Target %s of type %s is unused by any other target % (t.sname, type)) def show_final_deps(bld, tgt_list): @@ -329,7 +328,7 @@ def build_direct_deps(bld, tgt_list): d = EXPAND_ALIAS(bld, d) if d == t.sname: continue if not d in targets: -print Unknown dependency %s in %s % (d, t.sname) +print(Unknown dependency %s in %s % (d, t.sname)) raise if targets[d] in [ 'EMPTY', 'DISABLED' ]: continue @@ -344,7 +343,7 @@ def build_direct_deps(bld, tgt_list): continue t2 = bld.name_to_obj(d, bld.env) if t2 is None: -print no task %s type %s % (d, targets[d]) +print(no task %s type %s % (d, targets[d])) if t2.samba_type in [ 'LIBRARY', 'MODULE' ]: t.direct_libs.add(d) elif t2.samba_type in [ 'SUBSYSTEM', 'ASN1', 'PYTHON' ]: @@ -823,7 +822,7 @@ def check_project_rules(bld): continue t = bld.name_to_obj(tgt, bld.env) if t is None: -print Target %s of type %s has no task generator % (tgt, type) +print(Target %s of type %s has no task generator % (tgt, type)) raise tgt_list.append(t) @@ -832,7 +831,7 @@ def check_project_rules(bld): if load_samba_deps(bld, tgt_list): return -print Checking project rules ... +print(Checking project rules ...) debug('deps: project rules checking started') @@ -851,7 +850,7 @@ def check_project_rules(bld): #check_orpaned_targets(bld, tgt_list) if not check_duplicate_sources(bld, tgt_list): -print Duplicate sources present - aborting +print(Duplicate sources present - aborting) sys.exit(1) show_final_deps(bld, tgt_list) @@ -861,7 +860,7 @@ def check_project_rules(bld): save_samba_deps(bld,
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 0ec6f29... s4-smbtorture: minor typo in SetJob test in RPC-SPOOLSS. via d9138f4... s3-spoolss: Fix an issue in _spoolss_DeleteForm. via 65c5b78... s3-spoolss: Fix some issues in _spoolss_AddForm. via 34ada1d... s3-spoolss: Fix potential memleak in _spoolss_AddForm and _spoolss_SetForm. from 7f3116a... build: allow the waf build to work with python 3.0 and 3.1 http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 0ec6f297eebe1062f48b9e03b7a0def8a1b5ee21 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 23:40:17 2010 +0200 s4-smbtorture: minor typo in SetJob test in RPC-SPOOLSS. Guenther commit d9138f4ccf7b5a491a922254fe3ff67c7d612703 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 23:36:48 2010 +0200 s3-spoolss: Fix an issue in _spoolss_DeleteForm. Found by torture test. Guenther commit 65c5b786ca4dcb3fda47eea24848232548caf443 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 23:36:15 2010 +0200 s3-spoolss: Fix some issues in _spoolss_AddForm. Found by torture test. Guenther commit 34ada1d540b0eedbe1dd573a47146f0309ed4875 Author: Günther Deschner g...@samba.org Date: Wed Apr 7 23:34:36 2010 +0200 s3-spoolss: Fix potential memleak in _spoolss_AddForm and _spoolss_SetForm. Guenther --- Summary of changes: source3/printing/nt_printing.c |2 +- source3/rpc_server/srv_spoolss_nt.c | 26 +++--- source4/torture/rpc/spoolss.c |2 +- 3 files changed, 25 insertions(+), 5 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index 5096ca0..3791c0d 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -918,7 +918,7 @@ bool delete_a_form(nt_forms_struct **list, const char *del_name, int *count, WER if (n == *count) { DEBUG(10,(delete_a_form, [%s] not found\n, del_name)); - *ret = WERR_INVALID_PARAM; + *ret = WERR_INVALID_FORM_NAME; return False; } diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index bb14c59..236f15a 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -7883,6 +7883,7 @@ WERROR _spoolss_AddForm(pipes_struct *p, int count=0; nt_forms_struct *list=NULL; Printer_entry *Printer = find_printer_index_by_hnd(p, r-in.handle); + int i; DEBUG(5,(_spoolss_AddForm\n)); @@ -7893,7 +7894,7 @@ WERROR _spoolss_AddForm(pipes_struct *p, } - /* forms can be added on printer of on the print server handle */ + /* forms can be added on printer or on the print server handle */ if ( Printer-printer_type == SPLHND_PRINTER ) { @@ -7915,7 +7916,18 @@ WERROR _spoolss_AddForm(pipes_struct *p, p-server_info-ptok, lp_printer_admin(snum))) { DEBUG(2,(_spoolss_Addform: denied by insufficient permissions.\n)); - return WERR_ACCESS_DENIED; + status = WERR_ACCESS_DENIED; + goto done; + } + + switch (form-flags) { + case SPOOLSS_FORM_USER: + case SPOOLSS_FORM_BUILTIN: + case SPOOLSS_FORM_PRINTER: + break; + default: + status = WERR_INVALID_PARAM; + goto done; } /* can't add if builtin */ @@ -7927,6 +7939,13 @@ WERROR _spoolss_AddForm(pipes_struct *p, count = get_ntforms(list); + for (i=0; i count; i++) { + if (strequal(form-form_name, list[i].name)) { + status = WERR_FILE_EXISTS; + goto done; + } + } + if(!add_a_form(list, form, count)) { status = WERR_NOMEM; goto done; @@ -8079,7 +8098,8 @@ WERROR _spoolss_SetForm(pipes_struct *p, p-server_info-ptok, lp_printer_admin(snum))) { DEBUG(2,(_spoolss_Setform: denied by insufficient permissions.\n)); - return WERR_ACCESS_DENIED; + status = WERR_ACCESS_DENIED; + goto done; } /* can't set if builtin */ diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index b86a9ce..d46780b 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -2842,7 +2842,7 @@ static bool test_SetJob(struct torture_context *tctx, switch (command) { case SPOOLSS_JOB_CONTROL_PAUSE: -
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 3413cf7... Start to plumb smb2 into the oplock system. Calls dummy functions for now. from 0ec6f29... s4-smbtorture: minor typo in SetJob test in RPC-SPOOLSS. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 3413cf7a6bd992fa722cc9674176beb15446502b Author: Jeremy Allison j...@samba.org Date: Wed Apr 7 19:00:44 2010 -0700 Start to plumb smb2 into the oplock system. Calls dummy functions for now. Jeremy. --- Summary of changes: source3/smbd/globals.h|3 ++ source3/smbd/oplock.c | 87 + source3/smbd/process.c|6 +++ source3/smbd/smb2_break.c |9 + 4 files changed, 59 insertions(+), 46 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h index 3b58cb4..f9fd71e 100644 --- a/source3/smbd/globals.h +++ b/source3/smbd/globals.h @@ -320,6 +320,9 @@ NTSTATUS smbd_smb2_request_process_getinfo(struct smbd_smb2_request *req); NTSTATUS smbd_smb2_request_process_setinfo(struct smbd_smb2_request *req); NTSTATUS smbd_smb2_request_process_break(struct smbd_smb2_request *req); +void send_smb2_break_message(files_struct *fsp, uint8_t level); +void schedule_deferred_open_smb2_message(uint16 mid); + struct smbd_smb2_request { struct smbd_smb2_request *prev, *next; diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index f3034bd..e876e8c 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -214,7 +214,7 @@ bool should_notify_deferred_opens() Set up an oplock break message. / -static char *new_break_smb_message(TALLOC_CTX *mem_ctx, +static char *new_break_smb1_message(TALLOC_CTX *mem_ctx, files_struct *fsp, uint8 cmd) { char *result = TALLOC_ARRAY(mem_ctx, char, smb_size + 8*2 + 0); @@ -354,9 +354,30 @@ static void add_oplock_timeout_handler(files_struct *fsp) } } +static void send_smb1_break_message(files_struct *fsp, uint8_t level) +{ + char *break_msg = new_break_smb1_message(talloc_tos(), + fsp, + level); + if (break_msg == NULL) { + exit_server(Could not talloc break_msg\n); + } + + show_msg(break_msg); + if (!srv_send_smb(smbd_server_fd(), + break_msg, false, 0, + IS_CONN_ENCRYPTED(fsp-conn), + NULL)) { + exit_server_cleanly(send_smb1_break_message: + srv_send_smb failed.); + } + + TALLOC_FREE(break_msg); +} + void break_level2_to_none_async(files_struct *fsp) { - char *break_msg; + struct smbd_server_connection *sconn = smbd_server_conn; if (fsp-oplock_type == NO_OPLOCK) { /* We already got a break to none message and we've handled @@ -382,24 +403,14 @@ void break_level2_to_none_async(files_struct *fsp) fsp_str_dbg(fsp))); /* Now send a break to none message to our client. */ - break_msg = new_break_smb_message(NULL, fsp, OPLOCKLEVEL_NONE); - if (break_msg == NULL) { - exit_server(Could not talloc break_msg\n); - } - - show_msg(break_msg); - if (!srv_send_smb(smbd_server_fd(), - break_msg, false, 0, - IS_CONN_ENCRYPTED(fsp-conn), - NULL)) { - exit_server_cleanly(oplock_break: srv_send_smb failed.); + if (sconn-allow_smb2) { + send_smb2_break_message(fsp, OPLOCKLEVEL_NONE); + } else { + send_smb1_break_message(fsp, OPLOCKLEVEL_NONE); } - TALLOC_FREE(break_msg); - /* Async level2 request, don't send a reply, just remove the oplock. */ remove_oplock(fsp); - } /*** @@ -459,9 +470,9 @@ static void process_oplock_break_message(struct messaging_context *msg_ctx, struct server_id src, DATA_BLOB *data) { + struct smbd_server_connection *sconn = smbd_server_conn; struct share_mode_entry msg; files_struct *fsp; - char *break_msg; bool break_to_level2 = False; if (data-data == NULL) { @@ -525,27 +536,20 @@ static void process_oplock_break_message(struct messaging_context *msg_ctx, break_to_level2 = True; } - break_msg = new_break_smb_message(NULL, fsp, break_to_level2 ? - OPLOCKLEVEL_II : OPLOCKLEVEL_NONE); - if (break_msg == NULL) { -
[SCM] CTDB repository - branch 1.0.112 updated - ctdb-1.0.111-59-g89d31da
The branch, 1.0.112 has been updated via 89d31da66ca3f15ed3a87851dea5422be949a2e4 (commit) from 7bbf08373eea95d8a859043cf0f9063e77c8c133 (commit) http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=1.0.112 - Log - commit 89d31da66ca3f15ed3a87851dea5422be949a2e4 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Thu Apr 8 14:07:57 2010 +1000 In the recovery daemon, keep track of which node we have assigned public ip addresses and verify that the remote nodes have/keep a consistent view of assigned addresses. If a remote node has an inconsistent view of addresses visavi the recovery master this will trigger a full ip reallocation. --- Summary of changes: common/rb_tree.h | 12 +- include/ctdb_private.h |8 ++- server/ctdb_recoverd.c | 11 ++-- server/ctdb_takeover.c | 57 ++-- 4 files changed, 71 insertions(+), 17 deletions(-) Changeset truncated at 500 lines: diff --git a/common/rb_tree.h b/common/rb_tree.h index cb7cba3..eef0bc5 100644 --- a/common/rb_tree.h +++ b/common/rb_tree.h @@ -21,17 +21,17 @@ #define TRBT_RED 0x00 #define TRBT_BLACK 0x01 -typedef struct _trbt_node_t { - struct _trbt_tree_t *tree; - struct _trbt_node_t *parent; - struct _trbt_node_t *left; - struct _trbt_node_t *right; +typedef struct trbt_node { + struct trbt_tree *tree; + struct trbt_node *parent; + struct trbt_node *left; + struct trbt_node *right; uint32_t rb_color; uint32_t key32; void *data; } trbt_node_t; -typedef struct _trbt_tree_t { +typedef struct trbt_tree { trbt_node_t *root; /* automatically free the tree when the last node has been deleted */ #define TRBT_AUTOFREE 0x0001 diff --git a/include/ctdb_private.h b/include/ctdb_private.h index f5e6de8..06985a3 100644 --- a/include/ctdb_private.h +++ b/include/ctdb_private.h @@ -439,7 +439,7 @@ struct ctdb_context { struct ctdb_call_state *pending_calls; struct ctdb_client_ip *client_ip_list; bool do_checkpublicip; - struct _trbt_tree_t *server_ids; + struct trbt_tree *server_ids; const char *event_script_dir; const char *notification_script; const char *default_public_interface; @@ -466,6 +466,9 @@ struct ctdb_context { /* mapping from pid to ctdb_client * */ struct ctdb_client_pid_list *client_pids; + + /* used in the recovery daemon to remember the ip allocation */ + struct trbt_tree *ip_tree; }; struct ctdb_db_context { @@ -1561,4 +1564,7 @@ int ctdb_update_persistent_health(struct ctdb_context *ctdb, int num_healthy_nodes); int ctdb_recheck_persistent_health(struct ctdb_context *ctdb); +int verify_remote_ip_allocation(struct ctdb_context *ctdb, + struct ctdb_all_public_ips *ips); + #endif diff --git a/server/ctdb_recoverd.c b/server/ctdb_recoverd.c index f94d43b..68f744a 100644 --- a/server/ctdb_recoverd.c +++ b/server/ctdb_recoverd.c @@ -2321,9 +2321,9 @@ static enum monitor_result verify_recmaster(struct ctdb_recoverd *rec, struct ct } -/* called to check that the allocation of public ip addresses is ok. +/* called to check that the local allocation of public ip addresses is ok. */ -static int verify_ip_allocation(struct ctdb_context *ctdb, struct ctdb_recoverd *rec, uint32_t pnn) +static int verify_local_ip_allocation(struct ctdb_context *ctdb, struct ctdb_recoverd *rec, uint32_t pnn) { TALLOC_CTX *mem_ctx = talloc_new(NULL); struct ctdb_all_public_ips *ips = NULL; @@ -2973,7 +2973,7 @@ again: */ if (ctdb-do_checkpublicip) { if (rec-ip_check_disable_ctx == NULL) { - if (verify_ip_allocation(ctdb, rec, pnn) != 0) { + if (verify_local_ip_allocation(ctdb, rec, pnn) != 0) { DEBUG(DEBUG_ERR, (__location__ Public IPs were inconsistent.\n)); } } @@ -3028,6 +3028,11 @@ again: ctdb-nodes[j]-pnn)); goto again; } + + if (verify_remote_ip_allocation(ctdb, ctdb-nodes[j]-public_ips)) { + DEBUG(DEBUG_ERR,(Node %d has inconsistent public ip allocation and needs update.\n, ctdb-nodes[j]-pnn)); + rec-need_takeover_run = true; + } } diff --git a/server/ctdb_takeover.c b/server/ctdb_takeover.c index d685de8..acc9ce3 100644 --- a/server/ctdb_takeover.c +++ b/server/ctdb_takeover.c @@ -686,14 +686,17 @@ void getips_count_callback(void *param, void *data) } struct ctdb_public_ip_list *
[SCM] CTDB repository - branch master updated - ctdb-1.0.114-15-g2a79d97
The branch, master has been updated via 2a79d976f975ec1ecbd06c210cbb5e6a93068cec (commit) via 8825a8e3936e4ddfc1482d07a63a620249f01fe7 (commit) via f3bf2ab61f8dbbc806ec23a68a87aaedd458e712 (commit) from 685be0a7e830464e01dccc744362040a75bc96b5 (commit) http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master - Log - commit 2a79d976f975ec1ecbd06c210cbb5e6a93068cec Merge: 685be0a7e830464e01dccc744362040a75bc96b5 8825a8e3936e4ddfc1482d07a63a620249f01fe7 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Thu Apr 8 14:30:01 2010 +1000 Merge r...@10.1.1.27:/shared/ctdb/ctdb-git commit 8825a8e3936e4ddfc1482d07a63a620249f01fe7 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Thu Apr 8 14:28:52 2010 +1000 Fix a compiler warning commit f3bf2ab61f8dbbc806ec23a68a87aaedd458e712 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Thu Apr 8 14:07:57 2010 +1000 In the recovery daemon, keep track of which node we have assigned public ip addresses and verify that the remote nodes have/keep a consistent view of assigned addresses. If a remote node has an inconsistent view of addresses visavi the recovery master this will trigger a full ip reallocation. --- Summary of changes: client/ctdb_client.c |2 +- common/rb_tree.h | 12 +- include/ctdb_private.h |9 ++- server/ctdb_recoverd.c | 18 ++- server/ctdb_takeover.c | 57 ++-- 5 files changed, 77 insertions(+), 21 deletions(-) Changeset truncated at 500 lines: diff --git a/client/ctdb_client.c b/client/ctdb_client.c index 9e5f7fc..946335c 100644 --- a/client/ctdb_client.c +++ b/client/ctdb_client.c @@ -1906,7 +1906,7 @@ int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, v fprintf(f, dmaster: %u\n, h-dmaster); fprintf(f, rsn: %llu\n, (unsigned long long)h-rsn); - fprintf(f, data(%u) = \, (unsigned)data.dsize - sizeof(*h)); + fprintf(f, data(%u) = \, (unsigned)(data.dsize - sizeof(*h))); for (i=sizeof(*h);idata.dsize;i++) { if (ISASCII(data.dptr[i])) { fprintf(f, %c, data.dptr[i]); diff --git a/common/rb_tree.h b/common/rb_tree.h index cb7cba3..eef0bc5 100644 --- a/common/rb_tree.h +++ b/common/rb_tree.h @@ -21,17 +21,17 @@ #define TRBT_RED 0x00 #define TRBT_BLACK 0x01 -typedef struct _trbt_node_t { - struct _trbt_tree_t *tree; - struct _trbt_node_t *parent; - struct _trbt_node_t *left; - struct _trbt_node_t *right; +typedef struct trbt_node { + struct trbt_tree *tree; + struct trbt_node *parent; + struct trbt_node *left; + struct trbt_node *right; uint32_t rb_color; uint32_t key32; void *data; } trbt_node_t; -typedef struct _trbt_tree_t { +typedef struct trbt_tree { trbt_node_t *root; /* automatically free the tree when the last node has been deleted */ #define TRBT_AUTOFREE 0x0001 diff --git a/include/ctdb_private.h b/include/ctdb_private.h index 953552a..888b626 100644 --- a/include/ctdb_private.h +++ b/include/ctdb_private.h @@ -442,7 +442,7 @@ struct ctdb_context { struct ctdb_call_state *pending_calls; struct ctdb_client_ip *client_ip_list; bool do_checkpublicip; - struct _trbt_tree_t *server_ids; + struct trbt_tree *server_ids; const char *event_script_dir; const char *notification_script; const char *default_public_interface; @@ -469,6 +469,9 @@ struct ctdb_context { /* mapping from pid to ctdb_client * */ struct ctdb_client_pid_list *client_pids; + + /* used in the recovery daemon to remember the ip allocation */ + struct trbt_tree *ip_tree; }; struct ctdb_db_context { @@ -1633,4 +1636,8 @@ int ctdb_recheck_persistent_health(struct ctdb_context *ctdb); void ctdb_run_notification_script(struct ctdb_context *ctdb, const char *event); void ctdb_fault_setup(void); + +int verify_remote_ip_allocation(struct ctdb_context *ctdb, + struct ctdb_all_public_ips *ips); + #endif diff --git a/server/ctdb_recoverd.c b/server/ctdb_recoverd.c index f5aa77b..5f34711 100644 --- a/server/ctdb_recoverd.c +++ b/server/ctdb_recoverd.c @@ -1228,6 +1228,7 @@ static void reload_nodes_file(struct ctdb_context *ctdb) } static int ctdb_reload_remote_public_ips(struct ctdb_context *ctdb, +struct ctdb_recoverd *rec, struct ctdb_node_map *nodemap, uint32_t *culprit) { @@ -1274,6 +1275,11 @@ static int ctdb_reload_remote_public_ips(struct ctdb_context *ctdb,