s4-smbtorture: Make test names lowercase and dot-separated.
[sfrench/samba-autobuild/.git] / source4 / torture / rpc / wkssvc.c
index 6e9937086e6417ee104d4ca72fc604ba63c3860e..5bf64afa2617e8874bb33fdbe8ebe61b48597664 100644 (file)
@@ -22,7 +22,7 @@
 #include "includes.h"
 #include "torture/torture.h"
 #include "librpc/gen_ndr/ndr_wkssvc_c.h"
-#include "torture/rpc/rpc.h"
+#include "torture/rpc/torture_rpc.h"
 #include "lib/cmdline/popt_common.h"
 #include "param/param.h"
 #include "../lib/crypto/crypto.h"
@@ -42,15 +42,16 @@ static bool test_NetWkstaGetInfo(struct torture_context *tctx,
        union wkssvc_NetWkstaInfo info;
        uint16_t levels[] = {100, 101, 102, 502};
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.out.info = &info;
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
                r.in.level = levels[i];
-               torture_comment(tctx, "testing NetWkstaGetInfo level %u\n",
+               torture_comment(tctx, "Testing NetWkstaGetInfo level %u\n",
                                r.in.level);
-               status = dcerpc_wkssvc_NetWkstaGetInfo(p, tctx, &r);
+               status = dcerpc_wkssvc_NetWkstaGetInfo_r(b, tctx, &r);
                torture_assert_ntstatus_ok(tctx, status,
                        talloc_asprintf(tctx, "NetWkstaGetInfo level %u failed",
                                        r.in.level));
@@ -72,6 +73,7 @@ static bool test_NetWkstaTransportEnum(struct torture_context *tctx,
        union wkssvc_NetWkstaTransportCtr ctr;
        struct wkssvc_NetWkstaTransportCtr0 ctr0;
        uint32_t total_entries = 0;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        ZERO_STRUCT(ctr0);
        ctr.ctr0 = &ctr0;
@@ -87,9 +89,9 @@ static bool test_NetWkstaTransportEnum(struct torture_context *tctx,
        r.out.info = &info;
        r.out.resume_handle = &resume_handle;
 
-       torture_comment(tctx, "testing NetWkstaTransportEnum level 0\n");
+       torture_comment(tctx, "Testing NetWkstaTransportEnum level 0\n");
 
-       status = dcerpc_wkssvc_NetWkstaTransportEnum(p, tctx, &r);
+       status = dcerpc_wkssvc_NetWkstaTransportEnum_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetWkstaTransportEnum failed");
        torture_assert_werr_ok(tctx, r.out.result, talloc_asprintf(tctx,
@@ -106,6 +108,7 @@ static bool test_NetrWkstaTransportAdd(struct torture_context *tctx,
        struct wkssvc_NetrWkstaTransportAdd r;
        struct wkssvc_NetWkstaTransportInfo0 info0;
        uint32_t parm_err = 0;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        ZERO_STRUCT(info0);
 
@@ -120,9 +123,9 @@ static bool test_NetrWkstaTransportAdd(struct torture_context *tctx,
        r.in.info0 = &info0;
        r.in.parm_err = r.out.parm_err = &parm_err;
 
-       torture_comment(tctx, "testing NetrWkstaTransportAdd level 0\n");
+       torture_comment(tctx, "Testing NetrWkstaTransportAdd level 0\n");
 
-       status = dcerpc_wkssvc_NetrWkstaTransportAdd(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrWkstaTransportAdd_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrWkstaTransportAdd failed");
        torture_assert_werr_equal(tctx, r.out.result,
@@ -137,14 +140,15 @@ static bool test_NetrWkstaTransportDel(struct torture_context *tctx,
 {
        NTSTATUS status;
        struct wkssvc_NetrWkstaTransportDel r;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.transport_name = SMBTORTURE_TRANSPORT_NAME;
        r.in.unknown3 = 0;
 
-       torture_comment(tctx, "testing NetrWkstaTransportDel\n");
+       torture_comment(tctx, "Testing NetrWkstaTransportDel\n");
 
-       status = dcerpc_wkssvc_NetrWkstaTransportDel(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrWkstaTransportDel_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrWkstaTransportDel failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -165,6 +169,7 @@ static bool test_NetWkstaEnumUsers(struct torture_context *tctx,
        struct wkssvc_NetWkstaEnumUsersCtr1 *user1;
        uint32_t levels[] = { 0, 1 };
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        for (i=0; i<ARRAY_SIZE(levels); i++) {
 
@@ -193,10 +198,10 @@ static bool test_NetWkstaEnumUsers(struct torture_context *tctx,
 
                r.out.entries_read = &entries_read;
 
-               torture_comment(tctx, "testing NetWkstaEnumUsers level %u\n",
+               torture_comment(tctx, "Testing NetWkstaEnumUsers level %u\n",
                                levels[i]);
 
-               status = dcerpc_wkssvc_NetWkstaEnumUsers(p, tctx, &r);
+               status = dcerpc_wkssvc_NetWkstaEnumUsers_r(b, tctx, &r);
                torture_assert_ntstatus_ok(tctx, status,
                                           "NetWkstaEnumUsers failed");
                torture_assert_werr_ok(tctx, r.out.result,
@@ -212,10 +217,11 @@ static bool test_NetrWkstaUserGetInfo(struct torture_context *tctx,
        NTSTATUS status;
        struct wkssvc_NetrWkstaUserGetInfo r;
        union wkssvc_NetrWkstaUserInfo info;
-       const char *dom = lp_workgroup(tctx->lp_ctx);
+       const char *dom = lpcfg_workgroup(tctx->lp_ctx);
        struct cli_credentials *creds = cmdline_credentials;
        const char *user = cli_credentials_get_username(creds);
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        const struct {
                const char *unknown;
@@ -238,10 +244,10 @@ static bool test_NetrWkstaUserGetInfo(struct torture_context *tctx,
                r.in.level = tests[i].level;
                r.out.info = &info;
 
-               torture_comment(tctx, "testing NetrWkstaUserGetInfo level %u\n",
+               torture_comment(tctx, "Testing NetrWkstaUserGetInfo level %u\n",
                                r.in.level);
 
-               status = dcerpc_wkssvc_NetrWkstaUserGetInfo(p, tctx, &r);
+               status = dcerpc_wkssvc_NetrWkstaUserGetInfo_r(b, tctx, &r);
                torture_assert_ntstatus_ok(tctx, status,
                                           "NetrWkstaUserGetInfo failed");
                torture_assert_werr_equal(tctx, r.out.result,
@@ -265,6 +271,7 @@ static bool test_NetrUseEnum(struct torture_context *tctx,
        struct wkssvc_NetrUseEnumCtr2 *use2;
        uint32_t levels[] = { 0, 1, 2 };
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        for (i=0; i<ARRAY_SIZE(levels); i++) {
 
@@ -295,10 +302,10 @@ static bool test_NetrUseEnum(struct torture_context *tctx,
 
                r.out.entries_read = &entries_read;
 
-               torture_comment(tctx, "testing NetrUseEnum level %u\n",
+               torture_comment(tctx, "Testing NetrUseEnum level %u\n",
                                levels[i]);
 
-               status = dcerpc_wkssvc_NetrUseEnum(p, tctx, &r);
+               status = dcerpc_wkssvc_NetrUseEnum_r(b, tctx, &r);
                torture_assert_ntstatus_ok(tctx, status,
                                           "NetrUseEnum failed");
                torture_assert_werr_ok(tctx, r.out.result,
@@ -317,6 +324,7 @@ static bool test_NetrUseAdd(struct torture_context *tctx,
        struct wkssvc_NetrUseInfo1 info1;
        union wkssvc_NetrUseGetInfoCtr *ctr;
        uint32_t parm_err = 0;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        ctr = talloc(tctx, union wkssvc_NetrUseGetInfoCtr);
 
@@ -332,10 +340,10 @@ static bool test_NetrUseAdd(struct torture_context *tctx,
        r.in.ctr = ctr;
        r.in.parm_err = r.out.parm_err = &parm_err;
 
-       torture_comment(tctx, "testing NetrUseAdd level %u\n",
+       torture_comment(tctx, "Testing NetrUseAdd level %u\n",
                        r.in.level);
 
-       status = dcerpc_wkssvc_NetrUseAdd(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrUseAdd_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrUseAdd failed");
        torture_assert_werr_equal(tctx, r.out.result, WERR_UNKNOWN_LEVEL,
@@ -355,10 +363,10 @@ static bool test_NetrUseAdd(struct torture_context *tctx,
        r.in.ctr = ctr;
        r.in.parm_err = r.out.parm_err = &parm_err;
 
-       torture_comment(tctx, "testing NetrUseAdd level %u\n",
+       torture_comment(tctx, "Testing NetrUseAdd level %u\n",
                        r.in.level);
 
-       status = dcerpc_wkssvc_NetrUseAdd(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrUseAdd_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrUseAdd failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -372,14 +380,15 @@ static bool test_NetrUseDel(struct torture_context *tctx,
 {
        NTSTATUS status;
        struct wkssvc_NetrUseDel r;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
        r.in.use_name = SMBTORTURE_USE_NAME;
        r.in.force_cond = 0;
 
-       torture_comment(tctx, "testing NetrUseDel\n");
+       torture_comment(tctx, "Testing NetrUseDel\n");
 
-       status = dcerpc_wkssvc_NetrUseDel(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrUseDel_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrUseDel failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -396,6 +405,7 @@ static bool test_NetrUseGetInfo_level(struct torture_context *tctx,
        NTSTATUS status;
        struct wkssvc_NetrUseGetInfo r;
        union wkssvc_NetrUseGetInfoCtr ctr;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        ZERO_STRUCT(ctr);
 
@@ -403,7 +413,7 @@ static bool test_NetrUseGetInfo_level(struct torture_context *tctx,
        r.in.use_name = use_name;
        r.in.level = level;
        r.out.ctr = &ctr;
-       status = dcerpc_wkssvc_NetrUseGetInfo(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrUseGetInfo_r(b, tctx, &r);
 
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrUseGetInfo failed");
@@ -424,6 +434,7 @@ static bool test_NetrUseGetInfo(struct torture_context *tctx,
        uint32_t levels[] = { 0, 1, 2 };
        const char *use_name = NULL;
        int i, k;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        ZERO_STRUCT(info);
 
@@ -437,7 +448,7 @@ static bool test_NetrUseGetInfo(struct torture_context *tctx,
        r.in.resume_handle = r.out.resume_handle = &handle;
        r.out.entries_read = &entries_read;
 
-       status = dcerpc_wkssvc_NetrUseEnum(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrUseEnum_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrUseEnum failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -482,12 +493,13 @@ static bool test_NetrLogonDomainNameAdd(struct torture_context *tctx,
 {
        NTSTATUS status;
        struct wkssvc_NetrLogonDomainNameAdd r;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
-       r.in.domain_name = lp_workgroup(tctx->lp_ctx);
+       r.in.domain_name = lpcfg_workgroup(tctx->lp_ctx);
 
-       torture_comment(tctx, "testing NetrLogonDomainNameAdd\n");
+       torture_comment(tctx, "Testing NetrLogonDomainNameAdd\n");
 
-       status = dcerpc_wkssvc_NetrLogonDomainNameAdd(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrLogonDomainNameAdd_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrLogonDomainNameAdd failed");
        torture_assert_werr_equal(tctx, r.out.result, WERR_NOT_SUPPORTED,
@@ -500,12 +512,13 @@ static bool test_NetrLogonDomainNameDel(struct torture_context *tctx,
 {
        NTSTATUS status;
        struct wkssvc_NetrLogonDomainNameDel r;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
-       r.in.domain_name = lp_workgroup(tctx->lp_ctx);
+       r.in.domain_name = lpcfg_workgroup(tctx->lp_ctx);
 
-       torture_comment(tctx, "testing NetrLogonDomainNameDel\n");
+       torture_comment(tctx, "Testing NetrLogonDomainNameDel\n");
 
-       status = dcerpc_wkssvc_NetrLogonDomainNameDel(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrLogonDomainNameDel_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrLogonDomainNameDel failed");
        torture_assert_werr_equal(tctx, r.out.result, WERR_NOT_SUPPORTED,
@@ -523,6 +536,7 @@ static bool test_NetrEnumerateComputerNames_level(struct torture_context *tctx,
        struct wkssvc_NetrEnumerateComputerNames r;
        struct wkssvc_ComputerNamesCtr *ctr;
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        ctr = talloc_zero(tctx, struct wkssvc_ComputerNamesCtr);
 
@@ -531,10 +545,10 @@ static bool test_NetrEnumerateComputerNames_level(struct torture_context *tctx,
        r.in.Reserved = 0;
        r.out.ctr = &ctr;
 
-       torture_comment(tctx, "testing NetrEnumerateComputerNames level %u\n",
+       torture_comment(tctx, "Testing NetrEnumerateComputerNames level %u\n",
                        r.in.name_type);
 
-       status = dcerpc_wkssvc_NetrEnumerateComputerNames(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrEnumerateComputerNames_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrEnumerateComputerNames failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -591,19 +605,20 @@ static bool test_NetrValidateName(struct torture_context *tctx,
        struct wkssvc_NetrValidateName r;
        uint16_t levels[] = {0,1,2,3,4,5};
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        for (i=0; i<ARRAY_SIZE(levels); i++) {
 
                r.in.server_name = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
-               r.in.name = lp_workgroup(tctx->lp_ctx);
+               r.in.name = lpcfg_workgroup(tctx->lp_ctx);
                r.in.Account = NULL;
                r.in.Password = NULL;
                r.in.name_type = levels[i];
 
-               torture_comment(tctx, "testing NetrValidateName level %u\n",
+               torture_comment(tctx, "Testing NetrValidateName level %u\n",
                                r.in.name_type);
 
-               status = dcerpc_wkssvc_NetrValidateName(p, tctx, &r);
+               status = dcerpc_wkssvc_NetrValidateName_r(b, tctx, &r);
                torture_assert_ntstatus_ok(tctx, status,
                                           "NetrValidateName failed");
                torture_assert_werr_equal(tctx, r.out.result,
@@ -621,19 +636,20 @@ static bool test_NetrValidateName2(struct torture_context *tctx,
        struct wkssvc_NetrValidateName2 r;
        uint16_t levels[] = {0,1,2,3,4,5};
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        for (i=0; i<ARRAY_SIZE(levels); i++) {
 
                r.in.server_name = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
-               r.in.name = lp_workgroup(tctx->lp_ctx);
+               r.in.name = lpcfg_workgroup(tctx->lp_ctx);
                r.in.Account = NULL;
                r.in.EncryptedPassword = NULL;
                r.in.name_type = levels[i];
 
-               torture_comment(tctx, "testing NetrValidateName2 level %u\n",
+               torture_comment(tctx, "Testing NetrValidateName2 level %u\n",
                                r.in.name_type);
 
-               status = dcerpc_wkssvc_NetrValidateName2(p, tctx, &r);
+               status = dcerpc_wkssvc_NetrValidateName2_r(b, tctx, &r);
                torture_assert_ntstatus_ok(tctx, status,
                                           "NetrValidateName2 failed");
                torture_assert_werr_equal(tctx, r.out.result,
@@ -652,6 +668,7 @@ static bool test_NetrAddAlternateComputerName(struct torture_context *tctx,
        const char **names = NULL;
        int num_names = 0;
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.NewAlternateMachineName = SMBTORTURE_ALTERNATE_NAME;
@@ -659,9 +676,9 @@ static bool test_NetrAddAlternateComputerName(struct torture_context *tctx,
        r.in.EncryptedPassword = NULL;
        r.in.Reserved = 0;
 
-       torture_comment(tctx, "testing NetrAddAlternateComputerName\n");
+       torture_comment(tctx, "Testing NetrAddAlternateComputerName\n");
 
-       status = dcerpc_wkssvc_NetrAddAlternateComputerName(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrAddAlternateComputerName_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrAddAlternateComputerName failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -693,6 +710,7 @@ static bool test_NetrRemoveAlternateComputerName(struct torture_context *tctx,
        const char **names = NULL;
        int num_names = 0;
        int i;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.AlternateMachineNameToRemove = SMBTORTURE_ALTERNATE_NAME;
@@ -700,9 +718,9 @@ static bool test_NetrRemoveAlternateComputerName(struct torture_context *tctx,
        r.in.EncryptedPassword = NULL;
        r.in.Reserved = 0;
 
-       torture_comment(tctx, "testing NetrRemoveAlternateComputerName\n");
+       torture_comment(tctx, "Testing NetrRemoveAlternateComputerName\n");
 
-       status = dcerpc_wkssvc_NetrRemoveAlternateComputerName(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrRemoveAlternateComputerName_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrRemoveAlternateComputerName failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -730,6 +748,7 @@ static bool test_NetrSetPrimaryComputername_name(struct torture_context *tctx,
 {
        NTSTATUS status;
        struct wkssvc_NetrSetPrimaryComputername r;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.primary_name = name;
@@ -737,7 +756,7 @@ static bool test_NetrSetPrimaryComputername_name(struct torture_context *tctx,
        r.in.EncryptedPassword = NULL;
        r.in.Reserved = 0;
 
-       status = dcerpc_wkssvc_NetrSetPrimaryComputername(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrSetPrimaryComputername_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrSetPrimaryComputername failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -764,7 +783,7 @@ static bool test_NetrSetPrimaryComputername(struct torture_context *tctx,
        const char **names_o = NULL, **names = NULL;
        int num_names_o = 0, num_names = 0;
 
-       torture_comment(tctx, "testing NetrSetPrimaryComputername\n");
+       torture_comment(tctx, "Testing NetrSetPrimaryComputername\n");
 
        if (!test_NetrAddAlternateComputerName(tctx, p)) {
                return false;
@@ -824,6 +843,7 @@ static bool test_NetrRenameMachineInDomain(struct torture_context *tctx,
 {
        NTSTATUS status;
        struct wkssvc_NetrRenameMachineInDomain r;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.NewMachineName = SMBTORTURE_MACHINE_NAME;
@@ -831,9 +851,9 @@ static bool test_NetrRenameMachineInDomain(struct torture_context *tctx,
        r.in.password = NULL;
        r.in.RenameOptions = 0;
 
-       torture_comment(tctx, "testing NetrRenameMachineInDomain\n");
+       torture_comment(tctx, "Testing NetrRenameMachineInDomain\n");
 
-       status = dcerpc_wkssvc_NetrRenameMachineInDomain(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrRenameMachineInDomain_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrRenameMachineInDomain failed");
        torture_assert_werr_equal(tctx, r.out.result, WERR_NOT_SUPPORTED,
@@ -847,6 +867,7 @@ static bool test_NetrRenameMachineInDomain2_name(struct torture_context *tctx,
 {
        NTSTATUS status;
        struct wkssvc_NetrRenameMachineInDomain2 r;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.NewMachineName = new_name;
@@ -854,7 +875,7 @@ static bool test_NetrRenameMachineInDomain2_name(struct torture_context *tctx,
        r.in.EncryptedPassword = NULL;
        r.in.RenameOptions = 0;
 
-       status = dcerpc_wkssvc_NetrRenameMachineInDomain2(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrRenameMachineInDomain2_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrRenameMachineInDomain2 failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -868,7 +889,7 @@ static bool test_NetrRenameMachineInDomain2(struct torture_context *tctx,
        const char **names_o = NULL, **names = NULL;
        int num_names_o = 0, num_names = 0;
 
-       torture_comment(tctx, "testing NetrRenameMachineInDomain2\n");
+       torture_comment(tctx, "Testing NetrRenameMachineInDomain2\n");
 
        if (!test_NetrEnumerateComputerNames_level(tctx, p,
                                                   NetPrimaryComputerName,
@@ -937,6 +958,7 @@ static bool test_NetrWorkstationStatisticsGet(struct torture_context *tctx,
        NTSTATUS status;
        struct wkssvc_NetrWorkstationStatisticsGet r;
        struct wkssvc_NetrWorkstationStatistics *info;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        ZERO_STRUCT(r);
 
@@ -945,9 +967,9 @@ static bool test_NetrWorkstationStatisticsGet(struct torture_context *tctx,
        r.in.server_name = dcerpc_server_name(p);
        r.out.info = &info;
 
-       torture_comment(tctx, "testing NetrWorkstationStatisticsGet\n");
+       torture_comment(tctx, "Testing NetrWorkstationStatisticsGet\n");
 
-       status = dcerpc_wkssvc_NetrWorkstationStatisticsGet(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrWorkstationStatisticsGet_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrWorkstationStatisticsGet failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -964,20 +986,22 @@ static bool test_NetrMessageBufferSend(struct torture_context *tctx,
        struct wkssvc_NetrMessageBufferSend r;
        const char *message = SMBTORTURE_MESSAGE;
        size_t size;
-       uint8_t *msg;
+       uint16_t *msg;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
-       size = push_ucs2_talloc(tctx, lp_iconv_convenience(tctx->lp_ctx), 
-                               (void **)&msg, message);
+       if (!push_ucs2_talloc(tctx, &msg, message, &size)) {
+               return false;
+       }
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.message_name = dcerpc_server_name(p);
        r.in.message_sender_name = dcerpc_server_name(p);
-       r.in.message_buffer = msg;
+       r.in.message_buffer = (uint8_t *)msg;
        r.in.message_size = size;
 
-       torture_comment(tctx, "testing NetrMessageBufferSend\n");
+       torture_comment(tctx, "Testing NetrMessageBufferSend\n");
 
-       status = dcerpc_wkssvc_NetrMessageBufferSend(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrMessageBufferSend_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrMessageBufferSend failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -992,14 +1016,15 @@ static bool test_NetrGetJoinInformation(struct torture_context *tctx,
        struct wkssvc_NetrGetJoinInformation r;
        enum wkssvc_NetJoinStatus join_status;
        const char *name_buffer = "";
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.name_buffer = r.out.name_buffer = &name_buffer;
        r.out.name_type = &join_status;
 
-       torture_comment(tctx, "testing NetrGetJoinInformation\n");
+       torture_comment(tctx, "Testing NetrGetJoinInformation\n");
 
-       status = dcerpc_wkssvc_NetrGetJoinInformation(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrGetJoinInformation_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrGetJoinInformation failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -1016,12 +1041,13 @@ static bool test_GetJoinInformation(struct torture_context *tctx,
        struct wkssvc_NetrGetJoinInformation r;
        enum wkssvc_NetJoinStatus join_status;
        const char *name_buffer = "";
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.name_buffer = r.out.name_buffer = &name_buffer;
        r.out.name_type = &join_status;
 
-       status = dcerpc_wkssvc_NetrGetJoinInformation(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrGetJoinInformation_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrGetJoinInformation failed");
        torture_assert_werr_ok(tctx, r.out.result,
@@ -1046,17 +1072,18 @@ static bool test_NetrGetJoinableOus(struct torture_context *tctx,
        struct wkssvc_NetrGetJoinableOus r;
        uint32_t num_ous = 0;
        const char **ous = NULL;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
-       r.in.domain_name = lp_workgroup(tctx->lp_ctx);
+       r.in.domain_name = lpcfg_workgroup(tctx->lp_ctx);
        r.in.Account = NULL;
        r.in.unknown = NULL;
        r.in.num_ous = r.out.num_ous = &num_ous;
        r.out.ous = &ous;
 
-       torture_comment(tctx, "testing NetrGetJoinableOus\n");
+       torture_comment(tctx, "Testing NetrGetJoinableOus\n");
 
-       status = dcerpc_wkssvc_NetrGetJoinableOus(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrGetJoinableOus_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status, "NetrGetJoinableOus failed");
        torture_assert_werr_equal(tctx, r.out.result,
                                  WERR_NOT_SUPPORTED,
@@ -1072,17 +1099,18 @@ static bool test_NetrGetJoinableOus2(struct torture_context *tctx,
        struct wkssvc_NetrGetJoinableOus2 r;
        uint32_t num_ous = 0;
        const char **ous = NULL;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        r.in.server_name = dcerpc_server_name(p);
-       r.in.domain_name = lp_workgroup(tctx->lp_ctx);
+       r.in.domain_name = lpcfg_workgroup(tctx->lp_ctx);
        r.in.Account = NULL;
        r.in.EncryptedPassword = NULL;
        r.in.num_ous = r.out.num_ous = &num_ous;
        r.out.ous = &ous;
 
-       torture_comment(tctx, "testing NetrGetJoinableOus2\n");
+       torture_comment(tctx, "Testing NetrGetJoinableOus2\n");
 
-       status = dcerpc_wkssvc_NetrGetJoinableOus2(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrGetJoinableOus2_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status, "NetrGetJoinableOus2 failed");
        torture_assert_werr_equal(tctx, r.out.result,
                                  WERR_RPC_E_REMOTE_DISABLED,
@@ -1099,9 +1127,10 @@ static bool test_NetrUnjoinDomain(struct torture_context *tctx,
        struct cli_credentials *creds = cmdline_credentials;
        const char *user = cli_credentials_get_username(creds);
        const char *admin_account = NULL;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        admin_account = talloc_asprintf(tctx, "%s\\%s",
-                                       lp_workgroup(tctx->lp_ctx),
+                                       lpcfg_workgroup(tctx->lp_ctx),
                                        user);
 
        r.in.server_name = dcerpc_server_name(p);
@@ -1109,9 +1138,9 @@ static bool test_NetrUnjoinDomain(struct torture_context *tctx,
        r.in.password = NULL;
        r.in.unjoin_flags = 0;
 
-       torture_comment(tctx, "testing NetrUnjoinDomain\n");
+       torture_comment(tctx, "Testing NetrUnjoinDomain\n");
 
-       status = dcerpc_wkssvc_NetrUnjoinDomain(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrUnjoinDomain_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrUnjoinDomain failed");
        torture_assert_werr_equal(tctx, r.out.result, WERR_NOT_SUPPORTED,
@@ -1127,21 +1156,22 @@ static bool test_NetrJoinDomain(struct torture_context *tctx,
        struct cli_credentials *creds = cmdline_credentials;
        const char *user = cli_credentials_get_username(creds);
        const char *admin_account = NULL;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        admin_account = talloc_asprintf(tctx, "%s\\%s",
-                                       lp_workgroup(tctx->lp_ctx),
+                                       lpcfg_workgroup(tctx->lp_ctx),
                                        user);
 
        r.in.server_name = dcerpc_server_name(p);
-       r.in.domain_name = lp_realm(tctx->lp_ctx);
+       r.in.domain_name = lpcfg_dnsdomain(tctx->lp_ctx);
        r.in.account_ou = NULL;
        r.in.Account = admin_account;
        r.in.password = NULL;
        r.in.join_flags = 0;
 
-       torture_comment(tctx, "testing NetrJoinDomain\n");
+       torture_comment(tctx, "Testing NetrJoinDomain\n");
 
-       status = dcerpc_wkssvc_NetrJoinDomain(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrJoinDomain_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrJoinDomain failed");
        torture_assert_werr_equal(tctx, r.out.result, WERR_NOT_SUPPORTED,
@@ -1149,43 +1179,6 @@ static bool test_NetrJoinDomain(struct torture_context *tctx,
        return true;
 }
 
-/* encode a wkssvc_PasswordBuffer for remote joining/unjoining:
- *
- * similar to samr_CryptPasswordEx. Different: 8byte confounder (instead of
- * 16byte), confounder in front of the 516 byte buffer (instead of after that
- * buffer), calling MD5Update() first with session_key and then with confounder
- * (vice versa in samr) - Guenther */
-
-static void encode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
-                                              const char *pwd,
-                                              DATA_BLOB *session_key,
-                                              struct wkssvc_PasswordBuffer *pwd_buf)
-{
-       uint8_t buffer[516];
-       struct MD5Context ctx;
-
-       DATA_BLOB confounded_session_key = data_blob_talloc(mem_ctx, NULL, 16);
-
-       int confounder_len = 8;
-       uint8_t confounder[8];
-
-       encode_pw_buffer(buffer, pwd, STR_UNICODE);
-
-       generate_random_buffer((uint8_t *)confounder, confounder_len);
-
-       MD5Init(&ctx);
-       MD5Update(&ctx, session_key->data, session_key->length);
-       MD5Update(&ctx, confounder, confounder_len);
-       MD5Final(confounded_session_key.data, &ctx);
-
-       arcfour_crypt_blob(buffer, 516, &confounded_session_key);
-
-       memcpy(&pwd_buf->data[0], confounder, confounder_len);
-       memcpy(&pwd_buf->data[8], buffer, 516);
-
-       data_blob_free(&confounded_session_key);
-}
-
 /*
  * prerequisites for remotely joining an unjoined XP SP2 workstation:
  * - firewall needs to be disabled (or open for ncacn_np access)
@@ -1203,11 +1196,12 @@ static bool test_NetrJoinDomain2(struct torture_context *tctx,
        const char *domain_admin_account = NULL;
        const char *domain_admin_password = NULL;
        const char *domain_name = NULL;
-       struct wkssvc_PasswordBuffer pwd_buf;
+       struct wkssvc_PasswordBuffer *pwd_buf;
        enum wkssvc_NetJoinStatus join_status;
        const char *join_name = NULL;
        WERROR expected_err;
        DATA_BLOB session_key;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        /* FIXME: this test assumes to join workstations / servers and does not
         * handle DCs (WERR_SETUP_DOMAIN_CONTROLLER) */
@@ -1218,12 +1212,12 @@ static bool test_NetrJoinDomain2(struct torture_context *tctx,
        }
 
        switch (join_status) {
-               case NetSetupDomainName:
+               case NET_SETUP_DOMAIN_NAME:
                        expected_err = WERR_SETUP_ALREADY_JOINED;
                        break;
-               case NetSetupUnknownStatus:
-               case NetSetupUnjoined:
-               case NetSetupWorkgroupName:
+               case NET_SETUP_UNKNOWN_STATUS:
+               case NET_SETUP_UNJOINED:
+               case NET_SETUP_WORKGROUP_NAME:
                default:
                        expected_err = WERR_OK;
                        break;
@@ -1254,13 +1248,13 @@ static bool test_NetrJoinDomain2(struct torture_context *tctx,
        r.in.domain_name = domain_name;
        r.in.account_ou = NULL;
        r.in.admin_account = domain_admin_account;
-       r.in.encrypted_password = &pwd_buf;
+       r.in.encrypted_password = pwd_buf;
        r.in.join_flags = WKSSVC_JOIN_FLAGS_JOIN_TYPE |
                          WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE;
 
-       torture_comment(tctx, "testing NetrJoinDomain2 (assuming non-DC)\n");
+       torture_comment(tctx, "Testing NetrJoinDomain2 (assuming non-DC)\n");
 
-       status = dcerpc_wkssvc_NetrJoinDomain2(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrJoinDomain2_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrJoinDomain2 failed");
        torture_assert_werr_equal(tctx, r.out.result, expected_err,
@@ -1271,7 +1265,7 @@ static bool test_NetrJoinDomain2(struct torture_context *tctx,
                return false;
        }
 
-       if (join_status != NetSetupDomainName) {
+       if (join_status != NET_SETUP_DOMAIN_NAME) {
                torture_comment(tctx,
                                "Join verify failed: got %d\n", join_status);
                return false;
@@ -1287,11 +1281,12 @@ static bool test_NetrUnjoinDomain2(struct torture_context *tctx,
        struct wkssvc_NetrUnjoinDomain2 r;
        const char *domain_admin_account = NULL;
        const char *domain_admin_password = NULL;
-       struct wkssvc_PasswordBuffer pwd_buf;
+       struct wkssvc_PasswordBuffer *pwd_buf;
        enum wkssvc_NetJoinStatus join_status;
        const char *join_name = NULL;
        WERROR expected_err;
        DATA_BLOB session_key;
+       struct dcerpc_binding_handle *b = p->binding_handle;
 
        /* FIXME: this test assumes to join workstations / servers and does not
         * handle DCs (WERR_SETUP_DOMAIN_CONTROLLER) */
@@ -1302,12 +1297,12 @@ static bool test_NetrUnjoinDomain2(struct torture_context *tctx,
        }
 
        switch (join_status) {
-               case NetSetupUnjoined:
+               case NET_SETUP_UNJOINED:
                        expected_err = WERR_SETUP_NOT_JOINED;
                        break;
-               case NetSetupDomainName:
-               case NetSetupUnknownStatus:
-               case NetSetupWorkgroupName:
+               case NET_SETUP_DOMAIN_NAME:
+               case NET_SETUP_UNKNOWN_STATUS:
+               case NET_SETUP_WORKGROUP_NAME:
                default:
                        expected_err = WERR_OK;
                        break;
@@ -1333,12 +1328,12 @@ static bool test_NetrUnjoinDomain2(struct torture_context *tctx,
 
        r.in.server_name = dcerpc_server_name(p);
        r.in.account = domain_admin_account;
-       r.in.encrypted_password = &pwd_buf;
+       r.in.encrypted_password = pwd_buf;
        r.in.unjoin_flags = 0;
 
-       torture_comment(tctx, "testing NetrUnjoinDomain2 (assuming non-DC)\n");
+       torture_comment(tctx, "Testing NetrUnjoinDomain2 (assuming non-DC)\n");
 
-       status = dcerpc_wkssvc_NetrUnjoinDomain2(p, tctx, &r);
+       status = dcerpc_wkssvc_NetrUnjoinDomain2_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status,
                                   "NetrUnjoinDomain2 failed");
        torture_assert_werr_equal(tctx, r.out.result, expected_err,
@@ -1350,11 +1345,11 @@ static bool test_NetrUnjoinDomain2(struct torture_context *tctx,
        }
 
        switch (join_status) {
-               case NetSetupUnjoined:
-               case NetSetupWorkgroupName:
+               case NET_SETUP_UNJOINED:
+               case NET_SETUP_WORKGROUP_NAME:
                        break;
-               case NetSetupUnknown:
-               case NetSetupDomainName:
+               case NET_SETUP_UNKNOWN_STATUS:
+               case NET_SETUP_DOMAIN_NAME:
                default:
                        torture_comment(tctx,
                                "Unjoin verify failed: got %d\n", join_status);
@@ -1371,7 +1366,7 @@ struct torture_suite *torture_rpc_wkssvc(TALLOC_CTX *mem_ctx)
        struct torture_rpc_tcase *tcase;
        struct torture_test *test;
 
-       suite = torture_suite_create(mem_ctx, "WKSSVC");
+       suite = torture_suite_create(mem_ctx, "wkssvc");
        tcase = torture_suite_add_rpc_iface_tcase(suite, "wkssvc",
                                                  &ndr_table_wkssvc);