From da841a80e3b9a3560488c3ddcb0b366b33eb14c1 Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Fri, 8 Sep 2023 09:35:51 +1200 Subject: [PATCH] s3:rpc: bump named_pipe_auth_req_info version number This is because commit f893cf85cc387b66c496661e11073b1215270022 changed the security token in secuirty.idl, and bumping the version was missed. Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- libcli/named_pipe_auth/npa_tstream.c | 122 +++++++++++++-------------- libcli/named_pipe_auth/npa_tstream.h | 4 +- librpc/idl/named_pipe_auth.idl | 8 +- source3/librpc/idl/rpc_host.idl | 2 +- source3/rpc_client/local_np.c | 44 +++++----- source3/rpc_server/rpc_host.c | 68 +++++++-------- source3/rpc_server/rpc_worker.c | 50 +++++------ 7 files changed, 149 insertions(+), 149 deletions(-) diff --git a/libcli/named_pipe_auth/npa_tstream.c b/libcli/named_pipe_auth/npa_tstream.c index 48ac78573ce..07f9cf91d73 100644 --- a/libcli/named_pipe_auth/npa_tstream.c +++ b/libcli/named_pipe_auth/npa_tstream.c @@ -73,7 +73,7 @@ struct tevent_req *tstream_npa_connect_send(TALLOC_CTX *mem_ctx, int ret; enum ndr_err_code ndr_err; char *lower_case_npipe; - struct named_pipe_auth_req_info7 *info7; + struct named_pipe_auth_req_info8 *info8; req = tevent_req_create(mem_ctx, &state, struct tstream_npa_connect_state); @@ -119,41 +119,41 @@ struct tevent_req *tstream_npa_connect_send(TALLOC_CTX *mem_ctx, goto post; } - state->auth_req.level = 7; - info7 = &state->auth_req.info.info7; + state->auth_req.level = 8; + info8 = &state->auth_req.info.info8; - info7->transport = transport; - SMB_ASSERT(info7->transport == transport); /* Assert no overflow */ + info8->transport = transport; + SMB_ASSERT(info8->transport == transport); /* Assert no overflow */ - info7->remote_client_name = remote_client_name_in; - info7->remote_client_addr = + info8->remote_client_name = remote_client_name_in; + info8->remote_client_addr = tsocket_address_inet_addr_string(remote_client_addr, state); - if (!info7->remote_client_addr) { + if (!info8->remote_client_addr) { /* errno might be EINVAL */ tevent_req_error(req, errno); goto post; } - info7->remote_client_port = + info8->remote_client_port = tsocket_address_inet_port(remote_client_addr); - if (!info7->remote_client_name) { - info7->remote_client_name = info7->remote_client_addr; + if (!info8->remote_client_name) { + info8->remote_client_name = info8->remote_client_addr; } - info7->local_server_name = local_server_name_in; - info7->local_server_addr = + info8->local_server_name = local_server_name_in; + info8->local_server_addr = tsocket_address_inet_addr_string(local_server_addr, state); - if (!info7->local_server_addr) { + if (!info8->local_server_addr) { /* errno might be EINVAL */ tevent_req_error(req, errno); goto post; } - info7->local_server_port = + info8->local_server_port = tsocket_address_inet_port(local_server_addr); - if (!info7->local_server_name) { - info7->local_server_name = info7->local_server_addr; + if (!info8->local_server_name) { + info8->local_server_name = info8->local_server_addr; } - info7->session_info = + info8->session_info = discard_const_p(struct auth_session_info_transport, session_info); @@ -352,10 +352,10 @@ int _tstream_npa_connect_recv(struct tevent_req *req, npas->unix_stream = talloc_move(stream, &state->unix_stream); switch (state->auth_rep.level) { - case 7: - npas->file_type = state->auth_rep.info.info7.file_type; - device_state = state->auth_rep.info.info7.device_state; - allocation_size = state->auth_rep.info.info7.allocation_size; + case 8: + npas->file_type = state->auth_rep.info.info8.file_type; + device_state = state->auth_rep.info.info8.device_state; + allocation_size = state->auth_rep.info.info8.allocation_size; break; } @@ -1088,7 +1088,7 @@ static void tstream_npa_accept_existing_reply(struct tevent_req *subreq) tevent_req_data(req, struct tstream_npa_accept_state); struct named_pipe_auth_req *pipe_request; struct named_pipe_auth_rep pipe_reply; - struct named_pipe_auth_req_info7 i7; + struct named_pipe_auth_req_info8 i8; enum ndr_err_code ndr_err; DATA_BLOB in, out; int err; @@ -1151,28 +1151,28 @@ static void tstream_npa_accept_existing_reply(struct tevent_req *subreq) NDR_PRINT_DEBUG(named_pipe_auth_req, pipe_request); } - ZERO_STRUCT(i7); + ZERO_STRUCT(i8); - if (pipe_request->level != 7) { + if (pipe_request->level != 8) { DEBUG(0, ("Unknown level %u\n", pipe_request->level)); pipe_reply.level = 0; pipe_reply.status = NT_STATUS_INVALID_LEVEL; goto reply; } - pipe_reply.level = 7; + pipe_reply.level = 8; pipe_reply.status = NT_STATUS_OK; - pipe_reply.info.info7.file_type = state->file_type; - pipe_reply.info.info7.device_state = state->device_state; - pipe_reply.info.info7.allocation_size = state->alloc_size; + pipe_reply.info.info8.file_type = state->file_type; + pipe_reply.info.info8.device_state = state->device_state; + pipe_reply.info.info8.allocation_size = state->alloc_size; - i7 = pipe_request->info.info7; - if (i7.local_server_addr == NULL) { + i8 = pipe_request->info.info8; + if (i8.local_server_addr == NULL) { pipe_reply.status = NT_STATUS_INVALID_ADDRESS; DEBUG(2, ("Missing local server address\n")); goto reply; } - if (i7.remote_client_addr == NULL) { + if (i8.remote_client_addr == NULL) { pipe_reply.status = NT_STATUS_INVALID_ADDRESS; DEBUG(2, ("Missing remote client address\n")); goto reply; @@ -1180,14 +1180,14 @@ static void tstream_npa_accept_existing_reply(struct tevent_req *subreq) ret = tsocket_address_inet_from_strings(state, "ip", - i7.local_server_addr, - i7.local_server_port, + i8.local_server_addr, + i8.local_server_port, &state->local_server_addr); if (ret != 0) { DEBUG(2, ("Invalid local server address[%s:%u] - %s\n", - i7.local_server_addr, - i7.local_server_port, + i8.local_server_addr, + i8.local_server_port, strerror(errno))); pipe_reply.status = NT_STATUS_INVALID_ADDRESS; goto reply; @@ -1195,14 +1195,14 @@ static void tstream_npa_accept_existing_reply(struct tevent_req *subreq) ret = tsocket_address_inet_from_strings(state, "ip", - i7.remote_client_addr, - i7.remote_client_port, + i8.remote_client_addr, + i8.remote_client_port, &state->remote_client_addr); if (ret != 0) { DEBUG(2, ("Invalid remote client address[%s:%u] - %s\n", - i7.remote_client_addr, - i7.remote_client_port, + i8.remote_client_addr, + i8.remote_client_port, strerror(errno))); pipe_reply.status = NT_STATUS_INVALID_ADDRESS; goto reply; @@ -1259,15 +1259,15 @@ static void tstream_npa_accept_existing_done(struct tevent_req *subreq) tevent_req_done(req); } -static struct named_pipe_auth_req_info7 * -copy_npa_info7(TALLOC_CTX *mem_ctx, - const struct named_pipe_auth_req_info7 *src) +static struct named_pipe_auth_req_info8 * +copy_npa_info8(TALLOC_CTX *mem_ctx, + const struct named_pipe_auth_req_info8 *src) { - struct named_pipe_auth_req_info7 *dst = NULL; + struct named_pipe_auth_req_info8 *dst = NULL; DATA_BLOB blob; enum ndr_err_code ndr_err; - dst = talloc_zero(mem_ctx, struct named_pipe_auth_req_info7); + dst = talloc_zero(mem_ctx, struct named_pipe_auth_req_info8); if (dst == NULL) { return NULL; } @@ -1276,9 +1276,9 @@ copy_npa_info7(TALLOC_CTX *mem_ctx, &blob, dst, src, - (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_req_info7); + (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_req_info8); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - DBG_WARNING("ndr_push_named_pipe_auth_req_info7 failed: %s\n", + DBG_WARNING("ndr_push_named_pipe_auth_req_info8 failed: %s\n", ndr_errstr(ndr_err)); TALLOC_FREE(dst); return NULL; @@ -1288,10 +1288,10 @@ copy_npa_info7(TALLOC_CTX *mem_ctx, &blob, dst, dst, - (ndr_pull_flags_fn_t)ndr_pull_named_pipe_auth_req_info7); + (ndr_pull_flags_fn_t)ndr_pull_named_pipe_auth_req_info8); TALLOC_FREE(blob.data); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - DBG_WARNING("ndr_push_named_pipe_auth_req_info7 failed: %s\n", + DBG_WARNING("ndr_push_named_pipe_auth_req_info8 failed: %s\n", ndr_errstr(ndr_err)); TALLOC_FREE(dst); return NULL; @@ -1305,7 +1305,7 @@ int _tstream_npa_accept_existing_recv( int *perrno, TALLOC_CTX *mem_ctx, struct tstream_context **stream, - struct named_pipe_auth_req_info7 **info7, + struct named_pipe_auth_req_info8 **info8, enum dcerpc_transport_t *transport, struct tsocket_address **remote_client_addr, char **_remote_client_name, @@ -1316,8 +1316,8 @@ int _tstream_npa_accept_existing_recv( { struct tstream_npa_accept_state *state = tevent_req_data(req, struct tstream_npa_accept_state); - struct named_pipe_auth_req_info7 *i7 = - &state->pipe_request->info.info7; + struct named_pipe_auth_req_info8 *i8 = + &state->pipe_request->info.info8; struct tstream_npa *npas; int ret; @@ -1358,24 +1358,24 @@ int _tstream_npa_accept_existing_recv( npas->unix_stream = state->plain; npas->file_type = state->file_type; - if (info7 != NULL) { + if (info8 != NULL) { /* - * Make a full copy of "info7" because further down we + * Make a full copy of "info8" because further down we * talloc_move() away substructures from * state->pipe_request. */ - struct named_pipe_auth_req_info7 *dst = - copy_npa_info7(mem_ctx, i7); + struct named_pipe_auth_req_info8 *dst = + copy_npa_info8(mem_ctx, i8); if (dst == NULL) { *perrno = ENOMEM; tevent_req_received(req); return -1; } - *info7 = dst; + *info8 = dst; } if (transport != NULL) { - *transport = i7->transport; + *transport = i8->transport; } if (remote_client_addr != NULL) { *remote_client_addr = talloc_move( @@ -1384,7 +1384,7 @@ int _tstream_npa_accept_existing_recv( if (_remote_client_name != NULL) { *_remote_client_name = discard_const_p( char, - talloc_move(mem_ctx, &i7->remote_client_name)); + talloc_move(mem_ctx, &i8->remote_client_name)); } if (local_server_addr != NULL) { *local_server_addr = talloc_move( @@ -1393,10 +1393,10 @@ int _tstream_npa_accept_existing_recv( if (local_server_name != NULL) { *local_server_name = discard_const_p( char, - talloc_move(mem_ctx, &i7->local_server_name)); + talloc_move(mem_ctx, &i8->local_server_name)); } if (session_info != NULL) { - *session_info = talloc_move(mem_ctx, &i7->session_info); + *session_info = talloc_move(mem_ctx, &i8->session_info); } tevent_req_received(req); diff --git a/libcli/named_pipe_auth/npa_tstream.h b/libcli/named_pipe_auth/npa_tstream.h index ebb6d16e428..aa60fe7918d 100644 --- a/libcli/named_pipe_auth/npa_tstream.h +++ b/libcli/named_pipe_auth/npa_tstream.h @@ -27,7 +27,7 @@ struct tevent_req; struct tevent_context; struct auth_session_info_transport; struct tsocket_address; -struct named_pipe_auth_req_info7; +struct named_pipe_auth_req_info8; struct tevent_req *tstream_npa_connect_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, @@ -114,7 +114,7 @@ int _tstream_npa_accept_existing_recv( int *perrno, TALLOC_CTX *mem_ctx, struct tstream_context **stream, - struct named_pipe_auth_req_info7 **info7, + struct named_pipe_auth_req_info8 **info8, enum dcerpc_transport_t *transport, struct tsocket_address **remote_client_addr, char **_remote_client_name, diff --git a/librpc/idl/named_pipe_auth.idl b/librpc/idl/named_pipe_auth.idl index b2c9201d1ce..807a312e4c0 100644 --- a/librpc/idl/named_pipe_auth.idl +++ b/librpc/idl/named_pipe_auth.idl @@ -21,10 +21,10 @@ interface named_pipe_auth [charset(DOS),string] uint8 *local_server_addr; uint16 local_server_port; auth_session_info_transport *session_info; - } named_pipe_auth_req_info7; + } named_pipe_auth_req_info8; typedef [switch_type(uint32)] union { - [case(7)] named_pipe_auth_req_info7 info7; + [case(8)] named_pipe_auth_req_info8 info8; } named_pipe_auth_req_info; typedef [public,gensize] struct { @@ -40,10 +40,10 @@ interface named_pipe_auth uint16 file_type; uint16 device_state; hyper allocation_size; - } named_pipe_auth_rep_info7; + } named_pipe_auth_rep_info8; typedef [switch_type(uint32)] union { - [case(7)] named_pipe_auth_rep_info7 info7; + [case(8)] named_pipe_auth_rep_info8 info8; } named_pipe_auth_rep_info; typedef [public,gensize] struct { diff --git a/source3/librpc/idl/rpc_host.idl b/source3/librpc/idl/rpc_host.idl index b992ca814ac..ab02b878442 100644 --- a/source3/librpc/idl/rpc_host.idl +++ b/source3/librpc/idl/rpc_host.idl @@ -31,7 +31,7 @@ interface rpc_host_msg /** * @brief Auth info inherited from SMB */ - named_pipe_auth_req_info7 *npa_info7; + named_pipe_auth_req_info8 *npa_info8; /** * @brief Raw bind PDU diff --git a/source3/rpc_client/local_np.c b/source3/rpc_client/local_np.c index 0b323404f06..0e912d0e35a 100644 --- a/source3/rpc_client/local_np.c +++ b/source3/rpc_client/local_np.c @@ -275,8 +275,8 @@ static void np_sock_connect_read_done(struct tevent_req *subreq) tevent_req_error(req, ndr_map_error2errno(ndr_err)); return; } - if (state->npa_rep->level != 7) { - DBG_DEBUG("npa level = %" PRIu32 ", expected 7\n", + if (state->npa_rep->level != 8) { + DBG_DEBUG("npa level = %" PRIu32 ", expected 8\n", state->npa_rep->level); tevent_req_error(req, EIO); return; @@ -284,7 +284,7 @@ static void np_sock_connect_read_done(struct tevent_req *subreq) ret = tstream_npa_existing_stream(state, &state->transport, - state->npa_rep->info.info7.file_type, + state->npa_rep->info.info8.file_type, &state->npa_stream); if (ret == -1) { ret = errno; @@ -498,7 +498,7 @@ struct tevent_req *local_np_connect_send( { struct tevent_req *req = NULL, *subreq = NULL; struct local_np_connect_state *state = NULL; - struct named_pipe_auth_req_info7 *i7 = NULL; + struct named_pipe_auth_req_info8 *i8 = NULL; const char *socket_dir = NULL; char *lower_case_pipename = NULL; struct dom_sid npa_sid = global_sid_Samba_NPA_Flags; @@ -553,14 +553,14 @@ struct tevent_req *local_np_connect_send( if (tevent_req_nomem(state->npa_req, req)) { return tevent_req_post(req, ev); } - state->npa_req->level = 7; + state->npa_req->level = 8; - i7 = &state->npa_req->info.info7; + i8 = &state->npa_req->info.info8; - i7->transport = transport; + i8->transport = transport; /* we don't have "int" in IDL, make sure we don't overflow */ - SMB_ASSERT(i7->transport == transport); + SMB_ASSERT(i8->transport == transport); if (remote_client_name == NULL) { remote_client_name = get_myname(state->npa_req); @@ -569,7 +569,7 @@ struct tevent_req *local_np_connect_send( return tevent_req_post(req, ev); } } - i7->remote_client_name = remote_client_name; + i8->remote_client_name = remote_client_name; if (remote_client_addr == NULL) { struct tsocket_address *addr = NULL; @@ -581,19 +581,19 @@ struct tevent_req *local_np_connect_send( } remote_client_addr = addr; } - i7->remote_client_addr = + i8->remote_client_addr = tsocket_address_inet_addr_string(remote_client_addr, state->npa_req); - if (i7->remote_client_addr == NULL) { + if (i8->remote_client_addr == NULL) { tevent_req_error(req, errno); return tevent_req_post(req, ev); } - i7->remote_client_port = tsocket_address_inet_port(remote_client_addr); + i8->remote_client_port = tsocket_address_inet_port(remote_client_addr); if (local_server_name == NULL) { local_server_name = remote_client_name; } - i7->local_server_name = local_server_name; + i8->local_server_name = local_server_name; if (local_server_addr == NULL) { struct tsocket_address *addr = NULL; @@ -605,24 +605,24 @@ struct tevent_req *local_np_connect_send( } local_server_addr = addr; } - i7->local_server_addr = + i8->local_server_addr = tsocket_address_inet_addr_string(local_server_addr, state->npa_req); - if (i7->local_server_addr == NULL) { + if (i8->local_server_addr == NULL) { tevent_req_error(req, errno); return tevent_req_post(req, ev); } - i7->local_server_port = tsocket_address_inet_port(local_server_addr); + i8->local_server_port = tsocket_address_inet_port(local_server_addr); - i7->session_info = talloc_zero(state->npa_req, + i8->session_info = talloc_zero(state->npa_req, struct auth_session_info_transport); - if (tevent_req_nomem(i7->session_info, req)) { + if (tevent_req_nomem(i8->session_info, req)) { return tevent_req_post(req, ev); } - i7->session_info->session_info = - copy_session_info(i7->session_info, session_info); - if (tevent_req_nomem(i7->session_info->session_info, req)) { + i8->session_info->session_info = + copy_session_info(i8->session_info, session_info); + if (tevent_req_nomem(i8->session_info->session_info, req)) { return tevent_req_post(req, ev); } @@ -641,7 +641,7 @@ struct tevent_req *local_np_connect_send( return tevent_req_post(req, ev); } - token = i7->session_info->session_info->security_token; + token = i8->session_info->session_info->security_token; status = add_sid_to_array_unique(token, &npa_sid, diff --git a/source3/rpc_server/rpc_host.c b/source3/rpc_server/rpc_host.c index c9ee9a3aca2..f29658a87de 100644 --- a/source3/rpc_server/rpc_host.c +++ b/source3/rpc_server/rpc_host.c @@ -202,7 +202,7 @@ struct rpc_server { * between RPC servers: netlogon requires samr, everybody * requires winreg. And if a deep call in netlogon asks for a * samr connection, this must never end up in the same - * process. named_pipe_auth_req_info7->need_idle_server is set + * process. named_pipe_auth_req_info8->need_idle_server is set * in those cases. */ struct rpc_work_process *workers; @@ -730,14 +730,14 @@ static int rpc_server_get_endpoints_recv( * anonymous session info. */ -static NTSTATUS rpc_host_generate_npa_info7_from_sock( +static NTSTATUS rpc_host_generate_npa_info8_from_sock( TALLOC_CTX *mem_ctx, enum dcerpc_transport_t transport, int sock, const struct samba_sockaddr *peer_addr, - struct named_pipe_auth_req_info7 **pinfo7) + struct named_pipe_auth_req_info8 **pinfo8) { - struct named_pipe_auth_req_info7 *info7 = NULL; + struct named_pipe_auth_req_info8 *info8 = NULL; struct samba_sockaddr local_addr = { .sa_socklen = sizeof(struct sockaddr_storage), }; @@ -760,26 +760,26 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( tsocket_address_to_name_fn = (transport == NCACN_IP_TCP) ? tsocket_address_inet_addr_string : tsocket_address_unix_path; - info7 = talloc_zero(mem_ctx, struct named_pipe_auth_req_info7); - if (info7 == NULL) { + info8 = talloc_zero(mem_ctx, struct named_pipe_auth_req_info8); + if (info8 == NULL) { goto fail; } - info7->session_info = - talloc_zero(info7, struct auth_session_info_transport); - if (info7->session_info == NULL) { + info8->session_info = + talloc_zero(info8, struct auth_session_info_transport); + if (info8->session_info == NULL) { goto fail; } status = make_session_info_anonymous( - info7->session_info, - &info7->session_info->session_info); + info8->session_info, + &info8->session_info->session_info); if (!NT_STATUS_IS_OK(status)) { DBG_DEBUG("make_session_info_anonymous failed: %s\n", nt_errstr(status)); goto fail; } - ret = tsocket_address_bsd_from_samba_sockaddr(info7, + ret = tsocket_address_bsd_from_samba_sockaddr(info8, peer_addr, &taddr); if (ret == -1) { @@ -789,14 +789,14 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( strerror(errno)); goto fail; } - remote_client_addr = tsocket_address_to_name_fn(taddr, info7); + remote_client_addr = tsocket_address_to_name_fn(taddr, info8); if (remote_client_addr == NULL) { DBG_DEBUG("tsocket_address_to_name_fn failed\n"); goto nomem; } TALLOC_FREE(taddr); - remote_client_name = talloc_strdup(info7, remote_client_addr); + remote_client_name = talloc_strdup(info8, remote_client_addr); if (remote_client_name == NULL) { DBG_DEBUG("talloc_strdup failed\n"); goto nomem; @@ -804,7 +804,7 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( if (transport == NCACN_IP_TCP) { bool ok = samba_sockaddr_get_port(peer_addr, - &info7->remote_client_port); + &info8->remote_client_port); if (!ok) { DBG_DEBUG("samba_sockaddr_get_port failed\n"); status = NT_STATUS_INVALID_PARAMETER; @@ -819,7 +819,7 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( goto fail; } - ret = tsocket_address_bsd_from_samba_sockaddr(info7, + ret = tsocket_address_bsd_from_samba_sockaddr(info8, &local_addr, &taddr); if (ret == -1) { @@ -829,14 +829,14 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( strerror(errno)); goto fail; } - local_server_addr = tsocket_address_to_name_fn(taddr, info7); + local_server_addr = tsocket_address_to_name_fn(taddr, info8); if (local_server_addr == NULL) { DBG_DEBUG("tsocket_address_to_name_fn failed\n"); goto nomem; } TALLOC_FREE(taddr); - local_server_name = talloc_strdup(info7, local_server_addr); + local_server_name = talloc_strdup(info8, local_server_addr); if (local_server_name == NULL) { DBG_DEBUG("talloc_strdup failed\n"); goto nomem; @@ -844,7 +844,7 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( if (transport == NCACN_IP_TCP) { bool ok = samba_sockaddr_get_port(&local_addr, - &info7->local_server_port); + &info8->local_server_port); if (!ok) { DBG_DEBUG("samba_sockaddr_get_port failed\n"); status = NT_STATUS_INVALID_PARAMETER; @@ -873,7 +873,7 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( TALLOC_FREE(remote_client_name); ret = tsocket_address_unix_from_path( - info7, + info8, AS_SYSTEM_MAGIC_PATH_TOKEN, &taddr); if (ret == -1) { @@ -883,14 +883,14 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( } remote_client_addr = - tsocket_address_unix_path(taddr, info7); + tsocket_address_unix_path(taddr, info8); if (remote_client_addr == NULL) { DBG_DEBUG("tsocket_address_unix_path " "failed\n"); goto nomem; } remote_client_name = - talloc_strdup(info7, remote_client_addr); + talloc_strdup(info8, remote_client_addr); if (remote_client_name == NULL) { DBG_DEBUG("talloc_strdup failed\n"); goto nomem; @@ -898,18 +898,18 @@ static NTSTATUS rpc_host_generate_npa_info7_from_sock( } } - info7->remote_client_addr = remote_client_addr; - info7->remote_client_name = remote_client_name; - info7->local_server_addr = local_server_addr; - info7->local_server_name = local_server_name; + info8->remote_client_addr = remote_client_addr; + info8->remote_client_name = remote_client_name; + info8->local_server_addr = local_server_addr; + info8->local_server_name = local_server_name; - *pinfo7 = info7; + *pinfo8 = info8; return NT_STATUS_OK; nomem: status = NT_STATUS_NO_MEMORY; fail: - TALLOC_FREE(info7); + TALLOC_FREE(info8); return status; } @@ -998,12 +998,12 @@ static struct tevent_req *rpc_host_bind_read_send( return req; } - status = rpc_host_generate_npa_info7_from_sock( + status = rpc_host_generate_npa_info8_from_sock( state->client, transport, state->sock, peer_addr, - &state->client->npa_info7); + &state->client->npa_info8); if (!NT_STATUS_IS_OK(status)) { tevent_req_oom(req); return tevent_req_post(req, ev); @@ -1035,14 +1035,14 @@ static void rpc_host_bind_read_got_npa(struct tevent_req *subreq) subreq, struct tevent_req); struct rpc_host_bind_read_state *state = tevent_req_data( req, struct rpc_host_bind_read_state); - struct named_pipe_auth_req_info7 *info7 = NULL; + struct named_pipe_auth_req_info8 *info8 = NULL; int ret, err; ret = tstream_npa_accept_existing_recv(subreq, &err, state, &state->npa_stream, - &info7, + &info8, NULL, /* transport */ NULL, /* remote_client_addr */ NULL, /* remote_client_name */ @@ -1054,7 +1054,7 @@ static void rpc_host_bind_read_got_npa(struct tevent_req *subreq) return; } - state->client->npa_info7 = talloc_move(state->client, &info7); + state->client->npa_info8 = talloc_move(state->client, &info8); subreq = dcerpc_read_ncacn_packet_send( state, state->ev, state->npa_stream); @@ -1328,7 +1328,7 @@ again: } } else { struct auth_session_info_transport *session_info = - pending_client->client->npa_info7->session_info; + pending_client->client->npa_info8->session_info; uint32_t flags = 0; bool found; diff --git a/source3/rpc_server/rpc_worker.c b/source3/rpc_server/rpc_worker.c index a58b6801f9e..f0b51e1ae79 100644 --- a/source3/rpc_server/rpc_worker.c +++ b/source3/rpc_server/rpc_worker.c @@ -172,7 +172,7 @@ static void rpc_worker_new_client( int sock) { struct dcesrv_context *dce_ctx = worker->dce_ctx; - struct named_pipe_auth_req_info7 *info7 = client->npa_info7; + struct named_pipe_auth_req_info8 *info8 = client->npa_info8; struct tsocket_address *remote_client_addr = NULL; struct tsocket_address *local_server_addr = NULL; struct dcerpc_binding *b = NULL; @@ -265,84 +265,84 @@ static void rpc_worker_new_client( if (transport == NCALRPC) { ret = tsocket_address_unix_from_path(ncacn_conn, - info7->remote_client_addr, + info8->remote_client_addr, &remote_client_addr); if (ret == -1) { DBG_DEBUG("tsocket_address_unix_from_path" "(%s) failed: %s\n", - info7->remote_client_addr, + info8->remote_client_addr, strerror(errno)); goto fail; } ncacn_conn->remote_client_name = - talloc_strdup(ncacn_conn, info7->remote_client_name); + talloc_strdup(ncacn_conn, info8->remote_client_name); if (ncacn_conn->remote_client_name == NULL) { DBG_DEBUG("talloc_strdup(%s) failed\n", - info7->remote_client_name); + info8->remote_client_name); goto fail; } ret = tsocket_address_unix_from_path(ncacn_conn, - info7->local_server_addr, + info8->local_server_addr, &local_server_addr); if (ret == -1) { DBG_DEBUG("tsocket_address_unix_from_path" "(%s) failed: %s\n", - info7->local_server_addr, + info8->local_server_addr, strerror(errno)); goto fail; } ncacn_conn->local_server_name = - talloc_strdup(ncacn_conn, info7->local_server_name); + talloc_strdup(ncacn_conn, info8->local_server_name); if (ncacn_conn->local_server_name == NULL) { DBG_DEBUG("talloc_strdup(%s) failed\n", - info7->local_server_name); + info8->local_server_name); goto fail; } } else { ret = tsocket_address_inet_from_strings( ncacn_conn, "ip", - info7->remote_client_addr, - info7->remote_client_port, + info8->remote_client_addr, + info8->remote_client_port, &remote_client_addr); if (ret == -1) { DBG_DEBUG("tsocket_address_inet_from_strings" "(%s, %" PRIu16 ") failed: %s\n", - info7->remote_client_addr, - info7->remote_client_port, + info8->remote_client_addr, + info8->remote_client_port, strerror(errno)); goto fail; } ncacn_conn->remote_client_name = - talloc_strdup(ncacn_conn, info7->remote_client_name); + talloc_strdup(ncacn_conn, info8->remote_client_name); if (ncacn_conn->remote_client_name == NULL) { DBG_DEBUG("talloc_strdup(%s) failed\n", - info7->remote_client_name); + info8->remote_client_name); goto fail; } ret = tsocket_address_inet_from_strings( ncacn_conn, "ip", - info7->local_server_addr, - info7->local_server_port, + info8->local_server_addr, + info8->local_server_port, &local_server_addr); if (ret == -1) { DBG_DEBUG("tsocket_address_inet_from_strings" "(%s, %" PRIu16 ") failed: %s\n", - info7->local_server_addr, - info7->local_server_port, + info8->local_server_addr, + info8->local_server_port, strerror(errno)); goto fail; } ncacn_conn->local_server_name = - talloc_strdup(ncacn_conn, info7->local_server_name); + talloc_strdup(ncacn_conn, info8->local_server_name); if (ncacn_conn->local_server_name == NULL) { DBG_DEBUG("talloc_strdup(%s) failed\n", - info7->local_server_name); + info8->local_server_name); goto fail; } } @@ -364,10 +364,10 @@ static void rpc_worker_new_client( * socket that the client connected to, passed in from * samba-dcerpcd via the binding. For NCACN_NP (root * only by unix permissions) we got a - * named_pipe_auth_req_info7 where the transport can + * named_pipe_auth_req_info8 where the transport can * be overridden. */ - transport = info7->transport; + transport = info8->transport; } else { ret = tstream_bsd_existing_socket( ncacn_conn, sock, &tstream); @@ -379,7 +379,7 @@ static void rpc_worker_new_client( } sock = -1; - token = info7->session_info->session_info->security_token; + token = info8->session_info->session_info->security_token; if (security_token_is_system(token) && (transport != NCALRPC)) { DBG_DEBUG("System token only allowed on NCALRPC\n"); @@ -410,7 +410,7 @@ static void rpc_worker_new_client( status = dcesrv_endpoint_connect(dce_ctx, ncacn_conn, ep, - info7->session_info->session_info, + info8->session_info->session_info, global_event_context(), state_flags, &dcesrv_conn);