From 6ad5996ef5e346d042da12874485c16b89536fc2 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 22 Sep 2004 13:01:00 +0000 Subject: r2523: - readd rootDSE reply - add infrastructure start for having multiple directory partitions (backends) metze (This used to be commit 5103e7fe7873c0309461ad471f0529223d7c38eb) --- source4/ldap_server/ldap_server.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'source4/ldap_server/ldap_server.h') diff --git a/source4/ldap_server/ldap_server.h b/source4/ldap_server/ldap_server.h index 65b355514c..960ab519bc 100644 --- a/source4/ldap_server/ldap_server.h +++ b/source4/ldap_server/ldap_server.h @@ -54,6 +54,8 @@ struct ldapsrv_call { } *replies; }; +struct ldapsrv_service; + struct ldapsrv_connection { struct server_connection *connection; @@ -64,4 +66,36 @@ struct ldapsrv_connection { struct rw_buffer out_buffer; struct ldapsrv_call *calls; + + struct ldapsrv_service *service; +}; + +struct ldapsrv_partition; + +struct ldapsrv_partition_ops { + NTSTATUS (*Bind)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_BindRequest *r); + NTSTATUS (*Unbind)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_UnbindRequest *r); + NTSTATUS (*Search)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_SearchRequest *r); + NTSTATUS (*Modify)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_ModifyRequest *r); + NTSTATUS (*Add)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_AddRequest *r); + NTSTATUS (*Del)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_DelRequest *r); + NTSTATUS (*ModifyDN)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_ModifyDNRequest *r); + NTSTATUS (*Compare)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_CompareRequest *r); + NTSTATUS (*Abandon)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_AbandonRequest *r); + NTSTATUS (*Extended)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_ExtendedRequest *r); +}; + +struct ldapsrv_partition { + struct ldapsrv_partition *prev,*next; + + void *private_data; + const struct ldapsrv_partition_ops *ops; + + const char *base_dn; +}; + +struct ldapsrv_service { + struct ldapsrv_partition *rootDSE; + struct ldapsrv_partition *default_partition; + struct ldapsrv_partition *partitions; }; -- cgit