[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Fri Mar 22 19:03:02 UTC 2019
The branch, master has been updated
via 7841c62ae4c rpc_server3: Add a
to a DEBUG message
via 13b66508a0c librpc: Add a required #include
via 9d4bf6bb9dd tsocket: Simplify tsocket.h
via 7bea3541256 tstream_npa: Avoid an unnecessary ZERO_STRUCTP
via bd51c7d3ef9 rpc_server: Avoid casts in DBG statements
via 02d884ed8a3 rpc_server: Simplify named_pipe_accept_function
via 46a3436734c rpc_server: Favor talloc_move over talloc_steal
via 9bebe5c7db2 rpc_server: Make make_server_pipes_struct API safer
via a6c653a978b rpc_server: Fix an error path memleak in make_server_pipes_struct
via 1220f69caba rpc_server: Simplify make_server_pipes_struct
from 63084375e3c docs: Update smbclient manpage for --max-protocol
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 7841c62ae4caeaa7bc13e7c6b8b930da7c22c97f
Author: Volker Lendecke <vl at samba.org>
Date: Tue Mar 19 16:08:43 2019 +0100
rpc_server3: Add a \n to a DEBUG message
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Fri Mar 22 19:02:32 UTC 2019 on sn-devel-144
commit 13b66508a0ce61cdf4c9532e263f837952480468
Author: Volker Lendecke <vl at samba.org>
Date: Fri Mar 15 14:31:57 2019 +0100
librpc: Add a required #include
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 9d4bf6bb9dddfc9114eb295516f4bb4fc42edc15
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 17:26:52 2019 +0100
tsocket: Simplify tsocket.h
tevent.h already includes talloc.h
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 7bea3541256a68dc4ead92780a3c2654dfc7fbee
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 08:43:59 2019 +0100
tstream_npa: Avoid an unnecessary ZERO_STRUCTP
tevent_req_create already zeros out "state"
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit bd51c7d3ef9d03977d672fff0b2923fb9863addf
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 16:49:26 2019 +0100
rpc_server: Avoid casts in DBG statements
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 02d884ed8a336f656482222f518e80a6c27773c3
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 15:57:59 2019 +0100
rpc_server: Simplify named_pipe_accept_function
Make use of named_pipe_client_init
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 46a3436734cf84ecb8048f69026a419132696b6d
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 14:15:10 2019 +0100
rpc_server: Favor talloc_move over talloc_steal
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 9bebe5c7db2e3452eb8f72dcc9f6270c1823963f
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 13:50:03 2019 +0100
rpc_server: Make make_server_pipes_struct API safer
Make it clear that we talloc_steal by NULLing out the caller's
session_info
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit a6c653a978b3a14833beb3deedcf0634b8ce63fa
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 13:46:58 2019 +0100
rpc_server: Fix an error path memleak in make_server_pipes_struct
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 1220f69caba5d5aa4ded0cd09d8a1af4fd13bfa7
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 20 13:45:32 2019 +0100
rpc_server: Simplify make_server_pipes_struct
Do an early return on error
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
lib/tsocket/tsocket.h | 1 -
libcli/named_pipe_auth/npa_tstream.c | 2 --
source3/rpc_server/rpc_ncacn_np.c | 4 +--
source3/rpc_server/rpc_server.c | 64 ++++++++++++++++--------------------
source3/rpc_server/rpc_server.h | 4 ++-
source3/rpc_server/srv_pipe.c | 2 +-
6 files changed, 35 insertions(+), 42 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/tsocket/tsocket.h b/lib/tsocket/tsocket.h
index ab4cef92bd5..43f8881dbee 100644
--- a/lib/tsocket/tsocket.h
+++ b/lib/tsocket/tsocket.h
@@ -24,7 +24,6 @@
#ifndef _TSOCKET_H
#define _TSOCKET_H
-#include <talloc.h>
#include <tevent.h>
struct tsocket_address;
diff --git a/libcli/named_pipe_auth/npa_tstream.c b/libcli/named_pipe_auth/npa_tstream.c
index 9ae4acb7f0b..8e93b8175a7 100644
--- a/libcli/named_pipe_auth/npa_tstream.c
+++ b/libcli/named_pipe_auth/npa_tstream.c
@@ -1120,8 +1120,6 @@ struct tevent_req *tstream_npa_accept_existing_send(TALLOC_CTX *mem_ctx,
goto post;
}
- ZERO_STRUCTP(state);
-
state->ev = ev;
state->plain = plain;
state->file_type = file_type;
diff --git a/source3/rpc_server/rpc_ncacn_np.c b/source3/rpc_server/rpc_ncacn_np.c
index 5ee98a10d70..c45e9cb3a2b 100644
--- a/source3/rpc_server/rpc_ncacn_np.c
+++ b/source3/rpc_server/rpc_ncacn_np.c
@@ -164,7 +164,7 @@ NTSTATUS make_internal_rpc_pipe_socketpair(
NCACN_NP,
npc->remote_client_addr,
npc->local_server_addr,
- npc->session_info,
+ &npc->session_info,
&npc->p,
&error);
if (rc == -1) {
@@ -186,7 +186,7 @@ NTSTATUS make_internal_rpc_pipe_socketpair(
}
tevent_req_set_callback(subreq, named_pipe_packet_process, npc);
- *pnpa = talloc_steal(mem_ctx, npa);
+ *pnpa = talloc_move(mem_ctx, &npa);
status = NT_STATUS_OK;
out:
talloc_free(tmp_ctx);
diff --git a/source3/rpc_server/rpc_server.c b/source3/rpc_server/rpc_server.c
index 36dff114f90..0230d73abb2 100644
--- a/source3/rpc_server/rpc_server.c
+++ b/source3/rpc_server/rpc_server.c
@@ -42,10 +42,11 @@ int make_server_pipes_struct(TALLOC_CTX *mem_ctx,
enum dcerpc_transport_t transport,
const struct tsocket_address *remote_address,
const struct tsocket_address *local_address,
- struct auth_session_info *session_info,
+ struct auth_session_info **psession_info,
struct pipes_struct **_p,
int *perrno)
{
+ struct auth_session_info *session_info = *psession_info;
struct pipes_struct *p;
int ret;
@@ -57,16 +58,18 @@ int make_server_pipes_struct(TALLOC_CTX *mem_ctx,
return -1;
}
- if (session_info->unix_token && session_info->unix_info && session_info->security_token) {
- /* Don't call create_local_token(), we already have the full details here */
- p->session_info = talloc_steal(p, session_info);
-
- } else {
- DEBUG(0, ("Supplied session_info in make_server_pipes_struct was incomplete!"));
+ if ((session_info->unix_token == NULL) ||
+ (session_info->unix_info == NULL) ||
+ (session_info->security_token == NULL)) {
+ DBG_ERR("Supplied session_info was incomplete!\n");
+ TALLOC_FREE(p);
*perrno = EINVAL;
return -1;
}
+ /* Don't call create_local_token(), we already have the full details here */
+ p->session_info = talloc_move(p, psession_info);
+
*_p = p;
return 0;
}
@@ -290,26 +293,21 @@ void named_pipe_accept_function(struct tevent_context *ev_ctx,
struct tevent_req *subreq;
int ret;
- npc = talloc_zero(ev_ctx, struct named_pipe_client);
- if (!npc) {
- DEBUG(0, ("Out of memory!\n"));
- close(fd);
- return;
- }
-
- npc->pipe_name = talloc_strdup(npc, pipe_name);
- if (npc->pipe_name == NULL) {
+ npc = named_pipe_client_init(
+ ev_ctx,
+ ev_ctx,
+ msg_ctx,
+ pipe_name,
+ term_fn,
+ FILE_TYPE_MESSAGE_MODE_PIPE, /* file_type */
+ 0xff | 0x0400 | 0x0100, /* device_state */
+ 4096, /* allocation_size */
+ private_data);
+ if (npc == NULL) {
DEBUG(0, ("Out of memory!\n"));
- TALLOC_FREE(npc);
close(fd);
return;
}
- npc->ev = ev_ctx;
- npc->msg_ctx = msg_ctx;
- npc->term_fn = term_fn;
- npc->private_data = private_data;
-
- talloc_set_destructor(npc, named_pipe_destructor);
/* make sure socket is in NON blocking state */
ret = set_blocking(fd, false);
@@ -328,10 +326,6 @@ void named_pipe_accept_function(struct tevent_context *ev_ctx,
return;
}
- npc->file_type = FILE_TYPE_MESSAGE_MODE_PIPE;
- npc->device_state = 0xff | 0x0400 | 0x0100;
- npc->allocation_size = 4096;
-
subreq = tstream_npa_accept_existing_send(npc, npc->ev, plain,
npc->file_type,
npc->device_state,
@@ -378,7 +372,7 @@ static void named_pipe_accept_done(struct tevent_req *subreq)
npc->pipe_name, NCACN_NP,
npc->remote_client_addr,
npc->local_server_addr,
- npc->session_info,
+ &npc->session_info,
&npc->p, &error);
if (ret != 0) {
DEBUG(2, ("Failed to create pipes_struct! (%s)\n",
@@ -502,14 +496,14 @@ void named_pipe_packet_process(struct tevent_req *subreq)
return;
}
- DEBUG(10, ("Sending %u fragments in a total of %u bytes\n",
- (unsigned int)npc->count,
- (unsigned int)npc->p->out_data.data_sent_length));
+ DBG_DEBUG("Sending %zu fragments in a total of %"PRIu32" bytes\n",
+ npc->count,
+ npc->p->out_data.data_sent_length);
for (i = 0; i < npc->count; i++) {
- DEBUG(10, ("Sending PDU number: %d, PDU Length: %u\n",
- (unsigned int)i,
- (unsigned int)npc->iov[i].iov_len));
+ DBG_DEBUG("Sending PDU number: %zu, PDU Length: %zu\n",
+ i,
+ npc->iov[i].iov_len);
dump_data(11, (const uint8_t *)npc->iov[i].iov_base,
npc->iov[i].iov_len);
@@ -1125,7 +1119,7 @@ void dcerpc_ncacn_accept(struct tevent_context *ev_ctx,
ncacn_conn->transport,
ncacn_conn->remote_client_addr,
ncacn_conn->local_server_addr,
- ncacn_conn->session_info,
+ &ncacn_conn->session_info,
&ncacn_conn->p,
&sys_errno);
if (rc < 0) {
diff --git a/source3/rpc_server/rpc_server.h b/source3/rpc_server/rpc_server.h
index fd8c652f067..a443a0f6a0f 100644
--- a/source3/rpc_server/rpc_server.h
+++ b/source3/rpc_server/rpc_server.h
@@ -20,6 +20,8 @@
#ifndef _RPC_SERVER_H_
#define _RPC_SERVER_H_
+#include "librpc/rpc/rpc_common.h" /* For enum dcerpc_transport_t */
+
struct pipes_struct;
typedef bool (*dcerpc_ncacn_disconnect_fn)(struct pipes_struct *p);
@@ -71,7 +73,7 @@ int make_server_pipes_struct(TALLOC_CTX *mem_ctx,
enum dcerpc_transport_t transport,
const struct tsocket_address *remote_address,
const struct tsocket_address *local_address,
- struct auth_session_info *session_info,
+ struct auth_session_info **session_info,
struct pipes_struct **_p,
int *perrno);
diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
index 7a1c6159467..fec8d276e13 100644
--- a/source3/rpc_server/srv_pipe.c
+++ b/source3/rpc_server/srv_pipe.c
@@ -1878,7 +1878,7 @@ void process_complete_pdu(struct pipes_struct *p, struct ncacn_packet *pkt)
done:
if (!reply) {
- DEBUG(3,("DCE/RPC fault sent!"));
+ DBG_NOTICE("DCE/RPC fault sent!\n");
set_incoming_fault(p);
setup_fault_pdu(p, NT_STATUS(DCERPC_NCA_S_PROTO_ERROR));
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list