platform/core/appfw/rpc-port.git
5 months agoFix crash issue 08/317308/2
Changgyu Choi [Mon, 30 Dec 2024 08:28:42 +0000 (17:28 +0900)]
Fix crash issue

memory allocation must not be performed at the end of the process.

Change-Id: I41163045f3ffa9d3addb5c3cb8aa4a5f65536d48
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
5 months agoRelease version 1.19.2 49/316749/1 accepted/tizen/unified/20241219.032733 accepted/tizen/unified/x/20241219.100940
jusung son [Wed, 18 Dec 2024 02:23:59 +0000 (11:23 +0900)]
Release version 1.19.2

Changes:
 - Fix race condition related to global variable deallocation on process termination

Change-Id: If68d0ca240dbe10d98ff87fe7f80067726fc0ed6
Signed-off-by: jusung son <jusung07.son@samsung.com>
5 months agoFix race condition related to global variable deallocation on process termination 40/316740/1
jusung son [Wed, 18 Dec 2024 00:29:26 +0000 (09:29 +0900)]
Fix race condition related to global variable deallocation on process termination

Change-Id: I1a10a755c6be1e675d874528be62bdbec5e221a0
Signed-off-by: jusung son <jusung07.son@samsung.com>
6 months agoRelease version 1.19.1 23/321023/1 accepted/tizen/unified/20241205.060747 accepted/tizen/unified/x/20241207.045434 accepted/tizen/unified/x/asan/20241224.004144
Hwankyu Jhun [Wed, 27 Nov 2024 00:23:57 +0000 (09:23 +0900)]
Release version 1.19.1

Changes:
 - Fix warnings
 - Release client instances

Change-Id: Ifc87e1c8c7e8540af7877b938064dcaa3c4c799a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
6 months agoRelease client instances 22/321022/1
Hwankyu Jhun [Wed, 27 Nov 2024 00:16:06 +0000 (09:16 +0900)]
Release client instances

When creating the client channel is failed, we should release client instances.

Change-Id: I7d5c564cbc3ac0d6634d51d9e235187bde44aa84
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
6 months agoFix warnings 33/320933/1
pjh9216 [Tue, 26 Nov 2024 00:03:26 +0000 (09:03 +0900)]
Fix warnings

Change-Id: Ic9598cb65d7c7838745bb81d57d0dda843c35294
Signed-off-by: pjh9216 <jh9216.park@samsung.com>
7 months agoRelease version 1.19.0 82/320182/2
Hwankyu Jhun [Sat, 9 Nov 2024 04:45:40 +0000 (13:45 +0900)]
Release version 1.19.0

Changes:
 - Add rpc-port-parcel APIs for rust
 - Fix deadlock issue

Change-Id: I35b103c147297afeac5ba21fd9672aea72e11f4c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoFix deadlock issue 81/320181/1
Hwankyu Jhun [Sat, 9 Nov 2024 03:17:32 +0000 (12:17 +0900)]
Fix deadlock issue

While calling CheckAsync(), locking the mutex causes the deadlock issue.
This patch removes locking the mutex to avoid deadlock issue.

Change-Id: I8c6e26478d689f84667c2e13c2058fb4e441c4c7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoAdd rpc-port-parcel APIs for rust 30/320030/2
pjh9216 [Thu, 7 Nov 2024 02:17:52 +0000 (11:17 +0900)]
Add rpc-port-parcel APIs for rust

Change-Id: Id1951c9e87fca4d24390c6d3d71126628b298be3
Signed-off-by: pjh9216 <jh9216.park@samsung.com>
7 months agoRelease version 1.18.16 19/320019/1 accepted/tizen/unified/20241108.105508
pjh9216 [Wed, 6 Nov 2024 23:48:14 +0000 (08:48 +0900)]
Release version 1.18.16

Changes:
 - Add a missing mutex lock
Signed-off-by: pjh9216 <jh9216.park@samsung.com>
Change-Id: I934238c910b52d4526dbab0edd9c23e709b876b5

7 months agoAdd a missing mutex lock 08/320008/2
Hwankyu Jhun [Wed, 6 Nov 2024 11:08:45 +0000 (20:08 +0900)]
Add a missing mutex lock

Before using condition variable, we should lock the mutex to avoid
a timing issue.

Change-Id: I78c22d275a3dfc08087ec722cb9d0c53d08c3c19
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoRelease version 1.18.15 61/319861/1
pjh9216 [Tue, 5 Nov 2024 02:11:00 +0000 (11:11 +0900)]
Release version 1.18.15

Changes:
 - Refactor rpc-port
Signed-off-by: pjh9216 <jh9216.park@samsung.com>
Change-Id: I3a329b4250bf55abcce0b590b6c32514032ce179

7 months agoRefactor rpc-port 72/319572/6
pjh9216 [Mon, 28 Oct 2024 01:40:12 +0000 (10:40 +0900)]
Refactor rpc-port

- Move benchmark tool to https://github.sec.samsung.net/appfw/rpc-benchmark
- Add some internal APIs

