version 1.47, 2004/12/09 07:14:57
|
version 1.48, 2004/12/09 07:28:12
|
Line 1
|
Line 1
|
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.46 2004/12/08 01:05:50 hyc Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.47 2004/12/09 07:14:57 hyc Exp $ */ |
/* syncprov.c - syncrepl provider */ |
/* syncprov.c - syncrepl provider */ |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
* |
* |
Line 1514 syncprov_detach_op( Operation *op, synco
|
Line 1514 syncprov_detach_op( Operation *op, synco
|
op->o_req_ndn.bv_len + 1 + |
op->o_req_ndn.bv_len + 1 + |
op->o_ndn.bv_len + 1 + |
op->o_ndn.bv_len + 1 + |
so->s_filterstr.bv_len + 1; |
so->s_filterstr.bv_len + 1; |
op2 = (Operation *)ch_malloc( size ); |
op2 = (Operation *)ch_calloc( 1, size ); |
*op2 = *op; |
|
op2->o_hdr = (Opheader *)(op2+1); |
op2->o_hdr = (Opheader *)(op2+1); |
|
|
|
/* Copy the fields we care about explicitly, leave the rest alone */ |
*op2->o_hdr = *op->o_hdr; |
*op2->o_hdr = *op->o_hdr; |
|
op2->o_tag = op->o_tag; |
|
op2->o_time = op->o_time; |
|
op2->o_bd = op->o_bd; |
|
op2->o_request = op->o_request; |
|
|
if ( i ) { |
if ( i ) { |
op2->ors_attrs = (AttributeName *)(op2->o_hdr + 1); |
op2->ors_attrs = (AttributeName *)(op2->o_hdr + 1); |
ptr = (char *)(op2->ors_attrs+i+1); |
ptr = (char *)(op2->ors_attrs+i+1); |
Line 1541 syncprov_detach_op( Operation *op, synco
|
Line 1547 syncprov_detach_op( Operation *op, synco
|
strcpy( ptr, so->s_filterstr.bv_val ); |
strcpy( ptr, so->s_filterstr.bv_val ); |
op2->ors_filterstr.bv_len = so->s_filterstr.bv_len; |
op2->ors_filterstr.bv_len = so->s_filterstr.bv_len; |
op2->ors_filter = str2filter( ptr ); |
op2->ors_filter = str2filter( ptr ); |
op2->o_controls = NULL; |
|
op2->o_callback = NULL; |
|
so->s_op = op2; |
so->s_op = op2; |
|
|
/* Copy any cached group ACLs individually */ |
/* Copy any cached group ACLs individually */ |