svn commit: samba r9764 - in branches/SOC/SAMBA_3_0/source: include
libmsrpc
skel at samba.org
skel at samba.org
Mon Aug 29 23:03:14 GMT 2005
Author: skel
Date: 2005-08-29 23:03:14 +0000 (Mon, 29 Aug 2005)
New Revision: 9764
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9764
Log:
cac_SamSetUserInfo() now works with a SAM_USER_INFO_21 instead of SAM_USER_INFO_23
Modified:
branches/SOC/SAMBA_3_0/source/include/libmsrpc.h
branches/SOC/SAMBA_3_0/source/libmsrpc/cac_samr.c
branches/SOC/SAMBA_3_0/source/libmsrpc/libmsrpc_internal.c
Changeset:
Modified: branches/SOC/SAMBA_3_0/source/include/libmsrpc.h
===================================================================
--- branches/SOC/SAMBA_3_0/source/include/libmsrpc.h 2005-08-29 22:04:11 UTC (rev 9763)
+++ branches/SOC/SAMBA_3_0/source/include/libmsrpc.h 2005-08-29 23:03:14 UTC (rev 9764)
@@ -254,9 +254,6 @@
/**Possible logon hours*/
LOGON_HRS *logon_hours;
- /**this must be set when calling cac_SamSetUserInfo()*/
- char *new_password;
-
} CacUserInfo;
typedef struct _CACGROUPINFO {
Modified: branches/SOC/SAMBA_3_0/source/libmsrpc/cac_samr.c
===================================================================
--- branches/SOC/SAMBA_3_0/source/libmsrpc/cac_samr.c 2005-08-29 22:04:11 UTC (rev 9763)
+++ branches/SOC/SAMBA_3_0/source/libmsrpc/cac_samr.c 2005-08-29 23:03:14 UTC (rev 9764)
@@ -1776,11 +1776,11 @@
srv->cli.pipe_idx = PI_SAMR;
if(hnd->_internal.srv_level >= SRV_WIN_NT4) {
- hnd->status = cli_samr_set_userinfo2( &(srv->cli), mem_ctx, op->in.user_hnd, 23, &(srv->cli.user_session_key), ctr);
+ hnd->status = cli_samr_set_userinfo2( &(srv->cli), mem_ctx, op->in.user_hnd, 21, &(srv->cli.user_session_key), ctr);
}
if(hnd->_internal.srv_level < SRV_WIN_NT4 || !NT_STATUS_IS_OK(hnd->status)) {
- hnd->status = cli_samr_set_userinfo( &(srv->cli), mem_ctx, op->in.user_hnd, 23, &(srv->cli.user_session_key), ctr);
+ hnd->status = cli_samr_set_userinfo( &(srv->cli), mem_ctx, op->in.user_hnd, 21, &(srv->cli.user_session_key), ctr);
if(NT_STATUS_IS_OK(hnd->status) && hnd->_internal.srv_level > SRV_WIN_NT4) {
hnd->_internal.srv_level = SRV_WIN_NT4;
Modified: branches/SOC/SAMBA_3_0/source/libmsrpc/libmsrpc_internal.c
===================================================================
--- branches/SOC/SAMBA_3_0/source/libmsrpc/libmsrpc_internal.c 2005-08-29 22:04:11 UTC (rev 9763)
+++ branches/SOC/SAMBA_3_0/source/libmsrpc/libmsrpc_internal.c 2005-08-29 23:03:14 UTC (rev 9764)
@@ -310,7 +310,16 @@
NTTIME pass_can_change_time;
NTTIME pass_must_change_time;
- uchar pw[516];
+ UNISTR2 user_name;
+ UNISTR2 full_name;
+ UNISTR2 home_dir;
+ UNISTR2 dir_drive;
+ UNISTR2 log_scr;
+ UNISTR2 prof_path;
+ UNISTR2 desc;
+ UNISTR2 wkstas;
+ UNISTR2 mung_dial;
+ UNISTR2 unk;
ctr = talloc(mem_ctx, SAM_USERINFO_CTR);
if(!ctr)
@@ -318,13 +327,13 @@
ZERO_STRUCTP(ctr->info.id23);
- ctr->info.id23 = talloc(mem_ctx, SAM_USER_INFO_23);
- if(!ctr->info.id23)
+ ctr->info.id21 = talloc(mem_ctx, SAM_USER_INFO_21);
+ if(!ctr->info.id21)
return NULL;
- ctr->switch_value = 23;
+ ctr->switch_value = 21;
- ZERO_STRUCTP(ctr->info.id23);
+ ZERO_STRUCTP(ctr->info.id21);
unix_to_nt_time(&logon_time, info->logon_time);
unix_to_nt_time(&logoff_time, info->logoff_time);
@@ -333,28 +342,40 @@
unix_to_nt_time(&pass_can_change_time, info->pass_can_change_time);
unix_to_nt_time(&pass_must_change_time, info->pass_must_change_time);
- encode_pw_buffer(pw, info->new_password, STR_UNICODE);
-
+ /*initialize the strings*/
+ init_unistr2(&user_name, info->username, STR_TERMINATE);
+ init_unistr2(&full_name, info->full_name, STR_TERMINATE);
+ init_unistr2(&home_dir, info->home_dir, STR_TERMINATE);
+ init_unistr2(&dir_drive, info->home_drive, STR_TERMINATE);
+ init_unistr2(&log_scr, info->logon_script, STR_TERMINATE);
+ init_unistr2(&prof_path, info->profile_path, STR_TERMINATE);
+ init_unistr2(&desc, info->description, STR_TERMINATE);
+ init_unistr2(&wkstas, info->workstations, STR_TERMINATE);
+ init_unistr2(&unk, "\0", STR_TERMINATE);
+ init_unistr2(&mung_dial, info->dial, STR_TERMINATE);
+
/*manually set passmustchange*/
- ctr->info.id23->passmustchange = (info->pass_must_change) ? 0x01 : 0x00;
+ ctr->info.id21->passmustchange = (info->pass_must_change) ? 0x01 : 0x00;
- init_sam_user_info23A(ctr->info.id23,
+ init_sam_user_info21W(ctr->info.id21,
&logon_time,
&logoff_time,
&kickoff_time,
&pass_last_set_time,
&pass_can_change_time,
&pass_must_change_time,
- info->username,
- info->full_name,
- info->home_dir,
- info->home_drive,
- info->logon_script,
- info->profile_path,
- info->description,
- info->workstations,
- "\0",
- info->dial,
+ &user_name,
+ &full_name,
+ &home_dir,
+ &dir_drive,
+ &log_scr,
+ &prof_path,
+ &desc,
+ &wkstas,
+ &unk,
+ &mung_dial,
+ info->lm_password,
+ info->nt_password,
info->rid,
info->group_rid,
info->acb_mask,
@@ -362,9 +383,8 @@
168, /*logon divs*/
info->logon_hours,
info->bad_passwd_count,
- info->logon_count,
- (char *)pw);
-
+ info->logon_count);
+
return ctr;
}
More information about the samba-cvs
mailing list