From: sung.goo.kim Date: Wed, 24 Feb 2016 07:10:49 +0000 (-0800) Subject: Merge "Fix invalid memory access" into tizen X-Git-Tag: accepted/tizen/mobile/20160226.095911~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c5b1128ef5e1c70ee9926aa467dd5e2c71c6eeb;hp=32aba70938272dc57f050da5b48f25531b02eaed;p=platform%2Fcore%2Fiot%2Fiotcon.git Merge "Fix invalid memory access" into tizen --- diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt index 744ec4a..66a4a73 100644 --- a/daemon/CMakeLists.txt +++ b/daemon/CMakeLists.txt @@ -26,7 +26,7 @@ INCLUDE_DIRECTORIES(${daemon_pkgs_INCLUDE_DIRS}) LINK_DIRECTORIES(${daemon_pkgs_LIBRARY_DIRS}) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE") -SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--hash-style=both -pie") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--hash-style=both -pie") ADD_DEFINITIONS("-DIOTCON_DBUS_INTERFACE=\"${DBUS_INTERFACE}\"") ADD_EXECUTABLE(${DAEMON} ${DAEMON_SRCS}) diff --git a/lib/icl-dbus-type.c b/lib/icl-dbus-type.c index 30de394..0bc89a6 100644 --- a/lib/icl-dbus-type.c +++ b/lib/icl-dbus-type.c @@ -168,37 +168,6 @@ GVariant* icl_dbus_remote_resource_to_gvariant(struct icl_remote_resource *resou } -GVariant* icl_dbus_device_info_to_gvariant(iotcon_device_info_h device_info) -{ - GVariant *value; - - value = g_variant_new("(s)", device_info->device_name); - - return value; -} - - -GVariant* icl_dbus_platform_info_to_gvariant(iotcon_platform_info_h platform_info) -{ - GVariant *value; - - value = g_variant_new("(sssssssssss)", - platform_info->platform_id, - platform_info->manuf_name, - platform_info->manuf_url, - platform_info->model_number, - platform_info->date_of_manuf, - platform_info->platform_ver, - platform_info->os_ver, - platform_info->hardware_ver, - platform_info->firmware_ver, - platform_info->support_url, - platform_info->system_time); - - return value; -} - - GVariant* icl_dbus_query_to_gvariant(iotcon_query_h query) { FN_CALL; diff --git a/lib/icl-dbus-type.h b/lib/icl-dbus-type.h index 188367a..7aefcc9 100644 --- a/lib/icl-dbus-type.h +++ b/lib/icl-dbus-type.h @@ -26,8 +26,6 @@ const char** icl_dbus_resource_types_to_array(iotcon_resource_types_h types); GVariant* icl_dbus_representation_to_gvariant(struct icl_representation_s *repr); GVariant* icl_dbus_response_to_gvariant(struct icl_resource_response *response); GVariant* icl_dbus_remote_resource_to_gvariant(struct icl_remote_resource *resource); -GVariant* icl_dbus_device_info_to_gvariant(struct icl_device_info *device_info); -GVariant* icl_dbus_platform_info_to_gvariant(struct icl_platform_info *platform_info); GVariant* icl_dbus_query_to_gvariant(iotcon_query_h query); GVariant* icl_dbus_options_to_gvariant(iotcon_options_h options); GVariant* icl_dbus_observers_to_gvariant(iotcon_observers_h observers); diff --git a/lib/icl-resource-interfaces.c b/lib/icl-resource-interfaces.c index a46721d..3353cff 100644 --- a/lib/icl-resource-interfaces.c +++ b/lib/icl-resource-interfaces.c @@ -199,16 +199,3 @@ API int iotcon_resource_interfaces_clone(iotcon_resource_interfaces_h src, return IOTCON_ERROR_NONE; } - -/* counting from 0 */ -const char* icl_resource_interfaces_get_nth_data(iotcon_resource_interfaces_h ifaces, - int index) -{ - return g_list_nth_data(ifaces->iface_list, index); -} - - -unsigned int icl_resource_interfaces_get_length(iotcon_resource_interfaces_h ifaces) -{ - return g_list_length(ifaces->iface_list); -} diff --git a/lib/icl-resource-interfaces.h b/lib/icl-resource-interfaces.h index 251ddba..6c54f83 100644 --- a/lib/icl-resource-interfaces.h +++ b/lib/icl-resource-interfaces.h @@ -26,8 +26,5 @@ struct icl_resource_ifaces { iotcon_resource_interfaces_h icl_resource_interfaces_ref( iotcon_resource_interfaces_h res_ifaces); -const char* icl_resource_interfaces_get_nth_data(iotcon_resource_interfaces_h res_ifaces, - int index); -unsigned int icl_resource_interfaces_get_length(iotcon_resource_interfaces_h res_ifaces); #endif /* __IOT_CONNECTIVITY_MANAGER_LIBRARY_RESOURCE_INTERFACES_H__ */ diff --git a/lib/icl-resource-types.c b/lib/icl-resource-types.c index 0078cde..a8e3205 100644 --- a/lib/icl-resource-types.c +++ b/lib/icl-resource-types.c @@ -203,15 +203,3 @@ API int iotcon_resource_types_clone(iotcon_resource_types_h src, return IOTCON_ERROR_NONE; } - -/* counting from 0 */ -const char* icl_resource_types_get_nth_data(iotcon_resource_types_h types, int index) -{ - return g_list_nth_data(types->type_list, index); -} - - -unsigned int icl_resource_types_get_length(iotcon_resource_types_h types) -{ - return g_list_length(types->type_list); -} diff --git a/lib/icl-resource-types.h b/lib/icl-resource-types.h index c493a24..586e51d 100644 --- a/lib/icl-resource-types.h +++ b/lib/icl-resource-types.h @@ -34,7 +34,5 @@ struct icl_resource_types { }; iotcon_resource_types_h icl_resource_types_ref(iotcon_resource_types_h res_types); -const char* icl_resource_types_get_nth_data(iotcon_resource_types_h res_types, int index); -unsigned int icl_resource_types_get_length(iotcon_resource_types_h res_types); #endif /* __IOT_CONNECTIVITY_MANAGER_LIBRARY_RESOURCE_TYPES_H__ */ diff --git a/packaging/iotcon-old.service b/packaging/iotcon-old.service new file mode 100644 index 0000000..d76f30c --- /dev/null +++ b/packaging/iotcon-old.service @@ -0,0 +1,13 @@ +[Unit] +Description=Tizen IoT Connectivity + +[Service] +Type=simple +ExecStart=/usr/bin/iotcon-daemon +Restart=always +User=system +Group=system +SmackProcessLabel=iotcon + +[Install] +WantedBy=multi-user.target diff --git a/packaging/iotcon.service b/packaging/iotcon.service index 92b1622..5fbbb6e 100644 --- a/packaging/iotcon.service +++ b/packaging/iotcon.service @@ -5,6 +5,7 @@ Description=Tizen IoT Connectivity Type=simple ExecStart=/usr/bin/iotcon-daemon Restart=always +User=iotcon [Install] WantedBy=multi-user.target diff --git a/packaging/iotcon.spec b/packaging/iotcon.spec index 2102c7d..21512a8 100644 --- a/packaging/iotcon.spec +++ b/packaging/iotcon.spec @@ -6,6 +6,7 @@ Group: Network & Connectivity/Service License: Apache-2.0 Source0: %{name}-%{version}.tar.gz Source1: %{name}.service +Source2: %{name}-old.service Source1001: %{name}.manifest Source1002: %{name}-old.manifest Source1003: %{name}-test-old.manifest @@ -26,6 +27,9 @@ BuildRequires: pkgconfig(cynara-creds-gdbus) %if "%{tizen}" == "2.3" BuildRequires: python-xml %endif +%if 0%{?tizen_version_major} >= 3 +Requires(post): /usr/bin/getent, /usr/bin/useradd, /usr/bin/groupadd +%endif Requires(post): /sbin/ldconfig, /usr/bin/systemctl Requires(postun): /sbin/ldconfig, /usr/bin/systemctl @@ -58,9 +62,11 @@ Tizen IoT Connectivity Test Programs %setup -q chmod g-w %_sourcedir/* %if 0%{?tizen_version_major} < 3 +cp %{SOURCE2} ./%{name}.service cp %{SOURCE1002} ./%{name}.manifest cp %{SOURCE1003} ./%{name}-test.manifest %else +cp %{SOURCE1} ./%{name}.service cp %{SOURCE1001} ./%{name}.manifest cp %{SOURCE1001} ./%{name}-test.manifest %endif @@ -73,6 +79,7 @@ TZ_VER_3=0 TZ_VER_3=1 %endif +export LDFLAGS+="-Wl,--as-needed" MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` %cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} -DBIN_INSTALL_DIR:PATH=%{_bindir} \ -DTZ_VER_3=${TZ_VER_3} -DDBUS_INTERFACE=%{_dbus_interface} @@ -83,7 +90,7 @@ rm -rf %{buildroot} %make_install mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants -cp -af %{SOURCE1} %{buildroot}%{_unitdir}/ +cp -af %{name}.service %{buildroot}%{_unitdir}/ ln -s ../%{name}.service %{buildroot}%{_unitdir}/multi-user.target.wants/%{name}.service %if 0%{?tizen_version_major} < 3 @@ -98,6 +105,11 @@ cp -af %{SOURCE1004} %{buildroot}%{_sysconfdir}/dbus-1/system.d/%{name}.conf %post +%if 0%{?tizen_version_major} >= 3 +getent group iotcon > /dev/null || groupadd -r iotcon +getent passwd iotcon > /dev/null || useradd -r -g iotcon -d '/var/lib/empty' -s /sbin/nologin -c "iotcon daemon" iotcon +%endif + systemctl daemon-reload if [ $1 == 1 ]; then systemctl restart %{name}.service