From 9d7ed7c5a8db3979759974c3f8278ae8ba9184ec Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Tue, 24 Apr 2018 12:18:49 -0700 Subject: [PATCH 1/3] rpcclient: Print number of entries for NetSessEnum BUG: https://bugzilla.samba.org/show_bug.cgi?id=13407 Signed-off-by: Christof Schmitt Reviewed-by: Jeremy Allison (cherry picked from commit 501819fa9e7926c2f54cb92d508ac0e8437fd476) --- source3/rpcclient/cmd_srvsvc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source3/rpcclient/cmd_srvsvc.c b/source3/rpcclient/cmd_srvsvc.c index e7929e7259c..f78fb9a135d 100644 --- a/source3/rpcclient/cmd_srvsvc.c +++ b/source3/rpcclient/cmd_srvsvc.c @@ -883,6 +883,8 @@ static WERROR cmd_srvsvc_net_sess_enum(struct rpc_pipe_client *cli, goto done; } + d_printf("Received %d entries.\n", total_entries); + done: return result; } -- 2.17.0.441.gb46fe60e1d-goog From 257582062efd68d3adbd616d3cc50009426ca6e7 Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Tue, 24 Apr 2018 13:52:59 -0700 Subject: [PATCH 2/3] selftest: Add testcase for querying sessions after smbd crash BUG: https://bugzilla.samba.org/show_bug.cgi?id=13407 Signed-off-by: Christof Schmitt Reviewed-by: Jeremy Allison (cherry picked from commit e04846c7df8e3eec1f3dbb2fc5eaf47ceb1c44d2) --- selftest/knownfail | 1 + .../tests/test_rpcclient_netsessenum.sh | 55 +++++++++++++++++++ source3/selftest/tests.py | 6 ++ 3 files changed, 62 insertions(+) create mode 100755 source3/script/tests/test_rpcclient_netsessenum.sh diff --git a/selftest/knownfail b/selftest/knownfail index dd23c7d204f..dd2657e33c8 100644 --- a/selftest/knownfail +++ b/selftest/knownfail @@ -345,3 +345,4 @@ ^samba.tests.ntlmauth.python\(ktest\).ntlmauth.NtlmAuthTests.test_ntlm_connection\(ktest\) # Disabling NTLM means you can't use samr to change the password ^samba.tests.ntlmauth.python\(ktest\).ntlmauth.NtlmAuthTests.test_samr_change_password\(ktest\) +samba3.blackbox.rpcclient_netsessenum.count2\(ad_member\) diff --git a/source3/script/tests/test_rpcclient_netsessenum.sh b/source3/script/tests/test_rpcclient_netsessenum.sh new file mode 100755 index 00000000000..9abb3ae3db5 --- /dev/null +++ b/source3/script/tests/test_rpcclient_netsessenum.sh @@ -0,0 +1,55 @@ +#!/bin/sh +# +# Blackbox tests for the rpcclient srvsvc commands +# +# Copyright (C) 2018 Christof Schmitt + +if [ $# -lt 6 ]; then +cat < Date: Tue, 24 Apr 2018 13:53:41 -0700 Subject: [PATCH 3/3] rpc_server: Fix NetSessEnum with stale sessions BUG: https://bugzilla.samba.org/show_bug.cgi?id=13407 Signed-off-by: Christof Schmitt Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Wed Apr 25 22:49:07 CEST 2018 on sn-devel-144 (cherry picked from commit a6fade4e10760284ef56abf45d3fa70038091cbe) --- selftest/knownfail | 1 - source3/smbd/session.c | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/selftest/knownfail b/selftest/knownfail index dd2657e33c8..dd23c7d204f 100644 --- a/selftest/knownfail +++ b/selftest/knownfail @@ -345,4 +345,3 @@ ^samba.tests.ntlmauth.python\(ktest\).ntlmauth.NtlmAuthTests.test_ntlm_connection\(ktest\) # Disabling NTLM means you can't use samr to change the password ^samba.tests.ntlmauth.python\(ktest\).ntlmauth.NtlmAuthTests.test_samr_change_password\(ktest\) -samba3.blackbox.rpcclient_netsessenum.count2\(ad_member\) diff --git a/source3/smbd/session.c b/source3/smbd/session.c index 4ddb856930d..8b4c6609304 100644 --- a/source3/smbd/session.c +++ b/source3/smbd/session.c @@ -139,6 +139,10 @@ static int gather_sessioninfo(const char *key, struct sessionid *session, return 0; } + if (!process_exists(session->pid)) { + return 0; + } + sesslist->sessions = talloc_realloc( sesslist->mem_ctx, sesslist->sessions, struct sessionid, sesslist->count+1); -- 2.17.0.441.gb46fe60e1d-goog