diff options
Diffstat (limited to 'source3/rpc_parse/parse_lsa.c')
-rw-r--r-- | source3/rpc_parse/parse_lsa.c | 351 |
1 files changed, 0 insertions, 351 deletions
diff --git a/source3/rpc_parse/parse_lsa.c b/source3/rpc_parse/parse_lsa.c index 3e7905847f..1574df5438 100644 --- a/source3/rpc_parse/parse_lsa.c +++ b/source3/rpc_parse/parse_lsa.c @@ -419,38 +419,6 @@ bool lsa_io_r_open_pol2(const char *desc, LSA_R_OPEN_POL2 *out, prs_struct *ps, } /******************************************************************* - Inits an LSA_Q_QUERY_INFO structure. -********************************************************************/ - -void init_q_query(LSA_Q_QUERY_INFO *in, POLICY_HND *hnd, uint16 info_class) -{ - DEBUG(5, ("init_q_query\n")); - - memcpy(&in->pol, hnd, sizeof(in->pol)); - - in->info_class = info_class; -} - -/******************************************************************* - Reads or writes an LSA_Q_QUERY_INFO structure. -********************************************************************/ - -bool lsa_io_q_query(const char *desc, LSA_Q_QUERY_INFO *in, prs_struct *ps, - int depth) -{ - prs_debug(ps, depth, desc, "lsa_io_q_query"); - depth++; - - if(!smb_io_pol_hnd("", &in->pol, ps, depth)) - return False; - - if(!prs_uint16("info_class", ps, depth, &in->info_class)) - return False; - - return True; -} - -/******************************************************************* makes an LSA_Q_ENUM_TRUST_DOM structure. ********************************************************************/ bool init_q_enum_trust_dom(LSA_Q_ENUM_TRUST_DOM * q_e, POLICY_HND *pol, @@ -616,325 +584,6 @@ bool lsa_io_r_enum_trust_dom(const char *desc, LSA_R_ENUM_TRUST_DOM *out, } /******************************************************************* -reads or writes a structure. -********************************************************************/ - -static bool lsa_io_dom_query_1(const char *desc, DOM_QUERY_1 *d_q, prs_struct *ps, int depth) -{ - if (d_q == NULL) - return False; - - prs_debug(ps, depth, desc, "lsa_io_dom_query_1"); - depth++; - - if (!prs_align(ps)) - return False; - - if (!prs_uint32("percent_full", ps, depth, &d_q->percent_full)) - return False; - if (!prs_uint32("log_size", ps, depth, &d_q->log_size)) - return False; - if (!smb_io_nttime("retention_time", ps, depth, &d_q->retention_time)) - return False; - if (!prs_uint8("shutdown_in_progress", ps, depth, &d_q->shutdown_in_progress)) - return False; - if (!smb_io_nttime("time_to_shutdown", ps, depth, &d_q->time_to_shutdown)) - return False; - if (!prs_uint32("next_audit_record", ps, depth, &d_q->next_audit_record)) - return False; - if (!prs_uint32("unknown", ps, depth, &d_q->unknown)) - return False; - - return True; -} - -/******************************************************************* -reads or writes a structure. -********************************************************************/ - -static bool lsa_io_dom_query_2(const char *desc, DOM_QUERY_2 *d_q, prs_struct *ps, int depth) -{ - if (d_q == NULL) - return False; - - prs_debug(ps, depth, desc, "lsa_io_dom_query_2"); - depth++; - - if (!prs_align(ps)) - return False; - - if (!prs_uint32("auditing_enabled", ps, depth, &d_q->auditing_enabled)) - return False; - if (!prs_uint32("ptr ", ps, depth, &d_q->ptr)) - return False; - if (!prs_uint32("count1", ps, depth, &d_q->count1)) - return False; - - if (d_q->ptr) { - - if (!prs_uint32("count2", ps, depth, &d_q->count2)) - return False; - - if (d_q->count1 != d_q->count2) - return False; - - if (UNMARSHALLING(ps)) { - if (d_q->count2) { - d_q->auditsettings = TALLOC_ZERO_ARRAY(ps->mem_ctx, uint32, d_q->count2); - if (!d_q->auditsettings) { - return False; - } - } else { - d_q->auditsettings = NULL; - } - } - - if (!prs_uint32s(False, "auditsettings", ps, depth, d_q->auditsettings, d_q->count2)) - return False; - } - - return True; -} - -/******************************************************************* -reads or writes a dom query structure. -********************************************************************/ - -static bool lsa_io_dom_query_3(const char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int depth) -{ - if (d_q == NULL) - return False; - - prs_debug(ps, depth, desc, "lsa_io_dom_query_3"); - depth++; - - if(!prs_align(ps)) - return False; - - if(!prs_uint16("uni_dom_max_len", ps, depth, &d_q->uni_dom_max_len)) /* domain name string length * 2 */ - return False; - if(!prs_uint16("uni_dom_str_len", ps, depth, &d_q->uni_dom_str_len)) /* domain name string length * 2 */ - return False; - - if(!prs_uint32("buffer_dom_name", ps, depth, &d_q->buffer_dom_name)) /* undocumented domain name string buffer pointer */ - return False; - if(!prs_uint32("buffer_dom_sid ", ps, depth, &d_q->buffer_dom_sid)) /* undocumented domain SID string buffer pointer */ - return False; - - if(!smb_io_unistr2("unistr2", &d_q->uni_domain_name, d_q->buffer_dom_name, ps, depth)) /* domain name (unicode string) */ - return False; - - if(!prs_align(ps)) - return False; - - if (d_q->buffer_dom_sid != 0) { - if(!smb_io_dom_sid2("", &d_q->dom_sid, ps, depth)) /* domain SID */ - return False; - } else { - memset((char *)&d_q->dom_sid, '\0', sizeof(d_q->dom_sid)); - } - - return True; -} - -/******************************************************************* - Reads or writes a dom query structure. -********************************************************************/ - -static bool lsa_io_dom_query_5(const char *desc, DOM_QUERY_5 *d_q, prs_struct *ps, int depth) -{ - return lsa_io_dom_query_3("", d_q, ps, depth); -} - -/******************************************************************* - Reads or writes a dom query structure. -********************************************************************/ - -static bool lsa_io_dom_query_6(const char *desc, DOM_QUERY_6 *d_q, prs_struct *ps, int depth) -{ - if (d_q == NULL) - return False; - - prs_debug(ps, depth, desc, "lsa_io_dom_query_6"); - depth++; - - if (!prs_uint16("server_role", ps, depth, &d_q->server_role)) - return False; - - return True; -} - -/******************************************************************* - Reads or writes a dom query structure. -********************************************************************/ - -static bool lsa_io_dom_query_10(const char *desc, DOM_QUERY_10 *d_q, prs_struct *ps, int depth) -{ - if (d_q == NULL) - return False; - - prs_debug(ps, depth, desc, "lsa_io_dom_query_10"); - depth++; - - if (!prs_uint8("shutdown_on_full", ps, depth, &d_q->shutdown_on_full)) - return False; - - return True; -} - -/******************************************************************* - Reads or writes a dom query structure. -********************************************************************/ - -static bool lsa_io_dom_query_11(const char *desc, DOM_QUERY_11 *d_q, prs_struct *ps, int depth) -{ - if (d_q == NULL) - return False; - - prs_debug(ps, depth, desc, "lsa_io_dom_query_11"); - depth++; - - if (!prs_uint16("unknown", ps, depth, &d_q->unknown)) - return False; - if (!prs_uint8("shutdown_on_full", ps, depth, &d_q->shutdown_on_full)) - return False; - if (!prs_uint8("log_is_full", ps, depth, &d_q->log_is_full)) - return False; - - return True; -} - -/******************************************************************* - Reads or writes an LSA_DNS_DOM_INFO structure. -********************************************************************/ - -bool lsa_io_dom_query_12(const char *desc, DOM_QUERY_12 *info, prs_struct *ps, int depth) -{ - prs_debug(ps, depth, desc, "lsa_io_dom_query_12"); - depth++; - - if(!prs_align(ps)) - return False; - if(!smb_io_unihdr("nb_name", &info->hdr_nb_dom_name, ps, depth)) - return False; - if(!smb_io_unihdr("dns_name", &info->hdr_dns_dom_name, ps, depth)) - return False; - if(!smb_io_unihdr("forest", &info->hdr_forest_name, ps, depth)) - return False; - - if(!prs_align(ps)) - return False; - if ( !smb_io_uuid("dom_guid", &info->dom_guid, ps, depth) ) - return False; - - if(!prs_align(ps)) - return False; - if(!prs_uint32("dom_sid", ps, depth, &info->ptr_dom_sid)) - return False; - - if(!smb_io_unistr2("nb_name", &info->uni_nb_dom_name, - info->hdr_nb_dom_name.buffer, ps, depth)) - return False; - if(!smb_io_unistr2("dns_name", &info->uni_dns_dom_name, - info->hdr_dns_dom_name.buffer, ps, depth)) - return False; - if(!smb_io_unistr2("forest", &info->uni_forest_name, - info->hdr_forest_name.buffer, ps, depth)) - return False; - - if(!smb_io_dom_sid2("dom_sid", &info->dom_sid, ps, depth)) - return False; - - return True; - -} - - -/******************************************************************* -reads or writes a structure. -********************************************************************/ - -static bool lsa_io_query_info_ctr(const char *desc, prs_struct *ps, int depth, LSA_INFO_CTR *ctr) -{ - prs_debug(ps, depth, desc, "lsa_io_query_info_ctr"); - depth++; - - if(!prs_uint16("info_class", ps, depth, &ctr->info_class)) - return False; - - if(!prs_align(ps)) - return False; - - switch (ctr->info_class) { - case 1: - if(!lsa_io_dom_query_1("", &ctr->info.id1, ps, depth)) - return False; - break; - case 2: - if(!lsa_io_dom_query_2("", &ctr->info.id2, ps, depth)) - return False; - break; - case 3: - if(!lsa_io_dom_query_3("", &ctr->info.id3, ps, depth)) - return False; - break; - case 5: - if(!lsa_io_dom_query_5("", &ctr->info.id5, ps, depth)) - return False; - break; - case 6: - if(!lsa_io_dom_query_6("", &ctr->info.id6, ps, depth)) - return False; - break; - case 10: - if(!lsa_io_dom_query_10("", &ctr->info.id10, ps, depth)) - return False; - break; - case 11: - if(!lsa_io_dom_query_11("", &ctr->info.id11, ps, depth)) - return False; - break; - default: - DEBUG(0,("invalid info_class: %d\n", ctr->info_class)); - return False; - break; - } - - return True; -} - -/******************************************************************* - Reads or writes an LSA_R_QUERY_INFO structure. -********************************************************************/ - -bool lsa_io_r_query(const char *desc, LSA_R_QUERY_INFO *out, prs_struct *ps, int depth) -{ - - prs_debug(ps, depth, desc, "lsa_io_r_query"); - depth++; - - if(!prs_align(ps)) - return False; - - if(!prs_uint32("dom_ptr", ps, depth, &out->dom_ptr)) - return False; - - if (out->dom_ptr) { - - if(!lsa_io_query_info_ctr("", ps, depth, &out->ctr)) - return False; - } - - if(!prs_align(ps)) - return False; - - if(!prs_ntstatus("status", ps, depth, &out->status)) - return False; - - return True; -} - -/******************************************************************* Inits a LSA_SID_ENUM structure. ********************************************************************/ |