Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
65a7559
RDKECMF-213 Add CODEOWNERS file
scthunderbolt Dec 17, 2024
f710c87
Merge pull request #125 from rdkcentral/feature/test-workflows
sbarre01 Dec 17, 2024
8efac8e
RDKEMW-254: libsoup3 support
apatel859 Feb 3, 2025
fda6ec5
Merge pull request #128 from rdkcentral/RDKEMW-254-xdial-libsoup24
apatel859 Feb 12, 2025
d16879c
Merge pull request #132 from rdkcentral/main
apatel859 Feb 20, 2025
33ed34b
Merge pull request #2 from rdkcentral/develop
yuvaramachandran-gurusamy Mar 7, 2025
55650a2
RDKTV-35185: Add sync between ssdp_http_server_callback and gdial_ssd…
yuvaramachandran-gurusamy Mar 4, 2025
f6c6d7d
Merge pull request #139 from yuvaramachandran-gurusamy/develop
apatel859 Mar 7, 2025
42da7af
Merge pull request #1 from rdkcentral/develop
hgfell683 Mar 17, 2025
84b8951
RDKEMW-2033: Fix coverity related issue
hgfell683 Mar 17, 2025
36f386d
Merge branch 'feature/RDKEMW-2033' of https://github.com/hgfell683/xd…
hgfell683 Mar 17, 2025
9257820
RDK-55044: [RDKE] Implement DIAL requirement to use on EU product
yuvaramachandran-gurusamy Mar 19, 2025
a503f9e
RDK-56672: Fix parsing issue while restrict addtionalData url per app
yuvaramachandran-gurusamy Mar 21, 2025
974beb6
Merge pull request #144 from yuvaramachandran-gurusamy/topic/RDK-5504…
apatel859 Mar 25, 2025
4a4ea54
Merge pull request #2 from rdkcentral/develop
hgfell683 Mar 26, 2025
a52d864
Merge pull request #141 from hgfell683/feature/RDKEMW-2033
apatel859 Apr 1, 2025
8e05add
RDKEMW-2278: Removal of WPEFrameworkSecurity Agent Utility
tabbas651 Apr 14, 2025
8a97f28
Merge pull request #148 from tabbas651/develop
apatel859 Apr 22, 2025
81f4b89
RDKEMW-4129: Prepare native build environment
yuvaramachandran-gurusamy Jun 5, 2025
024882a
Merge pull request #151 from yuvaramachandran-gurusamy/topic/RDKEMW-4…
apatel859 Jun 5, 2025
6750eba
RDKEMW-4129: Test
yuvaramachandran-gurusamy Jun 5, 2025
82a6e05
Merge pull request #152 from yuvaramachandran-gurusamy/topic/RDKEMW-4…
apatel859 Jun 6, 2025
83a1518
RDKEMW-4129: Prepare native build script
yuvaramachandran-gurusamy Jun 5, 2025
a1da8a4
Merge branch 'topic/RDKEMW-4129' of https://github.com/rdkcentral/xdi…
yuvaramachandran-gurusamy Jun 9, 2025
33b4866
Merge pull request #156 from yuvaramachandran-gurusamy/topic/RDKEMW-4…
apatel859 Jun 9, 2025
c66ef14
remmove duplicates from build_xxx script
apatel859 Jun 9, 2025
8cb0f37
Merge pull request #157 from rdkcentral/topic/RDKEMW-4129-2
apatel859 Jun 9, 2025
7302ede
Update gdial.cpp
ssitar583 Jun 26, 2025
25a6735
Merge pull request #161 from ssitar583/develop
apatel859 Jul 9, 2025
3202ca6
RDKEMW-5927: Crash fix during soup_uri_to_string API call (#163)
yuvaramachandran-gurusamy Aug 5, 2025
206d137
RDKEMW-6891:Coverity errors fix for xdial (#166)
mukesh972 Sep 3, 2025
c48dff7
RDKEMW-9964: Removing onStopped GDial notification (#177)
yuvaramachandran-gurusamy Nov 12, 2025
e1a5fc9
1.0.1 release change log updates
apatel859 Nov 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @rdkcentral/xdialserver-maintainers
25 changes: 25 additions & 0 deletions .github/workflows/native_full_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Build Component in Native Environment

on:
push:
branches: [ main, 'sprint/**', 'release/**', topic/*, develop ]
pull_request:
branches: [ main, 'sprint/**', 'release/**', topic/*, develop ]

jobs:
build-entservices-on-pr:
name: Build xdialserver component in github rdkcentral
runs-on: ubuntu-latest
container:
image: ghcr.io/rdkcentral/docker-rdk-ci:latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: native build
run: |
sh -x build_dependencies.sh
sh -x cov_build.sh
env:
GITHUB_TOKEN: ${{ secrets.RDKCM_RDKE }}
Comment on lines +11 to +25

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 3 months ago

To fix the problem, add an explicit permissions: block to the affected job, specifying the minimum required permissions. For this build job, only contents: read is necessary to allow code checkout from the repository. Edit .github/workflows/native_full_build.yml, and under the build-entservices-on-pr: job definition (line 12, or following the job name: key), insert:

permissions:
  contents: read

No other keys or permission types are needed unless subsequent steps explicitly warrant them. This fix only changes the YAML file, does not affect build or release flow, and adheres to the principle of least privilege.


Suggested changeset 1
.github/workflows/native_full_build.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/native_full_build.yml b/.github/workflows/native_full_build.yml
--- a/.github/workflows/native_full_build.yml
+++ b/.github/workflows/native_full_build.yml
@@ -9,6 +9,8 @@
 jobs:
   build-entservices-on-pr:
     name: Build xdialserver component in github rdkcentral
+    permissions:
+      contents: read
     runs-on: ubuntu-latest
     container:
       image: ghcr.io/rdkcentral/docker-rdk-ci:latest
EOF
@@ -9,6 +9,8 @@
jobs:
build-entservices-on-pr:
name: Build xdialserver component in github rdkcentral
permissions:
contents: read
runs-on: ubuntu-latest
container:
image: ghcr.io/rdkcentral/docker-rdk-ci:latest
Copilot is powered by AI and may make mistakes. Always verify output.
83 changes: 83 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
### Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

#### [1.0.1](https://github.com/rdkcentral/xdialserver/compare/1.0.0...1.0.1)

- RDKEMW-9964: Removing onStopped GDial notification [`#177`](https://github.com/rdkcentral/xdialserver/pull/177)

### [1.0.0](https://github.com/rdkcentral/xdialserver/compare/v0.1.0...1.0.0)

> 26 September 2025
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The date "26 September 2025" is in the future. This appears to be a typo and should likely be "26 September 2024" or the correct release date.

Suggested change
> 26 September 2025
> 26 September 2024

Copilot uses AI. Check for mistakes.

- RDKEMW-6891:Coverity errors fix for xdial [`#166`](https://github.com/rdkcentral/xdialserver/pull/166)
- RDKEMW-5927: Crash fix during soup_uri_to_string API call [`#163`](https://github.com/rdkcentral/xdialserver/pull/163)
- RDKEMW-2854 : Fix the double free issue on call to onApplicationStateChanged api [`#161`](https://github.com/rdkcentral/xdialserver/pull/161)
- RDKEMW-4129: Prepare native build environment for Coverity [`#157`](https://github.com/rdkcentral/xdialserver/pull/157)
- RDKEMW-4129: Prepare native build environment for Coverity [`#156`](https://github.com/rdkcentral/xdialserver/pull/156)
- RDKEMW-4129: Test [`#152`](https://github.com/rdkcentral/xdialserver/pull/152)
- RDKEMW-4129: Prepare native build environment [`#151`](https://github.com/rdkcentral/xdialserver/pull/151)
- RDKEMW-2278: Removal of WPEFrameworkSecurity Agent Utility [`#148`](https://github.com/rdkcentral/xdialserver/pull/148)
- RDKEMW-2033 : Coverity [`#141`](https://github.com/rdkcentral/xdialserver/pull/141)
- Develop [`#2`](https://github.com/rdkcentral/xdialserver/pull/2)
- RDK-55044: Implement DIAL requirement to use on EU product [`#144`](https://github.com/rdkcentral/xdialserver/pull/144)
- Develop [`#1`](https://github.com/rdkcentral/xdialserver/pull/1)
- RDKTV-35185: Add sync between ssdp_http_server_callback and gdial_ssdp_set_friendlyname [`#139`](https://github.com/rdkcentral/xdialserver/pull/139)
- Rebase with Develop Branch [`#2`](https://github.com/rdkcentral/xdialserver/pull/2)
- DELIA-67407: Code syncup main to develop [`#132`](https://github.com/rdkcentral/xdialserver/pull/132)
- DELIA-67407: heap-buffer-overflow in gdialService [`#129`](https://github.com/rdkcentral/xdialserver/pull/129)
- RDKEMW-254: libsoup3 support [`#128`](https://github.com/rdkcentral/xdialserver/pull/128)
- RDKECMF-213 Add CODEOWNERS file [`#125`](https://github.com/rdkcentral/xdialserver/pull/125)
- RDK-53913 - Remove RT messaging communication between xcast and gdial server [`#122`](https://github.com/rdkcentral/xdialserver/pull/122)
- RDK-53913 - Rebase with develop branch [`#1`](https://github.com/rdkcentral/xdialserver/pull/1)
- RDKE-306: Added open source Licence requirement [`#120`](https://github.com/rdkcentral/xdialserver/pull/120)
- DELIA-66448 -RDKE Sync Up [`#119`](https://github.com/rdkcentral/xdialserver/pull/119)
- RDKE-306 - Maintain xdialserver changes in develop for RDKE [`#118`](https://github.com/rdkcentral/xdialserver/pull/118)
- Xdial coverity [`#115`](https://github.com/rdkcentral/xdialserver/pull/115)
- RDKCOM-4664 RDKDEV-1013:Xdial-ARRISAPP-68-return-hidden-state-for-newer-clients [`#113`](https://github.com/rdkcentral/xdialserver/pull/113)
- RDKCOM-4664 RDKDEV-1013:Xdial-ARRISAPP-68-return-hidden-state-for-newer-clients [`#107`](https://github.com/rdkcentral/xdialserver/pull/107)
- RDKCOM-3645: ONEM-27170 Fix compilation with gssdp-1.2.3 (#4) [`#97`](https://github.com/rdkcentral/xdialserver/pull/97)
- RDKCOM-3645: ONEM-27170 Fix compilation with gssdp-1.2.3 [`#4`](https://github.com/rdkcentral/xdialserver/pull/4)
- RDKTV-23401:XDIAL:Implement toggle power state [`#86`](https://github.com/rdkcentral/xdialserver/pull/86)
- RDKDEV-679 RDKCOM-3664 url-decode key parameter [`#87`](https://github.com/rdkcentral/xdialserver/pull/87)
- RDKDEV-654 RDKCOM-3562 Key protection for DIAL system sleep request [`#80`](https://github.com/rdkcentral/xdialserver/pull/80)
- RDKDEV-663: RDKCOM-3662 ARRISAPP-78: use static instead of random uui… [`#79`](https://github.com/rdkcentral/xdialserver/pull/79)
- RDKDEV-663: RDKCOM-3662 ARRISAPP-78: use static instead of random uuid [`#20`](https://github.com/rdkcentral/xdialserver/pull/20)
- DELIA-59344: Update DAIL protocol version to 2.2.1 [`#72`](https://github.com/rdkcentral/xdialserver/pull/72)
- SERXIONE-1019: Increase in marker freq SYST_ERR_dailFail [`#71`](https://github.com/rdkcentral/xdialserver/pull/71)
- RDK-35406 : XCAST unregisterApplications API [`#67`](https://github.com/rdkcentral/xdialserver/pull/67)
- RDK-37966 : Develop code [`#65`](https://github.com/rdkcentral/xdialserver/pull/65)
- RDKTV-18755: Hisense Manufacturer name as xglobal [`#59`](https://github.com/rdkcentral/xdialserver/pull/59)
- Stable2 [`#57`](https://github.com/rdkcentral/xdialserver/pull/57)
- DELIA-56278: gdial-server crash with signature gdial-server [`#55`](https://github.com/rdkcentral/xdialserver/pull/55)
- RDKTV-11503 : Gdial Crash fix [`#53`](https://github.com/rdkcentral/xdialserver/pull/53)
- RDKTV-15737: YoutubeKids app support [`#52`](https://github.com/rdkcentral/xdialserver/pull/52)
- RDK-35375: Enhanced CORS enforcement logic [`#50`](https://github.com/rdkcentral/xdialserver/pull/50)
- RDK-34540: Implement system app for power down [`#46`](https://github.com/rdkcentral/xdialserver/pull/46)
- RDK-33961: Added Hidden state support [`#35`](https://github.com/rdkcentral/xdialserver/pull/35)
- RDKTV-10986 RDKTV-11484: DeviceName not listed for casting [`#34`](https://github.com/rdkcentral/xdialserver/pull/34)
- RDKTV-9120 : No Xcast post FTUE [`#23`](https://github.com/rdkcentral/xdialserver/pull/23)
- RDKTV-6424:DIAL feature is not supported for YT TV App [`#22`](https://github.com/rdkcentral/xdialserver/pull/22)
- Added missing if check and printing Obtained Netflix status [`#20`](https://github.com/rdkcentral/xdialserver/pull/20)
- DELIA-49468 - Catch exceptions in Thunder core and additional logging [`#13`](https://github.com/rdkcentral/xdialserver/pull/13)
- RDK-32110 : DIAL Dynamic App Config [`#10`](https://github.com/rdkcentral/xdialserver/pull/10)
- RDK-52204: fixed the crashed issue dueto double free() while stopping [`70b926c`](https://github.com/rdkcentral/xdialserver/commit/70b926cbba7091ef867ff46201c09432ff501afb)
- RDK-52204: GDialService instance implementation with unittest [`45a7bce`](https://github.com/rdkcentral/xdialserver/commit/45a7bce8ded0e201c9e814ed9f723ede2536a006)
- RDK-52204: Convert GDial as Library [`0811b24`](https://github.com/rdkcentral/xdialserver/commit/0811b247c56344257961c9f72bc7e938782f037c)

#### v0.1.0

> 13 March 2021

- RDKCOM-1912: Amazon Prime - XDialServer Integration [`#7`](https://github.com/rdkcentral/xdialserver/pull/7)
- Update copyright information [`#6`](https://github.com/rdkcentral/xdialserver/pull/6)
- Address issues building for (RDK) platform [`#5`](https://github.com/rdkcentral/xdialserver/pull/5)
- Update Licenses [`#4`](https://github.com/rdkcentral/xdialserver/pull/4)
- introduce shield module for timeout and throttle [`#3`](https://github.com/rdkcentral/xdialserver/pull/3)
- Add architecture overview image [`#2`](https://github.com/rdkcentral/xdialserver/pull/2)
- Sync white-space and log msgs with RDK [`#1`](https://github.com/rdkcentral/xdialserver/pull/1)
- Initial Checkin RDK DIAL Server Implementation [`6760ab8`](https://github.com/rdkcentral/xdialserver/commit/6760ab8bb44b4144e9707df300ea438eb4a578c2)
- Create LICENSE [`c3dcbb0`](https://github.com/rdkcentral/xdialserver/commit/c3dcbb02d2b9445085a37845e0f94cd7d7df6305)
- Fix compile errors with plat build [`7daa3ca`](https://github.com/rdkcentral/xdialserver/commit/7daa3ca5c7752a007fc1b3cf9fe11f786d3fc075)
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@
DIRS:= server

all:
for dir in $(DIRS); do (cd $$dir && cmake $(PLATFORM_FLAGS) . && make || exit 1) || exit 1; done
for dir in $(DIRS); do (cd $$dir && cmake $(DISABLE_SECURITY_TOKEN) $(PLATFORM_FLAGS) . && make || exit 1) || exit 1; done
clean:
for dir in $(DIRS); do (cd $$dir && make clean || exit 1) || exit 1; done
130 changes: 130 additions & 0 deletions build_dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
#!/bin/bash
set -x
set -e
##############################
GITHUB_WORKSPACE="${PWD}"

cd ${GITHUB_WORKSPACE}

# # #############################
#1. Install Dependencies and packages

apt update
apt install -y ninja-build meson curl libsoup2.4-dev libxml2-dev libglib2.0-dev gobject-introspection libgirepository1.0-dev libgtk-3-dev valac pandoc
pip install jsonref

############################
# Build trevor-base64
if [ ! -d "trower-base64" ]; then
git clone https://github.com/xmidt-org/trower-base64.git
fi
cd trower-base64
meson setup --warnlevel 3 --werror build
ninja -C build
ninja -C build install
cd ..
###########################################
# Clone the required repositories

rm -rf iarmbus ThunderTools Thunder entservices-apis entservices-testframework gssdp


git clone https://github.com/rdkcentral/iarmbus.git
export IARMBUS_PATH=$GITHUB_WORKSPACE/iarmbus

git clone --branch R4.4.3 https://github.com/rdkcentral/ThunderTools.git

git clone --branch R4.4.1 https://github.com/rdkcentral/Thunder.git

git clone --branch main https://github.com/rdkcentral/entservices-apis.git

git clone https://$GITHUB_TOKEN@github.com/rdkcentral/entservices-testframework.git

git clone --branch gssdp-1.2.3 https://gitlab.gnome.org/GNOME/gssdp.git

############################
# Build gssdp-1.2
echo "======================================================================================"
echo "buliding gssdp-1.2"
cd gssdp

rm -rf build
meson setup build

ninja -C build
ninja -C build install
cd -

############################
# Build Thunder-Tools
echo "======================================================================================"
echo "buliding thunderTools"
cd ThunderTools
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/00010-R4.4-Add-support-for-project-dir.patch
cd -


cmake -G Ninja -S ThunderTools -B build/ThunderTools \
-DEXCEPTIONS_ENABLE=ON \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
-DGENERIC_CMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \

cmake --build build/ThunderTools --target install


############################
# Build Thunder
echo "======================================================================================"
echo "buliding thunder"

cd Thunder
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/Use_Legact_Alt_Based_On_ThunderTools_R4.4.3.patch
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/error_code_R4_4.patch
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/1004-Add-support-for-project-dir.patch
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/RDKEMW-733-Add-ENTOS-IDS.patch
cd -

cmake -G Ninja -S Thunder -B build/Thunder \
-DMESSAGING=ON \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
-DGENERIC_CMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
-DBUILD_TYPE=Debug \
-DBINDING=127.0.0.1 \
-DPORT=55555 \
-DEXCEPTIONS_ENABLE=ON \

cmake --build build/Thunder --target install

############################
# Build entservices-apis
echo "======================================================================================"
echo "buliding entservices-apis"
cd entservices-apis
rm -rf jsonrpc/DTV.json
cd ..

cmake -G Ninja -S entservices-apis -B build/entservices-apis \
-DEXCEPTIONS_ENABLE=ON \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \

cmake --build build/entservices-apis --target install

############################

############################
# Build and deploy stubs for IARMBus and WPEFramework securityagent
mkdir -p /usr/include/WPEFramework/securityagent
cp $GITHUB_WORKSPACE/stubs/securityagent/* /usr/include/WPEFramework/securityagent/ -v

echo "======================================================================================"
echo "Building IARMBus and WPEFramework securityagent stubs"
cd $GITHUB_WORKSPACE
cd ./stubs
g++ -fPIC -shared -o libIARMBus.so iarm_stubs.cpp -I$GITHUB_WORKSPACE/stubs -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I$IARMBUS_PATH/core -I$IARMBUS_PATH/core/include -fpermissive
g++ -fPIC -shared -o libWPEFrameworkSecurityUtil.so securityagent/SecurityTokenUtil.cpp -I$GITHUB_WORKSPACE/stubs -fpermissive

cp libIARMBus.so /usr/local/lib/
cp libWPEFrameworkSecurityUtil.so /usr/local/lib/
16 changes: 16 additions & 0 deletions cov_build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash
set -x
set -e
##############################
GITHUB_WORKSPACE="${PWD}"
ls -la ${GITHUB_WORKSPACE}
############################
# Build xdialserver
echo "buliding xdialserver"

cd ${GITHUB_WORKSPACE}

make

echo "======================================================================================"
exit 0
10 changes: 8 additions & 2 deletions server/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,20 @@ find_package (PkgConfig REQUIRED)
pkg_search_module (GLIB REQUIRED glib-2.0)
pkg_search_module (GIO REQUIRED gio-2.0)
pkg_search_module (GSSDP12 gssdp-1.2)
pkg_search_module (LIBSOUP3 libsoup-3.0)
if (GSSDP12_FOUND)
pkg_search_module (GSSDP REQUIRED gssdp-1.2)
add_definitions(-DHAVE_GSSDP_VERSION_1_2_OR_NEWER)
message("Using gssdp-1.2")
else()
pkg_search_module (GSSDP REQUIRED gssdp-1.0)
endif()
pkg_search_module (SOUP REQUIRED libsoup-2.4)
if (LIBSOUP3_FOUND)
pkg_search_module (SOUP REQUIRED libsoup-3.0)
message("Using libsoup-3.0")
else()
pkg_search_module (SOUP REQUIRED libsoup-2.4)
endif()
pkg_search_module (XML2 REQUIRED libxml-2.0)

set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g")
Expand Down Expand Up @@ -101,4 +107,4 @@ target_link_libraries (gdial-server

add_executable (gdial-server-ut gdialserver_ut.cpp)

target_link_libraries (gdial-server-ut gdial-plat gdial-server)
target_link_libraries (gdial-server-ut gdial-plat gdial-server)
Loading