Skip to contentSkip to conversation

obexd: obex_handle_input: poll event HUP ERR

DISCUSSION Jiri Slaby 3 participants 8 messages Jun 22, 2010 Bluetooth drivers

lore
Share & tools
lore

Jiri Slaby

author
#0 lore raw

Hi,

I have a problem with receiving files with obexd. After it receives header (file name etc.) it hangs up the connection with
obex_handle_input: poll event HUP ERR

With obex-data-server, everything works as expected.

$ rpm -q obexd libopenobex1 bluez kernel-desktop|sort
bluez-4.64-2.6.x86_64                   == should I try 4.66? ==
kernel-desktop-2.6.34-9.3.x86_64
libopenobex1-1.5-1.8.x86_64
obexd-0.27-6.2.x86_64
$ uname -a
Linux anemoi 2.6.34-9-desktop #1 SMP PREEMPT 2010-06-03 18:33:51 +0200
x86_64 x86_64 x86_64 GNU/Linux
$ strace -fo strace-obexd /usr/lib64/obex/obexd --nodaemon --opp --ftp
--root=Public --root-setup=/usr/lib64/obex/obexd-setup.sh -d
obexd[15862]: Enabling debug information
obexd[15862]: manager_init:
obexd[15862]: Loading builtin plugins
obexd[15862]: driver 0x61d800 transport bluetooth registered
obexd[15862]: Plugin bluetooth loaded
obexd[15862]: driver 0x61d840 mimetype x-obex/folder-listing registered
obexd[15862]: driver 0x61d8a0 mimetype x-obex/capability registered
obexd[15862]: driver 0x61d960 mimetype x-obex/folder-listing registered
obexd[15862]: driver 0x61d900 mimetype (null) registered
obexd[15862]: Plugin filesystem loaded
obexd[15862]: driver 0x61d9e0 service Object Push server registered
obexd[15862]: Plugin opp loaded
obexd[15862]: driver 0x61da80 service File Transfer server registered
obexd[15862]: driver 0x61db00 service Nokia OBEX PC Suite Services
registered
obexd[15862]: Plugin ftp loaded
obexd[15862]: driver 0x61dc20 mimetype x-bt/phonebook registered
obexd[15862]: driver 0x61dc80 mimetype x-bt/vcard-listing registered
obexd[15862]: driver 0x61dce0 mimetype x-bt/vcard registered
obexd[15862]: driver 0x61dba0 service Phonebook Access server registered
obexd[15862]: Plugin pbap loaded
obexd[15862]: driver 0x61dde0 mimetype (null) registered
obexd[15862]: driver 0x61dd60 service OBEX server for SyncML, using
SyncEvolution registered
obexd[15862]: Plugin syncevolution loaded
obexd[15862]: Loading plugins /usr/lib64/obex/plugins
obexd[15862]: bluetooth: listening on channel 9
obexd[15862]: bluetooth: listening on channel 10
obexd[15862]: bluetooth: FindAdapter(any)
obexd[15862]: bluetooth: Registered: Object Push server, handle: 0x10008
obexd[15862]: bluetooth: Registered: File Transfer server, handle: 0x10009
obexd[15862]: bluetooth: New connection from: 00:24:7D:65:55:C5, channel 9
obexd[15862]: REQHINT(0x1), CONNECT(0x0), (null)(0x0)
obexd[15862]: REQ(0x2), CONNECT(0x0), (null)(0x0)
obexd[15862]: Version: 0x10. Flags: 0x00  OBEX packet length: 65535
obexd[15862]: Resizing stream chunks to 65335
obexd[15862]: Selected driver: Object Push server
obexd[15862]: REQDONE(0x3), CONNECT(0x0), (null)(0x0)
obexd[15862]: REQHINT(0x1), PUT(0x2), (null)(0x0)
obexd[15862]: REQCHECK(0xb), PUT(0x2), (null)(0x0)
obexd[15862]: OBEX_HDR_NAME: 323mm=20 10kg.txt
obexd[15862]: OBEX_HDR_LENGTH: 28
obexd[15862]: OBEX_HDR_TYPE: text/plain
obexd[15862]: REQDONE(0x3), PUT(0x2), (null)(0x0)
obexd[15862]: obex_handle_input: poll event HUP ERR
^Cobexd[15862]: Terminating due to signal 2
obexd[15862]: Cleanup plugins
obexd[15862]: driver 0x61d800 transport bluetooth unregistered
obexd[15862]: driver 0x61d840 mimetype x-obex/folder-listing unregistered
obexd[15862]: driver 0x61d8a0 mimetype x-obex/capability unregistered
obexd[15862]: driver 0x61d900 mimetype (null) unregistered
obexd[15862]: driver 0x61d9e0 service Object Push server unregistered
obexd[15862]: driver 0x61da80 service File Transfer server unregistered
obexd[15862]: driver 0x61db00 service Nokia OBEX PC Suite Services
unregistered
obexd[15862]: driver 0x61dba0 service Phonebook Access server unregistered
obexd[15862]: driver 0x61dc20 mimetype x-bt/phonebook unregistered
obexd[15862]: driver 0x61dc80 mimetype x-bt/vcard-listing unregistered
obexd[15862]: driver 0x61dce0 mimetype x-bt/vcard unregistered
obexd[15862]: driver 0x61dd60 service OBEX server for SyncML, using
SyncEvolution unregistered
obexd[15862]: driver 0x61dde0 mimetype (null) unregistered
obexd[15862]: manager_cleanup:

