Bugzilla – Bug 1060129
obexd fail to receive files if /home/user is a symlink
Last modified: 2017-10-09 06:10:39 UTC
TW : bluez-5.46-1.1.x86_64 installed To reproduce, put /home as symlink to other place like /mydata/home Pair a device (kde, gnome console) and try to send a file to the computer The upload failed with Sep 24 22:56:36 obexd[5044]: CONNECT(0x0), (null)(0xffffffff) Sep 24 22:56:36 obexd[5044]: CONNECT(0x0), (null)(0x0) Sep 24 22:56:36 obexd[5044]: PUT(0x2), (null)(0xffffffff) Sep 24 22:56:36 obexd[5044]: open(/home/me/.cache/obexd/20170924_211447.jpg): Operation not permitted (1) Sep 24 22:56:36 obexd[5044]: PUT(0x2), FORBIDDEN(0x43) Sep 24 22:56:36 obexd[5044]: DISCONNECT(0x1), (null)(0xffffffff) Sep 24 22:56:36 obexd[5044]: DISCONNECT(0x1), SUCCESS(0x20) Sep 24 22:56:36 obexd[5044]: disconnected: Transport got disconnected Sep 24 22:56:36 bluetoothd[1272]: Unable to get io data for Object Push: getpeername: Transport endpoint is not connected (107) The file is correctly created but the transfer fail. -rw------- 1 me mygrp 0 sep 24 22:56 .cache/obexd/20170924_211447.jpg If you edit /usr/share/dbus-1/services/org.bluez.obex.service and change the exec line to Exec=/usr/lib/bluetooth/obexd -r /mydata/home/me Then it works as expected. Seems there's a silly code that don't want to work if /home/${USER} is a symlink. This has been reported on factory mailing list too. https://lists.opensuse.org/opensuse-factory/2016-04/msg00067.html Other reference found https://bugs.launchpad.net/ubuntu/+source/obexd/+bug/1535030
What is your $HOME variable? And $XDG_CACHE_HOME?
echo $HOME /home/bruno echo $XDG_CACHE_HOME XDG_CACHE_HOME is empty. other env vars env | grep XDG XDG_VTNR=7 XDG_SESSION_ID=1 XDG_SESSION_TYPE=x11 XDG_DATA_DIRS=/usr/share XDG_SESSION_DESKTOP=KDE XDG_SESSION_CLASS=user XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_CURRENT_DESKTOP=KDE XDG_SEAT=seat0 XDG_RUNTIME_DIR=/run/user/1502 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_CONFIG_DIRS=/etc/xdg