Loading src/rpc/netlogon.cpp +5 −3 Changes for src/rpc/netlogon.cpp: 5 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -397,8 +397,10 @@ namespace { dsdb::Sid uuidSid = dsdb::uuidUserSid(e.objectGuid.value); bool sids = level != 2; p.align(8); for (int64_t t : {now, never, never, pwd, pwd, never}) p.u64(uint64_t(t)); /* times are OLD_LARGE_INTEGER (two ULONGs): 4-byte aligned */ auto time64 = [&](int64_t t) { p.u32(uint32_t(uint64_t(t))); p.u32(uint32_t(uint64_t(t) >> 32)); }; p.align(4); for (int64_t t : {now, never, never, pwd, pwd, never}) time64(t); for (auto *str : {&sam, &full, &script, &profile, &homeDir, &homeDrive}) p.unistrHeader(*str); p.u16(0); p.u16(0); /* logon_count, bad_password_count */ p.u32(e.objectSid.empty() ? 0 : e.objectSid.rid()); Loading @@ -412,7 +414,7 @@ namespace { p.bytes(std::vector<uint8_t>(8, 0)); /* LMSessKey */ p.u32((uac & 0x1000) ? 0x80 : (uac & 0x2000) ? 0x100 : 0x10); /* ACB_WSTRUST/SVRTRUST/NORMAL */ p.u32(0); /* sub_auth_status */ p.u64(uint64_t(now)); p.u64(0); /* last_successful/failed_logon */ time64(now); time64(0); /* last_successful/failed_logon */ p.u32(0); p.u32(0); /* failed_logon_count, reserved */ if (sids) { p.u32(1); p.ref(true); } /* sidcount, sids */ std::string upn = e.str("userPrincipalName"); Loading Loading
src/rpc/netlogon.cpp +5 −3 Changes for src/rpc/netlogon.cpp: 5 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -397,8 +397,10 @@ namespace { dsdb::Sid uuidSid = dsdb::uuidUserSid(e.objectGuid.value); bool sids = level != 2; p.align(8); for (int64_t t : {now, never, never, pwd, pwd, never}) p.u64(uint64_t(t)); /* times are OLD_LARGE_INTEGER (two ULONGs): 4-byte aligned */ auto time64 = [&](int64_t t) { p.u32(uint32_t(uint64_t(t))); p.u32(uint32_t(uint64_t(t) >> 32)); }; p.align(4); for (int64_t t : {now, never, never, pwd, pwd, never}) time64(t); for (auto *str : {&sam, &full, &script, &profile, &homeDir, &homeDrive}) p.unistrHeader(*str); p.u16(0); p.u16(0); /* logon_count, bad_password_count */ p.u32(e.objectSid.empty() ? 0 : e.objectSid.rid()); Loading @@ -412,7 +414,7 @@ namespace { p.bytes(std::vector<uint8_t>(8, 0)); /* LMSessKey */ p.u32((uac & 0x1000) ? 0x80 : (uac & 0x2000) ? 0x100 : 0x10); /* ACB_WSTRUST/SVRTRUST/NORMAL */ p.u32(0); /* sub_auth_status */ p.u64(uint64_t(now)); p.u64(0); /* last_successful/failed_logon */ time64(now); time64(0); /* last_successful/failed_logon */ p.u32(0); p.u32(0); /* failed_logon_count, reserved */ if (sids) { p.u32(1); p.ref(true); } /* sidcount, sids */ std::string upn = e.str("userPrincipalName"); Loading