summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-05-22 16:19:26 -0700
committerJeremy Allison <jra@samba.org>2008-05-22 16:19:26 -0700
commit8c926ed0ea2522cd8a3a69890cdf692a9c8fb23f (patch)
treef8575e8acfdb37a9e5731fe82d8bc6b3e1c74d4f /source3/rpc_server
parentac65ed4aad4f2d6b59c721a3e2eead6996df4069 (diff)
downloadsamba-8c926ed0ea2522cd8a3a69890cdf692a9c8fb23f.tar.gz
samba-8c926ed0ea2522cd8a3a69890cdf692a9c8fb23f.tar.bz2
samba-8c926ed0ea2522cd8a3a69890cdf692a9c8fb23f.zip
Arggh. Got the path/user the wrong way around. IDL is correct :-).
Jeremy. (This used to be commit 1078b5c53ae9d6f9532eecebf9cf4a1712200b7e)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_srvsvc_nt.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c
index ebbc39c304..9ffe9a569f 100644
--- a/source3/rpc_server/srv_srvsvc_nt.c
+++ b/source3/rpc_server/srv_srvsvc_nt.c
@@ -32,19 +32,6 @@ extern const struct generic_mapping file_generic_mapping;
#define MAX_SERVER_DISK_ENTRIES 15
-/***************************/
-
-/* oops - this is going to take up a *massive* amount of stack. */
-/* the UNISTR2s already have 1024 uint16 chars in them... */
-
-#define MAX_SESS_ENTRIES 32
-
-/***************************/
-
-/* oops - this is going to take up a *massive* amount of stack. */
-/* the UNISTR2s already have 1024 uint16 chars in them... */
-#define MAX_CONN_ENTRIES 32
-
/* Use for enumerating connections, pipes, & files */
struct file_enum_count {
@@ -102,7 +89,7 @@ static int pipe_enum_fn( struct db_record *rec, void *p)
fenum->ctr3->array = f;
init_srvsvc_NetFileInfo3(&fenum->ctr3->array[i],
- (uint32_t)((procid_to_pid(&prec.pid)<<16) & prec.pnum),
+ (((uint32_t)(procid_to_pid(&prec.pid))<<16) | prec.pnum),
(FILE_READ_DATA|FILE_WRITE_DATA),
0,
fullpath,
@@ -204,7 +191,7 @@ static void enum_file_fn( const struct share_mode_entry *e,
/* now fill in the srvsvc_NetFileInfo3 struct */
init_srvsvc_NetFileInfo3(&fenum->ctr3->array[i],
- e->share_file_id,
+ (((uint32_t)(procid_to_pid(&e->pid))<<16) | e->share_file_id),
permissions,
num_locks,
fullpath,
@@ -748,7 +735,7 @@ static WERROR init_srv_sess_info_0(pipes_struct *p,
return WERR_OK;
}
- for (; resume_handle < *total_entries && num_entries < MAX_SESS_ENTRIES; resume_handle++) {
+ for (; resume_handle < *total_entries; resume_handle++) {
ctr0->array = TALLOC_REALLOC_ARRAY(p->mem_ctx,
ctr0->array,
@@ -831,7 +818,7 @@ static WERROR init_srv_sess_info_1(pipes_struct *p,
*total_entries = list_sessions(p->mem_ctx, &session_list);
- for (; resume_handle < *total_entries && num_entries < MAX_SESS_ENTRIES; resume_handle++) {
+ for (; resume_handle < *total_entries; resume_handle++) {
uint32 num_files;
uint32 connect_time;
struct passwd *pw = sys_getpwnam(session_list[resume_handle].username);
@@ -900,7 +887,7 @@ static WERROR init_srv_conn_info_0(struct srvsvc_NetConnCtr0 *ctr0,
ZERO_STRUCTP(ctr0);
- for (; resume_handle < *total_entries && num_entries < MAX_CONN_ENTRIES; resume_handle++) {
+ for (; resume_handle < *total_entries; resume_handle++) {
ctr0->array = TALLOC_REALLOC_ARRAY(talloc_tos(),
ctr0->array,
@@ -955,7 +942,7 @@ static WERROR init_srv_conn_info_1(struct srvsvc_NetConnCtr1 *ctr1,
ZERO_STRUCTP(ctr1);
- for (; (resume_handle < *total_entries) && num_entries < MAX_CONN_ENTRIES; resume_handle++) {
+ for (; resume_handle < *total_entries; resume_handle++) {
ctr1->array = TALLOC_REALLOC_ARRAY(talloc_tos(),
ctr1->array,