From 1f0ea81ae9ea3ff02b10d0829d1db948bfe4500d Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 10 Aug 2004 20:55:42 +0000 Subject: r1703: - Lots of RPC updates, adding new pipes and protocols. - More updates/fixes to the ethereal parser generator (This used to be commit 547f860285b117e291bf3dbaca0707dc268b214e) --- source4/torture/rpc/epmapper.c | 47 ++++++++++++++++++++++++++++++------------ source4/torture/rpc/svcctl.c | 10 ++++----- 2 files changed, 39 insertions(+), 18 deletions(-) (limited to 'source4/torture/rpc') diff --git a/source4/torture/rpc/epmapper.c b/source4/torture/rpc/epmapper.c index 24395e064c..2af4e449b4 100644 --- a/source4/torture/rpc/epmapper.c +++ b/source4/torture/rpc/epmapper.c @@ -34,6 +34,10 @@ static void display_tower(TALLOC_CTX *mem_ctx, struct epm_towers *twr) struct epm_lhs *lhs = &twr->floors[i].lhs; struct epm_rhs *rhs = &twr->floors[i].rhs; switch (lhs->protocol) { + case EPM_PROTOCOL_NCACN_DNET_NSP: + printf(" DNET/NSP"); + break; + case EPM_PROTOCOL_UUID: uuid = GUID_string(mem_ctx, &lhs->info.uuid.uuid); if (strcasecmp(uuid, NDR_GUID) == 0) { @@ -43,11 +47,11 @@ static void display_tower(TALLOC_CTX *mem_ctx, struct epm_towers *twr) } break; - case EPM_PROTOCOL_RPC_C: + case EPM_PROTOCOL_NCACN_RPC_C: printf(" RPC-C"); break; - case EPM_PROTOCOL_IP: + case EPM_PROTOCOL_NCACN_IP: printf(" IP:"); if (rhs->rhs_data.length == 4) { struct in_addr in; @@ -56,30 +60,43 @@ static void display_tower(TALLOC_CTX *mem_ctx, struct epm_towers *twr) } break; - case EPM_PROTOCOL_PIPE: + case EPM_PROTOCOL_NCACN_PIPE: printf(" PIPE:%.*s", rhs->rhs_data.length, rhs->rhs_data.data); break; - case EPM_PROTOCOL_SMB: + case EPM_PROTOCOL_NCACN_SMB: printf(" SMB:%.*s", rhs->rhs_data.length, rhs->rhs_data.data); break; - case EPM_PROTOCOL_NETBIOS: + case EPM_PROTOCOL_NCACN_NETBIOS: printf(" NetBIOS:%.*s", rhs->rhs_data.length, rhs->rhs_data.data); break; + case EPM_PROTOCOL_NCACN_NB_NB: + printf(" NB_NB"); + break; + + case EPM_PROTOCOL_NCACN_SPX: + printf(" SPX"); + break; + + /* + case EPM_PROTOCOL_NCACN_NB_IPX: + printf(" NB_IPX"); + break;*/ + case 0x01: printf(" UNK(1):%.*s", rhs->rhs_data.length, rhs->rhs_data.data); break; - case EPM_PROTOCOL_HTTP: + case EPM_PROTOCOL_NCACN_HTTP: printf(" HTTP:"); if (rhs->rhs_data.length == 2) { printf("%d", RSVAL(rhs->rhs_data.data, 0)); } break; - case EPM_PROTOCOL_TCP: + case EPM_PROTOCOL_NCACN_TCP: /* what is the difference between this and 0x1f? */ printf(" TCP:"); if (rhs->rhs_data.length == 2) { @@ -87,6 +104,10 @@ static void display_tower(TALLOC_CTX *mem_ctx, struct epm_towers *twr) } break; + case EPM_PROTOCOL_NCADG_UDP: + printf(" UDP:"); + break; + default: printf(" UNK(%02x):", lhs->protocol); if (rhs->rhs_data.length == 2) { @@ -128,15 +149,15 @@ static BOOL test_Map(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, printf("epm_Map results for '%s':\n", idl_pipe_name(uuid_str, twr->towers.floors[0].lhs.info.uuid.version)); - twr->towers.floors[2].lhs.protocol = EPM_PROTOCOL_RPC_C; + twr->towers.floors[2].lhs.protocol = EPM_PROTOCOL_NCACN_RPC_C; twr->towers.floors[2].lhs.info.lhs_data = data_blob(NULL, 0); twr->towers.floors[2].rhs.rhs_data = data_blob_talloc_zero(p->mem_ctx, 2); - twr->towers.floors[3].lhs.protocol = EPM_PROTOCOL_TCP; + twr->towers.floors[3].lhs.protocol = EPM_PROTOCOL_NCACN_TCP; twr->towers.floors[3].lhs.info.lhs_data = data_blob(NULL, 0); twr->towers.floors[3].rhs.rhs_data = data_blob_talloc_zero(p->mem_ctx, 2); - twr->towers.floors[4].lhs.protocol = EPM_PROTOCOL_IP; + twr->towers.floors[4].lhs.protocol = EPM_PROTOCOL_NCACN_IP; twr->towers.floors[4].lhs.info.lhs_data = data_blob(NULL, 0); twr->towers.floors[4].rhs.rhs_data = data_blob_talloc_zero(p->mem_ctx, 4); @@ -149,7 +170,7 @@ static BOOL test_Map(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, } } - twr->towers.floors[3].lhs.protocol = EPM_PROTOCOL_HTTP; + twr->towers.floors[3].lhs.protocol = EPM_PROTOCOL_NCACN_HTTP; twr->towers.floors[3].lhs.info.lhs_data = data_blob(NULL, 0); twr->towers.floors[3].rhs.rhs_data = data_blob_talloc_zero(p->mem_ctx, 2); @@ -162,11 +183,11 @@ static BOOL test_Map(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, } } - twr->towers.floors[3].lhs.protocol = EPM_PROTOCOL_SMB; + twr->towers.floors[3].lhs.protocol = EPM_PROTOCOL_NCACN_SMB; twr->towers.floors[3].lhs.info.lhs_data = data_blob(NULL, 0); twr->towers.floors[3].rhs.rhs_data = data_blob_talloc_zero(p->mem_ctx, 2); - twr->towers.floors[4].lhs.protocol = EPM_PROTOCOL_NETBIOS; + twr->towers.floors[4].lhs.protocol = EPM_PROTOCOL_NCACN_NETBIOS; twr->towers.floors[4].lhs.info.lhs_data = data_blob(NULL, 0); twr->towers.floors[4].rhs.rhs_data = data_blob_talloc_zero(p->mem_ctx, 2); diff --git a/source4/torture/rpc/svcctl.c b/source4/torture/rpc/svcctl.c index d33639e3a5..1467aeaad8 100644 --- a/source4/torture/rpc/svcctl.c +++ b/source4/torture/rpc/svcctl.c @@ -23,7 +23,7 @@ static BOOL test_EnumServicesStatus(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct policy_handle *h) { - struct svcctl_EnumServicesStatus r; + struct svcctl_EnumServicesStatusW r; int i; NTSTATUS status; uint32 resume_handle = 0; @@ -40,7 +40,7 @@ static BOOL test_EnumServicesStatus(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, r.out.services_returned = 0; r.out.bytes_needed = 0; - status = dcerpc_svcctl_EnumServicesStatus(p, mem_ctx, &r); + status = dcerpc_svcctl_EnumServicesStatusW(p, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) { printf("ËnumServicesStatus failed!\n"); @@ -51,7 +51,7 @@ static BOOL test_EnumServicesStatus(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, r.in.buf_size = r.out.bytes_needed; r.out.service = talloc(mem_ctx, r.out.bytes_needed); - status = dcerpc_svcctl_EnumServicesStatus(p, mem_ctx, &r); + status = dcerpc_svcctl_EnumServicesStatusW(p, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) { printf("ËnumServicesStatus failed!\n"); @@ -74,7 +74,7 @@ static BOOL test_EnumServicesStatus(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, static BOOL test_OpenSCManager(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct policy_handle *h) { - struct svcctl_OpenSCManager r; + struct svcctl_OpenSCManagerW r; NTSTATUS status; r.in.MachineName = NULL; @@ -82,7 +82,7 @@ static BOOL test_OpenSCManager(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struc r.in.access_mask = SEC_RIGHTS_MAXIMUM_ALLOWED; r.out.handle = h; - status = dcerpc_svcctl_OpenSCManager(p, mem_ctx, &r); + status = dcerpc_svcctl_OpenSCManagerW(p, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) { printf("OpenSCManager failed!\n"); return False; -- cgit