- fix client for pathworks 4 access
authorAndrew Tridgell <tridge@samba.org>
Thu, 22 Aug 1996 16:09:27 +0000 (16:09 +0000)
committerAndrew Tridgell <tridge@samba.org>
Thu, 22 Aug 1996 16:09:27 +0000 (16:09 +0000)
- fix "connection already connected" bug in open_socket_out()
(This used to be commit fcce452557a6f5cfc46972617ed6932bb7fbeb95)

source3/client/client.c
source3/lib/util.c

index cc178967a16be7c85cbc0a3f2ef019571aa40983..cdf33a14b3da424e870b2aaab9a827299d528c16 100644 (file)
@@ -168,7 +168,7 @@ void setup_pkt(char *outbuf)
   SSVAL(outbuf,smb_pid,pid);
   SSVAL(outbuf,smb_uid,uid);
   SSVAL(outbuf,smb_mid,mid);
-  if (Protocol > PROTOCOL_CORE)
+  if (Protocol > PROTOCOL_COREPLUS)
     {
       SCVAL(outbuf,smb_flg,0x8);
       SSVAL(outbuf,smb_flg2,0x1);
@@ -3316,7 +3316,7 @@ static BOOL send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setu
       strcpy(pword, ""); passlen=1; 
     }
 
-    if (Protocol <= PROTOCOL_CORE) {
+    if (Protocol <= PROTOCOL_COREPLUS) {
       set_message(outbuf,0,6 + strlen(service) + passlen + strlen(dev),True);
       CVAL(outbuf,smb_com) = SMBtcon;
       setup_pkt(outbuf);
@@ -3376,7 +3376,7 @@ static BOOL send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setu
     }
   
 
-  if (Protocol <= PROTOCOL_CORE) {
+  if (Protocol <= PROTOCOL_COREPLUS) {
     max_xmit = SVAL(inbuf,smb_vwv0);
 
     cnum = SVAL(inbuf,smb_vwv1);
index e13a4c37e80bf9750757b678b69563e59068143c..31ad3da31cb7c07f65bd3701f7c758a86333ac89 100644 (file)
@@ -2888,6 +2888,13 @@ connect_again:
       return -1;
   }
 
+#ifdef EISCONN
+  if (ret < 0 && errno == EISCONN) {
+    errno = 0;
+    ret = 0;
+  }
+#endif
+
   if (ret < 0) {
     DEBUG(2,("error connecting to %s:%d (%s)\n",
             inet_ntoa(*addr),port,strerror(errno)));