s3: Remove smbd_server_fd() from session_claim
authorVolker Lendecke <vl@samba.org>
Mon, 16 Aug 2010 06:00:48 +0000 (08:00 +0200)
committerVolker Lendecke <vl@samba.org>
Tue, 17 Aug 2010 20:52:03 +0000 (22:52 +0200)
source3/include/proto.h
source3/smbd/password.c
source3/smbd/session.c
source3/smbd/smb2_sesssetup.c

index 8e4c3111b5e3d17791829d69022db879f5b291c0..fe9dec41dbdfe1e1a7e7a9f62e9a880ab4e4cf44 100644 (file)
@@ -5812,7 +5812,7 @@ void close_cnum(connection_struct *conn, uint16 vuid);
 /* The following definitions come from smbd/session.c  */
 
 bool session_init(void);
-bool session_claim(struct server_id pid, user_struct *vuser);
+bool session_claim(struct smbd_server_connection *sconn, user_struct *vuser);
 void session_yield(user_struct *vuser);
 int list_sessions(TALLOC_CTX *mem_ctx, struct sessionid **session_list);
 
index f0989e6ac79b5eefe2f3c18545de14e6a1c7022e..afe4f1b91f314e3c9947b0938a285a15fe58fedb 100644 (file)
@@ -303,7 +303,7 @@ int register_existing_vuid(struct smbd_server_connection *sconn,
                "and will be vuid %u\n", (int)vuser->server_info->utok.uid,
                 vuser->server_info->unix_name, vuser->vuid));
 
-       if (!session_claim(sconn_server_id(sconn), vuser)) {
+       if (!session_claim(sconn, vuser)) {
                DEBUG(1, ("register_existing_vuid: Failed to claim session "
                        "for vuid=%d\n",
                        vuser->vuid));
index 92742384bfc0e00ddd8ded51ae815701094e6ede..6f50551dd1e32f4924bede27ac2ddf9a59f2f614 100644 (file)
@@ -33,8 +33,9 @@
  called when a session is created
 ********************************************************************/
 
-bool session_claim(struct server_id pid, user_struct *vuser)
+bool session_claim(struct smbd_server_connection *sconn, user_struct *vuser)
 {
+       struct server_id pid = sconn_server_id(sconn);
        TDB_DATA data;
        int i = 0;
        struct sessionid sessionid;
@@ -131,9 +132,9 @@ bool session_claim(struct server_id pid, user_struct *vuser)
           client_name() handles this case internally.
        */
 
-       hostname = client_name(smbd_server_fd());
+       hostname = client_name(sconn->sock);
        if (strcmp(hostname, "UNKNOWN") == 0) {
-               hostname = client_addr(smbd_server_fd(),addr,sizeof(addr));
+               hostname = client_addr(sconn->sock, addr, sizeof(addr));
        }
 
        fstrcpy(sessionid.username, vuser->server_info->unix_name);
@@ -144,7 +145,7 @@ bool session_claim(struct server_id pid, user_struct *vuser)
        sessionid.gid = vuser->server_info->utok.gid;
        fstrcpy(sessionid.remote_machine, get_remote_machine_name());
        fstrcpy(sessionid.ip_addr_str,
-               client_addr(smbd_server_fd(),addr,sizeof(addr)));
+               client_addr(sconn->sock, addr, sizeof(addr)));
        sessionid.connect_start = time(NULL);
 
        if (!smb_pam_claim_session(sessionid.username, sessionid.id_str,
index c51a0fd039a6aadb4e3b6c1e0c10e9f08eb3cfee..8fc52b25995fa0509766a7e544b7736b750ed481 100644 (file)
@@ -467,8 +467,7 @@ static NTSTATUS smbd_smb2_session_setup_krb5(struct smbd_smb2_session *session,
                        register_homes_share(session->server_info->unix_name);
        }
 
-       if (!session_claim(sconn_server_id(session->sconn),
-                          session->compat_vuser)) {
+       if (!session_claim(session->sconn, session->compat_vuser)) {
                DEBUG(1, ("smb2: Failed to claim session "
                        "for vuid=%d\n",
                        session->compat_vuser->vuid));
@@ -678,8 +677,7 @@ static NTSTATUS smbd_smb2_common_ntlmssp_auth_return(struct smbd_smb2_session *s
                        register_homes_share(session->server_info->unix_name);
        }
 
-       if (!session_claim(sconn_server_id(session->sconn),
-                          session->compat_vuser)) {
+       if (!session_claim(session->sconn, session->compat_vuser)) {
                DEBUG(1, ("smb2: Failed to claim session "
                        "for vuid=%d\n",
                        session->compat_vuser->vuid));