eis: make ei_connection/callback/pingpong required interfaces

v1 of ei_connection requires callback and pingpong, so let's make all
three required and disconnect a client that doesn't support those.
This commit is contained in:
Peter Hutterer 2023-02-14 09:38:36 +10:00
parent a80b19bb2c
commit 86dced2c40

View file

@ -88,7 +88,9 @@ client_msg_done(struct eis_connection_setup *setup)
struct eis_client *client = eis_connection_setup_get_client(setup);
/* Required interfaces - immediate disconnection if missing */
if (setup->client_versions.ei_connection == 0)
if (setup->client_versions.ei_connection == 0 ||
setup->client_versions.ei_callback == 0 ||
setup->client_versions.ei_pingpong == 0)
return -EPROTO;
eis_client_setup_done(client, setup->name, setup->is_sender, &setup->client_versions);