s3:smbd: remove smbd_server_connection argument from session_claim()
authorGregor Beck <gbeck@sernet.de>
Mon, 27 Aug 2012 07:21:58 +0000 (09:21 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 19 Oct 2012 10:14:59 +0000 (12:14 +0200)
retrieve the server connection from the smbXsrv_session  argument instead.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
source3/smbd/proto.h
source3/smbd/session.c
source3/smbd/sesssetup.c
source3/smbd/smb2_sesssetup.c

index 5f41957fc4d6cd0beb48999e970bbd498146a0c2..ffbc8d808ee90d5d8ed8c0e597ea557770991689 100644 (file)
@@ -995,7 +995,7 @@ void close_cnum(connection_struct *conn, uint64_t vuid);
 struct sessionid;
 struct smbXsrv_session;
 bool session_init(void);
-bool session_claim(struct smbd_server_connection *sconn, struct smbXsrv_session *session);
+bool session_claim(struct smbXsrv_session *session);
 void session_yield(struct smbXsrv_session *session);
 int list_sessions(TALLOC_CTX *mem_ctx, struct sessionid **session_list);
 
index c931f8b8e13de9ca49f7a524ac9853bc08d7f5a6..abb1e316bca67addd3b112ea2339cbdbc4686a2e 100644 (file)
  called when a session is created
 ********************************************************************/
 
-bool session_claim(struct smbd_server_connection *sconn, struct smbXsrv_session *session)
+bool session_claim(struct smbXsrv_session *session)
 {
        struct user_struct *vuser = session->compat;
+       struct smbd_server_connection *sconn = session->connection->sconn;
        struct server_id pid = messaging_server_id(sconn->msg_ctx);
        TDB_DATA data;
        int i = 0;
@@ -137,7 +138,7 @@ bool session_claim(struct smbd_server_connection *sconn, struct smbXsrv_session
 
        SMB_ASSERT(rec != NULL);
 
-       raddr = tsocket_address_inet_addr_string(sconn->remote_address,
+       raddr = tsocket_address_inet_addr_string(session->connection->remote_address,
                                                 talloc_tos());
        if (raddr == NULL) {
                return false;
index 16a71f74083e7f525b48cd3775be1959bbb4fb15..cd7928de505e3abf4747b86d9eb3e8a62a74ae90 100644 (file)
@@ -326,7 +326,7 @@ static void reply_sesssetup_and_X_spnego(struct smb_request *req)
                                register_homes_share(session_info->unix_info->unix_name);
                }
 
-               if (!session_claim(sconn, session)) {
+               if (!session_claim(session)) {
                        DEBUG(1, ("smb1: Failed to claim session for vuid=%llu\n",
                                  (unsigned long long)session->compat->vuid));
                        data_blob_free(&out_blob);
@@ -1008,7 +1008,7 @@ void reply_sesssetup_and_X(struct smb_request *req)
                        register_homes_share(session_info->unix_info->unix_name);
        }
 
-       if (!session_claim(sconn, session)) {
+       if (!session_claim(session)) {
                DEBUG(1, ("smb1: Failed to claim session for vuid=%llu\n",
                          (unsigned long long)session->compat->vuid));
                data_blob_free(&nt_resp);
index 29253d032171160cd2d9f2939aaa5e7c38cffd85..171021a25897a33e7dcd5ea7819c40e469476350 100644 (file)
@@ -330,7 +330,7 @@ static NTSTATUS smbd_smb2_auth_generic_return(struct smbXsrv_session *session,
                        register_homes_share(session_info->unix_info->unix_name);
        }
 
-       if (!session_claim(smb2req->sconn, session)) {
+       if (!session_claim(session)) {
                DEBUG(1, ("smb2: Failed to claim session "
                        "for vuid=%llu\n",
                        (unsigned long long)session->compat->vuid));