X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fconnection.c;h=aeed4237b8da68fc7fdef23307db4d29c1b00e7c;hb=014ba5ac80497d02b83514f30dabe3824e9facdc;hp=8d626aee5697553fea8b7eda9c427cfb1878aa0b;hpb=956f1d16aa522da6f6506d9c8fe9ce0d9867678a;p=openldap diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index 8d626aee56..aeed4237b8 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -635,22 +635,6 @@ connection_destroy( Connection *c ) } c->c_peer_domain.bv_len = 0; if(c->c_peer_name.bv_val != NULL) { -#ifdef LDAP_PF_LOCAL - /* - * If peer was a domain socket, unlink. Mind you, - * they may be un-named. Should we leave this to - * the client? - */ - if (strncmp(c->c_peer_name.bv_val, "PATH=", - sizeof("PATH=") - 1) == 0) { - char *path = c->c_peer_name.bv_val - + sizeof("PATH=") - 1; - if (path[0] != '\0') { - (void)unlink(path); - } - } -#endif /* LDAP_PF_LOCAL */ - free(c->c_peer_name.bv_val); c->c_peer_name.bv_val = NULL; } @@ -1041,7 +1025,12 @@ operations_error: LDAP_STAILQ_REMOVE( &conn->c_ops, arg->co_op, slap_op, o_next); LDAP_STAILQ_NEXT(arg->co_op, o_next) = NULL; - slap_op_free( arg->co_op ); +#ifdef LDAP_CLIENT_UPDATE + if ( !( arg->co_op->o_clientupdate_type & SLAP_LCUP_PERSIST ) ) +#endif /* LDAP_CLIENT_UPDATE */ + { + slap_op_free( arg->co_op ); + } arg->co_op = NULL; arg->co_conn = NULL; free( (char *) arg );