Change-Id: Ib1b243d7413c7b060b1f9f48822fe20359f60819
Signed-off-by: pjh9216 <jh9216.park@samsung.com>
7 months agoRelease version 1.18.14 23/319823/1
Hwankyu Jhun [Mon, 4 Nov 2024 01:18:26 +0000 (10:18 +0900)]
Release version 1.18.14

Changes:
 - Fix use after free
 - Use std::queue instead of tizen_base::SharedQueue

Change-Id: Ib1a62dadd9a27c62648e36582fc355ddde91b164
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoUse std::queue instead of tizen_base::SharedQueue 18/319818/2
Hwankyu Jhun [Sun, 3 Nov 2024 23:41:19 +0000 (08:41 +0900)]
Use std::queue instead of tizen_base::SharedQueue

To avoid memory allocation while calling exit handlers, this patch uses
std::queue with the std::atomic<bool>. When calling the Dispose() method,
it set the done_ flag to 'true' to terminate the while loop of the thread.

Change-Id: I101665a9e51c7711d5f5485a094835f5add95cf0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoFix use after free 20/319820/1
Hwankyu Jhun [Mon, 4 Nov 2024 00:59:11 +0000 (09:59 +0900)]
Fix use after free

When settng the priority to the GSource, it makes the use-after-free issue.
Because, the GSource can attach to the event loop of the sub thread.
This patch removes calling g_source_set_priority() function after
calling g_source_attach().

Change-Id: Iaf9822561e44c08fb96d921b7f7ea9311c45886c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoRelease version 1.18.13 78/319278/1
Hwankyu Jhun [Mon, 21 Oct 2024 02:23:39 +0000 (11:23 +0900)]
Release version 1.18.13

Changes:
 - Fix use after free issue

Change-Id: Ie3266ee570fadae26db6797fd9f2af8f871f8531
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoFix use after free issue 76/319276/1
Hwankyu Jhun [Mon, 21 Oct 2024 02:16:50 +0000 (11:16 +0900)]
Fix use after free issue

While calling g_source_set_priority(), the use-after-free issue occurs.
The IdleAddFull() is added to fix the problem.

Change-Id: Ifddebafcf5e0521452dff8063389cfd30ba426eb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoRelease version 1.18.12 26/319226/1
Hwankyu Jhun [Fri, 18 Oct 2024 00:56:25 +0000 (09:56 +0900)]
Release version 1.18.12

Changes:
 - Adjust log priority for debugging
 - Fix wrong time comparison
 - Avoid memory allocation in exit handlers

Change-Id: I8ae0c0e4eae640974b3d7552d4ab0a3fb1564bee
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoAvoid memory allocation in exit handlers 21/319221/4
Hwankyu Jhun [Thu, 17 Oct 2024 23:24:26 +0000 (08:24 +0900)]
Avoid memory allocation in exit handlers

To avoid the memory allocation related to the job, this patch uses
std::shared_ptr<Job>. The memory allocation in the exit handlers causes
the crash issue. While calling Dispose(), the cynara thread sets
the nullptr to the shared queue.

Change-Id: I6668dc6fce0b3ef64c01260a6e28a332777b70ea
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoFix wrong time comparison 24/319224/2
Hwankyu Jhun [Fri, 18 Oct 2024 00:24:02 +0000 (09:24 +0900)]
Fix wrong time comparison

The priority and if condition are changed.

Change-Id: Ie0af348969caea81c7bf39079e1291bba52096e7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoAdjust log priority for debugging 07/319207/2
Hwankyu Jhun [Thu, 17 Oct 2024 09:51:54 +0000 (18:51 +0900)]
Adjust log priority for debugging

The log priority is determined according to the elpased time required as shown
in the following table:
+---------------+----------+
| elpased time  | priority |
+---------------+----------+
| ~ 0.999       | DEBUG    |
| 1.0 ~ 4.999   | INFO     |
| 5.0 ~ 9.999   | WARN     |
| 10.0 ~        | ERROR    |
+---------------+----------+

Change-Id: I33fadf930f9c18e78dd30f5b709c36436bf544bd
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoRelease version 1.18.11 35/319135/1
Hwankyu Jhun [Wed, 16 Oct 2024 01:29:13 +0000 (10:29 +0900)]
Release version 1.18.11

Changes:
 - Print trace information regarding IPC delay

Change-Id: I597864fddb11019405baec3a792d1871a400893d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
8 months agoPrint trace information regarding IPC delay 44/319044/3
Hwankyu Jhun [Mon, 14 Oct 2024 07:25:14 +0000 (16:25 +0900)]
Print trace information regarding IPC delay

This patch adds Tracer class for priting debug information.

Change-Id: Ia1439e7d86b94e9a03f377f3d372eeb7b8eec565
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
8 months agoRelease version 1.18.10 14/318314/1 accepted/tizen_unified_toolchain accepted/tizen/9.0/unified/20241030.233836 accepted/tizen/unified/20240929.151844 accepted/tizen/unified/toolchain/20241004.101216 accepted/tizen/unified/x/20240930.091209 accepted/tizen/unified/x/asan/20241013.235451 tizen_9.0_m2_release
Hwankyu Jhun [Thu, 26 Sep 2024 23:19:28 +0000 (08:19 +0900)]
Release version 1.18.10

