mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-20 22:59:34 -05:00
add very preliminary support for <draft-sermersheim-ldap-distproc>
This commit is contained in:
parent
26a83119fd
commit
4fe032e9be
6 changed files with 1050 additions and 9 deletions
|
|
@ -297,10 +297,10 @@ typedef struct ldapcontrol {
|
|||
/* LDAP Persistent Search Control *//* not implemented in slapd(8) */
|
||||
#define LDAP_CONTROL_PERSIST_REQUEST "2.16.840.1.113730.3.4.3"
|
||||
#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_NOTICE "2.16.840.1.113730.3.4.7"
|
||||
#define LDAP_CONTROL_PERSSIT_ENTRY_CHANGE_ADD 0x1
|
||||
#define LDAP_CONTROL_PERSSIT_ENTRY_CHANGE_DELETE 0x2
|
||||
#define LDAP_CONTROL_PERSSIT_ENTRY_CHANGE_MODIFY 0x4
|
||||
#define LDAP_CONTROL_PERSSIT_ENTRY_CHANGE_RENAME 0x8
|
||||
#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_ADD 0x1
|
||||
#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_DELETE 0x2
|
||||
#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_MODIFY 0x4
|
||||
#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_RENAME 0x8
|
||||
|
||||
/* LDAP VLV *//* not implemented in slapd(8) */
|
||||
#define LDAP_CONTROL_VLVREQUEST "2.16.840.1.113730.3.4.9"
|
||||
|
|
@ -345,6 +345,25 @@ typedef struct ldapcontrol {
|
|||
#define LDAP_GROUP_TRANSACTION "1.3.6.1.4.1.4203.666.10.4"
|
||||
#endif
|
||||
|
||||
/* LDAP Distributed Procedures <draft-sermersheim-ldap-distproc> */
|
||||
/* a work in progress */
|
||||
#ifdef LDAP_DEVEL
|
||||
/* FIXME: allocate an OID arc under OpenLDAP experimental arc */
|
||||
#define LDAP_X_DISTPROC_BASE "1.3.6.1.4.1.4203.666.999999"
|
||||
#define LDAP_EXOP_X_CHAINEDREQUEST LDAP_X_DISTPROC_BASE ".1"
|
||||
#define LDAP_FEATURE_X_CANCHAINOPS LDAP_X_DISTPROC_BASE ".2"
|
||||
#define LDAP_CONTROL_X_RETURNCONTREF LDAP_X_DISTPROC_BASE ".3"
|
||||
#define LDAP_URLEXT_X_LOCALREFOID LDAP_X_DISTPROC_BASE ".4"
|
||||
#define LDAP_URLEXT_X_REFTYPEOID LDAP_X_DISTPROC_BASE ".5"
|
||||
#define LDAP_URLEXT_X_SEARCHEDSUBTREEOID \
|
||||
LDAP_X_DISTPROC_BASE ".6"
|
||||
#define LDAP_URLEXT_X_FAILEDNAMEOID LDAP_X_DISTPROC_BASE ".7"
|
||||
#define LDAP_URLEXT_X_LOCALREF "x-localReference"
|
||||
#define LDAP_URLEXT_X_REFTYPE "x-referenceType"
|
||||
#define LDAP_URLEXT_X_SEARCHEDSUBTREE "x-searchedSubtree"
|
||||
#define LDAP_URLEXT_X_FAILEDNAME "x-failedName"
|
||||
#endif
|
||||
|
||||
/* LDAP Features */
|
||||
#define LDAP_FEATURE_ALL_OP_ATTRS "1.3.6.1.4.1.4203.1.5.1" /* RFC 3673 */
|
||||
#define LDAP_FEATURE_OBJECTCLASS_ATTRS \
|
||||
|
|
@ -596,9 +615,13 @@ typedef struct ldapcontrol {
|
|||
* see <draft-sermersheim-ldap-chaining> ) */
|
||||
#ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR
|
||||
#define LDAP_X_NO_REFERRALS_FOUND 0x4110
|
||||
#define LDAP_X_CANNOT_CHAIN 0x4111
|
||||
#define LDAP_X_CANNOT_CHAIN 0x4111
|
||||
#endif
|
||||
|
||||
/* for Distributed Procedures (see <draft-sermersheim-ldap-distproc>) */
|
||||
#ifdef LDAP_X_DISTPROC_BASE
|
||||
#define LDAP_X_INVALIDREFERENCE 0x4112
|
||||
#endif
|
||||
|
||||
/* API Error Codes
|
||||
*
|
||||
|
|
|
|||
|
|
@ -14,9 +14,11 @@
|
|||
## <http://www.OpenLDAP.org/license.html>.
|
||||
|
||||
SRCS = init.c config.c search.c bind.c unbind.c add.c compare.c \
|
||||
delete.c modify.c modrdn.c extended.c chain.c
|
||||
delete.c modify.c modrdn.c extended.c chain.c \
|
||||
distproc.c
|
||||
OBJS = init.lo config.lo search.lo bind.lo unbind.lo add.lo compare.lo \
|
||||
delete.lo modify.lo modrdn.lo extended.lo chain.lo
|
||||
delete.lo modify.lo modrdn.lo extended.lo chain.lo \
|
||||
distproc.lo
|
||||
|
||||
LDAP_INCDIR= ../../../include
|
||||
LDAP_LIBDIR= ../../../libraries
|
||||
|
|
|
|||
|
|
@ -1762,7 +1762,7 @@ ldap_chain_parse_ctrl(
|
|||
static slap_overinst ldapchain;
|
||||
|
||||
int
|
||||
chain_init( void )
|
||||
chain_initialize( void )
|
||||
{
|
||||
int rc;
|
||||
|
||||
|
|
|
|||
1007
servers/slapd/back-ldap/distproc.c
Normal file
1007
servers/slapd/back-ldap/distproc.c
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -74,6 +74,12 @@ ldap_back_initialize( BackendInfo *bi )
|
|||
return -1;
|
||||
}
|
||||
|
||||
#ifdef LDAP_DEVEL
|
||||
if ( distproc_initialize() ) {
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
return ldap_back_init_cf( bi );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,10 @@ ldap_back_proxy_authz_ctrl_free(
|
|||
Operation *op,
|
||||
LDAPControl ***pctrls );
|
||||
|
||||
extern int chain_init( void );
|
||||
extern int chain_initialize( void );
|
||||
#ifdef LDAP_DEVEL
|
||||
extern int distproc_initialize( void );
|
||||
#endif
|
||||
|
||||
extern LDAP_REBIND_PROC *ldap_back_rebind_f;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue