From 650b67e5eb1e4d603472832ed512b6d369cdc02b Mon Sep 17 00:00:00 2001 From: chengkan Date: Tue, 18 Jul 2023 18:06:33 +0800 Subject: [PATCH 1/9] add openldap Signed-off-by: chengkan --- thirdparty/openldap/HPKBUILD | 83 +++++++++++++++++ thirdparty/openldap/HPKCHECK | 55 ++++++++++++ thirdparty/openldap/OAT.xml | 20 +++++ thirdparty/openldap/README.OpenSource | 11 +++ thirdparty/openldap/README_zh.md | 15 ++++ thirdparty/openldap/SHA512SUM | 2 + thirdparty/openldap/docs/hap_integrate.md | 85 ++++++++++++++++++ .../openldap/docs/pic/openldap_install.png | Bin 0 -> 12587 bytes .../openldap/docs/pic/openldap_test.png | Bin 0 -> 58985 bytes .../openldap/docs/pic/openldap_usage.png | Bin 0 -> 46967 bytes thirdparty/openldap/openldap_oh_pkg.patch | 30 +++++++ 11 files changed, 301 insertions(+) create mode 100644 thirdparty/openldap/HPKBUILD create mode 100644 thirdparty/openldap/HPKCHECK create mode 100644 thirdparty/openldap/OAT.xml create mode 100644 thirdparty/openldap/README.OpenSource create mode 100644 thirdparty/openldap/README_zh.md create mode 100644 thirdparty/openldap/SHA512SUM create mode 100644 thirdparty/openldap/docs/hap_integrate.md create mode 100644 thirdparty/openldap/docs/pic/openldap_install.png create mode 100644 thirdparty/openldap/docs/pic/openldap_test.png create mode 100644 thirdparty/openldap/docs/pic/openldap_usage.png create mode 100644 thirdparty/openldap/openldap_oh_pkg.patch diff --git a/thirdparty/openldap/HPKBUILD b/thirdparty/openldap/HPKBUILD new file mode 100644 index 00000000..000a6bb6 --- /dev/null +++ b/thirdparty/openldap/HPKBUILD @@ -0,0 +1,83 @@ +# Contributor: Jeff Han +# Maintainer: Jeff Han +pkgname=openldap +pkgver=2.5.14 +pkgrel=0 +pkgdesc="OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." +url="https://www.openldap.org/" +archs=("armeabi-v7a" "arm64-v8a") +license=(OpenLDAP Public License 2.8) +depends=() +makedepends=() + +source="https://mirror-hk.koddos.net/OpenLDAP/$pkgname-release/$pkgname-$pkgver.tgz" + +autounpack=true +downloadpackage=true +buildtools="configure" +patchflag=true + +builddir=$pkgname-${pkgver} +packagename=$builddir.tgz + +source envset.sh +host= +prepare() { + if $patchflag + then + cd $builddir + patch -p1 < `pwd`/../openldap_oh_pkg.patch + # patch只需要打一次,关闭打patch + patchflag=false + cd $OLDPWD + fi + mkdir -p $builddir/$ARCH-build + if [ $ARCH == ${archs[0]} ] + then + setarm32ENV + host=arm-linux + fi + if [ $ARCH == ${archs[1]} ] + then + setarm64ENV + host=aarch64-linux + fi +} + +build() { + cd $builddir/$ARCH-build + ../configure "$@" --host=$host --with-yielding_select=yes >> `pwd`/build.log 2>&1 + make -j4 VERBOSE=1 >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir/$ARCH-build + make install >> `pwd`/build.log 2>&1 + cd $OLDPWD + if [ $ARCH == ${archs[0]} ] + then + unsetarm32ENV + fi + if [ $ARCH == ${archs[1]} ] + then + unsetarm64ENV + fi + + unset host +} + +check() { + echo "The test must be on an OpenHarmony device!" + + ## real test CMD + ## 进入到编译目录执行 + ## make test +} + +# 清理环境 +cleanbuild() { + rm -rf ${PWD}/$builddir #${PWD}/$packagename +} diff --git a/thirdparty/openldap/HPKCHECK b/thirdparty/openldap/HPKCHECK new file mode 100644 index 00000000..0aee95f7 --- /dev/null +++ b/thirdparty/openldap/HPKCHECK @@ -0,0 +1,55 @@ +# Contributor: shann +# Maintainer: shann + +source HPKBUILD > /dev/null 2>&1 +logfile=${LYCIUM_ROOT}/../thirdparty/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log + + +# 判断ping是否成功函数 +function ping_success() { + ping -c 1 localhost >> ${logfile} 2>&1 && return 0 || return -1 +} + +checkprepare(){ + res = 0 + # 判断是否需要创建hosts文件 + if ! ping_success; then + echo "Hosts file not found. Creating hosts file..." >> ${logfile} 2>&1 + + # 创建hosts文件并添加内容 + echo "127.0.0.1 localhost localhost.localdomain" | tee /etc/hosts > /dev/null + + # 验证是否成功创建hosts文件 + if [ -f "/etc/hosts" ]; then + echo "Hosts file created successfully." >> ${logfile} 2>&1 + else + echo "Failed to create hosts file." >> ${logfile} 2>&1 + res = -1 + fi + + # 再次检测ping情况 + if [ $res -ne 0 ]; then + # 再次判断ping是否成功 + if ping_success; then + echo "Success: localhost is pingable." >> ${logfile} 2>&1 + else + echo "Error: localhost is not pingable." >> ${logfile} 2>&1 + res = -1 + fi + fi + + fi + + return $res + +} +openharmonycheck() { + res=0 + cd $builddir/$ARCH-build + make test >> ${logfile} 2>&1 + res=$? + + cd $OLDPWD + + return $res +} diff --git a/thirdparty/openldap/OAT.xml b/thirdparty/openldap/OAT.xml new file mode 100644 index 00000000..5eecdd62 --- /dev/null +++ b/thirdparty/openldap/OAT.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/openldap/README.OpenSource b/thirdparty/openldap/README.OpenSource new file mode 100644 index 00000000..20d4c01a --- /dev/null +++ b/thirdparty/openldap/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "openldap", + "License": "OpenLDAP Public License 2.8", + "License File": "https://www.openldap.org/software/release/license.html", + "Version Number": "2.5.14", + "Owner": "kanchengc@isoftstone.com", + "Upstream URL": "https://mirror-hk.koddos.net/OpenLDAP/openldap-release/openldap-2.5.14.tgz", + "Description": "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." + } +] diff --git a/thirdparty/openldap/README_zh.md b/thirdparty/openldap/README_zh.md new file mode 100644 index 00000000..34fc3d95 --- /dev/null +++ b/thirdparty/openldap/README_zh.md @@ -0,0 +1,15 @@ +# openldap三方库说明 +## 功能简介 +OpenLDAP(Lightweight Directory Access Protocol)是一个开源的实现LDAP协议的软件套件。LDAP是一种用于访问和维护分布式目录信息的协议,而OpenLDAP提供了一套工具和库,使用户能够构建和管理LDAP服务器。 +## 使用约束 +- ROM版本:OpenHarmony3.2Release + +- IDE版本:DevEco Studio 3.1 Release + +- SDK:ohos_sdk_public 4.0.8.1 (API Version 10 Release) + +- 三方库版本:3.3.10 + + +## 集成方式 ++ [系统hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/openldap/SHA512SUM b/thirdparty/openldap/SHA512SUM new file mode 100644 index 00000000..112a2acd --- /dev/null +++ b/thirdparty/openldap/SHA512SUM @@ -0,0 +1,2 @@ +3fcc441af29afa8257f18b98fafa36ab5241eff3f8f3ba6c8e0e998564fa26429f5d2905398f19ea0008c7ca5dc7698cdde7ade5c00e2ad2c861a19d11d4abbe openldap-2.5.14.tgz +3e5116a390120366010202c11b121a4a585d5ed8a4af72a9a21c0ab45c0be5dd75aef0eb13c57be281a00a68eb6ca82e58fc6f4eb36ff6d2366a7743f25230c1 openldap_oh_pkg.patch diff --git a/thirdparty/openldap/docs/hap_integrate.md b/thirdparty/openldap/docs/hap_integrate.md new file mode 100644 index 00000000..869c8dec --- /dev/null +++ b/thirdparty/openldap/docs/hap_integrate.md @@ -0,0 +1,85 @@ +# openldap集成到应用hap +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 +## 开发环境 +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 4.0.8.1 (API Version 10 Release)](https://gitee.com/link?target=http%3A%2F%2Fdownload.ci.openharmony.cn%2Fversion%2FMaster_Version%2FOpenHarmony_4.0.8.1%2F20230608_091058%2Fversion-Master_Version-OpenHarmony_4.0.8.1-20230608_091058-ohos-sdk-public.tar.gz) +- [DevEco Studio 3.1 Release](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2F81%2Fv3%2FtgRUB84wR72nTfE8Ir_xMw%2Fdevecostudio-windows-3.1.0.501.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230621T074329Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D22F6787DF6093ECB4D4E08F9379B114280E1F65DA710599E48EA38CB24F3DBF2) +- [准备三方库构建环境](../../../lycium/README.md#编译环境准备) +- [准备三方库测试环境](../../../lycium/README.md#ci环境准备) + +## 编译三方库 +- 下载本仓库 + ``` + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/thirdparty/openldap #三方库openldap的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── openldap_oh_pkg.patch #补丁文件 + ├── README_zh.md + ``` + + +- 在lycium目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#编译环境准备) + + ``` + + cd lycium + ./build.sh openldap + ``` +- 三方库头文件及生成的库 + 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ``` + openldap/arm64-v8a openldap/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 +- 在IDE中将编译生成的库都拷贝到libs目录下,并且将lycuim/usr目录下面的openldap 目录拷贝到 thirdpart目录下面。 如下图所示 + ![openldap_install](pic/openldap_install.png) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/liblber.so) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libldap.so) + + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openldap/${OHOS_ARCH}/include) + + ``` + ![openldap_usage](pic/openldap_usage.png) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../lycium/README.md#ci环境准备) + + + +- 将测试资源导入到开发板 +- 设置依赖服务程序路径 +``` +32位系统 +export PATH=/data/local/tmp/lycium/usr/openldap/armeabi-v7a/bin:/data/local/tmp/lycium/usr/openldap/armeabi-v7a/sbin:/data/local/tmp/lycium/usr/openldap/armeabi-v7a/libexec:$PATH + +##64位系统 +export PATH=/data/local/tmp/lycium/usr/openldap/arm64-v8a/bin:/data/local/tmp/lycium/usr/openldap/arm64-v8a/sbin:/data/local/tmp/lycium/usr/openldap/arm64-v8a/libexec:$PATH +``` +- 进入到构建目录执行 make test 运行测试用例,如下截图(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + + +![openldap](pic/openldap_test.png) + +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/openldap/docs/pic/openldap_install.png b/thirdparty/openldap/docs/pic/openldap_install.png new file mode 100644 index 0000000000000000000000000000000000000000..e07cc11456365856ea4941f63a2b4f933bb7e78a GIT binary patch literal 12587 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 nb#U?OgEoR8+d0-G_{E(x literal 0 HcmV?d00001 diff --git a/thirdparty/openldap/docs/pic/openldap_test.png b/thirdparty/openldap/docs/pic/openldap_test.png new file mode 100644 index 0000000000000000000000000000000000000000..ac30ed1d6c279c94e2edf9af9885fb680bb9cc8c GIT binary patch literal 58985 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%0APZj`v|(SV*jc}@Y@8a!I*E8vt*EEKfy1$ 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 gbSzrHLM6fbjBVW8&IyaXJzopr08mPX6951J literal 0 HcmV?d00001 diff --git a/thirdparty/openldap/docs/pic/openldap_usage.png b/thirdparty/openldap/docs/pic/openldap_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..c18d7d0fbfb177a1a143b1280eef2f0312c7f745 GIT binary patch literal 46967 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 + #endif + +-#if defined(__sun) || defined(ANDROID) ++#if defined(__sun) || defined(ANDROID) || defined(__OHOS__) + /* Most platforms have posix_memalign, older may only have memalign */ + #define HAVE_MEMALIGN 1 + #include +@@ -131,6 +131,8 @@ typedef SSIZE_T ssize_t; + # define MDB_FDATASYNC fsync + #elif defined(ANDROID) + # define MDB_FDATASYNC fsync ++#elif defined(__OHOS__) ++# define MDB_FDATASYNC fsync + #endif + + #ifndef _WIN32 +@@ -268,7 +270,7 @@ typedef SSIZE_T ssize_t; + */ + #ifndef MDB_USE_ROBUST + /* Android currently lacks Robust Mutex support. So does glibc < 2.4. */ +-# if defined(MDB_USE_POSIX_MUTEX) && (defined(ANDROID) || \ ++# if defined(MDB_USE_POSIX_MUTEX) && (defined(ANDROID) || (defined(__OHOS__)) || \ + (defined(__GLIBC__) && GLIBC_VER < 0x020004)) + # define MDB_USE_ROBUST 0 + # else -- Gitee From 4140970087837569691c3f4d9b7b1eb3012aa34f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Tue, 18 Jul 2023 10:10:02 +0000 Subject: [PATCH 2/9] update thirdparty/openldap/HPKCHECK. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/HPKCHECK | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/thirdparty/openldap/HPKCHECK b/thirdparty/openldap/HPKCHECK index 0aee95f7..fa4af551 100644 --- a/thirdparty/openldap/HPKCHECK +++ b/thirdparty/openldap/HPKCHECK @@ -1,5 +1,5 @@ -# Contributor: shann -# Maintainer: shann +# Contributor: chengkan +# Maintainer: chengkan source HPKBUILD > /dev/null 2>&1 logfile=${LYCIUM_ROOT}/../thirdparty/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log -- Gitee From 01b562721690d8249335e93349b647c1aca23523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Wed, 19 Jul 2023 08:51:39 +0000 Subject: [PATCH 3/9] update thirdparty/openldap/HPKCHECK. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/HPKCHECK | 1 + 1 file changed, 1 insertion(+) diff --git a/thirdparty/openldap/HPKCHECK b/thirdparty/openldap/HPKCHECK index fa4af551..f012f41e 100644 --- a/thirdparty/openldap/HPKCHECK +++ b/thirdparty/openldap/HPKCHECK @@ -12,6 +12,7 @@ function ping_success() { checkprepare(){ res = 0 + mount -o remount,rw / # 判断是否需要创建hosts文件 if ! ping_success; then echo "Hosts file not found. Creating hosts file..." >> ${logfile} 2>&1 -- Gitee From 434afbaa31631772edff7f214327d7df719f6042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Thu, 20 Jul 2023 06:45:00 +0000 Subject: [PATCH 4/9] update thirdparty/openldap/HPKCHECK. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/HPKCHECK | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/thirdparty/openldap/HPKCHECK b/thirdparty/openldap/HPKCHECK index f012f41e..aeeeacf4 100644 --- a/thirdparty/openldap/HPKCHECK +++ b/thirdparty/openldap/HPKCHECK @@ -2,8 +2,7 @@ # Maintainer: chengkan source HPKBUILD > /dev/null 2>&1 -logfile=${LYCIUM_ROOT}/../thirdparty/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log - +logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log # 判断ping是否成功函数 function ping_success() { @@ -35,7 +34,7 @@ checkprepare(){ echo "Success: localhost is pingable." >> ${logfile} 2>&1 else echo "Error: localhost is not pingable." >> ${logfile} 2>&1 - res = -1 + res = -2 fi fi @@ -49,8 +48,7 @@ openharmonycheck() { cd $builddir/$ARCH-build make test >> ${logfile} 2>&1 res=$? - cd $OLDPWD - + return $res } -- Gitee From dceae0fd8e23e7c86c75be51dedf57d255a23786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Thu, 20 Jul 2023 07:06:00 +0000 Subject: [PATCH 5/9] update thirdparty/openldap/HPKBUILD. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/HPKBUILD | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/thirdparty/openldap/HPKBUILD b/thirdparty/openldap/HPKBUILD index 000a6bb6..0ca7a012 100644 --- a/thirdparty/openldap/HPKBUILD +++ b/thirdparty/openldap/HPKBUILD @@ -32,16 +32,14 @@ prepare() { cd $OLDPWD fi mkdir -p $builddir/$ARCH-build - if [ $ARCH == ${archs[0]} ] - then + if [ $ARCH == ${archs[0]} ]; then setarm32ENV host=arm-linux - fi - if [ $ARCH == ${archs[1]} ] - then + elif [ $ARCH == ${archs[1]} ]; then setarm64ENV host=aarch64-linux - fi + else + echo "cant not support this ARCH($ARCH) type!!!" } build() { @@ -57,21 +55,19 @@ package() { cd $builddir/$ARCH-build make install >> `pwd`/build.log 2>&1 cd $OLDPWD - if [ $ARCH == ${archs[0]} ] - then + + if [ $ARCH == ${archs[0]} ]; then unsetarm32ENV - fi - if [ $ARCH == ${archs[1]} ] - then + elif [ $ARCH == ${archs[1]} ]; then unsetarm64ENV - fi + else + echo "cant not support this ARCH($ARCH) type!!!" unset host } check() { echo "The test must be on an OpenHarmony device!" - ## real test CMD ## 进入到编译目录执行 ## make test -- Gitee From 2be68d9c879e31580fa419c5a0b3393b3c9aa71d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Thu, 20 Jul 2023 07:29:29 +0000 Subject: [PATCH 6/9] update thirdparty/openldap/HPKBUILD. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/HPKBUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/thirdparty/openldap/HPKBUILD b/thirdparty/openldap/HPKBUILD index 0ca7a012..fabfd127 100644 --- a/thirdparty/openldap/HPKBUILD +++ b/thirdparty/openldap/HPKBUILD @@ -40,6 +40,7 @@ prepare() { host=aarch64-linux else echo "cant not support this ARCH($ARCH) type!!!" + fi } build() { @@ -62,6 +63,7 @@ package() { unsetarm64ENV else echo "cant not support this ARCH($ARCH) type!!!" + fi unset host } -- Gitee From 0ca03796f909f6fb3291d9dbc329d2cd44f7dcc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Mon, 31 Jul 2023 01:13:59 +0000 Subject: [PATCH 7/9] update thirdparty/openldap/README_zh.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/README_zh.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/thirdparty/openldap/README_zh.md b/thirdparty/openldap/README_zh.md index 34fc3d95..255d2db3 100644 --- a/thirdparty/openldap/README_zh.md +++ b/thirdparty/openldap/README_zh.md @@ -8,7 +8,11 @@ OpenLDAP(Lightweight Directory Access Protocol)是一个开源的实现LDAP - SDK:ohos_sdk_public 4.0.8.1 (API Version 10 Release) -- 三方库版本:3.3.10 +- 三方库版本:2.5.14 + +- 当前适配功能: 支持目录服务提供支持LDAP协议,并提供了用于管理目录树、条目和属性的API和工具。 + 用户认证和授权,支持基于LDAP的身份验证,并提供了灵活的访问控制策略,允许管理员定义谁可以访问目录中的哪些数据。 + 目录同步和复制,可以在多个OpenLDAP服务器之间实现数据复制。 ## 集成方式 -- Gitee From ec186b78324408b97afa9e48a00b2d8b1ce762da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Mon, 31 Jul 2023 10:14:01 +0000 Subject: [PATCH 8/9] update thirdparty/openldap/docs/hap_integrate.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/docs/hap_integrate.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/thirdparty/openldap/docs/hap_integrate.md b/thirdparty/openldap/docs/hap_integrate.md index 869c8dec..32bdbe74 100644 --- a/thirdparty/openldap/docs/hap_integrate.md +++ b/thirdparty/openldap/docs/hap_integrate.md @@ -5,8 +5,8 @@ - [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) - [ohos_sdk_public 4.0.8.1 (API Version 10 Release)](https://gitee.com/link?target=http%3A%2F%2Fdownload.ci.openharmony.cn%2Fversion%2FMaster_Version%2FOpenHarmony_4.0.8.1%2F20230608_091058%2Fversion-Master_Version-OpenHarmony_4.0.8.1-20230608_091058-ohos-sdk-public.tar.gz) - [DevEco Studio 3.1 Release](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2F81%2Fv3%2FtgRUB84wR72nTfE8Ir_xMw%2Fdevecostudio-windows-3.1.0.501.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230621T074329Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D22F6787DF6093ECB4D4E08F9379B114280E1F65DA710599E48EA38CB24F3DBF2) -- [准备三方库构建环境](../../../lycium/README.md#编译环境准备) -- [准备三方库测试环境](../../../lycium/README.md#ci环境准备) +- [准备三方库构建环境](../../../lycium/README.md#1编译环境准备) +- [准备三方库测试环境](../../../lycium/README.md#3ci环境准备) ## 编译三方库 - 下载本仓库 @@ -26,7 +26,7 @@ - 在lycium目录下编译三方库 - 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#编译环境准备) + 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#1编译环境准备) ``` @@ -59,7 +59,7 @@ ``` ![openldap_usage](pic/openldap_usage.png) ## 测试三方库 -三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../lycium/README.md#ci环境准备) +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../lycium/README.md#3ci环境准备) -- Gitee From 5d2daf12c06ab429403a1718c28abd90ceffd32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E4=BE=83?= Date: Mon, 31 Jul 2023 10:19:45 +0000 Subject: [PATCH 9/9] update thirdparty/openldap/docs/hap_integrate.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 程侃 --- thirdparty/openldap/docs/hap_integrate.md | 1 + 1 file changed, 1 insertion(+) diff --git a/thirdparty/openldap/docs/hap_integrate.md b/thirdparty/openldap/docs/hap_integrate.md index 32bdbe74..ac1a385c 100644 --- a/thirdparty/openldap/docs/hap_integrate.md +++ b/thirdparty/openldap/docs/hap_integrate.md @@ -20,6 +20,7 @@ ├── HPKBUILD #构建脚本 ├── SHA512SUM #三方库校验文件 ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── OAT.xml #版权校验文件 ├── openldap_oh_pkg.patch #补丁文件 ├── README_zh.md ``` -- Gitee