[SCM] Samba Shared Repository - branch master updated
Günther Deschner
gd at samba.org
Thu Mar 17 19:12:01 MDT 2011
The branch, master has been updated
via de5cec4 s4-smbtorture: add netsessiongetinfo() test.
via 26ddcd3 s4-smbtorture: add missing error code check in test_netsessionenum().
via 436b497 s4-libcli/rap: add smbcli_rap_netsessiongetinfo().
via f87a072 rap: add rap_NetSessionGetInfo to IDL.
via 9ef1a8c s4-smbtorture: add test for rap_NetUserDelete().
via 5def6f0 s3-net: make sure we set correct default user flags in rap_user_add().
via 249340c s4-smbtorture: add test for rap_NetUserAdd().
via 980ceb2 s4-libcli/rap: add smbcli_rap_netuserdelete().
via 9b1f2df rap: add rap_NetUserDelete IDL.
via f91bc89 s4-libcli/rap: add smbcli_rap_netuseradd().
via dd5460c rap: add rap_NetUserAdd IDL.
via 40398ac s4-smbtorture: use torture_assert_ and comment functions in raw.eas test.
via 4a48c9d s4-smbtorture: use torture_context in raw.eas test.
via ac85193 s4-smbtorture: remove trailing whitespace from raw.eas test.
via faf8bec s3-utils: run minimal_includes.pl over utils/*.c
from 066fecd The searches struct is still being used and idled in SMB2 - move it to the global section until we decide if we want to idle SMB2 directory handles.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit de5cec48a4660eb6b4dd4138e3aff11a4ed57cdc
Author: Günther Deschner <gd at samba.org>
Date: Fri Mar 18 01:23:53 2011 +0100
s4-smbtorture: add netsessiongetinfo() test.
Guenther
Autobuild-User: Günther Deschner <gd at samba.org>
Autobuild-Date: Fri Mar 18 02:11:38 CET 2011 on sn-devel-104
commit 26ddcd3da1aa7903a08accea4e9d1ffaac1cae0a
Author: Günther Deschner <gd at samba.org>
Date: Fri Mar 18 01:23:29 2011 +0100
s4-smbtorture: add missing error code check in test_netsessionenum().
Guenther
commit 436b49771460139f1227b15445f68b80b5fbf6e6
Author: Günther Deschner <gd at samba.org>
Date: Fri Mar 18 01:22:59 2011 +0100
s4-libcli/rap: add smbcli_rap_netsessiongetinfo().
Guenther
commit f87a072b95e0eabffedb975d4fd4784300f7ad18
Author: Günther Deschner <gd at samba.org>
Date: Fri Mar 18 01:22:35 2011 +0100
rap: add rap_NetSessionGetInfo to IDL.
Guenther
commit 9ef1a8cf4cc08a9e8e5bda6123ca34edf4f40f4c
Author: Günther Deschner <gd at samba.org>
Date: Fri Mar 18 00:12:11 2011 +0100
s4-smbtorture: add test for rap_NetUserDelete().
Guenther
commit 5def6f0ecad18c5a3896dc27c1972299594188cd
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 23:51:12 2011 +0100
s3-net: make sure we set correct default user flags in rap_user_add().
Guenther
commit 249340c9c8f515a9d06d52d67f4d42e6751d1cf9
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 22:18:43 2011 +0100
s4-smbtorture: add test for rap_NetUserAdd().
Guenther
commit 980ceb2f708d00c13dd3f50cb00df17f1c593965
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 22:39:22 2011 +0100
s4-libcli/rap: add smbcli_rap_netuserdelete().
Guenther
commit 9b1f2df3b1528525c8e895cb1d413d019bbb71d4
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 22:38:47 2011 +0100
rap: add rap_NetUserDelete IDL.
Guenther
commit f91bc89a52ea9c21dab4f6f93ac04260874a1622
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 21:53:19 2011 +0100
s4-libcli/rap: add smbcli_rap_netuseradd().
Guenther
commit dd5460c2e5f8c074bffdd45314fea506d7dbbc8a
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 21:52:20 2011 +0100
rap: add rap_NetUserAdd IDL.
Guenther
commit 40398acf75d5de3c69aaed56eddc1c1cbde5b3ca
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 21:49:23 2011 +0100
s4-smbtorture: use torture_assert_ and comment functions in raw.eas test.
Guenther
commit 4a48c9d4ac20eefd8bd73525fa29deacece0873b
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 21:08:03 2011 +0100
s4-smbtorture: use torture_context in raw.eas test.
Guenther
commit ac851935e2ca7c7cc27f3202b9104ce1070240f3
Author: Günther Deschner <gd at samba.org>
Date: Fri Mar 18 00:36:39 2011 +0100
s4-smbtorture: remove trailing whitespace from raw.eas test.
Guenther
commit faf8becf22c44c8e4c70bfc4ae84b6081a633641
Author: Günther Deschner <gd at samba.org>
Date: Thu Mar 17 14:40:38 2011 +0100
s3-utils: run minimal_includes.pl over utils/*.c
Guenther
-----------------------------------------------------------------------
Summary of changes:
librpc/idl/rap.idl | 29 +++++++
source3/selftest/knownfail | 3 +
source3/utils/net_rap.c | 2 +-
source3/utils/net_rpc_printer.c | 1 -
source3/utils/net_rpc_registry.c | 2 -
source3/utils/net_rpc_sh_acct.c | 1 -
source4/libcli/rap/rap.c | 164 +++++++++++++++++++++++++++++++++++++-
source4/selftest/knownfail | 1 +
source4/torture/rap/rap.c | 62 ++++++++++++++
source4/torture/rap/sam.c | 116 ++++++++++++++++++++++++++-
source4/torture/raw/eas.c | 133 +++++++++++++++----------------
11 files changed, 439 insertions(+), 75 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/idl/rap.idl b/librpc/idl/rap.idl
index 7e3698a..8087e22 100644
--- a/librpc/idl/rap.idl
+++ b/librpc/idl/rap.idl
@@ -937,6 +937,35 @@ interface rap
[out,switch_is(level)] rap_session_info info[count]
);
+ /* not documented in MS-RAP */
+ [public] void rap_NetSessionGetInfo(
+ [in] astring SessionName,
+ [in] uint16 level,
+ [in] uint16 bufsize,
+ [out] rap_status status,
+ [out] uint16 convert,
+ [out] uint16 available,
+ [out,switch_is(level)] rap_session_info info
+ );
+
+ /* not documented in MS-RAP */
+ [public] void rap_NetUserAdd(
+ [in] uint16 level,
+ [in] uint16 bufsize,
+ [in] uint16 pwdlength,
+ [in] uint16 unknown,
+ [in,switch_is(level)] rap_netuser_info info,
+ [out] rap_status status,
+ [out] uint16 convert
+ );
+
+ /* not documented in MS-RAP */
+ [public] void rap_NetUserDelete(
+ [in] astring UserName,
+ [out] rap_status status,
+ [out] uint16 convert
+ );
+
/* Parameter description strings for RAP calls */
/* Names are defined name for RAP call with _REQ */
/* appended to end. */
diff --git a/source3/selftest/knownfail b/source3/selftest/knownfail
index df2ec9b..95f01f6 100644
--- a/source3/selftest/knownfail
+++ b/source3/selftest/knownfail
@@ -9,3 +9,6 @@ samba3.posix_s3.smb2.lock.*.rw-exclusive # another intermittent failure
samba3.raw.mux.* #This test is flaky on the async lock time
samba3.smbtorture_s3.*OPLOCK4 # fails sometimes on sn-devel
samba3.posix_s3.nbt.dgram.*netlogon2
+samba3.*rap.sam.*.useradd # Not provided by Samba 3
+samba3.*rap.sam.*.userdelete # Not provided by Samba 3
+samba3.*rap.basic.*.netsessiongetinfo # Not provided by Samba 3
diff --git a/source3/utils/net_rap.c b/source3/utils/net_rap.c
index 2cc42c8..afda222 100644
--- a/source3/utils/net_rap.c
+++ b/source3/utils/net_rap.c
@@ -825,7 +825,7 @@ static int rap_user_add(struct net_context *c, int argc, const char **argv)
return -1;
safe_strcpy((char *)userinfo.user_name, argv[0], sizeof(userinfo.user_name)-1);
- if (c->opt_flags == -1)
+ if (c->opt_flags == 0)
c->opt_flags = 0x21;
userinfo.userflags = c->opt_flags;
diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c
index 6de0d40..8be4fb1 100644
--- a/source3/utils/net_rpc_printer.c
+++ b/source3/utils/net_rpc_printer.c
@@ -22,7 +22,6 @@
#include "rpc_client/cli_spoolss.h"
#include "rpc_client/init_spoolss.h"
#include "nt_printing.h"
-#include "registry.h"
#include "registry/reg_objects.h"
#include "../libcli/security/security.h"
diff --git a/source3/utils/net_rpc_registry.c b/source3/utils/net_rpc_registry.c
index de9bbdd..809ec59 100644
--- a/source3/utils/net_rpc_registry.c
+++ b/source3/utils/net_rpc_registry.c
@@ -18,13 +18,11 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "includes.h"
-#include "popt_common.h"
#include "registry.h"
#include "utils/net.h"
#include "utils/net_registry_util.h"
#include "registry/regfio.h"
#include "../librpc/gen_ndr/ndr_winreg_c.h"
-#include "registry/reg_objects.h"
#include "../librpc/gen_ndr/ndr_security.h"
#include "registry/reg_format.h"
#include "registry/reg_import.h"
diff --git a/source3/utils/net_rpc_sh_acct.c b/source3/utils/net_rpc_sh_acct.c
index 5305f51..6f5604e 100644
--- a/source3/utils/net_rpc_sh_acct.c
+++ b/source3/utils/net_rpc_sh_acct.c
@@ -17,7 +17,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "includes.h"
-#include "popt_common.h"
#include "utils/net.h"
#include "../librpc/gen_ndr/ndr_samr_c.h"
#include "../libcli/security/security.h"
diff --git a/source4/libcli/rap/rap.c b/source4/libcli/rap/rap.c
index 7217ac0..5ea9e81 100644
--- a/source4/libcli/rap/rap.c
+++ b/source4/libcli/rap/rap.c
@@ -4,7 +4,7 @@
Copyright (C) Volker Lendecke 2004
Copyright (C) Tim Potter 2005
Copyright (C) Jelmer Vernooij 2007
- Copyright (C) Guenther Deschner 2010
+ Copyright (C) Guenther Deschner 2010-2011
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
@@ -1471,3 +1471,165 @@ NTSTATUS smbcli_rap_netsessionenum(struct smbcli_tree *tree,
talloc_free(call);
return result;
}
+
+NTSTATUS smbcli_rap_netsessiongetinfo(struct smbcli_tree *tree,
+ TALLOC_CTX *mem_ctx,
+ struct rap_NetSessionGetInfo *r)
+{
+ struct rap_call *call;
+ NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+
+ if (!(call = new_rap_cli_call(mem_ctx, RAP_WsessionGetInfo))) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ rap_cli_push_string(call, r->in.SessionName);
+ rap_cli_push_word(call, r->in.level);
+ rap_cli_push_rcvbuf(call, r->in.bufsize);
+ rap_cli_expect_word(call);
+
+ switch(r->in.level) {
+ case 2:
+ rap_cli_expect_format(call, "zzWWWDDDz");
+ break;
+ default:
+ result = NT_STATUS_INVALID_PARAMETER;
+ break;
+ }
+
+ if (DEBUGLEVEL >= 10) {
+ NDR_PRINT_IN_DEBUG(rap_NetSessionGetInfo, r);
+ }
+
+ result = rap_cli_do_call(tree, call);
+
+ if (!NT_STATUS_IS_OK(result))
+ goto done;
+
+ result = NT_STATUS_INVALID_PARAMETER;
+
+ ZERO_STRUCT(r->out);
+
+ NDR_GOTO(ndr_pull_rap_status(call->ndr_pull_param, NDR_SCALARS, &r->out.status));
+ NDR_GOTO(ndr_pull_uint16(call->ndr_pull_param, NDR_SCALARS, &r->out.convert));
+ NDR_GOTO(ndr_pull_uint16(call->ndr_pull_param, NDR_SCALARS, &r->out.available));
+
+ if (r->out.status == 0 && r->out.available) {
+ call->ndr_pull_data->relative_rap_convert = r->out.convert;
+
+ NDR_GOTO(ndr_pull_set_switch_value(call->ndr_pull_data, &r->out.info, r->in.level));
+ NDR_GOTO(ndr_pull_rap_session_info(call->ndr_pull_data, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
+ }
+
+ if (DEBUGLEVEL >= 10) {
+ NDR_PRINT_OUT_DEBUG(rap_NetSessionGetInfo, r);
+ }
+
+ result = NT_STATUS_OK;
+ done:
+ talloc_free(call);
+ return result;
+}
+
+
+NTSTATUS smbcli_rap_netuseradd(struct smbcli_tree *tree,
+ TALLOC_CTX *mem_ctx,
+ struct rap_NetUserAdd *r)
+{
+ struct rap_call *call;
+ NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+
+ if (!(call = new_rap_cli_call(mem_ctx, RAP_WUserAdd2))) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ rap_cli_push_word(call, r->in.level);
+ rap_cli_push_sendbuf(call, r->in.bufsize);
+ rap_cli_push_word(call, r->in.pwdlength);
+ rap_cli_push_word(call, r->in.unknown);
+
+ switch (r->in.level) {
+ case 1:
+ rap_cli_expect_format(call, "B21BB16DWzzWz");
+ break;
+ default:
+ result = NT_STATUS_INVALID_PARAMETER;
+ break;
+ }
+
+ if (DEBUGLEVEL >= 10) {
+ NDR_PRINT_IN_DEBUG(rap_NetUserAdd, r);
+ }
+
+ NDR_GOTO(ndr_push_set_switch_value(call->ndr_push_data, &r->in.info, r->in.level));
+ NDR_GOTO(ndr_push_rap_netuser_info(call->ndr_push_data, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
+
+ result = rap_cli_do_call(tree, call);
+
+ if (!NT_STATUS_IS_OK(result))
+ goto done;
+
+ result = NT_STATUS_INVALID_PARAMETER;
+
+ NDR_GOTO(ndr_pull_rap_status(call->ndr_pull_param, NDR_SCALARS, &r->out.status));
+ NDR_GOTO(ndr_pull_uint16(call->ndr_pull_param, NDR_SCALARS, &r->out.convert));
+
+ result = NT_STATUS_OK;
+
+ if (!NT_STATUS_IS_OK(result)) {
+ goto done;
+ }
+
+ if (DEBUGLEVEL >= 10) {
+ NDR_PRINT_OUT_DEBUG(rap_NetUserAdd, r);
+ }
+
+ done:
+ talloc_free(call);
+ return result;
+}
+
+NTSTATUS smbcli_rap_netuserdelete(struct smbcli_tree *tree,
+ TALLOC_CTX *mem_ctx,
+ struct rap_NetUserDelete *r)
+{
+ struct rap_call *call;
+ NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+
+ if (!(call = new_rap_cli_call(mem_ctx, RAP_WUserDel))) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ rap_cli_push_string(call, r->in.UserName);
+
+ rap_cli_expect_format(call, "");
+ rap_cli_expect_extra_format(call, "");
+
+ if (DEBUGLEVEL >= 10) {
+ NDR_PRINT_IN_DEBUG(rap_NetUserDelete, r);
+ }
+
+ result = rap_cli_do_call(tree, call);
+
+ if (!NT_STATUS_IS_OK(result))
+ goto done;
+
+ result = NT_STATUS_INVALID_PARAMETER;
+
+ NDR_GOTO(ndr_pull_rap_status(call->ndr_pull_param, NDR_SCALARS, &r->out.status));
+ NDR_GOTO(ndr_pull_uint16(call->ndr_pull_param, NDR_SCALARS, &r->out.convert));
+
+ result = NT_STATUS_OK;
+
+ if (!NT_STATUS_IS_OK(result)) {
+ goto done;
+ }
+
+ if (DEBUGLEVEL >= 10) {
+ NDR_PRINT_OUT_DEBUG(rap_NetUserDelete, r);
+ }
+
+ done:
+ talloc_free(call);
+ return result;
+}
diff --git a/source4/selftest/knownfail b/source4/selftest/knownfail
index a9cc444..cdd7a2d 100644
--- a/source4/selftest/knownfail
+++ b/source4/selftest/knownfail
@@ -40,6 +40,7 @@ samba4.base.charset.*.Testing partial surrogate
.*net.api.delshare.* # DelShare isn't implemented yet
samba4.rap.*netservergetinfo
samba4.rap.*netsessionenum
+samba4.rap.*netsessiongetinfo
samba4.smb2.persistent.handles1
samba4.winbind.struct.*.show_sequence # Not yet working in winbind
samba4.winbind.struct.*.getpwent # Not yet working in winbind
diff --git a/source4/torture/rap/rap.c b/source4/torture/rap/rap.c
index 6f5d6e6..5c1c5e1 100644
--- a/source4/torture/rap/rap.c
+++ b/source4/torture/rap/rap.c
@@ -123,6 +123,8 @@ static bool test_netsessionenum(struct torture_context *tctx,
torture_assert_ntstatus_ok(tctx,
smbcli_rap_netsessionenum(cli->tree, tctx, &r),
"smbcli_rap_netsessionenum failed");
+ torture_assert_werr_ok(tctx, W_ERROR(r.out.status),
+ "smbcli_rap_netsessionenum failed");
for (n=0; n < r.out.count; n++) {
switch (r.in.level) {
@@ -147,6 +149,64 @@ static bool test_netsessionenum(struct torture_context *tctx,
return true;
}
+static bool test_netsessiongetinfo_bysession(struct torture_context *tctx,
+ struct smbcli_state *cli,
+ const char *session)
+{
+ struct rap_NetSessionGetInfo r;
+ int i;
+ uint16_t levels[] = { 2 };
+
+ if (session && session[0] == '\\' && session[1] == '\\') {
+ r.in.SessionName = session;
+ } else {
+ r.in.SessionName = talloc_asprintf(tctx, "\\\\%s", session);
+ }
+ r.in.bufsize = 0xffff;
+
+ for (i=0; i < ARRAY_SIZE(levels); i++) {
+
+ r.in.level = levels[i];
+
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netsessiongetinfo(cli->tree, tctx, &r),
+ "rap_netsessiongetinfo failed");
+ torture_assert_werr_ok(tctx, W_ERROR(r.out.status),
+ "rap_netsessiongetinfo failed");
+ }
+
+ return true;
+}
+
+static bool test_netsessiongetinfo(struct torture_context *tctx,
+ struct smbcli_state *cli)
+{
+ struct rap_NetSessionEnum r;
+ int i,n;
+ uint16_t levels[] = { 2 };
+
+ for (i=0; i < ARRAY_SIZE(levels); i++) {
+
+ r.in.level = levels[i];
+ r.in.bufsize = 8192;
+
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netsessionenum(cli->tree, tctx, &r),
+ "smbcli_rap_netsessionenum failed");
+ torture_assert_werr_ok(tctx, W_ERROR(r.out.status),
+ "smbcli_rap_netsessionenum failed");
+
+ for (n=0; n < r.out.count; n++) {
+ torture_assert(tctx,
+ test_netsessiongetinfo_bysession(tctx, cli, r.out.info[n].info2.ComputerName),
+ "failed to query sessioninfo");
+ }
+ }
+
+ return true;
+}
+
+
bool torture_rap_scan(struct torture_context *torture, struct smbcli_state *cli)
{
int callno;
@@ -184,6 +244,8 @@ NTSTATUS torture_rap_init(void)
test_netservergetinfo);
torture_suite_add_1smb_test(suite_basic, "netsessionenum",
test_netsessionenum);
+ torture_suite_add_1smb_test(suite_basic, "netsessiongetinfo",
+ test_netsessiongetinfo);
torture_suite_add_1smb_test(suite, "scan", torture_rap_scan);
diff --git a/source4/torture/rap/sam.c b/source4/torture/rap/sam.c
index 6aca158..8ac53a4 100644
--- a/source4/torture/rap/sam.c
+++ b/source4/torture/rap/sam.c
@@ -2,7 +2,7 @@
Unix SMB/CIFS implementation.
test suite for RAP sam operations
- Copyright (C) Guenther Deschner 2010
+ Copyright (C) Guenther Deschner 2010-2011
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
@@ -235,6 +235,118 @@ static bool test_usergetinfo(struct torture_context *tctx,
return ret;
}
+static bool test_useradd(struct torture_context *tctx,
+ struct smbcli_state *cli)
+{
+
+ struct rap_NetUserAdd r;
+ struct rap_NetUserInfo1 info1;
+ int i;
+ uint16_t levels[] = { 1 };
+ const char *username = TEST_RAP_USER;
+
+ for (i=0; i < ARRAY_SIZE(levels); i++) {
+
+ const char *pwd;
+
+ pwd = generate_random_password(tctx, 9, 16);
+
+ r.in.level = levels[i];
+ r.in.bufsize = 0xffff;
+ r.in.pwdlength = strlen(pwd);
+ r.in.unknown = 0;
+
+ switch (r.in.level) {
+ case 1:
+ ZERO_STRUCT(info1);
+
+ info1.Name = username;
+ memcpy(info1.Password, pwd, MIN(strlen(pwd), 16));
+ info1.Priv = USER_PRIV_USER;
+ info1.Flags = 0x21;
+ info1.HomeDir = "home_dir";
+ info1.Comment = "comment";
+ info1.ScriptPath = "logon_script";
+
+ r.in.info.info1 = info1;
+ break;
+ }
+
+ torture_comment(tctx,
+ "Testing rap_NetUserAdd(%s) level %d\n", username, r.in.level);
+
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netuseradd(cli->tree, tctx, &r),
+ "smbcli_rap_netuseradd failed");
+ torture_assert_werr_ok(tctx, W_ERROR(r.out.status),
+ "smbcli_rap_netuseradd failed");
+
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netuseradd(cli->tree, tctx, &r),
+ "2nd smbcli_rap_netuseradd failed");
+ torture_assert_werr_equal(tctx, W_ERROR(r.out.status), WERR_USEREXISTS,
+ "2nd smbcli_rap_netuseradd failed");
+
+ {
+ struct rap_NetUserDelete d;
+
+ d.in.UserName = username;
+
+ smbcli_rap_netuserdelete(cli->tree, tctx, &d);
+ }
+ }
+
+ return true;
+}
+
+static bool test_userdelete(struct torture_context *tctx,
+ struct smbcli_state *cli)
+{
+
+ struct rap_NetUserDelete r;
+
+ {
+ struct rap_NetUserAdd a;
+ const char *pwd;
+
+ ZERO_STRUCT(a.in.info.info1);
+
+ pwd = generate_random_password(tctx, 9, 16);
+
+ a.in.level = 1;
+ a.in.bufsize = 0xffff;
+ a.in.pwdlength = strlen(pwd);
+ a.in.unknown = 0;
+ a.in.info.info1.Name = TEST_RAP_USER;
+ a.in.info.info1.Priv = USER_PRIV_USER;
+
+ memcpy(a.in.info.info1.Password, pwd, MIN(strlen(pwd), 16));
+
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netuseradd(cli->tree, tctx, &a),
+ "smbcli_rap_netuseradd failed");
+ }
+
+ r.in.UserName = TEST_RAP_USER;
+
+ torture_comment(tctx,
+ "Testing rap_NetUserDelete(%s)\n", r.in.UserName);
+
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netuserdelete(cli->tree, tctx, &r),
--
Samba Shared Repository
More information about the samba-cvs
mailing list