summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-03-31 10:01:03 -0700
committerJeremy Allison <jra@samba.org>2010-03-31 10:01:03 -0700
commit2e839a636b2ea3f4d8dfcf5a8e99d9725787ba61 (patch)
tree42f219978f7d07d8fa196cb9ebd9db7be971450d /source3/smbd
parentf58d02dbeeeba037ee79fba93a707e959e90ffa3 (diff)
parent6f30b9a6ff57ca6112e6319c64c411d2bf09be79 (diff)
downloadsamba-2e839a636b2ea3f4d8dfcf5a8e99d9725787ba61.tar.gz
samba-2e839a636b2ea3f4d8dfcf5a8e99d9725787ba61.tar.bz2
samba-2e839a636b2ea3f4d8dfcf5a8e99d9725787ba61.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/process.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 6068816ad9..dd120f9bd2 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -2349,9 +2349,21 @@ static bool keepalive_fn(const struct timeval *now, void *private_data)
static bool deadtime_fn(const struct timeval *now, void *private_data)
{
struct smbd_server_connection *sconn = smbd_server_conn;
+
+ if (sconn->allow_smb2) {
+ /* TODO: implement real idle check */
+ if (sconn->smb2.sessions.list) {
+ return true;
+ }
+ DEBUG( 2, ( "Closing idle SMB2 connection\n" ) );
+ messaging_send(smbd_messaging_context(), procid_self(),
+ MSG_SHUTDOWN, &data_blob_null);
+ return false;
+ }
+
if ((conn_num_open(sconn) == 0)
|| (conn_idle_all(sconn, now->tv_sec))) {
- DEBUG( 2, ( "Closing idle connection\n" ) );
+ DEBUG( 2, ( "Closing idle SMB1 connection\n" ) );
messaging_send(smbd_messaging_context(), procid_self(),
MSG_SHUTDOWN, &data_blob_null);
return False;