libcli/cldap: pass tevent_context to cldap_set_incoming_handler()
authorStefan Metzmacher <metze@samba.org>
Mon, 10 Oct 2011 13:38:22 +0000 (15:38 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 15 Nov 2012 08:15:16 +0000 (09:15 +0100)
metze
(cherry picked from commit 3ed85d7c69f9b68a709572ab221b9da1c17a146e)

libcli/cldap/cldap.c
libcli/cldap/cldap.h
source4/cldap_server/cldap_server.c

index aa34a6d6cf4a25f4b576b14401867394e597a7e1..7a571c9ce8fa44c2ab70b10087cacd2de885e3ef 100644 (file)
@@ -86,6 +86,7 @@ struct cldap_socket {
 
        /* what to do with incoming request packets */
        struct {
+               struct tevent_context *ev;
                void (*handler)(struct cldap_socket *,
                                void *private_data,
                                struct cldap_incoming *);
@@ -405,6 +406,7 @@ nterror:
   setup a handler for incoming requests
 */
 NTSTATUS cldap_set_incoming_handler(struct cldap_socket *c,
+                                   struct tevent_context *ev,
                                    void (*handler)(struct cldap_socket *,
                                                    void *private_data,
                                                    struct cldap_incoming *),
@@ -418,7 +420,7 @@ NTSTATUS cldap_set_incoming_handler(struct cldap_socket *c,
        if (c->event.allow_poll) {
                return NT_STATUS_INVALID_PIPE_STATE;
        }
-
+       c->incoming.ev = ev;
        c->incoming.handler = handler;
        c->incoming.private_data = private_data;
 
index d1197481fb5fb74e7f493b31e876622d762a2d6c..0098da521a7b8e30306d7a0604bee6aad4162dc1 100644 (file)
@@ -58,6 +58,7 @@ NTSTATUS cldap_socket_init(TALLOC_CTX *mem_ctx,
                           struct cldap_socket **_cldap);
 
 NTSTATUS cldap_set_incoming_handler(struct cldap_socket *cldap,
+                                   struct tevent_context *ev,
                                    void (*handler)(struct cldap_socket *,
                                                    void *private_data,
                                                    struct cldap_incoming *),
index 5dbf9c99be85d00257d2f92f9c612f2cc0bf6f66..d21958b72ce50294d0c50390a9e258e921561490 100644 (file)
@@ -136,7 +136,8 @@ static NTSTATUS cldapd_add_socket(struct cldapd_server *cldapd, struct loadparm_
        }
        talloc_free(socket_address);
 
-       cldap_set_incoming_handler(cldapsock, cldapd_request_handler, cldapd);
+       cldap_set_incoming_handler(cldapsock, cldapd->task->event_ctx,
+                                  cldapd_request_handler, cldapd);
 
        return NT_STATUS_OK;
 }