summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-06-21 02:31:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:18:54 -0500
commit54ea3c23e3bfd25008198e85fdcc1f48b0325eab (patch)
treef3aa0f84b563d6b6dc9a8cd7f682fffa5bf22e96 /source3/smbd
parent607f9ffc8e3b4018741db277d9240b2b19c5379e (diff)
downloadsamba-54ea3c23e3bfd25008198e85fdcc1f48b0325eab.tar.gz
samba-54ea3c23e3bfd25008198e85fdcc1f48b0325eab.tar.bz2
samba-54ea3c23e3bfd25008198e85fdcc1f48b0325eab.zip
r16435: Add in the uid info that Jerry needs into the
share_mode struct. Allows us to know the unix uid of the opener of the file/directory. Needed for info level queries on open files. Jeremy. (This used to be commit d929323d6f513902381369d77bcd7b714346d713)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/open.c4
-rw-r--r--source3/smbd/oplock.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 2e4091d937..832a8df755 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -1685,7 +1685,7 @@ files_struct *open_file_ntcreate(connection_struct *conn,
fsp->oplock_type = NO_OPLOCK;
}
}
- set_share_mode(lck, fsp, 0, fsp->oplock_type);
+ set_share_mode(lck, fsp, current_user.ut.uid, 0, fsp->oplock_type);
if (info == FILE_WAS_OVERWRITTEN || info == FILE_WAS_CREATED ||
info == FILE_WAS_SUPERSEDED) {
@@ -1991,7 +1991,7 @@ files_struct *open_directory(connection_struct *conn,
return NULL;
}
- set_share_mode(lck, fsp, 0, NO_OPLOCK);
+ set_share_mode(lck, fsp, current_user.ut.uid, 0, NO_OPLOCK);
/* For directories the delete on close bit at open time seems
always to be honored on close... See test 19 in Samba4 BASE-DELETE. */
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 1f731e1729..e4f5c434b0 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -830,6 +830,7 @@ void share_mode_entry_to_message(char *msg, struct share_mode_entry *e)
SDEV_T_VAL(msg,28,e->dev);
SINO_T_VAL(msg,36,e->inode);
SIVAL(msg,44,e->share_file_id);
+ SIVAL(msg,48,e->uid);
}
/****************************************************************************
@@ -849,6 +850,7 @@ void message_to_share_mode_entry(struct share_mode_entry *e, char *msg)
e->dev = DEV_T_VAL(msg,28);
e->inode = INO_T_VAL(msg,36);
e->share_file_id = (unsigned long)IVAL(msg,44);
+ e->uid = (uint32)IVAL(msg,48);
}
/****************************************************************************