static bool wbinfo_check_secret(void) { wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE; struct wbcAuthErrorInfo *error = NULL; wbc_status = wbcCheckTrustCredentials(NULL, &error); d_printf("checking the trust secret via RPC calls %s\n", WBC_ERROR_IS_OK(wbc_status) ? "succeeded" : "failed"); if (wbc_status == WBC_ERR_AUTH_ERROR) { d_fprintf(stderr, "error code was %s (0x%x)\n", error->nt_string, error->nt_status); wbcFreeMemory(error); } if (!WBC_ERROR_IS_OK(wbc_status)) { return false; } return true; }
static bool test_wbc_trusts(struct torture_context *tctx) { struct wbcDomainInfo *domains; size_t num_domains; int i; torture_assert_wbc_ok(tctx, wbcListTrusts(&domains, &num_domains), "wbcListTrusts failed"); torture_assert(tctx, !(num_domains > 0 && !domains), "wbcListTrusts returned invalid results"); for (i=0; i < MIN(num_domains,100); i++) { struct wbcAuthErrorInfo *error; /* struct wbcDomainSid sid; enum wbcSidType name_type; char *domain; char *name; */ torture_assert_wbc_ok(tctx, wbcCheckTrustCredentials(domains[i].short_name, &error), "wbcCheckTrustCredentials failed"); /* torture_assert_wbc_ok(tctx, wbcLookupName(domains[i].short_name, NULL, &sid, &name_type), "wbcLookupName failed"); torture_assert_int_equal(tctx, name_type, WBC_SID_NAME_DOMAIN, "wbcLookupName expected WBC_SID_NAME_DOMAIN"); torture_assert_wbc_ok(tctx, wbcLookupSid(&sid, &domain, &name, &name_type), "wbcLookupSid failed"); torture_assert_int_equal(tctx, name_type, WBC_SID_NAME_DOMAIN, "wbcLookupSid expected WBC_SID_NAME_DOMAIN"); torture_assert(tctx, name, "wbcLookupSid returned no name"); */ } wbcFreeMemory(domains); return true; }