From 5bda9a8af02c7889e15e580a5620689aa312a16a Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 8 May 2008 16:06:42 +0200 Subject: Remove "user" from connection_struct (This used to be commit 368454a27cb53a408ec416cbf37235b304592fb5) --- source3/smbd/close.c | 2 +- source3/smbd/conn.c | 2 -- source3/smbd/fake_file.c | 3 ++- source3/smbd/lanman.c | 8 ++++---- source3/smbd/nttrans.c | 10 ++++++---- source3/smbd/open.c | 5 +++-- source3/smbd/service.c | 25 +++++++++++++++---------- source3/smbd/trans2.c | 9 ++++++--- 8 files changed, 37 insertions(+), 27 deletions(-) (limited to 'source3/smbd') diff --git a/source3/smbd/close.c b/source3/smbd/close.c index e27d5c44fa..df188bafe1 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -581,7 +581,7 @@ static NTSTATUS close_normal_file(files_struct *fsp, enum file_close_type close_ } DEBUG(2,("%s closed file %s (numopen=%d) %s\n", - conn->user,fsp->fsp_name, + conn->server_info->unix_name,fsp->fsp_name, conn->num_files_open, nt_errstr(status) )); diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c index ce3512c4ec..e899af1319 100644 --- a/source3/smbd/conn.c +++ b/source3/smbd/conn.c @@ -151,7 +151,6 @@ find_again: num_open++; - string_set(&conn->user,""); string_set(&conn->dirpath,""); string_set(&conn->connectpath,""); string_set(&conn->origpath,""); @@ -283,7 +282,6 @@ void conn_free_internal(connection_struct *conn) free_namearray(conn->veto_oplock_list); free_namearray(conn->aio_write_behind_list); - string_free(&conn->user); string_free(&conn->dirpath); string_free(&conn->connectpath); string_free(&conn->origpath); diff --git a/source3/smbd/fake_file.c b/source3/smbd/fake_file.c index 31fe030f46..0a54c85cd0 100644 --- a/source3/smbd/fake_file.c +++ b/source3/smbd/fake_file.c @@ -113,7 +113,8 @@ NTSTATUS open_fake_file(connection_struct *conn, if (current_user.ut.uid != 0) { DEBUG(3, ("open_fake_file_shared: access_denied to " "service[%s] file[%s] user[%s]\n", - lp_servicename(SNUM(conn)),fname,conn->user)); + lp_servicename(SNUM(conn)), fname, + conn->server_info->unix_name)); return NT_STATUS_ACCESS_DENIED; } diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c index 4309622b26..413b916f7b 100644 --- a/source3/smbd/lanman.c +++ b/source3/smbd/lanman.c @@ -101,7 +101,7 @@ static int CopyExpanded(connection_struct *conn, } buf = talloc_sub_advanced(ctx, lp_servicename(SNUM(conn)), - conn->user, + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), @@ -152,7 +152,7 @@ static int StrlenExpanded(connection_struct *conn, int snum, char *s) } buf = talloc_sub_advanced(ctx, lp_servicename(SNUM(conn)), - conn->user, + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), @@ -182,7 +182,7 @@ static char *Expand(connection_struct *conn, int snum, char *s) } return talloc_sub_advanced(ctx, lp_servicename(SNUM(conn)), - conn->user, + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), @@ -3000,7 +3000,7 @@ static bool api_RNetServerGetInfo(connection_struct *conn,uint16 vuid, SIVAL(p,6,PTR_DIFF(p2,*rdata)); comment = talloc_sub_advanced(ctx, lp_servicename(SNUM(conn)), - conn->user, + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index bd34b5a361..b5546ea1e1 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -2037,8 +2037,9 @@ static void call_nt_transact_get_user_quota(connection_struct *conn, /* access check */ if (current_user.ut.uid != 0) { - DEBUG(1,("get_user_quota: access_denied service [%s] user [%s]\n", - lp_servicename(SNUM(conn)),conn->user)); + DEBUG(1,("get_user_quota: access_denied service [%s] user " + "[%s]\n", lp_servicename(SNUM(conn)), + conn->server_info->unix_name)); reply_doserror(req, ERRDOS, ERRnoaccess); return; } @@ -2303,8 +2304,9 @@ static void call_nt_transact_set_user_quota(connection_struct *conn, /* access check */ if (current_user.ut.uid != 0) { - DEBUG(1,("set_user_quota: access_denied service [%s] user [%s]\n", - lp_servicename(SNUM(conn)),conn->user)); + DEBUG(1,("set_user_quota: access_denied service [%s] user " + "[%s]\n", lp_servicename(SNUM(conn)), + conn->server_info->unix_name)); reply_doserror(req, ERRDOS, ERRnoaccess); return; } diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 5c860f891d..546128c0e5 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -400,8 +400,9 @@ static NTSTATUS open_file(files_struct *fsp, fsp->wcp = NULL; /* Write cache pointer. */ DEBUG(2,("%s opened file %s read=%s write=%s (numopen=%d)\n", - *current_user_info.smb_name ? - current_user_info.smb_name : conn->user,fsp->fsp_name, + *current_user_info.smb_name + ? current_user_info.smb_name : conn->server_info->unix_name, + fsp->fsp_name, BOOLSTR(fsp->can_read), BOOLSTR(fsp->can_write), conn->num_files_open + 1)); diff --git a/source3/smbd/service.c b/source3/smbd/service.c index fd072135e8..c90d4d16bc 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -820,7 +820,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, if (*lp_force_group(snum)) { status = find_forced_group( - conn->force_user, snum, conn->user, + conn->force_user, snum, conn->server_info->unix_name, &conn->server_info->ptok->user_sids[1], &conn->server_info->gid); @@ -833,11 +833,10 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, conn->vuid = (vuser != NULL) ? vuser->vuid : UID_FIELD_INVALID; - string_set(&conn->user, conn->server_info->unix_name); - { char *s = talloc_sub_advanced(talloc_tos(), - lp_servicename(SNUM(conn)), conn->user, + lp_servicename(SNUM(conn)), + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), @@ -958,7 +957,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, /* execute any "root preexec = " line */ if (*lp_rootpreexec(snum)) { char *cmd = talloc_sub_advanced(talloc_tos(), - lp_servicename(SNUM(conn)), conn->user, + lp_servicename(SNUM(conn)), + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), @@ -996,7 +996,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, /* execute any "preexec = " line */ if (*lp_preexec(snum)) { char *cmd = talloc_sub_advanced(talloc_tos(), - lp_servicename(SNUM(conn)), conn->user, + lp_servicename(SNUM(conn)), + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), @@ -1029,7 +1030,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, to allow any filesystems needing user credentials to initialize themselves. */ - if (SMB_VFS_CONNECT(conn, lp_servicename(snum), conn->user) < 0) { + if (SMB_VFS_CONNECT(conn, lp_servicename(snum), + conn->server_info->unix_name) < 0) { DEBUG(0,("make_connection: VFS make connection failed!\n")); *pstatus = NT_STATUS_UNSUCCESSFUL; goto err_root_exit; @@ -1096,7 +1098,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, conn->client_address ); dbgtext( "%s", srv_is_signing_active() ? "signed " : ""); dbgtext( "connect to service %s ", lp_servicename(snum) ); - dbgtext( "initially as user %s ", conn->user ); + dbgtext( "initially as user %s ", + conn->server_info->unix_name ); dbgtext( "(uid=%d, gid=%d) ", (int)geteuid(), (int)getegid() ); dbgtext( "(pid %d)\n", (int)sys_getpid() ); } @@ -1316,7 +1319,8 @@ void close_cnum(connection_struct *conn, uint16 vuid) if (*lp_postexec(SNUM(conn)) && change_to_user(conn, vuid)) { char *cmd = talloc_sub_advanced(talloc_tos(), - lp_servicename(SNUM(conn)), conn->user, + lp_servicename(SNUM(conn)), + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), @@ -1331,7 +1335,8 @@ void close_cnum(connection_struct *conn, uint16 vuid) /* execute any "root postexec = " line */ if (*lp_rootpostexec(SNUM(conn))) { char *cmd = talloc_sub_advanced(talloc_tos(), - lp_servicename(SNUM(conn)), conn->user, + lp_servicename(SNUM(conn)), + conn->server_info->unix_name, conn->connectpath, conn->server_info->gid, get_current_username(), diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 4d60eecda9..d5435533f9 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -2826,8 +2826,10 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)bsize, (unsigned /* access check */ if (current_user.ut.uid != 0) { - DEBUG(0,("set_user_quota: access_denied service [%s] user [%s]\n", - lp_servicename(SNUM(conn)),conn->user)); + DEBUG(0,("set_user_quota: access_denied " + "service [%s] user [%s]\n", + lp_servicename(SNUM(conn)), + conn->server_info->unix_name)); reply_doserror(req, ERRDOS, ERRnoaccess); return; } @@ -3267,7 +3269,8 @@ cap_low = 0x%x, cap_high = 0x%x\n", /* access check */ if ((current_user.ut.uid != 0)||!CAN_WRITE(conn)) { DEBUG(0,("set_user_quota: access_denied service [%s] user [%s]\n", - lp_servicename(SNUM(conn)),conn->user)); + lp_servicename(SNUM(conn)), + conn->server_info->unix_name)); reply_doserror(req, ERRSRV, ERRaccess); return; } -- cgit