From 5e4bc641fdf686b964a594cd313ae0f721462c9c Mon Sep 17 00:00:00 2001 From: Vinicius Costa Gomes Date: Mon, 7 Jun 2010 11:34:09 -0300 Subject: [PATCH] obexd: Fix wrong response code for PBAP PUT When the object being received is small we don't get the REQCHECK event, so we must call chkput() even if the service doesn't implement PUT. --- obexd/src/obex.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/obexd/src/obex.c b/obexd/src/obex.c index 1679ec7ca..7cdb2f73a 100644 --- a/obexd/src/obex.c +++ b/obexd/src/obex.c @@ -844,10 +844,6 @@ static void cmd_put(struct obex_session *os, obex_t *obex, obex_object_t *obj) if (!os->service) { OBEX_ObjectSetRsp(obj, OBEX_RSP_FORBIDDEN, OBEX_RSP_FORBIDDEN); return; - } else if (!os->service->put) { - OBEX_ObjectSetRsp(obj, OBEX_RSP_NOT_IMPLEMENTED, - OBEX_RSP_NOT_IMPLEMENTED); - return; } g_return_if_fail(chk_cid(obex, obj, os->cid)); @@ -857,6 +853,12 @@ static void cmd_put(struct obex_session *os, obex_t *obex, obex_object_t *obj) return; } + if (!os->service->put) { + OBEX_ObjectSetRsp(obj, OBEX_RSP_NOT_IMPLEMENTED, + OBEX_RSP_NOT_IMPLEMENTED); + return; + } + err = os->service->put(os, os->service_data); if (err < 0) os_set_response(obj, err); -- 2.47.3