X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=blobdiff_plain;f=source3%2Fpassdb%2Fpassdb.c;h=c014c3221f7c9e4bf8ed160d64c9a6442ea99970;hp=f8d8d00287790a06aefb76aa20a3090de062661e;hb=3871e970b58b917381f9bd68a7cee2c5c64332a9;hpb=f46db61068573779b56f8580c075ee143c3860d5;ds=sidebyside diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c index f8d8d002877..c014c3221f7 100644 --- a/source3/passdb/passdb.c +++ b/source3/passdb/passdb.c @@ -896,16 +896,26 @@ void copy_id23_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_23 *from) pdb_set_pass_can_change_time(to, nt_time_to_unix(&from->pass_can_change_time)); pdb_set_pass_must_change_time(to, nt_time_to_unix(&from->pass_must_change_time)); - pdb_set_username(to , pdb_convert(&from->uni_user_name )); - pdb_set_fullname(to , pdb_convert(&from->uni_full_name )); - pdb_set_homedir(to , pdb_convert(&from->uni_home_dir ), True); - pdb_set_dir_drive(to , pdb_convert(&from->uni_dir_drive ), True); - pdb_set_logon_script(to , pdb_convert(&from->uni_logon_script), True); - pdb_set_profile_path(to , pdb_convert(&from->uni_profile_path), True); - pdb_set_acct_desc(to , pdb_convert(&from->uni_acct_desc )); - pdb_set_workstations(to , pdb_convert(&from->uni_workstations)); - pdb_set_unknown_str(to , pdb_convert(&from->uni_unknown_str )); - pdb_set_munged_dial(to , pdb_convert(&from->uni_munged_dial )); + if (from->uni_user_name.buffer) + pdb_set_username(to , pdb_convert(&from->uni_user_name )); + if (from->uni_full_name.buffer) + pdb_set_fullname(to , pdb_convert(&from->uni_full_name )); + if (from->uni_home_dir.buffer) + pdb_set_homedir(to , pdb_convert(&from->uni_home_dir ), True); + if (from->uni_dir_drive.buffer) + pdb_set_dir_drive(to , pdb_convert(&from->uni_dir_drive ), True); + if (from->uni_logon_script.buffer) + pdb_set_logon_script(to , pdb_convert(&from->uni_logon_script), True); + if (from->uni_profile_path.buffer) + pdb_set_profile_path(to , pdb_convert(&from->uni_profile_path), True); + if (from->uni_acct_desc.buffer) + pdb_set_acct_desc(to , pdb_convert(&from->uni_acct_desc )); + if (from->uni_workstations.buffer) + pdb_set_workstations(to , pdb_convert(&from->uni_workstations)); + if (from->uni_unknown_str.buffer) + pdb_set_unknown_str(to , pdb_convert(&from->uni_unknown_str )); + if (from->uni_munged_dial.buffer) + pdb_set_munged_dial(to , pdb_convert(&from->uni_munged_dial )); if (from->user_rid) pdb_set_user_rid(to, from->user_rid); @@ -940,16 +950,26 @@ void copy_id21_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_21 *from) pdb_set_pass_can_change_time(to, nt_time_to_unix(&from->pass_can_change_time)); pdb_set_pass_must_change_time(to, nt_time_to_unix(&from->pass_must_change_time)); - pdb_set_username(to , pdb_convert(&from->uni_user_name )); - pdb_set_fullname(to , pdb_convert(&from->uni_full_name )); - pdb_set_homedir(to , pdb_convert(&from->uni_home_dir ), True); - pdb_set_dir_drive(to , pdb_convert(&from->uni_dir_drive ), True); - pdb_set_logon_script(to , pdb_convert(&from->uni_logon_script), True); - pdb_set_profile_path(to , pdb_convert(&from->uni_profile_path), True); - pdb_set_acct_desc(to , pdb_convert(&from->uni_acct_desc )); - pdb_set_workstations(to , pdb_convert(&from->uni_workstations)); - pdb_set_unknown_str(to , pdb_convert(&from->uni_unknown_str )); - pdb_set_munged_dial(to , pdb_convert(&from->uni_munged_dial )); + if (from->uni_user_name.buffer) + pdb_set_username(to , pdb_convert(&from->uni_user_name )); + if (from->uni_full_name.buffer) + pdb_set_fullname(to , pdb_convert(&from->uni_full_name )); + if (from->uni_home_dir.buffer) + pdb_set_homedir(to , pdb_convert(&from->uni_home_dir ), True); + if (from->uni_dir_drive.buffer) + pdb_set_dir_drive(to , pdb_convert(&from->uni_dir_drive ), True); + if (from->uni_logon_script.buffer) + pdb_set_logon_script(to , pdb_convert(&from->uni_logon_script), True); + if (from->uni_profile_path.buffer) + pdb_set_profile_path(to , pdb_convert(&from->uni_profile_path), True); + if (from->uni_acct_desc.buffer) + pdb_set_acct_desc(to , pdb_convert(&from->uni_acct_desc )); + if (from->uni_workstations.buffer) + pdb_set_workstations(to , pdb_convert(&from->uni_workstations)); + if (from->uni_unknown_str.buffer) + pdb_set_unknown_str(to , pdb_convert(&from->uni_unknown_str )); + if (from->uni_munged_dial.buffer) + pdb_set_munged_dial(to , pdb_convert(&from->uni_munged_dial )); if (from->user_rid) pdb_set_user_rid(to, from->user_rid);