Changes:
 - Fix a timing issue related to disconnected event

Change-Id: I6836c18180d00f9523eebedf6cc89d637abd9d06
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
8 months agoFix a timing issue related to disconnected event 96/318296/1
Hwankyu Jhun [Thu, 26 Sep 2024 11:37:49 +0000 (20:37 +0900)]
Fix a timing issue related to disconnected event

The port instance should be released after calling the disconnected
event callback.

Change-Id: I8b4e07918702bdbacc612a37978fcba9faf819b0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
8 months agoRelease version 1.18.9 24/318124/1
Changgyu Choi [Wed, 25 Sep 2024 00:58:51 +0000 (09:58 +0900)]
Release version 1.18.9

Changes:
 - Apply to prevent stripping .rustc section symbols

Change-Id: Iec3a9519564f8a1369898da9871b4812c4e82481
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
8 months agoApply to prevent stripping .rustc section symbols 43/318043/4
Changgyu Choi [Tue, 24 Sep 2024 04:02:38 +0000 (13:02 +0900)]
Apply to prevent stripping .rustc section symbols

In some environments, the current approach needs to be changed because the %check step is not executed.

Change-Id: Ia3dbd47b989fe57d37f14ceb23006f0d084ff35e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
8 months agoRelease version 1.18.8 24/318024/1
jusung son [Tue, 24 Sep 2024 00:24:25 +0000 (09:24 +0900)]
Release version 1.18.8

Changes:
 - Implement rust-rpc-port
 - Add extension

Change-Id: Ie37d0a0bf65dc76907083eb0593a52de61857971
Signed-off-by: jusung son <jusung07.son@samsung.com>
9 months agoAdd extension 50/317450/7
dongkwan [Wed, 11 Sep 2024 05:44:54 +0000 (14:44 +0900)]
Add extension

 add codes for rust -e(extension) option.

 - extern rpc_port_get_peer_info
 - extern rpc_port_stub_has_pending_request
 - has_pending_pending rust style wrap up function
 - get_peer_info rust style wrap up function
 - few unit tests code

Change-Id: I8af83b5c1642ef4c47421b3ad2db33c5c6d80c28
Signed-off-by: dongkwan <dk3776.kim@samsung.com>
9 months agoImplement rust-rpc-port 56/317056/3
Changgyu Choi [Tue, 3 Sep 2024 09:05:26 +0000 (18:05 +0900)]
Implement rust-rpc-port

rust-rpc-port has been added.

Change-Id: I33b5f2ff1f8ac7ff8eae244a282286843956b2e3
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
9 months agoRelease version 1.18.7 11/317411/1 accepted/tizen/unified/20240924.085459 accepted/tizen/unified/x/20240925.015903
jusung son [Tue, 10 Sep 2024 04:11:34 +0000 (13:11 +0900)]
Release version 1.18.7

Changes:
 - Fix memory leak

Change-Id: I734e3a0cef20ddb2e93e01e3a37c7123d2dfa147
Signed-off-by: jusung son <jusung07.son@samsung.com>
9 months agoFix memory leak 05/317405/1
jusung son [Tue, 10 Sep 2024 03:55:11 +0000 (12:55 +0900)]
Fix memory leak

Change-Id: I85a3130cbb53d8eaa94010042b3bfb818c3111da
Signed-off-by: jusung son <jusung07.son@samsung.com>
9 months agoRelease version 1.18.6 96/317396/1
jusung son [Tue, 10 Sep 2024 00:57:51 +0000 (09:57 +0900)]
Release version 1.18.6

Changes:
 - Add internal parcel APIs

Change-Id: I493fdb8f01dfd1b3dbe978737602f01472866896
Signed-off-by: jusung son <jusung07.son@samsung.com>
9 months agoAdd internal parcel APIs 71/316771/3
jh9216.park [Wed, 28 Aug 2024 03:05:36 +0000 (23:05 -0400)]
Add internal parcel APIs

Change-Id: I0d7daaaddb7876126d4043fba074c149f58d0aa5
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
9 months agoRelease version 1.18.5 81/316781/1 accepted/tizen_unified_dev accepted/tizen/unified/20240829.091431 accepted/tizen/unified/dev/20240901.214628 accepted/tizen/unified/x/20240829.105225
Hwankyu Jhun [Wed, 28 Aug 2024 04:48:16 +0000 (13:48 +0900)]
Release version 1.18.5

Changes:
 - Use bundle_encode_raw in rpc-port-parcel

Change-Id: If11d85d361dfb474e31c1817d7d32f78b60c7f3d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
9 months agoUse bundle_encode_raw in rpc-port-parcel 65/316465/2
jh9216.park [Thu, 22 Aug 2024 02:23:48 +0000 (22:23 -0400)]
Use bundle_encode_raw in rpc-port-parcel

- bundle_encode_raw does not use Base64 encoder
- It it faster then bundle_encode
- Requires
  https://review.tizen.org/gerrit/#/c/platform/core/base/bundle/+/316457/

