ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG")
ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
+ # If tizen version is not provided set big enough value to always enable the latest functionality
+IF(NOT DEFINED TIZEN_VERSION)
+ SET(TIZEN_VERSION 100)
+ENDIF(NOT DEFINED TIZEN_VERSION)
+ADD_COMPILE_DEFINITIONS(TIZEN_VERSION=${TIZEN_VERSION})
+
################# check the installed openssl version #########################
SET(OPENSSL_DEP openssl3)
PKG_CHECK_MODULES(OPENSSL11_DEP openssl1.1)
-DVERSION_MINOR=%version_minor \
-DVERSION_PATCH=%version_patch \
-DBIN_DIR=%{_bindir} \
- -DCOVERAGE_DIR=%{coverage_dir}
+ -DCOVERAGE_DIR=%{coverage_dir} \
+ -DTIZEN_VERSION=%{?tizen_version_major}%{!?tizen_version_major:100}
make %{?jobs:-j%jobs}
case BT_ERROR_AGAIN: return "BT_ERROR_AGAIN";
case BT_ERROR_SERVICE_NOT_FOUND: return "BT_ERROR_SERVICE_NOT_FOUND";
case BT_ERROR_AUTHORIZATION_REJECTED: return "BT_ERROR_AUTHORIZATION_REJECTED";
+#if TIZEN_VERSION >= 8
case BT_ERROR_MAX_CONNECTION: return "BT_ERROR_MAX_CONNECTION";
+#endif
default: return "NOT Defined";
}
}
url += Base64UrlEncode(contactId);
auto hexClientPayload = LowercaseHexStringOf(clientPayload);
- m_tunnel->Connect(url, ExtraHttpHeader{"X-caBLE-Client-Payload", std::move(hexClientPayload)});
+ m_tunnel->Connect(url, ExtraHttpHeader{"X-caBLE-Client-Payload:", std::move(hexClientPayload)});
}
IHandshake::HandshakeResult Handshake::DoStateAssistedHandshake(const CryptoBuffer &psk,
}
m_extraHttpHeader = std::move(extraHttpHeader);
+ if (m_extraHttpHeader &&
+ (m_extraHttpHeader->name.empty() || m_extraHttpHeader->name.back() != ':'))
+ THROW_UNKNOWN("Header name must end with ':'");
+
m_connection = m_ws->ClientConnect(m_context, url);
if (!m_connection)
DisconnectOnError();
break;
}
+ case LWS_CALLBACK_WSI_DESTROY:
+ case LWS_CALLBACK_PROTOCOL_DESTROY:
+ if (m_state == State::DISCONNECTED) {
+ LogError("Unexpected event");
+ m_state = State::FAILED;
+ return true;
+ }
+ break;
+
default:
LogError("Unexpected event");
m_state = State::FAILED;
auto tunnel = std::make_unique<ConnectMTunnel>(
"wss://some.domain/cable/contact/" +
Base64UrlEncode(reinterpret_cast<const uint8_t *>("contact_id")),
- ExtraHttpHeader{"X-caBLE-Client-Payload",
+ ExtraHttpHeader{"X-caBLE-Client-Payload:",
LowercaseHexStringOf(std::string_view{"client_payload"})});
auto handshake = Handshake(std::move(tunnel));
handshake.StateAssistedConnect("some.domain",
}
{
auto tunnel = std::make_unique<ConnectMTunnel>(
- "wss://a/cable/contact/Yg", ExtraHttpHeader{"X-caBLE-Client-Payload", "63"});
+ "wss://a/cable/contact/Yg", ExtraHttpHeader{"X-caBLE-Client-Payload:", "63"});
auto handshake = Handshake(std::move(tunnel));
handshake.StateAssistedConnect(
"a", reinterpret_cast<const uint8_t *>("b"), reinterpret_cast<const uint8_t *>("c"));