mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-05 06:31:11 -05:00
new slapadd options
-p : promote : If the ldif file contains syncConsumerSubentries, convert
them to a single syncProviderSubentry. Its contextCSN
attribute has the largest value of the syncreplCookie
attributes of the syncConsumerSubentries.
syncProviderSubentry in the ldif file is retained.
-p -w : promote : Recalculate contextCSN based on entryCSN of each entry.
create Existing syncConsumerSubentries and syncProviderSubentry
are ignored and not added to the directory.
-r : demote : If the ldif file contains syncProviderSubentry, convert it
to a syncConsumerSubentry having the default syncrepl id
of 0. syncConsumerSubentries in the ldif file are retained.
-r -w : demote : Recalculate syncreplCookie based on entryCSN of each entry.
create Existing syncConsumerSubentries and syncProviderSubentry
are ignored and not added to the directory. The default
syncrepl id of 0 will be used for the new
syncConsumerSubentry.
-r -w -i %d[,%d]* : Using the comma separated list followed by the -i option,
it is possible to create multiple syncConsumerSubentries
having the syncrepl ids specified in the list.
syncreplCookie values of these sycnConsumerSubentries
will have the same value, either from the maximum
entryCSN value or from the contextCSN value of the
syncProviderSubentry.
264 lines
3.8 KiB
C
264 lines
3.8 KiB
C
/* $OpenLDAP$ */
|
|
/*
|
|
* Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
|
|
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file
|
|
*/
|
|
/*
|
|
* Mimic unused interfaces of slapd...
|
|
* needed for linking.
|
|
*/
|
|
#include "portable.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "../slap.h"
|
|
|
|
#include "ldap_rq.h"
|
|
|
|
/* needed by WIN32 and back-monitor */
|
|
time_t starttime;
|
|
|
|
/* because Versionstr is used in back-monitor */
|
|
const char Versionstr[] = "";
|
|
|
|
/* bogus ../results.c */
|
|
int str2result(
|
|
char* s,
|
|
int *code,
|
|
char **matched,
|
|
char **info )
|
|
{
|
|
assert(0);
|
|
return 0;
|
|
}
|
|
|
|
void
|
|
send_ldap_disconnect( Operation *op, SlapReply *rs )
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
void
|
|
slap_send_ldap_extended(
|
|
Operation *op, SlapReply *rs
|
|
)
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
void
|
|
slap_send_ldap_intermediate_resp(
|
|
Operation *op, SlapReply *rs
|
|
)
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
void
|
|
send_ldap_sasl( Operation *op, SlapReply *rs )
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
void
|
|
slap_send_ldap_result( Operation *op, SlapReply *rs )
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
int
|
|
slap_send_search_entry( Operation *op, SlapReply *rs )
|
|
{
|
|
assert(0);
|
|
return -1;
|
|
}
|
|
|
|
int
|
|
slap_send_search_reference( Operation *op, SlapReply *rs )
|
|
{
|
|
assert(0);
|
|
return -1;
|
|
}
|
|
|
|
int slap_read_controls(
|
|
Operation *op,
|
|
SlapReply *rs,
|
|
Entry *e,
|
|
const struct berval *oid,
|
|
LDAPControl **c )
|
|
{
|
|
assert(0);
|
|
return -1;
|
|
}
|
|
|
|
int slap_sasl_init(void)
|
|
{
|
|
return LDAP_SUCCESS;
|
|
}
|
|
|
|
int slap_sasl_destroy(void)
|
|
{
|
|
return LDAP_SUCCESS;
|
|
}
|
|
|
|
int slap_sasl_setpass( Operation *op, SlapReply *rs )
|
|
{
|
|
return LDAP_SUCCESS;
|
|
}
|
|
|
|
int slap_sasl_config(
|
|
int cargc,
|
|
char **cargv,
|
|
char *line,
|
|
const char *fname,
|
|
int lineno )
|
|
{
|
|
return LDAP_SUCCESS;
|
|
}
|
|
|
|
|
|
void connection2anonymous( Connection *c )
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
Connection * connection_first( ber_socket_t *b )
|
|
{
|
|
assert(0);
|
|
return NULL;
|
|
}
|
|
|
|
Connection * connection_next( Connection *c, ber_socket_t *b )
|
|
{
|
|
assert(0);
|
|
return NULL;
|
|
}
|
|
|
|
unsigned long connections_nextid(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void connection_done( Connection *c )
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
const char * connection_state2str( int state )
|
|
{
|
|
assert(0);
|
|
return NULL;
|
|
}
|
|
|
|
void replog( Operation *op )
|
|
{
|
|
assert(0);
|
|
}
|
|
|
|
int add_replica_info( Backend *be, const char *host )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int add_replica_suffix( Backend *be, int nr, const char *suffix )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int add_replica_attrs( Backend *be, int nr, char *attrs, int exclude )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int parse_limits( Backend *be, const char *fname, int lineno, int argc, char **argv )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int parse_limit( const char *arg, struct slap_limits_set *limit )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int get_limits( Backend *be, struct berval *ndn, struct slap_limits_set **limit )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int read_root_dse_file ( const char *file )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
Attribute *
|
|
slap_operational_subschemaSubentry( Backend *be )
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
Attribute *
|
|
slap_operational_hasSubordinate( int hs )
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
Listener **
|
|
slapd_get_listeners(void)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
int
|
|
slap_modrdn2mods(
|
|
Operation *op, SlapReply *rs,
|
|
Entry *e,
|
|
LDAPRDN oldrdn,
|
|
LDAPRDN newrdn,
|
|
Modifications **pmod )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int slap_sasl_getdn( Connection *conn, Operation *op, char *id, int len,
|
|
char *user_realm, struct berval *dn, int flags )
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
int slap_sasl_authorized( Operation *op,
|
|
struct berval *authcDN, struct berval *authzDN )
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
int root_dse_info( Connection *conn, Entry **entry, const char **text )
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
int slap_entry2mods( Entry *e, Modifications **mods, const char **text )
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
volatile sig_atomic_t slapd_abrupt_shutdown;
|
|
|
|
int slap_mods_check( Modifications *ml, int update, const char **text,
|
|
char *textbuf, size_t textlen, void *ctx )
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
int slap_mods2entry( Modifications *mods, Entry **e, int repl_user,
|
|
int dup, const char **text, char *textbuf, size_t textlen )
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
int slap_mods_opattrs( Operation *op, Modifications *mods,
|
|
Modifications **modtail, const char **text,
|
|
char *textbuf, size_t textlen )
|
|
{
|
|
return -1;
|
|
}
|
|
|