Change-Id: Ie9b20b43b795064c129e865683ae58a0a691a881
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
10 months agoRelease version 1.18.4 75/316075/1 accepted/tizen/unified/20240814.180318 accepted/tizen/unified/dev/20240819.095546 accepted/tizen/unified/x/20240819.023200
Hwankyu Jhun [Tue, 13 Aug 2024 08:05:45 +0000 (17:05 +0900)]
Release version 1.18.4

Changes:
 - Modify implementation related to sync function
 - Fix GetAppId() method

Change-Id: Id8969efaf1044aab34848f29c1aabd366649a908
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoFix GetAppId() method 66/316066/2
Hwankyu Jhun [Tue, 13 Aug 2024 06:11:19 +0000 (15:11 +0900)]
Fix GetAppId() method

If the caller process ID is equal to the target process ID, the rpc-port
should check whether the user ID is less than the regular user ID or not.

Change-Id: Id60fc954986e871a9d7038b3253bbf212ab30b2f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 1.18.3 60/316060/1
Hwankyu Jhun [Tue, 13 Aug 2024 04:15:36 +0000 (13:15 +0900)]
Release version 1.18.3

Changes:
 - Modify implementation related to sync function

Change-Id: I7a52d4adb52f441284945db5a792c45b02b830a2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoModify implementation related to sync function 39/316039/6
Hwankyu Jhun [Mon, 12 Aug 2024 21:55:06 +0000 (06:55 +0900)]
Modify implementation related to sync function

- Change retrying count to 250.
- Check whether the stub is system daemon or not
- Fix a bug about delegate invocation

Change-Id: I49b36eb990957dabaa29d462b74e6c32df501c93
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 1.18.2 21/315921/1 accepted/tizen/unified/20240812.010907 accepted/tizen/unified/dev/20240812.222922 accepted/tizen/unified/toolchain/20240813.045359 accepted/tizen/unified/x/20240812.042123 accepted/tizen/unified/x/asan/20240813.225525
Hwankyu Jhun [Fri, 9 Aug 2024 10:57:45 +0000 (19:57 +0900)]
Release version 1.18.2

Changes:
 - Modify doc
 - Fix thread safe issue

Change-Id: I34040fee88ac745b5957166ff9e2beb392d69dc1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoFix thread safe issue 15/315915/1
Hwankyu Jhun [Fri, 9 Aug 2024 10:16:12 +0000 (19:16 +0900)]
Fix thread safe issue

If the process tries to release the GSource when calling the idle callback,
it can make the crash issue as below:
+------------------------------------------------------------------------------+
| #0  0xb5a9201a in g_source_remove_child_source (source=<optimized out>,      |
|                child_source=<optimized out>) at /usr/src/debug/glib2-2.78.4- |
|                0.arm/_build/../glib/gmain.c:1725                             |
| #1  0xb5a92108 in g_source_destroy (source=<optimized out>) at /usr/src/debug|
|                /glib2-2.78.4-0.arm/_build/../glib/gmain.c:1477               |
+------------------------------------------------------------------------------+

This patch adds locking & unlocking the mutex to prevent the issue.

Change-Id: I0ab3b60bd8bfee41b92c5a33c6c5cf3c269c3931
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoModify doc 14/315814/1
Hwankyu Jhun [Thu, 8 Aug 2024 04:23:04 +0000 (13:23 +0900)]
Modify doc

The module header name must be "CAPI_RPC_PORT_PARCEL_MODULE_HEADER".

Change-Id: Ifa82cd6292daebe13561f59f06691a47a7651282
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 1.18.1 95/315795/1 accepted/tizen/unified/20240808.160412 accepted/tizen/unified/dev/20240809.091503 accepted/tizen/unified/toolchain/20240812.131242 accepted/tizen/unified/x/20240809.012845 accepted/tizen/unified/x/20240809.015552
Hwankyu Jhun [Thu, 8 Aug 2024 00:13:16 +0000 (09:13 +0900)]
Release version 1.18.1

Changes:
 - Remove unnecessary logs
 - Fix crash issues of servers

Change-Id: Id35de7c8622593d210a9cb9847dc0efe89968203
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoFix crash issues of servers 94/315794/1
Hwankyu Jhun [Thu, 8 Aug 2024 00:06:18 +0000 (09:06 +0900)]
Fix crash issues of servers

While calling RemoveAcceptedPorts(), the server has crashed.
Because the instance argument is deleted at the for loop.
This patch changes the parameter type to std::string.

Change-Id: Ib7754d128df647b75643baf34d4eca3e62264fd1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRemove unnecessary logs 56/315656/1
Hwankyu Jhun [Tue, 6 Aug 2024 03:12:09 +0000 (12:12 +0900)]
Remove unnecessary logs

The ctor and dtor logs are not needed.

Change-Id: I3771bf2b5462944d1a8b159be8a07e8fa8feb960
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 1.18.0 48/315548/1 accepted/tizen/unified/20240805.060300 accepted/tizen/unified/dev/20240807.092845 accepted/tizen/unified/x/20240806.012729
Hwankyu Jhun [Fri, 2 Aug 2024 06:34:59 +0000 (15:34 +0900)]
Release version 1.18.0

Changes:
 - Modify Port implementation
 - Increase timeout of rpc-port
 - Refactor DebugPort implementation
 - Add a missing timeout setting
 - Add a new internal class for using glib

