From 2fffc40b1ddcd8a89160db877bd868f6e7fa8b72 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Tue, 30 Nov 2004 15:52:46 +0000 Subject: r4018: * move claim_connection from the netbios session request reply code to the negprot reply code to cope with client connections on port 445. Fixes the spurious "register_message_flags: tdb fetch failed" errors. * don't run the backgroup LPQ daemon when we are running in interactive mode. (This used to be commit 88747a7da351261185222e78e9c8d470ff53a246) --- source3/smbd/negprot.c | 6 ++++++ source3/smbd/reply.c | 2 -- source3/smbd/server.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/source3/smbd/negprot.c b/source3/smbd/negprot.c index 7da9d1281e..9aaa818c62 100644 --- a/source3/smbd/negprot.c +++ b/source3/smbd/negprot.c @@ -523,6 +523,12 @@ int reply_negprot(connection_struct *conn, /* possibly reload - change of architecture */ reload_services(True); + + /* moved from the netbios session setup code since we don't have that + when the client connects to port 445. Of course there is a small + window where we are listening to messages -- jerry */ + + claim_connection(NULL,"",0,True,FLAG_MSG_GENERAL|FLAG_MSG_SMBD|FLAG_MSG_PRINT_GENERAL); /* Check for protocols, most desirable first */ for (protocol = 0; supported_protocols[protocol].proto_name; protocol++) { diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 2806b796b3..eda523e73a 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -259,8 +259,6 @@ int reply_special(char *inbuf,char *outbuf) reload_services(True); reopen_logs(); - claim_connection(NULL,"",0,True,FLAG_MSG_GENERAL|FLAG_MSG_SMBD|FLAG_MSG_PRINT_GENERAL); - already_got_session = True; break; diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 156755a5b8..724a49321a 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -864,7 +864,7 @@ void build_options(BOOL screen); smbd is launched via inetd and we fork a copy of ourselves here */ - if ( is_daemon ) + if ( is_daemon && !interactive ) start_background_queue(); if (!open_sockets_smbd(is_daemon, interactive, ports)) -- cgit