Commit 01ff17c0 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

ITS#2708 keepalive patch

parent 0d747e01
...@@ -2,6 +2,7 @@ OpenLDAP 2.3 Change Log ...@@ -2,6 +2,7 @@ OpenLDAP 2.3 Change Log
OpenLDAP 2.3.28 Release OpenLDAP 2.3.28 Release
Fixed libldap ldap.conf max line length (ITS#4669) Fixed libldap ldap.conf max line length (ITS#4669)
Fixed libldap use keepalive for syncrepl (ITS#4708)
Fixed liblutil LDIF CR/LF parsing bug (ITS#4635) Fixed liblutil LDIF CR/LF parsing bug (ITS#4635)
Fixed librewrite LDAP map parsing bug Fixed librewrite LDAP map parsing bug
Fixed librewrite map double free bug Fixed librewrite map double free bug
......
...@@ -123,20 +123,31 @@ ldap_pvt_close_socket(LDAP *ld, int s) ...@@ -123,20 +123,31 @@ ldap_pvt_close_socket(LDAP *ld, int s)
static int static int
ldap_int_prepare_socket(LDAP *ld, int s, int proto ) ldap_int_prepare_socket(LDAP *ld, int s, int proto )
{ {
osip_debug(ld, "ldap_prepare_socket: %d\n", s,0,0); osip_debug( ld, "ldap_prepare_socket: %d\n", s, 0, 0 );
#ifdef TCP_NODELAY #if defined( SO_KEEPALIVE ) || defined( TCP_NODELAY )
if( proto == LDAP_PROTO_TCP ) { if ( proto == LDAP_PROTO_TCP ) {
int dummy = 1; int dummy = 1;
#ifdef SO_KEEPALIVE
if ( setsockopt( s, SOL_SOCKET, SO_KEEPALIVE,
(char*) &dummy, sizeof(dummy) ) == AC_SOCKET_ERROR )
{
osip_debug( ld, "ldap_prepare_socket: "
"setsockopt(%d, SO_KEEPALIVE) failed (ignored).\n",
s, 0, 0 );
}
#endif /* SO_KEEPALIVE */
#ifdef TCP_NODELAY
if ( setsockopt( s, IPPROTO_TCP, TCP_NODELAY, if ( setsockopt( s, IPPROTO_TCP, TCP_NODELAY,
(char*) &dummy, sizeof(dummy) ) == AC_SOCKET_ERROR ) (char*) &dummy, sizeof(dummy) ) == AC_SOCKET_ERROR )
{ {
osip_debug(ld, "ldap_prepare_socket: " osip_debug( ld, "ldap_prepare_socket: "
"setsockopt(%d, TCP_NODELAY) failed (ignored).\n", "setsockopt(%d, TCP_NODELAY) failed (ignored).\n",
s, 0, 0); s, 0, 0 );
} }
#endif /* TCP_NODELAY */
} }
#endif #endif /* SO_KEEPALIVE || TCP_NODELAY */
return 0; return 0;
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment