X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Fopen.c;h=486f62b8c4e8530e420dc92f80ada35e471549fb;hb=7887ef7e92a4b91d20814242322dfc33d3ebb0ee;hp=a634cce5a79d1ab6cc870c25fb9c5890209e11b6;hpb=e80b5d4040da74165f60e6a7f78f8fc9e4ee6500;p=openldap diff --git a/libraries/libldap/open.c b/libraries/libldap/open.c index a634cce5a7..486f62b8c4 100644 --- a/libraries/libldap/open.c +++ b/libraries/libldap/open.c @@ -1,6 +1,6 @@ /* $OpenLDAP$ */ /* - * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ /* Portions @@ -92,47 +92,13 @@ ldap_create( LDAP **ldp ) /* Initialize the global options, if not already done. */ if( gopts->ldo_valid != LDAP_INITIALIZED ) { ldap_int_initialize(gopts, NULL); + if ( gopts->ldo_valid != LDAP_INITIALIZED ) + return LDAP_LOCAL_ERROR; } Debug( LDAP_DEBUG_TRACE, "ldap_create\n", 0, 0, 0 ); -#ifdef HAVE_WINSOCK2 -{ WORD wVersionRequested; - WSADATA wsaData; - - wVersionRequested = MAKEWORD( 2, 0 ); - if ( WSAStartup( wVersionRequested, &wsaData ) != 0 ) { - /* Tell the user that we couldn't find a usable */ - /* WinSock DLL. */ - return LDAP_LOCAL_ERROR; - } - - /* Confirm that the WinSock DLL supports 2.0.*/ - /* Note that if the DLL supports versions greater */ - /* than 2.0 in addition to 2.0, it will still return */ - /* 2.0 in wVersion since that is the version we */ - /* requested. */ - - if ( LOBYTE( wsaData.wVersion ) != 2 || - HIBYTE( wsaData.wVersion ) != 0 ) - { - /* Tell the user that we couldn't find a usable */ - /* WinSock DLL. */ - WSACleanup( ); - return LDAP_LOCAL_ERROR; - } -} /* The WinSock DLL is acceptable. Proceed. */ - -#elif HAVE_WINSOCK -{ WSADATA wsaData; - if ( WSAStartup( 0x0101, &wsaData ) != 0 ) { - return LDAP_LOCAL_ERROR; - } -} -#endif - if ( (ld = (LDAP *) LDAP_CALLOC( 1, sizeof(LDAP) )) == NULL ) { - WSACleanup( ); return( LDAP_NO_MEMORY ); } @@ -160,14 +126,12 @@ ldap_create( LDAP **ldp ) if ( ld->ld_options.ldo_defludp == NULL ) { LDAP_FREE( (char*)ld ); - WSACleanup( ); return LDAP_NO_MEMORY; } if (( ld->ld_selectinfo = ldap_new_select_info()) == NULL ) { ldap_free_urllist( ld->ld_options.ldo_defludp ); LDAP_FREE( (char*) ld ); - WSACleanup( ); return LDAP_NO_MEMORY; } @@ -177,7 +141,6 @@ ldap_create( LDAP **ldp ) if ( ld->ld_sb == NULL ) { ldap_free_urllist( ld->ld_options.ldo_defludp ); LDAP_FREE( (char*) ld ); - WSACleanup( ); return LDAP_NO_MEMORY; } @@ -266,7 +229,7 @@ ldap_int_open_connection( switch ( proto = ldap_pvt_url_scheme2proto( srv->lud_scheme ) ) { case LDAP_PROTO_TCP: - port = htons( (short) srv->lud_port ); + port = srv->lud_port; addr = 0; if ( srv->lud_host == NULL || *srv->lud_host == 0 ) { @@ -294,7 +257,7 @@ ldap_int_open_connection( break; #ifdef LDAP_CONNECTIONLESS case LDAP_PROTO_UDP: - port = htons( (short) srv->lud_port ); + port = srv->lud_port; addr = 0; if ( srv->lud_host == NULL || *srv->lud_host == 0 ) { @@ -358,6 +321,7 @@ ldap_int_open_connection( that SASL EXTERNAL might be used */ if( sasl_host != NULL ) { ldap_int_sasl_open( ld, conn, sasl_host, sasl_ssf ); + LDAP_FREE( sasl_host ); } #endif