strace of the process:
http://www.fi.muni.cz/~xslaby/sklad/obexd-strace

#1 lore raw

Hi,

Quoted 3 lines · Jiri Slaby

I have a problem with receiving files with obexd. After it receives header (file name etc.) it hangs up the connection with
obex_handle_input: poll event HUP ERR

libopenobex seems to be indicating REQDONE, so it doesn't look like anything is necessarily wrong with obexd here. However, you'd need to look at the HCI level trafic (output of "hcidump -XV") to determine what's really going on (e.g. is it obexd or the client that's disconnecting).

Johan

author
#2 lore raw
Quoted 10 lines · Johan Hedberg
Quoted 3 lines · Jiri Slaby

I have a problem with receiving files with obexd. After it receives header (file name etc.) it hangs up the connection with
obex_handle_input: poll event HUP ERR

libopenobex seems to be indicating REQDONE, so it doesn't look like anything is necessarily wrong with obexd here. However, you'd need to look at the HCI level trafic (output of "hcidump -XV") to determine what's really going on (e.g. is it obexd or the client that's disconnecting).

Attached:

# hcidump -XV
HCI sniffer - Bluetooth packet analyzer ver 1.42
device: hci0 snap_len: 1028 filter: 0xffffffffffffffff
Quoted 1 line

HCI Event: Connect Request (0x04) plen 10

    bdaddr 00:24:7D:65:55:C5 class 0x5a020c type ACL
< HCI Command: Accept Connection Request (0x01|0x0009) plen 7
    bdaddr 00:24:7D:65:55:C5 role 0x00
    Role: Master
Quoted 1 line

HCI Event: Command Status (0x0f) plen 4

    Accept Connection Request (0x01|0x0009) status 0x00 ncmd 1
Quoted 1 line

HCI Event: Role Change (0x12) plen 8

    status 0x00 bdaddr 00:24:7D:65:55:C5 role 0x00
    Role: Master
Quoted 1 line

HCI Event: Connect Complete (0x03) plen 11

    status 0x00 handle 42 bdaddr 00:24:7D:65:55:C5 type ACL encrypt 0x00

< HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2
handle 42

Quoted 1 line

HCI Event: Page Scan Repetition Mode Change (0x20) plen 7

    bdaddr 00:24:7D:65:55:C5 mode 0
Quoted 1 line

HCI Event: Max Slots Change (0x1b) plen 3

handle 42 slots 5

Quoted 1 line

HCI Event: Command Status (0x0f) plen 4

    Read Remote Supported Features (0x01|0x001b) status 0x00 ncmd 0
Quoted 1 line

HCI Event: Command Status (0x0f) plen 4

    Unknown (0x00|0x0000) status 0x00 ncmd 1
Quoted 1 line

HCI Event: Read Remote Supported Features (0x0b) plen 11

    status 0x00 handle 42
    Features: 0xbf 0xee 0x0f 0xce 0x98 0x39 0x00 0x00
Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 12

    L2CAP(s): Connect req: psm 1 scid 0x0040

< ACL data: handle 42 flags 0x02 dlen 16
L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 1 status 0
Connection pending - No futher information available
< ACL data: handle 42 flags 0x02 dlen 10
L2CAP(s): Info req: type 2

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 16

L2CAP(s): Info rsp: type 2 result 0
Extended feature mask 0x0003
Flow control mode
Retransmission mode
< ACL data: handle 42 flags 0x02 dlen 16

    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 0 status 0
      Connection successful
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 10

