X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fldapsync.c;h=7241f1318e862d017c624cf71ea0ad08fb269d4f;hb=9c5fe98a79afc5303a1e82a93fd759532f289d27;hp=bb2af08c80eea6f9fb319004416e9a44cc16e981;hpb=1fdda703e61fc6303c2b11e1114391ddf23dd33c;p=openldap diff --git a/servers/slapd/ldapsync.c b/servers/slapd/ldapsync.c index bb2af08c80..7241f1318e 100644 --- a/servers/slapd/ldapsync.c +++ b/servers/slapd/ldapsync.c @@ -1,27 +1,18 @@ +/* ldapsync.c -- LDAP Content Sync Routines */ /* $OpenLDAP$ */ -/* - * LDAP Content Sync Routines - */ -/* - * Copyright 2003 The OpenLDAP Foundation, All Rights Reserved. - * COPYING RESTRICTIONS APPLY, see COPYRIGHT file - */ -/* Copyright (c) 2003 by International Business Machines, Inc. +/* This work is part of OpenLDAP Software . + * + * Copyright 2003 The OpenLDAP Foundation. + * Portions Copyright 2003 IBM Corporation. + * All rights reserved. * - * International Business Machines, Inc. (hereinafter called IBM) grants - * permission under its copyrights to use, copy, modify, and distribute this - * Software with or without fee, provided that the above copyright notice and - * all paragraphs of this notice appear in all copies, and that the name of IBM - * not be used in connection with the marketing of any product incorporating - * the Software or modifications thereof, without specific, written prior - * permission. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. * - * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, - * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . */ #include "portable.h" @@ -34,8 +25,16 @@ #include "ldap_pvt.h" #include "lutil.h" #include "slap.h" +#include "../../libraries/liblber/lber-int.h" /* get ber_strndup() */ #include "lutil_ldap.h" +#if 0 +struct sync_cookie *slap_sync_cookie = NULL; +#else +struct slap_sync_cookie_s slap_sync_cookie = + LDAP_STAILQ_HEAD_INITIALIZER( slap_sync_cookie ); +#endif + int slap_build_sync_state_ctrl( Operation *op, @@ -395,8 +394,8 @@ slap_parse_sync_cookie( return -1; if (( csn_ptr = strstr( cookie->octet_str[0].bv_val, "csn=" )) != NULL ) { - csn_str = (char *) SLAP_STRNDUP( csn_ptr, LDAP_LUTIL_CSNSTR_BUFSIZE ); - if ( cval = strchr( csn_str, ',' )) { + csn_str = SLAP_STRNDUP( csn_ptr, LDAP_LUTIL_CSNSTR_BUFSIZE ); + if ( (cval = strchr( csn_str, ',' )) != NULL ) { *cval = '\0'; csn_str_len = cval - csn_str - (sizeof("csn=") - 1); } else { @@ -414,9 +413,9 @@ slap_parse_sync_cookie( } if (( sid_ptr = strstr( cookie->octet_str->bv_val, "sid=" )) != NULL ) { - sid_str = (char *) SLAP_STRNDUP( sid_ptr, + sid_str = SLAP_STRNDUP( sid_ptr, SLAP_SYNC_SID_SIZE + sizeof("sid=") - 1 ); - if ( cval = strchr( sid_str, ',' )) { + if ( (cval = strchr( sid_str, ',' )) != NULL ) { *cval = '\0'; } cookie->sid = atoi( sid_str + sizeof("sid=") - 1 ); @@ -426,9 +425,9 @@ slap_parse_sync_cookie( } if (( rid_ptr = strstr( cookie->octet_str->bv_val, "rid=" )) != NULL ) { - rid_str = (char *) SLAP_STRNDUP( rid_ptr, + rid_str = SLAP_STRNDUP( rid_ptr, SLAP_SYNC_RID_SIZE + sizeof("rid=") - 1 ); - if ( cval = strchr( rid_str, ',' )) { + if ( (cval = strchr( rid_str, ',' )) != NULL ) { *cval = '\0'; } cookie->rid = atoi( rid_str + sizeof("rid=") - 1 );