From: Johan Hedberg <johan.hedberg@gmail.com>
To: Hendrik Sattler <post@hendrik-sattler.de>
Cc: Jaganath Kanakkassery <jaganath.k@samsung.com>,
linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH obexd 2/2] gobex: Fix ABORT request not processing
Date: Fri, 13 Jan 2012 12:54:20 +0200 [thread overview]
Message-ID: <20120113105420.GA4490@x220> (raw)
In-Reply-To: <adc3f64ff0de3606125dfbdea3f6b2ac@mail.hendrik-sattler.de>
Hi,
On Fri, Jan 13, 2012, Hendrik Sattler wrote:
> Am 13.01.2012 10:56, schrieb Jaganath Kanakkassery:
> >G_OBEX_OP_ABORT is defined as 0x7f but error checking of opcode is
> >done for greater than 0x1f. So abort request is simply ignored.
> >So corrected the error checking.
> >---
> > gobex/gobex.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> >diff --git a/gobex/gobex.c b/gobex/gobex.c
> >index 33b77fd..bfb9f37 100644
> >--- a/gobex/gobex.c
> >+++ b/gobex/gobex.c
> >@@ -1150,7 +1150,7 @@ static gboolean incoming_data(GIOChannel *io,
> >GIOCondition cond,
> > } else {
> > opcode = obex->rx_last_op;
> > /* Unexpected response -- fail silently */
> >- if (opcode > 0x1f && opcode < 0xff) {
> >+ if (opcode > G_OBEX_OP_ABORT && opcode < 0xff) {
> > obex->rx_data = 0;
> > return TRUE;
> > }
>
> This one always evaluates to false because 0xff == G_OBEX_OP_ABORT |
> FINAL_BIT.
The value of obex->rx_last_op is stored with the final bit cleared, so
the < 0xff part could also be removed from the test. The value 0x1f has
been picked because the IrDA OBEX specification defines 0x10 - 0x1f as a
user-definable range, so anything between 0x1f and 0x7f isn't actually
valid. The correct test would then become:
if (opcode > 0x1f && opcode != G_OBEX_OP_ABORT)
Jaganath, with the above change the patch should be ok, but the more
surprising thing to me here is that this implies we're missing one or
more unit tests for Abort. Could you create a patch to add those too?
(if we're really strict those tests should go in before this patch so
that it's actually possible to see that the patch makes a difference).
Johan
next prev parent reply other threads:[~2012-01-13 10:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-13 9:56 [PATCH obexd 2/2] gobex: Fix ABORT request not processing Jaganath Kanakkassery
2012-01-13 10:29 ` Hendrik Sattler
2012-01-13 10:54 ` Johan Hedberg [this message]
2012-01-13 11:07 ` Hendrik Sattler
2012-01-13 11:21 ` Johan Hedberg
2012-01-13 12:27 ` Hendrik Sattler
2012-01-13 13:01 ` Johan Hedberg
2012-01-13 13:36 ` Hendrik Sattler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120113105420.GA4490@x220 \
--to=johan.hedberg@gmail.com \
--cc=jaganath.k@samsung.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=post@hendrik-sattler.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).