Change-Id: Idaec03a4e6e31106ad34ef1accdd804c98bd5c98
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoAdd a new internal class for using glib 33/315533/5
Hwankyu Jhun [Fri, 2 Aug 2024 05:58:59 +0000 (14:58 +0900)]
Add a new internal class for using glib

The following methods are added:
 - GLib::IdleAdd()
 - GLib::TimeoutAdd()
 - GLib::UnixFdAdd()
 - GLib::SourceDestroy()

Change-Id: If9f0231b2fcf959cd1469a34a6cf54cc75977bf6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoAdd a missing timeout setting 35/315535/2
Hwankyu Jhun [Fri, 2 Aug 2024 06:12:50 +0000 (15:12 +0900)]
Add a missing timeout setting

The receive timeout of the client should be set.

Change-Id: I1b90f927ca230ede6641f7afb79c16075a832490
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRefactor DebugPort implementation 94/315494/2
Hwankyu Jhun [Thu, 1 Aug 2024 23:30:18 +0000 (08:30 +0900)]
Refactor DebugPort implementation

The parameters of AddSession() method ars changed.

Change-Id: Ib75c008d6fd9f63bb673c68b6be9488ca9b83821
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoIncrease timeout of rpc-port 76/315476/2
Hwankyu Jhun [Thu, 1 Aug 2024 09:40:54 +0000 (18:40 +0900)]
Increase timeout of rpc-port

The default timeout is increased to 25 seconds.
The following functions are added internally:
 - rpc_port_set_timeout()
 - rpc_port_get_timeout()

Change-Id: I6ae46d956c30e33606a74cd312a1b37ac67c2b02
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoModify Port implementation 25/315425/4
Hwankyu Jhun [Thu, 1 Aug 2024 01:10:55 +0000 (10:10 +0900)]
Modify Port implementation

This patch separates the fd for use respectively for read & write purposes.

Change-Id: I35e51f6af0e91b0f830901a67dd815c01b1d3645
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 1.17.3 19/315419/1 accepted/tizen/unified/20240801.150153 accepted/tizen/unified/dev/20240805.054346 accepted/tizen/unified/x/20240802.020132
Hwankyu Jhun [Wed, 31 Jul 2024 22:57:36 +0000 (07:57 +0900)]
Release version 1.17.3

Changes:
 - Separate internal classes
 - Throw exception when getting EMFILE errno
 - Modify Port class
 - Add a missing implementation
 - Modify ClientSocket implementation
 - Fix build error

Change-Id: Idec9d29040fe45c44f8a64542c46a81010cfa054
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoFix build error 17/315417/1
Hwankyu Jhun [Wed, 31 Jul 2024 22:34:50 +0000 (07:34 +0900)]
Fix build error

The log format should be %zu to print size_t type.

Change-Id: Icb6e639c152a46bfe3430a63889ee4daf9445892
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 1.17.2 79/315379/1
Hwankyu Jhun [Wed, 31 Jul 2024 05:40:54 +0000 (14:40 +0900)]
Release version 1.17.2

Changes:
 - Separate internal classes
 - Throw exception when getting EMFILE errno
 - Modify Port class
 - Add a missing implementation
 - Modify ClientSocket implementation

Change-Id: I76be7a472bdc970cc9fe3d1fdb9915ea14c67783
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoModify ClientSocket implementation 63/315363/6
Hwankyu Jhun [Wed, 31 Jul 2024 01:43:15 +0000 (10:43 +0900)]
Modify ClientSocket implementation

- Adds Send() and Receive() methods for sending the parcelable instance
- Uses recv() instead of read()
- Adds exception handlings about EAGAIN error
- Adds the retrying count for error handling

Change-Id: I41dd952d6fa90500a30f0193f0e8fe747675b462
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoAdd a missing implementation 74/315374/1
Hwankyu Jhun [Wed, 31 Jul 2024 05:13:56 +0000 (14:13 +0900)]
Add a missing implementation

When creating the gsource is failed, the function must be returned.

Change-Id: Id0de49f9d93aa3afad8f9fa311719cc802179574
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoModify Port class 66/315166/2
Hwankyu Jhun [Fri, 26 Jul 2024 04:19:32 +0000 (13:19 +0900)]
Modify Port class

The DelayedMessage class is separated from the Port class.
Using GIOChannel is removed. After this patch is applied, the port uses GSource
instead of GIOChannel.(g_unix_fd_source_new() is used).

Change-Id: I9edba1b5d8f305c951d7908abcd2c787279ae54b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoThrow exception when getting EMFILE errno 59/315159/1
Hwankyu Jhun [Fri, 26 Jul 2024 00:21:27 +0000 (09:21 +0900)]
Throw exception when getting EMFILE errno

When the process cannot open a new file descriptior, the rpc-port
library throws an exception to create coredump file.

Change-Id: I5b9ebe83342cfca4511d4329676b67365d374e5d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoSeparate internal classes 45/314845/8
Hwankyu Jhun [Mon, 22 Jul 2024 04:39:10 +0000 (13:39 +0900)]
Separate internal classes

The AcceptedPort and Server classes are separated from the Stub class.
The ProxyPort and ClientChannel classes are sperated from the Proxy class.

