auth: Fix CID 1615191 Uninitialized scalar variable
[samba.git] / source3 / winbindd / winbindd_ndr.c
index 9ab44f0cad99063abfb91a2ddf173d464f77522c..a52a704c024f998bb9ae2f3761f94fe4b2330285 100644 (file)
@@ -20,6 +20,9 @@
 #include "includes.h"
 #include "winbindd.h"
 #include "../librpc/gen_ndr/ndr_netlogon.h"
+#include "../librpc/gen_ndr/ndr_security.h"
+#include "../librpc/gen_ndr/ndr_lsa.h"
+#include "../librpc/ndr/libndr.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_WINBIND
@@ -33,8 +36,6 @@ void ndr_print_winbindd_child(struct ndr_print *ndr,
 {
        ndr_print_struct(ndr, name, "winbindd_child");
        ndr->depth++;
-       ndr_print_ptr(ndr, "next", r->next);
-       ndr_print_ptr(ndr, "prev", r->prev);
        ndr_print_uint32(ndr, "pid", (uint32_t)r->pid);
 #if 0
        ndr_print_winbindd_domain(ndr, "domain", r->domain);
@@ -44,7 +45,6 @@ void ndr_print_winbindd_child(struct ndr_print *ndr,
        ndr_print_string(ndr, "logfilename", r->logfilename);
        /* struct fd_event event; */
        ndr_print_ptr(ndr, "lockout_policy_event", r->lockout_policy_event);
-       ndr_print_ptr(ndr, "table", r->table);
        ndr->depth--;
 }
 
@@ -72,12 +72,12 @@ void ndr_print_winbindd_cm_conn(struct ndr_print *ndr,
 
 #ifdef HAVE_ADS
 extern struct winbindd_methods ads_methods;
+extern struct winbindd_methods reconnect_ads_methods;
 #endif
 extern struct winbindd_methods msrpc_methods;
 extern struct winbindd_methods builtin_passdb_methods;
 extern struct winbindd_methods sam_passdb_methods;
 extern struct winbindd_methods reconnect_methods;
-extern struct winbindd_methods cache_methods;
 
 void ndr_print_winbindd_methods(struct ndr_print *ndr,
                                const char *name,
@@ -97,6 +97,8 @@ void ndr_print_winbindd_methods(struct ndr_print *ndr,
 #ifdef HAVE_ADS
        } else if (r == &ads_methods) {
                ndr_print_string(ndr, name, "ads_methods");
+       } else if (r == &reconnect_ads_methods) {
+               ndr_print_string(ndr, name, "reconnect_ads_methods");
 #endif
        } else if (r == &builtin_passdb_methods) {
                ndr_print_string(ndr, name, "builtin_passdb_methods");
@@ -104,8 +106,6 @@ void ndr_print_winbindd_methods(struct ndr_print *ndr,
                ndr_print_string(ndr, name, "sam_passdb_methods");
        } else if (r == &reconnect_methods) {
                ndr_print_string(ndr, name, "reconnect_methods");
-       } else if (r == &cache_methods) {
-               ndr_print_string(ndr, name, "cache_methods");
        } else {
                ndr_print_string(ndr, name, "UNKNOWN");
        }
@@ -119,6 +119,7 @@ void ndr_print_winbindd_domain(struct ndr_print *ndr,
                               const char *name,
                               const struct winbindd_domain *r)
 {
+       int i;
        if (!r) {
                return;
        }
@@ -130,8 +131,8 @@ void ndr_print_winbindd_domain(struct ndr_print *ndr,
        ndr_print_string(ndr, "forest_name", r->forest_name);
        ndr_print_dom_sid(ndr, "sid", &r->sid);
        ndr_print_netr_TrustFlags(ndr, "domain_flags", r->domain_flags);
-       ndr_print_netr_TrustType(ndr, "domain_type", r->domain_type);
-       ndr_print_netr_TrustAttributes(ndr, "domain_trust_attribs", r->domain_trust_attribs);
+       ndr_print_lsa_TrustType(ndr, "domain_type", r->domain_type);
+       ndr_print_lsa_TrustAttributes(ndr, "domain_trust_attribs", r->domain_trust_attribs);
        ndr_print_bool(ndr, "initialized", r->initialized);
        ndr_print_bool(ndr, "native_mode", r->native_mode);
        ndr_print_bool(ndr, "active_directory", r->active_directory);
@@ -140,17 +141,22 @@ void ndr_print_winbindd_domain(struct ndr_print *ndr,
        ndr_print_bool(ndr, "online", r->online);
        ndr_print_time_t(ndr, "startup_time", r->startup_time);
        ndr_print_bool(ndr, "startup", r->startup);
-       ndr_print_winbindd_methods(ndr, "methods", r->methods);
        ndr_print_winbindd_methods(ndr, "backend", r->backend);
-       ndr_print_ptr(ndr, "private_data", r->private_data);
+       ndr_print_ptr(ndr,
+                     "backend_data.samr_pipes",
+                     r->backend_data.samr_pipes);
+       ndr_print_ptr(ndr,
+                     "backend_data.ads_conn",
+                     r->backend_data.ads_conn);
        ndr_print_string(ndr, "dcname", r->dcname);
        ndr_print_sockaddr_storage(ndr, "dcaddr", &r->dcaddr);
        ndr_print_time_t(ndr, "last_seq_check", r->last_seq_check);
        ndr_print_uint32(ndr, "sequence_number", r->sequence_number);
        ndr_print_NTSTATUS(ndr, "last_status", r->last_status);
        ndr_print_winbindd_cm_conn(ndr, "conn", &r->conn);
-       ndr_print_winbindd_child(ndr, "child", &r->child);
-       ndr_print_uint32(ndr, "check_online_timeout", r->check_online_timeout);
+       for (i=0; i<talloc_array_length(r->children); i++) {
+               ndr_print_winbindd_child(ndr, "children", &r->children[i]);
+       }
        ndr_print_ptr(ndr, "check_online_event", r->check_online_event);
        ndr->depth--;
 }