summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sshconnect.c11
2 files changed, 11 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 90c575141..de87d774b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,10 @@
12 [cipher.c] 12 [cipher.c]
13 rename acss@opebsd.org to acss@openssh.org 13 rename acss@opebsd.org to acss@openssh.org
14 ok deraadt@ 14 ok deraadt@
15 - djm@cvs.openbsd.org 2004/01/25 03:49:09
16 [sshconnect.c]
17 reset nonblocking flag after ConnectTimeout > 0 connect; (bugzilla #785)
18 from jclonguet AT free.fr; ok millert@
15 - (djm) [acss.c acss.h cipher-acss.c] Portable support for ACSS 19 - (djm) [acss.c acss.h cipher-acss.c] Portable support for ACSS
16 if libcrypto lacks it 20 if libcrypto lacks it
17 21
@@ -1754,4 +1758,4 @@
1754 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. 1758 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
1755 Report from murple@murple.net, diagnosis from dtucker@zip.com.au 1759 Report from murple@murple.net, diagnosis from dtucker@zip.com.au
1756 1760
1757$Id: ChangeLog,v 1.3195 2004/01/27 10:20:59 djm Exp $ 1761$Id: ChangeLog,v 1.3196 2004/01/27 10:21:27 djm Exp $
diff --git a/sshconnect.c b/sshconnect.c
index 80b45c79e..dfeddd39e 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -13,7 +13,7 @@
13 */ 13 */
14 14
15#include "includes.h" 15#include "includes.h"
16RCSID("$OpenBSD: sshconnect.c,v 1.155 2003/12/09 21:53:37 markus Exp $"); 16RCSID("$OpenBSD: sshconnect.c,v 1.156 2004/01/25 03:49:09 djm Exp $");
17 17
18#include <openssl/bn.h> 18#include <openssl/bn.h>
19 19
@@ -231,12 +231,12 @@ timeout_connect(int sockfd, const struct sockaddr *serv_addr,
231 if (timeout <= 0) 231 if (timeout <= 0)
232 return (connect(sockfd, serv_addr, addrlen)); 232 return (connect(sockfd, serv_addr, addrlen));
233 233
234 if (fcntl(sockfd, F_SETFL, O_NONBLOCK) < 0) 234 set_nonblock(sockfd);
235 return (-1);
236
237 rc = connect(sockfd, serv_addr, addrlen); 235 rc = connect(sockfd, serv_addr, addrlen);
238 if (rc == 0) 236 if (rc == 0) {
237 unset_nonblock(sockfd);
239 return (0); 238 return (0);
239 }
240 if (errno != EINPROGRESS) 240 if (errno != EINPROGRESS)
241 return (-1); 241 return (-1);
242 242
@@ -277,6 +277,7 @@ timeout_connect(int sockfd, const struct sockaddr *serv_addr,
277 break; 277 break;
278 } 278 }
279 result = 0; 279 result = 0;
280 unset_nonblock(sockfd);
280 break; 281 break;
281 default: 282 default:
282 /* Should not occur */ 283 /* Should not occur */