s3:smbd: pass smbXsrv_connection to smbd_register_ips()
authorStefan Metzmacher <metze@samba.org>
Wed, 11 Jun 2014 01:06:00 +0000 (03:06 +0200)
committerMichael Adam <obnox@samba.org>
Wed, 6 Aug 2014 07:51:12 +0000 (09:51 +0200)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/smbd/process.c

index d249898f2819f72c71057b516872d3aec3630132..b8baa42f032ab714eae00ee90d40be3ab7affe22 100644 (file)
@@ -2575,7 +2575,7 @@ static void smbd_server_echo_handler(struct tevent_context *ev,
 }
 
 struct smbd_release_ip_state {
-       struct smbd_server_connection *sconn;
+       struct smbXsrv_connection *xconn;
        struct tevent_immediate *im;
        char addr[INET6_ADDRSTRLEN];
 };
@@ -2587,7 +2587,8 @@ static void smbd_release_ip_immediate(struct tevent_context *ctx,
        struct smbd_release_ip_state *state =
                talloc_get_type_abort(private_data,
                struct smbd_release_ip_state);
-       struct smbXsrv_connection *xconn = state->sconn->conn;
+       struct smbXsrv_connection *xconn = state->xconn;
+       struct smbd_server_connection *sconn = xconn->sconn;
 
        if (!NT_STATUS_EQUAL(xconn->transport.status, NT_STATUS_ADDRESS_CLOSED)) {
                /*
@@ -2596,7 +2597,7 @@ static void smbd_release_ip_immediate(struct tevent_context *ctx,
                return;
        }
 
-       smbd_server_connection_terminate(state->sconn, "CTDB_SRVID_RELEASE_IP");
+       smbd_server_connection_terminate(sconn, "CTDB_SRVID_RELEASE_IP");
 }
 
 /****************************************************************************
@@ -2607,7 +2608,7 @@ static bool release_ip(const char *ip, void *priv)
        struct smbd_release_ip_state *state =
                talloc_get_type_abort(priv,
                struct smbd_release_ip_state);
-       struct smbXsrv_connection *xconn = state->sconn->conn;
+       struct smbXsrv_connection *xconn = state->xconn;
        const char *addr = state->addr;
        const char *p = addr;
 
@@ -2647,7 +2648,7 @@ static bool release_ip(const char *ip, void *priv)
                 * as we might be called from within ctdbd_migrate(),
                 * we need to defer our action to the next event loop
                 */
-               tevent_schedule_immediate(state->im, state->sconn->ev_ctx,
+               tevent_schedule_immediate(state->im, xconn->ev_ctx,
                                          smbd_release_ip_immediate, state);
 
                /*
@@ -2660,7 +2661,7 @@ static bool release_ip(const char *ip, void *priv)
        return false;
 }
 
-static NTSTATUS smbd_register_ips(struct smbd_server_connection *sconn,
+static NTSTATUS smbd_register_ips(struct smbXsrv_connection *xconn,
                                  struct sockaddr_storage *srv,
                                  struct sockaddr_storage *clnt)
 {
@@ -2672,11 +2673,11 @@ static NTSTATUS smbd_register_ips(struct smbd_server_connection *sconn,
                return NT_STATUS_NO_MEMORY;
        }
 
-       state = talloc_zero(sconn, struct smbd_release_ip_state);
+       state = talloc_zero(xconn, struct smbd_release_ip_state);
        if (state == NULL) {
                return NT_STATUS_NO_MEMORY;
        }
-       state->sconn = sconn;
+       state->xconn = xconn;
        state->im = tevent_create_immediate(state);
        if (state->im == NULL) {
                return NT_STATUS_NO_MEMORY;
@@ -3832,7 +3833,7 @@ void smbd_process(struct tevent_context *ev_ctx,
                 */
                NTSTATUS status;
 
-               status = smbd_register_ips(sconn, &ss_srv, &ss_clnt);
+               status = smbd_register_ips(xconn, &ss_srv, &ss_clnt);
                if (!NT_STATUS_IS_OK(status)) {
                        DEBUG(0, ("ctdbd_register_ips failed: %s\n",
                                  nt_errstr(status)));