L2CAP(s): Info req: type 2
< ACL data: handle 42 flags 0x02 dlen 16
L2CAP(s): Info rsp: type 2 result 0
Extended feature mask 0x0080

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 16

    L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 4
      MTU 5120
< ACL data: handle 42 flags 0x02 dlen 18
    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 4
      MTU 5120
< ACL data: handle 42 flags 0x02 dlen 12
    L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 0
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 18

    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 4
      MTU 672
Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 17

    L2CAP(d): cid 0x0040 len 13 [psm 1]
        SDP SS Req: tid 0x1 len 0x8
          pat uuid-16 0x1105 (OBEXObjPush)
          max 65535
          cont 00
< HCI Command: Remote Name Request (0x01|0x0019) plen 10
    bdaddr 00:24:7D:65:55:C5 mode 2 clkoffset 0x0000
< ACL data: handle 42 flags 0x02 dlen 18
    L2CAP(d): cid 0x0040 len 14 [psm 1]
        SDP SS Rsp: tid 0x1 len 0x9
          count 1
          handle 0x10000
          cont 00
Quoted 1 line

HCI Event: Command Status (0x0f) plen 4

    Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 21

    L2CAP(d): cid 0x0040 len 17 [psm 1]
        SDP SA Req: tid 0x2 len 0xc
          handle 0x10000
          max 1024
          aid(s) 0x0004 (ProtocolDescList)
          cont 00
< ACL data: handle 42 flags 0x02 dlen 36
    L2CAP(d): cid 0x0040 len 32 [psm 1]
        SDP SA Rsp: tid 0x2 len 0x1b
          count 24
          aid 0x0004 (ProtocolDescList)
             < < uuid-16 0x0100 (L2CAP) > <
             uuid-16 0x0003 (RFCOMM) uint 0x9 > <
             uuid-16 0x0008 (OBEX) > >
          cont 00
Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 12

    L2CAP(s): Connect req: psm 3 scid 0x0041
< ACL data: handle 42 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0041 result 0 status 0
      Connection successful
Quoted 1 line

HCI Event: Remote Name Req Complete (0x07) plen 255

    status 0x00 bdaddr 00:24:7D:65:55:C5 name 'Nokia 5800 gep'
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 16

    L2CAP(s): Config req: dcid 0x0041 flags 0x00 clen 4
      MTU 32772
< ACL data: handle 42 flags 0x02 dlen 18
    L2CAP(s): Config rsp: scid 0x0041 flags 0x00 result 0 clen 4
      MTU 32772
< ACL data: handle 42 flags 0x02 dlen 16
    L2CAP(s): Config req: dcid 0x0041 flags 0x00 clen 4
      MTU 1013
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 18

    L2CAP(s): Config rsp: scid 0x0041 flags 0x00 result 0 clen 4
      MTU 1013
Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 8

    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): SABM: cr 1 dlci 0 pf 1 ilen 0 fcs 0x1c
< ACL data: handle 42 flags 0x02 dlen 8
    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): UA: cr 1 dlci 0 pf 1 ilen 0 fcs 0xd7
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 18

L2CAP(d): cid 0x0041 len 14 [psm 3]
RFCOMM(s): PN CMD: cr 1 dlci 0 pf 0 ilen 10 fcs 0x70 mcc_len 8 dlci 18 frame_type 0 credit_flow 15 pri 0 ack_timer 0 frame_size 1008 max_retrans 0 credits 3
< ACL data: handle 42 flags 0x02 dlen 18
L2CAP(d): cid 0x0041 len 14 [psm 3]
RFCOMM(s): PN RSP: cr 0 dlci 0 pf 0 ilen 10 fcs 0xaa mcc_len 8 dlci 18 frame_type 0 credit_flow 14 pri 0 ack_timer 0 frame_size 1008 max_retrans 0 credits 7

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 8

    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): SABM: cr 1 dlci 18 pf 1 ilen 0 fcs 0x32
< ACL data: handle 42 flags 0x02 dlen 8
    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): UA: cr 1 dlci 18 pf 1 ilen 0 fcs 0xf9
< ACL data: handle 42 flags 0x02 dlen 12
    L2CAP(d): cid 0x0041 len 8 [psm 3]
      RFCOMM(s): MSC CMD: cr 0 dlci 0 pf 0 ilen 4 fcs 0xaa mcc_len 2
      dlci 18 fc 0 rtc 1 rtr 1 ic 0 dv 1 b1 1 b2 1 b3 0 len 0
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 12

    L2CAP(d): cid 0x0041 len 8 [psm 3]
      RFCOMM(s): MSC CMD: cr 1 dlci 0 pf 0 ilen 4 fcs 0x70 mcc_len 2
      dlci 18 fc 0 rtc 1 rtr 1 ic 0 dv 1 b1 1 b2 1 b3 0 len 0
