From 7552bca204ed7ece4a72b1e8c800015b52299d66 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Thu, 12 Nov 2015 09:22:59 +0100 Subject: [PATCH] TEST: Fix warning: cast from pointer to integer of different size Warnings are caused by different size of pointer and LargestIntegralType on 32 bit platforms. e.g. src/tests/cmocka/common_mock_resp_dp.c:101:88: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] will_return(sss_parse_inp_recv, domname); ^ --- src/tests/cmocka/common_mock.h | 10 ++++ src/tests/cmocka/common_mock_resp_dp.c | 10 ++-- src/tests/cmocka/sbus_internal_tests.c | 2 +- src/tests/cmocka/sss_nss_idmap-tests.c | 4 +- src/tests/cmocka/test_be_ptask.c | 4 +- src/tests/cmocka/test_dyndns.c | 4 +- src/tests/cmocka/test_fo_srv.c | 4 +- src/tests/cmocka/test_ipa_idmap.c | 9 ++- src/tests/cmocka/test_krb5_wait_queue.c | 2 +- src/tests/cmocka/test_nested_groups.c | 32 ++++++------ src/tests/cmocka/test_nss_srv.c | 34 ++++++------ src/tests/cmocka/test_pam_srv.c | 6 +- src/tests/cmocka/test_resolv_fake.c | 2 +- src/tests/cmocka/test_responder_cache_req.c | 78 +++++++++++++------------- src/tests/cmocka/test_sdap.c | 3 +- src/tests/cmocka/test_sss_sifp.c | 28 ++++++---- 16 files changed, 125 insertions(+), 107 deletions(-) diff --git a/src/tests/cmocka/common_mock.h b/src/tests/cmocka/common_mock.h index f305e6f..40e9d51 100644 --- a/src/tests/cmocka/common_mock.h +++ b/src/tests/cmocka/common_mock.h @@ -48,6 +48,16 @@ #define sss_will_return_always(fn, value) will_return_count(fn, (value), -1) +#ifndef will_return_ptr +#define will_return_ptr(function, ptr) \ + will_return(function, cast_ptr_to_largest_integral_type(ptr)) +#endif + +#ifndef will_return_always_ptr +#define will_return_always_ptr(function, ptr) \ + will_return_always(function, cast_ptr_to_largest_integral_type(ptr)) +#endif + enum sss_test_wrapper_call { WRAP_CALL_WRAPPER, WRAP_CALL_REAL diff --git a/src/tests/cmocka/common_mock_resp_dp.c b/src/tests/cmocka/common_mock_resp_dp.c index f62606e..6d444bb 100644 --- a/src/tests/cmocka/common_mock_resp_dp.c +++ b/src/tests/cmocka/common_mock_resp_dp.c @@ -66,11 +66,11 @@ void mock_account_recv(uint16_t dp_err, uint32_t dp_ret, char *msg, { will_return(sss_dp_get_account_recv, dp_err); will_return(sss_dp_get_account_recv, dp_ret); - will_return(sss_dp_get_account_recv, msg); + will_return_ptr(sss_dp_get_account_recv, msg); - will_return(sss_dp_get_account_recv, acct_cb); + will_return_ptr(sss_dp_get_account_recv, acct_cb); if (acct_cb) { - will_return(sss_dp_get_account_recv, pvt); + will_return_ptr(sss_dp_get_account_recv, pvt); } } @@ -97,8 +97,8 @@ errno_t sss_parse_inp_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, void mock_parse_inp(const char *name, const char *domname, errno_t ret) { - will_return(sss_parse_inp_recv, name); - will_return(sss_parse_inp_recv, domname); + will_return_ptr(sss_parse_inp_recv, name); + will_return_ptr(sss_parse_inp_recv, domname); will_return(sss_parse_inp_recv, ret); } diff --git a/src/tests/cmocka/sbus_internal_tests.c b/src/tests/cmocka/sbus_internal_tests.c index db5738c..08ac81c 100644 --- a/src/tests/cmocka/sbus_internal_tests.c +++ b/src/tests/cmocka/sbus_internal_tests.c @@ -169,7 +169,7 @@ void sbus_int_test_get_uid(void **state) dbus_message_append_args(reply, DBUS_TYPE_UINT32, &uid, DBUS_TYPE_INVALID); - will_return(__wrap_dbus_pending_call_steal_reply, reply); + will_return_ptr(__wrap_dbus_pending_call_steal_reply, reply); req = sbus_get_sender_id_send(test_ctx, test_ctx->stc->ev, test_ctx->conn, __FILE__); diff --git a/src/tests/cmocka/sss_nss_idmap-tests.c b/src/tests/cmocka/sss_nss_idmap-tests.c index 8807eca..60c235a 100644 --- a/src/tests/cmocka/sss_nss_idmap-tests.c +++ b/src/tests/cmocka/sss_nss_idmap-tests.c @@ -114,7 +114,7 @@ void test_getsidbyname(void **state) sid = NULL; for (c = 0; d[c].d.repbuf != NULL; c++) { - will_return(sss_nss_make_request, &d[0].d); + will_return_ptr(sss_nss_make_request, &d[0].d); ret = sss_nss_getsidbyname("test", &sid, &type); assert_int_equal(ret, d[0].ret); @@ -134,7 +134,7 @@ void test_getorigbyname(void **state) enum sss_id_type type; struct sss_nss_make_request_test_data d = {buf_orig1, sizeof(buf_orig1), 0, NSS_STATUS_SUCCESS}; - will_return(sss_nss_make_request, &d); + will_return_ptr(sss_nss_make_request, &d); ret = sss_nss_getorigbyname("test", &kv_list, &type); assert_int_equal(ret, EOK); assert_int_equal(type, SSS_ID_TYPE_UID); diff --git a/src/tests/cmocka/test_be_ptask.c b/src/tests/cmocka/test_be_ptask.c index a0daaf9..07fb0c3 100644 --- a/src/tests/cmocka/test_be_ptask.c +++ b/src/tests/cmocka/test_be_ptask.c @@ -546,8 +546,8 @@ void test_be_ptask_offline_disable(void **state) mark_offline(test_ctx); - will_return(be_add_online_cb, test_ctx); - will_return(be_add_offline_cb, test_ctx); + will_return_ptr(be_add_online_cb, test_ctx); + will_return_ptr(be_add_offline_cb, test_ctx); ret = be_ptask_create(test_ctx, test_ctx->be_ctx, PERIOD, 0, 0, 0, 0, BE_PTASK_OFFLINE_DISABLE, 0, test_be_ptask_send, diff --git a/src/tests/cmocka/test_dyndns.c b/src/tests/cmocka/test_dyndns.c index 43df0e1..687e545 100644 --- a/src/tests/cmocka/test_dyndns.c +++ b/src/tests/cmocka/test_dyndns.c @@ -192,9 +192,9 @@ static void dyndns_test_done(struct tevent_req *req) void will_return_getifaddrs(const char *ifname, const char *straddr, int af_family) { - will_return(__wrap_getifaddrs, ifname); + will_return_ptr(__wrap_getifaddrs, ifname); if (ifname) { - will_return(__wrap_getifaddrs, straddr); + will_return_ptr(__wrap_getifaddrs, straddr); } if (straddr) { will_return(__wrap_getifaddrs, af_family); diff --git a/src/tests/cmocka/test_fo_srv.c b/src/tests/cmocka/test_fo_srv.c index 67f86fb..a606a18 100644 --- a/src/tests/cmocka/test_fo_srv.c +++ b/src/tests/cmocka/test_fo_srv.c @@ -294,9 +294,9 @@ static void mock_srv_results(struct ares_srv_reply *reply_list, uint32_t ttl, char *dns_domain) { - will_return(resolv_discover_srv_recv, reply_list); + will_return_ptr(resolv_discover_srv_recv, reply_list); will_return(resolv_discover_srv_recv, ttl); - will_return(resolv_discover_srv_recv, dns_domain); + will_return_ptr(resolv_discover_srv_recv, dns_domain); } static void check_server(struct test_fo_ctx *ctx, diff --git a/src/tests/cmocka/test_ipa_idmap.c b/src/tests/cmocka/test_ipa_idmap.c index fba41ae..928ce98 100644 --- a/src/tests/cmocka/test_ipa_idmap.c +++ b/src/tests/cmocka/test_ipa_idmap.c @@ -169,7 +169,8 @@ static int setup_idmap_ctx(void **state) assert_non_null(test_ctx->sdap_id_ctx->be->domain->name); will_return(__wrap_sysdb_get_ranges, 1); - will_return(__wrap_sysdb_get_ranges, get_range_list(global_talloc_context)); + will_return_ptr(__wrap_sysdb_get_ranges, + get_range_list(global_talloc_context)); ret = ipa_idmap_init(test_ctx, test_ctx->sdap_id_ctx, &test_ctx->idmap_ctx); @@ -200,13 +201,15 @@ void test_ipa_idmap_get_ranges_from_sysdb(void **state) assert_non_null(test_ctx); will_return(__wrap_sysdb_get_ranges, 1); - will_return(__wrap_sysdb_get_ranges, get_range_list(test_ctx->idmap_ctx)); + will_return_ptr(__wrap_sysdb_get_ranges, + get_range_list(test_ctx->idmap_ctx)); ret = ipa_idmap_get_ranges_from_sysdb(test_ctx->idmap_ctx, DOMAIN_NAME, DOMAIN_SID, true); assert_int_equal(ret, EOK); will_return(__wrap_sysdb_get_ranges, 1); - will_return(__wrap_sysdb_get_ranges, get_range_list(global_talloc_context)); + will_return_ptr(__wrap_sysdb_get_ranges, + get_range_list(global_talloc_context)); ret = ipa_idmap_get_ranges_from_sysdb(test_ctx->idmap_ctx, DOMAIN_NAME, DOMAIN_SID, false); assert_int_equal(ret, EIO); diff --git a/src/tests/cmocka/test_krb5_wait_queue.c b/src/tests/cmocka/test_krb5_wait_queue.c index 4add979..9257e49 100644 --- a/src/tests/cmocka/test_krb5_wait_queue.c +++ b/src/tests/cmocka/test_krb5_wait_queue.c @@ -168,7 +168,7 @@ static void test_krb5_wait_mock(struct test_krb5_wait_queue *test_ctx, { test_ctx->pd->user = discard_const(username); - will_return(krb5_auth_send, username); + will_return_ptr(krb5_auth_send, username); will_return(krb5_auth_send, us_delay); will_return(krb5_auth_send, ret); will_return(krb5_auth_send, pam_status); diff --git a/src/tests/cmocka/test_nested_groups.c b/src/tests/cmocka/test_nested_groups.c index dc29768..4a85940 100644 --- a/src/tests/cmocka/test_nested_groups.c +++ b/src/tests/cmocka/test_nested_groups.c @@ -183,13 +183,13 @@ static void nested_groups_test_one_group_unique_members(void **state) user1_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2001, "user1"); assert_non_null(user1_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user1_reply); + will_return_ptr(sdap_get_generic_recv, user1_reply); will_return(sdap_get_generic_recv, ERR_OK); user2_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2002, "user2"); assert_non_null(user2_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user2_reply); + will_return_ptr(sdap_get_generic_recv, user2_reply); will_return(sdap_get_generic_recv, ERR_OK); sss_will_return_always(sdap_has_deref_support, false); @@ -243,13 +243,13 @@ static void nested_groups_test_one_group_dup_users(void **state) user1_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2001, "user1"); assert_non_null(user1_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user1_reply); + will_return_ptr(sdap_get_generic_recv, user1_reply); will_return(sdap_get_generic_recv, ERR_OK); user2_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2001, "user1"); assert_non_null(user2_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user2_reply); + will_return_ptr(sdap_get_generic_recv, user2_reply); will_return(sdap_get_generic_recv, ERR_OK); sss_will_return_always(sdap_has_deref_support, false); @@ -307,14 +307,14 @@ static void nested_groups_test_one_group_unique_group_members(void **state) 1001, "emptygroup1", NULL); assert_non_null(group1_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group1_reply); + will_return_ptr(sdap_get_generic_recv, group1_reply); will_return(sdap_get_generic_recv, ERR_OK); group2_reply[0] = mock_sysdb_group_rfc2307bis(test_ctx, GROUP_BASE_DN, 1002, "emptygroup2", NULL); assert_non_null(group2_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group2_reply); + will_return_ptr(sdap_get_generic_recv, group2_reply); will_return(sdap_get_generic_recv, ERR_OK); sss_will_return_always(sdap_has_deref_support, false); @@ -370,14 +370,14 @@ static void nested_groups_test_one_group_dup_group_members(void **state) 1001, "emptygroup1", NULL); assert_non_null(group1_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group1_reply); + will_return_ptr(sdap_get_generic_recv, group1_reply); will_return(sdap_get_generic_recv, ERR_OK); group2_reply[0] = mock_sysdb_group_rfc2307bis(test_ctx, GROUP_BASE_DN, 1001, "emptygroup1", NULL); assert_non_null(group2_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group2_reply); + will_return_ptr(sdap_get_generic_recv, group2_reply); will_return(sdap_get_generic_recv, ERR_OK); sss_will_return_always(sdap_has_deref_support, false); @@ -440,7 +440,7 @@ static void nested_groups_test_nested_chain(void **state) user1_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2001, "user1"); assert_non_null(user1_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user1_reply); + will_return_ptr(sdap_get_generic_recv, user1_reply); will_return(sdap_get_generic_recv, ERR_OK); group1_reply[0] = mock_sysdb_group_rfc2307bis(test_ctx, GROUP_BASE_DN, @@ -448,13 +448,13 @@ static void nested_groups_test_nested_chain(void **state) group1_members); assert_non_null(group1_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group1_reply); + will_return_ptr(sdap_get_generic_recv, group1_reply); will_return(sdap_get_generic_recv, ERR_OK); user2_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2002, "user2"); assert_non_null(user2_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user2_reply); + will_return_ptr(sdap_get_generic_recv, user2_reply); will_return(sdap_get_generic_recv, ERR_OK); group2_reply[0] = mock_sysdb_group_rfc2307bis(test_ctx, GROUP_BASE_DN, @@ -462,13 +462,13 @@ static void nested_groups_test_nested_chain(void **state) group2_members); assert_non_null(group2_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group2_reply); + will_return_ptr(sdap_get_generic_recv, group2_reply); will_return(sdap_get_generic_recv, ERR_OK); user3_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2003, "user3"); assert_non_null(user3_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user3_reply); + will_return_ptr(sdap_get_generic_recv, user3_reply); will_return(sdap_get_generic_recv, ERR_OK); sss_will_return_always(sdap_has_deref_support, false); @@ -532,7 +532,7 @@ static void nested_groups_test_nested_chain_with_error(void **state) group1_members); assert_non_null(group1_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group1_reply); + will_return_ptr(sdap_get_generic_recv, group1_reply); will_return(sdap_get_generic_recv, ERR_OK); group2_reply[0] = mock_sysdb_group_rfc2307bis(test_ctx, GROUP_BASE_DN, @@ -540,13 +540,13 @@ static void nested_groups_test_nested_chain_with_error(void **state) group2_members); assert_non_null(group2_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, group2_reply); + will_return_ptr(sdap_get_generic_recv, group2_reply); will_return(sdap_get_generic_recv, ERR_OK); user_reply[0] = mock_sysdb_user(test_ctx, USER_BASE_DN, 2001, "user1"); assert_non_null(user_reply[0]); will_return(sdap_get_generic_recv, 1); - will_return(sdap_get_generic_recv, user_reply); + will_return_ptr(sdap_get_generic_recv, user_reply); will_return(sdap_get_generic_recv, EIO); sss_will_return_always(sdap_has_deref_support, false); diff --git a/src/tests/cmocka/test_nss_srv.c b/src/tests/cmocka/test_nss_srv.c index f05b55e..ba62f5a 100644 --- a/src/tests/cmocka/test_nss_srv.c +++ b/src/tests/cmocka/test_nss_srv.c @@ -119,7 +119,7 @@ typedef int (*cmd_cb_fn_t)(uint32_t, uint8_t *, size_t ); static void set_cmd_cb(cmd_cb_fn_t fn) { - will_return(__wrap_sss_cmd_done, fn); + will_return_ptr(__wrap_sss_cmd_done, fn); } void __wrap_sss_cmd_done(struct cli_ctx *cctx, void *freectx) @@ -201,7 +201,7 @@ int __wrap_sss_ncache_check_sid(struct sss_nc_ctx *ctx, static void mock_input_user_or_group(const char *username) { will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, username); + will_return_ptr(__wrap_sss_packet_get_body, username); will_return(__wrap_sss_packet_get_body, 0); } @@ -214,7 +214,7 @@ static void mock_input_id(TALLOC_CTX *mem_ctx, uint32_t id) SAFEALIGN_SETMEM_UINT32(body, id, NULL); will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, body); + will_return_ptr(__wrap_sss_packet_get_body, body); will_return(__wrap_sss_packet_get_body, sizeof(uint32_t)); } @@ -1657,11 +1657,11 @@ void test_nss_well_known_getnamebysid(void **state) errno_t ret; will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, "S-1-5-32-550"); + will_return_ptr(__wrap_sss_packet_get_body, "S-1-5-32-550"); will_return(__wrap_sss_packet_get_body, 0); will_return(__wrap_sss_packet_get_cmd, SSS_NSS_GETNAMEBYSID); will_return(__wrap_sss_packet_get_body, WRAP_CALL_REAL); - will_return(test_nss_well_known_sid_check, "Print Operators@BUILTIN"); + will_return_ptr(test_nss_well_known_sid_check, "Print Operators@BUILTIN"); set_cmd_cb(test_nss_well_known_sid_check); ret = sss_cmd_execute(nss_test_ctx->cctx, SSS_NSS_GETNAMEBYSID, @@ -1678,11 +1678,11 @@ void test_nss_well_known_getnamebysid_special(void **state) errno_t ret; will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, "S-1-2-0"); + will_return_ptr(__wrap_sss_packet_get_body, "S-1-2-0"); will_return(__wrap_sss_packet_get_body, 0); will_return(__wrap_sss_packet_get_cmd, SSS_NSS_GETNAMEBYSID); will_return(__wrap_sss_packet_get_body, WRAP_CALL_REAL); - will_return(test_nss_well_known_sid_check, "LOCAL@LOCAL AUTHORITY"); + will_return_ptr(test_nss_well_known_sid_check, "LOCAL@LOCAL AUTHORITY"); set_cmd_cb(test_nss_well_known_sid_check); ret = sss_cmd_execute(nss_test_ctx->cctx, SSS_NSS_GETNAMEBYSID, @@ -1699,10 +1699,10 @@ void test_nss_well_known_getnamebysid_non_existing(void **state) errno_t ret; will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, "S-1-5-32-123"); + will_return_ptr(__wrap_sss_packet_get_body, "S-1-5-32-123"); will_return(__wrap_sss_packet_get_body, 0); will_return(__wrap_sss_packet_get_cmd, SSS_NSS_GETNAMEBYSID); - will_return(test_nss_well_known_sid_check, NULL); + will_return_ptr(test_nss_well_known_sid_check, NULL); set_cmd_cb(test_nss_well_known_sid_check); ret = sss_cmd_execute(nss_test_ctx->cctx, SSS_NSS_GETNAMEBYSID, @@ -1719,10 +1719,10 @@ void test_nss_well_known_getidbysid_failure(void **state) errno_t ret; will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, "S-1-5-32-550"); + will_return_ptr(__wrap_sss_packet_get_body, "S-1-5-32-550"); will_return(__wrap_sss_packet_get_body, 0); will_return(__wrap_sss_packet_get_cmd, SSS_NSS_GETIDBYSID); - will_return(test_nss_well_known_sid_check, NULL); + will_return_ptr(test_nss_well_known_sid_check, NULL); set_cmd_cb(test_nss_well_known_sid_check); ret = sss_cmd_execute(nss_test_ctx->cctx, SSS_NSS_GETIDBYSID, @@ -1743,11 +1743,11 @@ void test_nss_well_known_getsidbyname(void **state) for (c = 0; names[c] != NULL; c++) { will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, names[c]); + will_return_ptr(__wrap_sss_packet_get_body, names[c]); will_return(__wrap_sss_packet_get_body, 0); will_return(__wrap_sss_packet_get_cmd, SSS_NSS_GETSIDBYNAME); will_return(__wrap_sss_packet_get_body, WRAP_CALL_REAL); - will_return(test_nss_well_known_sid_check, "S-1-5-32-569"); + will_return_ptr(test_nss_well_known_sid_check, "S-1-5-32-569"); set_cmd_cb(test_nss_well_known_sid_check); ret = sss_cmd_execute(nss_test_ctx->cctx, SSS_NSS_GETSIDBYNAME, @@ -1768,10 +1768,10 @@ void test_nss_well_known_getsidbyname_nonexisting(void **state) for (c = 0; names[c] != NULL; c++) { will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, names[c]); + will_return_ptr(__wrap_sss_packet_get_body, names[c]); will_return(__wrap_sss_packet_get_body, 0); will_return(__wrap_sss_packet_get_cmd, SSS_NSS_GETSIDBYNAME); - will_return(test_nss_well_known_sid_check, NULL); + will_return_ptr(test_nss_well_known_sid_check, NULL); set_cmd_cb(test_nss_well_known_sid_check); ret = sss_cmd_execute(nss_test_ctx->cctx, SSS_NSS_GETSIDBYNAME, @@ -1793,11 +1793,11 @@ void test_nss_well_known_getsidbyname_special(void **state) for (c = 0; names[c] != NULL; c++) { will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, names[c]); + will_return_ptr(__wrap_sss_packet_get_body, names[c]); will_return(__wrap_sss_packet_get_body, 0); will_return(__wrap_sss_packet_get_cmd, SSS_NSS_GETSIDBYNAME); will_return(__wrap_sss_packet_get_body, WRAP_CALL_REAL); - will_return(test_nss_well_known_sid_check, "S-1-3-0"); + will_return_ptr(test_nss_well_known_sid_check, "S-1-3-0"); set_cmd_cb(test_nss_well_known_sid_check); ret = sss_cmd_execute(nss_test_ctx->cctx, SSS_NSS_GETSIDBYNAME, diff --git a/src/tests/cmocka/test_pam_srv.c b/src/tests/cmocka/test_pam_srv.c index f3fbf90..04d33af 100644 --- a/src/tests/cmocka/test_pam_srv.c +++ b/src/tests/cmocka/test_pam_srv.c @@ -402,7 +402,7 @@ int __wrap_sss_cmd_send_empty(struct cli_ctx *cctx, TALLOC_CTX *freectx) static void set_cmd_cb(cmd_cb_fn_t fn) { - will_return(__wrap_sss_cmd_done, fn); + will_return_ptr(__wrap_sss_cmd_done, fn); } int __wrap_pam_dp_send_req(struct pam_auth_req *preq, int timeout) @@ -477,7 +477,7 @@ static void mock_input_pam(TALLOC_CTX *mem_ctx, const char *name, assert_non_null(buf); will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, buf); + will_return_ptr(__wrap_sss_packet_get_body, buf); will_return(__wrap_sss_packet_get_body, buf_size); } @@ -523,7 +523,7 @@ static void mock_input_pam_cert(TALLOC_CTX *mem_ctx, const char *name, assert_non_null(buf); will_return(__wrap_sss_packet_get_body, WRAP_CALL_WRAPPER); - will_return(__wrap_sss_packet_get_body, buf); + will_return_ptr(__wrap_sss_packet_get_body, buf); will_return(__wrap_sss_packet_get_body, buf_size); } diff --git a/src/tests/cmocka/test_resolv_fake.c b/src/tests/cmocka/test_resolv_fake.c index a1e9ee4..a3307df 100644 --- a/src/tests/cmocka/test_resolv_fake.c +++ b/src/tests/cmocka/test_resolv_fake.c @@ -199,7 +199,7 @@ void mock_ares_query(int status, int timeouts, unsigned char *abuf, int alen) { will_return(__wrap_ares_query, status); will_return(__wrap_ares_query, timeouts); - will_return(__wrap_ares_query, abuf); + will_return_ptr(__wrap_ares_query, abuf); will_return(__wrap_ares_query, alen); } diff --git a/src/tests/cmocka/test_responder_cache_req.c b/src/tests/cmocka/test_responder_cache_req.c index 842f94a..79d3b77 100644 --- a/src/tests/cmocka/test_responder_cache_req.c +++ b/src/tests/cmocka/test_responder_cache_req.c @@ -437,7 +437,7 @@ void test_user_by_name_multiple_domains_found(void **state) prepare_user(test_ctx, domain, 1000, time(NULL)); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); mock_parse_inp(TEST_USER_NAME, NULL, ERR_OK); @@ -454,7 +454,7 @@ void test_user_by_name_multiple_domains_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); mock_parse_inp(TEST_USER_NAME, NULL, ERR_OK); @@ -548,7 +548,7 @@ void test_user_by_name_cache_expired(void **state) /* Mock values. */ /* DP should be contacted */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -568,7 +568,7 @@ void test_user_by_name_cache_midpoint(void **state) /* Mock values. */ /* DP should be contacted without callback */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); /* Test. */ run_user_by_name(test_ctx, test_ctx->tctx->dom, 50, ERR_OK); @@ -600,7 +600,7 @@ void test_user_by_name_missing_found(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); test_ctx->create_user1 = true; @@ -619,7 +619,7 @@ void test_user_by_name_missing_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -642,7 +642,7 @@ void test_user_by_upn_multiple_domains_found(void **state) prepare_user(test_ctx, domain, 1000, time(NULL)); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); mock_parse_inp(NULL, NULL, ERR_DOMAIN_NOT_FOUND); @@ -659,7 +659,7 @@ void test_user_by_upn_multiple_domains_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); mock_parse_inp(NULL, NULL, ERR_DOMAIN_NOT_FOUND); @@ -696,7 +696,7 @@ void test_user_by_upn_cache_expired(void **state) /* Mock values. */ /* DP should be contacted */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); mock_parse_inp(NULL, NULL, ERR_DOMAIN_NOT_FOUND); @@ -717,7 +717,7 @@ void test_user_by_upn_cache_midpoint(void **state) /* Mock values. */ /* DP should be contacted without callback */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_parse_inp(NULL, NULL, ERR_DOMAIN_NOT_FOUND); /* Test. */ @@ -753,7 +753,7 @@ void test_user_by_upn_missing_found(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); mock_parse_inp(NULL, NULL, ERR_DOMAIN_NOT_FOUND); @@ -773,7 +773,7 @@ void test_user_by_upn_missing_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); mock_parse_inp(NULL, NULL, ERR_DOMAIN_NOT_FOUND); @@ -797,7 +797,7 @@ void test_user_by_id_multiple_domains_found(void **state) prepare_user(test_ctx, domain, 1000, time(NULL)); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); /* Test. */ @@ -813,7 +813,7 @@ void test_user_by_id_multiple_domains_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); /* Test. */ @@ -846,7 +846,7 @@ void test_user_by_id_cache_expired(void **state) /* Mock values. */ /* DP should be contacted. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -866,7 +866,7 @@ void test_user_by_id_cache_midpoint(void **state) /* Mock values. */ /* DP should be contacted without callback */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); /* Test. */ run_user_by_id(test_ctx, test_ctx->tctx->dom, 50, ERR_OK); @@ -897,7 +897,7 @@ void test_user_by_id_missing_found(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); test_ctx->create_user1 = true; @@ -916,7 +916,7 @@ void test_user_by_id_missing_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -938,7 +938,7 @@ void test_group_by_name_multiple_domains_found(void **state) prepare_group(test_ctx, domain, 1000, time(NULL)); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); mock_parse_inp(TEST_GROUP_NAME, NULL, ERR_OK); @@ -955,7 +955,7 @@ void test_group_by_name_multiple_domains_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); mock_parse_inp(TEST_GROUP_NAME, NULL, ERR_OK); @@ -1046,7 +1046,7 @@ void test_group_by_name_cache_expired(void **state) /* Mock values. */ /* DP should be contacted */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -1066,7 +1066,7 @@ void test_group_by_name_cache_midpoint(void **state) /* Mock values. */ /* DP should be contacted without callback */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); /* Test. */ run_group_by_name(test_ctx, test_ctx->tctx->dom, 50, ERR_OK); @@ -1098,7 +1098,7 @@ void test_group_by_name_missing_found(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); test_ctx->create_group1 = true; @@ -1117,7 +1117,7 @@ void test_group_by_name_missing_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -1139,7 +1139,7 @@ void test_group_by_id_multiple_domains_found(void **state) prepare_group(test_ctx, domain, 1000, time(NULL)); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); /* Test. */ @@ -1155,7 +1155,7 @@ void test_group_by_id_multiple_domains_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return_always(__wrap_sss_dp_get_account_send, test_ctx); + will_return_always_ptr(__wrap_sss_dp_get_account_send, test_ctx); will_return_always(sss_dp_get_account_recv, 0); /* Test. */ @@ -1188,7 +1188,7 @@ void test_group_by_id_cache_expired(void **state) /* Mock values. */ /* DP should be contacted */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -1208,7 +1208,7 @@ void test_group_by_id_cache_midpoint(void **state) /* Mock values. */ /* DP should be contacted without callback */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); /* Test. */ run_group_by_id(test_ctx, test_ctx->tctx->dom, 50, ERR_OK); @@ -1239,7 +1239,7 @@ void test_group_by_id_missing_found(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); test_ctx->create_group1 = true; @@ -1258,7 +1258,7 @@ void test_group_by_id_missing_notfound(void **state) test_ctx = talloc_get_type_abort(*state, struct cache_req_test_ctx); /* Mock values. */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Test. */ @@ -1301,7 +1301,7 @@ void test_user_by_recent_filter_valid(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* User TEST_USER is created with a DP callback. */ @@ -1350,7 +1350,7 @@ void test_users_by_recent_filter_valid(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* User TEST_USER1 and TEST_USER2 are created with a DP callback. */ @@ -1411,7 +1411,7 @@ void test_users_by_filter_filter_old(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); req = cache_req_user_by_filter_send(req_mem_ctx, test_ctx->tctx->ev, @@ -1447,7 +1447,7 @@ void test_users_by_filter_notfound(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); req = cache_req_user_by_filter_send(req_mem_ctx, test_ctx->tctx->ev, @@ -1480,7 +1480,7 @@ static void test_users_by_filter_multiple_domains_notfound(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); req = cache_req_user_by_filter_send(req_mem_ctx, test_ctx->tctx->ev, @@ -1528,7 +1528,7 @@ void test_group_by_recent_filter_valid(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Group TEST_GROUP is created with a DP callback. */ @@ -1575,7 +1575,7 @@ void test_groups_by_recent_filter_valid(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); /* Group TEST_GROUP1 and TEST_GROUP2 are created with a DP callback. */ @@ -1630,7 +1630,7 @@ void test_groups_by_filter_notfound(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); req = cache_req_group_by_filter_send(req_mem_ctx, test_ctx->tctx->ev, @@ -1662,7 +1662,7 @@ void test_groups_by_filter_multiple_domains_notfound(void **state) check_leaks_push(req_mem_ctx); /* Filters always go to DP */ - will_return(__wrap_sss_dp_get_account_send, test_ctx); + will_return_ptr(__wrap_sss_dp_get_account_send, test_ctx); mock_account_recv_simple(); req = cache_req_group_by_filter_send(req_mem_ctx, test_ctx->tctx->ev, diff --git a/src/tests/cmocka/test_sdap.c b/src/tests/cmocka/test_sdap.c index d9f8070..b8e430f 100644 --- a/src/tests/cmocka/test_sdap.c +++ b/src/tests/cmocka/test_sdap.c @@ -53,7 +53,8 @@ static struct mock_ldap_entry *mock_ldap_entry_get(void) void set_entry_parse(struct mock_ldap_entry *entry) { - will_return_always(mock_ldap_entry_get, entry); + will_return_always(mock_ldap_entry_get, + cast_ptr_to_largest_integral_type(entry)); } LDAPDerefRes *mock_deref_res(TALLOC_CTX *mem_ctx, diff --git a/src/tests/cmocka/test_sss_sifp.c b/src/tests/cmocka/test_sss_sifp.c index acf6a6e..40aafda 100644 --- a/src/tests/cmocka/test_sss_sifp.c +++ b/src/tests/cmocka/test_sss_sifp.c @@ -1657,7 +1657,7 @@ void test_sss_sifp_fetch_attr(void **state) /* prepare message */ reply_variant_basic(reply, DBUS_TYPE_UINT32_AS_STRING, &in); - will_return(__wrap_dbus_connection_send_with_reply_and_block, reply); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, reply); /* test */ ret = sss_sifp_fetch_attr(ctx, "/test/object", "test.com", name, &attrs); @@ -1736,7 +1736,7 @@ void test_sss_sifp_fetch_all_attrs(void **state) bret = dbus_message_iter_close_container(&iter, &array_iter); assert_true(bret); - will_return(__wrap_dbus_connection_send_with_reply_and_block, reply); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, reply); ret = sss_sifp_fetch_all_attrs(ctx, "/test/object", "test.com", &attrs); assert_int_equal(ret, SSS_SIFP_OK); @@ -1818,7 +1818,7 @@ void test_sss_sifp_fetch_object(void **state) bret = dbus_message_iter_close_container(&iter, &array_iter); assert_true(bret); - will_return(__wrap_dbus_connection_send_with_reply_and_block, reply); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, reply); ret = sss_sifp_fetch_object(ctx, path, iface, &object); assert_int_equal(ret, SSS_SIFP_OK); @@ -1867,7 +1867,7 @@ void test_sss_sifp_invoke_list_zeroargs(void **state) &paths, path_in_len, DBUS_TYPE_INVALID); assert_true(bret); - will_return(__wrap_dbus_connection_send_with_reply_and_block, reply); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, reply); /* test */ ret = sss_sifp_invoke_list(ctx, "MyMethod", &path_out, DBUS_TYPE_INVALID); @@ -1903,7 +1903,7 @@ void test_sss_sifp_invoke_list_withargs(void **state) &paths, path_in_len, DBUS_TYPE_INVALID); assert_true(bret); - will_return(__wrap_dbus_connection_send_with_reply_and_block, reply); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, reply); /* test */ ret = sss_sifp_invoke_list(ctx, "MyMethod", &path_out, @@ -1935,7 +1935,7 @@ void test_sss_sifp_invoke_find_zeroargs(void **state) bret = dbus_message_append_args(reply, DBUS_TYPE_OBJECT_PATH, &path_in, DBUS_TYPE_INVALID); assert_true(bret); - will_return(__wrap_dbus_connection_send_with_reply_and_block, reply); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, reply); /* test */ ret = sss_sifp_invoke_find(ctx, "MyMethod", &path_out, DBUS_TYPE_INVALID); @@ -1961,7 +1961,7 @@ void test_sss_sifp_invoke_find_withargs(void **state) bret = dbus_message_append_args(reply, DBUS_TYPE_OBJECT_PATH, &path_in, DBUS_TYPE_INVALID); assert_true(bret); - will_return(__wrap_dbus_connection_send_with_reply_and_block, reply); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, reply); /* test */ ret = sss_sifp_invoke_find(ctx, "MyMethod", &path_out, @@ -2010,9 +2010,11 @@ void test_sss_sifp_list_domains(void **state) reply_variant_basic(msg_ldap, DBUS_TYPE_STRING_AS_STRING, &names[0]); reply_variant_basic(msg_ipa, DBUS_TYPE_STRING_AS_STRING, &names[1]); - will_return(__wrap_dbus_connection_send_with_reply_and_block, msg_paths); - will_return(__wrap_dbus_connection_send_with_reply_and_block, msg_ldap); - will_return(__wrap_dbus_connection_send_with_reply_and_block, msg_ipa); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, + msg_paths); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, + msg_ldap); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, msg_ipa); /* test */ ret = sss_sifp_list_domains(ctx, &out); @@ -2104,8 +2106,10 @@ void test_sss_sifp_fetch_domain_by_name(void **state) bret = dbus_message_iter_close_container(&iter, &array_iter); assert_true(bret); - will_return(__wrap_dbus_connection_send_with_reply_and_block, msg_path); - will_return(__wrap_dbus_connection_send_with_reply_and_block, msg_props); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, + msg_path); + will_return_ptr(__wrap_dbus_connection_send_with_reply_and_block, + msg_props); /* test */ ret = sss_sifp_fetch_domain_by_name(ctx, name, &out); -- 1.7.1