]> git.sur5r.net Git - openldap/commitdiff
We were not remembering the allocated SSL thing in the Sockbuf.
authorJulio Sánchez Fernández <jsanchez@openldap.org>
Fri, 16 Jul 1999 15:46:15 +0000 (15:46 +0000)
committerJulio Sánchez Fernández <jsanchez@openldap.org>
Fri, 16 Jul 1999 15:46:15 +0000 (15:46 +0000)
Set flags without relying on errno (this change may be gratuitous
or wrong).

libraries/libldap/tls.c

index d92784e000d1f572177f6c56f11a2d7c9d92a2dc..5ee0d0cf6a4b027544b4052e5bd5959e114e9076 100644 (file)
@@ -211,6 +211,7 @@ alloc_handle( Sockbuf *sb, void *ctx_arg )
                return NULL;
        }
 
+       sb->sb_iodata = ssl;
        SSL_set_fd( ssl, ber_pvt_sb_get_desc( sb ) );
        return ssl;
 }
@@ -296,14 +297,7 @@ ldap_pvt_tls_accept( Sockbuf *sb, void *ctx_arg )
        err = SSL_accept( ssl );
 
        if ( err <= 0 ) {
-               if (
-#ifdef EWOULDBLOCK
-                   (errno==EWOULDBLOCK) ||
-#endif
-#ifdef EAGAIN
-                   (errno==EAGAIN) ||
-#endif
-                   (0)) {
+               if ( !SSL_want_nothing( ssl ) ) {
                        update_flags( sb, ssl );
                        return 1;
                }