diff options
Diffstat (limited to 'source4/ldap_server/ldap_server.h')
-rw-r--r-- | source4/ldap_server/ldap_server.h | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/source4/ldap_server/ldap_server.h b/source4/ldap_server/ldap_server.h index efa802d173..6f8b433a1c 100644 --- a/source4/ldap_server/ldap_server.h +++ b/source4/ldap_server/ldap_server.h @@ -18,9 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "libcli/ldap/ldap.h" +#include "libcli/ldap/libcli_ldap.h" #include "lib/socket/socket.h" #include "lib/stream/packet.h" +#include "system/network.h" struct ldapsrv_connection { struct loadparm_context *lp_ctx; @@ -32,24 +33,26 @@ struct ldapsrv_connection { struct ldb_context *ldb; struct { - struct socket_context *raw; - struct socket_context *tls; - struct socket_context *sasl; + struct tevent_queue *send_queue; + struct tstream_context *raw; + struct tstream_context *tls; + struct tstream_context *sasl; + struct tstream_context *active; } sockets; bool global_catalog; - - struct packet_context *packet; + bool is_privileged; struct { int initial_timeout; int conn_idle_time; int max_page_size; int search_timeout; - - struct tevent_timer *ite; - struct tevent_timer *te; + struct timeval endtime; + const char *reason; } limits; + + struct tevent_req *active_call; }; struct ldapsrv_call { @@ -59,13 +62,19 @@ struct ldapsrv_call { struct ldapsrv_reply *prev, *next; struct ldap_message *msg; } *replies; - packet_send_callback_fn_t send_callback; - void *send_private; + struct iovec out_iov; + + struct tevent_req *(*postprocess_send)(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + void *private_data); + NTSTATUS (*postprocess_recv)(struct tevent_req *req); + void *postprocess_private; }; struct ldapsrv_service { - struct tls_params *tls_params; + struct tstream_tls_params *tls_params; struct task_server *task; + struct tevent_queue *call_queue; }; #include "ldap_server/proto.h" |