* [PATCH obexd 4/4] obex: Fix file not getting deleted when a push is aborted
@ 2012-02-02 11:34 Jaganath Kanakkassery
2012-02-02 17:30 ` Luiz Augusto von Dentz
2012-02-02 17:36 ` Johan Hedberg
0 siblings, 2 replies; 3+ messages in thread
From: Jaganath Kanakkassery @ 2012-02-02 11:34 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Jaganath Kanakkassery
Problem: Even if transfer is aborted file will be saved with partial content.
Fix: In os_reset_session() os->cmd is checked for PUT before calling
driver->remove(), but os->cmd is never assigned.This fix sets os->cmd
wit respective opcode
---
src/obex.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/obex.c b/src/obex.c
index 5b580d3..b14e0e0 100644
--- a/src/obex.c
+++ b/src/obex.c
@@ -457,6 +457,8 @@ static void cmd_connect(GObex *obex, GObexPacket *req, void *user_data)
return;
}
+ os->cmd = G_OBEX_OP_CONNECT;
+
rsp = g_obex_packet_new(G_OBEX_RSP_SUCCESS, TRUE, G_OBEX_HDR_INVALID);
parse_authchal(os, req, rsp);
@@ -481,6 +483,8 @@ static void cmd_disconnect(GObex *obex, GObexPacket *req, void *user_data)
print_event(G_OBEX_OP_DISCONNECT, -1);
+ os->cmd = G_OBEX_OP_DISCONNECT;
+
os_set_response(os, 0);
}
@@ -806,6 +810,8 @@ static void cmd_get(GObex *obex, GObexPacket *req, gpointer user_data)
return;
}
+ os->cmd = G_OBEX_OP_GET;
+
parse_name(os, req);
parse_apparam(os, req);
@@ -836,6 +842,8 @@ static void cmd_setpath(GObex *obex, GObexPacket *req, gpointer user_data)
goto done;
}
+ os->cmd = G_OBEX_OP_SETPATH;
+
parse_name(os, req);
os->nonhdr = g_obex_packet_get_data(req, &os->nonhdr_len);
@@ -975,6 +983,8 @@ static void cmd_put(GObex *obex, GObexPacket *req, gpointer user_data)
return;
}
+ os->cmd = G_OBEX_OP_PUT;
+
parse_name(os, req);
parse_length(os, req);
parse_time(os, req);
@@ -1054,6 +1064,8 @@ static void cmd_action(GObex *obex, GObexPacket *req, gpointer user_data)
goto done;
}
+ os->cmd = G_OBEX_OP_ACTION;
+
parse_name(os, req);
parse_destname(os, req);
parse_action(os, req);
--
1.7.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH obexd 4/4] obex: Fix file not getting deleted when a push is aborted
2012-02-02 11:34 [PATCH obexd 4/4] obex: Fix file not getting deleted when a push is aborted Jaganath Kanakkassery
@ 2012-02-02 17:30 ` Luiz Augusto von Dentz
2012-02-02 17:36 ` Johan Hedberg
1 sibling, 0 replies; 3+ messages in thread
From: Luiz Augusto von Dentz @ 2012-02-02 17:30 UTC (permalink / raw)
To: Jaganath Kanakkassery; +Cc: linux-bluetooth
Hi Jaganath,
On Thu, Feb 2, 2012 at 3:34 AM, Jaganath Kanakkassery
<jaganath.k@samsung.com> wrote:
> Problem: Even if transfer is aborted file will be saved with partial content.
>
> Fix: In os_reset_session() os->cmd is checked for PUT before calling
> driver->remove(), but os->cmd is never assigned.This fix sets os->cmd
> wit respective opcode
> ---
> src/obex.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/src/obex.c b/src/obex.c
> index 5b580d3..b14e0e0 100644
> --- a/src/obex.c
> +++ b/src/obex.c
> @@ -457,6 +457,8 @@ static void cmd_connect(GObex *obex, GObexPacket *req, void *user_data)
> return;
> }
>
> + os->cmd = G_OBEX_OP_CONNECT;
> +
> rsp = g_obex_packet_new(G_OBEX_RSP_SUCCESS, TRUE, G_OBEX_HDR_INVALID);
>
> parse_authchal(os, req, rsp);
> @@ -481,6 +483,8 @@ static void cmd_disconnect(GObex *obex, GObexPacket *req, void *user_data)
>
> print_event(G_OBEX_OP_DISCONNECT, -1);
>
> + os->cmd = G_OBEX_OP_DISCONNECT;
> +
> os_set_response(os, 0);
> }
>
> @@ -806,6 +810,8 @@ static void cmd_get(GObex *obex, GObexPacket *req, gpointer user_data)
> return;
> }
>
> + os->cmd = G_OBEX_OP_GET;
> +
> parse_name(os, req);
>
> parse_apparam(os, req);
> @@ -836,6 +842,8 @@ static void cmd_setpath(GObex *obex, GObexPacket *req, gpointer user_data)
> goto done;
> }
>
> + os->cmd = G_OBEX_OP_SETPATH;
> +
> parse_name(os, req);
>
> os->nonhdr = g_obex_packet_get_data(req, &os->nonhdr_len);
> @@ -975,6 +983,8 @@ static void cmd_put(GObex *obex, GObexPacket *req, gpointer user_data)
> return;
> }
>
> + os->cmd = G_OBEX_OP_PUT;
> +
> parse_name(os, req);
> parse_length(os, req);
> parse_time(os, req);
> @@ -1054,6 +1064,8 @@ static void cmd_action(GObex *obex, GObexPacket *req, gpointer user_data)
> goto done;
> }
>
> + os->cmd = G_OBEX_OP_ACTION;
> +
> parse_name(os, req);
> parse_destname(os, req);
> parse_action(os, req);
> --
> 1.7.1
Ack
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH obexd 4/4] obex: Fix file not getting deleted when a push is aborted
2012-02-02 11:34 [PATCH obexd 4/4] obex: Fix file not getting deleted when a push is aborted Jaganath Kanakkassery
2012-02-02 17:30 ` Luiz Augusto von Dentz
@ 2012-02-02 17:36 ` Johan Hedberg
1 sibling, 0 replies; 3+ messages in thread
From: Johan Hedberg @ 2012-02-02 17:36 UTC (permalink / raw)
To: Jaganath Kanakkassery; +Cc: linux-bluetooth
Hi Jaganath,
On Thu, Feb 02, 2012, Jaganath Kanakkassery wrote:
> Problem: Even if transfer is aborted file will be saved with partial
> content.
>
> Fix: In os_reset_session() os->cmd is checked for PUT before calling
> driver->remove(), but os->cmd is never assigned.This fix sets os->cmd
> wit respective opcode
> ---
> src/obex.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
Patches 1 2 and 4 have been applied. Waiting for comments on Luiz's
feedback on patch 3.
Johan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-02-02 17:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-02 11:34 [PATCH obexd 4/4] obex: Fix file not getting deleted when a push is aborted Jaganath Kanakkassery
2012-02-02 17:30 ` Luiz Augusto von Dentz
2012-02-02 17:36 ` Johan Hedberg
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).