Change-Id: Ibce6a686a901a5748dacb81a013e06bd9d2184f6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 1.17.1 97/314897/1 accepted/tizen/unified/20240724.005700 accepted/tizen/unified/dev/20240724.110013 accepted/tizen/unified/x/20240724.011741
Hwankyu Jhun [Tue, 23 Jul 2024 03:53:49 +0000 (12:53 +0900)]
Release version 1.17.1

Changes:
 - Fix a bug about registering main port

Change-Id: Ic3304a1735d64e69b372f2f0f3be6d1fb76951e6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoFix a bug about registering main port 96/314896/1
Hwankyu Jhun [Tue, 23 Jul 2024 03:33:32 +0000 (12:33 +0900)]
Fix a bug about registering main port

The main port should not register G_IO_IN event handler.

Change-Id: I123bdada062da4b7646c615fd72c20ce93c6c56d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoRelease version 1.17.0 59/314459/1 accepted/tizen/unified/20240716.140253 accepted/tizen/unified/dev/20240717.110313 accepted/tizen/unified/x/20240717.012435
Hwankyu Jhun [Fri, 12 Jul 2024 04:02:28 +0000 (13:02 +0900)]
Release version 1.17.0

Changes:
 - Use thread default context

Change-Id: I0b42f944fe0c2a1d0365ccc63b6867866d762cf5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoUse thread default context 98/313498/12
Hwankyu Jhun [Thu, 27 Jun 2024 01:41:35 +0000 (10:41 +0900)]
Use thread default context

To deliver events to the registered thread loop, this patch uses a
thread default context instead of a default main context.

Change-Id: I7827fd1af7ea942f0de0ae4cfc6b7f022f45d8f7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 1.16.0 76/312576/1 accepted/tizen/unified/20240612.160644 accepted/tizen/unified/dev/20240620.005225 accepted/tizen/unified/toolchain/20240624.121205 accepted/tizen/unified/x/20240614.011655 accepted/tizen/unified/x/asan/20240625.091439
Hwankyu Jhun [Wed, 12 Jun 2024 01:12:53 +0000 (10:12 +0900)]
Release version 1.16.0

Changes:
 - Add a new internal API

Change-Id: Ic5c2f09ee6d27ce86f3703e8c19edc348f287c56
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoAdd a new internal API 93/312493/2
Hwankyu Jhun [Tue, 11 Jun 2024 00:16:06 +0000 (09:16 +0900)]
Add a new internal API

To check whether the pending request exists or not, the function is added.

Adds:
 - rpc_port_stub_has_pending_request()

Change-Id: I8d3af304b5e1cce19b5956ff45ee92b7806ac69c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 1.15.9 92/312492/1 accepted/tizen/unified/20240611.162743 accepted/tizen/unified/x/20240612.025828
Hwankyu Jhun [Mon, 10 Jun 2024 23:56:14 +0000 (08:56 +0900)]
Release version 1.15.9

Changes:
 - Dispose cynara thread

Change-Id: Iadc9fd8c945efe099b6909b7162b982b79a4fef9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoDispose cynara thread 87/312487/1
Hwankyu Jhun [Mon, 10 Jun 2024 23:01:17 +0000 (08:01 +0900)]
Dispose cynara thread

When terminating the process, the cynara thread of the rpc-port must be
released.

Change-Id: Ic10e37bf54fe26f7ef4a526ef01f27b394a0e13c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 1.15.8 31/312031/1 accepted/tizen/unified/20240604.015358 accepted/tizen/unified/x/20240605.012712
Hwankyu Jhun [Mon, 3 Jun 2024 04:25:22 +0000 (13:25 +0900)]
Release version 1.15.8

Changes:
 - Fix wrong setting LD_LIBRARY_PATH
 - Merge "Change interface name in .proto file" into tizen

Change-Id: I1296a4dabf12c116758a594033444c89b1d18333
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoMerge "Change interface name in .proto file" into tizen
Junghoon Park [Mon, 3 Jun 2024 03:43:53 +0000 (03:43 +0000)]
Merge "Change interface name in .proto file" into tizen

13 months agoFix wrong setting LD_LIBRARY_PATH 70/310770/1
Changgyu Choi [Wed, 8 May 2024 04:19:29 +0000 (13:19 +0900)]
Fix wrong setting LD_LIBRARY_PATH

rpc-port source path was changed to "src/rpc-port"

Change-Id: Id3a8b7807f29f3261186df162b0971fdcfe4f9b0
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
13 months agoRelease version 1.15.7 57/310557/1
Changgyu Choi [Wed, 1 May 2024 23:49:33 +0000 (08:49 +0900)]
Release version 1.15.7

Changes:
 - Modify directory hierarchy

Change-Id: I54dbfdae653b9855e0aae8242b45e0b017a65d74
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
13 months agoModify directory hierarchy 26/310526/2
Changgyu Choi [Tue, 30 Apr 2024 09:02:01 +0000 (18:02 +0900)]
Modify directory hierarchy

The rpc-port sources have been moved to 'src/rpc-port'.

src/
 + src/rpc-port

