[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via d8b3be2... s3:docs: Fix 'make manpages3'. from 8804b13... WHATSNEW: Update changes since Samba 3.5.0pre1. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit d8b3be2ecff99218e10616b1e3391830da5d55f5 Author: Karolin Seeger ksee...@samba.org Date: Mon Dec 14 08:58:50 2009 +0100 s3:docs: Fix 'make manpages3'. Karolin (cherry picked from commit f740bdc47bb53dc6d17e48e1ad9c6f5fdd9ff102) --- Summary of changes: docs-xml/smbdotconf/ldap/ldapderef.xml |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/docs-xml/smbdotconf/ldap/ldapderef.xml b/docs-xml/smbdotconf/ldap/ldapderef.xml index e4868a6..d102f51 100644 --- a/docs-xml/smbdotconf/ldap/ldapderef.xml +++ b/docs-xml/smbdotconf/ldap/ldapderef.xml @@ -8,8 +8,8 @@ to use a certain alias dereferencing method. The default is emphasisauto/emphasis, which means that the default setting of the ldap client library will be kept. Other possible values are - emphasisnever/emphasis, /emphasisfinding/emphasis, - /emphasissearching/emphasis and emphasisalways/emphasis. Grab + emphasisnever/emphasis, emphasisfinding/emphasis, + emphasissearching/emphasis and emphasisalways/emphasis. Grab your LDAP manual for more information. /para -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-stable updated
The branch, v3-5-stable has been updated via ec1e4fb... s3:docs: Fix 'make manpages3'. from ea24a32... WHATSNEW: Update changes since Samba 3.5.0pre1. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-stable - Log - commit ec1e4fb9527dcd45056d4e161b50b4c0fa2fbab7 Author: Karolin Seeger ksee...@samba.org Date: Mon Dec 14 08:58:50 2009 +0100 s3:docs: Fix 'make manpages3'. Karolin (cherry picked from commit f740bdc47bb53dc6d17e48e1ad9c6f5fdd9ff102) (cherry picked from commit d8b3be2ecff99218e10616b1e3391830da5d55f5) --- Summary of changes: docs-xml/smbdotconf/ldap/ldapderef.xml |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/docs-xml/smbdotconf/ldap/ldapderef.xml b/docs-xml/smbdotconf/ldap/ldapderef.xml index e4868a6..d102f51 100644 --- a/docs-xml/smbdotconf/ldap/ldapderef.xml +++ b/docs-xml/smbdotconf/ldap/ldapderef.xml @@ -8,8 +8,8 @@ to use a certain alias dereferencing method. The default is emphasisauto/emphasis, which means that the default setting of the ldap client library will be kept. Other possible values are - emphasisnever/emphasis, /emphasisfinding/emphasis, - /emphasissearching/emphasis and emphasisalways/emphasis. Grab + emphasisnever/emphasis, emphasisfinding/emphasis, + emphasissearching/emphasis and emphasisalways/emphasis. Grab your LDAP manual for more information. /para -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 801fbd0... s4-smbtorture: check whether a returned buffer size is a multiple of 4 in RPC-SPOOLSS. from f740bdc... s3:docs: Fix 'make manpages3'. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 801fbd05691819ce9afadf4817bf1bf8ccc28a02 Author: Günther Deschner g...@samba.org Date: Sat Dec 12 01:51:13 2009 +0100 s4-smbtorture: check whether a returned buffer size is a multiple of 4 in RPC-SPOOLSS. This gives a good indication where our IDL (and the s3 spoolss implementation) is still wrong. Guenther --- Summary of changes: source4/torture/rpc/spoolss.c | 80 + 1 files changed, 80 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index 0b5f734..772ca09 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -25,6 +25,7 @@ #include torture/torture.h #include torture/rpc/rpc.h #include librpc/gen_ndr/ndr_misc.h +#include librpc/gen_ndr/ndr_spoolss.h #include librpc/gen_ndr/ndr_spoolss_c.h #include param/param.h @@ -107,6 +108,42 @@ struct test_spoolss_context { } \ } while(0) +#define CHECK_ALIGN(size, n) do {\ + if (size % n) {\ + torture_warning(tctx, %d is *NOT* %d byte aligned, should be %d,\ + size, n, size + n - (size % n));\ + }\ +} while(0) + +#define DO_ROUND(size, n) (((size)+((n)-1)) ~((n)-1)) + +#define CHECK_NEEDED_SIZE_ENUM_LEVEL(fn, info, level, count, ic, needed, align) do { \ + uint32_t size = ndr_size_##fn##_info(tctx, ic, level, count, info);\ + uint32_t round_size = DO_ROUND(size, align);\ + if (round_size != needed) {\ + torture_warning(tctx, __location__: #fn level %d (count: %d) got unexpected needed size: %d, we calculated: %d, level, count, needed, round_size);\ + CHECK_ALIGN(size, align);\ + }\ +} while(0) + +#define CHECK_NEEDED_SIZE_ENUM(fn, info, count, ic, needed, align) do { \ + uint32_t size = ndr_size_##fn##_info(tctx, ic, count, info);\ + uint32_t round_size = DO_ROUND(size, align);\ + if (round_size != needed) {\ + torture_warning(tctx, __location__: #fn (count: %d) got unexpected needed size: %d, we calculated: %d, count, needed, round_size);\ + CHECK_ALIGN(size, align);\ + }\ +} while(0) + +#define CHECK_NEEDED_SIZE_LEVEL(fn, info, level, ic, needed, align) do { \ + uint32_t size = ndr_size_##fn(info, level, ic, 0);\ + uint32_t round_size = DO_ROUND(size, align);\ + if (round_size != needed) {\ + torture_warning(tctx, __location__: #fn level %d got unexpected needed size: %d, we calculated: %d, level, needed, round_size);\ + CHECK_ALIGN(size, align);\ + }\ +} while(0) + static bool test_OpenPrinter_server(struct torture_context *tctx, struct dcerpc_pipe *p, struct policy_handle *server_handle) @@ -176,6 +213,8 @@ static bool test_EnumPorts(struct torture_context *tctx, torture_assert(tctx, info, EnumPorts returned no info); + CHECK_NEEDED_SIZE_ENUM_LEVEL(spoolss_EnumPorts, info, r.in.level, count, lp_iconv_convenience(tctx-lp_ctx), needed, 4); + ctx-port_count[level] = count; ctx-ports[level] = info; } @@ -264,6 +303,8 @@ static bool test_GetPrintProcessorDirectory(struct torture_context *tctx, torture_assert_ntstatus_ok(tctx, status, dcerpc_spoolss_GetPrintProcessorDirectory failed); torture_assert_werr_ok(tctx, r.out.result, GetPrintProcessorDirectory failed); + + CHECK_NEEDED_SIZE_LEVEL(spoolss_PrintProcessorDirectoryInfo, r.out.info, r.in.level, lp_iconv_convenience(tctx-lp_ctx), needed, 2); } return true; @@ -327,6 +368,8 @@ static bool test_GetPrinterDriverDirectory(struct torture_context *tctx, torture_assert_ntstatus_ok(tctx, status, dcerpc_spoolss_GetPrinterDriverDirectory failed); torture_assert_werr_ok(tctx, r.out.result, GetPrinterDriverDirectory failed); + + CHECK_NEEDED_SIZE_LEVEL(spoolss_DriverDirectoryInfo, r.out.info, r.in.level, lp_iconv_convenience(tctx-lp_ctx), needed, 2); } return true; @@ -383,6 +426,8 @@ static bool test_EnumPrinterDrivers(struct torture_context *tctx, torture_assert_werr_ok(tctx, r.out.result, EnumPrinterDrivers failed); + CHECK_NEEDED_SIZE_ENUM_LEVEL(spoolss_EnumPrinterDrivers, info, r.in.level, count, lp_iconv_convenience(tctx-lp_ctx), needed, 4); +
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via e316624... spoolss: fix spoolss_PrinterData size calculation. via 5ae61cf... spoolss: trivial fix for spoolss_FormInfo2 IDL. from 801fbd0... s4-smbtorture: check whether a returned buffer size is a multiple of 4 in RPC-SPOOLSS. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit e316624ddb8d4e178b03b315bfafd793e6c297c8 Author: Günther Deschner g...@samba.org Date: Sat Dec 12 02:52:41 2009 +0100 spoolss: fix spoolss_PrinterData size calculation. Currently we were crashing in EnumPrinterDataEx when an e.g. an empty (NULL) string for a separator file was returned. Guenther commit 5ae61cfbc281f346fd3712a975c5796f9cfbc6c2 Author: Günther Deschner g...@samba.org Date: Sat Dec 12 02:51:44 2009 +0100 spoolss: trivial fix for spoolss_FormInfo2 IDL. Guenther --- Summary of changes: librpc/gen_ndr/ndr_spoolss.c | 14 ++ librpc/gen_ndr/ndr_spoolss.h |1 - librpc/gen_ndr/spoolss.h |5 +++-- librpc/idl/spoolss.idl |5 +++-- librpc/ndr/ndr_spoolss_buf.c |8 librpc/ndr/ndr_spoolss_buf.h |1 + 6 files changed, 21 insertions(+), 13 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c index 79cabd8..f4cf968 100644 --- a/librpc/gen_ndr/ndr_spoolss.c +++ b/librpc/gen_ndr/ndr_spoolss.c @@ -15724,11 +15724,6 @@ _PUBLIC_ void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *n } } -_PUBLIC_ size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData, ic); -} - static enum ndr_err_code ndr_push_spoolss_FormFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_FormFlags r) { NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); @@ -15984,7 +15979,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int NDR_CHECK(ndr_push_relative_ptr1(ndr, r-display_name)); ndr-flags = _flags_save_string; } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r-lang_id)); + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r-lang_id)); + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r-unused)); NDR_CHECK(ndr_push_trailer_align(ndr, 5)); } if (ndr_flags NDR_BUFFERS) { @@ -16093,7 +16089,8 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo2(struct ndr_pull *ndr, int } ndr-flags = _flags_save_string; } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r-lang_id)); + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r-lang_id)); + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r-unused)); NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); } if (ndr_flags NDR_BUFFERS) { @@ -16206,7 +16203,8 @@ _PUBLIC_ void ndr_print_spoolss_FormInfo2(struct ndr_print *ndr, const char *nam ndr_print_string(ndr, display_name, r-display_name); } ndr-depth--; - ndr_print_uint32(ndr, lang_id, r-lang_id); + ndr_print_uint16(ndr, lang_id, r-lang_id); + ndr_print_uint16(ndr, unused, r-unused); ndr-depth--; } diff --git a/librpc/gen_ndr/ndr_spoolss.h b/librpc/gen_ndr/ndr_spoolss.h index 2fb6e9f..b368006 100644 --- a/librpc/gen_ndr/ndr_spoolss.h +++ b/librpc/gen_ndr/ndr_spoolss.h @@ -433,7 +433,6 @@ size_t ndr_size_spoolss_OSVersionEx(const struct spoolss_OSVersionEx *r, struct enum ndr_err_code ndr_push_spoolss_PrinterData(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterData *r); enum ndr_err_code ndr_pull_spoolss_PrinterData(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterData *r); void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *name, const union spoolss_PrinterData *r); -size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); void ndr_print_spoolss_FormFlags(struct ndr_print *ndr, const char *name, enum spoolss_FormFlags r); void ndr_print_spoolss_FormSize(struct ndr_print *ndr, const char *name, const struct spoolss_FormSize *r); void ndr_print_spoolss_FormArea(struct ndr_print *ndr, const char *name, const struct spoolss_FormArea *r); diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h index 77d7c52..5b88e08 100644 --- a/librpc/gen_ndr/spoolss.h +++ b/librpc/gen_ndr/spoolss.h @@ -1569,7 +1569,7 @@ union spoolss_PrinterData { uint32_t value;/* [case(REG_DWORD)] */ const char **
[SCM] Samba Shared Repository - branch v3-4-test updated
The branch, v3-4-test has been updated via 874a4e3... spoolss: remove unused spoolss_StringArray2. via b1097e3... s4-smbtorture: fix and extend enum printerkey test. via 5323769... s4-smbtorture: enhance spoolss_EnumPrinterKey torture test. via ef1c97b... s3-spoolss: fix enumprinter key client and server. via c5e9df5... s3: re-run make samba3-idl. via ab71e84... spoolss: use spoolss_KeyNames in spoolss_EnumPrinterKey. via 969623c... spoolss: add spoolss_KeyNames union. via fc4b430... spoolss: hand-marshall the spoolss_StringArray2 struct for spoolss_EnumPrinterKey. via 7974ab9... s3-spoolss: handle SEC_FLAG_MAXIMUM_ALLOWED in spoolss_OpenPrinterEx. via 191167f... samba-spoolss: use spoolss_StringArray2 in spoolss_EnumPrinterKey. via a6bd5d6... spoolss: add spoolss_StringArray2. via f190de0... s4-smbtorture: add tests for spoolss_EnumPrinterKey to RPC-SPOOLSS-PRINTER. via a990887... s4-smbtorture: fix spoolss_EnumPrinterKey client in RPC-SPOOLSS-WIN. from 24f3fb1... s3:packaging: Fix version detection. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test - Log - commit 874a4e34ff6222a4d387815f3ec896a24822f94e Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:23:49 2009 +0100 spoolss: remove unused spoolss_StringArray2. Guenther The last 13 commits address bug #6883 (Add Printer fails with 0x06f7 on Windows 7). commit b1097e33ba4828d1dd7bf7409aa3880e6359c96e Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:21:12 2009 +0100 s4-smbtorture: fix and extend enum printerkey test. Guenther commit 532376914d0852ab599a6275910ab315935f37d0 Author: Günther Deschner g...@samba.org Date: Wed Dec 9 15:31:51 2009 +0100 s4-smbtorture: enhance spoolss_EnumPrinterKey torture test. This demonstrates that s3 still does not have that call implemented correctly. Guenther commit ef1c97b8c252feabd02f68493f1d83cab9a852d0 Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:20:22 2009 +0100 s3-spoolss: fix enumprinter key client and server. Guenther (cherry picked from commit f20effc437970d826c5bd4f047ff47e23e7a1a73) commit c5e9df56b3b588f2c7f6f0876204aaf9b9289ee4 Author: Günther Deschner g...@samba.org Date: Fri Dec 11 11:02:55 2009 +0100 s3: re-run make samba3-idl. Guenther commit ab71e84ab446eb074a56f7d5d8e7ad69f02ed504 Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:19:28 2009 +0100 spoolss: use spoolss_KeyNames in spoolss_EnumPrinterKey. Guenther (cherry picked from commit 0ecb7f6ab28d7b7c1844554289f5ae8e876b1dcf) commit 969623c7963219ae3db3058349c257e00adc237b Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:18:46 2009 +0100 spoolss: add spoolss_KeyNames union. Guenther (cherry picked from commit cf2561473f7bd0bcef5c562c1e901d4ad17e6ee3) commit fc4b43089e08578f99b99de8eff1eecebaa4ae01 Author: Günther Deschner g...@samba.org Date: Wed Dec 2 21:26:10 2009 +0100 spoolss: hand-marshall the spoolss_StringArray2 struct for spoolss_EnumPrinterKey. This call is just driving me nuts :-) Guenther commit 7974ab9337c7de209f1cdafbd09fd2b71ef45f19 Author: Günther Deschner g...@samba.org Date: Thu Dec 3 23:23:36 2009 +0100 s3-spoolss: handle SEC_FLAG_MAXIMUM_ALLOWED in spoolss_OpenPrinterEx. In case someone (smbtorture4) requests SEC_FLAG_MAXIMUM_ALLOWED, translate it to a request of PRINTER_ACCESS_ADMINISTER. Guenther (cherry picked from commit 459a968fb4d6f96ea7f310f331d3547e2e466d6a) commit 191167fce3cb07e286c3b1cedf4fb70126e6daf7 Author: Günther Deschner g...@samba.org Date: Wed Dec 2 14:53:39 2009 +0100 samba-spoolss: use spoolss_StringArray2 in spoolss_EnumPrinterKey. This should finally resolve the endian issues we were seeing on sparc and is much cleaner for spoolss clients and servers. Guenther commit a6bd5d61685f5582a72d24ac72c6e3753f232f90 Author: Günther Deschner g...@samba.org Date: Wed Dec 2 14:22:52 2009 +0100 spoolss: add spoolss_StringArray2. The difference to spoolss_StringArray is that in spoolss_StringArray2 the string array is put into a subcontext of _ndr_size. Guenther commit f190de033b9b13b5ffaaf98e86a336bc48ce84e4 Author: Günther Deschner g...@samba.org Date: Fri Nov 20 16:33:29 2009 +0100 s4-smbtorture: add tests for spoolss_EnumPrinterKey to RPC-SPOOLSS-PRINTER. Guenther commit a990887d02de6c92f7d97631bd3f04c49007df2e Author: Günther Deschner g...@samba.org Date: Mon Nov 23 13:35:32 2009 +0100 s4-smbtorture: fix spoolss_EnumPrinterKey client in RPC-SPOOLSS-WIN. Guenther --- Summary of
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 4520862... spoolss: fix spoolss_PrinterData size calculation. via 43ff4f2... spoolss: trivial fix for spoolss_FormInfo2 IDL. via 73da0de... s4-smbtorture: check whether a returned buffer size is a multiple of 4 in RPC-SPOOLSS. via 4e21847... s3-selftest: enable RPC-SAMBA3-WINREG. via ee7944e... s3-rpcclient: allow to set offered size for enumkey command. via 2f49b91... s4-smbtorture: add more spoolss_EnumPrinterKey tests for local NDR test. via 3db86be... spoolss: remove unused spoolss_StringArray2. via c394316... s4-smbtorture: fix and extend enum printerkey test. via fc1dd12... s3-spoolss: fix enumprinter key client and server. via 537e06a... s3: re-run make samba3-idl. via 081456f... spoolss: use spoolss_KeyNames in spoolss_EnumPrinterKey. via 0668b8b... spoolss: add spoolss_KeyNames union. via d9a3bc0... s4-smbtorture: enhance spoolss_EnumPrinterKey torture test. via 085f413... s3-spoolss: use SPOOLSS_ARCHITECTURE_ALL in driver enum server code. via df1b904... spoolss: add more spoolss architectures to IDL. via efdd60f... spoolss: fix spoolss_DriverInfo8 IDL. via c65e5de... s4-smbtorture: make level 8 the reference for PrinterDriverEnum test. via 9524600... s3-spoolss: cleanup _spoolss_EnumPrinterDrivers(). via 3dbb7c7... s3-spoolss: remove unused architecture from fill_printer_driver_info1(). via c466ca9... s3-spoolss: remove ridiculous amount of duplicate driver code. via 0263b52... s3-spoolss: fully support level 8 drivers. via 222f0bc... s3-spoolss: use driver level info8 everywhere in spoolss server internally. via 52361a5... s4-smbtorture: fill in COMPARE_STRING_ARRAY macro in spoolss driver test. from d8b3be2... s3:docs: Fix 'make manpages3'. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 4520862918ba2cff025b15d84922fbb08d8abbf6 Author: Günther Deschner g...@samba.org Date: Sat Dec 12 02:52:41 2009 +0100 spoolss: fix spoolss_PrinterData size calculation. Currently we were crashing in EnumPrinterDataEx when an e.g. an empty (NULL) string for a separator file was returned. Guenther (cherry picked from commit e316624ddb8d4e178b03b315bfafd793e6c297c8) commit 43ff4f2628882f9fa51bbe37f6cbe776f62241a3 Author: Günther Deschner g...@samba.org Date: Sat Dec 12 02:51:44 2009 +0100 spoolss: trivial fix for spoolss_FormInfo2 IDL. Guenther (cherry picked from commit 5ae61cfbc281f346fd3712a975c5796f9cfbc6c2) commit 73da0de2eaa2dec3ef1ebeee9dccaf81201dc7ba Author: Günther Deschner g...@samba.org Date: Sat Dec 12 01:51:13 2009 +0100 s4-smbtorture: check whether a returned buffer size is a multiple of 4 in RPC-SPOOLSS. This gives a good indication where our IDL (and the s3 spoolss implementation) is still wrong. Guenther (cherry picked from commit 801fbd05691819ce9afadf4817bf1bf8ccc28a02) commit 4e218472de4c5a2b79fd6c8115e8877d253c33b5 Author: Günther Deschner g...@samba.org Date: Thu Dec 10 20:38:32 2009 +0100 s3-selftest: enable RPC-SAMBA3-WINREG. Very strange we didn't run it before. Guenther (cherry picked from commit 31202a9dab330ed939b4ea71349c816707adff95) commit ee7944ed987bd0e4dc1315ffcac09fd2fd37bfe9 Author: Günther Deschner g...@samba.org Date: Wed Dec 9 15:49:46 2009 +0100 s3-rpcclient: allow to set offered size for enumkey command. Guenther (cherry picked from commit c2618d2c6f8657c30cd0f68777d3f37e64172191) commit 2f49b911249b71c5aa68d14203e322c750acaef2 Author: Günther Deschner g...@samba.org Date: Thu Dec 3 00:35:03 2009 +0100 s4-smbtorture: add more spoolss_EnumPrinterKey tests for local NDR test. Guenther (cherry picked from commit dc71d1c29de521c5034fd7ebf4657610d62c2c3c) commit 3db86bea7b4f6168b482a3f243500ffe9a3fc35a Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:23:49 2009 +0100 spoolss: remove unused spoolss_StringArray2. Guenther (cherry picked from commit 835e7d6c98406725dc9dab891d3025b9a11b7eb9) commit c3943161f7dd5d0c42b50f7689a2032652dc8ff6 Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:21:12 2009 +0100 s4-smbtorture: fix and extend enum printerkey test. Guenther (cherry picked from commit ce33967f4a6a762e97a87513df7d33716db689fb) commit fc1dd12c4ac9eb2994023c4e748c12b0b41e5841 Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:20:22 2009 +0100 s3-spoolss: fix enumprinter key client and server. Guenther (cherry picked from commit f20effc437970d826c5bd4f047ff47e23e7a1a73) commit 537e06a33e130bb8f638fe76f7c80668d801ec25 Author: Günther Deschner g...@samba.org Date: Thu Dec 10 14:27:33 2009
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via a3b7e84... librpc/ndr: avoid comparison_fn_t to fix the openchange build on solaris via 6bc29ec... add ignore for autogenrated files as they are not used by s3 via 155bdea... torture: add new tests for dfsblobs via 8f8613d... idl: introduce new file: dfsblobs.idl via 05effef... librpc/ndr: add missing prototypes for relative_short functions from e316624... spoolss: fix spoolss_PrinterData size calculation. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit a3b7e84a65e3ddc94edc36fd1b4641849b9ee0be Author: Brian Lu brian...@sun.com Date: Mon Dec 14 11:08:07 2009 +0100 librpc/ndr: avoid comparison_fn_t to fix the openchange build on solaris Signed-off-by: Stefan Metzmacher me...@samba.org commit 6bc29eced5ced62b6ab636d6e6072aee9c2e6a3f Author: Matthieu Patou m...@matws.net Date: Sun Dec 13 18:44:02 2009 +0300 add ignore for autogenrated files as they are not used by s3 Signed-off-by: Stefan Metzmacher me...@samba.org commit 155bdea7b24d70e37ecab9f6cf90ddd993f0dabf Author: Matthieu Patou m...@matws.net Date: Sun Dec 13 18:41:53 2009 +0300 torture: add new tests for dfsblobs Signed-off-by: Stefan Metzmacher me...@samba.org commit 8f8613dcef4a7c1af322c2b5154bf2347d356170 Author: Matthieu Patou m...@matws.net Date: Sun Dec 13 05:03:03 2009 +0300 idl: introduce new file: dfsblobs.idl Signed-off-by: Stefan Metzmacher me...@samba.org commit 05effef1aaeac038b930b29862403a09d5a8db8b Author: Stefan Metzmacher me...@samba.org Date: Mon Dec 14 10:52:56 2009 +0100 librpc/ndr: add missing prototypes for relative_short functions metze --- Summary of changes: .gitignore|4 ++ librpc/idl/dfsblobs.idl | 116 + librpc/ndr/libndr.h |5 ++- source4/librpc/config.mk |7 ++- source4/torture/config.mk |2 +- source4/torture/ndr/dfsblob.c | 50 ++ source4/torture/ndr/ndr.c |1 + 7 files changed, 182 insertions(+), 3 deletions(-) create mode 100644 librpc/idl/dfsblobs.idl create mode 100644 source4/torture/ndr/dfsblob.c Changeset truncated at 500 lines: diff --git a/.gitignore b/.gitignore index 13dd2d8..e88fad0 100644 --- a/.gitignore +++ b/.gitignore @@ -77,6 +77,10 @@ source3/lib/netapi/examples/Makefile source3/lib/netapi/tests/Makefile source3/library-versions librpc/gen_ndr/cli_krb5pac.* +librpc/gen_ndr/cli_dfsblobs.* +librpc/gen_ndr/dfsblobs.h +librpc/gen_ndr/ndr_dfsblobs.* +librpc/gen_ndr/srv_dfsblobs.* source3/librpc/gen_ndr/cli_libnetapi.c source3/librpc/gen_ndr/cli_libnetapi.h source3/librpc/gen_ndr/cli_messaging.* diff --git a/librpc/idl/dfsblobs.idl b/librpc/idl/dfsblobs.idl new file mode 100644 index 000..ffd3e6e --- /dev/null +++ b/librpc/idl/dfsblobs.idl @@ -0,0 +1,116 @@ +#include idl_types.h + +import misc.idl; +/* +dfs blobs interface definition +*/ + + +[ + pointer_default(unique), + helpstring(dfs referral blobs), + uuid(12345778-1234-abcd-0001-0003) +] + + +interface dfsblobs +{ + typedef [bitmap32bit] bitmap { + DFS_HEADER_FLAG_REFERAL_SVR = 0x0001, + DFS_HEADER_FLAG_STORAGE_SVR = 0x0002, + DFS_HEADER_FLAG_TARGET_BCK = 0x0004 + } DFS_HEADER_FLAG; + + typedef [enum16bit] enum { + DFS_SERVER_NON_ROOT = 0x, + DFS_SERVER_ROOT = 0x0001 + } DFS_SERVER_TYPE; + + typedef [enum16bit] enum { + DFS_FLAG_REFERRAL_DOMAIN_RESP = 0x0002, + DFS_FLAG_REFERRAL_FIRST_TARGET_SET = 0x0004 + } DFS_FLAGS_REFERRAL; + + typedef struct { + uint16 size; + uint16 server_type; + uint16 entry_flags; + nstring *share_name; + } dfs_referral_v1; + + typedef struct { + uint16 size; + DFS_SERVER_TYPE server_type; + DFS_FLAGS_REFERRAL entry_flags; + uint32 proximity; + uint32 ttl; + [relative_short] nstring *DFS_path; + [relative_short] nstring *DFS_alt_path; + [relative_short] nstring *netw_address; + } dfs_referral_v2; + + typedef struct { + [relative_short] nstring *DFS_path; + [relative_short] nstring *DFS_alt_path; + [relative_short] nstring *netw_address; + /* As stated in MS DFSC 2.2.4.3.1 this array was guid but now MUST be 16 null bytes*/ + uint8 service_site_guid[16]; + } dfs_normal_referral; + + typedef struct { + [relative_short] nstring *special_name; +
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 9260396... s4-dsdb: added REVEAL_INTERNALS flag to dsdb_module_search_handle_flags() via 7f6b524... s4-devel: support vampire_ad.sh with no initial smb.conf via b11b227... s4-loadparm: call reload_charcnv() also for a missing smb.conf via 7f16da7... s4-dsdb: return a zero guid on error in samdb_result_guid() via bb00941... heimdal: work around differences between GNU and XSI strerror_r() via 665e57f... s4-dsdb: use the reveal control to hide/show extended DN components via e3c2309... s4-ldb: added new ldb_dn extended components for linked attributes via 0d76df9... s4-ldb: added a function to filter extended components of a ldb_dn via 725e25a... s4-ldb: added a new reveal control via 56b90ac... s4-ldb: sort the linearized extended DN by component name from a3b7e84... librpc/ndr: avoid comparison_fn_t to fix the openchange build on solaris http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 9260396bbc9651ca44c6348c5fe1e6ccc464ab13 Author: Andrew Tridgell tri...@samba.org Date: Mon Dec 14 21:53:40 2009 +1100 s4-dsdb: added REVEAL_INTERNALS flag to dsdb_module_search_handle_flags() commit 7f6b524bf6e1a5eeed3df48b791db43cf4052608 Author: Andrew Tridgell tri...@samba.org Date: Mon Dec 14 18:02:15 2009 +1100 s4-devel: support vampire_ad.sh with no initial smb.conf commit b11b22752a9a0d2e88e4857c0e211298d2a7b8a3 Author: Andrew Tridgell tri...@samba.org Date: Mon Dec 14 17:54:04 2009 +1100 s4-loadparm: call reload_charcnv() also for a missing smb.conf bin/net vampire with a missing smb.conf would segfault as the iconv convenience pointer had not been setup. commit 7f16da7473c5daa37f07ea20491f0a96debff03a Author: Andrew Tridgell tri...@samba.org Date: Fri Dec 11 17:33:32 2009 +1100 s4-dsdb: return a zero guid on error in samdb_result_guid() commit bb009412d31aaae01575814791ec806ee2117e2f Author: Andrew Tridgell tri...@samba.org Date: Fri Dec 11 14:39:33 2009 +1100 heimdal: work around differences between GNU and XSI strerror_r() This is a fairly ugly workaround, but then again, strerror_r() is a very ugly mess. commit 665e57f956b23501fc73ac0b099dc3cdcfc1740b Author: Andrew Tridgell tri...@samba.org Date: Thu Dec 10 23:46:34 2009 +1100 s4-dsdb: use the reveal control to hide/show extended DN components When reveal is set, then we show deleted linked attributes and all linkked attribute components. When not set we show a normal extended DN. commit e3c2309dcd59e157e9642736182e71fcebc86b38 Author: Andrew Tridgell tri...@samba.org Date: Thu Dec 10 23:45:16 2009 +1100 s4-ldb: added new ldb_dn extended components for linked attributes These will store linked attribute replication meta data commit 0d76df995332b468b26dbb5807ad0317e55ad288 Author: Andrew Tridgell tri...@samba.org Date: Thu Dec 10 23:44:44 2009 +1100 s4-ldb: added a function to filter extended components of a ldb_dn We need to be able to filter out components that should not be exposed to users commit 725e25a20604c7032a14bcc8e3c33625e802757a Author: Andrew Tridgell tri...@samba.org Date: Thu Dec 10 23:44:05 2009 +1100 s4-ldb: added a new reveal control This control will allow inspection of internal ldb values, which would normally be stripped before being presented to users. The first use will be stripping linked attribute meta data extended components. commit 56b90acbf6ada4c9e2565770918673419b708479 Author: Andrew Tridgell tri...@samba.org Date: Thu Dec 10 22:45:36 2009 +1100 s4-ldb: sort the linearized extended DN by component name This will make life easier when handling deleted linked attributes --- Summary of changes: source4/dsdb/common/util.c |2 +- source4/dsdb/samdb/ldb_modules/extended_dn_out.c | 45 +- source4/dsdb/samdb/ldb_modules/util.c|7 +++ source4/dsdb/samdb/ldb_modules/util.h|1 + source4/heimdal/lib/krb5/fcache.c| 12 +- source4/lib/ldb-samba/ldif_handlers.c| 30 ++ source4/lib/ldb/common/ldb_controls.c| 27 + source4/lib/ldb/common/ldb_dn.c | 30 ++ source4/lib/ldb/include/ldb.h| 10 - source4/lib/ldb/tools/cmdline.c |7 +++ source4/param/loadparm.c |4 ++ source4/scripting/devel/drs/vampire_ad.sh|5 ++- 12 files changed, 174 insertions(+), 6 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 3aa415e..5b8365a 100644 ---
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 0d10efe... s3: Allow up to 20480 entries in LookupSids, as mandated by the official IDL from 9260396... s4-dsdb: added REVEAL_INTERNALS flag to dsdb_module_search_handle_flags() http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 0d10efe1fdec2a621bd6580e3e120287c1682d07 Author: Volker Lendecke v...@samba.org Date: Mon Dec 14 16:48:38 2009 +0100 s3: Allow up to 20480 entries in LookupSids, as mandated by the official IDL Seen in the wild by putting 1000 users into BUILTIN\Users --- Summary of changes: librpc/gen_ndr/lsa.h |4 ++-- librpc/gen_ndr/ndr_lsa.c |4 ++-- librpc/idl/lsa.idl |4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/gen_ndr/lsa.h b/librpc/gen_ndr/lsa.h index a0af571..4a4a95d 100644 --- a/librpc/gen_ndr/lsa.h +++ b/librpc/gen_ndr/lsa.h @@ -312,7 +312,7 @@ struct lsa_SidPtr { }; struct lsa_SidArray { - uint32_t num_sids;/* [range(0,1000)] */ + uint32_t num_sids;/* [range(0,20480)] */ struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */ }/* [public] */; @@ -397,7 +397,7 @@ struct lsa_TranslatedName { }; struct lsa_TransNameArray { - uint32_t count;/* [range(0,1000)] */ + uint32_t count;/* [range(0,20480)] */ struct lsa_TranslatedName *names;/* [unique,size_is(count)] */ }; diff --git a/librpc/gen_ndr/ndr_lsa.c b/librpc/gen_ndr/ndr_lsa.c index ad7b2be..b198350 100644 --- a/librpc/gen_ndr/ndr_lsa.c +++ b/librpc/gen_ndr/ndr_lsa.c @@ -1945,7 +1945,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_f if (ndr_flags NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r-num_sids)); - if (r-num_sids 1000) { + if (r-num_sids 20480) { return ndr_pull_error(ndr, NDR_ERR_RANGE, value out of range); } NDR_CHECK(ndr_pull_generic_ptr(ndr, _ptr_sids)); @@ -2444,7 +2444,7 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int n if (ndr_flags NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r-count)); - if (r-count 1000) { + if (r-count 20480) { return ndr_pull_error(ndr, NDR_ERR_RANGE, value out of range); } NDR_CHECK(ndr_pull_generic_ptr(ndr, _ptr_names)); diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl index a893786..baa5c93 100644 --- a/librpc/idl/lsa.idl +++ b/librpc/idl/lsa.idl @@ -451,7 +451,7 @@ import misc.idl, security.idl; } lsa_SidPtr; typedef [public] struct { - [range(0,1000)] uint32 num_sids; + [range(0,20480)] uint32 num_sids; [size_is(num_sids)] lsa_SidPtr *sids; } lsa_SidArray; @@ -564,7 +564,7 @@ import misc.idl, security.idl; } lsa_TranslatedName; typedef struct { - [range(0,1000)] uint32 count; + [range(0,20480)] uint32 count; [size_is(count)] lsa_TranslatedName *names; } lsa_TransNameArray; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 477edb8... s3: Allow up to 20480 entries in LookupSids, as mandated by the official IDL from 4520862... spoolss: fix spoolss_PrinterData size calculation. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 477edb8bdf3def827c398c4fc01dffd2071ea77e Author: Volker Lendecke v...@samba.org Date: Mon Dec 14 16:48:38 2009 +0100 s3: Allow up to 20480 entries in LookupSids, as mandated by the official IDL Seen in the wild by putting 1000 users into BUILTIN\Users --- Summary of changes: librpc/gen_ndr/lsa.h |4 ++-- librpc/gen_ndr/ndr_lsa.c |4 ++-- librpc/idl/lsa.idl |4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/gen_ndr/lsa.h b/librpc/gen_ndr/lsa.h index a0af571..4a4a95d 100644 --- a/librpc/gen_ndr/lsa.h +++ b/librpc/gen_ndr/lsa.h @@ -312,7 +312,7 @@ struct lsa_SidPtr { }; struct lsa_SidArray { - uint32_t num_sids;/* [range(0,1000)] */ + uint32_t num_sids;/* [range(0,20480)] */ struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */ }/* [public] */; @@ -397,7 +397,7 @@ struct lsa_TranslatedName { }; struct lsa_TransNameArray { - uint32_t count;/* [range(0,1000)] */ + uint32_t count;/* [range(0,20480)] */ struct lsa_TranslatedName *names;/* [unique,size_is(count)] */ }; diff --git a/librpc/gen_ndr/ndr_lsa.c b/librpc/gen_ndr/ndr_lsa.c index 6050714..f1b87ec 100644 --- a/librpc/gen_ndr/ndr_lsa.c +++ b/librpc/gen_ndr/ndr_lsa.c @@ -1945,7 +1945,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_f if (ndr_flags NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r-num_sids)); - if (r-num_sids 1000) { + if (r-num_sids 20480) { return ndr_pull_error(ndr, NDR_ERR_RANGE, value out of range); } NDR_CHECK(ndr_pull_generic_ptr(ndr, _ptr_sids)); @@ -2444,7 +2444,7 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int n if (ndr_flags NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r-count)); - if (r-count 1000) { + if (r-count 20480) { return ndr_pull_error(ndr, NDR_ERR_RANGE, value out of range); } NDR_CHECK(ndr_pull_generic_ptr(ndr, _ptr_names)); diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl index 097dda5..4ca8d6f 100644 --- a/librpc/idl/lsa.idl +++ b/librpc/idl/lsa.idl @@ -451,7 +451,7 @@ import misc.idl, security.idl; } lsa_SidPtr; typedef [public] struct { - [range(0,1000)] uint32 num_sids; + [range(0,20480)] uint32 num_sids; [size_is(num_sids)] lsa_SidPtr *sids; } lsa_SidArray; @@ -564,7 +564,7 @@ import misc.idl, security.idl; } lsa_TranslatedName; typedef struct { - [range(0,1000)] uint32 count; + [range(0,20480)] uint32 count; [size_is(count)] lsa_TranslatedName *names; } lsa_TransNameArray; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via ef5508b... s4: rename res/res2 to something more explicit via d2ec67e... s4: upgradeprovision handle renaming and knownobjects via fb85977... s4: upgradeprovision rename also when there is a mismatch on the case of name attribute via 3357319... s4: reorder action to permit old provision to be correctly upgraded via f871de7... s4:provision - Remap conflicting thumbnailPhoto and thumbnailLogo OID's. from 0d10efe... s3: Allow up to 20480 entries in LookupSids, as mandated by the official IDL http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit ef5508bc7864dcd7128cf91017407efede7572d2 Author: Matthieu Patou m...@matws.net Date: Sat Dec 12 19:13:15 2009 +0300 s4: rename res/res2 to something more explicit commit d2ec67eb53b93c6e70c411ea9e892b4d4dca9ccc Author: Matthieu Patou m...@matws.net Date: Sat Dec 12 16:28:31 2009 +0300 s4: upgradeprovision handle renaming and knownobjects commit fb85977d7c62d623997160d0c90fcb0ae83953aa Author: Matthieu Patou m...@matws.net Date: Sat Dec 12 18:33:53 2009 +0300 s4: upgradeprovision rename also when there is a mismatch on the case of name attribute Renaming not only helps when name attribute is not here it also helps when the case is not the good one. So in order to avoid problem and have as much as possible similar provision we should use the rename whenever a name difference appear. commit 335731962092033d90374a785294b2fd55515310 Author: Matthieu Patou m...@matws.net Date: Mon Nov 30 02:37:35 2009 +0300 s4: reorder action to permit old provision to be correctly upgraded commit f871de7def8dcb180f34b04eff182600607c9f87 Author: Endi Sukma Dewata edew...@redhat.com Date: Tue Dec 8 14:55:16 2009 -0600 s4:provision - Remap conflicting thumbnailPhoto and thumbnailLogo OID's. --- Summary of changes: source4/scripting/bin/upgradeprovision | 161 ++-- source4/setup/schema-map-fedora-ds-1.0 |5 + source4/setup/schema_samba4.ldif |3 + 3 files changed, 97 insertions(+), 72 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/scripting/bin/upgradeprovision b/source4/scripting/bin/upgradeprovision index 48f6747..da827ac 100755 --- a/source4/scripting/bin/upgradeprovision +++ b/source4/scripting/bin/upgradeprovision @@ -77,10 +77,10 @@ hashAttrNotCopied = { dn: 1,whenCreated: 1,whenChanged: 1,objectGUID: 1 # Usually for an object that already exists we do not overwrite attributes as they might have been changed for good # reasons. Anyway for a few of thems it's mandatory to replace them otherwise the provision will be broken somehow. -hashOverwrittenAtt = { prefixMap: replace, systemMayContain: replace,systemOnly:replace, searchFlags:replace,\ -mayContain:replace, systemFlags:replace, -oEMInformation:replace, operatingSystemVersion:replace, adminPropertyPages:replace, -defaultSecurityDescriptor: replace} +hashOverwrittenAtt = { prefixMap: replace, systemMayContain: replace,systemOnly:replace, searchFlags:replace,\ + mayContain:replace, systemFlags:replace,description:replace, + oEMInformation:replace, operatingSystemVersion:replace, adminPropertyPages:replace, + defaultSecurityDescriptor: replace,wellKnownObjects:replace,privilege:delete} backlinked = [] def define_what_to_log(opts): @@ -140,6 +140,12 @@ if setup_dir is None: session = system_session() +# simple helper to allow back and forth rename +def identic_rename(ldbobj,dn): + (before,sep,after)=str(dn).partition('=') + ldbobj.rename(dn,ldb.Dn(ldbobj,%s=foo%s%(before,after))) + ldbobj.rename(ldb.Dn(ldbobj,%s=foo%s%(before,after)),dn) + # Create an array of backlinked attributes def populate_backlink(newpaths,creds,session,schemadn): newsam_ldb = Ldb(newpaths.samdb, session_info=session, credentials=creds,lp=lp) @@ -191,16 +197,16 @@ def guess_names_from_current_provision(credentials,session_info,paths): # That's a bit simplistic but it's ok as long as we have only 3 partitions attrs2 = [defaultNamingContext, schemaNamingContext,configurationNamingContext,rootDomainNamingContext] - res2 = samdb.search(expression=(objectClass=*),base=, scope=SCOPE_BASE, attrs=attrs2) + current = samdb.search(expression=(objectClass=*),base=, scope=SCOPE_BASE, attrs=attrs2) - names.configdn = res2[0][configurationNamingContext] + names.configdn = current[0][configurationNamingContext] configdn = str(names.configdn) - names.schemadn =
[SCM] CTDB repository - branch master updated - ctdb-1.0.108-60-gea9e393
The branch, master has been updated via ea9e39369379939abf6a4076fa2014c10c1a9ad0 (commit) via 211ea7907e8e96041aa6f7d086551d64d065a8a3 (commit) from 5c8e56fc7a518e115bceac257867739283cf6a1e (commit) http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master - Log - commit ea9e39369379939abf6a4076fa2014c10c1a9ad0 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Tue Dec 15 10:45:18 2009 +1100 When setting up the logging, set the event to trigger a read of a log message from a child process as a child of the log structure and not the ctdb structure, or else we can crash if we receive log messages from a child but the log structure has been freed() commit 211ea7907e8e96041aa6f7d086551d64d065a8a3 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Tue Dec 15 10:23:58 2009 +1100 From rusty: Subject: eventscript: fix spinning at 100% cpu when child exits. ctdbd was spinning reading 0 from a pipe, as soon as the first eventscript finishes. This was caused by the intersection between a78b8ea7168e Run only one event for each epoll_wait/select call and 32cfdc3aec34 eventscript: ctdb_fork_with_logging(). Unavoidable mid-air collision, since both worked fine and both were developed simultaneously. When the script exits, we have two pipes open to it: one for any stdout/stderr for logging (ctdb_log_handler), and one for the result (ctdb_event_script_handler). The latter frees everything, including the log fd and event structure. We used to get one callback to ctdb_log_handler, which got a harmless 0-length read, then one to ctdb_event_script_handler which cleaned up. Now we only do one callback per poll, we need the logging function to clean itself up so we can make process. Signed-off-by: Rusty Russell ru...@rustcorp.com.au --- Summary of changes: server/ctdb_logging.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/server/ctdb_logging.c b/server/ctdb_logging.c index 7dadbfd..770deb6 100644 --- a/server/ctdb_logging.c +++ b/server/ctdb_logging.c @@ -381,6 +381,9 @@ static void ctdb_log_handler(struct event_context *ev, struct fd_event *fde, sizeof(log-buf) - log-buf_used); if (n 0) { log-buf_used += n; + } else if (n == 0) { + talloc_free(log); + return; } this_log_level = script_log_level; @@ -506,7 +509,7 @@ int ctdb_set_child_logging(struct ctdb_context *ctdb) return -1; } - event_add_fd(ctdb-ev, ctdb, p[0], EVENT_FD_READ, + event_add_fd(ctdb-ev, ctdb-log, p[0], EVENT_FD_READ, ctdb_log_handler, ctdb-log); set_close_on_exec(p[0]); ctdb-log-pfd = p[0]; -- CTDB repository
[SCM] CTDB repository - branch trans3 created - ctdb-1.0.108-71-g3d2d877
The branch, trans3 has been created at 3d2d877d877146ca09a28a3a44f4840eb36fd377 (commit) - Log - commit 3d2d877d877146ca09a28a3a44f4840eb36fd377 Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Tue Dec 15 14:26:28 2009 +1100 Revert Make fetch_locked more scalable This reverts commit 5736e17c139c9a8049e235429aeae0c6c9d0e93d. commit ac06a0e042e7d024060d6e87a49bda9ccc072c52 Merge: ea9e39369379939abf6a4076fa2014c10c1a9ad0 c5a0aef668a63f927d6184612b13ce316eb4a0be Author: Ronnie Sahlberg ronniesahlb...@gmail.com Date: Tue Dec 15 14:25:55 2009 +1100 Merge commit 'obnox/ctdb-wip-trans3' into trans3 commit c5a0aef668a63f927d6184612b13ce316eb4a0be Author: Michael Adam ob...@samba.org Date: Fri Dec 11 17:05:30 2009 +0100 Revert recovery: add special pull-logic for persistent databases This reverts commit 8aef46d2aab3efb322dda51eaa202653cefd5222. This special recovery logic is wrong now with the transaction rewrite. The treatment of persistent databases will later be rewritten to use the database sequence number. Michael commit 5736e17c139c9a8049e235429aeae0c6c9d0e93d Author: Volker Lendecke v...@samba.org Date: Wed Dec 9 15:11:45 2009 +0100 Make fetch_locked more scalable This patch improves the handling of the fetch_lock operation on non-persistent databases that ctdb clients have to do very frequently. The normal flow how this goes is the following: 1. Client does a local fetch_lock on the database 2. Client looks if the local node is dmaster. If yes, everything is fine If no, continue here 3. Client unlocks the local record 4. Client issues a get me the record call to ctdbd 5. ctdbd goes out and fetches the dmaster role 6. ctdbd tells the client to retry 7. Client starts over again The problem is between step 6 and 7: Before the client has had the chance to retry (i.e. catch the record with a fetch_locked), another node might have come asking ctdbd to migrate away the record again. This is a real problem, I've seen 20 loops of this kind in real workloads. This patch does the following: Whenever ctdb receives a record as result of step 5, it puts the key on a holdback list. As long as a key is on this list, a request to migrate away the dmaster is put on hold. It is the client's duty to issue the CTDB_CONTROL_GOTIT control when it has successfully done step 2 after having asked ctdb to fetch the record. This will release the key from the holdback list and re-issue all dmaster migration requests. As a safeguard against malicious clients, once a second (default 1000msecs, tunable HoldbackCleanupInterval in milliseconds) ctdbd goes over the list of held back keys, deletes them and releases all held back migration requests. commit 844aa6300ee4d87561e698001ebc15ac1e455528 Author: Volker Lendecke v...@samba.org Date: Thu Dec 10 13:02:29 2009 +0100 Import talloc_array_length from upstream talloc commit 78ca29352aa39f4ef4e41096b92d55cb2e0d348a Author: Michael Adam ob...@samba.org Date: Fri Dec 11 16:39:58 2009 +0100 tests: temporarily disable the transaction test tool. Make it return success for make test. This is temporarily disabled until the rewrite of the transaction code (in samba and the daemon) using the global lock feature has been ported to the ctdb client code. Michael commit a7e3b5fac6b3f5d74473f26eb86c067b35647996 Author: Michael Adam ob...@samba.org Date: Fri Dec 11 15:31:02 2009 +0100 Add a new control CTDB_GET_DB_SEQNUM - fetch a persistent db's sequence number. Michael commit 4b1dbcf0853bdc4832d39a477823ae34f216da52 Author: Michael Adam ob...@samba.org Date: Fri Dec 11 14:19:55 2009 +0100 define CTDB_DB_SEQNUM_KEY - used with the new implementation of transactions. Michael commit 1640da1cab7e8b545367824204c82931f3346848 Author: Volker Lendecke v...@samba.org Date: Wed Dec 9 17:20:23 2009 +0100 Tiny simplification of ctdb_queue_packet() commit 6af5e74a21546d723008d69d6752ebebf898c947 Author: Volker Lendecke v...@samba.org Date: Tue Dec 8 17:00:55 2009 +0100 Rename a struct member for clarity commit f66428f9d2013080a414404c1ba6117888352fd6 Author: Michael Adam ob...@samba.org Date: Thu Dec 3 17:59:49 2009 +0100 server: add a new control CTDB_CONTROL_TRANS3_COMMIT This is a simplified version of the trans2 commit control: It just rolls out the marshall buffer to all active nodes. It is the main ctdbd part of the re-implementation of the persistent transactions. The client code is changed to take a global lock to start a transactions and store into the marshal buffer instead of writing to the local tdb under a local transaction. The old
Build status as of Tue Dec 15 07:00:02 2009
URL: http://build.samba.org/ --- /home/build/master/cache/broken_results.txt.old 2009-12-14 00:00:03.0 -0700 +++ /home/build/master/cache/broken_results.txt 2009-12-15 00:00:03.0 -0700 @@ -1,22 +1,22 @@ -Build status as of Mon Dec 14 07:00:02 2009 +Build status as of Tue Dec 15 07:00:02 2009 Build counts: Tree Total Broken Panic build_farm 0 0 0 -ccache 3 1 0 +ccache 2 1 0 distcc 0 0 0 -ldb 34 34 0 +ldb 33 33 0 libreplace 2 1 0 lorikeet 0 0 0 pidl 23 23 0 -ppp 2 0 0 -rsync33 12 0 +ppp 0 0 0 +rsync33 13 0 samba-docs 0 0 0 samba-web0 0 0 -samba_3_current 1 1 0 -samba_3_master 32 23 4 -samba_3_next 32 31 2 -samba_4_0_test 34 31 0 -talloc 4 1 0 -tdb 4 1 0 +samba_3_current 0 0 0 +samba_3_master 31 24 4 +samba_3_next 31 31 2 +samba_4_0_test 33 31 0 +talloc 2 1 0 +tdb 2 0 0
[SCM] Samba Shared Repository - tag talloc-2-0-1 created
The tag, talloc-2-0-1 has been created at 6618a062a19660a718074f6e6155339451b7a5b6 (commit) - Log - commit 6618a062a19660a718074f6e6155339451b7a5b6 Author: Simo Sorce i...@samba.org Date: Wed Oct 14 10:50:19 2009 -0400 talloc: Fix exports and increment talloc version --- -- Samba Shared Repository