The branch, v3-6-test has been updated via ebfcac8 Ported from master 97b76364e7c8103ee6dd6e41d85d3932e46eafdc - Author: Volker Lendecke <v...@samba.org> s3: Attempt to fix a ton of warnings on the build farm via c25d408 s3: Fix a pointer error via 1b0a10b s3: Move #define VALGRIND to config.h from 14fd84d s3: Attempt to fix bug 7665
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test - Log ----------------------------------------------------------------- commit ebfcac80806d528ce3b6565af68ac4de9f941837 Author: Jeremy Allison <j...@samba.org> Date: Mon Oct 4 14:51:10 2010 -0700 Ported from master 97b76364e7c8103ee6dd6e41d85d3932e46eafdc - Author: Volker Lendecke <v...@samba.org> s3: Attempt to fix a ton of warnings on the build farm commit c25d408e03d4f13b54534a771f333603cfbf823c Author: Volker Lendecke <v...@samba.org> Date: Mon Oct 4 11:39:51 2010 +0200 s3: Fix a pointer error It is not universally guaranteed that an enum is represented as a uint32_t. This starts to be THE BUG (tm) in Samba. What can I do to explain this to people a bit better? It seems that the verbose explanations I put into the recent checkins fixing similar bugs are not clear enough. Anybody who does is not 100% clear about what this patch fixes please contact me directly so that we can talk it through on the phone to agree on a wording that everybody can understand. Thanks, Volker (cherry picked from commit 515c8f0289f9ac0d418399499da309f3f88b1540) commit 1b0a10bba74b7a38064d600b0fdd4e76db1db1e1 Author: Volker Lendecke <v...@samba.org> Date: Sun Oct 3 11:56:35 2010 +0200 s3: Move #define VALGRIND to config.h This fixes the valgrind overrun in the tdb jenkins hash (cherry picked from commit 48dccbf2b52163643b5bbc0d73b65e12b8c92c12) (cherry picked from commit ab2aead60dc7d334e4ff4f87861909c084eb657a) ----------------------------------------------------------------------- Summary of changes: source3/configure.in | 7 +++++++ source3/include/fake_file.h | 10 ++++++++++ source3/include/includes.h | 10 ---------- source3/include/proto.h | 12 ------------ source3/include/smb.h | 2 -- source3/libsmb/cliquota.c | 1 + source3/printing/nt_printing.c | 2 +- source3/rpc_server/srv_pipe_hnd.c | 2 ++ source3/smbd/close.c | 1 + source3/smbd/fake_file.c | 1 + source3/smbd/filename.c | 1 + source3/smbd/open.c | 1 + source3/smbd/reply.c | 1 + source3/utils/smbcquotas.c | 1 + 14 files changed, 27 insertions(+), 25 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/configure.in b/source3/configure.in index c86494e..2bc9137 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -759,6 +759,13 @@ CPPFLAGS="$old_CPPFLAGS" # subdirectory of headers. AC_CHECK_HEADERS(valgrind.h valgrind/valgrind.h valgrind/memcheck.h) +if test x"$enable_developer" = x"yes" ; then + if test x"$ac_cv_header_valgrind_h" = xyes -o \ + x"$ac_cv_header_valgrind_valgrind_h" = xyes ; then + AC_DEFINE(VALGRIND,1,[Whether we have valgrind headers]) + fi +fi + # # HPUX has a bug in that including shadow.h causes a re-definition of MAXINT. # This causes configure to fail to detect it. Check for shadow separately on HPUX. diff --git a/source3/include/fake_file.h b/source3/include/fake_file.h index 6b34005..0581fbc 100644 --- a/source3/include/fake_file.h +++ b/source3/include/fake_file.h @@ -38,4 +38,14 @@ struct fake_file_handle { void *private_data; }; +enum FAKE_FILE_TYPE is_fake_file_path(const char *path); +enum FAKE_FILE_TYPE is_fake_file(const struct smb_filename *smb_fname); +NTSTATUS open_fake_file(struct smb_request *req, connection_struct *conn, + uint16_t current_vuid, + enum FAKE_FILE_TYPE fake_file_type, + const struct smb_filename *smb_fname, + uint32 access_mask, + files_struct **result); +NTSTATUS close_fake_file(struct smb_request *req, files_struct *fsp); + #endif /* _FAKE_FILE_H */ diff --git a/source3/include/includes.h b/source3/include/includes.h index 6554113..f13318d 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -251,16 +251,6 @@ typedef int ber_int_t; #include <valgrind.h> #endif -/* If we have --enable-developer and the valgrind header is present, - * then we're OK to use it. Set a macro so this logic can be done only - * once. */ -#if defined(DEVELOPER) -#if (HAVE_VALGRIND_H || HAVE_VALGRIND_VALGRIND_H) -#define VALGRIND -#endif -#endif - - /* we support ADS if we want it and have krb5 and ldap libs */ #if defined(WITH_ADS) && defined(HAVE_KRB5) && defined(HAVE_LDAP) #define HAVE_ADS diff --git a/source3/include/proto.h b/source3/include/proto.h index 5e23c67..e97109f 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -4670,18 +4670,6 @@ void reply_both_error(struct smb_request *req, uint8 eclass, uint32 ecode, NTSTATUS status, int line, const char *file); void reply_openerror(struct smb_request *req, NTSTATUS status); -/* The following definitions come from smbd/fake_file.c */ - -enum FAKE_FILE_TYPE is_fake_file_path(const char *path); -enum FAKE_FILE_TYPE is_fake_file(const struct smb_filename *smb_fname); -NTSTATUS open_fake_file(struct smb_request *req, connection_struct *conn, - uint16_t current_vuid, - enum FAKE_FILE_TYPE fake_file_type, - const struct smb_filename *smb_fname, - uint32 access_mask, - files_struct **result); -NTSTATUS close_fake_file(struct smb_request *req, files_struct *fsp); - /* The following definitions come from smbd/file_access.c */ bool can_access_file_acl(struct connection_struct *conn, diff --git a/source3/include/smb.h b/source3/include/smb.h index 9bfceb0..4d6499c 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -257,8 +257,6 @@ typedef struct write_cache { char *data; } write_cache; -#include "fake_file.h" - struct fd_handle { size_t ref_count; int fd; diff --git a/source3/libsmb/cliquota.c b/source3/libsmb/cliquota.c index c001f5e..002200d 100644 --- a/source3/libsmb/cliquota.c +++ b/source3/libsmb/cliquota.c @@ -19,6 +19,7 @@ #include "includes.h" #include "../librpc/gen_ndr/ndr_security.h" +#include "fake_file.h" NTSTATUS cli_get_quota_handle(struct cli_state *cli, uint16_t *quota_fnum) { diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index 216e71e..c1101cf 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -751,7 +751,7 @@ static WERROR clean_up_driver_struct_level(TALLOC_CTX *mem_ctx, const char **config_file, const char **help_file, struct spoolss_StringArray *dependent_files, - uint32_t *version) + enum spoolss_DriverOSVersion *version) { const char *short_architecture; int i; diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c index 4bfcd40..c52fe83 100644 --- a/source3/rpc_server/srv_pipe_hnd.c +++ b/source3/rpc_server/srv_pipe_hnd.c @@ -24,6 +24,8 @@ #include "librpc/gen_ndr/ndr_named_pipe_auth.h" #include "../libcli/named_pipe_auth/npa_tstream.h" #include "rpc_server.h" +#include "smbd/globals.h" +#include "fake_file.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV diff --git a/source3/smbd/close.c b/source3/smbd/close.c index fb0e206..2c47c2c 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -23,6 +23,7 @@ #include "printing.h" #include "librpc/gen_ndr/messaging.h" #include "smbd/globals.h" +#include "fake_file.h" /**************************************************************************** Run a file if it is a magic script. diff --git a/source3/smbd/fake_file.c b/source3/smbd/fake_file.c index 9a6931f..d844261 100644 --- a/source3/smbd/fake_file.c +++ b/source3/smbd/fake_file.c @@ -18,6 +18,7 @@ */ #include "includes.h" +#include "fake_file.h" struct fake_file_type { const char *name; diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c index 57402fc..7bc8607 100644 --- a/source3/smbd/filename.c +++ b/source3/smbd/filename.c @@ -25,6 +25,7 @@ */ #include "includes.h" +#include "fake_file.h" static NTSTATUS build_stream_path(TALLOC_CTX *mem_ctx, connection_struct *conn, diff --git a/source3/smbd/open.c b/source3/smbd/open.c index ba1fbf2..2009d2a 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -22,6 +22,7 @@ #include "includes.h" #include "printing.h" #include "smbd/globals.h" +#include "fake_file.h" #include "librpc/gen_ndr/messaging.h" #include "../librpc/gen_ndr/ndr_security.h" diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 829fd27..703051f 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -27,6 +27,7 @@ #include "includes.h" #include "printing.h" #include "smbd/globals.h" +#include "fake_file.h" #include "../librpc/gen_ndr/cli_spoolss.h" #include "rpc_client/cli_spoolss.h" #include "rpc_client/init_spoolss.h" diff --git a/source3/utils/smbcquotas.c b/source3/utils/smbcquotas.c index f575872..f473808 100644 --- a/source3/utils/smbcquotas.c +++ b/source3/utils/smbcquotas.c @@ -25,6 +25,7 @@ #include "popt_common.h" #include "../librpc/gen_ndr/ndr_lsa.h" #include "rpc_client/cli_lsarpc.h" +#include "fake_file.h" static char *server; -- Samba Shared Repository