diff options
author | Stefan Metzmacher <metze@samba.org> | 2012-03-27 11:09:05 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-06-25 20:55:06 +0200 |
commit | 463b308f16733b5a0bd896c46347d39064cee170 (patch) | |
tree | 7880a96961d639c6de21f3225e6f56fade312a0c /source3/smbd/conn_idle.c | |
parent | ef408e5068255449eda9b4fc5c483713e91e560d (diff) | |
download | samba-463b308f16733b5a0bd896c46347d39064cee170.tar.gz samba-463b308f16733b5a0bd896c46347d39064cee170.tar.bz2 samba-463b308f16733b5a0bd896c46347d39064cee170.zip |
s3:smbd: make use of smbXsrv_tcon and smbXsrv_session for smb2
The removes the protocol specific smbd_smb2_session and
smbd_smb2_tcon.
Pair-Programmed-With: Michael Adam <obnox@samba.org>
metze
Diffstat (limited to 'source3/smbd/conn_idle.c')
-rw-r--r-- | source3/smbd/conn_idle.c | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/source3/smbd/conn_idle.c b/source3/smbd/conn_idle.c index 4dfa4097c3..22bc20ef1f 100644 --- a/source3/smbd/conn_idle.c +++ b/source3/smbd/conn_idle.c @@ -88,19 +88,7 @@ bool conn_idle_all(struct smbd_server_connection *sconn, time_t t) void conn_close_all(struct smbd_server_connection *sconn) { if (sconn->using_smb2) { - /* SMB2 */ - struct smbd_smb2_session *sess; - - for (sess = sconn->smb2.sessions.list; sess; sess = sess->next) { - struct smbd_smb2_tcon *tcon, *tc_next; - - file_close_user(sconn, sess->vuid); - - for (tcon = sess->tcons.list; tcon; tcon = tc_next) { - tc_next = tcon->next; - TALLOC_FREE(tcon); - } - } + smbXsrv_session_logoff_all(sconn->conn); } else { /* SMB1 */ connection_struct *conn, *next; @@ -131,21 +119,20 @@ void conn_force_tdis(struct smbd_server_connection *sconn, const char *sharename } if (sconn->using_smb2) { - /* SMB2 */ - struct smbd_smb2_session *sess; - for (sess = sconn->smb2.sessions.list; sess; sess = sess->next) { - struct smbd_smb2_tcon *tcon, *tc_next; - - for (tcon = sess->tcons.list; tcon; tcon = tc_next) { - tc_next = tcon->next; - if (tcon->compat_conn && - strequal(lp_servicename(SNUM(tcon->compat_conn)), - sharename)) { - DEBUG(1,("Forcing close of share %s cnum=%d\n", - sharename, tcon->compat_conn->cnum)); - TALLOC_FREE(tcon); - } + for (conn=sconn->connections;conn;conn=next) { + struct smbXsrv_tcon *tcon; + + next = conn->next; + tcon = conn->tcon; + + if (!strequal(lp_servicename(SNUM(conn)), sharename)) { + continue; } + + DEBUG(1,("Forcing close of share %s cnum=%d\n", + sharename, conn->cnum)); + smbXsrv_tcon_disconnect(tcon, conn->vuid); + TALLOC_FREE(tcon); } } else { /* SMB1 */ |