summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorJim McDonough <jmcd@samba.org>2002-05-31 00:29:29 +0000
committerJim McDonough <jmcd@samba.org>2002-05-31 00:29:29 +0000
commit8fc3dba8bd99c55bef9ac137976dd35134a49342 (patch)
tree4f707cb9c4db4a4f32cb66a8af9651167e026da4 /source
parent099b750b4ed8f04a1fd8a018508d412691e37df6 (diff)
downloadsamba-8fc3dba8bd99c55bef9ac137976dd35134a49342.tar.gz
samba-8fc3dba8bd99c55bef9ac137976dd35134a49342.tar.xz
samba-8fc3dba8bd99c55bef9ac137976dd35134a49342.zip
netfileenum was missing the username filter.
Diffstat (limited to 'source')
-rw-r--r--source/include/rpc_srvsvc.h3
-rw-r--r--source/rpc_parse/parse_srv.c9
2 files changed, 11 insertions, 1 deletions
diff --git a/source/include/rpc_srvsvc.h b/source/include/rpc_srvsvc.h
index 6c5f6b819c3..1aa9abe0431 100644
--- a/source/include/rpc_srvsvc.h
+++ b/source/include/rpc_srvsvc.h
@@ -623,6 +623,9 @@ typedef struct q_net_file_enum_info
uint32 ptr_qual_name; /* pointer (to qualifier name) */
UNISTR2 uni_qual_name; /* qualifier name "\\qualifier" */
+ uint32 ptr_user_name; /* pointer (to user name) */
+ UNISTR2 uni_user_name; /* user name */
+
uint32 file_level; /* file level */
SRV_FILE_INFO_CTR *ctr;
diff --git a/source/rpc_parse/parse_srv.c b/source/rpc_parse/parse_srv.c
index 79cf0d9776a..78748463ac7 100644
--- a/source/rpc_parse/parse_srv.c
+++ b/source/rpc_parse/parse_srv.c
@@ -1986,7 +1986,7 @@ void init_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n,
init_buf_unistr2(&q_n->uni_srv_name, &q_n->ptr_srv_name, srv_name);
init_buf_unistr2(&q_n->uni_qual_name, &q_n->ptr_qual_name, qual_name);
- q_n->file_level = file_level;
+ q_n->file_level = q_n->ctr->switch_value = file_level;
q_n->preferred_len = preferred_len;
memcpy(&q_n->enum_hnd, hnd, sizeof(*hnd));
@@ -2023,6 +2023,13 @@ BOOL srv_io_q_net_file_enum(char *desc, SRV_Q_NET_FILE_ENUM *q_n, prs_struct *ps
if(!prs_align(ps))
return False;
+ if(!prs_uint32("ptr_user_name", ps, depth, &q_n->ptr_user_name))
+ return False;
+ if(!smb_io_unistr2("", &q_n->uni_user_name, q_n->ptr_user_name, ps, depth))
+ return False;
+
+ if(!prs_align(ps))
+ return False;
if(!prs_uint32("file_level", ps, depth, &q_n->file_level))
return False;