The uid of tizen's bt-service will be changed to network_fw from owner.
'network_fw' is a no app user, so it can't use the session bus connection.
Because of this, tizen obexd's dbus connection also change to system bus.
Change-Id: I73f66e8a451a2b3b62c9f03a8468b824813d8767
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
if SYSTEMD
-systemduserunitdir = @SYSTEMD_USERUNITDIR@
+#systemduserunitdir = @SYSTEMD_USERUNITDIR@
+systemduserunitdir = @SYSTEMD_SYSTEMUNITDIR@
systemduserunit_DATA = obexd/src/obex.service
-dbussessionbusdir = @DBUS_SESSIONBUSDIR@
+#dbussessionbusdir = @DBUS_SESSIONBUSDIR@
+dbussessionbusdir = @DBUS_SYSTEMBUSDIR@
dbussessionbus_DATA = obexd/src/org.bluez.obex.service
endif
DBG("");
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (!conn)
return -EIO;
DBG("");
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (!conn)
return -EIO;
DBG("");
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (!conn)
return -EIO;
DBG("");
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (!conn)
return -EIO;
DBG("");
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (!conn)
return -EIO;
if (driver == NULL)
return NULL;
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
+
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (conn == NULL)
return NULL;
DBG("");
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (!conn)
return -EIO;
int messages_init(void)
{
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ g_conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+#else
g_conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
+#endif
if (!g_conn) {
error("Can't get on session bus");
return -1;
file_size = size ? *size : 0;
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL);
+#else
conn = g_dbus_setup_bus(DBUS_BUS_SESSION, NULL, NULL);
+#endif
if (conn == NULL)
return FALSE;
dbus_error_init(&err);
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ connection = g_dbus_setup_bus(DBUS_BUS_SYSTEM, OBEXD_SERVICE, &err);
+#else
connection = g_dbus_setup_bus(DBUS_BUS_SESSION, OBEXD_SERVICE, &err);
+#endif
if (connection == NULL) {
if (dbus_error_is_set(&err) == TRUE) {
fprintf(stderr, "%s\n", err.message);
Description=Bluetooth OBEX service
[Service]
+User=network_fw
+Group=network_fw
+SupplementaryGroups=priv_mediastorage priv_externalstorage
Type=dbus
BusName=org.bluez.obex
ExecStart=@libexecdir@/obexd
[D-BUS Service]
Name=org.bluez.obex
Exec=/bin/sh -c 'exec /usr/libexec/bluetooth/obexd -d --noplugin=ftp,syncevolution,pcsuite,irmc --symlinks -r /opt/usr/home/owner/media/'
+User=network_fw
+Group=network_fw
\ No newline at end of file
%manifest %{name}.manifest
%defattr(-,root,root,-)
%{_libexecdir}/bluetooth/obexd
-%{_libpath}/systemd/user/obex.service
-%{_datadir}/dbus-1/services/org.bluez.obex.service
+%{_libpath}/systemd/system/obex.service
+%{_datadir}/dbus-1/system-services/org.bluez.obex.service
#%{_sysconfdir}/obex/root-setup.d/000_create-symlinks
#%{_bindir}/obex-root-setup
#%{_bindir}/obex.sh
printf("Player %s created\n", player->bus_name);
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ player->conn = g_dbus_setup_private(DBUS_BUS_SYSTEM, player->bus_name,
+ NULL);
+#else
player->conn = g_dbus_setup_private(DBUS_BUS_SESSION, player->bus_name,
NULL);
+#endif
if (!session) {
fprintf(stderr, "Could not register bus name %s",
player->bus_name);
exit(1);
}
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ session = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL);
+#else
session = g_dbus_setup_bus(DBUS_BUS_SESSION, NULL, NULL);
+#endif
if (!session) {
fprintf(stderr, "Can't get on session bus");
exit(1);
}
main_loop = g_main_loop_new(NULL, FALSE);
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ dbus_conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL);
+#else
dbus_conn = g_dbus_setup_bus(DBUS_BUS_SESSION, NULL, NULL);
+#endif
rl_attempted_completion_function = cmd_completion;
dbus_error_init(&err);
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ context->dbus_conn = g_dbus_setup_private(DBUS_BUS_SYSTEM,
+ SERVICE_NAME, &err);
+#else
context->dbus_conn = g_dbus_setup_private(DBUS_BUS_SESSION,
SERVICE_NAME, &err);
+#endif
if (context->dbus_conn == NULL) {
if (dbus_error_is_set(&err)) {
tester_debug("D-Bus setup failed: %s", err.message);
if (context == NULL)
return;
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+ conn = g_dbus_setup_private(DBUS_BUS_SYSTEM, SERVICE_NAME1, NULL);
+#else
conn = g_dbus_setup_private(DBUS_BUS_SESSION, SERVICE_NAME1, NULL);
+#endif
g_assert(conn != NULL);
/* Avoid D-Bus library calling _exit() before next test finishes. */