< ACL data: handle 42 flags 0x02 dlen 12
    L2CAP(d): cid 0x0041 len 8 [psm 3]
      RFCOMM(s): MSC RSP: cr 0 dlci 0 pf 0 ilen 4 fcs 0xaa mcc_len 2
      dlci 18 fc 0 rtc 1 rtr 1 ic 0 dv 1 b1 1 b2 1 b3 0 len 0
Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 12

    L2CAP(d): cid 0x0041 len 8 [psm 3]
      RFCOMM(s): MSC RSP: cr 1 dlci 0 pf 0 ilen 4 fcs 0x70 mcc_len 2
      dlci 18 fc 0 rtc 1 rtr 1 ic 0 dv 1 b1 1 b2 1 b3 0 len 0
< ACL data: handle 42 flags 0x02 dlen 9
    L2CAP(d): cid 0x0041 len 5 [psm 3]
      RFCOMM(d): UIH: cr 0 dlci 18 pf 1 ilen 0 fcs 0x8 credits 33
Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 16

    L2CAP(d): cid 0x0041 len 12 [psm 3]
      RFCOMM(d): UIH: cr 1 dlci 18 pf 1 ilen 7 fcs 0xd2 credits 4
        OBEX: Connect cmd(f): len 7 version 1.0 flags 0 mtu 65535

< ACL data: handle 42 flags 0x02 dlen 15
L2CAP(d): cid 0x0041 len 11 [psm 3]
RFCOMM(d): UIH: cr 0 dlci 18 pf 0 ilen 7 fcs 0x14
OBEX: Connect rsp(f): status 200 len 7 version 1.0 flags 0 mtu 32767 Status 200 = Success

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 89

    L2CAP(d): cid 0x0041 len 85 [psm 3]
      RFCOMM(d): UIH: cr 1 dlci 18 pf 1 ilen 80 fcs 0xd2 credits 1
        OBEX: Put cmd(c): len 80
        Name (0x01) = Unicode length 36
        0000: 00 33 00 32 00 33 00 6d  00 6d 00 3d 00 32 00 30
.3.2.3.m.m.=.2.0
        0010: 00 20 00 31 00 30 00 6b  00 67 00 2e 00 74 00 78  .
.1.0.k.g...t.x
        0020: 00 74 00 00                                       .t..
        Length (0xc3) = 28
        Type (0x42) = Sequence length 11
        0000: 74 65 78 74 2f 70 6c 61  69 6e 00                 text/plain.
        Time (0x44) = Sequence length 16
        0000: 32 30 31 30 30 36 32 32  54 30 35 33 38 33 30 5a
20100622T053830Z
< ACL data: handle 42 flags 0x02 dlen 11
    L2CAP(d): cid 0x0041 len 7 [psm 3]
      RFCOMM(d): UIH: cr 0 dlci 18 pf 0 ilen 3 fcs 0x14
        OBEX: Put rsp(f): status 403 len 3
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 8

    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): DISC: cr 1 dlci 18 pf 1 ilen 0 fcs 0xd3
< ACL data: handle 42 flags 0x02 dlen 8
    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): UA: cr 1 dlci 18 pf 1 ilen 0 fcs 0xf9
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1
< ACL data: handle 42 flags 0x02 dlen 8

    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): DISC: cr 0 dlci 0 pf 1 ilen 0 fcs 0x9c
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 8

    L2CAP(d): cid 0x0041 len 4 [psm 3]
      RFCOMM(s): UA: cr 0 dlci 0 pf 1 ilen 0 fcs 0xb6
< ACL data: handle 42 flags 0x02 dlen 12
    L2CAP(s): Disconn req: dcid 0x0041 scid 0x0041
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 12

    L2CAP(s): Disconn rsp: dcid 0x0041 scid 0x0041
Quoted 1 line

ACL data: handle 42 flags 0x02 dlen 12

    L2CAP(s): Disconn req: dcid 0x0040 scid 0x0040
< ACL data: handle 42 flags 0x02 dlen 12
    L2CAP(s): Disconn rsp: dcid 0x0040 scid 0x0040
Quoted 1 line

HCI Event: Number of Completed Packets (0x13) plen 5

handle 42 packets 1

#3 lore raw

Hi,

Quoted 7 lines · Jiri Slaby
Quoted 5 lines

