static zrtp_test_id_t g_alice, g_bob, g_pbx; static zrtp_test_id_t g_alice_sid, g_bob_sid, g_pbxa_sid, g_pbxb_sid; static zrtp_test_id_t g_alice2pbx_channel, g_bob2pbx_channel; static void pbx_setup() { zrtp_status_t s; zrtp_test_endpoint_cfg_t endpoint_cfg; zrtp_test_endpoint_config_defaults(&endpoint_cfg); s = zrtp_test_endpoint_create(&endpoint_cfg, "Alice", &g_alice); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_alice); s = zrtp_test_endpoint_create(&endpoint_cfg, "Bob", &g_bob); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_bob); endpoint_cfg.zrtp.is_mitm = 1; s = zrtp_test_endpoint_create(&endpoint_cfg, "PBX", &g_pbx); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_pbx); } static void pbx_teardown() { zrtp_test_endpoint_destroy(g_alice); zrtp_test_endpoint_destroy(g_bob); zrtp_test_endpoint_destroy(g_pbx); } static void prepare_alice_pbx_bob_setup(zrtp_test_session_cfg_t *alice_sconfig, zrtp_test_session_cfg_t *bob_sconfig, zrtp_test_session_cfg_t *pbxa_sconfig, zrtp_test_session_cfg_t *pbxb_sconfig) { zrtp_status_t s; if (alice_sconfig) { assert_non_null(pbxa_sconfig); s = zrtp_test_session_create(g_alice, alice_sconfig, &g_alice_sid); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_alice_sid); s = zrtp_test_session_create(g_pbx, pbxa_sconfig, &g_pbxa_sid); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_pbxa_sid); s = zrtp_test_channel_create2(g_alice_sid, g_pbxa_sid, 0, &g_alice2pbx_channel); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_alice2pbx_channel); } if (bob_sconfig) { assert_non_null(pbxb_sconfig); s = zrtp_test_session_create(g_bob, bob_sconfig, &g_bob_sid); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_bob_sid); s = zrtp_test_session_create(g_pbx, pbxb_sconfig, &g_pbxb_sid); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_pbxb_sid); s = zrtp_test_channel_create2(g_bob_sid, g_pbxb_sid, 0, &g_bob2pbx_channel); assert_int_equal(zrtp_status_ok, s); assert_int_not_equal(ZRTP_TEST_UNKNOWN_ID, g_bob2pbx_channel); } } static void cleanup_alice_pbx_bob_setup() { zrtp_test_session_destroy(g_alice_sid); zrtp_test_session_destroy(g_bob_sid); zrtp_test_session_destroy(g_pbxa_sid); zrtp_test_session_destroy(g_pbxb_sid); zrtp_test_channel_destroy(g_alice2pbx_channel); zrtp_test_channel_destroy(g_bob2pbx_channel); }