diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-07-14 12:44:31 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:57:36 -0500 |
commit | 5779a7da9aecb7329eb47e93000dc8b9de96d9ae (patch) | |
tree | fbd35fe57d724e4219adf61f86ffe68a0a9657bf /source4/smb_server/smb_server.c | |
parent | f607197054436a8195e3d0a695fe31574b418059 (diff) | |
download | samba-5779a7da9aecb7329eb47e93000dc8b9de96d9ae.tar.gz samba-5779a7da9aecb7329eb47e93000dc8b9de96d9ae.tar.bz2 samba-5779a7da9aecb7329eb47e93000dc8b9de96d9ae.zip |
r1499: combine struct user_struct and struct smbsrv_user
to a struct smbsrv_session that the same as cli_session for the client
we need a gensec_security pointer there
(spnego support will follow)
prefix some related functions with smbsrv_
metze
(This used to be commit f276378157bb9994c4c91ce46150a510de5c33f8)
Diffstat (limited to 'source4/smb_server/smb_server.c')
-rw-r--r-- | source4/smb_server/smb_server.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/source4/smb_server/smb_server.c b/source4/smb_server/smb_server.c index 351d9ddf4e..94bf6302c1 100644 --- a/source4/smb_server/smb_server.c +++ b/source4/smb_server/smb_server.c @@ -114,21 +114,6 @@ static struct smbsrv_request *receive_smb_request(struct smbsrv_connection *smb_ } /* - setup the user_ctx element of a request -*/ -static void setup_user_context(struct smbsrv_request *req) -{ - struct smbsrv_user *user_ctx; - - user_ctx = talloc(req->mem_ctx, sizeof(*user_ctx)); - user_ctx->vuid = SVAL(req->in.hdr, HDR_UID); - user_ctx->vuser = get_valid_user_struct(req->smb_conn, user_ctx->vuid); - - req->user_ctx = user_ctx; -} - - -/* These flags determine some of the permissions required to do an operation Note that I don't set NEED_WRITE on some write operations because they @@ -459,13 +444,13 @@ static void switch_message(int type, struct smbsrv_request *req) req->tcon = conn_find(smb_conn, SVAL(req->in.hdr,HDR_TID)); /* setup the user context for this request */ - setup_user_context(req); + req->session = smbsrv_session_find(req->smb_conn, session_tag); /* Ensure this value is replaced in the incoming packet. */ SSVAL(req->in.hdr,HDR_UID,session_tag); - if (req->user_ctx) { - req->user_ctx->vuid = session_tag; + if (req->session) { + req->session->vuid = session_tag; } DEBUG(3,("switch message %s (task_id %d)\n",smb_fn_name(type), smb_conn->connection->service->model_ops->get_id(req))); @@ -481,7 +466,7 @@ static void switch_message(int type, struct smbsrv_request *req) } /* see if the vuid is valid */ - if ((flags & AS_USER) && !req->user_ctx->vuser) { + if ((flags & AS_USER) && !req->session) { if (!(flags & AS_GUEST)) { req_reply_error(req, NT_STATUS_DOS(ERRSRV, ERRbaduid)); return; @@ -859,7 +844,7 @@ void smbsrv_accept(struct server_connection *conn) smb_conn->negotiate.zone_offset = get_time_zone(time(NULL)); - smb_conn->users.next_vuid = VUID_OFFSET; + smb_conn->sessions.next_vuid = VUID_OFFSET; conn_init(smb_conn); |