diff options
author | Jeremy Allison <jra@samba.org> | 2001-04-09 08:00:19 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-04-09 08:00:19 +0000 |
commit | 2b9e23855e6e4a20021bb7a1bb0df082efe4eac5 (patch) | |
tree | 1c8080de9b3e8dcf8fb0b5a8e7cd56212092795c /source3/rpc_parse | |
parent | 33706e48f072fa17363155de19650764c5aa4a84 (diff) | |
download | samba-2b9e23855e6e4a20021bb7a1bb0df082efe4eac5.tar.gz samba-2b9e23855e6e4a20021bb7a1bb0df082efe4eac5.tar.bz2 samba-2b9e23855e6e4a20021bb7a1bb0df082efe4eac5.zip |
Set SD's for share. Added level 1501. Map GENERIC file bits to specific bits.
Jeremy.
(This used to be commit 04976c32f319531e16d890797b45a76dab64f370)
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r-- | source3/rpc_parse/parse_srv.c | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/source3/rpc_parse/parse_srv.c b/source3/rpc_parse/parse_srv.c index b9479a7105..61d2ff7ba2 100644 --- a/source3/rpc_parse/parse_srv.c +++ b/source3/rpc_parse/parse_srv.c @@ -340,22 +340,45 @@ static BOOL srv_io_share_info502_str(char *desc, SH_INFO_502_STR *sh502, prs_str /******************************************************************* Reads or writes a structure. ********************************************************************/ + static BOOL srv_io_share_info1005(char* desc, SRV_SHARE_INFO_1005* sh1005, prs_struct* ps, int depth) { - if(sh1005 == NULL) - return False; + if(sh1005 == NULL) + return False; + + prs_debug(ps, depth, desc, "srv_io_share_info1005"); + depth++; + + if(!prs_align(ps)) + return False; + + if(!prs_uint32("dfs_root_flag", ps, depth, &sh1005->dfs_root_flag)) + return False; + + return True; +} + +/******************************************************************* + Reads or writes a structure. +********************************************************************/ + +static BOOL srv_io_share_info1501(char* desc, SRV_SHARE_INFO_1501* sh1501, + prs_struct* ps, int depth) +{ + if(sh1501 == NULL) + return False; - prs_debug(ps, depth, desc, "srv_io_share_info1005"); - depth++; + prs_debug(ps, depth, desc, "srv_io_share_info1501"); + depth++; - if(!prs_align(ps)) - return False; + if(!prs_align(ps)) + return False; - if(!prs_uint32("dfs_root_flag", ps, depth, &sh1005->dfs_root_flag)) - return False; + if (!sec_io_desc_buf(desc, &sh1501->sdb, ps, depth)) + return False; - return True; + return True; } /******************************************************************* @@ -656,8 +679,12 @@ static BOOL srv_io_srv_share_info(char *desc, prs_struct *ps, int depth, SRV_SHA return False; break; case 1005: - if(!srv_io_share_info1005("", &r_n->share.info1005, ps, depth)) - return False; + if(!srv_io_share_info1005("", &r_n->share.info1005, ps, depth)) + return False; + break; + case 1501: + if (!srv_io_share_info1501("", &r_n->share.info1501, ps, depth)) + return False; default: DEBUG(5,("%s no share info at switch_value %d\n", tab_depth(depth), r_n->switch_value)); |