From 2cf6216ac51488f8b143bcc2baf69b47f937b7be Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Fri, 21 Jun 2013 01:04:33 +0200 Subject: ndef: Support receiving empty Handover select frames Empty handover select frames are received when the peer notifies us about not supporting any of the carrier sent in the handover request frame. In that case there is nothing to do but disconnecting from the handover service. --- src/ndef.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/ndef.c') diff --git a/src/ndef.c b/src/ndef.c index f86df89..641f5df 100644 --- a/src/ndef.c +++ b/src/ndef.c @@ -2414,6 +2414,13 @@ static struct near_ndef_ho_payload *parse_ho_payload(enum record_type rec_type, goto fail; } } else if (reply != NULL) { + /* This is a Hs with no cfg and no Ac: No reply and fail */ + if (rec_type == RECORD_TYPE_WKT_HANDOVER_SELECT && + g_slist_length(acs) == 0) { + *reply = NULL; + goto fail; + } + /* Prepare Hs, it depends upon Hr message carrier types */ *reply = near_ndef_prepare_hs_reply(mimes, c_datas); if (*reply == NULL) { -- cgit v1.2.3