Build status as of Wed Sep 30 06:00:03 2009
URL: http://build.samba.org/ --- /home/build/master/cache/broken_results.txt.old 2009-09-29 00:00:04.0 -0600 +++ /home/build/master/cache/broken_results.txt 2009-09-30 00:00:03.0 -0600 @@ -1,4 +1,4 @@ -Build status as of Tue Sep 29 06:00:02 2009 +Build status as of Wed Sep 30 06:00:03 2009 Build counts: Tree Total Broken Panic @@ -6,17 +6,17 @@ ccache 1 1 0 distcc 0 0 0 ldb 26 26 0 -libreplace 1 1 0 +libreplace 2 1 0 lorikeet 0 0 0 pidl 17 16 0 ppp 0 0 0 -rsync1 0 0 +rsync2 0 0 samba-docs 0 0 0 samba-web0 0 0 -samba_3_current 0 0 0 -samba_3_master 26 26 5 +samba_3_current 1 1 0 +samba_3_master 24 23 5 samba_3_next 1 1 0 -samba_4_0_test 28 28 0 -talloc 24 24 0 +samba_4_0_test 26 26 1 +talloc 26 26 0 tdb 1 1 0
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-799-g0d241b0
The branch, master has been updated via 0d241b0b312503ea5871bd5068c3bf0c657938ac (commit) from 9af9dbeaf3344fc488c474ea7410ac425c2a4b4e (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 0d241b0b312503ea5871bd5068c3bf0c657938ac Author: Andrew Tridgell Date: Wed Sep 30 14:33:14 2009 +1000 idl: ntsvcs.idl depends on misc.idl, not winreg.idl The winreg_Type definition comes from misc.idl --- Summary of changes: librpc/idl/ntsvcs.idl |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/idl/ntsvcs.idl b/librpc/idl/ntsvcs.idl index b1a3b78..91a85b9 100644 --- a/librpc/idl/ntsvcs.idl +++ b/librpc/idl/ntsvcs.idl @@ -2,7 +2,7 @@ plug and play services */ -import "winreg.idl"; +import "misc.idl"; [ uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"), -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-798-g9af9dbe
The branch, master has been updated via 9af9dbeaf3344fc488c474ea7410ac425c2a4b4e (commit) via 8c0d239317167f127324a58c593a2c5357548ec5 (commit) via 6e4bf59d802e72f84d5fc972af6d9c28f334ca93 (commit) from 6c0abbdd350f9af5cfb59381efb80385e5d3a4f3 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 9af9dbeaf3344fc488c474ea7410ac425c2a4b4e Author: Steven Danneman Date: Tue Sep 29 19:03:20 2009 -0700 s4/torture: fix RAW-OPLOCK-STREAM1 test after commit a11bb14 We were pulling junk memory for our stream names after the reordering of the struct definition. commit 8c0d239317167f127324a58c593a2c5357548ec5 Author: Steven Danneman Date: Fri Sep 25 16:44:51 2009 -0700 s4/torture: Allow receiving of oplock break requests in any order Previously, the oplock torture tests, being single threaded, required the server to return oplock break requests, and other SMB packets in a specific order for us to verify "correctness". Of course, in several cases the protocol allows the break packets, especially breaks to levelII to come back in any order. With tevent we're now able to wait for oplock breaks in the middle of a torture test. I've added a helper to do this, and modified all oplock tests to allow returning of oplock breaks in any order. commit 6e4bf59d802e72f84d5fc972af6d9c28f334ca93 Author: Aravind Srinivasan Date: Tue Sep 8 13:12:26 2009 -0700 s4/torture: convert printf to torture_comment() Allows "make test" and other harnesses to print cleaner output. --- Summary of changes: source4/torture/raw/oplock.c | 276 ++--- 1 files changed, 175 insertions(+), 101 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/raw/oplock.c b/source4/torture/raw/oplock.c index 1eaa7e2..da9fcf3 100644 --- a/source4/torture/raw/oplock.c +++ b/source4/torture/raw/oplock.c @@ -204,6 +204,60 @@ static bool open_connection_no_level2_oplocks(struct torture_context *tctx, return true; } +/* + Timer handler function notifies the registering function that time is up +*/ +static void timeout_cb(struct tevent_context *ev, + struct tevent_timer *te, + struct timeval current_time, + void *private_data) +{ + bool *timesup = (bool *)private_data; + *timesup = true; + return; +} + +/* + Wait a short period of time to receive a single oplock break request +*/ +static void torture_wait_for_oplock_break(struct torture_context *tctx) +{ + TALLOC_CTX *tmp_ctx = talloc_new(NULL); + struct tevent_timer *te = NULL; + struct timeval ne; + bool timesup = false; + int old_count = break_info.count; + + /* Wait .1 seconds for an oplock break */ + ne = tevent_timeval_current_ofs(0, 10); + + if ((te = event_add_timed(tctx->ev, tmp_ctx, ne, timeout_cb, ×up)) + == NULL) + { + torture_comment(tctx, "Failed to wait for an oplock break. " + "test results may not be accurate."); + goto done; + } + + while (!timesup && break_info.count < old_count + 1) { + if (event_loop_once(tctx->ev) != 0) { + torture_comment(tctx, "Failed to wait for an oplock " + "break. test results may not be " + "accurate."); + goto done; + } + } + +done: + /* We don't know if the timed event fired and was freed, we received +* our oplock break, or some other event triggered the loop. Thus, +* we create a tmp_ctx to be able to safely free/remove the timed +* event in all 3 cases. */ + talloc_free(tmp_ctx); + + return; +} + static bool test_raw_oplock_exclusive1(struct torture_context *tctx, struct smbcli_state *cli1, struct smbcli_state *cli2) { const char *fname = BASEDIR "\\test_exclusive1.dat"; @@ -249,6 +303,7 @@ static bool test_raw_oplock_exclusive1(struct torture_context *tctx, struct smbc torture_comment(tctx, "a 2nd open should not cause a break\n"); status = smb_raw_open(cli2->tree, tctx, &io); CHECK_STATUS(tctx, status, NT_STATUS_SHARING_VIOLATION); + torture_wait_for_oplock_break(tctx); CHECK_VAL(break_info.count, 0); CHECK_VAL(break_info.failures, 0); @@ -257,6 +312,7 @@ static bool test_raw_oplock_exclusive1(struct torture_context *tctx, struct smbc unl.unlink.in.attrib = 0; status = smb_raw_unlink(cli2->tree, &unl); CHECK_STATUS(tctx, status, NT_STATUS_SHARING_VIOLATION); + torture_wait_for_oplock_break(tc
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-795-g6c0abbd
The branch, master has been updated via 6c0abbdd350f9af5cfb59381efb80385e5d3a4f3 (commit) from eb7a40422593970eba0541a7e4deaa6bc31f94e0 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 6c0abbdd350f9af5cfb59381efb80385e5d3a4f3 Author: Günther Deschner Date: Thu Sep 24 18:53:40 2009 +0200 s3-netlogon: properly implement _netr_NetrEnumerateTrustedDomains(). Guenther --- Summary of changes: source3/rpc_server/srv_netlog_nt.c | 39 ++- 1 files changed, 33 insertions(+), 6 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c index 9169c74..2aee005 100644 --- a/source3/rpc_server/srv_netlog_nt.c +++ b/source3/rpc_server/srv_netlog_nt.c @@ -229,20 +229,47 @@ WERROR _netr_LogonControl2Ex(pipes_struct *p, WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p, struct netr_NetrEnumerateTrustedDomains *r) { - struct netr_Blob trusted_domains_blob; + NTSTATUS status; DATA_BLOB blob; + struct trustdom_info **domains; + uint32_t num_domains; + const char **trusted_domains; + int i; DEBUG(6,("_netr_NetrEnumerateTrustedDomains: %d\n", __LINE__)); /* set up the Trusted Domain List response */ - blob = data_blob_talloc_zero(p->mem_ctx, 2); - trusted_domains_blob.data = blob.data; - trusted_domains_blob.length = blob.length; + become_root(); + status = pdb_enum_trusteddoms(p->mem_ctx, &num_domains, &domains); + unbecome_root(); + + if (!NT_STATUS_IS_OK(status)) { + return ntstatus_to_werror(status); + } - DEBUG(6,("_netr_NetrEnumerateTrustedDomains: %d\n", __LINE__)); + trusted_domains = talloc_zero_array(p->mem_ctx, const char *, num_domains + 1); + if (!trusted_domains) { + return WERR_NOMEM; + } + + for (i = 0; i < num_domains; i++) { + trusted_domains[i] = talloc_strdup(trusted_domains, domains[i]->name); + if (!trusted_domains[i]) { + TALLOC_FREE(trusted_domains); + return WERR_NOMEM; + } + } - *r->out.trusted_domains_blob = trusted_domains_blob; + if (!push_reg_multi_sz(trusted_domains, &blob, trusted_domains)) { + TALLOC_FREE(trusted_domains); + return WERR_NOMEM; + } + + r->out.trusted_domains_blob->data = blob.data; + r->out.trusted_domains_blob->length = blob.length; + + DEBUG(6,("_netr_NetrEnumerateTrustedDomains: %d\n", __LINE__)); return WERR_OK; } -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-794-geb7a404
The branch, master has been updated via eb7a40422593970eba0541a7e4deaa6bc31f94e0 (commit) via 26e798da19a9c36fad62e978545c6dfc90a9645d (commit) via 2ccf75d9a9e73a05ab5cbe56526aba3bb45011f0 (commit) via 76bb3808392c981f03deca632dd99081565bf6e1 (commit) from b0a66496f571cd7003292a7c8fe0e072df18a0a2 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit eb7a40422593970eba0541a7e4deaa6bc31f94e0 Author: Günther Deschner Date: Wed Sep 30 00:36:05 2009 +0200 s3: remove unused unistr2_term_codes. Guenther commit 26e798da19a9c36fad62e978545c6dfc90a9645d Author: Günther Deschner Date: Fri Sep 25 01:00:24 2009 +0200 s3: remove unused regval_convert_multi_sz(). Guenther commit 2ccf75d9a9e73a05ab5cbe56526aba3bb45011f0 Author: Günther Deschner Date: Fri Sep 25 00:37:02 2009 +0200 s3: remove unused regval_build_multi_sz(). Guenther commit 76bb3808392c981f03deca632dd99081565bf6e1 Author: Günther Deschner Date: Wed Sep 23 20:48:25 2009 +0200 s3-rpc_parse: remove unused UNISTR2 struct and init function. Guenther --- Summary of changes: source3/include/proto.h|3 - source3/include/rpc_misc.h | 13 - source3/registry/reg_util.c| 107 source3/rpc_parse/parse_misc.c | 56 - 4 files changed, 0 insertions(+), 179 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/include/proto.h b/source3/include/proto.h index 5de6ebf..05651e2 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -5158,8 +5158,6 @@ bool reg_split_key(char *path, char **base, char **key); char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname ); void normalize_dbkey(char *key); char *reg_remaining_path(TALLOC_CTX *ctx, const char *key); -int regval_convert_multi_sz( uint16 *multi_string, size_t byte_len, char ***values ); -size_t regval_build_multi_sz( char **values, uint16 **buffer ); /* The following definitions come from registry/reg_util_legacy.c */ @@ -5653,7 +5651,6 @@ bool smb_io_system_time(const char *desc, prs_struct *ps, int depth, SYSTEMTIME bool make_systemtime(SYSTEMTIME *systime, struct tm *unixtime); bool smb_io_uuid(const char *desc, struct GUID *uuid, prs_struct *ps, int depth); -void init_unistr2(UNISTR2 *str, const char *buf, enum unistr2_term_codes flags); /* The following definitions come from rpc_parse/parse_prs.c */ diff --git a/source3/include/rpc_misc.h b/source3/include/rpc_misc.h index 797e192..aff9b1c 100644 --- a/source3/include/rpc_misc.h +++ b/source3/include/rpc_misc.h @@ -26,9 +26,6 @@ #define SMB_RPC_INTERFACE_VERSION 1 #define PRS_POINTER_CAST bool (*)(const char*, prs_struct*, int, void*) -enum unistr2_term_codes { UNI_FLAGS_NONE = 0, UNI_STR_TERMINATE = 1, UNI_MAXLEN_TERMINATE = 2, UNI_BROKEN_NON_NULL = 3, UNI_STR_DBLTERMINATE = 4 }; - - /** * well-known RIDs - Relative IDs @@ -107,16 +104,6 @@ typedef struct { /* UNISTR - unicode string size and buffer */ little-endian. ***MUST*** be null-terminated */ } UNISTR; -typedef struct { /* UNISTR2 - unicode string size (in - uint16 unicode chars) and buffer */ - uint32 uni_max_len; - uint32 offset; - uint32 uni_str_len; - uint16 *buffer; /* unicode characters. ***MUST*** be little-endian. - **must** be null-terminated and the uni_str_len - should include the NULL character */ -} UNISTR2; - /* * I'm really wondering how many different time formats * I will have to cope with diff --git a/source3/registry/reg_util.c b/source3/registry/reg_util.c index 3b0885d..fd76521 100644 --- a/source3/registry/reg_util.c +++ b/source3/registry/reg_util.c @@ -158,110 +158,3 @@ char *reg_remaining_path(TALLOC_CTX *ctx, const char *key) return p; } - -/** -*/ - -int regval_convert_multi_sz( uint16 *multi_string, size_t byte_len, char ***values ) -{ - char **sz; - int i; - int num_strings = 0; - fstring buffer; - uint16 *wp; - size_t multi_len = byte_len / 2; - - if ( !multi_string || !values ) - return 0; - - *values = NULL; - - /* just count the NULLs */ - - for ( i=0; (iuni_max_len = 0; - str->offset = 0; - str->uni_str_len = 0; - - return; - } - - - str->buffer = TALLOC_ZERO_ARRAY(talloc_tos(), uint16, l
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-790-gb0a6649
The branch, master has been updated via b0a66496f571cd7003292a7c8fe0e072df18a0a2 (commit) via fc1c243348a12d58b8f433901947253e3d998690 (commit) via 661342ee2f753110b31d0b809517ba94e091a310 (commit) via f8016cfee922cba97b70f56c752827e4584da6c6 (commit) via 2d6e5e160b9fd1a21bbbe699f6786c570daa0467 (commit) via 1b0f3b7e3a3eadb1c9997b38dd41aa4c09c41a46 (commit) via a50cc61ee6bc973f913a8c26a082ae99f63091db (commit) via 2c11b73391551723e4ada8664b1ba77873420217 (commit) via fcee9d2c97a673347baf58f749f35785a896e468 (commit) from d31e4c2944a7ef0b903e14db5fb444d626fa3500 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit b0a66496f571cd7003292a7c8fe0e072df18a0a2 Author: Günther Deschner Date: Tue Sep 29 23:22:46 2009 +0200 s3: use pull_reg_multi_sz in rpcclient and net. Guenther commit fc1c243348a12d58b8f433901947253e3d998690 Author: Günther Deschner Date: Fri Sep 25 11:35:46 2009 +0200 s3-util: use pull_reg_multi_sz in reg_pull_multi_sz. Guenther commit 661342ee2f753110b31d0b809517ba94e091a310 Author: Günther Deschner Date: Fri Sep 25 00:55:56 2009 +0200 s3-registry: use pull_reg_multi_sz(). Guenther commit f8016cfee922cba97b70f56c752827e4584da6c6 Author: Günther Deschner Date: Fri Sep 25 00:56:17 2009 +0200 s3-util: add pull_reg_sz() and pull_reg_multi_sz() convenience functions. Guenther commit 2d6e5e160b9fd1a21bbbe699f6786c570daa0467 Author: Günther Deschner Date: Fri Sep 25 00:36:43 2009 +0200 s3: use push_reg_multi_sz(). Guenther commit 1b0f3b7e3a3eadb1c9997b38dd41aa4c09c41a46 Author: Günther Deschner Date: Thu Sep 24 15:01:32 2009 +0200 s3-registry: use regval_ctr_addvalue_sz(). Greatly simplifies and cleanes up the code. Guenther commit a50cc61ee6bc973f913a8c26a082ae99f63091db Author: Günther Deschner Date: Thu Sep 24 11:30:45 2009 +0200 s3-registry: add regval_ctr_addvalue_sz. Guenther commit 2c11b73391551723e4ada8664b1ba77873420217 Author: Günther Deschner Date: Wed Sep 23 20:46:08 2009 +0200 s3-registry: use push_reg_sz(). Guenther commit fcee9d2c97a673347baf58f749f35785a896e468 Author: Günther Deschner Date: Wed Sep 23 20:42:20 2009 +0200 s3-util: add push_reg_sz() and push_reg_multi_sz() convenience functions. Guenther --- Summary of changes: source3/include/proto.h|5 + source3/lib/util_reg.c | 95 ++-- source3/printing/nt_printing.c | 34 ++--- source3/registry/reg_backend_current_version.c | 12 +-- source3/registry/reg_backend_db.c |8 +-- source3/registry/reg_backend_printing.c| 65 + source3/registry/reg_backend_prod_options.c|7 +-- source3/registry/reg_backend_tcpip_params.c| 19 + source3/registry/reg_eventlog.c| 79 +--- source3/registry/reg_objects.c | 17 source3/registry/reg_perfcount.c | 10 +- source3/registry/reg_util.c| 16 ++-- source3/rpc_server/srv_ntsvcs_nt.c | 14 ++-- source3/rpc_server/srv_spoolss_nt.c| 32 source3/rpcclient/cmd_spoolss.c| 13 ++-- source3/services/services_db.c | 46 +--- source3/utils/net_rpc_printer.c| 31 17 files changed, 236 insertions(+), 267 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/include/proto.h b/source3/include/proto.h index d664a26..5de6ebf 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1259,6 +1259,10 @@ struct passwd *getpwuid_alloc(TALLOC_CTX *mem_ctx, uid_t uid) ; const char *reg_type_lookup(enum winreg_Type type); WERROR reg_pull_multi_sz(TALLOC_CTX *mem_ctx, const void *buf, size_t len, uint32 *num_values, char ***values); +bool push_reg_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char *s); +bool push_reg_multi_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char **a); +bool pull_reg_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char **s); +bool pull_reg_multi_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char ***a); /* The following definitions come from lib/util_reg_api.c */ @@ -5115,6 +5119,7 @@ struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name, const char *data_p, size_t size); int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16 type, const char *data_p, size_t size); +int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char *data); int regva
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-781-gd31e4c2
The branch, master has been updated via d31e4c2944a7ef0b903e14db5fb444d626fa3500 (commit) via 4365b7b408b2c328e983d96794eec4df1cc31926 (commit) from 21794b0dd28a80b149342b3218d7ebb4c8791e09 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit d31e4c2944a7ef0b903e14db5fb444d626fa3500 Author: Günther Deschner Date: Tue Sep 29 23:33:48 2009 +0200 s3: re-run make idl_full. Guenther commit 4365b7b408b2c328e983d96794eec4df1cc31926 Author: Günther Deschner Date: Wed Sep 23 20:41:44 2009 +0200 winreg: add winreg_Data union to IDL. Guenther --- Summary of changes: librpc/gen_ndr/misc.h| 41 +++ librpc/gen_ndr/ndr_dcerpc.c |6 + librpc/gen_ndr/ndr_dfs.c |4 + librpc/gen_ndr/ndr_drsblobs.c| 20 +++ librpc/gen_ndr/ndr_drsuapi.c | 66 ++ librpc/gen_ndr/ndr_dssetup.c |2 + librpc/gen_ndr/ndr_echo.c|4 + librpc/gen_ndr/ndr_epmapper.c|2 + librpc/gen_ndr/ndr_krb5pac.c |2 + librpc/gen_ndr/ndr_lsa.c |8 ++ librpc/gen_ndr/ndr_misc.c| 221 ++ librpc/gen_ndr/ndr_misc.h|6 + librpc/gen_ndr/ndr_named_pipe_auth.c |4 + librpc/gen_ndr/ndr_nbt.c | 12 ++ librpc/gen_ndr/ndr_netlogon.c| 20 +++ librpc/gen_ndr/ndr_ntlmssp.c |8 ++ librpc/gen_ndr/ndr_samr.c| 16 +++ librpc/gen_ndr/ndr_schannel.c|4 + librpc/gen_ndr/ndr_security.c|6 + librpc/gen_ndr/ndr_spoolss.c | 40 ++ librpc/gen_ndr/ndr_srvsvc.c | 26 librpc/gen_ndr/ndr_winreg.c | 36 +-- librpc/gen_ndr/ndr_winreg.h |3 - librpc/gen_ndr/ndr_wkssvc.c | 12 ++ librpc/gen_ndr/ndr_xattr.c |4 + librpc/gen_ndr/winreg.h | 34 +- librpc/idl/misc.idl | 26 librpc/idl/winreg.idl| 17 +--- 28 files changed, 563 insertions(+), 87 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/gen_ndr/misc.h b/librpc/gen_ndr/misc.h index aa24a0f..29ea192 100644 --- a/librpc/gen_ndr/misc.h +++ b/librpc/gen_ndr/misc.h @@ -50,4 +50,45 @@ struct KRB5_EDATA_NTSTATUS { uint32_t unknown2; }/* [public] */; +enum winreg_Type +#ifndef USE_UINT_ENUMS + { + REG_NONE=(int)(0), + REG_SZ=(int)(1), + REG_EXPAND_SZ=(int)(2), + REG_BINARY=(int)(3), + REG_DWORD=(int)(4), + REG_DWORD_BIG_ENDIAN=(int)(5), + REG_LINK=(int)(6), + REG_MULTI_SZ=(int)(7), + REG_RESOURCE_LIST=(int)(8), + REG_FULL_RESOURCE_DESCRIPTOR=(int)(9), + REG_RESOURCE_REQUIREMENTS_LIST=(int)(10), + REG_QWORD=(int)(11) +} +#else + { __donnot_use_enum_winreg_Type=0x7FFF} +#define REG_NONE ( 0 ) +#define REG_SZ ( 1 ) +#define REG_EXPAND_SZ ( 2 ) +#define REG_BINARY ( 3 ) +#define REG_DWORD ( 4 ) +#define REG_DWORD_BIG_ENDIAN ( 5 ) +#define REG_LINK ( 6 ) +#define REG_MULTI_SZ ( 7 ) +#define REG_RESOURCE_LIST ( 8 ) +#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) +#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 ) +#define REG_QWORD ( 11 ) +#endif +; + +union winreg_Data { + const char * string;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_SZ)] */ + DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING),case(REG_BINARY)] */ + uint32_t value;/* [case(REG_DWORD)] */ + const char ** string_array;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_MULTI_SZ)] */ + DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */ +}/* [nodiscriminant,public] */; + #endif /* _HEADER_misc */ diff --git a/librpc/gen_ndr/ndr_dcerpc.c b/librpc/gen_ndr/ndr_dcerpc.c index c869841..6b2b139 100644 --- a/librpc/gen_ndr/ndr_dcerpc.c +++ b/librpc/gen_ndr/ndr_dcerpc.c @@ -184,6 +184,7 @@ static enum ndr_err_code ndr_push_dcerpc_object(struct ndr_push *ndr, int ndr_fl { if (ndr_flags & NDR_SCALARS) { int level = ndr_push_get_switch_value(ndr, r); + NDR_CHECK(ndr_push_union_align(ndr, 4)); switch (level) { default: { NDR_CHECK(ndr_push_dcerpc_empty(ndr, NDR_SCALARS, &r->empty)); @@ -214,6 +215,7 @@ static enum ndr_err_code ndr_pull_dcerpc_object(struct ndr_pull *ndr, int ndr_fl int level; level = ndr_pull_get_switch_value(ndr, r); if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_pull_union_align(ndr, 4)); switch (level) { default: { NDR_CHECK(ndr_pull_dcerpc_empty(ndr, NDR_SCALARS, &r->empty)); @@ -512,6 +514,7 @@ static enum ndr_err_code ndr_push_dcerpc_bind_nak_versions_ctr(struct ndr_push * { if (ndr_flags
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-779-g21794b0
The branch, master has been updated via 21794b0dd28a80b149342b3218d7ebb4c8791e09 (commit) from 0cf317f36f7582cb0540c74910020c9d5f4aa14f (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 21794b0dd28a80b149342b3218d7ebb4c8791e09 Author: Volker Lendecke Date: Tue Sep 29 14:34:16 2009 +0200 s3: Document the "share:fake_fscaps" parameter, fix bug 6765 --- Summary of changes: docs-xml/smbdotconf/protocol/sharefakefscaps.xml | 20 1 files changed, 20 insertions(+), 0 deletions(-) create mode 100644 docs-xml/smbdotconf/protocol/sharefakefscaps.xml Changeset truncated at 500 lines: diff --git a/docs-xml/smbdotconf/protocol/sharefakefscaps.xml b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml new file mode 100644 index 000..713b95b --- /dev/null +++ b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml @@ -0,0 +1,20 @@ +http://www.samba.org/samba/DTD/samba-doc";> + + + + This is needed to support some special application that makes + QFSINFO calls to check whether we set the SPARSE_FILES bit + (0x40). If this bit is not set that particular application + refuses to work against + Samba. With 64 + the SPARSE_FILES file system capability flag is set. Use other + decimal values to specify the bitmask you need to fake. + + + +0 + -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-778-g0cf317f
The branch, master has been updated via 0cf317f36f7582cb0540c74910020c9d5f4aa14f (commit) from 64e08fef16001d62b43f6925a26ad739391cface (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 0cf317f36f7582cb0540c74910020c9d5f4aa14f Author: Volker Lendecke Date: Tue Sep 29 13:11:20 2009 +0200 s3: Remove the lua interpreter again This was meant to support async winbind. But as the hairy parts of async winbind (getgrent) are done without it, it can go again. --- Summary of changes: source3/Makefile.in | 88 +- source3/configure.in | 41 - source3/locale/net/de.po | 64 - source3/locale/net/genmsg|2 +- source3/lua-5.1.4/COPYRIGHT | 34 - source3/lua-5.1.4/HISTORY| 183 - source3/lua-5.1.4/INSTALL| 99 - source3/lua-5.1.4/Makefile | 128 - source3/lua-5.1.4/README | 37 - source3/lua-5.1.4/doc/amazon.gif | Bin 797 -> 0 bytes source3/lua-5.1.4/doc/contents.html | 499 -- source3/lua-5.1.4/doc/cover.png | Bin 3305 -> 0 bytes source3/lua-5.1.4/doc/logo.gif | Bin 4232 -> 0 bytes source3/lua-5.1.4/doc/lua.css| 40 - source3/lua-5.1.4/doc/lua.html | 172 - source3/lua-5.1.4/doc/luac.html | 145 - source3/lua-5.1.4/doc/manual.css | 12 - source3/lua-5.1.4/doc/manual.html| 8800 -- source3/lua-5.1.4/doc/readme.html| 40 - source3/lua-5.1.4/etc/Makefile | 44 - source3/lua-5.1.4/etc/README | 36 - source3/lua-5.1.4/etc/all.c | 38 - source3/lua-5.1.4/etc/lua.hpp|9 - source3/lua-5.1.4/etc/lua.ico| Bin 1078 -> 0 bytes source3/lua-5.1.4/etc/luavs.bat | 28 - source3/lua-5.1.4/etc/min.c | 39 - source3/lua-5.1.4/etc/noparser.c | 50 - source3/lua-5.1.4/etc/strict.lua | 40 - source3/lua-5.1.4/src/Makefile | 182 - source3/lua-5.1.4/src/lapi.c | 1086 source3/lua-5.1.4/src/lapi.h | 16 - source3/lua-5.1.4/src/lauxlib.c | 651 --- source3/lua-5.1.4/src/lauxlib.h | 172 - source3/lua-5.1.4/src/lbaselib.c | 652 --- source3/lua-5.1.4/src/lcode.c| 838 --- source3/lua-5.1.4/src/lcode.h| 76 - source3/lua-5.1.4/src/ldblib.c | 396 -- source3/lua-5.1.4/src/ldebug.c | 637 --- source3/lua-5.1.4/src/ldebug.h | 33 - source3/lua-5.1.4/src/ldo.c | 516 -- source3/lua-5.1.4/src/ldo.h | 56 - source3/lua-5.1.4/src/ldump.c| 164 - source3/lua-5.1.4/src/lfunc.c| 173 - source3/lua-5.1.4/src/lfunc.h| 34 - source3/lua-5.1.4/src/lgc.c | 710 --- source3/lua-5.1.4/src/lgc.h | 110 - source3/lua-5.1.4/src/linit.c| 37 - source3/lua-5.1.4/src/liolib.c | 552 -- source3/lua-5.1.4/src/llex.c | 460 -- source3/lua-5.1.4/src/llex.h | 81 - source3/lua-5.1.4/src/llimits.h | 128 - source3/lua-5.1.4/src/lmathlib.c | 262 - source3/lua-5.1.4/src/lmem.c | 85 - source3/lua-5.1.4/src/lmem.h | 48 - source3/lua-5.1.4/src/loadlib.c | 665 --- source3/lua-5.1.4/src/lobject.c | 214 - source3/lua-5.1.4/src/lobject.h | 380 -- source3/lua-5.1.4/src/lopcodes.c | 101 - source3/lua-5.1.4/src/lopcodes.h | 268 - source3/lua-5.1.4/src/loslib.c | 242 - source3/lua-5.1.4/src/lparser.c | 1339 - source3/lua-5.1.4/src/lparser.h | 82 - source3/lua-5.1.4/src/lstate.c | 213 - source3/lua-5.1.4/src/lstate.h | 168 - source3/lua-5.1.4/src/lstring.c | 110 - source3/lua-5.1.4/src/lstring.h | 31 - source3/lua-5.1.4/src/lstrlib.c | 868 --- source3/lua-5.1.4/src/ltable.c | 588 -- source3/lua-5.1.4/src/ltable.h | 40 - source3/lua-5.1.4/src/ltablib.c | 286 - source3/lua-5.1.4/src/ltm.c | 74 - source3/lua-5.1.4/src/ltm.h | 54 - source3/lua-5.1.4/src/lua.c | 391 -- source3/lua-5.1.4/src/lua.h | 388 -- source3/lua-5.1.4/src/luac.c | 200 - source3/lua-5.1.4/src/luaconf.h | 762 --- source3/lua-5.1.4/src/lualib.h | 53 - source3/lua-5.1.4/src/lundump.c | 227 - source3/lua-5.1.4/src/lundump.h | 36 - source3/lua-5.1.4/src/lvm.c | 762 --- source3/lua-5.1.4/src/lvm.h | 36 - source3/lua-5.1.4/src/lzio.c | 80 - source3/lua-5
[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-777-g64e08fe
The branch, master has been updated via 64e08fef16001d62b43f6925a26ad739391cface (commit) from 325baf37fffde738dcbb37a096d79f07b23586b2 (commit) http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 64e08fef16001d62b43f6925a26ad739391cface Author: Andrew Tridgell Date: Tue Sep 29 17:47:54 2009 +1000 pidl: added union padding for NDR64 This fixes the problem with samr UserInfo16 when NDR64 is enabled --- Summary of changes: librpc/ndr/libndr.h |2 ++ librpc/ndr/ndr_basic.c | 18 ++ pidl/lib/Parse/Pidl/NDR.pm | 11 +-- pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm |8 4 files changed, 37 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h index 03b4362..f6f5170 100644 --- a/librpc/ndr/libndr.h +++ b/librpc/ndr/libndr.h @@ -498,6 +498,8 @@ enum ndr_err_code ndr_pull_bytes(struct ndr_pull *ndr, uint8_t *data, uint32_t n enum ndr_err_code ndr_pull_array_uint8(struct ndr_pull *ndr, int ndr_flags, uint8_t *data, uint32_t n); enum ndr_err_code ndr_push_align(struct ndr_push *ndr, size_t size); enum ndr_err_code ndr_pull_align(struct ndr_pull *ndr, size_t size); +enum ndr_err_code ndr_push_union_align(struct ndr_push *ndr, size_t size); +enum ndr_err_code ndr_pull_union_align(struct ndr_pull *ndr, size_t size); enum ndr_err_code ndr_push_bytes(struct ndr_push *ndr, const uint8_t *data, uint32_t n); enum ndr_err_code ndr_push_zero(struct ndr_push *ndr, uint32_t n); enum ndr_err_code ndr_push_array_uint8(struct ndr_push *ndr, int ndr_flags, const uint8_t *data, uint32_t n); diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c index 00e33ad..f3b7e75 100644 --- a/librpc/ndr/ndr_basic.c +++ b/librpc/ndr/ndr_basic.c @@ -555,6 +555,24 @@ _PUBLIC_ enum ndr_err_code ndr_pull_align(struct ndr_pull *ndr, size_t size) return NDR_ERR_SUCCESS; } +_PUBLIC_ enum ndr_err_code ndr_push_union_align(struct ndr_push *ndr, size_t size) +{ + /* MS-RPCE section 2.2.5.3.4.4 */ + if (ndr->flags & LIBNDR_FLAG_NDR64) { + return ndr_push_align(ndr, size); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ enum ndr_err_code ndr_pull_union_align(struct ndr_pull *ndr, size_t size) +{ + /* MS-RPCE section 2.2.5.3.4.4 */ + if (ndr->flags & LIBNDR_FLAG_NDR64) { + return ndr_pull_align(ndr, size); + } + return NDR_ERR_SUCCESS; +} + /* push some bytes */ diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm index 7aebed0..4f2578e 100644 --- a/pidl/lib/Parse/Pidl/NDR.pm +++ b/pidl/lib/Parse/Pidl/NDR.pm @@ -509,7 +509,8 @@ sub ParseUnion($$) ELEMENTS => undef, PROPERTIES => $e->{PROPERTIES}, HAS_DEFAULT => $hasdefault, - ORIGINAL => $e + ORIGINAL => $e, + ALIGN => undef } unless defined($e->{ELEMENTS}); CheckPointerTypes($e, $pointer_default); @@ -533,6 +534,11 @@ sub ParseUnion($$) push @elements, $t; } + my $align = undef; + if ($e->{NAME}) { + $align = align_type($e->{NAME}); + } + return { TYPE => "UNION", NAME => $e->{NAME}, @@ -540,7 +546,8 @@ sub ParseUnion($$) ELEMENTS => \...@elements, PROPERTIES => $e->{PROPERTIES}, HAS_DEFAULT => $hasdefault, - ORIGINAL => $e + ORIGINAL => $e, + ALIGN => $align }; } diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index 62e38bf..9a02d52 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -1644,6 +1644,10 @@ sub ParseUnionPushPrimitives() $self->pidl("NDR_CHECK(ndr_push_$e->{SWITCH_TYPE}($ndr, NDR_SCALARS, level));"); } + if (defined($e->{ALIGN})) { + $self->pidl("NDR_CHECK(ndr_push_union_align($ndr, $e->{ALIGN}));"); + } + $self->pidl("switch (level) {"); $self->indent; foreach my $el (@{$e->{ELEMENTS}}) { @@ -1788,6 +1792,10 @@ sub ParseUnionPullPrimitives($) $self->pidl("}"); } + if (defined($e->{ALIGN})) { + $self->pidl("NDR_CHECK(ndr_pull_union_align($ndr, $e->{ALIGN}));"); + } + $self->pidl("switch (level) {"); $self->indent; foreach my $el (@{$e->{ELEMENTS}}) { -- Samba Shared Repository