#include "session.h"
#include "util_tdb.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
struct sessionid_traverse_read_state {
int (*fn)(const char *key, struct sessionid *session,
NTSTATUS smbXsrv_connection_init_tables(struct smbXsrv_connection *conn,
enum protocol_types protocol);
-NTSTATUS smbXsrv_session_global_init(struct messaging_context *msg_ctx);
-NTSTATUS smbXsrv_session_create(struct smbXsrv_connection *conn,
- NTTIME now,
- struct smbXsrv_session **_session);
-NTSTATUS smbXsrv_session_add_channel(struct smbXsrv_session *session,
- struct smbXsrv_connection *conn,
- NTTIME now,
- struct smbXsrv_channel_global0 **_c);
-NTSTATUS smbXsrv_session_remove_channel(struct smbXsrv_session *session,
- struct smbXsrv_connection *xconn);
-NTSTATUS smbXsrv_session_disconnect_xconn(struct smbXsrv_connection *xconn);
-NTSTATUS smbXsrv_session_update(struct smbXsrv_session *session);
-struct smbXsrv_channel_global0;
-NTSTATUS smbXsrv_session_find_channel(const struct smbXsrv_session *session,
- const struct smbXsrv_connection *conn,
- struct smbXsrv_channel_global0 **_c);
-NTSTATUS smbXsrv_session_find_auth(const struct smbXsrv_session *session,
- const struct smbXsrv_connection *conn,
- NTTIME now,
- struct smbXsrv_session_auth0 **_a);
-NTSTATUS smbXsrv_session_create_auth(struct smbXsrv_session *session,
- struct smbXsrv_connection *conn,
- NTTIME now,
- uint8_t in_flags,
- uint8_t in_security_mode,
- struct smbXsrv_session_auth0 **_a);
-struct tevent_req *smb2srv_session_shutdown_send(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev,
- struct smbXsrv_session *session,
- struct smbd_smb2_request *current_req);
-NTSTATUS smb2srv_session_shutdown_recv(struct tevent_req *req);
-NTSTATUS smbXsrv_session_logoff(struct smbXsrv_session *session);
-NTSTATUS smbXsrv_session_logoff_all(struct smbXsrv_client *client);
-NTSTATUS smb1srv_session_table_init(struct smbXsrv_connection *conn);
-NTSTATUS smb1srv_session_lookup(struct smbXsrv_connection *conn,
- uint16_t vuid, NTTIME now,
- struct smbXsrv_session **session);
-NTSTATUS smbXsrv_session_info_lookup(struct smbXsrv_client *client,
- uint64_t session_wire_id,
- struct auth_session_info **si);
-NTSTATUS smb2srv_session_table_init(struct smbXsrv_connection *conn);
-NTSTATUS smb2srv_session_lookup_conn(struct smbXsrv_connection *conn,
- uint64_t session_id, NTTIME now,
- struct smbXsrv_session **session);
-NTSTATUS smb2srv_session_lookup_client(struct smbXsrv_client *client,
- uint64_t session_id, NTTIME now,
- struct smbXsrv_session **session);
-NTSTATUS smb2srv_session_lookup_global(struct smbXsrv_client *client,
- uint64_t session_wire_id,
- TALLOC_CTX *mem_ctx,
- struct smbXsrv_session **session);
-NTSTATUS get_valid_smbXsrv_session(struct smbXsrv_client *client,
- uint64_t session_wire_id,
- struct smbXsrv_session **session);
-NTSTATUS smbXsrv_session_local_traverse(
- struct smbXsrv_client *client,
- int (*caller_cb)(struct smbXsrv_session *session,
- void *caller_data),
- void *caller_data);
-struct smbXsrv_session_global0;
-NTSTATUS smbXsrv_session_global_traverse(
- int (*fn)(struct smbXsrv_session_global0 *, void *),
- void *private_data);
-struct tevent_req *smb2srv_session_close_previous_send(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev,
- struct smbXsrv_connection *conn,
- struct auth_session_info *session_info,
- uint64_t previous_session_id,
- uint64_t current_session_id);
-NTSTATUS smb2srv_session_close_previous_recv(struct tevent_req *req);
-
NTSTATUS smbXsrv_tcon_global_init(void);
NTSTATUS smbXsrv_tcon_update(struct smbXsrv_tcon *tcon);
NTSTATUS smbXsrv_tcon_disconnect(struct smbXsrv_tcon *tcon, uint64_t vuid);
#include "system/passwd.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "../librpc/gen_ndr/netlogon.h"
#include "auth.h"
#include "../libcli/security/security.h"
#include "locking/share_mode_lock.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "smbd/smbXsrv_open.h"
#include "registry/reg_init_full.h"
#include "libcli/auth/schannel.h"
#include "locking/share_mode_lock.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "ntdomain.h"
#include "librpc/rpc/dcesrv_core.h"
#include "printing/notify.h"
#include "includes.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "rpc_client/rpc_client.h"
#include "../librpc/gen_ndr/ndr_samr_c.h"
#include "../librpc/gen_ndr/ndr_spoolss_c.h"
#include "system/filesys.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "smbd/smbXsrv_open.h"
#include "librpc/gen_ndr/netlogon.h"
#include "../lib/async_req/async_sock.h"
#include "locking/share_mode_lock.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "smbd/smbXsrv_open.h"
#include "fake_file.h"
#include "rpc_client/rpc_client.h"
#include "lib/util/server_id.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "auth.h"
#include "messages.h"
#include "smbprofile.h"
#include "system/filesys.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "smbd/smbXsrv_open.h"
#include "librpc/gen_ndr/netlogon.h"
#include "../lib/async_req/async_sock.h"
#include "system/network.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "smbd/smbXsrv_open.h"
#include "lib/param/param.h"
#include "../libcli/smb/smb_common.h"
#include "includes.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "../libcli/smb/smb_common.h"
#include "../auth/gensec/gensec.h"
#include "auth.h"
*/
#include "includes.h"
+#include "smbXsrv_session.h"
#include "system/filesys.h"
#include <tevent.h>
#include "lib/util/server_id.h"
--- /dev/null
+/*
+ * Unix SMB/CIFS implementation.
+ *
+ * Copyright (C) Stefan Metzmacher 2011-2012
+ * Copyright (C) Michael Adam 2012
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __SMBXSRV_SESSION_H__
+#define __SMBXSRV_SESSION_H__
+
+#include "replace.h"
+#include <tevent.h>
+#include "libcli/util/ntstatus.h"
+#include "lib/util/time.h"
+
+struct messaging_context;
+struct smbXsrv_client;
+struct smbXsrv_connection;
+struct smbXsrv_session;
+struct smbXsrv_session_global0;
+struct smbXsrv_channel_global0;
+struct smbXsrv_session_auth0;
+
+NTSTATUS smbXsrv_session_global_init(struct messaging_context *msg_ctx);
+NTSTATUS smbXsrv_session_create(struct smbXsrv_connection *conn,
+ NTTIME now,
+ struct smbXsrv_session **_session);
+NTSTATUS smbXsrv_session_add_channel(struct smbXsrv_session *session,
+ struct smbXsrv_connection *conn,
+ NTTIME now,
+ struct smbXsrv_channel_global0 **_c);
+NTSTATUS smbXsrv_session_remove_channel(struct smbXsrv_session *session,
+ struct smbXsrv_connection *xconn);
+NTSTATUS smbXsrv_session_disconnect_xconn(struct smbXsrv_connection *xconn);
+NTSTATUS smbXsrv_session_update(struct smbXsrv_session *session);
+NTSTATUS smbXsrv_session_find_channel(const struct smbXsrv_session *session,
+ const struct smbXsrv_connection *conn,
+ struct smbXsrv_channel_global0 **_c);
+NTSTATUS smbXsrv_session_find_auth(const struct smbXsrv_session *session,
+ const struct smbXsrv_connection *conn,
+ NTTIME now,
+ struct smbXsrv_session_auth0 **_a);
+NTSTATUS smbXsrv_session_create_auth(struct smbXsrv_session *session,
+ struct smbXsrv_connection *conn,
+ NTTIME now,
+ uint8_t in_flags,
+ uint8_t in_security_mode,
+ struct smbXsrv_session_auth0 **_a);
+struct tevent_req *smb2srv_session_shutdown_send(
+ TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct smbXsrv_session *session,
+ struct smbd_smb2_request *current_req);
+NTSTATUS smb2srv_session_shutdown_recv(struct tevent_req *req);
+NTSTATUS smbXsrv_session_logoff(struct smbXsrv_session *session);
+NTSTATUS smbXsrv_session_logoff_all(struct smbXsrv_client *client);
+NTSTATUS smb1srv_session_table_init(struct smbXsrv_connection *conn);
+NTSTATUS smb1srv_session_lookup(struct smbXsrv_connection *conn,
+ uint16_t vuid,
+ NTTIME now,
+ struct smbXsrv_session **session);
+NTSTATUS smbXsrv_session_info_lookup(struct smbXsrv_client *client,
+ uint64_t session_wire_id,
+ struct auth_session_info **si);
+NTSTATUS smb2srv_session_table_init(struct smbXsrv_connection *conn);
+NTSTATUS smb2srv_session_lookup_conn(struct smbXsrv_connection *conn,
+ uint64_t session_id,
+ NTTIME now,
+ struct smbXsrv_session **session);
+NTSTATUS smb2srv_session_lookup_client(struct smbXsrv_client *client,
+ uint64_t session_id,
+ NTTIME now,
+ struct smbXsrv_session **session);
+NTSTATUS smb2srv_session_lookup_global(struct smbXsrv_client *client,
+ uint64_t session_wire_id,
+ TALLOC_CTX *mem_ctx,
+ struct smbXsrv_session **session);
+NTSTATUS get_valid_smbXsrv_session(struct smbXsrv_client *client,
+ uint64_t session_wire_id,
+ struct smbXsrv_session **session);
+NTSTATUS smbXsrv_session_local_traverse(
+ struct smbXsrv_client *client,
+ int (*caller_cb)(struct smbXsrv_session *session, void *caller_data),
+ void *caller_data);
+NTSTATUS smbXsrv_session_global_traverse(
+ int (*fn)(struct smbXsrv_session_global0 *, void *),
+ void *private_data);
+struct tevent_req *smb2srv_session_close_previous_send(
+ TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct smbXsrv_connection *conn,
+ struct auth_session_info *session_info,
+ uint64_t previous_session_id,
+ uint64_t current_session_id);
+NTSTATUS smb2srv_session_close_previous_recv(struct tevent_req *req);
+
+#endif
#include "system/passwd.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "../librpc/gen_ndr/netlogon.h"
#include "libcli/security/security.h"
#include "passdb/lookup_sid.h"
#include "includes.h"
#include "system/filesys.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "dbwrap/dbwrap.h"
#include "dbwrap/dbwrap_open.h"
#include "dbwrap/dbwrap_rbt.h"
#include "serverid.h"
#include "session.h"
#include "smbd/globals.h"
+#include "source3/smbd/smbXsrv_session.h"
#include "smbd/smbXsrv_open.h"
#include "util_tdb.h"
#include "librpc/gen_ndr/ndr_open_files.h"