diff options
author | Günther Deschner <gd@samba.org> | 2006-02-27 10:32:45 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:10:25 -0500 |
commit | e54786b53543b4667288c64abb55478fddd95061 (patch) | |
tree | c9641bd414989a72be6c425f9857f5731da74188 /source3/rpc_parse/parse_net.c | |
parent | bd97e1a5eae982feda5e5bbd08e7f4e3b6473baf (diff) | |
download | samba-e54786b53543b4667288c64abb55478fddd95061.tar.gz samba-e54786b53543b4667288c64abb55478fddd95061.tar.bz2 samba-e54786b53543b4667288c64abb55478fddd95061.zip |
r13711: * Correctly handle acb_info/acct_flags as uint32 not as uint16.
* Fix a couple of related parsing issues.
* in the info3 reply in a samlogon, return the ACB-flags (instead of
returning zero)
Guenther
(This used to be commit 5b89e8bc24f0fdc8b52d5c9e849aba723df34ea7)
Diffstat (limited to 'source3/rpc_parse/parse_net.c')
-rw-r--r-- | source3/rpc_parse/parse_net.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/source3/rpc_parse/parse_net.c b/source3/rpc_parse/parse_net.c index 3734ce26a6..745cf24b0f 100644 --- a/source3/rpc_parse/parse_net.c +++ b/source3/rpc_parse/parse_net.c @@ -1424,7 +1424,8 @@ void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, uint16 logon_count, uint16 bad_pw_count, uint32 num_groups, const DOM_GID *gids, - uint32 user_flgs, uchar user_session_key[16], + uint32 user_flgs, uint32 acct_flags, + uchar user_session_key[16], uchar lm_session_key[16], const char *logon_srv, const char *logon_dom, const DOM_SID *dom_sid) @@ -1466,6 +1467,7 @@ void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, usr->buffer_groups = 1; /* indicates fill in groups, below, even if there are none */ usr->user_flgs = user_flgs; + usr->acct_flags = acct_flags; if (user_session_key != NULL) memcpy(usr->user_sess_key, user_session_key, sizeof(usr->user_sess_key)); @@ -1475,7 +1477,6 @@ void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, usr->buffer_dom_id = dom_sid ? 1 : 0; /* yes, we're bothering to put a domain SID in */ memset((char *)usr->lm_sess_key, '\0', sizeof(usr->lm_sess_key)); - memset(&usr->acct_flags, '\0', sizeof(usr->acct_flags)); for (i=0; i<7; i++) { memset(&usr->unknown[i], '\0', sizeof(usr->unknown)); @@ -1526,19 +1527,22 @@ void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, int lvl = 10; DEBUG(lvl,("dump_acct_flags\n")); if (acct_flags & ACB_NORMAL) { - DEBUGADD(lvl,("\taccount has UF_NORMAL_ACCOUNT\n")); + DEBUGADD(lvl,("\taccount has ACB_NORMAL\n")); } if (acct_flags & ACB_PWNOEXP) { - DEBUGADD(lvl,("\taccount has UF_DONT_EXPIRE_PASSWD\n")); + DEBUGADD(lvl,("\taccount has ACB_PWNOEXP\n")); } if (acct_flags & ACB_ENC_TXT_PWD_ALLOWED) { - DEBUGADD(lvl,("\taccount has UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED\n")); + DEBUGADD(lvl,("\taccount has ACB_ENC_TXT_PWD_ALLOWED\n")); } if (acct_flags & ACB_NOT_DELEGATED) { - DEBUGADD(lvl,("\taccount has UF_NOT_DELEGATED\n")); + DEBUGADD(lvl,("\taccount has ACB_NOT_DELEGATED\n")); } if (acct_flags & ACB_USE_DES_KEY_ONLY) { - DEBUGADD(lvl,("\taccount has UF_USE_DES_KEY_ONLY set, sig verify wont work\n")); + DEBUGADD(lvl,("\taccount has ACB_USE_DES_KEY_ONLY set, sig verify wont work\n")); + } + if (acct_flags & ACB_NO_AUTH_DATA_REQD) { + DEBUGADD(lvl,("\taccount has ACB_NO_AUTH_DATA_REQD set\n")); } } |