Change-Id: I93ab201047ba4bfa424baaf2c80bc5dd6cd53e59
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
13 months agoChange interface name in .proto file 52/309652/3
jh9216.park [Mon, 15 Apr 2024 04:46:00 +0000 (00:46 -0400)]
Change interface name in .proto file

Change-Id: Icac22f7764d58c354d7c83cc1a0c4870fbe4a5b3
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
13 months agoRelease version 1.15.6 05/310005/1 accepted/tizen/unified/20240422.153219 accepted/tizen/unified/x/20240423.053028
Ilho Kim [Fri, 19 Apr 2024 05:25:24 +0000 (14:25 +0900)]
Release version 1.15.6

Changes:
 - Fix Receive

Change-Id: I3bb40140f9f5322158dba454ba857312dccb8903
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
13 months agoFix Receive 03/310003/1
Ilho Kim [Fri, 19 Apr 2024 05:14:36 +0000 (14:14 +0900)]
Fix Receive

After returning the EINTR in the first read, even if the read is successful
it regarded as the EINTR case and continue loop

Change-Id: Ia7cfa4cf60c7131b63d5a782ebf5e2b719e3c6c5
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
14 months agoRelease version 1.15.5 53/309653/1 accepted/tizen/unified/20240415.170308 accepted/tizen/unified/x/20240416.022941
Hwankyu Jhun [Mon, 15 Apr 2024 04:47:51 +0000 (13:47 +0900)]
Release version 1.15.5

Changes:
 - Add logs for debugging

Change-Id: Ia367311c94f443848293960422dc0c6691741dee
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoAdd logs for debugging 45/309645/1
Hwankyu Jhun [Mon, 15 Apr 2024 03:27:46 +0000 (12:27 +0900)]
Add logs for debugging

To check cynara check time, this patch adds logs.

Change-Id: I56e87942f0f984ab77635c3f5ce97c4fa306734c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 1.15.4 92/309492/1 accepted/tizen/unified/20240412.141442 accepted/tizen/unified/x/20240415.013942
Hwankyu Jhun [Thu, 11 Apr 2024 10:36:51 +0000 (19:36 +0900)]
Release version 1.15.4

Changes:
 - Handle EINTR error

Change-Id: I619e89c705e4b4114af460ba74e100b8ac12ccb3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoHandle EINTR error 90/309490/1
Hwankyu Jhun [Thu, 11 Apr 2024 10:19:47 +0000 (19:19 +0900)]
Handle EINTR error

Currently, the socket mode is blocking. We should handle EINTR error to
receive the data properly.

Change-Id: I3d3687658a0d2f2349e22bfc5494cdea502123f8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 1.15.3 38/309238/1 accepted/tizen/unified/20240408.160627 accepted/tizen/unified/x/20240409.070643
Hwankyu Jhun [Mon, 8 Apr 2024 02:12:47 +0000 (11:12 +0900)]
Release version 1.15.3

Changes:
 - Fix wrong condition of if statement
 - Increase timeout of recv() of client socket

Change-Id: If821b9813c4d95a204823cc8e2a63c5b49c1cdac
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoIncrease timeout of recv() of client socket 36/309236/2
Hwankyu Jhun [Mon, 8 Apr 2024 01:55:15 +0000 (10:55 +0900)]
Increase timeout of recv() of client socket

This patch increases recv() timeout to 10 seconds from 5 seconds.

Change-Id: I3bfbd30e8646457c9a6da34dc79f1ec43951da09
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoFix wrong condition of if statement 30/309230/1
Hwankyu Jhun [Mon, 8 Apr 2024 01:41:06 +0000 (10:41 +0900)]
Fix wrong condition of if statement

The condition of the if statement must be '!port_path_.empty()'.

Change-Id: Ic18f6cf743f2c94267462d0a2c5b61c577d63588
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 1.15.2 67/309167/1 accepted/tizen/unified/20240406.134611 accepted/tizen/unified/x/20240408.053659
Hwankyu Jhun [Fri, 5 Apr 2024 09:04:11 +0000 (18:04 +0900)]
Release version 1.15.2

Changes:
 - Fix crash issue related to delete this

Change-Id: Id7404c31faddfa7b6038564191cc40e86ce7813f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoFix crash issue related to delete this 64/309164/3
Hwankyu Jhun [Fri, 5 Apr 2024 08:22:39 +0000 (17:22 +0900)]
Fix crash issue related to delete this

While calling OnFileCreated(), we should not release the FileMonitor
instance. If it's deleted, it causes the crash issue.

Change-Id: I203db1fec079f705d3f6008944f0c8f3848cb04d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 1.15.1 12/309112/1 accepted/tizen/unified/20240405.115720
Hwankyu Jhun [Fri, 5 Apr 2024 00:22:04 +0000 (09:22 +0900)]
Release version 1.15.1

Changes:
 - Separate benchmark tool from rpc-port
 - Remove duplicated code
 - Delete port path

Change-Id: I202d269259f180f16506f80d576b69f08c02a4d8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoDelete port path 09/309109/1
Hwankyu Jhun [Fri, 5 Apr 2024 00:03:07 +0000 (09:03 +0900)]
Delete port path

While calling a destructor of Stub, the port path should be deleted
if the caller is a daemon or service.

