Build status as of Sun Aug 15 06:00:06 2010
URL: http://build.samba.org/ --- /home/build/master/cache/broken_results.txt.old 2010-08-14 00:00:33.0 -0600 +++ /home/build/master/cache/broken_results.txt 2010-08-15 00:00:17.0 -0600 @@ -1,9 +1,9 @@ -Build status as of Sat Aug 14 06:00:03 2010 +Build status as of Sun Aug 15 06:00:06 2010 Build counts: Tree Total Broken Panic build_farm 0 0 0 -ccache 32 2 0 +ccache 32 1 0 ccache-maint 30 2 0 ldb 32 10 0 libreplace 32 11 0 @@ -14,9 +14,9 @@ samba-docs 0 0 0 samba-web0 0 0 samba_3_current 32 32 4 -samba_3_master 32 31 1 +samba_3_master 32 31 0 samba_3_next 32 31 6 -samba_4_0_waf 36 34 0 -talloc 32 7 0 +samba_4_0_waf 36 32 0 +talloc 32 6 0 tdb 30 8 0
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via fb274f0... s4:subtree_rename.c - relax the checks when requested from 887b730... s4-test: Add drs.rpc.msDSIntId test to knownfail tests http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit fb274f056b85b56fec773c05329c41b72e0f7715 Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 09:24:22 2010 +0200 s4:subtree_rename.c - relax the checks when requested (Needed by upgradeprovision for example) --- Summary of changes: source4/dsdb/samdb/ldb_modules/subtree_rename.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/dsdb/samdb/ldb_modules/subtree_rename.c b/source4/dsdb/samdb/ldb_modules/subtree_rename.c index ef27eca..3f03050 100644 --- a/source4/dsdb/samdb/ldb_modules/subtree_rename.c +++ b/source4/dsdb/samdb/ldb_modules/subtree_rename.c @@ -151,9 +151,14 @@ static int check_constraints(struct ldb_message *msg, bool move_op = false; bool rename_op = false; + /* Skip the checks if old and new DN are the same or if we relax */ + if (ldb_dn_compare(olddn, newdn) == 0) { return LDB_SUCCESS; } + if (ldb_request_get_control(ac-req, LDB_CONTROL_RELAX_OID) != NULL) { + return LDB_SUCCESS; + } /* Objects under CN=System */ -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via f94039a... s3: Fix a typo from fb274f0... s4:subtree_rename.c - relax the checks when requested http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit f94039a8ea9c59c481e98e53080fe37d05c883a4 Author: Volker Lendecke v...@samba.org Date: Sun Aug 15 09:43:56 2010 +0200 s3: Fix a typo --- Summary of changes: lib/tsocket/tsocket.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/tsocket/tsocket.h b/lib/tsocket/tsocket.h index 3aa90a9..3dd9666 100644 --- a/lib/tsocket/tsocket.h +++ b/lib/tsocket/tsocket.h @@ -83,7 +83,7 @@ struct iovec; */ /** - * @brief Get a string representaion of the endpoint. + * @brief Get a string representation of the endpoint. * * This function creates a string representation of the endpoint for debugging. * The output will look as followed: -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 98187fe... s3: Increase debug level for shutdown_other_smbds via 02002a5... s3: Add debugs to shutdown_other_smbds from f94039a... s3: Fix a typo http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 98187fe3092273713b7ac9f8dada01bc5485c7ef Author: Volker Lendecke v...@samba.org Date: Sun Aug 15 09:48:53 2010 +0200 s3: Increase debug level for shutdown_other_smbds commit 02002a52f243d29d61f62802c7e0d878b3d84a34 Author: Volker Lendecke v...@samba.org Date: Sun Aug 15 09:48:19 2010 +0200 s3: Add debugs to shutdown_other_smbds --- Summary of changes: source3/smbd/sesssetup.c | 12 +--- 1 files changed, 9 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c index 41fdc7d..cca3a1a 100644 --- a/source3/smbd/sesssetup.c +++ b/source3/smbd/sesssetup.c @@ -1381,21 +1381,27 @@ static int shutdown_other_smbds(const struct connections_key *key, { struct shutdown_state *state = (struct shutdown_state *)private_data; + DEBUG(10, (shutdown_other_smbds: %s, %s\n, + procid_str(talloc_tos(), crec-pid), crec-addr)); + if (!process_exists(crec-pid)) { + DEBUG(10, (process does not exist\n)); return 0; } if (procid_is_me(crec-pid)) { + DEBUG(10, (It's me\n)); return 0; } if (strcmp(state-ip, crec-addr) != 0) { + DEBUG(10, (%s does not match %s\n, state-ip, crec-addr)); return 0; } - DEBUG(0,(shutdown_other_smbds: shutting down pid %u -(IP %s)\n, (unsigned int)procid_to_pid(crec-pid), -state-ip)); + DEBUG(1, (shutdown_other_smbds: shutting down pid %u + (IP %s)\n, (unsigned int)procid_to_pid(crec-pid), + state-ip)); messaging_send(state-msg_ctx, crec-pid, MSG_SHUTDOWN, data_blob_null); -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 3d447e0... s3-test: Try to fix the build farm subunit parsing. from 98187fe... s3: Increase debug level for shutdown_other_smbds http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 3d447e01603c9289d027730565c1771585b19dde Author: Andreas Schneider a...@samba.org Date: Sun Aug 15 13:17:36 2010 +0200 s3-test: Try to fix the build farm subunit parsing. --- Summary of changes: source3/Makefile.in | 22 +++--- 1 files changed, 19 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/Makefile.in b/source3/Makefile.in index 1eb1dbb..755fdb2 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -55,6 +55,7 @@ WINBIND_NSS_LDSHFLAGS=$(PICFLAG) @WINBIND_NSS_LDSHFLAGS@ @LDFLAGS@ -lc @LDSHFLAG a...@awk@ dyne...@dynexp@ pe...@perl@ +pyth...@python@ lib...@libdl@ pidl_ar...@pidl_args@ @@ -3297,8 +3298,11 @@ selftestdir = ../selftest S3_LD_LIBPATH_OVERRIDE = $(LIB_PATH_VAR)=$(builddir)/bin:$$$(LIB_PATH_VAR) +FILTER_XFAIL = $(PYTHON) -u $(selftestdir)/filter-subunit --expected-failures=$(srcdir)/selftest/knownfail SUBUNIT_FORMATTER = $(PYTHON) $(selftestdir)/format-subunit --immediate +FORMAT_TEST_OUTPUT = $(FILTER_XFAIL) | $(SUBUNIT_FORMATTER) +ifeq ($(RUN_FROM_BUILD_FARM),yes) test:: all torture timelimit @LIB_PATH_VAR=$(LIB_PATH_VAR) $(S3_LD_LIBPATH_OVERRIDE) \ SAMBA4SHAREDDIR=$(builddir)/bin/shared SMBTORTURE4=$(smbtorture4_path) \ @@ -3309,9 +3313,21 @@ test:: all torture timelimit --testlist=$(srcdir)/selftest/tests.sh| \ --exclude=$(srcdir)/selftest/skip \ --socket-wrapper $(TESTS) | \ - $(PYTHON) $(selftestdir)/filter-subunit \ - --expected-failures=$(srcdir)/selftest/knownfail | \ - $(SUBUNIT_FORMATTER) + $(FILTER_XFAIL) --strip-passed-output + test -f ${selftest_prefix}/summary cat ${selftest_prefix}/summary +else +test:: all torture timelimit + @LIB_PATH_VAR=$(LIB_PATH_VAR) $(S3_LD_LIBPATH_OVERRIDE) \ + SAMBA4SHAREDDIR=$(builddir)/bin/shared SMBTORTURE4=$(smbtorture4_path) \ + PERL=$(PERL) PYTHON=$(PYTHON) \ + NSS_WRAPPER_WINBIND_SO_PATH=$(srcdir)/@WINBIND_NSS@ \ + $(PERL) $(selftestdir)/selftest.pl \ + --prefix=${selftest_prefix} --target=samba3 \ + --testlist=$(srcdir)/selftest/tests.sh| \ + --exclude=$(srcdir)/selftest/skip \ + --socket-wrapper $(TESTS) | \ + $(FORMAT_TEST_OUTPUT) +endif test-%: $(MAKE) test TESTS=$* -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 08b628e... s3: Remove some unused code from 3d447e0... s3-test: Try to fix the build farm subunit parsing. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 08b628efe40bd93993ed4b662d924436444bb242 Author: Volker Lendecke v...@samba.org Date: Sun Aug 15 14:56:19 2010 +0200 s3: Remove some unused code --- Summary of changes: source3/include/proto.h|1 - source3/libsmb/clientgen.c | 31 --- 2 files changed, 0 insertions(+), 32 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/include/proto.h b/source3/include/proto.h index 0a417ab..c6061fc 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1878,7 +1878,6 @@ bool cli_state_seqnum_persistent(struct cli_state *cli, bool cli_state_seqnum_remove(struct cli_state *cli, uint16_t mid); bool cli_receive_smb(struct cli_state *cli); -ssize_t cli_receive_smb_data(struct cli_state *cli, char *buffer, size_t len); bool cli_receive_smb_readX_header(struct cli_state *cli); bool cli_send_smb(struct cli_state *cli); bool cli_send_smb_direct_writeX(struct cli_state *cli, diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c index c530c14..608288d 100644 --- a/source3/libsmb/clientgen.c +++ b/source3/libsmb/clientgen.c @@ -285,37 +285,6 @@ bool cli_receive_smb(struct cli_state *cli) return true; } -/ - Read the data portion of a readX smb. - The timeout is in milliseconds -/ - -ssize_t cli_receive_smb_data(struct cli_state *cli, char *buffer, size_t len) -{ - NTSTATUS status; - - set_smb_read_error(cli-smb_rw_error, SMB_READ_OK); - - status = read_fd_with_timeout( - cli-fd, buffer, len, len, cli-timeout, NULL); - if (NT_STATUS_IS_OK(status)) { - return len; - } - - if (NT_STATUS_EQUAL(status, NT_STATUS_END_OF_FILE)) { - set_smb_read_error(cli-smb_rw_error, SMB_READ_EOF); - return -1; - } - - if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) { - set_smb_read_error(cli-smb_rw_error, SMB_READ_TIMEOUT); - return -1; - } - - set_smb_read_error(cli-smb_rw_error, SMB_READ_ERROR); - return -1; -} - static ssize_t write_socket(int fd, const char *buf, size_t len) { ssize_t ret=0; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via af3c6a4... s4:passwords.py - proof the most important extended error codes via 3fcd762... s4:samdb_set_password - implement the extended LDAP error code detection via 2dbff00... s4:password_hash LDB module - introduce the extended LDAP error codes on the important failure cases via 33bb063... s4:password_hash LDB module - support this new password set syntax via 6dc0c07... s4:passwords.py - another special password test via 28cfae7... s4:password_hash LDB module - allow to compare against both NT and LM hashes on password change operations via 9476c43... s4:ldap_backend.c - Windows returns WERROR codes in majuscule HEX format via fb58c0f... s4:ldap_backend.c - map error codes - add a change which allows custom WERROR codes from 08b628e... s3: Remove some unused code http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit af3c6a42426241704580f4440b09a8c155d212df Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 18:19:52 2010 +0200 s4:passwords.py - proof the most important extended error codes commit 3fcd76237d1c621e6bb876c4c33706e0db2056e2 Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 18:05:29 2010 +0200 s4:samdb_set_password - implement the extended LDAP error code detection commit 2dbff00b6dd3affc95c717296d52343daf49361b Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 17:38:47 2010 +0200 s4:password_hash LDB module - introduce the extended LDAP error codes on the important failure cases commit 33bb063b053c24a84fdd13b866d1f80a964aeabf Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 10:20:48 2010 +0200 s4:password_hash LDB module - support this new password set syntax commit 6dc0c07a51ee3d26ffc44e6178b6ae842190bd19 Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 10:02:43 2010 +0200 s4:passwords.py - another special password test This looks like a password change but it's rather a password set operation. commit 28cfae774edf7bd4e2c4d9285b0d0508bee64284 Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 09:36:25 2010 +0200 s4:password_hash LDB module - allow to compare against both NT and LM hashes on password change operations This is to match the SAMR password change behaviour. commit 9476c43967af66e854cfda13bf09e21da7e63a44 Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 18:45:09 2010 +0200 s4:ldap_backend.c - Windows returns WERROR codes in majuscule HEX format commit fb58c0f36575510ca6572e695afdd81469ced3dd Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 09:25:58 2010 +0200 s4:ldap_backend.c - map error codes - add a change which allows custom WERROR codes This is strictly needed by my recent passwords work, since I want to remove most of the password change stuff in samr_password.c. Since AD gives us CONSTRAINT_VIOLATION on all change problems I cannot distinguish on the SAMR level which the real cause was about. Therefore I need the extended WERROR codes here. --- Summary of changes: source4/dsdb/common/util.c | 26 +++-- source4/dsdb/samdb/ldb_modules/password_hash.c | 138 ++-- source4/dsdb/tests/python/passwords.py | 53 +++-- source4/ldap_server/ldap_backend.c | 15 +++- 4 files changed, 155 insertions(+), 77 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index be8e3a9..3ce0b2c 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -2021,7 +2021,7 @@ NTSTATUS samdb_set_password(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, struct ldb_request *req; struct dsdb_control_password_change_status *pwd_stat = NULL; int ret; - NTSTATUS status; + NTSTATUS status = NT_STATUS_OK; #define CHECK_RET(x) \ if (x != LDB_SUCCESS) { \ @@ -2141,18 +2141,26 @@ NTSTATUS samdb_set_password(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, talloc_free(pwd_stat); } - /* TODO: Error results taken from password_hash module. Are they - correct? */ - if (ret == LDB_ERR_UNWILLING_TO_PERFORM) { - status = NT_STATUS_WRONG_PASSWORD; - } else if (ret == LDB_ERR_CONSTRAINT_VIOLATION) { - status = NT_STATUS_PASSWORD_RESTRICTION; + if (ret == LDB_ERR_CONSTRAINT_VIOLATION) { + const char *errmsg = ldb_errstring(ldb); + char *endptr = NULL; + WERROR werr = WERR_GENERAL_FAILURE; + status = NT_STATUS_UNSUCCESSFUL; + if (errmsg != NULL) { +
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 1fc3676... s4:samdb_set_password - fix formatting from af3c6a4... s4:passwords.py - proof the most important extended error codes http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 1fc3676974b254fd5fd402e7fa600b9020748734 Author: Matthias Dieter Wallnöfer m...@samba.org Date: Sun Aug 15 19:45:29 2010 +0200 s4:samdb_set_password - fix formatting (Sorry, I've overseen this) --- Summary of changes: source4/dsdb/common/util.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 3ce0b2c..a69ae80 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -2154,7 +2154,8 @@ NTSTATUS samdb_set_password(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, status = NT_STATUS_WRONG_PASSWORD; } if (W_ERROR_EQUAL(werr, WERR_PASSWORD_RESTRICTION)) { - status = NT_STATUS_PASSWORD_RESTRICTION; } + status = NT_STATUS_PASSWORD_RESTRICTION; + } } } else if (ret == LDB_ERR_NO_SUCH_OBJECT) { /* don't let the caller know if an account doesn't exist */ -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 80e6523... Fix bug #7617 - smbd coredump due to uninitialized variables in the performance counter code. from 1793994... s3-winbind: Fix Bug #7568: Make sure cm_connect_lsa_tcp does not reset the secure channel. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 80e65236158d6f1690bf9f153c0eb12d81d56b8a Author: Jeremy Allison j...@samba.org Date: Thu Aug 12 14:24:01 2010 -0700 Fix bug #7617 - smbd coredump due to uninitialized variables in the performance counter code. In the file rpc_server.c, function _winreg_QueryValue() uint8_t *outbuf Should be : uint8_t *outbuf = NULL; As it is later freed by if (free_buf) SAFE_FREE(outbuf); in some cases, this frees the unintialized outbuf, which causes a coredump. (cherry picked from commit 84fd910c347ddfad6f01edbe7f6e25546c8382ee) --- Summary of changes: source3/rpc_server/srv_winreg_nt.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/rpc_server/srv_winreg_nt.c b/source3/rpc_server/srv_winreg_nt.c index 04c9c8c..e840a8f 100644 --- a/source3/rpc_server/srv_winreg_nt.c +++ b/source3/rpc_server/srv_winreg_nt.c @@ -220,8 +220,8 @@ WERROR _winreg_QueryValue(pipes_struct *p, struct winreg_QueryValue *r) struct registry_key *regkey = find_regkey_by_hnd( p, r-in.handle ); prs_structprs_hkpd; - uint8_t *outbuf; - uint32_t outbuf_size; + uint8_t *outbuf = NULL; + uint32_t outbuf_size = 0; DATA_BLOB val_blob; bool free_buf = False; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-4-test updated
The branch, v3-4-test has been updated via 78d1a15... Fix bug #7617 - smbd coredump due to uninitialized variables in the performance counter code. from e647f5b... s3-winbind: Fix Bug #7568: Make sure cm_connect_lsa_tcp does not reset the secure channel. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test - Log - commit 78d1a15920de4ef3f230511257ee2f334f89a642 Author: Jeremy Allison j...@samba.org Date: Thu Aug 12 14:24:01 2010 -0700 Fix bug #7617 - smbd coredump due to uninitialized variables in the performance counter code. In the file rpc_server.c, function _winreg_QueryValue() uint8_t *outbuf Should be : uint8_t *outbuf = NULL; As it is later freed by if (free_buf) SAFE_FREE(outbuf); in some cases, this frees the unintialized outbuf, which causes a coredump. (cherry picked from commit 84fd910c347ddfad6f01edbe7f6e25546c8382ee) (cherry picked from commit 80e65236158d6f1690bf9f153c0eb12d81d56b8a) --- Summary of changes: source3/rpc_server/srv_winreg_nt.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/rpc_server/srv_winreg_nt.c b/source3/rpc_server/srv_winreg_nt.c index 3de9f0e..e4087d7 100644 --- a/source3/rpc_server/srv_winreg_nt.c +++ b/source3/rpc_server/srv_winreg_nt.c @@ -210,8 +210,8 @@ WERROR _winreg_QueryValue(pipes_struct *p, struct winreg_QueryValue *r) struct registry_key *regkey = find_regkey_by_hnd( p, r-in.handle ); prs_structprs_hkpd; - uint8_t *outbuf; - uint32_t outbuf_size; + uint8_t *outbuf = NULL; + uint32_t outbuf_size = 0; DATA_BLOB val_blob; bool free_buf = False; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 5dff580... rerun: make samba3-idl via 614e950... pidl: Samba3/ClientNDR - Correctly copy arrays, if r.out.size r.in.size. from 80e6523... Fix bug #7617 - smbd coredump due to uninitialized variables in the performance counter code. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 5dff580fb710c9fe95a77afdb543203c4a6e5645 Author: Stefan Metzmacher me...@samba.org Date: Mon Aug 9 11:26:59 2010 +0200 rerun: make samba3-idl metze commit 614e9504a98a3a484a14c89b814952aeddc43dac Author: Stefan Metzmacher me...@samba.org Date: Thu Aug 5 10:04:57 2010 +0200 pidl: Samba3/ClientNDR - Correctly copy arrays, if r.out.size r.in.size. metze Signed-off-by: Andreas Schneider a...@samba.org (cherry picked from commit 33d1879d5b50e2d98c1bb13b835e7cfb178e3336) (cherry picked from commit d1e92cd2944983ecabd0511ff7c8221c1033a3a8) Fixes bug #7607. --- Summary of changes: librpc/gen_ndr/cli_epmapper.c | 22 ++-- librpc/gen_ndr/cli_ntsvcs.c | 22 ++-- librpc/gen_ndr/cli_winreg.c | 47 ++--- pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm | 56 ++- 4 files changed, 124 insertions(+), 23 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/gen_ndr/cli_epmapper.c b/librpc/gen_ndr/cli_epmapper.c index c83dba6..fcfefbc 100644 --- a/librpc/gen_ndr/cli_epmapper.c +++ b/librpc/gen_ndr/cli_epmapper.c @@ -380,7 +380,11 @@ static void rpccli_epm_Lookup_done(struct tevent_req *subreq) /* Copy out parameters */ *state-orig.out.entry_handle = *state-tmp.out.entry_handle; *state-orig.out.num_ents = *state-tmp.out.num_ents; - memcpy(state-orig.out.entries, state-tmp.out.entries, (state-tmp.in.max_ents) * sizeof(*state-orig.out.entries)); + if ((*state-tmp.out.num_ents) (state-tmp.in.max_ents)) { + tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE); + return; + } + memcpy(state-orig.out.entries, state-tmp.out.entries, (*state-tmp.out.num_ents) * sizeof(*state-orig.out.entries)); /* Copy result */ state-orig.out.result = state-tmp.out.result; @@ -453,7 +457,10 @@ NTSTATUS rpccli_epm_Lookup(struct rpc_pipe_client *cli, /* Return variables */ *entry_handle = *r.out.entry_handle; *num_ents = *r.out.num_ents; - memcpy(entries, r.out.entries, (r.in.max_ents) * sizeof(*entries)); + if ((*r.out.num_ents) (r.in.max_ents)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + memcpy(entries, r.out.entries, (*r.out.num_ents) * sizeof(*entries)); /* Return result */ return NT_STATUS_OK; @@ -549,7 +556,11 @@ static void rpccli_epm_Map_done(struct tevent_req *subreq) /* Copy out parameters */ *state-orig.out.entry_handle = *state-tmp.out.entry_handle; *state-orig.out.num_towers = *state-tmp.out.num_towers; - memcpy(state-orig.out.towers, state-tmp.out.towers, (state-tmp.in.max_towers) * sizeof(*state-orig.out.towers)); + if ((*state-tmp.out.num_towers) (state-tmp.in.max_towers)) { + tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE); + return; + } + memcpy(state-orig.out.towers, state-tmp.out.towers, (*state-tmp.out.num_towers) * sizeof(*state-orig.out.towers)); /* Copy result */ state-orig.out.result = state-tmp.out.result; @@ -618,7 +629,10 @@ NTSTATUS rpccli_epm_Map(struct rpc_pipe_client *cli, /* Return variables */ *entry_handle = *r.out.entry_handle; *num_towers = *r.out.num_towers; - memcpy(towers, r.out.towers, (r.in.max_towers) * sizeof(*towers)); + if ((*r.out.num_towers) (r.in.max_towers)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + memcpy(towers, r.out.towers, (*r.out.num_towers) * sizeof(*towers)); /* Return result */ return NT_STATUS_OK; diff --git a/librpc/gen_ndr/cli_ntsvcs.c b/librpc/gen_ndr/cli_ntsvcs.c index 760ce53..e3e941a 100644 --- a/librpc/gen_ndr/cli_ntsvcs.c +++ b/librpc/gen_ndr/cli_ntsvcs.c @@ -1459,7 +1459,11 @@ static void rpccli_PNP_GetDeviceList_done(struct tevent_req *subreq) } /* Copy out parameters */ - memcpy(state-orig.out.buffer, state-tmp.out.buffer, (*state-tmp.in.length) * sizeof(*state-orig.out.buffer)); + if ((*state-tmp.out.length) (*state-tmp.in.length)) { + tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE); + return; + } + memcpy(state-orig.out.buffer, state-tmp.out.buffer, (*state-tmp.out.length) * sizeof(*state-orig.out.buffer)); *state-orig.out.length
[SCM] Samba Shared Repository - branch v3-4-test updated
The branch, v3-4-test has been updated via 9b9b462... rerun: make samba3-idl via d04e5c4... pidl: Samba3/ClientNDR - Correctly copy arrays, if r.out.size r.in.size. from 78d1a15... Fix bug #7617 - smbd coredump due to uninitialized variables in the performance counter code. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test - Log - commit 9b9b46252ecf426467205908cb7ba487b7774b5b Author: Stefan Metzmacher me...@samba.org Date: Mon Aug 9 11:26:03 2010 +0200 rerun: make samba3-idl metze commit d04e5c4d0ae4bb20497748771aa1467cc14f2265 Author: Stefan Metzmacher me...@samba.org Date: Mon Aug 9 11:14:52 2010 +0200 pidl: Samba3/ClientNDR - Correctly copy arrays, if r.out.size r.in.size. metze Signed-off-by: Andreas Schneider a...@samba.org (similar to commit 33d1879d5b50e2d98c1bb13b835e7cfb178e3336) (similar to commit d1e92cd2944983ecabd0511ff7c8221c1033a3a8) Fixes bug #7607. --- Summary of changes: librpc/gen_ndr/cli_epmapper.c | 10 ++- librpc/gen_ndr/cli_ntsvcs.c | 10 ++- librpc/gen_ndr/cli_winreg.c | 21 ++-- pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm | 38 ++- 4 files changed, 66 insertions(+), 13 deletions(-) Changeset truncated at 500 lines: diff --git a/librpc/gen_ndr/cli_epmapper.c b/librpc/gen_ndr/cli_epmapper.c index 65621d3..eef9139 100644 --- a/librpc/gen_ndr/cli_epmapper.c +++ b/librpc/gen_ndr/cli_epmapper.c @@ -135,7 +135,10 @@ NTSTATUS rpccli_epm_Lookup(struct rpc_pipe_client *cli, /* Return variables */ *entry_handle = *r.out.entry_handle; *num_ents = *r.out.num_ents; - memcpy(entries, r.out.entries, (r.in.max_ents) * sizeof(*entries)); + if ((*r.out.num_ents) (r.in.max_ents)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + memcpy(entries, r.out.entries, (*r.out.num_ents) * sizeof(*entries)); /* Return result */ return NT_STATUS_OK; @@ -184,7 +187,10 @@ NTSTATUS rpccli_epm_Map(struct rpc_pipe_client *cli, /* Return variables */ *entry_handle = *r.out.entry_handle; *num_towers = *r.out.num_towers; - memcpy(towers, r.out.towers, (r.in.max_towers) * sizeof(*towers)); + if ((*r.out.num_towers) (r.in.max_towers)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + memcpy(towers, r.out.towers, (*r.out.num_towers) * sizeof(*towers)); /* Return result */ return NT_STATUS_OK; diff --git a/librpc/gen_ndr/cli_ntsvcs.c b/librpc/gen_ndr/cli_ntsvcs.c index 8f98278..e9c3d4c 100644 --- a/librpc/gen_ndr/cli_ntsvcs.c +++ b/librpc/gen_ndr/cli_ntsvcs.c @@ -461,7 +461,10 @@ NTSTATUS rpccli_PNP_GetDeviceList(struct rpc_pipe_client *cli, } /* Return variables */ - memcpy(buffer, r.out.buffer, (*r.in.length) * sizeof(*buffer)); + if ((*r.out.length) (*r.in.length)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + memcpy(buffer, r.out.buffer, (*r.out.length) * sizeof(*buffer)); *length = *r.out.length; /* Return result */ @@ -606,7 +609,10 @@ NTSTATUS rpccli_PNP_GetDeviceRegProp(struct rpc_pipe_client *cli, /* Return variables */ *reg_data_type = *r.out.reg_data_type; - memcpy(buffer, r.out.buffer, (*r.in.buffer_size) * sizeof(*buffer)); + if ((*r.out.buffer_size) (*r.in.buffer_size)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + memcpy(buffer, r.out.buffer, (*r.out.buffer_size) * sizeof(*buffer)); *buffer_size = *r.out.buffer_size; *needed = *r.out.needed; diff --git a/librpc/gen_ndr/cli_winreg.c b/librpc/gen_ndr/cli_winreg.c index c5d19be..93f969d 100644 --- a/librpc/gen_ndr/cli_winreg.c +++ b/librpc/gen_ndr/cli_winreg.c @@ -544,7 +544,13 @@ NTSTATUS rpccli_winreg_EnumValue(struct rpc_pipe_client *cli, *type = *r.out.type; } if (value r.out.value) { - memcpy(value, r.out.value, (*r.in.size) * sizeof(*value)); + if ((*r.out.size) (*r.in.size)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + if ((*r.out.length) (*r.out.size)) { + return NT_STATUS_INVALID_NETWORK_RESPONSE; + } + memcpy(value, r.out.value, (*r.out.length) * sizeof(*value)); } if (size r.out.size) { *size = *r.out.size; @@ -915,7 +921,13 @@ NTSTATUS rpccli_winreg_QueryValue(struct rpc_pipe_client *cli, *type = *r.out.type; } if (data r.out.data) { - memcpy(data, r.out.data, (*r.in.data_size) * sizeof(*data)); + if ((*r.out.data_size) (*r.in.data_size)) { +
[SCM] Samba Shared Repository - branch v3-5-test updated
The branch, v3-5-test has been updated via 39cb903... Fix bug 7590 - offline login fails because winbind deletes cache on every startup. from 5dff580... rerun: make samba3-idl http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log - commit 39cb903463d8a3fcabd9e148112bf5cf81744130 Author: Jeremy Allison j...@samba.org Date: Tue Jul 27 01:54:01 2010 -0700 Fix bug 7590 - offline login fails because winbind deletes cache on every startup. Sync lib/tdb_validate.c with the change in current master. Change tdb_validate_open() to always use O_RDWR instead of O_RDONLY, as (from the bug report): db_check() will always return failure for a read-only database. Silently, without any log output, when _tdb_lockall() fails. Jeremy. --- Summary of changes: source3/lib/tdb_validate.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/lib/tdb_validate.c b/source3/lib/tdb_validate.c index a1fb185..b4d0365 100644 --- a/source3/lib/tdb_validate.c +++ b/source3/lib/tdb_validate.c @@ -192,7 +192,7 @@ int tdb_validate_open(const char *tdb_path, tdb_validate_data_func validate_fn) DEBUG(5, (tdb_validate_open called for tdb '%s'\n, tdb_path)); - tdb = tdb_open_log(tdb_path, 0, TDB_DEFAULT, O_RDONLY, 0); + tdb = tdb_open_log(tdb_path, 0, TDB_DEFAULT, O_RDWR, 0); if (!tdb) { DEBUG(1, (Error opening tdb %s\n, tdb_path)); return ret; -- Samba Shared Repository
[SCM] Samba Shared Repository - branch v3-4-test updated
The branch, v3-4-test has been updated via 9812b1a... Fix bug 7590 - offline login fails because winbind deletes cache on every startup. from 9b9b462... rerun: make samba3-idl http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test - Log - commit 9812b1a601c9ccc2a3e6c06b98c32730a32c787a Author: Jeremy Allison j...@samba.org Date: Tue Jul 27 01:54:01 2010 -0700 Fix bug 7590 - offline login fails because winbind deletes cache on every startup. Sync lib/tdb_validate.c with the change in current master. Change tdb_validate_open() to always use O_RDWR instead of O_RDONLY, as (from the bug report): db_check() will always return failure for a read-only database. Silently, without any log output, when _tdb_lockall() fails. Jeremy. (cherry picked from commit 39cb903463d8a3fcabd9e148112bf5cf81744130) --- Summary of changes: source3/lib/tdb_validate.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/lib/tdb_validate.c b/source3/lib/tdb_validate.c index 092546e..5f9e155 100644 --- a/source3/lib/tdb_validate.c +++ b/source3/lib/tdb_validate.c @@ -181,7 +181,7 @@ int tdb_validate_open(const char *tdb_path, tdb_validate_data_func validate_fn) DEBUG(5, (tdb_validate_open called for tdb '%s'\n, tdb_path)); - tdb = tdb_open_log(tdb_path, 0, TDB_DEFAULT, O_RDONLY, 0); + tdb = tdb_open_log(tdb_path, 0, TDB_DEFAULT, O_RDWR, 0); if (!tdb) { DEBUG(1, (Error opening tdb %s\n, tdb_path)); return ret; -- Samba Shared Repository