diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2011-11-11 16:29:03 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2011-11-12 20:19:12 +0200 |
commit | 6a98d66132dbab081dc6b2e1a3678ffa280b4c1b (patch) | |
tree | 02d99d186ace8514b29cd6c658540b912724733f /gobex | |
parent | 00384679d6b59c7f4a358ef4c4e8e2807fa32175 (diff) | |
download | obexd-6a98d66132dbab081dc6b2e1a3678ffa280b4c1b.tar.gz |
gobex: fix checking connection id for ABORT
OBEX spec state that it is optional to send a Connection Id header in an
OBEX ABORT operation.
Reported by Hendrik Sattler <post@hendrik-sattler.de>
Diffstat (limited to 'gobex')
-rw-r--r-- | gobex/gobex.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gobex/gobex.c b/gobex/gobex.c index 86e1c4a..b0f3716 100644 --- a/gobex/gobex.c +++ b/gobex/gobex.c @@ -705,9 +705,16 @@ static void handle_request(GObex *obex, GObexPacket *req) op = g_obex_packet_get_operation(req, NULL); - if (op == G_OBEX_OP_CONNECT) + switch (op) { + case G_OBEX_OP_CONNECT: parse_connect_data(obex, req); - else if (check_connid(obex, req) == FALSE) { + break; + case G_OBEX_OP_ABORT: + break; + default: + if (check_connid(obex, req)) + break; + g_obex_debug(G_OBEX_DEBUG_ERROR, "Invalid Connection ID"); g_obex_send_rsp(obex, G_OBEX_RSP_SERVICE_UNAVAILABLE, NULL, G_OBEX_HDR_INVALID); |