#define BITSETB(ptr,bit) ((((char *)ptr)[0] & (1<<(bit)))!=0)
#define BITSETW(ptr,bit) ((SVAL(ptr,0) & (1<<(bit)))!=0)
-#define IS_BITS_SET_ALL(var,bit) (((var)&(bit))==(bit))
-#define IS_BITS_SET_SOME(var,bit) (((var)&(bit))!=0)
-#define IS_BITS_CLR_ALL(var,bit) (((var)&(bit))==0)
-#define IS_BITS_CLR_SOME(var,bit) (((var)&(bit))!=(bit))
-
/* for readability... */
#define IS_DOS_READONLY(test_mode) (((test_mode) & aRONLY) != 0)
#define IS_DOS_DIR(test_mode) (((test_mode) & aDIR) != 0)
}
}
- if (IS_BITS_SET_ALL(cmd_set_options, CMD_INTER))
- {
+ if (cmd_set_options & CMD_INTER) {
setup_logging(debugf, interactive);
if (!interactive)
reopen_logs();
strupper(global_myname);
fstrcpy(cli_info.myhostname, global_myname);
- if (IS_BITS_SET_ALL(cmd_set_options, CMD_SVC))
- {
+ if (cmd_set_options & CMD_SVC) {
if (!lp_load(servicesf, True, False, False))
{
fprintf(stderr,
}
- if (IS_BITS_SET_ALL(cmd_set_options, CMD_INTER))
- {
+ if (cmd_set_options & CMD_INTER) {
load_interfaces();
}
DEBUG(10, ("cmd_set: options: %x\n", cmd_set_options));
- if (IS_BITS_SET_ALL(cmd_set_options, CMD_HELP))
- {
+ if (cmd_set_options & CMD_HELP) {
return 0;
}
- if (IS_BITS_SET_ALL(cmd_set_options, CMD_NOPW))
- {
+ if (cmd_set_options & CMD_NOPW) {
set_user_password(&usr.ntc, True, NULL);
}
else
{
set_user_password(&usr.ntc,
- IS_BITS_SET_ALL(cmd_set_options, CMD_PASS),
+ ((cmd_set_options & CMD_PASS) != 0),
password);
}
status = cmd_set(&cli_info, argc, argv);
- if (IS_BITS_SET_SOME(cmd_set_options, CMD_HELP|CMD_STR))
- {
+ if (cmd_set_options & (CMD_HELP|CMD_STR)) {
free_connections();
get_safe_nt_error_msg(status, msg, sizeof(msg));
uint32 nt_err = IVAL(cli->inbuf,smb_rcls);
if (num) *num = nt_err;
DEBUG(10,("cli_error: 32 bit codes: code=%08x\n", nt_err));
- if (!IS_BITS_SET_ALL(nt_err, 0xc0000000)) return 0;
+ if (!(nt_err & 0xc0000000))
+ return 0;
switch (nt_err) {
case NT_STATUS_ACCESS_VIOLATION: return EACCES;
SSVAL(cli->outbuf,smb_vwv2,fnum);
SIVAL(cli->outbuf,smb_vwv3,offset);
- SIVAL(cli->outbuf,smb_vwv5,IS_BITS_SET_ALL(mode, 0x0008) ? 0xFFFFFFFF : 0);
+ SIVAL(cli->outbuf,smb_vwv5,(mode & 0x0008) ? 0xFFFFFFFF : 0);
SSVAL(cli->outbuf,smb_vwv7,mode);
- SSVAL(cli->outbuf,smb_vwv8,IS_BITS_SET_ALL(mode, 0x0008) ? size : 0);
+ SSVAL(cli->outbuf,smb_vwv8,(mode & 0x0008) ? size : 0);
SSVAL(cli->outbuf,smb_vwv10,size);
SSVAL(cli->outbuf,smb_vwv11,
smb_buf(cli->outbuf) - smb_base(cli->outbuf));
**************************************************************/
void pdb_sethexpwd(char *p, unsigned char *pwd, uint16 acct_ctrl)
{
- if (pwd != NULL)
- {
+ if (pwd != NULL) {
int i;
for (i = 0; i < 16; i++)
- {
slprintf(&p[i*2], 3, "%02X", pwd[i]);
- }
- }
- else
- {
- if (IS_BITS_SET_ALL(acct_ctrl, ACB_PWNOTREQ))
- {
+ } else {
+ if (acct_ctrl & ACB_PWNOTREQ)
safe_strcpy(p, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX", 33);
- }
else
- {
safe_strcpy(p, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 33);
- }
}
}
/*************************************************************
return False;
}
- (*first) = IS_BITS_SET_ALL(rhdr->flags, RPC_FLG_FIRST);
- (*last) = IS_BITS_SET_ALL(rhdr->flags, RPC_FLG_LAST );
+ (*first) = ((rhdr->flags & RPC_FLG_FIRST) != 0);
+ (*last) = ((rhdr->flags & RPC_FLG_LAST ) != 0);
(*len) = (uint32)rhdr->frag_len - prs_data_size(rdata);
return (rhdr->pkt_type != RPC_FAULT);
*/
char *reply_data = prs_data_p(rdata) + RPC_HEADER_LEN + RPC_HDR_REQ_LEN;
- BOOL auth_verify = IS_BITS_SET_ALL(cli->ntlmssp_srv_flgs, NTLMSSP_NEGOTIATE_SIGN);
- BOOL auth_seal = IS_BITS_SET_ALL(cli->ntlmssp_srv_flgs, NTLMSSP_NEGOTIATE_SEAL);
+ BOOL auth_verify = ((cli->ntlmssp_srv_flgs & NTLMSSP_NEGOTIATE_SIGN) != 0);
+ BOOL auth_seal = ((cli->ntlmssp_srv_flgs & NTLMSSP_NEGOTIATE_SEAL) != 0);
DEBUG(5,("rpc_auth_pipe: len: %d auth_len: %d verify %s seal %s\n",
len, auth_len, BOOLSTR(auth_verify), BOOLSTR(auth_seal)));
uint32 crc32 = 0;
char *pdata_out = NULL;
- auth_verify = IS_BITS_SET_ALL(cli->ntlmssp_srv_flgs, NTLMSSP_NEGOTIATE_SIGN);
- auth_seal = IS_BITS_SET_ALL(cli->ntlmssp_srv_flgs, NTLMSSP_NEGOTIATE_SEAL);
+ auth_verify = ((cli->ntlmssp_srv_flgs & NTLMSSP_NEGOTIATE_SIGN) != 0);
+ auth_seal = ((cli->ntlmssp_srv_flgs & NTLMSSP_NEGOTIATE_SEAL) != 0);
/*
* The auth_len doesn't include the RPC_HDR_AUTH_LEN.
{
int fnum;
- if (IS_BITS_SET_ALL(cli->capabilities, CAP_NT_SMBS)) {
+ if (cli->capabilities & CAP_NT_SMBS) {
if ((fnum = cli_nt_create(cli, &(pipe_name[5]))) == -1) {
DEBUG(0,("cli_nt_session_open: cli_nt_create failed on pipe %s to machine %s. Error was %s\n",
&(pipe_name[5]), cli->desthost, cli_errstr(cli)));
offset = 0x40;
- if (IS_BITS_SET_ALL(neg_flags, NTLMSSP_NEGOTIATE_UNICODE))
- {
+ if (neg_flags & NTLMSSP_NEGOTIATE_UNICODE) {
dom_len *= 2;
wks_len *= 2;
usr_len *= 2;
memcpy(rsp->lm_resp, lm_resp, 24);
memcpy(rsp->nt_resp, nt_resp, 24);
- if (IS_BITS_SET_ALL(neg_flags, NTLMSSP_NEGOTIATE_UNICODE)) {
+ if (neg_flags & NTLMSSP_NEGOTIATE_UNICODE) {
dos_struni2(rsp->domain, domain, sizeof(rsp->domain));
dos_struni2(rsp->user, user, sizeof(rsp->user));
dos_struni2(rsp->wks, wks, sizeof(rsp->wks));
}
for (i = start_idx, entries_added = 0; i < num_sam_entries; i++) {
- if (IS_BITS_SET_ALL(pass[i].acb_info, acb_mask)) {
+ if ((pass[i].acb_info & acb_mask) == acb_mask) {
init_sam_entry2(&sam->sam[entries_added],
start_idx + entries_added + 1,
pass[i].uni_user_name.uni_str_len,
for (i = 0, entries_added = 0;
i < num_sam_entries; i++) {
- if (IS_BITS_SET_ALL(pass[i].acb_info, acb_mask)) {
+ if ((pass[i].acb_info & acb_mask) == acb_mask) {
init_sam_entry1(&sam->sam[entries_added],
start_idx + entries_added + 1,
pass[i].uni_user_name.uni_str_len,
max_offset = MAX(max_offset, prs_offset(ps));
- if (IS_BITS_SET_ALL(psd->type, SEC_DESC_SACL_PRESENT) && psd->off_sacl) {
+ if ((psd->type & SEC_DESC_SACL_PRESENT) && psd->off_sacl) {
if(!prs_set_offset(ps, old_offset + psd->off_sacl))
return False;
if(!sec_io_acl("sacl", &psd->sacl, ps, depth))
max_offset = MAX(max_offset, prs_offset(ps));
- if (IS_BITS_SET_ALL(psd->type, SEC_DESC_DACL_PRESENT) && psd->off_dacl != 0) {
+ if ((psd->type & SEC_DESC_DACL_PRESENT) && psd->off_dacl != 0) {
if(!prs_set_offset(ps, old_offset + psd->off_dacl))
return False;
if(!sec_io_acl("dacl", &psd->dacl, ps, depth))
if(!prs_align(ps))
return False;
- if(!prs_uint32("level", ps, depth, &(cont->level)))
+ if(!prs_uint32("level", ps, depth, &cont->level))
return False;
- if(!smb_io_doc_info("",&(cont->docinfo), ps, depth))
+ if(!smb_io_doc_info("",&cont->docinfo, ps, depth))
return False;
return True;
/* parse the option type data */
for(i=0;i<type->count2;i++)
- if(!prs_uint16("fields",ps,depth,&(type->fields[i])))
+ if(!prs_uint16("fields",ps,depth,&type->fields[i]))
return False;
return True;
}
(char *)vuser->dc.md4pw, vuser->dc.sess_key);
} else {
/* lkclXXXX take a guess at a good error message to return :-) */
- status = 0xC0000000 | NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT;
+ status = NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT;
}
/* construct reply. */
static BOOL api_net_auth_2(pipes_struct *p)
{
- uint16 vuid = p->vuid;
+ uint16 vuid = p->vuid;
NET_Q_AUTH_2 q_a;
uint32 status = 0x0;
prs_struct *data = &p->in_data.data;
memcpy(vuser->dc.clnt_cred.challenge.data, q_a.clnt_chal.data, sizeof(q_a.clnt_chal.data));
memcpy(vuser->dc.srv_cred .challenge.data, q_a.clnt_chal.data, sizeof(q_a.clnt_chal.data));
} else {
- status = NT_STATUS_ACCESS_DENIED | 0xC0000000;
+ status = NT_STATUS_ACCESS_DENIED;
}
/* construct reply. */
static BOOL api_net_srv_pwset(pipes_struct *p)
{
- uint16 vuid = p->vuid;
+ uint16 vuid = p->vuid;
NET_Q_SRV_PWSET q_a;
- uint32 status = NT_STATUS_WRONG_PASSWORD|0xC0000000;
+ uint32 status = NT_STATUS_WRONG_PASSWORD;
DOM_CRED srv_cred;
pstring mach_acct;
struct smb_passwd *smb_pass;
} else {
/* lkclXXXX take a guess at a sensible error code to return... */
- status = 0xC0000000 | NT_STATUS_NETWORK_CREDENTIAL_CONFLICT;
+ status = NT_STATUS_NETWORK_CREDENTIAL_CONFLICT;
}
/* Construct reply. */
if (memcmp(smb_pass->smb_passwd , lm_pwd, 16) != 0 ||
memcmp(smb_pass->smb_nt_passwd, nt_pwd, 16) != 0)
{
- status = 0xC0000000 | NT_STATUS_WRONG_PASSWORD;
+ status = NT_STATUS_WRONG_PASSWORD;
}
return status;
id2->lm_chal))
return 0x0;
else
- return 0xC0000000 | NT_STATUS_WRONG_PASSWORD;
+ return NT_STATUS_WRONG_PASSWORD;
}
/* lkclXXXX this is not a good place to put disabling of LM hashes in.
/* oops! neither password check succeeded */
- return 0xC0000000 | NT_STATUS_WRONG_PASSWORD;
+ return NT_STATUS_WRONG_PASSWORD;
}
/*************************************************************************
/* checks and updates credentials. creates reply credentials */
if (!deal_with_creds(vuser->dc.sess_key, &(vuser->dc.clnt_cred),
&(q_l.sam_id.client.cred), &srv_cred))
- status = 0xC0000000 | NT_STATUS_INVALID_HANDLE;
+ status = NT_STATUS_INVALID_HANDLE;
else
memcpy(&(vuser->dc.srv_cred), &(vuser->dc.clnt_cred),
sizeof(vuser->dc.clnt_cred));
break;
default:
DEBUG(2,("SAM Logon: unsupported switch value\n"));
- status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ status = NT_STATUS_INVALID_INFO_CLASS;
break;
} /* end switch */
} /* end if status == 0 */
unbecome_root();
if (smb_pass == NULL)
- status = 0xC0000000 | NT_STATUS_NO_SUCH_USER;
+ status = NT_STATUS_NO_SUCH_USER;
else if (smb_pass->acct_ctrl & ACB_PWNOTREQ)
status = 0;
else if (smb_pass->acct_ctrl & ACB_DISABLED)
- status = 0xC0000000 | NT_STATUS_ACCOUNT_DISABLED;
+ status = NT_STATUS_ACCOUNT_DISABLED;
}
/* Validate password - if required. */
&global_sam_sid, /* DOM_SID *dom_sid */
NULL); /* char *other_sids */
else
- status = 0xC0000000 | NT_STATUS_NO_SUCH_USER;
+ status = NT_STATUS_NO_SUCH_USER;
/* Free any allocated groups array. */
if(gids)
BOOL create_next_pdu(pipes_struct *p)
{
RPC_HDR_RESP hdr_resp;
- BOOL auth_verify = IS_BITS_SET_ALL(p->ntlmssp_chal_flags, NTLMSSP_NEGOTIATE_SIGN);
- BOOL auth_seal = IS_BITS_SET_ALL(p->ntlmssp_chal_flags, NTLMSSP_NEGOTIATE_SEAL);
+ BOOL auth_verify = ((p->ntlmssp_chal_flags & NTLMSSP_NEGOTIATE_SIGN) != 0);
+ BOOL auth_seal = ((p->ntlmssp_chal_flags & NTLMSSP_NEGOTIATE_SEAL) != 0);
uint32 data_len;
uint32 data_space_available;
uint32 data_len_left;
* We always negotiate UNICODE.
*/
- if (IS_BITS_SET_ALL(p->ntlmssp_chal_flags, NTLMSSP_NEGOTIATE_UNICODE)) {
+ if (p->ntlmssp_chal_flags & NTLMSSP_NEGOTIATE_UNICODE) {
fstrcpy(user_name, dos_unistrn2((uint16*)ntlmssp_resp->user, ntlmssp_resp->hdr_usr.str_str_len/2));
fstrcpy(domain, dos_unistrn2((uint16*)ntlmssp_resp->domain, ntlmssp_resp->hdr_domain.str_str_len/2));
fstrcpy(wks, dos_unistrn2((uint16*)ntlmssp_resp->wks, ntlmssp_resp->hdr_wks.str_str_len/2));
/*
* We always negotiate the following two bits....
*/
- BOOL auth_verify = IS_BITS_SET_ALL(p->ntlmssp_chal_flags, NTLMSSP_NEGOTIATE_SIGN);
- BOOL auth_seal = IS_BITS_SET_ALL(p->ntlmssp_chal_flags, NTLMSSP_NEGOTIATE_SEAL);
+ BOOL auth_verify = ((p->ntlmssp_chal_flags & NTLMSSP_NEGOTIATE_SIGN) != 0);
+ BOOL auth_seal = ((p->ntlmssp_chal_flags & NTLMSSP_NEGOTIATE_SEAL) != 0);
int data_len;
int auth_len;
uint32 old_offset;
fstrcpy(p->name, pipe_name);
-#if 0
-
- Comment out until memory leak fixed. JRA.
-
- /*
- * For Luke - attempt to connect to RPC redirect process.
- */
-
- attempt_remote_rpc_connect(p);
-#endif
-
DEBUG(4,("Opened pipe %s with handle %x (pipes_open=%d)\n",
pipe_name, i, pipes_open));
static BOOL process_request_pdu(pipes_struct *p, prs_struct *rpc_in_p)
{
- BOOL auth_verify = IS_BITS_SET_ALL(p->ntlmssp_chal_flags, NTLMSSP_NEGOTIATE_SIGN);
+ BOOL auth_verify = ((p->ntlmssp_chal_flags & NTLMSSP_NEGOTIATE_SIGN) != 0);
size_t data_len = p->hdr.frag_len - RPC_HEADER_LEN - RPC_HDR_REQ_LEN -
(auth_verify ? RPC_HDR_AUTH_LEN : 0) - p->hdr.auth_len;
(*num_entries), pwd->smb_name,
pwd->user_rid, pwd->acct_ctrl));
- if (acb_mask == 0 || IS_BITS_SET_SOME(pwd->acct_ctrl, acb_mask)) {
+ if (acb_mask == 0 || (pwd->acct_ctrl & acb_mask)) {
DEBUG(5,(" acb_mask %x accepts\n", acb_mask));
(*num_entries)++;
} else {
&resume_hnd, &r_n->total_entries)) {
r_n->status = 0x0;
} else {
- r_n->status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ r_n->status = NT_STATUS_INVALID_INFO_CLASS;
}
init_enum_hnd(&r_n->enum_hnd, resume_hnd);
break;
default:
DEBUG(5,("init_srv_net_share_get_info: unsupported switch value %d\n", info_level));
- status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ status = NT_STATUS_INVALID_INFO_CLASS;
break;
}
} else {
- status = 0xC0000000 | NT_STATUS_BAD_NETWORK_NAME;
+ status = NT_STATUS_BAD_NETWORK_NAME;
}
r_n->ptr_share_ctr = (status == 0x0) ? 1 : 0;
(*resume_hnd) = 0;
(*total_entries) = 0;
ctr->ptr_sess_ctr = 0;
- status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ status = NT_STATUS_INVALID_INFO_CLASS;
break;
}
}
r_n->sess_level = sess_level;
if (sess_level == -1)
{
- r_n->status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ r_n->status = NT_STATUS_INVALID_INFO_CLASS;
}
else
{
(*resume_hnd = 0);
(*total_entries) = 0;
ctr->ptr_conn_ctr = 0;
- status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ status = NT_STATUS_INVALID_INFO_CLASS;
break;
}
}
r_n->conn_level = conn_level;
if (conn_level == -1)
{
- r_n->status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ r_n->status = NT_STATUS_INVALID_INFO_CLASS;
}
else
{
(*resume_hnd = 0);
(*total_entries) = 0;
ctr->ptr_file_ctr = 0;
- status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ status = NT_STATUS_INVALID_INFO_CLASS;
break;
}
}
r_n->file_level = file_level;
if (file_level == 0)
{
- r_n->status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ r_n->status = NT_STATUS_INVALID_INFO_CLASS;
}
else
{
}
default:
{
- status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ status = NT_STATUS_INVALID_INFO_CLASS;
break;
}
}
}
DEBUG(5,(" none mapped\n"));
- return 0xC0000000 | NT_STATUS_NONE_MAPPED;
+ return NT_STATUS_NONE_MAPPED;
}
/*******************************************************************
}
DEBUG(5,(" none mapped\n"));
- return 0xC0000000 | NT_STATUS_NONE_MAPPED;
+ return NT_STATUS_NONE_MAPPED;
}
/*******************************************************************
}
DEBUG(5,(" none mapped\n"));
- return 0xC0000000 | NT_STATUS_NONE_MAPPED;
+ return NT_STATUS_NONE_MAPPED;
}
/*******************************************************************
} while (grp_name != NULL && !strequal(grp_name, group_name));
- return (grp_name != NULL) ? 0 : 0xC0000000 | NT_STATUS_NONE_MAPPED;
+ return (grp_name != NULL) ? 0 : NT_STATUS_NONE_MAPPED;
}
/*******************************************************************
} while (als_name != NULL && !strequal(als_name, alias_name));
- return (als_name != NULL) ? 0 : 0xC0000000 | NT_STATUS_NONE_MAPPED;
+ return (als_name != NULL) ? 0 : NT_STATUS_NONE_MAPPED;
}
/*******************************************************************
return 0x0;
}
- return 0xC0000000 | NT_STATUS_NONE_MAPPED;
+ return NT_STATUS_NONE_MAPPED;
}
#undef OLD_NTDOMAIN
char *get_file_oplock_str(uint32 op_type)
{
static fstring oplock;
- BOOL excl = IS_BITS_SET_ALL(op_type, EXCLUSIVE_OPLOCK);
- BOOL batch = IS_BITS_SET_ALL(op_type, BATCH_OPLOCK );
+ BOOL excl = ((op_type & EXCLUSIVE_OPLOCK) != 0);
+ BOOL batch = ((op_type & BATCH_OPLOCK ) != 0);
oplock[0] = 0;
typestr[0] = 0;
for (i = 0; i < 32; i++)
{
- if (IS_BITS_SET_ALL(type, 1 << i))
+ if (type & (1 << i))
{
switch (((unsigned)1) << i)
{
typestr[0] = 0;
for (i = 0; i < 32; i++)
{
- if (IS_BITS_SET_ALL(type, 1 << i))
+ if (type & (1 << i))
{
switch (((unsigned)1) << i)
{
typestr[0] = 0;
for (i = 0; i < 32; i++)
{
- if (IS_BITS_SET_ALL(type, 1 << i))
+ if (type & (1 << i))
{
switch (1 << i)
{
if( fname[0] == ':') {
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_OBJECT_PATH_NOT_FOUND));
+ return(ERROR(0, NT_STATUS_OBJECT_PATH_NOT_FOUND));
}
return(ERROR(ERRDOS,ERRbadfid));
}
if (create_options & FILE_NON_DIRECTORY_FILE) {
restore_case_semantics(file_attributes);
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_FILE_IS_A_DIRECTORY));
+ return(ERROR(0, NT_STATUS_FILE_IS_A_DIRECTORY));
}
oplock_request = 0;
if( fname[0] == ':') {
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_OBJECT_PATH_NOT_FOUND));
+ return(ERROR(0, NT_STATUS_OBJECT_PATH_NOT_FOUND));
}
return(ERROR(ERRDOS,ERRbadfid));
if (create_options & FILE_NON_DIRECTORY_FILE) {
restore_case_semantics(file_attributes);
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_FILE_IS_A_DIRECTORY));
+ return(ERROR(0, NT_STATUS_FILE_IS_A_DIRECTORY));
}
oplock_request = 0;
free_sec_desc(&psd);
- send_nt_replies(inbuf, outbuf, bufsize, 0xC0000000|NT_STATUS_BUFFER_TOO_SMALL,
+ send_nt_replies(inbuf, outbuf, bufsize, NT_STATUS_BUFFER_TOO_SMALL,
params, 4, *ppdata, 0);
return -1;
}
if(smb_pass->acct_ctrl & ACB_DISABLED) {
DEBUG(1,("Account for user '%s' was disabled.\n", user));
return(False);
- }
+ }
/* Ensure the uid's match */
if (smb_pass->smb_userid != pass->pw_uid)
return(False);
}
- if (lm_pwd[0] == '\0' && IS_BITS_SET_ALL(smb_pass->acct_ctrl, ACB_PWNOTREQ) && lp_null_passwords())
+ if (lm_pwd[0] == '\0' && (smb_pass->acct_ctrl & ACB_PWNOTREQ) && lp_null_passwords())
{
DEBUG(3,("Account for user '%s' has no password and null passwords are allowed.\n", smb_pass->smb_name));
return(True);
char *smb_nt_passwd, int smb_nt_passlen)
{
struct smb_passwd *smb_trust_acct = NULL; /* check if trust account exists */
- if (lp_security() == SEC_USER)
- {
+ if (lp_security() == SEC_USER) {
smb_trust_acct = getsmbpwnam(user);
- }
- else
- {
+ } else {
DEBUG(0,("session_trust_account: Trust account %s only supported with security = user\n", user));
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_LOGON_FAILURE));
+ return(ERROR(0, NT_STATUS_LOGON_FAILURE));
}
- if (smb_trust_acct == NULL)
- {
+ if (smb_trust_acct == NULL) {
/* lkclXXXX: workstation entry doesn't exist */
DEBUG(0,("session_trust_account: Trust account %s user doesn't exist\n",user));
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_NO_SUCH_USER));
- }
- else
- {
- if ((smb_passlen != 24) || (smb_nt_passlen != 24))
- {
+ return(ERROR(0, NT_STATUS_NO_SUCH_USER));
+ } else {
+ if ((smb_passlen != 24) || (smb_nt_passlen != 24)) {
DEBUG(0,("session_trust_account: Trust account %s - password length wrong.\n", user));
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_LOGON_FAILURE));
+ return(ERROR(0, NT_STATUS_LOGON_FAILURE));
}
- if (!smb_password_ok(smb_trust_acct, NULL, (unsigned char *)smb_passwd, (unsigned char *)smb_nt_passwd))
- {
+ if (!smb_password_ok(smb_trust_acct, NULL, (unsigned char *)smb_passwd, (unsigned char *)smb_nt_passwd)) {
DEBUG(0,("session_trust_account: Trust Account %s - password failed\n", user));
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_LOGON_FAILURE));
+ return(ERROR(0, NT_STATUS_LOGON_FAILURE));
}
- if (IS_BITS_SET_ALL(smb_trust_acct->acct_ctrl, ACB_DOMTRUST))
- {
+ if (smb_trust_acct->acct_ctrl & ACB_DOMTRUST) {
DEBUG(0,("session_trust_account: Domain trust account %s denied by server\n",user));
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT));
+ return(ERROR(0, NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT));
}
- if (IS_BITS_SET_ALL(smb_trust_acct->acct_ctrl, ACB_SVRTRUST))
- {
+ if (smb_trust_acct->acct_ctrl & ACB_SVRTRUST) {
DEBUG(0,("session_trust_account: Server trust account %s denied by server\n",user));
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT));
+ return(ERROR(0, NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT));
}
- if (IS_BITS_SET_ALL(smb_trust_acct->acct_ctrl, ACB_WSTRUST))
- {
+ if (smb_trust_acct->acct_ctrl & ACB_WSTRUST) {
DEBUG(4,("session_trust_account: Wksta trust account %s denied by server\n", user));
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT));
+ return(ERROR(0, NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT));
}
}
/* don't know what to do: indicate logon failure */
SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0, 0xc0000000|NT_STATUS_LOGON_FAILURE));
+ return(ERROR(0, NT_STATUS_LOGON_FAILURE));
}
/****************************************************************************
if(((ra_type == RA_WINNT) || (ra_type == RA_WIN2K)) &&
(global_client_caps & (CAP_NT_SMBS | CAP_STATUS32 ))) {
SSVAL(outbuf,smb_flg2,FLAGS2_32_BIT_ERROR_CODES);
- return(ERROR(0,0xc0000000|NT_STATUS_LOGON_FAILURE));
+ return(ERROR(0,NT_STATUS_LOGON_FAILURE));
}
return(ERROR(ERRSRV,ERRbadpw));