Cope with no server being active.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 26 May 2008 03:12:31 +0000 (05:12 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 26 May 2008 03:12:31 +0000 (05:12 +0200)
(This used to be commit 893119bb4c9c297966d43d37fe73faa747b7c86e)

source4/scripting/bin/smbstatus
source4/smb_server/smb_server.c

index 7e58ee1269b7cda4e5a83e5a75c3f5b321307eca..bbd0e848269a9475a23976a74382ff0645dbfdca 100755 (executable)
@@ -19,7 +19,7 @@ from samba import irpc, messaging
 
 def show_sessions(conn):
        """show open sessions"""
-       conn = open_connection("smb_server")
+
        sessions = conn.smbsrv_information(irpc.SMBSRV_INFO_SESSIONS).next()
        print "User                                  Client      Connected at"
        print "-------------------------------------------------------------------------------"
@@ -73,5 +73,11 @@ def open_connection(name):
 if opts.nbt:
        show_nbt(open_connection)
 else:
-       show_sessions(open_connection)
-       show_tcons(open_connection)
+       try:
+               conn = open_connection("smb_server")
+       except RuntimeError, (num, msg):
+               if msg ==  'NT_STATUS_OBJECT_NAME_NOT_FOUND':
+                       print "No active connections"
+       else:
+               show_sessions(conn)
+               show_tcons(conn)
index 367557dbb7422ff75b556f827ff2a1380b064a2e..6eccb836d6b1c366d34368fe3b57d4ce1e2c0d0e 100644 (file)
@@ -150,12 +150,12 @@ static void smbsrv_accept(struct stream_connection *conn)
        smb_conn->connection = conn;
        conn->private = smb_conn;
 
-       irpc_add_name(conn->msg_ctx, "smb_server");
-
        smb_conn->statistics.connect_time = timeval_current();
 
        smbsrv_management_init(smb_conn);
 
+       irpc_add_name(conn->msg_ctx, "smb_server");
+
        if (!NT_STATUS_IS_OK(share_get_context_by_name(smb_conn, lp_share_backend(smb_conn->lp_ctx), 
                                                       smb_conn->connection->event.ctx,
                                                       smb_conn->lp_ctx, &(smb_conn->share_context)))) {