summaryrefslogtreecommitdiff
path: root/gobex/gobex.h
Commit message (Collapse)AuthorAgeFilesLines
* gobex: Add SPDX License IdentifierTedd Ho-Jeong An2020-09-211-14/+1
| | | | | | | | | | | | | | | | | | | | | | | This patch adds SPDX License Identifier and removes the license text. ------------------------------------- License COUNT ------------------------------------- GPL-2.0-or-later : 12 License: GPL-2.0-or-later gobex/gobex-defs.h gobex/gobex-transfer.c gobex/gobex.c gobex/gobex-apparam.h gobex/gobex-header.h gobex/gobex-header.c gobex/gobex.h gobex/gobex-packet.h gobex/gobex-defs.c gobex/gobex-debug.h gobex/gobex-apparam.c gobex/gobex-packet.c
* gobex: Fix segfault caused by interrupted transferDenis Grigorev2020-07-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | When a obex transfer is interrupted by a peer in the middle, the response G_OBEX_RSP_FORBIDDEN comes and the transfer is freed in transfer_complete. However gobex is still ref'ed and gobex->io continues to be writable, so write_data() and then g_obex_abort() are called. When the abort response comes, struct obc_transfer is already freed, which leads to the crash. Backtrace : __GI___pthread_mutex_lock (mutex=0x65732f74) at pthread_mutex_lock.c:67 0xecc6eeda in dbus_connection_get_object_path_data () from libdbus-1.so.3 0x000457d4 in g_dbus_emit_property_changed_full () at gdbus/object.c:1794 0x00045868 in g_dbus_emit_property_changed () at gdbus/object.c:1832 0x000367f0 in transfer_set_status () at obexd/client/transfer.c:211 0x0003681e in transfer_set_status () at obexd/client/transfer.c:206 xfer_complete () at obexd/client/transfer.c:672 0x00022df6 in transfer_complete () at gobex/gobex-transfer.c:103 0x00022f44 in transfer_abort_response () at gobex/gobex-transfer.c:124 0x00020a0e in handle_response () at gobex/gobex.c:1128 0x00020dde in incoming_data () at gobex/gobex.c:1373 This commit introduces g_obex_drop_tx_queue(), which will be called if a transfer error detected. After the tx queue is dropped, obex shuts down gracefully.
* gobex: Fix a compilation error for the compatibility with LLVMMiao-chen Chou2016-12-071-6/+6
| | | | | | | | | | The C Standard, subclause 7.16.1.4, paragraph 4 [ISO/IEC 9899:2011], states: The parameter parmN is the identifier of the rightmost parameter in the variable parameter list in the function definition (the one just before the ...). If the parameter parmN is declared with the register storage class, with a function or array type, or with a type that is not compatible with the type that results after application of the default argument promotions, the behavior is undefined.
* gobex: Fix includes for gobex.h headerMarcel Holtmann2015-03-011-2/+2
|
* gobex: Add g_obex_abortLuiz Augusto von Dentz2014-08-291-0/+3
|
* gobex: Add g_obex_disconnectLuiz Augusto von Dentz2014-03-211-0/+3
| | | | | This adds g_obex_disconnect function which can be used to send OBEX Disconnect command.
* gobex: Revert g_obex_pending_req_abort to static pending_req_abortLuiz Augusto von Dentz2013-09-291-2/+0
| | | | | | | This reverts the changes introduced in 9095deb82572112fc0870095bf2222964610eafe that made pending_req_abort public which is not necessary considering g_obex_cancel_req can do the same and is safe to call even if the request is not pending.
* gobex: Get rid of gintLucas De Marchi2013-05-011-1/+1
| | | | | Use plain int instead of gint. In glib gint is always a typedef to int, so it's safe to use it even for callbacks with glib.
* gobex: Fix GPL version referenceJohan Hedberg2013-02-151-2/+3
| | | | | These files (like everything else in the tree) should be GPL 2 or later instead of GPL 2 only.
* gobex: Add callback and userdata parameter to g_obex_cancel_transfer()Jaganath Kanakkassery2012-12-041-1/+4
| | | | | | If callback is provided in g_obex_cancel_transfer() current complete callback will be replaced by the new one and user will be informed when abort completes.
* gobex: Translate posix error code to proper OBEX response opcodeLuiz Augusto von Dentz2012-12-041-0/+1
| | | | | | This patch create a map between posix errors code and OBEX response opcode and use it to generate a proper response in case a transfer failed instead of always responding with internal error.
* gobex: handle Single Response Mode (SRM) headersLuiz Augusto von Dentz2012-12-041-0/+1
| | | | | Single Response Mode (SRM) is a 1-byte quantity containing a value to enable or disable SRM, as well as to indicate support for SRM.
* gobex: introduce g_obex_get_rsp_pktLuiz Augusto von Dentz2012-12-041-0/+4
| | | | | g_obex_get_rsp_pkt takes a response packet which sometimes is more convenient for adding headers.
* gobex: Add translating error codes to stringsBartosz Szatkowski2012-12-041-0/+2
|
* gobex: Add client transfer functions taking a pre-created GObexPacketJohan Hedberg2012-12-041-0/+8
|
* gobex: Add Action command convenience functionsJohan Hedberg2012-12-041-0/+8
|
* gobex: Allow g_obex_send_rsp to take custom headersJohan Hedberg2012-12-041-1/+2
|
* gobex: Merge gobex-transfer.h into gobex.hJohan Hedberg2012-12-041-0/+22
|
* gobex: Use guint instead of gint for request callback idJohan Hedberg2012-12-041-2/+2
|
* gobex: Add g_obex_send_rsp convenience functionJohan Hedberg2012-12-041-1/+3
|
* gobex: Make use of va-args headers in higher level functionsJohan Hedberg2012-12-041-3/+3
|
* gobex: Add g_obex_deleteJohan Hedberg2012-12-041-0/+3
|
* gobex: Add g_obex_mkdirJohan Hedberg2012-12-041-0/+3
|
* gobex: Add g_obex_setpathJohan Hedberg2012-12-041-0/+3
|
* gobex: Add support for suspend & resumeJohan Hedberg2012-12-041-0/+4
|
* gobex: Remove g_obex_set_request_functionJohan Hedberg2012-12-041-2/+0
|
* gobex: Add per-opcode request handlersJohan Hedberg2012-12-041-1/+4
|
* gobex: Track last received request internally and remove g_obex_responseJohan Hedberg2012-12-041-3/+0
|
* gobex: Rename GObexDisconnectFunc to simply GObexFuncJohan Hedberg2012-12-041-3/+2
|
* gobex: Use opcode instead of entire req in g_obex_responseJohan Hedberg2012-12-041-1/+2
|
* gobex: Add convenience response sending functionJohan Hedberg2012-12-041-0/+2
|
* gobex: Add convenience function for sending connect reqJohan Hedberg2012-12-041-0/+6
|
* gobex: Add (transport) MTU parameters to g_obex_newJohan Hedberg2012-12-041-1/+2
|
* gobex: Split ev_func into req_func and disconn_funcJohan Hedberg2012-12-041-2/+6
|
* gobex: Add request cancellation supportJohan Hedberg2012-12-041-1/+2
|
* gobex: Remove disconn callback in favor of generic event callbackJohan Hedberg2012-12-041-6/+2
|
* gobex: Add per-request timeoutsJohan Hedberg2012-12-041-2/+3
|
* gobex: Add proper error returns to packet sending functionsJohan Hedberg2012-12-041-2/+2
|
* gobex: Add disconnect callback supportJohan Hedberg2012-12-041-0/+4
|
* gobex: Split gobex.c into multiple modulesJohan Hedberg2012-12-041-74/+1
|
* gobex: Move request callback info from GObexPacket to GObex layerJohan Hedberg2012-12-041-3/+0
|
* gobex: Add functions for fetching data from packetsJohan Hedberg2012-12-041-0/+7
|
* gobex: Name header creation functions more intuitivelyJohan Hedberg2012-12-041-4/+4
|
* gobex: Add basic internal handling of connect requestJohan Hedberg2012-12-041-0/+1
|
* gobex: Refactor reading/writing to allow packet based transportJohan Hedberg2012-12-041-1/+6
|
* gobex: Add basic response handlingJohan Hedberg2012-12-041-0/+10
|
* gobex: Make G_OBEX_FINAL definition privateJohan Hedberg2012-12-041-1/+0
|
* gobex: Fix GObexPacket variable namingJohan Hedberg2012-12-041-2/+2
|
* gobex: Add basic request callback supportJohan Hedberg2012-12-041-1/+7
|
* gobex: Add function to get operation informationJohan Hedberg2012-12-041-0/+1
|