in private .mac file (oops). ntlogin test now works.
ALIAS_INFO_FN(als_inf_fn),
ALIAS_MEM_FN(als_mem_fn));
BOOL create_samr_domain_user( POLICY_HND *pol_dom,
- const char *acct_name, uint16 acb_info,
+ char *acct_name, uint16 acb_info,
const char* password, int plen,
uint32 *rid);
BOOL create_samr_domain_alias( POLICY_HND *pol_open_domain,
uint32 info_level,
uint32 alias_rid, ALIAS_INFO_CTR *ctr);
BOOL msrpc_sam_create_dom_user(const char* srv_name, DOM_SID *sid1,
- const char *acct_name, uint16 acb_info,
+ char *acct_name, uint16 acb_info,
const char *password, int plen,
uint32 *rid);
BOOL msrpc_sam_query_dispinfo(const char* srv_name, const char* domain,
BOOL smb_io_chal(char *desc, DOM_CHAL *chal, prs_struct *ps, int depth);
BOOL smb_io_cred(char *desc, DOM_CRED *cred, prs_struct *ps, int depth);
BOOL make_clnt_info2(DOM_CLNT_INFO2 *clnt,
- char *logon_srv, char *comp_name,
+ const char *logon_srv, const char *comp_name,
DOM_CRED *clnt_cred);
BOOL smb_io_clnt_info2(char *desc, DOM_CLNT_INFO2 *clnt, prs_struct *ps, int depth);
BOOL make_clnt_info(DOM_CLNT_INFO *clnt,
- char *logon_srv, char *acct_name,
- uint16 sec_chan, char *comp_name,
+ const char *logon_srv, const char *acct_name,
+ uint16 sec_chan, const char *comp_name,
DOM_CRED *cred);
BOOL smb_io_clnt_info(char *desc, DOM_CLNT_INFO *clnt, prs_struct *ps, int depth);
BOOL make_owf_info(OWF_INFO *hash, uint8 data[16]);
const char *logon_srv, const char *comp_name,
DOM_CRED *clnt_cred,
DOM_CRED *rtn_cred, uint16 logon_level,
- NET_ID_INFO_CTR *ctr, uint16 validation_level);
+ NET_ID_INFO_CTR *ctr);
BOOL make_net_user_info3(NET_USER_INFO_3 *usr,
NTTIME *logon_time,
DOM_CRED rtn_cred; /* return credentials */
uint16 logon_level;
NET_ID_INFO_CTR *ctr;
- uint16 validation_level;
} DOM_SAM_INFO;
/* NET_Q_SAM_LOGON */
typedef struct net_q_sam_logon_info
{
- DOM_SAM_INFO sam_id;
+ DOM_SAM_INFO sam_id;
+ uint16 validation_level;
} NET_Q_SAM_LOGON;
/* store the parameters */
make_sam_info(&(q_s.sam_id), srv_name, myhostname,
- &new_clnt_cred, &dummy_rtn_creds, ctr->switch_value, ctr, validation_level);
+ &new_clnt_cred, &dummy_rtn_creds, ctr->switch_value, ctr);
+
+ q_s.validation_level = validation_level;
/* turn parameters into data stream */
net_io_q_sam_logon("", &q_s, &buf, 0);
prs_struct rbuf;
prs_struct buf;
NET_Q_SAM_LOGOFF q_s;
- uint16 validation_level = 3;
BOOL ok = False;
struct cli_connection *con = NULL;
/* store the parameters */
make_sam_info(&(q_s.sam_id), srv_name, myhostname,
- &new_clnt_cred, &dummy_rtn_creds, ctr->switch_value, ctr, validation_level);
+ &new_clnt_cred, &dummy_rtn_creds, ctr->switch_value, ctr);
/* turn parameters into data stream */
net_io_q_sam_logoff("", &q_s, &buf, 0);
do a SAMR create domain user
****************************************************************************/
BOOL create_samr_domain_user( POLICY_HND *pol_dom,
- const char *acct_name, uint16 acb_info,
+ char *acct_name, uint16 acb_info,
const char* password, int plen,
uint32 *rid)
{
if (ret == (NT_STATUS_USER_EXISTS | 0xC0000000))
{
uint32 num_rids;
- const char *names[1];
+ char *names[1];
uint32 type[1];
names[0] = acct_name;
SAM create domain user.
****************************************************************************/
BOOL msrpc_sam_create_dom_user(const char* srv_name, DOM_SID *sid1,
- const char *acct_name, uint16 acb_info,
+ char *acct_name, uint16 acb_info,
const char *password, int plen,
uint32 *rid)
{
uint32 user_rid;
POLICY_HND sam_pol;
POLICY_HND pol_dom;
- char *pwd = NULL;
/* establish a connection. */
res = res ? samr_connect(
&pol_dom) : False;
/* create a domain user */
- res2 = res1 ? create_samr_domain_user(
- &pol_dom,
+ res2 = res1 ? create_samr_domain_user( &pol_dom,
acct_name,
acb_info, password, plen, &user_rid) : False;
/*******************************************************************
makes a DOM_CLNT_SRV structure.
********************************************************************/
-static BOOL make_clnt_srv(DOM_CLNT_SRV *log, char *logon_srv, char *comp_name)
+static BOOL make_clnt_srv(DOM_CLNT_SRV *log,
+ const char *logon_srv,
+ const char *comp_name)
{
if (log == NULL) return False;
makes a DOM_CLNT_INFO2 structure.
********************************************************************/
BOOL make_clnt_info2(DOM_CLNT_INFO2 *clnt,
- char *logon_srv, char *comp_name,
+ const char *logon_srv, const char *comp_name,
DOM_CRED *clnt_cred)
{
if (clnt == NULL) return False;
makes a DOM_CLNT_INFO structure.
********************************************************************/
BOOL make_clnt_info(DOM_CLNT_INFO *clnt,
- char *logon_srv, char *acct_name,
- uint16 sec_chan, char *comp_name,
+ const char *logon_srv, const char *acct_name,
+ uint16 sec_chan, const char *comp_name,
DOM_CRED *cred)
{
if (clnt == NULL || cred == NULL) return False;
const char *logon_srv, const char *comp_name,
DOM_CRED *clnt_cred,
DOM_CRED *rtn_cred, uint16 logon_level,
- NET_ID_INFO_CTR *ctr, uint16 validation_level)
+ NET_ID_INFO_CTR *ctr)
{
if (sam == NULL) return False;
sam->logon_level = logon_level;
sam->ctr = ctr;
- sam->validation_level = validation_level;
return True;
}
net_io_id_info_ctr("logon_info", sam->ctr, ps, depth);
}
- prs_uint16("validation_level", ps, depth, &(sam->validation_level));
-
return True;
}
prs_align(ps);
smb_io_sam_info("", &(q_l->sam_id), ps, depth); /* domain SID */
+ prs_uint16("validation_level", ps, depth, &(q_l->validation_level));
+
return True;
}
/*** clear out the password ***/
memset(password, 0, sizeof(password));
+#if 0
/* ok! you're logged in! do anything you like, then... */
/* do an NT logout */
res = res ? cli_nt_logoff(srv_name, info->myhostname, &info->dom.ctr) : False;
+#endif
report(out_hnd,"cmd_nt_login: login (%s) test succeeded: %s\n",
nt_user_name, BOOLSTR(res));
if (acb_info == ACB_WSTRUST || acb_info == ACB_SVRTRUST)
{
- upw.uni_str_len = 24;
- upw.uni_max_len = 24;
+ upw.uni_str_len = 12;
+ upw.uni_max_len = 12;
generate_random_buffer((uchar*)upw.buffer,
- upw.uni_str_len, True);
+ upw.uni_str_len*2, True);
password = (char*)upw.buffer;
- plen = upw.uni_str_len;
+ plen = upw.uni_str_len * 2;
}
if (msrpc_sam_create_dom_user(srv_name, &sid1,