[SCM] Samba Shared Repository - branch master updated
Michael Adam
obnox at samba.org
Thu Dec 5 19:08:04 MST 2013
The branch, master has been updated
via 30231b2 s3-torture: Call cli_flush().
via 5f92c81 krb5_wrap: Move function declaration outside the function.
via 1461d87 s3-libsmb: Fix a memory leak in get_pdc_ip().
via 1439070 s3-torture: Make sure status is used initialized.
via 1d7b909 s3-torture: Fix several memory leaks in delete_fn().
via c5e73bc s3-utils: Fix a memory leak in smbget.
via 4f06c68 s4-torture: Use talloc for asprintf.
via b871c39 s4-torture: Fix out of bound array access.
via 34f4985 s3-torture: Comment out dead code in spoolss test.
via 3b3b52c s4-torture: Fix some compile warnings in spoolss.
via 09cc58c s4-torture: Make sure handles are correctly initialized.
via ef2cd51 s4-torture: Make sure the handles are initialized correctly.
via 13e33ab s4-torture: Make sure the handles are not used uninitialized.
via 9d53d9f s4-libcli: Add smb2_util_handle_empty().
via 5be0995 torture: match Windows responses to bad shadow copy IDs
via dbb6f07 torture: test duplicate shares in FSRVP shadow-copy set
from c1b7cf5 smbd: Fix a panic when a smb2 brlock times out
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 30231b256d8b14337a7ffe04fc031cf5693110f4
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:02:00 2013 +0100
s3-torture: Call cli_flush().
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
Autobuild-User(master): Michael Adam <obnox at samba.org>
Autobuild-Date(master): Fri Dec 6 03:07:32 CET 2013 on sn-devel-104
commit 5f92c81fb67687cc4586e675e722192350745971
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:59 2013 +0100
krb5_wrap: Move function declaration outside the function.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 1461d873a49fbc02b809d804e52627760a8714f7
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:58 2013 +0100
s3-libsmb: Fix a memory leak in get_pdc_ip().
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 143907025b19ced780e7b1a3455de80d96eb0432
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:57 2013 +0100
s3-torture: Make sure status is used initialized.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 1d7b909bd2fec8b0c2f7056b61d9ca5d6776ed7d
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:56 2013 +0100
s3-torture: Fix several memory leaks in delete_fn().
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit c5e73bccd5af8404df8bfaf2e6a40e93ead47f2e
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:55 2013 +0100
s3-utils: Fix a memory leak in smbget.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 4f06c681b91446f4e85d7e46bdb20b25bf222aad
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:54 2013 +0100
s4-torture: Use talloc for asprintf.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit b871c3907afe666ff7195c2906b43011138e4bf7
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:53 2013 +0100
s4-torture: Fix out of bound array access.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 34f498525cb7f6007c7d757e58fcaed7a607a4a2
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:52 2013 +0100
s3-torture: Comment out dead code in spoolss test.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 3b3b52c013bdf61fdf58c9725eb4a0843a1a1fb6
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:51 2013 +0100
s4-torture: Fix some compile warnings in spoolss.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 09cc58c1a7ffa29b509a688ab011503ebc7fd660
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:50 2013 +0100
s4-torture: Make sure handles are correctly initialized.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit ef2cd51586a359d192ae1d07898d9e10cb5fb1b0
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:49 2013 +0100
s4-torture: Make sure the handles are initialized correctly.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 13e33ab98e8c7ffa5b9a6fd8089688c6be961ffb
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:48 2013 +0100
s4-torture: Make sure the handles are not used uninitialized.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 9d53d9f7e55e07bb079d3e91018e6c407c91573a
Author: Andreas Schneider <asn at samba.org>
Date: Wed Dec 4 14:01:47 2013 +0100
s4-libcli: Add smb2_util_handle_empty().
Will be used in the next commit.
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 5be0995d98cec1585997ea630d7d871352074f12
Author: David Disseldorp <ddiss at samba.org>
Date: Thu Dec 5 20:12:53 2013 +0100
torture: match Windows responses to bad shadow copy IDs
test_fsrvp_bad_id() issues DeleteShareMapping requests with invalid
shadow copy IDs, expect Windows Server 2012 return codes.
Signed-off-by: David Disseldorp <ddiss at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit dbb6f07728e654a8f02badf8d41e431443b395a6
Author: David Disseldorp <ddiss at samba.org>
Date: Thu Dec 5 20:12:52 2013 +0100
torture: test duplicate shares in FSRVP shadow-copy set
MS-FSRVP 3.1.4.4 documents the requirement for failure when duplicate
volume names are encountered on AddToShadowCopySet.
Signed-off-by: David Disseldorp <ddiss at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
-----------------------------------------------------------------------
Summary of changes:
lib/krb5_wrap/krb5_samba.c | 17 +++++++-------
source3/libsmb/namequery.c | 1 +
source3/torture/cmd_vfs.c | 7 ++---
source3/torture/nbio.c | 9 ++++++-
source3/utils/smbget.c | 1 +
source4/libcli/smb2/util.c | 9 +++++++
source4/torture/raw/setfileinfo.c | 22 ++++++++----------
source4/torture/rpc/fsrvp.c | 43 ++++++++++++++++++++++++-------------
source4/torture/rpc/spoolss.c | 28 +++++++++++++++++-------
source4/torture/rpc/winreg.c | 5 +++-
source4/torture/smb2/streams.c | 8 ++++++-
11 files changed, 99 insertions(+), 51 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c
index 024e188..b218437 100644
--- a/lib/krb5_wrap/krb5_samba.c
+++ b/lib/krb5_wrap/krb5_samba.c
@@ -1334,6 +1334,15 @@ static krb5_error_code smb_krb5_get_credentials_for_user_opt(krb5_context contex
#endif /* HAVE_KRB5_GET_CREDS_OPT_SET_IMPERSONATE */
#ifdef HAVE_KRB5_GET_CREDENTIALS_FOR_USER
+
+#if !HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER
+krb5_error_code KRB5_CALLCONV
+krb5_get_credentials_for_user(krb5_context context, krb5_flags options,
+ krb5_ccache ccache, krb5_creds *in_creds,
+ krb5_data *subject_cert,
+ krb5_creds **out_creds);
+#endif /* !HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER */
+
static krb5_error_code smb_krb5_get_credentials_for_user(krb5_context context,
krb5_ccache ccache,
krb5_principal me,
@@ -1344,14 +1353,6 @@ static krb5_error_code smb_krb5_get_credentials_for_user(krb5_context context,
krb5_error_code ret;
krb5_creds in_creds;
-#if !HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER
-krb5_error_code KRB5_CALLCONV
-krb5_get_credentials_for_user(krb5_context context, krb5_flags options,
- krb5_ccache ccache, krb5_creds *in_creds,
- krb5_data *subject_cert,
- krb5_creds **out_creds);
-#endif /* !HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER */
-
ZERO_STRUCT(in_creds);
if (impersonate_princ) {
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c
index f2fffde..7d6d6bb 100644
--- a/source3/libsmb/namequery.c
+++ b/source3/libsmb/namequery.c
@@ -2976,6 +2976,7 @@ bool get_pdc_ip(const char *domain, struct sockaddr_storage *pss)
&count,
lp_name_resolve_order());
if (!NT_STATUS_IS_OK(status)) {
+ SAFE_FREE(ip_list);
return false;
}
}
diff --git a/source3/torture/cmd_vfs.c b/source3/torture/cmd_vfs.c
index f923ed5..1ccdfe3 100644
--- a/source3/torture/cmd_vfs.c
+++ b/source3/torture/cmd_vfs.c
@@ -1489,6 +1489,7 @@ static NTSTATUS cmd_set_nt_acl(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int a
return NT_STATUS_UNSUCCESSFUL;
}
+ status = NT_STATUS_OK;
ret = SMB_VFS_FSTAT(fsp, &smb_fname->st);
if (ret == -1) {
/* If we have an fd, this stat should succeed. */
@@ -1545,7 +1546,6 @@ static NTSTATUS cmd_sys_acl_get_fd(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
int argc, const char **argv)
{
int fd;
- NTSTATUS status;
SMB_ACL_T acl;
char *acl_text;
@@ -1567,7 +1567,7 @@ static NTSTATUS cmd_sys_acl_get_fd(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
acl = SMB_VFS_SYS_ACL_GET_FD(vfs->files[fd], talloc_tos());
if (!acl) {
printf("sys_acl_get_fd failed (%s)\n", strerror(errno));
- return status;
+ return NT_STATUS_UNSUCCESSFUL;
}
acl_text = sys_acl_to_text(acl, NULL);
printf("%s", acl_text);
@@ -1579,7 +1579,6 @@ static NTSTATUS cmd_sys_acl_get_fd(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
static NTSTATUS cmd_sys_acl_get_file(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
int argc, const char **argv)
{
- NTSTATUS status;
SMB_ACL_T acl;
char *acl_text;
int type;
@@ -1592,7 +1591,7 @@ static NTSTATUS cmd_sys_acl_get_file(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
acl = SMB_VFS_SYS_ACL_GET_FILE(vfs->conn, argv[1], type, talloc_tos());
if (!acl) {
printf("sys_acl_get_file failed (%s)\n", strerror(errno));
- return status;
+ return NT_STATUS_UNSUCCESSFUL;
}
acl_text = sys_acl_to_text(acl, NULL);
printf("%s", acl_text);
diff --git a/source3/torture/nbio.c b/source3/torture/nbio.c
index 0c918c1..fba83ea 100644
--- a/source3/torture/nbio.c
+++ b/source3/torture/nbio.c
@@ -306,7 +306,8 @@ void nb_flush(int fnum)
{
int i;
i = find_handle(fnum);
- /* hmmm, we don't have cli_flush() yet */
+
+ cli_flush(NULL, c, i);
}
static int total_deleted;
@@ -323,6 +324,7 @@ static NTSTATUS delete_fn(const char *mnt, struct file_info *finfo,
n = SMB_STRDUP(name);
n[strlen(n)-1] = 0;
if (asprintf(&s, "%s%s", n, finfo->name) == -1) {
+ free(n);
printf("asprintf failed\n");
return NT_STATUS_NO_MEMORY;
}
@@ -330,12 +332,15 @@ static NTSTATUS delete_fn(const char *mnt, struct file_info *finfo,
char *s2;
if (asprintf(&s2, "%s\\*", s) == -1) {
printf("asprintf failed\n");
+ free(s);
+ free(n);
return NT_STATUS_NO_MEMORY;
}
status = cli_list(c, s2, FILE_ATTRIBUTE_DIRECTORY, delete_fn, NULL);
+ free(s2);
if (!NT_STATUS_IS_OK(status)) {
+ free(s);
free(n);
- free(s2);
return status;
}
nb_rmdir(s);
diff --git a/source3/utils/smbget.c b/source3/utils/smbget.c
index 5cb6849..28d5647 100644
--- a/source3/utils/smbget.c
+++ b/source3/utils/smbget.c
@@ -159,6 +159,7 @@ static int smb_download_dir(const char *base, const char *name, int resume)
char *newname;
if(!strcmp(dirent->name, ".") || !strcmp(dirent->name, ".."))continue;
if (asprintf(&newname, "%s/%s", tmpname, dirent->name) == -1) {
+ free(tmpname);
return 1;
}
switch(dirent->smbc_type) {
diff --git a/source4/libcli/smb2/util.c b/source4/libcli/smb2/util.c
index 8b4a86f..e28c910 100644
--- a/source4/libcli/smb2/util.c
+++ b/source4/libcli/smb2/util.c
@@ -230,3 +230,12 @@ bool smb2_util_handle_equal(const struct smb2_handle h1,
{
return (h1.data[0] == h2.data[0]) && (h1.data[1] == h2.data[1]);
}
+
+bool smb2_util_handle_empty(const struct smb2_handle h)
+{
+ struct smb2_handle empty;
+
+ ZERO_STRUCT(empty);
+
+ return smb2_util_handle_equal(h, empty);
+}
diff --git a/source4/torture/raw/setfileinfo.c b/source4/torture/raw/setfileinfo.c
index 95ce060..a08191d 100644
--- a/source4/torture/raw/setfileinfo.c
+++ b/source4/torture/raw/setfileinfo.c
@@ -36,7 +36,6 @@ torture_raw_sfileinfo_base(struct torture_context *torture, struct smbcli_state
bool ret = true;
int fnum = -1;
char *fnum_fname;
- char *fnum_fname_new;
char *path_fname;
char *path_fname_new;
union smb_fileinfo finfo1, finfo2;
@@ -47,10 +46,9 @@ torture_raw_sfileinfo_base(struct torture_context *torture, struct smbcli_state
bool check_fnum;
int n = time(NULL) % 100;
- asprintf(&path_fname, BASEDIR "\\fname_test_%d.txt", n);
- asprintf(&path_fname_new, BASEDIR "\\fname_test_new_%d.txt", n);
- asprintf(&fnum_fname, BASEDIR "\\fnum_test_%d.txt", n);
- asprintf(&fnum_fname_new, BASEDIR "\\fnum_test_new_%d.txt", n);
+ path_fname = talloc_asprintf(torture, BASEDIR "\\fname_test_%d.txt", n);
+ path_fname_new = talloc_asprintf(torture, BASEDIR "\\fname_test_new_%d.txt", n);
+ fnum_fname = talloc_asprintf(torture, BASEDIR "\\fnum_test_%d.txt", n);
torture_assert(torture, torture_setup_dir(cli, BASEDIR), "Failed to setup up test directory: " BASEDIR);
@@ -481,13 +479,13 @@ torture_raw_sfileinfo_rename(struct torture_context *torture,
const char *call_name;
bool check_fnum;
int n = time(NULL) % 100;
-
- asprintf(&path_fname, BASEDIR "\\fname_test_%d.txt", n);
- asprintf(&path_fname_new, BASEDIR "\\fname_test_new_%d.txt", n);
- asprintf(&fnum_fname, BASEDIR "\\fnum_test_%d.txt", n);
- asprintf(&fnum_fname_new, BASEDIR "\\fnum_test_new_%d.txt", n);
- asprintf(&path_dname, BASEDIR "\\dname_test_%d", n);
- asprintf(&path_dname_new, BASEDIR "\\dname_test_new_%d", n);
+
+ path_fname = talloc_asprintf(torture, BASEDIR "\\fname_test_%d.txt", n);
+ path_fname_new = talloc_asprintf(torture, BASEDIR "\\fname_test_new_%d.txt", n);
+ fnum_fname = talloc_asprintf(torture, BASEDIR "\\fnum_test_%d.txt", n);
+ fnum_fname_new = talloc_asprintf(torture, BASEDIR "\\fnum_test_new_%d.txt", n);
+ path_dname = talloc_asprintf(torture, BASEDIR "\\dname_test_%d", n);
+ path_dname_new = talloc_asprintf(torture, BASEDIR "\\dname_test_new_%d", n);
torture_assert(torture, torture_setup_dir(cli, BASEDIR), "Failed to setup up test directory: " BASEDIR);
diff --git a/source4/torture/rpc/fsrvp.c b/source4/torture/rpc/fsrvp.c
index d7645c9..f853ecf 100644
--- a/source4/torture/rpc/fsrvp.c
+++ b/source4/torture/rpc/fsrvp.c
@@ -3,7 +3,7 @@
test suite for File Server Remote VSS Protocol operations
- Copyright (C) David Disseldorp 2012
+ Copyright (C) David Disseldorp 2012-2013
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -138,7 +138,8 @@ static bool test_fsrvp_sc_create(struct torture_context *tctx,
struct fss_GetSupportedVersion r_version_get;
struct fss_SetContext r_context_set;
struct fss_StartShadowCopySet r_scset_start;
- struct fss_AddToShadowCopySet r_scset_add;
+ struct fss_AddToShadowCopySet r_scset_add1;
+ struct fss_AddToShadowCopySet r_scset_add2;
struct fss_PrepareShadowCopySet r_scset_prep;
struct fss_CommitShadowCopySet r_scset_commit;
struct fss_ExposeShadowCopySet r_scset_expose;
@@ -189,19 +190,31 @@ static bool test_fsrvp_sc_create(struct torture_context *tctx,
torture_comment(tctx, "%s: shadow-copy set created\n",
GUID_string(tmp_ctx, r_scset_start.out.pShadowCopySetId));
- ZERO_STRUCT(r_scset_add);
- r_scset_add.in.ClientShadowCopyId = GUID_random();
- r_scset_add.in.ShadowCopySetId = *r_scset_start.out.pShadowCopySetId;
- r_scset_add.in.ShareName = share;
- status = dcerpc_fss_AddToShadowCopySet_r(b, tmp_ctx, &r_scset_add);
+ ZERO_STRUCT(r_scset_add1);
+ r_scset_add1.in.ClientShadowCopyId = GUID_random();
+ r_scset_add1.in.ShadowCopySetId = *r_scset_start.out.pShadowCopySetId;
+ r_scset_add1.in.ShareName = share;
+ status = dcerpc_fss_AddToShadowCopySet_r(b, tmp_ctx, &r_scset_add1);
torture_assert_ntstatus_ok(tctx, status,
"AddToShadowCopySet failed");
- torture_assert_int_equal(tctx, r_scset_add.out.result, 0,
+ torture_assert_int_equal(tctx, r_scset_add1.out.result, 0,
"failed AddToShadowCopySet response");
torture_comment(tctx, "%s(%s): %s added to shadow-copy set\n",
GUID_string(tmp_ctx, r_scset_start.out.pShadowCopySetId),
- GUID_string(tmp_ctx, r_scset_add.out.pShadowCopyId),
- r_scset_add.in.ShareName);
+ GUID_string(tmp_ctx, r_scset_add1.out.pShadowCopyId),
+ r_scset_add1.in.ShareName);
+
+ /* attempts to add the same share twice should fail */
+ ZERO_STRUCT(r_scset_add2);
+ r_scset_add2.in.ClientShadowCopyId = GUID_random();
+ r_scset_add2.in.ShadowCopySetId = *r_scset_start.out.pShadowCopySetId;
+ r_scset_add2.in.ShareName = share;
+ status = dcerpc_fss_AddToShadowCopySet_r(b, tmp_ctx, &r_scset_add2);
+ torture_assert_ntstatus_ok(tctx, status,
+ "AddToShadowCopySet failed");
+ torture_assert_int_equal(tctx, r_scset_add2.out.result,
+ FSRVP_E_OBJECT_ALREADY_EXISTS,
+ "failed AddToShadowCopySet response");
start_time = time_mono(NULL);
ZERO_STRUCT(r_scset_prep);
@@ -244,9 +257,9 @@ static bool test_fsrvp_sc_create(struct torture_context *tctx,
(unsigned long long)(time_mono(NULL) - start_time));
ZERO_STRUCT(r_sharemap_get);
- r_sharemap_get.in.ShadowCopyId = *r_scset_add.out.pShadowCopyId;
+ r_sharemap_get.in.ShadowCopyId = *r_scset_add1.out.pShadowCopyId;
r_sharemap_get.in.ShadowCopySetId = *r_scset_start.out.pShadowCopySetId;
- r_sharemap_get.in.ShareName = r_scset_add.in.ShareName;
+ r_sharemap_get.in.ShareName = r_scset_add1.in.ShareName;
r_sharemap_get.in.Level = 1;
status = dcerpc_fss_GetShareMapping_r(b, tmp_ctx, &r_sharemap_get);
torture_assert_ntstatus_ok(tctx, status, "GetShareMapping failed");
@@ -402,7 +415,7 @@ static bool test_fsrvp_bad_id(struct torture_context *tctx,
torture_assert_ntstatus_ok(tctx, status,
"DeleteShareMapping failed");
torture_assert_int_equal(tctx, r_sharemap_del.out.result,
- FSRVP_E_BAD_ID,
+ FSRVP_E_OBJECT_NOT_FOUND,
"incorrect DeleteShareMapping response");
r_sharemap_del.in.ShadowCopySetId = sc_map->ShadowCopySetId;
@@ -411,7 +424,7 @@ static bool test_fsrvp_bad_id(struct torture_context *tctx,
torture_assert_ntstatus_ok(tctx, status,
"DeleteShareMapping failed");
torture_assert_int_equal(tctx, r_sharemap_del.out.result,
- FSRVP_E_BAD_ID,
+ E_INVALIDARG,
"incorrect DeleteShareMapping response");
torture_assert(tctx, test_fsrvp_sc_delete(tctx, p, sc_map), "sc del");
@@ -612,7 +625,7 @@ static bool test_fsrvp_enum_created(struct torture_context *tctx,
return true;
}
-static bool fsrvp_rpc_setup (struct torture_context *tctx, void **data)
+static bool fsrvp_rpc_setup(struct torture_context *tctx, void **data)
{
NTSTATUS status;
struct torture_rpc_tcase *tcase = talloc_get_type(
diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c
index d216e07..e645887 100644
--- a/source4/torture/rpc/spoolss.c
+++ b/source4/torture/rpc/spoolss.c
@@ -585,7 +585,7 @@ static bool test_EnumPrinterDrivers_findone(struct torture_context *tctx,
"failed to enumerate printer drivers");
for (i=0; i < count; i++) {
- const char *driver_name_ret;
+ const char *driver_name_ret = "";
switch (level) {
case 1:
driver_name_ret = info[i].info1.driver_name;
@@ -681,7 +681,7 @@ static bool test_EnumPrinterDrivers(struct torture_context *tctx,
for (j=0;j<ctx->driver_count[level - 1];j++) {
union spoolss_DriverInfo *cur = &ctx->drivers[level - 1][j];
- union spoolss_DriverInfo *ref = &ctx->drivers[8][j];
+ union spoolss_DriverInfo *ref = &ctx->drivers[7][j];
switch (level) {
case 1:
@@ -1439,8 +1439,6 @@ static bool test_PrinterInfo(struct torture_context *tctx,
bool ret = true;
int i;
- torture_skip(tctx, "Printer Info test is currently broken, skipping");
-
uint32_t status_list[] = {
/* these do not stick
PRINTER_STATUS_PAUSED,
@@ -1519,6 +1517,9 @@ static bool test_PrinterInfo(struct torture_context *tctx,
0x80000000 */
};
+ torture_skip(tctx, "Printer Info test is currently broken, skipping");
+
+
ZERO_STRUCT(devmode_ctr);
ZERO_STRUCT(secdesc_ctr);
@@ -2132,7 +2133,6 @@ static bool test_devicemode_full(struct torture_context *tctx,
{
struct spoolss_SetPrinter s;
struct spoolss_GetPrinter q;
- struct spoolss_GetPrinter q0;
struct spoolss_SetPrinterInfoCtr info_ctr;
struct spoolss_SetPrinterInfo8 info8;
union spoolss_PrinterInfo info;
@@ -2184,7 +2184,6 @@ static bool test_devicemode_full(struct torture_context *tctx,
q.in.handle = handle;
q.out.info = &info;
- q0 = q;
#if 0
const char *devicename;/* [charset(UTF16)] */
@@ -3110,6 +3109,7 @@ static bool test_GetJob_args(struct torture_context *tctx,
return true;
}
+#if 0
static bool test_GetJob(struct torture_context *tctx,
struct dcerpc_binding_handle *b,
struct policy_handle *handle,
@@ -3126,6 +3126,7 @@ static bool test_GetJob(struct torture_context *tctx,
return true;
}
+#endif
static bool test_SetJob(struct torture_context *tctx,
struct dcerpc_binding_handle *b,
@@ -3450,6 +3451,8 @@ static bool test_DoPrintTest_add_one_job(struct torture_context *tctx,
uint32_t *job_id)
{
test_DoPrintTest_add_one_job_common(tctx, b, handle, document_name, "RAW", job_id);
+
+ return true;
}
static bool test_DoPrintTest_add_one_job_v4(struct torture_context *tctx,
@@ -3459,6 +3462,8 @@ static bool test_DoPrintTest_add_one_job_v4(struct torture_context *tctx,
uint32_t *job_id)
{
test_DoPrintTest_add_one_job_common(tctx, b, handle, document_name, "XPS_PASS", job_id);
+
+ return true;
}
@@ -4970,7 +4975,7 @@ static bool test_GetDriverInfo_winreg(struct torture_context *tctx,
struct policy_handle *hive_handle,
const char *server_name_slash)
{
- WERROR result;
+ WERROR result = WERR_OK;
union spoolss_DriverInfo info;
const char *driver_key;
struct policy_handle key_handle;
@@ -4987,6 +4992,8 @@ static bool test_GetDriverInfo_winreg(struct torture_context *tctx,
const char *driver_version;
const char *inbox_driver_version;
+ ZERO_STRUCT(key_handle);
+
torture_comment(tctx, "Testing Driver Info and winreg consistency\n");
driver_key = talloc_asprintf(tctx, "%s\\%s\\Drivers\\Version-%d\\%s",
@@ -6928,7 +6935,7 @@ static bool test_EnumPrinters_servername(struct torture_context *tctx,
return true;
}
-
+#if 0
static bool test_GetPrinterDriver(struct torture_context *tctx,
struct dcerpc_binding_handle *b,
struct policy_handle *handle,
@@ -6963,6 +6970,7 @@ static bool test_GetPrinterDriver(struct torture_context *tctx,
return true;
}
+#endif
static bool test_GetPrinterDriver2_level(struct torture_context *tctx,
struct dcerpc_binding_handle *b,
@@ -7663,6 +7671,7 @@ static bool compose_local_driver_directory(struct torture_context *tctx,
return true;
}
+#if 0
static struct spoolss_DeviceMode *torture_devicemode(TALLOC_CTX *mem_ctx,
const char *devicename)
{
@@ -7703,6 +7712,7 @@ static struct spoolss_DeviceMode *torture_devicemode(TALLOC_CTX *mem_ctx,
return r;
}
+#endif
static bool test_architecture_buffer(struct torture_context *tctx,
void *private_data)
@@ -8034,6 +8044,7 @@ static bool torture_rpc_spoolss_printerexwkn_setup(struct torture_context *tctx,
return torture_rpc_spoolss_printer_setup_common(tctx, t);
}
+#if 0
static bool torture_rpc_spoolss_printerdm_setup(struct torture_context *tctx, void **data)
{
struct torture_printer_context *t;
@@ -8047,6 +8058,7 @@ static bool torture_rpc_spoolss_printerdm_setup(struct torture_context *tctx, vo
return torture_rpc_spoolss_printer_setup_common(tctx, t);
}
+#endif
static bool torture_rpc_spoolss_printer_teardown_common(struct torture_context *tctx, struct torture_printer_context *t)
{
diff --git a/source4/torture/rpc/winreg.c b/source4/torture/rpc/winreg.c
index 55164cd..d3c3d05 100644
--- a/source4/torture/rpc/winreg.c
+++ b/source4/torture/rpc/winreg.c
@@ -2577,7 +2577,10 @@ static bool test_volatile_keys(struct torture_context *tctx,
int hkey)
{
struct policy_handle new_handle, hive_handle;
- enum winreg_CreateAction action_taken;
+ enum winreg_CreateAction action_taken = REG_ACTION_NONE;
+
+ ZERO_STRUCT(new_handle);
+ ZERO_STRUCT(hive_handle);
torture_comment(tctx, "Testing VOLATILE key\n");
diff --git a/source4/torture/smb2/streams.c b/source4/torture/smb2/streams.c
index 608b397..6077c5b 100644
--- a/source4/torture/smb2/streams.c
+++ b/source4/torture/smb2/streams.c
@@ -603,6 +603,9 @@ static bool test_stream_delete(struct torture_context *tctx,
goto done;
}
+ ZERO_STRUCT(h);
+ ZERO_STRUCT(h1);
+
sname1 = talloc_asprintf(mem_ctx, "%s:%s", fname, "Stream One");
/* clean slate .. */
@@ -696,6 +699,7 @@ static bool test_stream_delete(struct torture_context *tctx,
CHECK_STATUS(status, NT_STATUS_DELETE_PENDING);
--
Samba Shared Repository
More information about the samba-cvs
mailing list