# d2d-manager\r
-\r
To test d2d-manager and sample apps, you must build iotivity locally with following modifications:\r
\r
-1. build_common/SConscript\r
-\r
+### 1. build_common/SConscript\r
+```sh\r
defines.append('-DMULTIPLE_OWNER=1')\r
-\r
-2. packaging/iotivity.spec\r
+```\r
+### 2. packaging/iotivity.spec\r
+```sh\r
%{!?MULTIPLE_OWNER: %define MULTIPLE_OWNER 1}\r
-\r
@@ -268,6 +270,14 @@ cp ./resource/csdk/security/provisioning/sample/oic_svr_db_server_preconfpin.dat %{ex_install_dir}/provision-sample/\r
cp ./extlibs/cjson/cJSON.h %{buildroot}%{_includedir}\r
cp -R ./resource/csdk/connectivity/lib/libcoap-4.1.1/include/* %{buildroot}%{_includedir}\r
-\r
@@ -259,6 +259,14 @@ cp ./resource/csdk/security/include/*.h %{buildroot}%{_includedir}\r
cp ./resource/csdk/connectivity/api/*.h %{buildroot}%{_includedir}/\r
cp ./resource/csdk/security/include/internal/*.h %{buildroot}%{_includedir}/\r
+cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/csdk/security/provisioning/sample/sampleserver_preconfpin %{ex_install_dir\r
+cp ./resource/csdk/security/provisioning/sample/oic_svr_db_server_preconfpin.dat %{ex_install_dir}/provision-sample/\r
+%endif\r
+```\r
\r
After iotivity build succeeds, copy the following package to GBS-ROOT.\r
\r
-~/GBS-ROOT/unified-standard/local/repos/unified_standard/armv7l/RPMS/\r
-\r
-iotivity-1.2.1-9.armv7l.rpm\r
-iotivity-devel-1.2.1-9.armv7l.rpm\r
+* iotivity-1.2.1-9.armv7l.rpm\r
+* iotivity-devel-1.2.1-9.armv7l.rpm\r
\r
+**Example**\r
+```sh\r
+~/GBS-ROOT/unified-standard/local/repos/unified_standard/armv7l/RPMS/\r
+```\r
# build script\r
-\r
If you want to build and install the d2d manager easily, use the following guide.\r
-\r
-1. modify git path variable in {git_path}/material/script/d2d_build.sh & d2d_install.sh script\r
-\r
+### 1. modify git path variable in {git_path}/material/script/d2d_build.sh & d2d_install.sh script\r
ex) git_path="/data/workspace/d2d-manager"\r
-\r
-2. copy install script in /usr/bin\r
-\r
+### 2. copy install script in /usr/bin\r
ex) sudo cp d2d_install.sh /usr/bin\r
-\r
-3. execute d2d_install.sh\r
-\r
+### 3. execute d2d_install.sh\r
ex) $ d2d_install.sh\r
\r
-\r
# How to test d2d-subowner\r
-\r
-Assumption) We have 2~3 physical devices such as TM1 or U3. Our devices are in same IP subnet.\r
-\r
-Pre-conditions) Execute 2 sampleserver_justworks which has Preconfigured PIN security option (key. 12341234)\r
+**Assumption)** We have 2~3 physical devices such as TM1 or U3. Our devices are in same IP subnet.\r
+**Pre-conditions)** Execute 2 sampleserver_justworks which has Preconfigured PIN security option (key. 12341234)\r
+**Example)**\r
At physical device#1, run sampleserver_justworks (ex. its uuid: 5c7ad9ac-836b-4ac0-92a8-ca516f9e8dd4)\r
At physical device#2, run sampleserver_justworks (ex. 2nd server's uuid: e4854ed5-65d1-4cc7-8766-3fb7a35e283a)\r
\r
-Test Method)\r
+## Test Method)\r
At physical device#2, we execute mdbus2 like below\r
-\r
-1. Enable d2d-subowner\r
-\r
+### 1. Enable d2d-subowner\r
+```sh\r
sh-3.2# mdbus2 -s -i\r
MDBUS2> net.d2ds.enabler /net/d2ds/enabler net.d2ds.enabler.enable\r
(0,)\r
-\r
+```\r
+```sh\r
saerome.kim@lx:~/github_sec/d2d-manager (tizen)$ sdb dlog -v time D2D_SUBOWNER\r
01-01 10:23:35.029+0900 D/D2D_SUBOWNER(14781): d2ds.c: main(40) > Enter\r
01-01 10:23:35.030+0900 I/D2D_SUBOWNER(14781): d2ds.c: main(53) > service mainloop start\r
01-01 10:23:35.056+0900 D/D2D_SUBOWNER(14781): d2ds-service-interface.c: _d2ds_dbus_on_name_acquired(305) > Acquired the name net.d2ds\r
01-01 10:23:35.063+0900 D/D2D_SUBOWNER(14781): d2ds-service-interface.c: _d2ds_dbus_handle_enable(315) > Enter\r
01-01 10:23:35.526+0900 D/D2D_SUBOWNER(14781): d2ds-service-interface.c: _d2ds_dbus_handle_enable(331) > Quit\r
+```\r
\r
-2. Get d2d-subowner's device ID\r
+### 2. Get d2d-subowner's device ID\r
\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.get_ownerid\r
('e5d11e8c-7e04-0e9f-fe9f-4bc362f94318', 0)\r
+```\r
\r
+```sh\r
saerome.kim@lx:~/github_sec/d2d-manager (tizen)$ sdb dlog -v time D2D_SUBOWNER\r
01-01 10:23:42.626+0900 D/D2D_SUBOWNER(14781): d2ds-subowner.c: d2ds_request_get_ownerid(1525) > [IPC] Get Device ID\r
+```\r
\r
-3. Find MOT enabled devices in a network\r
+### 3. Find MOT enabled devices in a network\r
+\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.disc_mot_enb_devs\r
(0,)\r
+```\r
\r
+```sh\r
saerome.kim@lx:~/github_sec/d2d-manager (tizen)$ sdb dlog -v time D2D_SUBOWNER\r
01-01 09:07:40.351+0900 D/D2D_SUBOWNER( 4721): d2ds-subowner.c: d2ds_request_disc_mot_enb_devs(1400) > [IPC] Discovery MOT enabled devices\r
01-01 09:07:40.351+0900 I/D2D_SUBOWNER( 4721): d2ds-subowner.c: _disc_mot_env_devs_func(672) > Discovering Multiple Ownership Transfer enabled Devices on Network..\r
01-01 09:07:44.358+0900 I/D2D_SUBOWNER( 4721): d2ds-subowner.c: _print_no_uuid(219) > [1] 5c7ad9ac-836b-4ac0-92a8-ca516f9e8dd4\r
01-01 09:07:44.358+0900 I/D2D_SUBOWNER( 4721): d2ds-subowner.c: _print_no_uuid(219) > [2] e4854ed5-65d1-4cc7-8766-3fb7a35e283a\r
01-01 09:07:44.358+0900 D/D2D_SUBOWNER( 4721): d2ds-subowner.c: __notify_found_devs(590) > Found 2 MOT enabled devices\r
-01-01 09:07:44.359+0900 I/D2D_SUBOWNER( 4721): d2ds-subowner.c: __notify_found_devs(633) > �doxms�\r
+01-01 09:07:44.359+0900 I/D2D_SUBOWNER( 4721): d2ds-subowner.c: __notify_found_devs(633) > ?doxms?\r
+```\r
\r
+```sh\r
saerome.kim@lx:~/github_sec/d2d-manager (tizen)$ sdb shell dbus-monitor --system "sender='net.d2ds'"\r
method return time=1515149361.403747 sender=:1.50 -> destination=:1.49 serial=29 reply_serial=29\r
int32 0\r
)\r
]\r
]\r
+```\r
\r
+### 4. MOT sampleserver_justworks in device#1\r
\r
-4. MOT sampleserver_justworks in device#1\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.mot 5c7ad9ac-836b-4ac0-92a8-ca516f9e8dd4 12341234\r
(0,)\r
+```\r
+\r
+### 5. MOT sampleserver_justworks in device#2\r
\r
-5. MOT sampleserver_justworks in device#2\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.mot e4854ed5-65d1-4cc7-8766-3fb7a35e283a 12341234\r
(0,)\r
+```\r
\r
-6. Find owned devices in a network\r
+### 6. Find owned devices in a network\r
+\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.disc_mowned_devs\r
(0,)\r
+```\r
\r
+```sh\r
saerome.kim@lx:~/github_sec/d2d-manager (tizen)$ sdb dlog -v time D2D_SUBOWNER\r
01-01 09:08:21.418+0900 D/D2D_SUBOWNER( 4721): d2ds-subowner.c: d2ds_request_disc_owned_devs(1420) > [IPC] Discovery Owned devices using MOT\r
01-01 09:08:21.418+0900 D/D2D_SUBOWNER( 4721): d2ds-subowner.c: _disc_owned_devs_func(721) > Discovering Multiple Owned Devices on Network.\r
01-01 09:08:30.358+0900 I/D2D_SUBOWNER( 4721): d2ds-subowner.c: _print_no_uuid(219) > [1] 5c7ad9ac-836b-4ac0-92a8-ca516f9e8dd4\r
01-01 09:08:30.358+0900 I/D2D_SUBOWNER( 4721): d2ds-subowner.c: _print_no_uuid(219) > [2] e4854ed5-65d1-4cc7-8766-3fb7a35e283a\r
01-01 09:08:30.358+0900 D/D2D_SUBOWNER( 4721): d2ds-subowner.c: __notify_found_devs(590) > Found 2 MOT enabled devices\r
+```\r
\r
+### 7. ACL Provisioning sampleserver_justworks in device#1\r
\r
-7. ACL Provisioning sampleserver_justworks in device#1\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.prov_acl e4854ed5-65d1-4cc7-8766-3fb7a35e283a 5c7ad9ac-836b-4ac0-92a8-ca516f9e8dd4 /a/led core.led oic.if.baseline 31\r
-(0,\r
+(0,)\r
+```\r
\r
-7. ACL Provisioning sampleserver_justworks in device#2\r
+### 8. ACL Provisioning sampleserver_justworks in device#2\r
+\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.prov_acl 7ad10436-525b-4f4c-890b-84a0f3ad66aa e4854ed5-65d1-4cc7-8766-3fb7a35e283a /a/led core.led oic.if.baseline 31\r
(0,)\r
+```\r
+\r
+### 9. Make both sampleserver_justworks pairwise\r
\r
-8. Make both sampleserver_justworks pairwise\r
+```sh\r
MDBUS2> net.d2ds /net/d2ds net.d2ds.prov_cred f9dfa1a0-f989-4c31-a08c-32b0d0178058 c520f48f-ed51-4986-8c45-47bfb7e8d8bc\r
(0,)\r
+```\r
\r
+```sh\r
saerome.kim@lx:~/github_sec/d2d-manager (tizen)$ sdb dlog -v time D2D_SUBOWNER\r
01-01 10:09:12.288+0900 D/D2D_SUBOWNER(13505): d2ds-subowner.c: d2ds_request_prov_cred(1304) > [IPC] Provisioning Credential\r
01-01 10:09:12.288+0900 I/D2D_SUBOWNER(13505): d2ds-subowner.c: _print_uuid(187) > 7b6a3d68-d9cb-4197-bb1f-631fb908f140\r
01-01 10:09:12.288+0900 I/D2D_SUBOWNER(13505): d2ds-subowner.c: _print_uuid(187) > 7b6a3d68-d9cb-4197-bb1f-631fb908f140\r
01-01 10:09:12.288+0900 I/D2D_SUBOWNER(13505): d2ds-subowner.c: _cred_provisioning_func(1099) > Provisioning Selected Pairwise Devices..\r
01-01 10:09:12.829+0900 I/D2D_SUBOWNER(13505): d2ds-subowner.c: _cred_provisioning_func(1115) > > Provisioned Selected Pairwise Devices\r
+```\r
+\r
+\r
+\r