]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-sock/result.c
Add overlay config stuff, handle overlay responses
[openldap] / servers / slapd / back-sock / result.c
index 63cdc9be36afd865109e1d9c047ac9e1f0284d13..07df15cced4226cefec456cf5cf69cb20f3cd5bf 100644 (file)
@@ -91,6 +91,13 @@ sock_read_and_send_results(
                        if ( strncasecmp( buf, "RESULT", 6 ) == 0 ) {
                                break;
                        }
+                       if ( strncasecmp( buf, "CONTINUE", 8 ) == 0 ) {
+                               struct sockinfo *si = (struct sockinfo *) op->o_bd->be_private;
+                               /* Only valid when operating as an overlay! */
+                               assert( si->si_ops != 0 );
+                               rs->sr_err = SLAP_CB_CONTINUE;
+                               goto skip;
+                       }
 
                        if ( (rs->sr_entry = str2entry( buf )) == NULL ) {
                                Debug( LDAP_DEBUG_ANY, "str2entry(%s) failed\n",
@@ -113,7 +120,8 @@ sock_read_and_send_results(
                send_ldap_result( op, rs );
        }
 
-       free( buf );
+skip:
+       ch_free( buf );
 
        return( rs->sr_err );
 }