libopenobex seems to be indicating REQDONE, so it doesn't look like anything is necessarily wrong with obexd here. However, you'd need to look at the HCI level trafic (output of "hcidump -XV") to determine what's really going on (e.g. is it obexd or the client that's disconnecting).

Attached:

Thanks.

Quoted 1 line
# hcidump -XV

<snip>

Quoted 4 lines

< ACL data: handle 42 flags 0x02 dlen 11

    L2CAP(d): cid 0x0041 len 7 [psm 3]
      RFCOMM(d): UIH: cr 0 dlci 18 pf 0 ilen 3 fcs 0x14
        OBEX: Put rsp(f): status 403 len 3

So obexd is responding with "forbidden" to the client. Possible reasons:

* obexd doesn't have write access to the directory it's trying to write to

* You don't have an agent registered for obexd that could accept the request or you're not running obexd in the auto-accept mode (the -a switch).

Johan

author
#4 lore raw
Quoted 10 lines · Johan Hedberg
Quoted 1 line
# hcidump -XV

<snip>

Quoted 4 lines

< ACL data: handle 42 flags 0x02 dlen 11

    L2CAP(d): cid 0x0041 len 7 [psm 3]
      RFCOMM(d): UIH: cr 0 dlci 18 pf 0 ilen 3 fcs 0x14
        OBEX: Put rsp(f): status 403 len 3

So obexd is responding with "forbidden" to the client. Possible reasons:

Quoted 6 lines

* obexd doesn't have write access to the directory it's trying to write to

* You don't have an agent registered for obexd that could accept the request or you're not running obexd in the auto-accept mode (the -a switch).

Yeah, -a solved the problem. What does it mean to have an agent registered? What is agent?

Thanks.

#5 lore raw
Quoted 2 lines · Jiri Slaby

Yeah, -a solved the problem. What does it mean to have an agent registered? What is agent?

If you don't want obexd to go blindly accepting files from random remote devices you'll probably want some sort of user interaction on the server side, right? One possibility would be to have a GUI process show a "Accept file from ..." dialog every time there's an incoming request. You might also want to choose exactly where on the filesystem obexd stores the incoming file. Such choices would be made by an agent, i.e. a process separate from obexd that has through D-Bus told obexd that it can take care of incoming requests. There's an example command line agent written in python available at test/simple-agent in the obexd source tree. The actual D-Bus API of an agent is documented in doc/agent-api.txt in the same source tree.

Johan

author
#6 lore raw
Quoted 4 lines · Johan Hedberg
Quoted 2 lines · Jiri Slaby

Yeah, -a solved the problem. What does it mean to have an agent registered? What is agent?

Quoted 11 lines

If you don't want obexd to go blindly accepting files from random remote devices you'll probably want some sort of user interaction on the server side, right? One possibility would be to have a GUI process show a "Accept file from ..." dialog every time there's an incoming request. You might also want to choose exactly where on the filesystem obexd stores the incoming file. Such choices would be made by an agent, i.e. a process separate from obexd that has through D-Bus told obexd that it can take care of incoming requests. There's an example command line agent written in python available at test/simple-agent in the obexd source tree. The actual D-Bus API of an agent is documented in doc/agent-api.txt in the same source tree.

I have gnome-bluetooth-2.30, but I guess it was not converted to act also as obexd Agent yet.

thanks,

Signature · 1 line
js
#7 lore raw
Quoted 17 lines · Jiri Slaby
Quoted 4 lines · Johan Hedberg
Quoted 2 lines · Jiri Slaby

Yeah, -a solved the problem. What does it mean to have an agent registered? What is agent?

Quoted 11 lines

If you don't want obexd to go blindly accepting files from random remote devices you'll probably want some sort of user interaction on the server side, right? One possibility would be to have a GUI process show a "Accept file from ..." dialog every time there's an incoming request. You might also want to choose exactly where on the filesystem obexd stores the incoming file. Such choices would be made by an agent, i.e. a process separate from obexd that has through D-Bus told obexd that it can take care of incoming requests. There's an example command line agent written in python available at test/simple-agent in the obexd source tree. The actual D-Bus API of an agent is documented in doc/agent-api.txt in the same source tree.

Quoted 2 lines

I have gnome-bluetooth-2.30, but I guess it was not converted to act also as obexd Agent yet.

gnome-bluetooth doesn't have any Obex server bits. You'd need to use gnome-user-share to have Obex server capabilities, and it doesn't use obexd right now, but obex-data-server.

Patches welcome :)

Cheers