Change-Id: I806d5f0aeafbcf8740dbd2d4ef52b0fa5408d4b1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRemove duplicated code 06/309106/1
Hwankyu Jhun [Thu, 4 Apr 2024 23:29:44 +0000 (08:29 +0900)]
Remove duplicated code

Before entering the if statement code, calling SetNonblock() can be called.

Change-Id: I901e18226c8abb822acecfb2fd1e4e5057611286
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoSeparate benchmark tool from rpc-port 75/308975/13
Hwankyu Jhun [Wed, 3 Apr 2024 07:56:53 +0000 (16:56 +0900)]
Separate benchmark tool from rpc-port

The rpc-port-benchmark package is added.
The tools are moved to the package.
The following servies of systemd are added for socket & dbus activation:
 - rpc-port-benchmark-server-tidl.service
 - rpc-port-benchmark-server-tidl.socket
 - rpc-port-benchmark-server-dbus.service
 - tizen.appfw.rpcport.benchmark.dbus.busname
 - tizen.appfw.rpcport.benchmark.dbus.service
 - rpc-port-benchmark-client-tidl.service
 - rpc-port-benchmark-client-dbus.service

Change-Id: I3d39ef2c6c452069ff0656b967cfe5b70f11a450
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 1.15.0 94/308994/2 accepted/tizen/unified/20240404.021359 accepted/tizen/unified/x/20240404.061812
Hwankyu Jhun [Wed, 3 Apr 2024 09:40:54 +0000 (18:40 +0900)]
Release version 1.15.0

Changes:
 - Allow dbus for root user
 - Support benchmark tool for gRPC over UDS
 - Support socket activation of systemd

Change-Id: Ie0bab45632d84b5ef711868353fc925693dde1ce
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoSupport socket activation of systemd 88/308788/16
Hwankyu Jhun [Mon, 1 Apr 2024 05:55:44 +0000 (14:55 +0900)]
Support socket activation of systemd

This patch is for linux daemon and service.
The rpc-port creates the socket path without communication with amd if
the caller is a daemon or service. The process name must have "d::" prefix
as below:
 e.g. "d::Benchmark"
After this is applied, the rpc-port supports socket activation of system.
The socket path of the daemon is "/run/aul/rpcport/.<proc_name>::<port_name>".

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/308786/

Change-Id: Ifdd411b2e8b9c745cb9c1cdd9e930df7ab628b9a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoSupport benchmark tool for gRPC over UDS 03/308703/5
jh9216.park [Fri, 29 Mar 2024 05:17:32 +0000 (01:17 -0400)]
Support benchmark tool for gRPC over UDS

Change-Id: Ifd57b6a407e4148c6517788fba6ee719a540dd04
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
14 months agoAllow dbus for root user 06/308706/2
jh9216.park [Fri, 29 Mar 2024 05:34:46 +0000 (01:34 -0400)]
Allow dbus for root user

Change-Id: I881ac9d89a6cbd3e3c0fb9702c358df33d986854
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
14 months agoRelease version 1.14.23 00/308700/1 accepted/tizen/unified/20240401.021607 accepted/tizen/unified/20240401.165607 accepted/tizen/unified/x/20240401.013234
Hwankyu Jhun [Fri, 29 Mar 2024 03:20:57 +0000 (12:20 +0900)]
Release version 1.14.23

Changes:
 - Update benchmark tool for testing dbus
 - Remove pkgmgr dependency
 - Add deny own in default context
 - Fix Port::Read() method

Change-Id: If91d0b8149a0365c54735f92ad1c6ec803c1537f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoFix Port::Read() method 66/308666/3
Hwankyu Jhun [Thu, 28 Mar 2024 11:58:36 +0000 (20:58 +0900)]
Fix Port::Read() method

While calling Read() method, the fd is changed to blocking mode.
Before returning the method, the fd is changed to nonblocking mode.

Change-Id: I251855505e90804ee08a0f129cf9b95f198decd7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoAdd deny own in default context
ilho kim [Thu, 28 Mar 2024 19:53:56 +0000 (04:53 +0900)]
Add deny own in default context

Signed-off-by: ilho kim <ilho159.kim@samsung.com>
14 months agoRemove pkgmgr dependency
Ilho Kim [Thu, 28 Mar 2024 13:06:46 +0000 (22:06 +0900)]
Remove pkgmgr dependency

Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
14 months agoUpdate benchmark tool for testing dbus 89/308589/6
jh9216.park [Thu, 28 Mar 2024 01:47:12 +0000 (21:47 -0400)]
Update benchmark tool for testing dbus

Change-Id: I8c3179af8c3c6a6ea5e89a36592dc04bea894324
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
15 months agoRelease version 1.14.22 93/307593/1 accepted/tizen/unified/20240313.133909 accepted/tizen/unified/20240313.135222 accepted/tizen/unified/x/20240314.073124
Changgyu Choi [Tue, 12 Mar 2024 04:41:45 +0000 (13:41 +0900)]
Release version 1.14.22

Changes:
 - Fix lcov option for lcov 2.0

Change-Id: I937ac8395e163d103e97091014b3f01c7e3989aa
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>