- moved the protocol defs in the client to keep sill C compilers happy
authorAndrew Tridgell <tridge@samba.org>
Wed, 3 Jul 1996 01:58:27 +0000 (01:58 +0000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 3 Jul 1996 01:58:27 +0000 (01:58 +0000)
- added change for cnum range in reply_tdis()
(This used to be commit 609c3a5e1e3a8d9ba380a802ab3ecf6f47093846)

source3/client/client.c
source3/smbd/reply.c

index fbd208f91ac940f59e745e4b2e6dcb5e791cba88..2eb4be7d132e298d206b650ae7d45163a8eba2df 100644 (file)
@@ -2874,6 +2874,21 @@ static BOOL send_session_request(char *inbuf,char *outbuf)
   return(True);
 }
 
+static struct {
+  int prot;
+  char *name;
+} prots[] = {
+  {PROTOCOL_CORE,"PC NETWORK PROGRAM 1.0"},
+  {PROTOCOL_COREPLUS,"MICROSOFT NETWORKS 1.03"},
+  {PROTOCOL_LANMAN1,"MICROSOFT NETWORKS 3.0"},
+  {PROTOCOL_LANMAN1,"LANMAN1.0"},
+  {PROTOCOL_LANMAN2,"LM1.2X002"},
+  {PROTOCOL_LANMAN2,"Samba"},
+  {PROTOCOL_NT1,"NT LM 0.12"},
+  {PROTOCOL_NT1,"NT LANMAN 1.0"},
+  {-1,NULL}
+};
+
 
 /****************************************************************************
 send a login command
@@ -2887,22 +2902,6 @@ static BOOL send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setu
   int sec_mode=0;
   int crypt_len;
   int max_vcs=0;
-  struct {
-    int prot;
-    char *name;
-  }
-  prots[] = 
-    {
-      {PROTOCOL_CORE,"PC NETWORK PROGRAM 1.0"},
-      {PROTOCOL_COREPLUS,"MICROSOFT NETWORKS 1.03"},
-      {PROTOCOL_LANMAN1,"MICROSOFT NETWORKS 3.0"},
-      {PROTOCOL_LANMAN1,"LANMAN1.0"},
-      {PROTOCOL_LANMAN2,"LM1.2X002"},
-      {PROTOCOL_LANMAN2,"Samba"},
-      {PROTOCOL_NT1,"NT LM 0.12"},
-      {PROTOCOL_NT1,"NT LANMAN 1.0"},
-      {-1,NULL}
-    };
   char *pass = NULL;  
   pstring dev;
   char *p;
index 4cfa001ec2144b3567e4fe833f7ca7dec62b8902..13cc8efe5d3326663e3a8f814361317efe5a1352 100644 (file)
@@ -2062,6 +2062,11 @@ int reply_tdis(char *inbuf,char *outbuf)
   cnum = SVAL(inbuf,smb_tid);
   uid = SVAL(inbuf,smb_uid);
 
+  if (!OPEN_CNUM(cnum)) {
+    DEBUG(4,("Invalid cnum in tdis (%d)\n",cnum));
+    return(ERROR(ERRSRV,ERRinvnid));
+  }
+
   Connections[cnum].used = False;
 
   close_cnum(cnum,uid);