[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#4067) libldap should tell the caller if the server is down
Your patch is for code that uses UDP, which (unlike TCP) does not
provide "Server Down" indications. This patch makes no sense.
mike.patnode@centrify.com wrote:
> Full_Name: Mike Patnode
> Version: 2.2.26
> OS: RedHat
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (63.199.144.29)
>
>
> If we can't open the connection, return LDAP_SERVER_DOWN, rather than continuing
> on...
>
> --- openldap-2.2.26/libraries/libldap/abandon.c.old Wed Oct 05 17:56:14 2005
> +++ openldap-2.2.26/libraries/libldap/abandon.c Wed Oct 05 16:46:37 2005
> @@ -195,7 +195,16 @@
> #ifdef LDAP_CONNECTIONLESS
> if ( LDAP_IS_UDP(ld) ) {
> if (ld->ld_options.ldo_peer == NULL)
> - ldap_open_defconn(ld);
> + {
> + err = ldap_open_defconn(ld);
> + if (err == -1)
> + {
> + ber_free( ber, 1 );
> + ld->ld_errno = LDAP_SERVER_DOWN;
> + return LDAP_SERVER_DOWN;
> + }
> + }
> +
> err = ber_write( ber, ld->ld_options.ldo_peer,
> sizeof(struct sockaddr), 0);
> }
> --- openldap-2.2.26/libraries/libldap/search.c.old Wed Oct 05 17:56:15 2005
> +++ openldap-2.2.26/libraries/libldap/search.c Wed Oct 05 16:07:37 2005
> @@ -262,7 +262,14 @@
> #ifdef LDAP_CONNECTIONLESS
> if ( LDAP_IS_UDP(ld) ) {
> if (ld->ld_options.ldo_peer == NULL)
> - ldap_open_defconn( ld );
> + {
> + err = ldap_open_defconn( ld );
> + if (err == -1)
> + {
> + ber_free( ber, 1 );
> + return( NULL );
> + }
> + }
> err = ber_write( ber, ld->ld_options.ldo_peer,
> sizeof(struct sockaddr), 0);
> }
>
>
>
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/