diff options
author | Jean-François Micouleau <jfm@samba.org> | 2001-02-22 16:09:18 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 2001-02-22 16:09:18 +0000 |
commit | ffaa923385cf90fb3256cae5cb6885eced94e36c (patch) | |
tree | b5d7b27673ead794e52440a5dba737829f1527d2 | |
parent | 111231fc6b19c630521006ff0ebdbd0b420ea676 (diff) | |
download | samba-ffaa923385cf90fb3256cae5cb6885eced94e36c.tar.gz samba-ffaa923385cf90fb3256cae5cb6885eced94e36c.tar.xz samba-ffaa923385cf90fb3256cae5cb6885eced94e36c.zip |
off by one lenght name in samr_querydispinfo and show also the gecos
field.
J.F.
-rw-r--r-- | source/rpc_parse/parse_samr.c | 9 | ||||
-rw-r--r-- | source/rpc_server/srv_samr_nt.c | 8 |
2 files changed, 10 insertions, 7 deletions
diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c index 56f1c0c5576..c3551c50b5a 100644 --- a/source/rpc_parse/parse_samr.c +++ b/source/rpc_parse/parse_samr.c @@ -1446,12 +1446,9 @@ void init_sam_dispinfo_1(SAM_DISPINFO_1 * sam, uint32 *num_entries, len_sam_name, len_sam_full, len_sam_desc, pass[i].user_rid, pass[i].acb_info); - copy_unistr2(&sam->str[i].uni_acct_name, - &pass[i].uni_user_name); - copy_unistr2(&sam->str[i].uni_full_name, - &pass[i].uni_full_name); - copy_unistr2(&sam->str[i].uni_acct_desc, - &pass[i].uni_acct_desc); + copy_unistr2(&sam->str[i].uni_acct_name, &pass[i].uni_user_name); + copy_unistr2(&sam->str[i].uni_full_name, &pass[i].uni_full_name); + copy_unistr2(&sam->str[i].uni_acct_desc, &pass[i].uni_acct_desc); dsize += sizeof(SAM_ENTRY1); dsize += len_sam_name + len_sam_full + len_sam_desc; diff --git a/source/rpc_server/srv_samr_nt.c b/source/rpc_server/srv_samr_nt.c index 99ee1a98a60..80b12f34fa0 100644 --- a/source/rpc_server/srv_samr_nt.c +++ b/source/rpc_server/srv_samr_nt.c @@ -126,6 +126,7 @@ static BOOL jf_get_sampwd_entries(SAM_USER_INFO_21 *pw_buf, int start_idx, while (((pwd = getsam21pwent(vp)) != NULL) && (*num_entries) < max_num_entries) { int user_name_len; + int full_name_len; if (acb_mask != 0 && !(pwd->acct_ctrl & acb_mask)) continue; @@ -138,9 +139,14 @@ static BOOL jf_get_sampwd_entries(SAM_USER_INFO_21 *pw_buf, int start_idx, continue; } - user_name_len = strlen(pwd->smb_name)+1; + user_name_len = strlen(pwd->smb_name); init_unistr2(&pw_buf[(*num_entries)].uni_user_name, pwd->smb_name, user_name_len); init_uni_hdr(&pw_buf[(*num_entries)].hdr_user_name, user_name_len); + + full_name_len = strlen(pwd->full_name); + init_unistr2(&pw_buf[(*num_entries)].uni_full_name, pwd->full_name, full_name_len); + init_uni_hdr(&pw_buf[(*num_entries)].hdr_full_name, full_name_len); + pw_buf[(*num_entries)].user_rid = pwd->user_rid; memset((char *)pw_buf[(*num_entries)].nt_pwd, '\0', 16); |