Commit Graph

151 Commits

Author SHA1 Message Date
David Bender
8f52aa24d3 ITS#7476 Prevent EINTR from stopping otherwise successful connect 2013-01-09 09:11:35 -08:00
Kurt Zeilenga
0fd1bf30b8 Happy New Year 2013-01-02 10:22:57 -08:00
Ralf Haferkamp
c728ebf586 ITS#7428 Use non-blocking IO during SSL Handshake
If a timeout is set, perform the SSL Handshake using non-blocking IO.  This way
we can timeout if SSL Handshake gets stuck for whatever reason.

This code is currently hidden behind #ifdefs (LDAP_USE_NON_BLOCKING_TLS) and
disabled by default as there seem to be some problems using NON-blocking
I/O during the TLS Handshake when linking against NSS (either a bug in NSS
itself of in tls_m.c, see discussion on -devel)

This patch adds an additional parameter to ldap_int_poll() in order to indicate
if we're waiting in order to perform a read or write operation.
2012-11-21 14:25:18 +01:00
Howard Chu
33f6bc4fe6 ITS#7167 only poll sockets for write as needed 2012-02-20 14:51:30 -08:00
Kurt Zeilenga
2bbf9804b9 Happy New Year! 2012-01-01 07:10:53 -08:00
Pierangelo Masarati
45d580e941 do not hijack loop counter (ITS#6813; blind fix) 2011-01-29 11:05:08 +00:00
Kurt Zeilenga
966cef8c9a Happy New Year 2011-01-05 00:42:37 +00:00
Howard Chu
0b660dc9f6 ITS#6672 mutex cleanup 2010-10-13 08:43:15 +00:00
Kurt Zeilenga
3dadeb3efe happy belated New Year 2010-04-13 22:17:29 +00:00
Howard Chu
b87553684a More for prev commit 2009-08-14 20:02:08 +00:00
Howard Chu
9b764c3f9e Fix prev commit again, IPPROTO_TCP is the documented correct approach 2009-08-13 21:35:38 +00:00
Howard Chu
f5bad5673b Fix prev commit, it was not Linux-only as it claimed to be. 2009-08-13 20:55:04 +00:00
Ralf Haferkamp
5725d5d6e9 Introduce options to configure tcp-keepalive settings per connection. These
settings only work on Linux and are ignore when not supported (see
discussion on -devel)
2009-05-06 13:14:36 +00:00
Pierangelo Masarati
040f945d36 fix misc warnings 2009-02-15 21:59:16 +00:00
Howard Chu
80c6ea52ea ITS#5853 restructure wait4msg / try_read1msg again. Consolidate
the two try_read1msg cases into one, bump refcnts to prevent
lconn's from being freed prematurely.
2009-02-10 09:51:31 +00:00
Kurt Zeilenga
4af9eb9715 Update copyright notices 2009-01-22 00:40:04 +00:00
Ralf Haferkamp
af79710c4d Fixed typo 2008-12-12 10:08:07 +00:00
Hallvard Furuseth
c7002ffed5 ITS#5815: Fix typo "#elif defined( MAXHOSTNAMELEN". 2008-11-16 22:52:56 +00:00
Howard Chu
f7484f78e6 ITS#5369 SASL/GSSAPi refactoring from Stefan Metzmacher <metze@samba.org>
and Rafal Szczeniak <mimir@samba.org>, with minor cleanups
2008-10-09 10:51:28 +00:00
Howard Chu
0dbeb1d87b Pass LDAPURLDescs to connect functions instead of host/port 2008-08-15 22:53:47 +00:00
Howard Chu
baad2b249d Connect callbacks need error recovery checks 2008-08-15 10:23:29 +00:00
Howard Chu
80d1dba901 Add LDAP_OPT_CONNECT_CB connection callbacks 2008-08-14 04:54:32 +00:00
Hallvard Furuseth
1fc3f1c130 ITS#5507: Set FD_CLOEXEC (close on exec) flag on LDAP file descriptors 2008-05-15 20:56:41 +00:00
Hallvard Furuseth
c55a06254f ITS#5436: make htons() port number unsigned 2008-03-18 21:12:00 +00:00
Kurt Zeilenga
c890c96d13 Happy New Year (belated) 2008-01-08 00:19:56 +00:00
Hallvard Furuseth
5d083f3859 int -> ber_socklen_t for getsockopt() 2007-06-10 20:34:05 +00:00
Hallvard Furuseth
3750520f6f Fix HP-UX crash: Replace socklen_t with ber_socklen_t from configure. ITS#4629. 2007-06-09 23:35:20 +00:00
Howard Chu
0c542682b1 Timeouts should not be malloc'd 2007-02-05 20:32:44 +00:00
Pierangelo Masarati
5afd693a6d remove unused code 2007-02-02 12:38:32 +00:00
Howard Chu
de46a75158 Keep HAVE_POLL functionality inside its #ifdefs 2007-02-02 12:29:21 +00:00
Howard Chu
9ece06c8f5 ITS#4799 remove all references to kbind 2007-01-09 23:48:28 +00:00
Pierangelo Masarati
aa3c9bad3e First cut to truly async connect:
- after connect(2), if async the connection is in "connecting" state
	- the first time a request is sent, "connecting" conns are polled
		- in case of success, the request is sent
		- in case still connecting, LDAP_X_CONNECTING is returned;
		  clients are expected to retry later
	- the "async" behavior must be explicitly enabled by setting
	  the LDAP_OPT_CONNECT_ASYNC option

"local" connections need work
2007-01-07 19:20:46 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +00:00
Pierangelo Masarati
387c21c7dd apply slightly revised patch for SO_KEEPALIVE (ITS#4708) 2006-10-14 12:42:33 +00:00
Howard Chu
57c329a3af ITS#4606 errno is not per-thread on WIN32, always use WSAGet/SetLastError
(with notable exceptions: ignore tests for EINTR which winsock never sets)
2006-09-14 06:35:34 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Kurt Zeilenga
279033fc1c ITS#3440: (blind) fix for VxWorks inet_ntoa(3) leak,
use inet_ntoa_b(3) instead.
2005-10-14 03:40:03 +00:00
Howard Chu
fc79957ad6 Don't set ndelay on socket connect if no timeout was specified 2005-10-08 18:19:50 +00:00
Pierangelo Masarati
9129a2f7ee silence warnings 2005-09-10 18:59:35 +00:00
Pierangelo Masarati
671b02f748 more on ITS#3808 2005-06-29 12:28:40 +00:00
Howard Chu
9c0e4415d2 Omit FD_SETSIZE check for Winsock 2005-04-13 07:27:36 +00:00
Kurt Zeilenga
94a9f84895 ITS#3614: prevent overflow when using result of sysconf(_SC_OPEN_MAX) 2005-03-30 21:53:01 +00:00
Kurt Zeilenga
96854698cd ITS#3524 (partial): reinit FDSETs 2005-01-28 19:03:15 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Kurt Zeilenga
83b1ce9831 inet_addr cleanup 2004-12-31 12:02:23 +00:00
Howard Chu
fad273c224 Avoid trashing client memory when socket is greater than FD_SETSIZE 2004-11-17 20:04:18 +00:00
Howard Chu
1a198bea0f Fix typo in select call 2004-10-19 03:18:22 +00:00
Kurt Zeilenga
547ebf66c4 Move POLL_* macros to <ac/socket.h> 2004-10-18 22:08:37 +00:00
Kurt Zeilenga
1adf003977 Catch POLLERR and POLLHUP. 2004-10-18 21:56:07 +00:00
Kurt Zeilenga
8715d97409 Fix bug in last commit 2004-10-18 21:45:13 +00:00