From 1bef18278d2388ec061d4693c166fe7c676b95c1 Mon Sep 17 00:00:00 2001 From: Lawrin Novitsky Date: Mon, 18 Oct 2021 00:41:44 +0200 Subject: [PATCH] Added xcode properties required for notarization to C/C plugins and install_driver targets. Fix of the test in types tests set. It could fail with some compilers/platforms(noticed on macos) --- CMakeLists.txt | 14 +++++++++++++- libmariadb | 2 +- osxinstall/CMakeLists.txt | 13 +++++++++++++ test/types.c | 10 ++++++---- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e05a884..6b0e9064 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ ENDIF() ### Including C/C subproject IF(EXISTS ${CMAKE_SOURCE_DIR}/libmariadb) IF(GIT_BUILD_SRCPKG) - # We don't want conn/c (wrong) src pkg to be built. + # We don't want with conn/c (wrong) src pkg to be built. SET(GIT_BUILD_SRCPKG FALSE) SET(ODBC_GIT_BUILD_SRCPKG TRUE) ENDIF() @@ -159,6 +159,18 @@ IF(EXISTS ${CMAKE_SOURCE_DIR}/libmariadb) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/libmariadb/include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}/libmariadb/include) + SET(PLUGINS_LIST dialog caching_sha2_password auth_gssapi_client sha256_password mysql_clear_password client_ed25519) + IF(APPLE) + SET_TARGET_PROPERTIES(${PLUGINS_LIST} + PROPERTIES XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME YES + XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS "--timestamp -f" + ) + IF(WITH_SIGNCODE) + SET_TARGET_PROPERTIES(${PLUGINS_LIST} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Developer ID Application: ${DEVELOPER_ID}") + ELSE() + SET_TARGET_PROPERTIES(${PLUGINS_LIST} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "") + ENDIF() + ENDIF() ELSE() SET(USE_SYSTEM_INSTALLED_LIB TRUE) # Adding mariadb subdirs of standard include locations diff --git a/libmariadb b/libmariadb index 7cf38704..180c5437 160000 --- a/libmariadb +++ b/libmariadb @@ -1 +1 @@ -Subproject commit 7cf38704c916996e7b44f62c9e644cc6d001ee91 +Subproject commit 180c543704d627a50a52aaf60e24ca14e0ec4686 diff --git a/osxinstall/CMakeLists.txt b/osxinstall/CMakeLists.txt index 13d1565c..ca1c3edd 100644 --- a/osxinstall/CMakeLists.txt +++ b/osxinstall/CMakeLists.txt @@ -71,6 +71,19 @@ TARGET_LINK_LIBRARIES(install_driver ${ODBC_INSTLIBS})#${PLATFORM_DEPENDENCIES}) # On Windows should look like #TARGET_LINK_LIBRARIES(install_driver ${ODBC_INSTLIBS} legacy_stdio_definitions Shlwapi) +IF(APPLE) + SET_TARGET_PROPERTIES(install_driver + PROPERTIES XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME YES + XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS "--timestamp -f" + ) + IF(WITH_SIGNCODE) + SET_TARGET_PROPERTIES(install_driver + PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Developer ID Application: ${DEVELOPER_ID}" + XCODE_ATTRIBUTE_CODE_SIGN_INJECT_BASE_ENTITLEMENTS "NO") + ELSE() + SET_TARGET_PROPERTIES(install_driver PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "") + ENDIF() +ENDIF() IF(USE_SYSTEM_INSTALLED_LIB) ADD_CUSTOM_TARGET(copypkgfiles diff --git a/test/types.c b/test/types.c index b6f7d915..b27236e5 100644 --- a/test/types.c +++ b/test/types.c @@ -806,7 +806,7 @@ int sqlnum_test_from_str(SQLHANDLE Stmt, SQL_NUMERIC_STRUCT *sqlnum= malloc(sizeof(SQL_NUMERIC_STRUCT)); SQLCHAR buf[512]; SQLHANDLE ard; - unsigned long numval; + unsigned long long numval; sprintf((char *)buf, "SELECT %s", numstr); /* OK_SIMPLE_STMT(Stmt, buf); */ @@ -822,7 +822,6 @@ int sqlnum_test_from_str(SQLHANDLE Stmt, (SQLPOINTER)(SQLLEN) scale, SQL_IS_INTEGER)); CHECK_HANDLE_RC(SQL_HANDLE_DESC, ard, SQLSetDescField(ard, 1, SQL_DESC_DATA_PTR, sqlnum, SQL_IS_POINTER)); - if (overflow != SQL_SUCCESS) { EXPECT_STMT(Stmt, SQLFetch(Stmt), overflow); @@ -850,10 +849,13 @@ int sqlnum_test_from_str(SQLHANDLE Stmt, { /* only use this for <=32bit values */ int i; + unsigned long long singleByte; numval= 0; for (i= 0; i < 8; ++i) - numval += sqlnum->val[7 - i] << (8 * (7 - i)); - + { + singleByte= sqlnum->val[7 - i]; + numval+= singleByte << (8 * (7 - i)); + } if (numval != expnum) diag("compare %d %d", numval, expnum); is_num(numval, expnum);