diff --git a/Makefile b/Makefile index ec8d6535..94134c0d 100644 --- a/Makefile +++ b/Makefile @@ -64,11 +64,11 @@ bsc: .PHONY: apps apps: - $(MAKE) -s -C apps all + $(MAKE) -s LEGACY=true -C apps all .PHONY: lib lib: - $(MAKE) -s -C apps $@ + $(MAKE) -s LEGACY=true -C apps $@ .PHONY: library library: diff --git a/apps/lib/Makefile b/apps/lib/Makefile index bd92683d..3153e44b 100644 --- a/apps/lib/Makefile +++ b/apps/lib/Makefile @@ -42,25 +42,19 @@ PORT_ARCNET_SRC = \ PORT_MSTP_SRC = \ $(BACNET_PORT_DIR)/rs485.c \ - $(BACNET_PORT_DIR)/dlmstp.c \ - $(BACNET_SRC_DIR)/bacnet/datalink/cobs.c \ - $(BACNET_SRC_DIR)/bacnet/datalink/mstp.c \ - $(BACNET_SRC_DIR)/bacnet/datalink/mstptext.c \ - $(BACNET_SRC_DIR)/bacnet/datalink/crc.c + $(BACNET_PORT_DIR)/dlmstp.c PORT_ETHERNET_SRC = \ $(BACNET_PORT_DIR)/ethernet.c PORT_BIP_SRC = \ $(BACNET_PORT_DIR)/bip-init.c \ - $(BACNET_SRC_DIR)/bacnet/datalink/bvlc.c \ $(BACNET_SRC_DIR)/bacnet/basic/bbmd/h_bbmd.c PORT_BIP6_SRC = \ $(BACNET_PORT_DIR)/bip6.c \ $(BACNET_SRC_DIR)/bacnet/basic/bbmd6/h_bbmd6.c \ - $(BACNET_SRC_DIR)/bacnet/basic/bbmd6/vmac.c \ - $(BACNET_SRC_DIR)/bacnet/datalink/bvlc6.c + $(BACNET_SRC_DIR)/bacnet/basic/bbmd6/vmac.c PORT_BSC_SRC = \ $(BACNET_PORT_DIR)/bip-init.c \ @@ -134,6 +128,12 @@ BACNET_PORT_SRC += \ BACNET_SRC ?= \ $(wildcard $(BACNET_SRC_DIR)/bacnet/*.c) \ + $(BACNET_SRC_DIR)/bacnet/datalink/bvlc.c \ + $(BACNET_SRC_DIR)/bacnet/datalink/bvlc6.c \ + $(BACNET_SRC_DIR)/bacnet/datalink/cobs.c \ + $(BACNET_SRC_DIR)/bacnet/datalink/crc.c \ + $(BACNET_SRC_DIR)/bacnet/datalink/mstp.c \ + $(BACNET_SRC_DIR)/bacnet/datalink/mstptext.c BACNET_BASIC_SRC ?= \ $(wildcard $(BACNET_SRC_DIR)/bacnet/basic/*.c) \ diff --git a/ports/bsd/websocket-cli.c b/ports/bsd/websocket-cli.c index 68236453..b0981248 100644 --- a/ports/bsd/websocket-cli.c +++ b/ports/bsd/websocket-cli.c @@ -20,7 +20,7 @@ #define DEBUG_PRINTF debug_printf #else #undef DEBUG_ENABLED -#define DEBUG_PRINTF(...) +#define DEBUG_PRINTF debug_printf_disabled #endif #ifndef LWS_PROTOCOL_LIST_TERM diff --git a/ports/bsd/websocket-srv.c b/ports/bsd/websocket-srv.c index 30300cc2..8ebbd41d 100644 --- a/ports/bsd/websocket-srv.c +++ b/ports/bsd/websocket-srv.c @@ -21,7 +21,7 @@ #define DEBUG_PRINTF debug_printf #else #undef DEBUG_ENABLED -#define DEBUG_PRINTF(...) +#define DEBUG_PRINTF debug_printf_disabled #endif #define BSC_RX_BUFFER_LEN BSC_WEBSOCKET_RX_BUFFER_LEN diff --git a/ports/win32/bsc-event.c b/ports/win32/bsc-event.c index f4ba2529..bb2c233f 100644 --- a/ports/win32/bsc-event.c +++ b/ports/win32/bsc-event.c @@ -18,7 +18,7 @@ #define DEBUG_PRINTF printf #else #undef DEBUG_ENABLED -#define DEBUG_PRINTF(...) +#define DEBUG_PRINTF debug_printf_disabled #endif struct BSC_Event { diff --git a/ports/win32/websocket-cli.c b/ports/win32/websocket-cli.c index 34968251..94dbe90a 100644 --- a/ports/win32/websocket-cli.c +++ b/ports/win32/websocket-cli.c @@ -19,7 +19,7 @@ #define DEBUG_PRINTF debug_printf #else #undef DEBUG_ENABLED -#define DEBUG_PRINTF(...) +#define DEBUG_PRINTF debug_printf_disabled #endif #ifndef LWS_PROTOCOL_LIST_TERM diff --git a/ports/win32/websocket-srv.c b/ports/win32/websocket-srv.c index 04c60c4b..9cd8338f 100644 --- a/ports/win32/websocket-srv.c +++ b/ports/win32/websocket-srv.c @@ -19,7 +19,7 @@ #define DEBUG_PRINTF debug_printf #else #undef DEBUG_ENABLED -#define DEBUG_PRINTF(...) +#define DEBUG_PRINTF debug_printf_disabled #endif #define BSC_RX_BUFFER_LEN BSC_WEBSOCKET_RX_BUFFER_LEN diff --git a/src/bacnet/basic/object/netport.c b/src/bacnet/basic/object/netport.c index 477a96c6..a28b2417 100644 --- a/src/bacnet/basic/object/netport.c +++ b/src/bacnet/basic/object/netport.c @@ -20,6 +20,8 @@ #include "bacnet/bacdcode.h" #include "bacnet/npdu.h" #include "bacnet/apdu.h" +#include "bacnet/datalink/bvlc.h" +#include "bacnet/datalink/bvlc6.h" #include "bacnet/datalink/datalink.h" #include "bacnet/basic/binding/address.h" #include "bacnet/basic/object/device.h" @@ -27,10 +29,6 @@ #include "bacnet/basic/object/netport.h" #include -#if defined(BACDL_BIP6) -#include "bacnet/datalink/bvlc6.h" -#endif - #ifndef BBMD_ENABLED #define BBMD_ENABLED 1 #endif @@ -43,9 +41,7 @@ struct bacnet_ipv4_port { uint8_t IP_DNS_Server[BIP_DNS_MAX][4]; uint16_t Port; BACNET_IP_MODE Mode; -#if defined(BACDL_BIP) && (BACNET_NETWORK_PORT_IP_DHCP_ENABLED) bool IP_DHCP_Enable; -#endif uint32_t IP_DHCP_Lease_Seconds; uint32_t IP_DHCP_Lease_Seconds_Remaining; uint8_t IP_DHCP_Server[4]; @@ -828,10 +824,10 @@ bool Network_Port_Quality_Set( * Note: depends on Network_Type being set for this object * * @param object_instance - object-instance number of the object - * @param mac_address - holds the mac-address retrieved - * @param mac_size - size of the mac-address buffer + * @param mac_address - holds the mac-address retrieved, or NULL for length + * @param mac_size - size of the mac-address buffer, or 0 for length * - * @return the length of the mac-address retrieved, or zero if not found + * @return the length of the mac-address, or zero if not found */ uint8_t Network_Port_MAC_Address_Value( uint32_t object_instance, uint8_t *mac_address, size_t mac_size) @@ -874,10 +870,8 @@ uint8_t Network_Port_MAC_Address_Value( break; } if (mac_len > 0) { - if (mac_size >= mac_len) { + if ((mac_address) && (mac_size >= mac_len)) { memcpy(mac_address, mac, mac_len); - } else { - mac_len = 0; } } } @@ -940,7 +934,15 @@ bool Network_Port_MAC_Address_Set( mac_size = sizeof(Object_List[index].Network.MSTP.MAC_Address); break; case PORT_TYPE_BIP: - /* no need to set - created from IP address and UPD Port */ + if (mac_len >= 6) { + memcpy( + &Object_List[index].Network.IPv4.IP_Address, + &mac_src[0], 4); + /* convert from network-byte-order to host-byte-order */ + decode_unsigned16( + &mac_src[4], &Object_List[index].Network.IPv4.Port); + status = true; + } break; case PORT_TYPE_BIP6: mac_dest = &Object_List[index].Network.IPv6.MAC_Address[0]; @@ -1468,7 +1470,6 @@ bool Network_Port_IP_Gateway_Set( return status; } -#if defined(BACDL_BIP) && (BACNET_NETWORK_PORT_IP_DHCP_ENABLED) /** * For a given object instance-number, returns the IP_DHCP_Enable * property value @@ -1491,9 +1492,7 @@ bool Network_Port_IP_DHCP_Enable(uint32_t object_instance) return dhcp_enable; } -#endif -#if defined(BACDL_BIP) && (BACNET_NETWORK_PORT_IP_DHCP_ENABLED) /** * For a given object instance-number, sets the IP_DHCP_Enable property value * @@ -1517,7 +1516,6 @@ bool Network_Port_IP_DHCP_Enable_Set(uint32_t object_instance, bool value) return status; } -#endif /** * For a given object instance-number and dns_index, loads the ip-address into @@ -1736,11 +1734,17 @@ bool Network_Port_BBMD_Accept_FD_Registrations(uint32_t object_instance) bool flag = false; unsigned index = 0; struct bacnet_ipv4_port *ipv4 = NULL; + struct bacnet_ipv6_port *ipv6 = NULL; index = Network_Port_Instance_To_Index(object_instance); if (index < BACNET_NETWORK_PORTS_MAX) { - ipv4 = &Object_List[index].Network.IPv4; - flag = ipv4->BBMD_Accept_FD_Registrations; + if (Object_List[index].Network_Type == PORT_TYPE_BIP) { + ipv4 = &Object_List[index].Network.IPv4; + flag = ipv4->BBMD_Accept_FD_Registrations; + } else if (Object_List[index].Network_Type == PORT_TYPE_BIP6) { + ipv6 = &Object_List[index].Network.IPv6; + flag = ipv6->BBMD_Accept_FD_Registrations; + } } return flag; @@ -1761,15 +1765,25 @@ bool Network_Port_BBMD_Accept_FD_Registrations_Set( bool status = false; unsigned index = 0; struct bacnet_ipv4_port *ipv4 = NULL; + struct bacnet_ipv6_port *ipv6 = NULL; index = Network_Port_Instance_To_Index(object_instance); if (index < BACNET_NETWORK_PORTS_MAX) { - ipv4 = &Object_List[index].Network.IPv4; - if (flag != ipv4->BBMD_Accept_FD_Registrations) { - ipv4->BBMD_Accept_FD_Registrations = flag; - Object_List[index].Changes_Pending = true; + if (Object_List[index].Network_Type == PORT_TYPE_BIP) { + ipv4 = &Object_List[index].Network.IPv4; + if (flag != ipv4->BBMD_Accept_FD_Registrations) { + ipv4->BBMD_Accept_FD_Registrations = flag; + Object_List[index].Changes_Pending = true; + } + status = true; + } else if (Object_List[index].Network_Type == PORT_TYPE_BIP6) { + ipv6 = &Object_List[index].Network.IPv6; + if (flag != ipv6->BBMD_Accept_FD_Registrations) { + ipv6->BBMD_Accept_FD_Registrations = flag; + Object_List[index].Changes_Pending = true; + } + status = true; } - status = true; } return status; @@ -1798,6 +1812,37 @@ void *Network_Port_BBMD_BD_Table(uint32_t object_instance) return bdt_head; } +/** + * @brief For a given object instance-number, encodes the BBMD-BD-Table property + * value + * @param object_instance - object-instance number of the object + * @param apdu - buffer to encode the property value into, or NULL for length + * @return number of bytes encoded + */ +static int BBMD_Broadcast_Distribution_Table_Encode( + uint32_t object_instance, uint8_t *apdu, size_t apdu_size) +{ + unsigned index = 0; + struct bacnet_ipv4_port *ipv4 = NULL; + struct bacnet_ipv6_port *ipv6 = NULL; + int apdu_len = 0; + + index = Network_Port_Instance_To_Index(object_instance); + if (index < BACNET_NETWORK_PORTS_MAX) { + if (Object_List[index].Network_Type == PORT_TYPE_BIP) { + ipv4 = &Object_List[index].Network.IPv4; + apdu_len = bvlc_broadcast_distribution_table_encode( + apdu, apdu_size, ipv4->BBMD_BD_Table); + } else if (Object_List[index].Network_Type == PORT_TYPE_BIP6) { + ipv6 = &Object_List[index].Network.IPv6; + apdu_len = bvlc6_broadcast_distribution_table_encode( + apdu, apdu_size, ipv6->BBMD_BD_Table); + } + } + + return apdu_len; +} + /** * For a given object instance-number, sets the BBMD-BD-Table head * property value @@ -1878,40 +1923,36 @@ bool Network_Port_BBMD_FD_Table_Set(uint32_t object_instance, void *fdt_head) return status; } -#if defined(BACDL_BIP) && (BBMD_ENABLED || BBMD_CLIENT_ENABLED) /** - * For a given object instance-number, gets the ip-address and port - * Note: depends on Network_Type being set for this object - * - * @param object_instance - object-instance number of the object - * @param addr - holds the ip-address and port retrieved - * - * @return true if ip-address and port were retrieved + * @brief For a given object instance-number, encodes the BBMD-BD-Table property + * value + * @param object_instance - object-instance number of the object + * @param apdu - buffer to encode the property value into, or NULL for length + * @return number of bytes encoded */ -static bool Network_Port_Remote_BBMD_IP_Address_And_Port( - uint32_t object_instance, BACNET_IP_ADDRESS *addr) +static int BBMD_Foreign_Device_Table_Encode( + uint32_t object_instance, uint8_t *apdu, size_t apdu_size) { - unsigned index = 0; /* offset from instance lookup */ - bool status = false; + unsigned index = 0; + struct bacnet_ipv4_port *ipv4 = NULL; + struct bacnet_ipv6_port *ipv6 = NULL; + int apdu_len = 0; - if (addr) { - index = Network_Port_Instance_To_Index(object_instance); - if (index < BACNET_NETWORK_PORTS_MAX) { - if (Object_List[index].Network_Type == PORT_TYPE_BIP) { - bvlc_address_set( - addr, Object_List[index].Network.IPv4.BBMD_IP_Address[0], - Object_List[index].Network.IPv4.BBMD_IP_Address[1], - Object_List[index].Network.IPv4.BBMD_IP_Address[2], - Object_List[index].Network.IPv4.BBMD_IP_Address[3]); - addr->port = Object_List[index].Network.IPv4.BBMD_Port; - status = true; - } + index = Network_Port_Instance_To_Index(object_instance); + if (index < BACNET_NETWORK_PORTS_MAX) { + if (Object_List[index].Network_Type == PORT_TYPE_BIP) { + ipv4 = &Object_List[index].Network.IPv4; + apdu_len = bvlc_foreign_device_table_encode( + apdu, apdu_size, ipv4->BBMD_FD_Table); + } else if (Object_List[index].Network_Type == PORT_TYPE_BIP6) { + ipv6 = &Object_List[index].Network.IPv6; + apdu_len = bvlc6_foreign_device_table_encode( + apdu, apdu_size, ipv6->BBMD_FD_Table); } } - return status; + return apdu_len; } -#endif /** * For a given object instance-number, loads the ip-address into @@ -2097,12 +2138,36 @@ bool Network_Port_Remote_BBMD_BIP_Lifetime_Set( return status; } -/* IPv6 BBMD related getters and setters */ -#if defined(BACDL_BIP6) +/** + * @brief Get the foreign device subscription lifetime + * @param object_instance [in] BACnet network port object instance number + * @return foreign device subscription lifetime + */ +static uint16_t Foreign_Device_Subscription_Lifetime(uint32_t object_instance) +{ + uint16_t value = 0; + unsigned index = 0; + + index = Network_Port_Instance_To_Index(object_instance); + if (index < BACNET_NETWORK_PORTS_MAX) { + switch (Object_List[index].Network_Type) { + case PORT_TYPE_BIP: + value = Object_List[index].Network.IPv4.BBMD_Lifetime; + break; + case PORT_TYPE_BIP6: + value = Object_List[index].Network.IPv6.BBMD_Lifetime; + break; + default: + break; + } + } + + return value; +} /** - * For a given object instance-number, returns the BBMD-Accept-FD-Registrations - * property value + * For a given object instance-number, returns the + * BBMD-Accept-FD-Registrations property value * * @param object_instance - object-instance number of the object * @@ -2257,7 +2322,6 @@ bool Network_Port_BBMD_IP6_FD_Table_Set( return status; } -#if defined(BACDL_BIP6) && (BBMD_CLIENT_ENABLED) /** * For a given object instance-number, gets the ip-address and port * Note: depends on Network_Type being set for this object @@ -2267,29 +2331,37 @@ bool Network_Port_BBMD_IP6_FD_Table_Set( * * @return true if ip-address and port were retrieved */ -static bool Network_Port_Remote_BBMD_IP6_Address_And_Port( - uint32_t object_instance, BACNET_IP6_ADDRESS *addr) +static int Foreign_Device_BBMD_Address_Encode( + uint32_t object_instance, uint8_t *apdu, size_t apdu_size) { unsigned index = 0; /* offset from instance lookup */ - bool status = false; + BACNET_IP_ADDRESS ip4_address; + BACNET_IP6_ADDRESS ip6_address; + int apdu_len = 0; - if (addr) { - index = Network_Port_Instance_To_Index(object_instance); - if (index < BACNET_NETWORK_PORTS_MAX) { - if (Object_List[index].Network_Type == PORT_TYPE_BIP6) { - memcpy( - addr->address, - Object_List[index].Network.IPv6.BBMD_IP_Address, - sizeof(addr->address)); - addr->port = Object_List[index].Network.IPv6.BBMD_Port; - status = true; - } + index = Network_Port_Instance_To_Index(object_instance); + if (index < BACNET_NETWORK_PORTS_MAX) { + if (Object_List[index].Network_Type == PORT_TYPE_BIP) { + bvlc_address_set( + &ip4_address, + Object_List[index].Network.IPv4.BBMD_IP_Address[0], + Object_List[index].Network.IPv4.BBMD_IP_Address[1], + Object_List[index].Network.IPv4.BBMD_IP_Address[2], + Object_List[index].Network.IPv4.BBMD_IP_Address[3]); + ip4_address.port = Object_List[index].Network.IPv4.BBMD_Port; + apdu_len = bvlc_foreign_device_bbmd_host_address_encode( + apdu, apdu_size, &ip4_address); + } else if (Object_List[index].Network_Type == PORT_TYPE_BIP6) { + bvlc6_address_n_port_set( + &ip6_address, Object_List[index].Network.IPv6.BBMD_IP_Address, + Object_List[index].Network.IPv6.BBMD_Port); + apdu_len = bvlc6_foreign_device_bbmd_host_address_encode( + apdu, apdu_size, &ip6_address); } } - return status; + return apdu_len; } -#endif /** * For a given object instance-number, loads the ip-address into @@ -2458,7 +2530,6 @@ bool Network_Port_Remote_BBMD_BIP6_Lifetime_Set( return status; } -#endif /** * For a given object instance-number, gets the BACnet/IP UDP Port number @@ -2562,6 +2633,7 @@ bool Network_Port_IPv6_Address_Set( for (i = 0; i < IPV6_ADDR_SIZE; i++) { Object_List[index].Network.IPv6.IP_Address[i] = ip_address[i]; } + status = true; } } @@ -2569,8 +2641,9 @@ bool Network_Port_IPv6_Address_Set( } /** - * For a given object instance-number, gets the BACnet/IP Subnet prefix value - * Note: depends on Network_Type being set to PORT_TYPE_BIP for this object + * For a given object instance-number, gets the BACnet/IP Subnet prefix + * value Note: depends on Network_Type being set to PORT_TYPE_BIP for this + * object * * @param object_instance - object-instance number of the object * @@ -2592,8 +2665,9 @@ uint8_t Network_Port_IPv6_Subnet_Prefix(uint32_t object_instance) } /** - * For a given object instance-number, sets the BACnet/IP Subnet prefix value - * Note: depends on Network_Type being set to PORT_TYPE_BIP for this object + * For a given object instance-number, sets the BACnet/IP Subnet prefix + * value Note: depends on Network_Type being set to PORT_TYPE_BIP for this + * object * * @param object_instance - object-instance number of the object * @param value - BACnet/IP Subnet prefix value 1..128 @@ -2673,6 +2747,7 @@ bool Network_Port_IPv6_Gateway_Set( for (i = 0; i < IPV6_ADDR_SIZE; i++) { Object_List[index].Network.IPv6.IP_Gateway[i] = ip_address[i]; } + status = true; } } @@ -2766,6 +2841,7 @@ bool Network_Port_IPv6_DNS_Server_Set( Object_List[index].Network.IPv6.IP_DNS_Server[dns_index][i] = ip_address[i]; } + status = true; } } @@ -2825,6 +2901,7 @@ bool Network_Port_IPv6_Multicast_Address_Set( Object_List[index].Network.IPv6.IP_Multicast_Address[i] = ip_address[i]; } + status = true; } } @@ -2883,6 +2960,7 @@ bool Network_Port_IPv6_DHCP_Server_Set( Object_List[index].Network.IPv6.IP_DHCP_Server[i] = ip_address[i]; } + status = true; } } @@ -2991,8 +3069,8 @@ const char *Network_Port_IPv6_Zone_Index_ASCII(uint32_t object_instance) } /** - * For a given object instance-number, returns the BACnet IPv6 Auto Addressing - * Enable property value + * For a given object instance-number, returns the BACnet IPv6 Auto + * Addressing Enable property value * * @param object_instance - object-instance number of the object * @@ -3073,7 +3151,6 @@ bool Network_Port_IPv6_Gateway_Zone_Index_Set( return status; } -#if (BBMD_CLIENT_ENABLED) && defined(BACAPP_HOST_N_PORT) /** * @brief Write the FD BBMD Address * @param object_instance [in] BACnet network port object instance number @@ -3099,7 +3176,6 @@ static bool Network_Port_FD_BBMD_Address_Write( return status; } switch (Network_Port_Type(object_instance)) { -#if defined(BACDL_BIP) case PORT_TYPE_BIP: if (Network_Port_BIP_Mode(object_instance) != BACNET_IP_MODE_FOREIGN) { @@ -3122,8 +3198,6 @@ static bool Network_Port_FD_BBMD_Address_Write( *error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; } break; -#endif -#if defined(BACDL_BIP6) case PORT_TYPE_BIP6: if (Network_Port_BIP6_Mode(object_instance) != BACNET_IP_MODE_FOREIGN) { @@ -3144,7 +3218,6 @@ static bool Network_Port_FD_BBMD_Address_Write( *error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; } break; -#endif default: *error_class = ERROR_CLASS_PROPERTY; *error_code = ERROR_CODE_WRITE_ACCESS_DENIED; @@ -3153,9 +3226,7 @@ static bool Network_Port_FD_BBMD_Address_Write( return status; } -#endif -#if (BBMD_CLIENT_ENABLED) /** * @brief Write the FD Subscription Lifetime * @param object_instance [in] BACnet network port object instance number @@ -3183,7 +3254,6 @@ static bool Network_Port_FD_Subscription_Lifetime_Write( } lifetime = (uint16_t)value; switch (Network_Port_Type(object_instance)) { -#if defined(BACDL_BIP) case PORT_TYPE_BIP: if (Network_Port_BIP_Mode(object_instance) == BACNET_IP_MODE_FOREIGN) { @@ -3198,8 +3268,6 @@ static bool Network_Port_FD_Subscription_Lifetime_Write( *error_code = ERROR_CODE_WRITE_ACCESS_DENIED; } break; -#endif -#if defined(BACDL_BIP6) case PORT_TYPE_BIP6: if (Network_Port_BIP6_Mode(object_instance) == BACNET_IP_MODE_FOREIGN) { @@ -3214,7 +3282,6 @@ static bool Network_Port_FD_Subscription_Lifetime_Write( *error_code = ERROR_CODE_WRITE_ACCESS_DENIED; } break; -#endif default: *error_class = ERROR_CLASS_PROPERTY; *error_code = ERROR_CODE_WRITE_ACCESS_DENIED; @@ -3223,7 +3290,6 @@ static bool Network_Port_FD_Subscription_Lifetime_Write( return status; } -#endif /** * For a given object instance-number, gets the MS/TP Max_Info_Frames value @@ -3294,39 +3360,14 @@ int Network_Port_Read_Property(BACNET_READ_PROPERTY_DATA *rpdata) BACNET_BIT_STRING bit_string; BACNET_OCTET_STRING octet_string; BACNET_CHARACTER_STRING char_string; -#if defined(BACDL_BIP) && (BBMD_ENABLED || BBMD_CLIENT_ENABLED) - BACNET_IP_ADDRESS ip_address = { 0 }; -#endif -#if defined(BACDL_BIP6) && (BBMD_CLIENT_ENABLED) - BACNET_IP6_ADDRESS ip6_address; -#endif uint8_t *apdu = NULL; - const int *pRequired = NULL; - const int *pOptional = NULL; - const int *pProprietary = NULL; - - uint8_t network_type = PORT_TYPE_NON_BACNET; - unsigned int index = 0; if ((rpdata == NULL) || (rpdata->application_data == NULL) || (rpdata->application_data_len == 0)) { return 0; } - -#if (!BBMD_CLIENT_ENABLED) - (void)network_type; -#endif - - if ((index = Network_Port_Instance_To_Index(rpdata->object_instance)) < - BACNET_NETWORK_PORTS_MAX) { - network_type = Object_List[index].Network_Type; - } - - Network_Port_Property_List( - rpdata->object_instance, &pRequired, &pOptional, &pProprietary); - if ((!property_list_member(pRequired, rpdata->object_property)) && - (!property_list_member(pOptional, rpdata->object_property)) && - (!property_list_member(pProprietary, rpdata->object_property))) { + if (!Property_List_Member( + rpdata->object_instance, rpdata->object_property)) { rpdata->error_class = ERROR_CLASS_PROPERTY; rpdata->error_code = ERROR_CODE_UNKNOWN_PROPERTY; return BACNET_STATUS_ERROR; @@ -3444,12 +3485,10 @@ int Network_Port_Read_Property(BACNET_READ_PROPERTY_DATA *rpdata) Network_Port_IP_Gateway(rpdata->object_instance, &octet_string); apdu_len = encode_application_octet_string(&apdu[0], &octet_string); break; -#if defined(BACDL_BIP) && (BACNET_NETWORK_PORT_IP_DHCP_ENABLED) case PROP_IP_DHCP_ENABLE: apdu_len = encode_application_boolean( &apdu[0], Network_Port_IP_DHCP_Enable(rpdata->object_instance)); break; -#endif case PROP_IP_DNS_SERVER: apdu_len = bacnet_array_encode( rpdata->object_instance, rpdata->array_index, @@ -3464,9 +3503,6 @@ int Network_Port_Read_Property(BACNET_READ_PROPERTY_DATA *rpdata) apdu_len = BACNET_STATUS_ERROR; } break; -#if (defined(BACDL_BIP) || defined(BACDL_BIP6)) && \ - (BBMD_ENABLED || BBMD_CLIENT_ENABLED) -#if (BBMD_ENABLED) case PROP_BBMD_ACCEPT_FD_REGISTRATIONS: apdu_len = encode_application_boolean( &apdu[0], @@ -3474,107 +3510,24 @@ int Network_Port_Read_Property(BACNET_READ_PROPERTY_DATA *rpdata) rpdata->object_instance)); break; case PROP_BBMD_BROADCAST_DISTRIBUTION_TABLE: - switch (network_type) { -#if defined(BACDL_BIP) - case PORT_TYPE_BIP: - apdu_len = bvlc_broadcast_distribution_table_encode( - &apdu[0], rpdata->application_data_len, - Network_Port_BBMD_BD_Table(rpdata->object_instance)); - break; -#endif -#if defined(BACDL_BIP6) - case PORT_TYPE_BIP6: - apdu_len = bvlc6_broadcast_distribution_table_encode( - &apdu[0], rpdata->application_data_len, - Network_Port_BBMD_IP6_BD_Table( - rpdata->object_instance)); - break; -#endif - default: - rpdata->error_class = ERROR_CLASS_PROPERTY; - rpdata->error_code = ERROR_CODE_INVALID_ARRAY_INDEX; - apdu_len = BACNET_STATUS_ERROR; - break; - } + /* BACnetLIST */ + apdu_len = BBMD_Broadcast_Distribution_Table_Encode( + rpdata->object_instance, apdu, apdu_size); break; case PROP_BBMD_FOREIGN_DEVICE_TABLE: - switch (network_type) { -#if defined(BACDL_BIP) - case PORT_TYPE_BIP: - apdu_len = bvlc_foreign_device_table_encode( - &apdu[0], rpdata->application_data_len, - Network_Port_BBMD_FD_Table(rpdata->object_instance)); - break; -#endif -#if defined(BACDL_BIP6) - case PORT_TYPE_BIP6: - apdu_len = bvlc6_foreign_device_table_encode( - &apdu[0], rpdata->application_data_len, - Network_Port_BBMD_IP6_FD_Table( - rpdata->object_instance)); - break; -#endif - default: - rpdata->error_class = ERROR_CLASS_PROPERTY; - rpdata->error_code = ERROR_CODE_INVALID_ARRAY_INDEX; - apdu_len = BACNET_STATUS_ERROR; - break; - } + /* BACnetLIST */ + apdu_len = BBMD_Foreign_Device_Table_Encode( + rpdata->object_instance, apdu, apdu_size); break; -#endif /* BBMD_ENABLED */ -#if (BBMD_CLIENT_ENABLED) case PROP_FD_BBMD_ADDRESS: - switch (network_type) { -#if defined(BACDL_BIP) && (BBMD_ENABLED || BBMD_CLIENT_ENABLED) - case PORT_TYPE_BIP: - Network_Port_Remote_BBMD_IP_Address_And_Port( - rpdata->object_instance, &ip_address); - apdu_len = bvlc_foreign_device_bbmd_host_address_encode( - &apdu[0], apdu_size, &ip_address); - break; -#endif -#if defined(BACDL_BIP6) - case PORT_TYPE_BIP6: - Network_Port_Remote_BBMD_IP6_Address_And_Port( - rpdata->object_instance, &ip6_address); - apdu_len = bvlc6_foreign_device_bbmd_host_address_encode( - &apdu[0], apdu_size, &ip6_address); - break; -#endif - default: - rpdata->error_class = ERROR_CLASS_PROPERTY; - rpdata->error_code = ERROR_CODE_INVALID_ARRAY_INDEX; - apdu_len = BACNET_STATUS_ERROR; - break; - } + apdu_len = Foreign_Device_BBMD_Address_Encode( + rpdata->object_instance, apdu, apdu_size); break; case PROP_FD_SUBSCRIPTION_LIFETIME: - switch (network_type) { -#if defined(BACDL_BIP) - case PORT_TYPE_BIP: - apdu_len = encode_application_unsigned( - &apdu[0], - Network_Port_Remote_BBMD_BIP_Lifetime( - rpdata->object_instance)); - break; -#endif -#if defined(BACDL_BIP6) - case PORT_TYPE_BIP6: - apdu_len = encode_application_unsigned( - &apdu[0], - Network_Port_Remote_BBMD_BIP6_Lifetime( - rpdata->object_instance)); - break; -#endif - default: - rpdata->error_class = ERROR_CLASS_PROPERTY; - rpdata->error_code = ERROR_CODE_INVALID_ARRAY_INDEX; - apdu_len = BACNET_STATUS_ERROR; - break; - } + apdu_len = encode_application_unsigned( + apdu, + Foreign_Device_Subscription_Lifetime(rpdata->object_instance)); break; -#endif -#endif case PROP_BACNET_IPV6_MODE: apdu_len = encode_application_enumerated( &apdu[0], Network_Port_BIP6_Mode(rpdata->object_instance)); @@ -3840,6 +3793,12 @@ bool Network_Port_Write_Property(BACNET_WRITE_PROPERTY_DATA *wp_data) wp_data->error_code = ERROR_CODE_UNKNOWN_OBJECT; return false; } + if (!Property_List_Member( + wp_data->object_instance, wp_data->object_property)) { + wp_data->error_class = ERROR_CLASS_PROPERTY; + wp_data->error_code = ERROR_CODE_UNKNOWN_PROPERTY; + return false; + } /* decode the some of the request */ #if defined(BACAPP_COMPLEX_TYPES) len = bacapp_decode_known_property( @@ -3892,39 +3851,21 @@ bool Network_Port_Write_Property(BACNET_WRITE_PROPERTY_DATA *wp_data) } } break; -#if (BBMD_CLIENT_ENABLED) case PROP_FD_BBMD_ADDRESS: -#if defined(BACAPP_HOST_N_PORT) if (write_property_type_valid( wp_data, &value, BACNET_APPLICATION_TAG_HOST_N_PORT)) { status = Network_Port_FD_BBMD_Address_Write( wp_data->object_instance, &value.type.Host_Address, &wp_data->error_class, &wp_data->error_code); - } else { - wp_data->error_class = ERROR_CLASS_PROPERTY; - wp_data->error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; } -#else - wp_data->error_class = ERROR_CLASS_PROPERTY; - wp_data->error_code = ERROR_CODE_WRITE_ACCESS_DENIED; -#endif break; -#endif case PROP_FD_SUBSCRIPTION_LIFETIME: -#if (BBMD_CLIENT_ENABLED) if (write_property_type_valid( wp_data, &value, BACNET_APPLICATION_TAG_UNSIGNED_INT)) { status = Network_Port_FD_Subscription_Lifetime_Write( wp_data->object_instance, value.type.Unsigned_Int, &wp_data->error_class, &wp_data->error_code); - } else { - wp_data->error_class = ERROR_CLASS_PROPERTY; - wp_data->error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; } -#else - wp_data->error_class = ERROR_CLASS_PROPERTY; - wp_data->error_code = ERROR_CODE_WRITE_ACCESS_DENIED; -#endif break; default: if (Property_List_Member( @@ -3994,69 +3935,33 @@ bool Network_Port_Read_Range( /* return value */ bool status = false; - switch (pRequest->object_property) { - case PROP_OBJECT_IDENTIFIER: - case PROP_OBJECT_NAME: - case PROP_OBJECT_TYPE: - case PROP_STATUS_FLAGS: - case PROP_RELIABILITY: - case PROP_OUT_OF_SERVICE: - case PROP_NETWORK_TYPE: - case PROP_PROTOCOL_LEVEL: - case PROP_NETWORK_NUMBER: - case PROP_NETWORK_NUMBER_QUALITY: - case PROP_CHANGES_PENDING: - case PROP_APDU_LENGTH: - case PROP_LINK_SPEED: - case PROP_MAC_ADDRESS: -#if defined(BACDL_MSTP) - case PROP_MAX_MASTER: - case PROP_MAX_INFO_FRAMES: -#endif -#if defined(BACDL_BIP) - case PROP_BACNET_IP_MODE: - case PROP_IP_ADDRESS: - case PROP_BACNET_IP_UDP_PORT: - case PROP_IP_SUBNET_MASK: - case PROP_IP_DEFAULT_GATEWAY: - case PROP_IP_DNS_SERVER: -#endif -#if defined(BACDL_BIP) && BBMD_ENABLED - case PROP_BBMD_ACCEPT_FD_REGISTRATIONS: -#endif - (void)pInfo; + if (Property_List_Member( + pRequest->object_instance, pRequest->object_property)) { + if (property_list_bacnet_list_member( + OBJECT_NETWORK_PORT, pRequest->object_property)) { + switch (pRequest->object_property) { + case PROP_BBMD_BROADCAST_DISTRIBUTION_TABLE: + pInfo->RequestTypes = RR_BY_POSITION; + pInfo->Handler = Network_Port_Read_Range_BDT; + status = true; + break; + case PROP_BBMD_FOREIGN_DEVICE_TABLE: + pInfo->RequestTypes = RR_BY_POSITION; + pInfo->Handler = Network_Port_Read_Range_FDT; + status = true; + break; + default: + pRequest->error_class = ERROR_CLASS_PROPERTY; + pRequest->error_code = ERROR_CODE_UNKNOWN_PROPERTY; + break; + } + } else { pRequest->error_class = ERROR_CLASS_SERVICES; pRequest->error_code = ERROR_CODE_PROPERTY_IS_NOT_A_LIST; - break; - case PROP_BBMD_BROADCAST_DISTRIBUTION_TABLE: -#if defined(BACDL_BIP) && BBMD_ENABLED - pInfo->RequestTypes = RR_BY_POSITION; - pInfo->Handler = Network_Port_Read_Range_BDT; - status = true; -#else - (void)pInfo; - pRequest->error_class = ERROR_CLASS_PROPERTY; - pRequest->error_code = ERROR_CODE_UNKNOWN_PROPERTY; - (void)pInfo; -#endif - break; - case PROP_BBMD_FOREIGN_DEVICE_TABLE: -#if defined(BACDL_BIP) && BBMD_ENABLED - pInfo->RequestTypes = RR_BY_POSITION; - pInfo->Handler = Network_Port_Read_Range_FDT; - status = true; -#else - (void)pInfo; - pRequest->error_class = ERROR_CLASS_PROPERTY; - pRequest->error_code = ERROR_CODE_UNKNOWN_PROPERTY; - (void)pInfo; -#endif - break; - default: - (void)pInfo; - pRequest->error_class = ERROR_CLASS_PROPERTY; - pRequest->error_code = ERROR_CODE_UNKNOWN_PROPERTY; - break; + } + } else { + pRequest->error_class = ERROR_CLASS_PROPERTY; + pRequest->error_code = ERROR_CODE_UNKNOWN_PROPERTY; } return status; diff --git a/src/bacnet/datalink/bvlc.c b/src/bacnet/datalink/bvlc.c index c25b1187..1e035c4c 100644 --- a/src/bacnet/datalink/bvlc.c +++ b/src/bacnet/datalink/bvlc.c @@ -516,70 +516,126 @@ bool bvlc_broadcast_distribution_table_entry_forward_address( * broadcast-mask [1] OCTET STRING * } * + * @param apdu - the APDU buffer, or NULL for length + * @param bdt_head - one BACnetBDTEntry + * @return length of the APDU buffer + */ +int bvlc_broadcast_distribution_table_entry_encode( + uint8_t *apdu, + const BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_entry) +{ + int len = 0; + int apdu_len = 0; + BACNET_OCTET_STRING octet_string; + + if (bdt_entry) { + /* bbmd-address [0] BACnetHostNPort - opening */ + len = encode_opening_tag(apdu, 0); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* host [0] BACnetHostAddress - opening */ + len = encode_opening_tag(apdu, 0); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* CHOICE - ip-address [1] OCTET STRING */ + octetstring_init( + &octet_string, &bdt_entry->dest_address.address[0], IP_ADDRESS_MAX); + len = encode_context_octet_string(apdu, 1, &octet_string); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* host [0] BACnetHostAddress - closing */ + len = encode_closing_tag(apdu, 0); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* port [1] Unsigned16 */ + len = encode_context_unsigned(apdu, 1, bdt_entry->dest_address.port); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* bbmd-address [0] BACnetHostNPort - closing */ + len = encode_closing_tag(apdu, 0); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* broadcast-mask [1] OCTET STRING */ + octetstring_init( + &octet_string, &bdt_entry->broadcast_mask.address[0], + IP_ADDRESS_MAX); + len = encode_context_octet_string(apdu, 1, &octet_string); + apdu_len += len; + } + + return apdu_len; +} + +/** + * @brief Encode the Broadcast-Distribution-Table for Network Port object + * + * BACnetLIST of BACnetBDTEntry + * * @param apdu - the APDU buffer * @param apdu_size - the APDU buffer size * @param bdt_head - head of the BDT linked list * @return length of the APDU buffer */ -int bvlc_broadcast_distribution_table_encode( - uint8_t *apdu, - uint16_t apdu_size, - BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_head) +int bvlc_broadcast_distribution_table_list_encode( + uint8_t *apdu, const BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_head) { int len = 0; int apdu_len = 0; - int entry_size = 0; - BACNET_OCTET_STRING octet_string; - BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_entry; + const BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_entry; bdt_entry = bdt_head; while (bdt_entry) { if (bdt_entry->valid) { - /* bbmd-address [0] BACnetHostNPort - opening */ - len = encode_opening_tag(&apdu[apdu_len], 0); - apdu_len += len; - /* host [0] BACnetHostAddress - opening */ - len = encode_opening_tag(&apdu[apdu_len], 0); - apdu_len += len; - /* CHOICE - ip-address [1] OCTET STRING */ - octetstring_init( - &octet_string, &bdt_entry->dest_address.address[0], - IP_ADDRESS_MAX); len = - encode_context_octet_string(&apdu[apdu_len], 1, &octet_string); + bvlc_broadcast_distribution_table_entry_encode(apdu, bdt_entry); apdu_len += len; - /* host [0] BACnetHostAddress - closing */ - len = encode_closing_tag(&apdu[apdu_len], 0); - apdu_len += len; - /* port [1] Unsigned16 */ - len = encode_context_unsigned( - &apdu[apdu_len], 1, bdt_entry->dest_address.port); - apdu_len += len; - /* bbmd-address [0] BACnetHostNPort - closing */ - len = encode_closing_tag(&apdu[apdu_len], 0); - apdu_len += len; - /* broadcast-mask [1] OCTET STRING */ - octetstring_init( - &octet_string, &bdt_entry->broadcast_mask.address[0], - IP_ADDRESS_MAX); - len = - encode_context_octet_string(&apdu[apdu_len], 1, &octet_string); - apdu_len += len; - } - if (!entry_size) { - entry_size = apdu_len; + if (apdu) { + apdu += len; + } } /* next entry */ bdt_entry = bdt_entry->next; - if ((apdu_len + entry_size) > apdu_size) { - /* check for available space */ - break; - } } return apdu_len; } +/** + * @brief Encode the Broadcast-Distribution-Table for Network Port object + * @param apdu - the APDU buffer + * @param apdu_size - the APDU buffer size + * @param bdt_head - head of the BDT linked list + * @return length of the APDU buffer, or BACNET_STATUS_ERROR on error + */ +int bvlc_broadcast_distribution_table_encode( + uint8_t *apdu, + uint16_t apdu_size, + const BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_head) +{ + int len = 0; + + len = bvlc_broadcast_distribution_table_list_encode(NULL, bdt_head); + if (len <= apdu_size) { + len = bvlc_broadcast_distribution_table_list_encode(apdu, bdt_head); + } else { + len = BACNET_STATUS_ERROR; + } + + return len; +} + /** * @brief Decode the Broadcast-Distribution-Table for Network Port object * @param apdu - the APDU buffer @@ -1105,6 +1161,86 @@ int bvlc_decode_register_foreign_device( return bytes_consumed; } +/** + * @brief Encode the Foreign_Device-Table for Network Port object + * + * BACnetLIST of BACnetFDTEntry + * + * BACnetFDTEntry ::= SEQUENCE { + * bacnetip-address [0] OCTET STRING, -- 6-octet B/IP registrant address + * time-to-live [1] Unsigned16, -- time to live in seconds + * remaining-time-to-live [2] Unsigned16 -- remaining time in seconds + * } + * + * @param apdu - the APDU buffer, or NULL for length + * @param fdt_head - head of the BDT linked list + * @return length of the APDU buffer + */ +int bvlc_foreign_device_table_entry_encode( + uint8_t *apdu, const BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_entry) +{ + int len = 0; + int apdu_len = 0; + BACNET_OCTET_STRING octet_string = { 0 }; + + if (fdt_entry && fdt_entry->valid) { + /* bacnetip-address [0] OCTET STRING */ + len = bvlc_encode_address( + octetstring_value(&octet_string), + octetstring_capacity(&octet_string), &fdt_entry->dest_address); + octetstring_truncate(&octet_string, len); + len = encode_context_octet_string(apdu, 0, &octet_string); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* time-to-live [1] Unsigned16 */ + len = encode_context_unsigned(apdu, 1, fdt_entry->ttl_seconds); + apdu_len += len; + if (apdu) { + apdu += len; + } + /* remaining-time-to-live [2] Unsigned16 */ + len = + encode_context_unsigned(apdu, 2, fdt_entry->ttl_seconds_remaining); + apdu_len += len; + } + + return apdu_len; +} + +/** + * @brief Encode the Foreign_Device-Table for Network Port object + * + * BACnetLIST of BACnetFDTEntry + * + * @param apdu - the APDU buffer, or NULL for length + * @param fdt_head - head of the BDT linked list + * @return length of the APDU buffer + */ +int bvlc_foreign_device_table_list_encode( + uint8_t *apdu, const BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_head) +{ + int len = 0; + int apdu_len = 0; + const BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_entry; + + fdt_entry = fdt_head; + while (fdt_entry) { + if (fdt_entry->valid) { + len = bvlc_foreign_device_table_entry_encode(apdu, fdt_entry); + apdu_len += len; + if (apdu) { + apdu += len; + } + } + /* next entry */ + fdt_entry = fdt_entry->next; + } + + return apdu_len; +} + /** * @brief Encode the Foreign_Device-Table for Network Port object * @@ -1124,46 +1260,18 @@ int bvlc_decode_register_foreign_device( int bvlc_foreign_device_table_encode( uint8_t *apdu, uint16_t apdu_size, - BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_head) + const BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_head) { int len = 0; - int apdu_len = 0; - int entry_size = 0; - BACNET_OCTET_STRING octet_string = { 0 }; - BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_entry; - fdt_entry = fdt_head; - while (fdt_entry) { - if (fdt_entry->valid) { - /* bacnetip-address [0] OCTET STRING */ - len = bvlc_encode_address( - octetstring_value(&octet_string), - octetstring_capacity(&octet_string), &fdt_entry->dest_address); - octetstring_truncate(&octet_string, len); - len = - encode_context_octet_string(&apdu[apdu_len], 0, &octet_string); - apdu_len += len; - /* time-to-live [1] Unsigned16 */ - len = encode_context_unsigned( - &apdu[apdu_len], 1, fdt_entry->ttl_seconds); - apdu_len += len; - /* remaining-time-to-live [2] Unsigned16 */ - len = encode_context_unsigned( - &apdu[apdu_len], 2, fdt_entry->ttl_seconds_remaining); - apdu_len += len; - } - if (!entry_size) { - entry_size = apdu_len; - } - /* next entry */ - fdt_entry = fdt_entry->next; - if ((apdu_len + entry_size) > apdu_size) { - /* check for available space */ - break; - } + len = bvlc_foreign_device_table_list_encode(NULL, fdt_head); + if (len <= apdu_size) { + len = bvlc_foreign_device_table_list_encode(apdu, fdt_head); + } else { + len = BACNET_STATUS_ERROR; } - return apdu_len; + return len; } /** diff --git a/src/bacnet/datalink/bvlc.h b/src/bacnet/datalink/bvlc.h index 33c9cacb..edfc7333 100644 --- a/src/bacnet/datalink/bvlc.h +++ b/src/bacnet/datalink/bvlc.h @@ -321,11 +321,20 @@ int bvlc_broadcast_distribution_table_decode( BACNET_ERROR_CODE *error_code, BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_head); +BACNET_STACK_EXPORT +int bvlc_broadcast_distribution_table_entry_encode( + uint8_t *apdu, + const BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_entry); + +int bvlc_broadcast_distribution_table_list_encode( + uint8_t *apdu, + const BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_head); + BACNET_STACK_EXPORT int bvlc_broadcast_distribution_table_encode( uint8_t *apdu, uint16_t apdu_size, - BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_head); + const BACNET_IP_BROADCAST_DISTRIBUTION_TABLE_ENTRY *bdt_head); BACNET_STACK_EXPORT int bvlc_encode_write_broadcast_distribution_table( @@ -416,10 +425,16 @@ int bvlc_decode_foreign_device_table_entry( BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_entry); BACNET_STACK_EXPORT +int bvlc_foreign_device_table_entry_encode( + uint8_t *apdu, const BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_head); +BACNET_STACK_EXPORT +int bvlc_foreign_device_table_list_encode( + uint8_t *apdu, const BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_head); +BACNET_STACK_EXPORT int bvlc_foreign_device_table_encode( uint8_t *apdu, uint16_t apdu_size, - BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_head); + const BACNET_IP_FOREIGN_DEVICE_TABLE_ENTRY *fdt_head); BACNET_STACK_EXPORT int bvlc_encode_read_foreign_device_table(uint8_t *pdu, uint16_t pdu_size); diff --git a/src/bacnet/datalink/bvlc6.c b/src/bacnet/datalink/bvlc6.c index ce66ffc5..2303f995 100644 --- a/src/bacnet/datalink/bvlc6.c +++ b/src/bacnet/datalink/bvlc6.c @@ -520,6 +520,30 @@ bool bvlc6_address_different( return status; } +/** + * @brief Set the IPv6 address and port number + * @param addr - B/IPv6 address that be set + * @param address - B/IPv6 address bytes + * @param port - B/IPv6 address port + * @return true if the address is set + */ +bool bvlc6_address_n_port_set( + BACNET_IP6_ADDRESS *addr, uint8_t *address, uint16_t port) +{ + bool status = false; + unsigned i; + + if (addr) { + for (i = 0; i < IP6_ADDRESS_MAX; i += 2) { + addr->address[i] = address[i]; + } + addr->port = port; + status = true; + } + + return status; +} + /** Set a BVLC Address from 16-bit group chunks * * Data link layer addressing between B/IPv6 nodes consists of a 128-bit @@ -1402,7 +1426,6 @@ int bvlc6_decode_delete_foreign_device( if (pdu && (pdu_len >= length)) { if (vmac_src) { decode_unsigned24(&pdu[offset], vmac_src); - bytes_consumed = 3; } offset += 3; if (bip6_address) { @@ -1707,8 +1730,6 @@ int bvlc6_broadcast_distribution_table_list_encode( if (apdu) { apdu += len; } - } else { - len = 0; } /* next entry */ bdt_entry = bdt_entry->next; diff --git a/src/bacnet/datalink/bvlc6.h b/src/bacnet/datalink/bvlc6.h index 6ef65603..672105e0 100644 --- a/src/bacnet/datalink/bvlc6.h +++ b/src/bacnet/datalink/bvlc6.h @@ -181,6 +181,9 @@ int bvlc6_address_to_ascii( BACNET_STACK_EXPORT bool bvlc6_address_from_ascii(BACNET_IP6_ADDRESS *addr, const char *addrstr); +BACNET_STACK_EXPORT +bool bvlc6_address_n_port_set( + BACNET_IP6_ADDRESS *addr, uint8_t *addr16, uint16_t port); BACNET_STACK_EXPORT bool bvlc6_address_set( BACNET_IP6_ADDRESS *addr, diff --git a/test/Makefile b/test/Makefile index 03b942c0..d292c54e 100644 --- a/test/Makefile +++ b/test/Makefile @@ -81,6 +81,65 @@ env: @echo "CTEST_OPTIONS=$(CTEST_OPTIONS)" @echo "BUILD_DIR=$(BUILD_DIR)" +BSC_DATALINK_DIR := $(realpath ./bacnet/datalink/bsc-datalink) +.PHONY: bsc-datalink +bsc-datalink: + [ -d $(BUILD_DIR) ] || mkdir -p $(BUILD_DIR) + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake $(BSC_DATALINK_DIR) && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) --clean-first && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ./test_bsc-datalink && cd .. + +BSC_NODE_DIR := $(realpath ./bacnet/datalink/bsc-node) +.PHONY: bsc-node +bsc-node: + [ -d $(BUILD_DIR) ] || mkdir -p $(BUILD_DIR) + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake $(BSC_NODE_DIR) && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) --clean-first && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ./test_bsc-node && cd .. + +BSC_HUB_DIR := $(realpath ./bacnet/datalink/hub-sc) +.PHONY: bsc-hub +bsc-hub: + [ -d $(BUILD_DIR) ] || mkdir -p $(BUILD_DIR) + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake $(BSC_HUB_DIR) && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) --clean-first && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ./test_hub-sc && cd .. + +BSC_BVLC_DIR := $(realpath ./bacnet/datalink/bvlc-sc) +.PHONY: bsc-bvlc +bsc-bvlc: + [ -d $(BUILD_DIR) ] || mkdir -p $(BUILD_DIR) + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake $(BSC_BVLC_DIR) && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) --clean-first && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ./test_bvlc-sc && cd .. + +BSC_SOCKET_DIR := $(realpath ./bacnet/datalink/bsc-socket) +.PHONY: bsc-socket +bsc-socket: + [ -d $(BUILD_DIR) ] || mkdir -p $(BUILD_DIR) + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake $(BSC_SOCKET_DIR) && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) --clean-first && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ./test_bsc-socket && cd .. + +BSC_WEBSOCKET_DIR := $(realpath ./bacnet/datalink/websockets) +.PHONY: websockets +websockets: + [ -d $(BUILD_DIR) ] || mkdir -p $(BUILD_DIR) + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake $(BSC_WEBSOCKET_DIR) && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) --clean-first && cd .. + [ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ./test_websockets && cd .. + +.PHONY: libwebsockets +libwebsockets: + sudo apt-get update -qq + sudo apt-get install -qq libconfig-dev + sudo apt-get install -qq libcap-dev + sudo apt-get install -qq libssl-dev + sudo apt-get install -qq libuv1-dev + git clone --branch v4.3-stable https://github.com/warmcat/libwebsockets.git + bash -c 'cd libwebsockets;mkdir build;cd build;cmake .. -DLWS_WITH_LIBUV=ON -DLWS_WITH_MINIMAL_EXAMPLES=0 -DLWS_MAX_SMP=32;make' + sudo bash -c 'cd libwebsockets;cd build;make install' + .PHONY: clean clean: -rm -rf $(BUILD_DIR) diff --git a/test/bacnet/basic/object/device/CMakeLists.txt b/test/bacnet/basic/object/device/CMakeLists.txt index 7a725d27..18899101 100644 --- a/test/bacnet/basic/object/device/CMakeLists.txt +++ b/test/bacnet/basic/object/device/CMakeLists.txt @@ -90,6 +90,7 @@ add_executable(${PROJECT_NAME} ${SRC_DIR}/bacnet/basic/sys/linear.c ${SRC_DIR}/bacnet/basic/tsm/tsm.c ${SRC_DIR}/bacnet/datalink/bvlc.c + ${SRC_DIR}/bacnet/datalink/bvlc6.c ${SRC_DIR}/bacnet/cov.c ${SRC_DIR}/bacnet/datetime.c ${SRC_DIR}/bacnet/dcc.c diff --git a/test/bacnet/basic/object/netport/CMakeLists.txt b/test/bacnet/basic/object/netport/CMakeLists.txt index a6b04637..f65fcb40 100644 --- a/test/bacnet/basic/object/netport/CMakeLists.txt +++ b/test/bacnet/basic/object/netport/CMakeLists.txt @@ -28,7 +28,7 @@ set(ZTST_DIR "${TST_DIR}/ztest/src") add_compile_definitions( BIG_ENDIAN=0 CONFIG_ZTEST=1 - BACDL_BSC=1 + BACDL_ALL=1 BACNET_SECURE_CONNECT_ROUTING_TABLE=1 BSC_CONF_HUB_FUNCTIONS_NUM=1 BSC_CONF_HUB_CONNECTORS_NUM=1 @@ -89,6 +89,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ${SRC_DIR}/bacnet/basic/sys/days.c ${SRC_DIR}/bacnet/basic/sys/keylist.c ${SRC_DIR}/bacnet/datalink/bvlc.c + ${SRC_DIR}/bacnet/datalink/bvlc6.c ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c # Test and test library files ${TST_DIR}/bacnet/basic/object/test/device_mock.c @@ -140,6 +141,7 @@ elseif(APPLE) ${SRC_DIR}/bacnet/basic/sys/days.c ${SRC_DIR}/bacnet/basic/sys/keylist.c ${SRC_DIR}/bacnet/datalink/bvlc.c + ${SRC_DIR}/bacnet/datalink/bvlc6.c ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c # Test and test library files ${TST_DIR}/bacnet/basic/object/test/device_mock.c diff --git a/test/bacnet/basic/object/netport/src/main.c b/test/bacnet/basic/object/netport/src/main.c index 9c6f85a7..6759222a 100644 --- a/test/bacnet/basic/object/netport/src/main.c +++ b/test/bacnet/basic/object/netport/src/main.c @@ -32,6 +32,12 @@ static void test_network_port(void) unsigned port = 0; bool status = false; unsigned count = 0; + uint8_t address[16] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + }; + uint8_t test_address[16] = { 0 }; + uint8_t mac_len; + uint8_t ip_prefix; uint32_t object_instance = 0; uint8_t port_type[] = { PORT_TYPE_ETHERNET, PORT_TYPE_ARCNET, PORT_TYPE_MSTP, PORT_TYPE_PTP, @@ -61,6 +67,187 @@ static void test_network_port(void) zassert_true(status, NULL); count = Network_Port_Count(); zassert_true(count > 0, NULL); + status = Network_Port_Description_Set(object_instance, "Test Port"); + zassert_true(status, NULL); + status = Network_Port_Out_Of_Service_Set(object_instance, true); + zassert_true(status, NULL); + status = Network_Port_Out_Of_Service(object_instance); + zassert_true(status, NULL); + status = Network_Port_Out_Of_Service_Set(object_instance, false); + zassert_true(status, NULL); + status = Network_Port_Out_Of_Service(object_instance); + zassert_false(status, NULL); + status = Network_Port_Reliability_Set( + object_instance, RELIABILITY_NO_FAULT_DETECTED); + zassert_true(status, NULL); + status = Network_Port_Network_Number_Set(object_instance, 0); + zassert_true(status, NULL); + status = + Network_Port_Quality_Set(object_instance, PORT_QUALITY_UNKNOWN); + zassert_true(status, NULL); + status = Network_Port_MAC_Address_Set(object_instance, NULL, 0); + zassert_false(status, NULL); + mac_len = Network_Port_MAC_Address_Value(object_instance, NULL, 0); + if (mac_len > 0) { + /* test for ports that have a MAC address */ + zassert_not_equal(mac_len, 0, NULL); + status = + Network_Port_MAC_Address_Set(object_instance, address, mac_len); + zassert_true(status, NULL); + zassert_equal( + Network_Port_MAC_Address_Value( + object_instance, test_address, sizeof(test_address)), + mac_len, NULL); + zassert_mem_equal(test_address, address, mac_len, NULL); + } + status = Network_Port_APDU_Length_Set(object_instance, MAX_APDU); + zassert_true(status, NULL); + status = Network_Port_Link_Speed_Set(object_instance, 0); + zassert_true(status, NULL); + status = Network_Port_Changes_Pending_Set(object_instance, false); + zassert_true(status, NULL); + Network_Port_Changes_Pending_Activate_Callback_Set( + object_instance, NULL); + Network_Port_Changes_Pending_Discard(object_instance); + Network_Port_Changes_Pending_Discard_Callback_Set( + object_instance, NULL); + if (port_type[port] == PORT_TYPE_MSTP) { + status = Network_Port_MSTP_MAC_Address_Set(object_instance, 127); + zassert_true(status, NULL); + address[0] = Network_Port_MSTP_MAC_Address(object_instance); + zassert_equal(address[0], 127, NULL); + status = Network_Port_MSTP_Max_Info_Frames_Set(object_instance, 1); + zassert_true(status, NULL); + zassert_equal( + Network_Port_MSTP_Max_Info_Frames(object_instance), 1, NULL); + } + if (port_type[port] == PORT_TYPE_BIP) { + status = Network_Port_IP_Address_Set(object_instance, 1, 2, 3, 4); + zassert_true(status, NULL); + status = Network_Port_IP_Subnet_Prefix_Set(object_instance, 24); + zassert_true(status, NULL); + ip_prefix = Network_Port_IP_Subnet_Prefix(object_instance); + zassert_equal(ip_prefix, 24, NULL); + status = Network_Port_IP_Gateway_Set(object_instance, 5, 6, 7, 8); + zassert_true(status, NULL); + status = Network_Port_IP_DHCP_Enable_Set(object_instance, true); + zassert_true(status, NULL); + status = Network_Port_IP_DHCP_Enable(object_instance); + zassert_true(status, NULL); + status = Network_Port_IP_DNS_Server_Set( + object_instance, 0, 9, 10, 11, 12); + zassert_true(status, NULL); + status = Network_Port_BIP_Port_Set(object_instance, 47808); + zassert_true(status, NULL); + status = Network_Port_BIP_Mode_Set( + object_instance, BACNET_IP_MODE_NORMAL); + zassert_true(status, NULL); + zassert_equal( + Network_Port_BIP_Mode(object_instance), BACNET_IP_MODE_NORMAL, + NULL); + status = Network_Port_BBMD_Accept_FD_Registrations_Set( + object_instance, true); + zassert_true(status, NULL); + status = Network_Port_BBMD_BD_Table_Set(object_instance, NULL); + zassert_true(status, NULL); + zassert_is_null(Network_Port_BBMD_BD_Table(object_instance), NULL); + status = Network_Port_BBMD_FD_Table_Set(object_instance, NULL); + zassert_true(status, NULL); + zassert_is_null(Network_Port_BBMD_FD_Table(object_instance), NULL); + status = Network_Port_Remote_BBMD_IP_Address( + object_instance, NULL, NULL, NULL, NULL); + zassert_true(status, NULL); + status = Network_Port_Remote_BBMD_IP_Address_Set( + object_instance, 1, 2, 3, 4); + zassert_true(status, NULL); + status = + Network_Port_Remote_BBMD_BIP_Port_Set(object_instance, 47808); + zassert_true(status, NULL); + zassert_equal( + Network_Port_Remote_BBMD_BIP_Port(object_instance), 47808, + NULL); + status = + Network_Port_Remote_BBMD_BIP_Lifetime_Set(object_instance, 60); + zassert_true(status, NULL); + zassert_equal( + Network_Port_Remote_BBMD_BIP_Lifetime(object_instance), 60, + NULL); + } + if (port_type[port] == PORT_TYPE_BIP6) { + status = Network_Port_IPv6_Address_Set(object_instance, address); + zassert_true(status, NULL); + status = Network_Port_BBMD_IP6_Accept_FD_Registrations_Set( + object_instance, true); + zassert_true(status, NULL); + zassert_true( + Network_Port_BBMD_IP6_Accept_FD_Registrations(object_instance), + NULL); + status = Network_Port_BBMD_IP6_BD_Table_Set(object_instance, NULL); + zassert_true(status, NULL); + zassert_is_null( + Network_Port_BBMD_IP6_BD_Table(object_instance), NULL); + status = Network_Port_BBMD_IP6_FD_Table_Set(object_instance, NULL); + zassert_true(status, NULL); + zassert_is_null( + Network_Port_BBMD_IP6_FD_Table(object_instance), NULL); + status = + Network_Port_Remote_BBMD_IP6_Address(object_instance, address); + zassert_true(status, NULL); + status = Network_Port_Remote_BBMD_IP6_Address_Set( + object_instance, address); + zassert_true(status, NULL); + status = + Network_Port_Remote_BBMD_BIP6_Port_Set(object_instance, 47808); + zassert_true(status, NULL); + zassert_equal( + Network_Port_Remote_BBMD_BIP6_Port(object_instance), 47808, + NULL); + status = + Network_Port_Remote_BBMD_BIP6_Lifetime_Set(object_instance, 60); + zassert_true(status, NULL); + zassert_equal( + Network_Port_Remote_BBMD_BIP6_Lifetime(object_instance), 60, + NULL); + status = Network_Port_BIP6_Mode_Set( + object_instance, BACNET_IP_MODE_NORMAL); + zassert_true(status, NULL); + zassert_equal( + Network_Port_BIP6_Mode(object_instance), BACNET_IP_MODE_NORMAL, + NULL); + status = Network_Port_IPv6_Address_Set(object_instance, address); + zassert_true(status, NULL); + status = Network_Port_IPv6_Subnet_Prefix_Set(object_instance, 24); + zassert_true(status, NULL); + status = Network_Port_IPv6_Gateway_Set(object_instance, address); + zassert_true(status, NULL); + status = + Network_Port_IPv6_DNS_Server_Set(object_instance, 0, address); + zassert_true(status, NULL); + status = Network_Port_IPv6_Multicast_Address_Set( + object_instance, address); + zassert_true(status, NULL); + status = + Network_Port_IPv6_DHCP_Server_Set(object_instance, address); + zassert_true(status, NULL); + status = Network_Port_BIP6_Port_Set(object_instance, 47808); + zassert_true(status, NULL); + zassert_equal(Network_Port_BIP6_Port(object_instance), 47808, NULL); + status = Network_Port_IPv6_Gateway_Zone_Index_Set( + object_instance, "eth0"); + zassert_true(status, NULL); + zassert_equal( + strcmp( + Network_Port_IPv6_Zone_Index_ASCII(object_instance), + "eth0"), + 0, NULL); + status = Network_Port_IPv6_Auto_Addressing_Enable_Set( + object_instance, true); + zassert_true(status, NULL); + zassert_true( + Network_Port_IPv6_Auto_Addressing_Enable(object_instance), + NULL); + } + /* generic R/W property test */ bacnet_object_properties_read_write_test( OBJECT_NETWORK_PORT, object_instance, Network_Port_Property_Lists, Network_Port_Read_Property, Network_Port_Write_Property, @@ -69,6 +256,8 @@ static void test_network_port(void) object_instance, Network_Port_Name_Set, Network_Port_Object_Name_ASCII); port++; + Network_Port_Changes_Activate(); + Network_Port_Changes_Discard(); Network_Port_Cleanup(); } diff --git a/test/bacnet/datalink/bsc-datalink/CMakeLists.txt b/test/bacnet/datalink/bsc-datalink/CMakeLists.txt index 91105539..21bfc97a 100644 --- a/test/bacnet/datalink/bsc-datalink/CMakeLists.txt +++ b/test/bacnet/datalink/bsc-datalink/CMakeLists.txt @@ -66,59 +66,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ${PORTS_DIR}/linux/bsc-event.c ${PORTS_DIR}/linux/mstimer-init.c ${PORTS_DIR}/linux/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-datalink.c - ${SRC_DIR}/bacnet/basic/service/h_apdu.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} ) @@ -142,59 +90,7 @@ elseif(WIN32) ${PORTS_DIR}/win32/bsc-event.c ${PORTS_DIR}/win32/mstimer-init.c ${PORTS_DIR}/win32/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-datalink.c - ${SRC_DIR}/bacnet/basic/service/h_apdu.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) # basically if you use vcpkg you should just add ${LIBWEBSOCKETS_LIBRARIES} # into target_link_libraries() but for some reason it does not work as expected @@ -241,58 +137,6 @@ elseif(APPLE) ${PORTS_DIR}/bsd/bsc-event.c ${PORTS_DIR}/bsd/mstimer-init.c ${PORTS_DIR}/bsd/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-datalink.c - ${SRC_DIR}/bacnet/basic/service/h_apdu.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} @@ -301,3 +145,60 @@ elseif(APPLE) -Wno-language-extension-token ) endif() + +target_sources(${PROJECT_NAME} PRIVATE + ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c + ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-datalink.c + ${SRC_DIR}/bacnet/datalink/bvlc.c + ${SRC_DIR}/bacnet/datalink/bvlc6.c + ${SRC_DIR}/bacnet/basic/service/h_apdu.c + ${SRC_DIR}/bacnet/basic/object/bacfile.c + ${SRC_DIR}/bacnet/basic/object/netport.c + ${SRC_DIR}/bacnet/basic/object/sc_netport.c + ${SRC_DIR}/bacnet/basic/sys/bigend.c + ${SRC_DIR}/bacnet/basic/sys/days.c + ${SRC_DIR}/bacnet/basic/sys/debug.c + ${SRC_DIR}/bacnet/basic/sys/fifo.c + ${SRC_DIR}/bacnet/basic/sys/keylist.c + ${SRC_DIR}/bacnet/basic/sys/mstimer.c + ${SRC_DIR}/bacnet/access_rule.c + ${SRC_DIR}/bacnet/arf.c + ${SRC_DIR}/bacnet/bacaction.c + ${SRC_DIR}/bacnet/bacapp.c + ${SRC_DIR}/bacnet/bacaddr.c + ${SRC_DIR}/bacnet/bacdcode.c + ${SRC_DIR}/bacnet/bacdest.c + ${SRC_DIR}/bacnet/bacdevobjpropref.c + ${SRC_DIR}/bacnet/bacerror.c + ${SRC_DIR}/bacnet/bacint.c + ${SRC_DIR}/bacnet/bacreal.c + ${SRC_DIR}/bacnet/bacstr.c + ${SRC_DIR}/bacnet/bactext.c + ${SRC_DIR}/bacnet/bactimevalue.c + ${SRC_DIR}/bacnet/calendar_entry.c + ${SRC_DIR}/bacnet/dailyschedule.c + ${SRC_DIR}/bacnet/datetime.c + ${SRC_DIR}/bacnet/dcc.c + ${SRC_DIR}/bacnet/hostnport.c + ${SRC_DIR}/bacnet/indtext.c + ${SRC_DIR}/bacnet/lighting.c + ${SRC_DIR}/bacnet/npdu.c + ${SRC_DIR}/bacnet/proplist.c + ${SRC_DIR}/bacnet/special_event.c + ${SRC_DIR}/bacnet/channel_value.c + ${SRC_DIR}/bacnet/secure_connect.c + ${SRC_DIR}/bacnet/timestamp.c + ${SRC_DIR}/bacnet/weeklyschedule.c + ${SRC_DIR}/bacnet/wp.c + # Test and test library files + ./src/main.c + ${TST_DIR}/bacnet/basic/object/test/device_mock.c + ${ZTST_DIR}/ztest_mock.c + ${ZTST_DIR}/ztest.c +) diff --git a/test/bacnet/datalink/bsc-node/CMakeLists.txt b/test/bacnet/datalink/bsc-node/CMakeLists.txt index 236823eb..8e97a7cf 100644 --- a/test/bacnet/datalink/bsc-node/CMakeLists.txt +++ b/test/bacnet/datalink/bsc-node/CMakeLists.txt @@ -60,57 +60,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ${PORTS_DIR}/linux/bsc-event.c ${PORTS_DIR}/linux/mstimer-init.c ${PORTS_DIR}/linux/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} ) @@ -133,57 +83,7 @@ elseif(WIN32) ${PORTS_DIR}/win32/bsc-event.c ${PORTS_DIR}/win32/mstimer-init.c ${PORTS_DIR}/win32/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) # basically if you use vcpkg you should just add ${LIBWEBSOCKETS_LIBRARIES} # into target_link_libraries() but for some reason it does not work as expected @@ -230,57 +130,7 @@ elseif(APPLE) ${PORTS_DIR}/bsd/bsc-event.c ${PORTS_DIR}/bsd/mstimer-init.c ${PORTS_DIR}/bsd/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} ) @@ -288,3 +138,58 @@ elseif(APPLE) -Wno-language-extension-token ) endif() + +target_sources(${PROJECT_NAME} PRIVATE + ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c + ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c + ${SRC_DIR}/bacnet/datalink/bvlc.c + ${SRC_DIR}/bacnet/datalink/bvlc6.c + ${SRC_DIR}/bacnet/basic/object/bacfile.c + ${SRC_DIR}/bacnet/basic/object/netport.c + ${SRC_DIR}/bacnet/basic/object/sc_netport.c + ${SRC_DIR}/bacnet/basic/sys/bigend.c + ${SRC_DIR}/bacnet/basic/sys/days.c + ${SRC_DIR}/bacnet/basic/sys/debug.c + ${SRC_DIR}/bacnet/basic/sys/fifo.c + ${SRC_DIR}/bacnet/basic/sys/keylist.c + ${SRC_DIR}/bacnet/basic/sys/mstimer.c + ${SRC_DIR}/bacnet/access_rule.c + ${SRC_DIR}/bacnet/arf.c + ${SRC_DIR}/bacnet/bacaction.c + ${SRC_DIR}/bacnet/bacapp.c + ${SRC_DIR}/bacnet/bacaddr.c + ${SRC_DIR}/bacnet/bacdcode.c + ${SRC_DIR}/bacnet/bacdest.c + ${SRC_DIR}/bacnet/bacdevobjpropref.c + ${SRC_DIR}/bacnet/bacerror.c + ${SRC_DIR}/bacnet/bacint.c + ${SRC_DIR}/bacnet/bacreal.c + ${SRC_DIR}/bacnet/bacstr.c + ${SRC_DIR}/bacnet/bactext.c + ${SRC_DIR}/bacnet/bactimevalue.c + ${SRC_DIR}/bacnet/calendar_entry.c + ${SRC_DIR}/bacnet/dailyschedule.c + ${SRC_DIR}/bacnet/datetime.c + ${SRC_DIR}/bacnet/dcc.c + ${SRC_DIR}/bacnet/hostnport.c + ${SRC_DIR}/bacnet/indtext.c + ${SRC_DIR}/bacnet/lighting.c + ${SRC_DIR}/bacnet/npdu.c + ${SRC_DIR}/bacnet/proplist.c + ${SRC_DIR}/bacnet/special_event.c + ${SRC_DIR}/bacnet/channel_value.c + ${SRC_DIR}/bacnet/secure_connect.c + ${SRC_DIR}/bacnet/timestamp.c + ${SRC_DIR}/bacnet/weeklyschedule.c + ${SRC_DIR}/bacnet/wp.c + # Test and test library files + ./src/main.c + ${TST_DIR}/bacnet/basic/object/test/device_mock.c + ${ZTST_DIR}/ztest_mock.c + ${ZTST_DIR}/ztest.c +) diff --git a/test/bacnet/datalink/bsc-socket/CMakeLists.txt b/test/bacnet/datalink/bsc-socket/CMakeLists.txt index c4d38eb5..9d2d065b 100644 --- a/test/bacnet/datalink/bsc-socket/CMakeLists.txt +++ b/test/bacnet/datalink/bsc-socket/CMakeLists.txt @@ -57,53 +57,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ${PORTS_DIR}/linux/bsc-event.c ${PORTS_DIR}/linux/mstimer-init.c ${PORTS_DIR}/linux/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ./src/main.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} ) @@ -126,53 +80,7 @@ elseif(WIN32) ${PORTS_DIR}/win32/bsc-event.c ${PORTS_DIR}/win32/mstimer-init.c ${PORTS_DIR}/win32/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ./src/main.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) # basically if you use vcpkg you should just add ${LIBWEBSOCKETS_LIBRARIES} # into target_link_libraries() but for some reason it does not work as expected @@ -218,53 +126,7 @@ elseif(APPLE) ${PORTS_DIR}/bsd/bsc-event.c ${PORTS_DIR}/bsd/mstimer-init.c ${PORTS_DIR}/bsd/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/bigend.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/wp.c - # Test and test library files - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ./src/main.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} ) @@ -272,3 +134,60 @@ elseif(APPLE) -Wno-language-extension-token ) endif() + +target_sources(${PROJECT_NAME} PRIVATE + ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c + ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-datalink.c + ${SRC_DIR}/bacnet/datalink/bvlc.c + ${SRC_DIR}/bacnet/datalink/bvlc6.c + ${SRC_DIR}/bacnet/basic/service/h_apdu.c + ${SRC_DIR}/bacnet/basic/object/bacfile.c + ${SRC_DIR}/bacnet/basic/object/netport.c + ${SRC_DIR}/bacnet/basic/object/sc_netport.c + ${SRC_DIR}/bacnet/basic/sys/bigend.c + ${SRC_DIR}/bacnet/basic/sys/days.c + ${SRC_DIR}/bacnet/basic/sys/debug.c + ${SRC_DIR}/bacnet/basic/sys/fifo.c + ${SRC_DIR}/bacnet/basic/sys/keylist.c + ${SRC_DIR}/bacnet/basic/sys/mstimer.c + ${SRC_DIR}/bacnet/access_rule.c + ${SRC_DIR}/bacnet/arf.c + ${SRC_DIR}/bacnet/bacaction.c + ${SRC_DIR}/bacnet/bacapp.c + ${SRC_DIR}/bacnet/bacaddr.c + ${SRC_DIR}/bacnet/bacdcode.c + ${SRC_DIR}/bacnet/bacdest.c + ${SRC_DIR}/bacnet/bacdevobjpropref.c + ${SRC_DIR}/bacnet/bacerror.c + ${SRC_DIR}/bacnet/bacint.c + ${SRC_DIR}/bacnet/bacreal.c + ${SRC_DIR}/bacnet/bacstr.c + ${SRC_DIR}/bacnet/bactext.c + ${SRC_DIR}/bacnet/bactimevalue.c + ${SRC_DIR}/bacnet/calendar_entry.c + ${SRC_DIR}/bacnet/dailyschedule.c + ${SRC_DIR}/bacnet/datetime.c + ${SRC_DIR}/bacnet/dcc.c + ${SRC_DIR}/bacnet/hostnport.c + ${SRC_DIR}/bacnet/indtext.c + ${SRC_DIR}/bacnet/lighting.c + ${SRC_DIR}/bacnet/npdu.c + ${SRC_DIR}/bacnet/proplist.c + ${SRC_DIR}/bacnet/special_event.c + ${SRC_DIR}/bacnet/channel_value.c + ${SRC_DIR}/bacnet/secure_connect.c + ${SRC_DIR}/bacnet/timestamp.c + ${SRC_DIR}/bacnet/weeklyschedule.c + ${SRC_DIR}/bacnet/wp.c + # Test and test library files + ./src/main.c + ${TST_DIR}/bacnet/basic/object/test/device_mock.c + ${ZTST_DIR}/ztest_mock.c + ${ZTST_DIR}/ztest.c +) diff --git a/test/bacnet/datalink/hub-sc/CMakeLists.txt b/test/bacnet/datalink/hub-sc/CMakeLists.txt index f9344ae8..f8ea4956 100644 --- a/test/bacnet/datalink/hub-sc/CMakeLists.txt +++ b/test/bacnet/datalink/hub-sc/CMakeLists.txt @@ -59,56 +59,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ${PORTS_DIR}/linux/bsc-event.c ${PORTS_DIR}/linux/mstimer-init.c ${PORTS_DIR}/linux/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/wp.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} ) @@ -132,56 +83,7 @@ elseif(WIN32) ${PORTS_DIR}/win32/bsc-event.c ${PORTS_DIR}/win32/mstimer-init.c ${PORTS_DIR}/win32/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/wp.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) # basically if you use vcpkg you should just add ${LIBWEBSOCKETS_LIBRARIES} # into target_link_libraries() but for some reason it does not work as expected @@ -229,56 +131,7 @@ elseif(APPLE) ${PORTS_DIR}/bsd/bsc-event.c ${PORTS_DIR}/bsd/mstimer-init.c ${PORTS_DIR}/bsd/datetime-init.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c - ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c - ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c - ${SRC_DIR}/bacnet/basic/object/bacfile.c - ${SRC_DIR}/bacnet/basic/object/netport.c - ${SRC_DIR}/bacnet/basic/object/sc_netport.c - ${SRC_DIR}/bacnet/basic/sys/days.c - ${SRC_DIR}/bacnet/basic/sys/debug.c - ${SRC_DIR}/bacnet/basic/sys/fifo.c - ${SRC_DIR}/bacnet/basic/sys/keylist.c - ${SRC_DIR}/bacnet/basic/sys/mstimer.c - ${SRC_DIR}/bacnet/access_rule.c - ${SRC_DIR}/bacnet/arf.c - ${SRC_DIR}/bacnet/bacaction.c - ${SRC_DIR}/bacnet/bacapp.c - ${SRC_DIR}/bacnet/bacaddr.c - ${SRC_DIR}/bacnet/bacdcode.c - ${SRC_DIR}/bacnet/bacdest.c - ${SRC_DIR}/bacnet/bacdevobjpropref.c - ${SRC_DIR}/bacnet/bacerror.c - ${SRC_DIR}/bacnet/bacint.c - ${SRC_DIR}/bacnet/bacreal.c - ${SRC_DIR}/bacnet/bacstr.c - ${SRC_DIR}/bacnet/bactext.c - ${SRC_DIR}/bacnet/datetime.c - ${SRC_DIR}/bacnet/bactimevalue.c - ${SRC_DIR}/bacnet/calendar_entry.c - ${SRC_DIR}/bacnet/weeklyschedule.c - ${SRC_DIR}/bacnet/dailyschedule.c - ${SRC_DIR}/bacnet/dcc.c - ${SRC_DIR}/bacnet/indtext.c - ${SRC_DIR}/bacnet/hostnport.c - ${SRC_DIR}/bacnet/lighting.c - ${SRC_DIR}/bacnet/npdu.c - ${SRC_DIR}/bacnet/proplist.c - ${SRC_DIR}/bacnet/timestamp.c - ${SRC_DIR}/bacnet/wp.c - ${SRC_DIR}/bacnet/secure_connect.c - ${SRC_DIR}/bacnet/special_event.c - ${SRC_DIR}/bacnet/channel_value.c - # Test and test library files - ./src/main.c - ${TST_DIR}/bacnet/basic/object/test/device_mock.c - ${ZTST_DIR}/ztest_mock.c - ${ZTST_DIR}/ztest.c - ) + ) target_link_libraries(${PROJECT_NAME} ${LIBWEBSOCKETS_LIBRARIES} ) @@ -286,3 +139,60 @@ elseif(APPLE) -Wno-language-extension-token ) endif() + +target_sources(${PROJECT_NAME} PRIVATE + ${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c + ${SRC_DIR}/bacnet/datalink/bsc/bvlc-sc.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-socket.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-connector.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-hub-function.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node-switch.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-node.c + ${SRC_DIR}/bacnet/datalink/bsc/bsc-datalink.c + ${SRC_DIR}/bacnet/datalink/bvlc.c + ${SRC_DIR}/bacnet/datalink/bvlc6.c + ${SRC_DIR}/bacnet/basic/service/h_apdu.c + ${SRC_DIR}/bacnet/basic/object/bacfile.c + ${SRC_DIR}/bacnet/basic/object/netport.c + ${SRC_DIR}/bacnet/basic/object/sc_netport.c + ${SRC_DIR}/bacnet/basic/sys/bigend.c + ${SRC_DIR}/bacnet/basic/sys/days.c + ${SRC_DIR}/bacnet/basic/sys/debug.c + ${SRC_DIR}/bacnet/basic/sys/fifo.c + ${SRC_DIR}/bacnet/basic/sys/keylist.c + ${SRC_DIR}/bacnet/basic/sys/mstimer.c + ${SRC_DIR}/bacnet/access_rule.c + ${SRC_DIR}/bacnet/arf.c + ${SRC_DIR}/bacnet/bacaction.c + ${SRC_DIR}/bacnet/bacapp.c + ${SRC_DIR}/bacnet/bacaddr.c + ${SRC_DIR}/bacnet/bacdcode.c + ${SRC_DIR}/bacnet/bacdest.c + ${SRC_DIR}/bacnet/bacdevobjpropref.c + ${SRC_DIR}/bacnet/bacerror.c + ${SRC_DIR}/bacnet/bacint.c + ${SRC_DIR}/bacnet/bacreal.c + ${SRC_DIR}/bacnet/bacstr.c + ${SRC_DIR}/bacnet/bactext.c + ${SRC_DIR}/bacnet/bactimevalue.c + ${SRC_DIR}/bacnet/calendar_entry.c + ${SRC_DIR}/bacnet/dailyschedule.c + ${SRC_DIR}/bacnet/datetime.c + ${SRC_DIR}/bacnet/dcc.c + ${SRC_DIR}/bacnet/hostnport.c + ${SRC_DIR}/bacnet/indtext.c + ${SRC_DIR}/bacnet/lighting.c + ${SRC_DIR}/bacnet/npdu.c + ${SRC_DIR}/bacnet/proplist.c + ${SRC_DIR}/bacnet/special_event.c + ${SRC_DIR}/bacnet/channel_value.c + ${SRC_DIR}/bacnet/secure_connect.c + ${SRC_DIR}/bacnet/timestamp.c + ${SRC_DIR}/bacnet/weeklyschedule.c + ${SRC_DIR}/bacnet/wp.c + # Test and test library files + ./src/main.c + ${TST_DIR}/bacnet/basic/object/test/device_mock.c + ${ZTST_DIR}/ztest_mock.c + ${ZTST_DIR}/ztest.c +) diff --git a/test/bacnet/datalink/hub-sc/src/main.c b/test/bacnet/datalink/hub-sc/src/main.c index 5ad225d9..4e6f543d 100644 --- a/test/bacnet/datalink/hub-sc/src/main.c +++ b/test/bacnet/datalink/hub-sc/src/main.c @@ -23,6 +23,7 @@ #include unsigned char ca_key[] = { + /* certificate authority key for testing */ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x45, @@ -165,1152 +166,113 @@ unsigned char ca_key[] = { 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a }; -unsigned char ca_cert[] = { 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x42, - 0x45, - 0x47, - 0x49, - 0x4e, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, - 0x4d, - 0x49, - 0x49, - 0x44, - 0x48, - 0x44, - 0x43, - 0x43, - 0x41, - 0x67, - 0x51, - 0x43, - 0x43, - 0x51, - 0x44, - 0x43, - 0x44, - 0x35, - 0x33, - 0x59, - 0x5a, - 0x4a, - 0x4a, - 0x37, - 0x6c, - 0x6a, - 0x41, - 0x4e, - 0x42, - 0x67, - 0x6b, - 0x71, - 0x68, - 0x6b, - 0x69, - 0x47, - 0x39, - 0x77, - 0x30, - 0x42, - 0x41, - 0x51, - 0x73, - 0x46, - 0x41, - 0x44, - 0x42, - 0x50, - 0x4d, - 0x52, - 0x73, - 0x77, - 0x47, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x4b, - 0x45, - 0x78, - 0x4a, - 0x73, - 0x0a, - 0x61, - 0x57, - 0x4a, - 0x33, - 0x5a, - 0x57, - 0x4a, - 0x7a, - 0x62, - 0x32, - 0x4e, - 0x72, - 0x5a, - 0x58, - 0x52, - 0x7a, - 0x4c, - 0x58, - 0x52, - 0x6c, - 0x63, - 0x33, - 0x51, - 0x78, - 0x45, - 0x6a, - 0x41, - 0x51, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x63, - 0x54, - 0x43, - 0x56, - 0x68, - 0x70, - 0x59, - 0x57, - 0x39, - 0x69, - 0x61, - 0x58, - 0x52, - 0x68, - 0x62, - 0x6a, - 0x45, - 0x50, - 0x4d, - 0x41, - 0x30, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x43, - 0x42, - 0x4d, - 0x47, - 0x0a, - 0x56, - 0x47, - 0x46, - 0x70, - 0x63, - 0x47, - 0x56, - 0x70, - 0x4d, - 0x51, - 0x73, - 0x77, - 0x43, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x47, - 0x45, - 0x77, - 0x4a, - 0x55, - 0x56, - 0x7a, - 0x41, - 0x67, - 0x46, - 0x77, - 0x30, - 0x79, - 0x4d, - 0x6a, - 0x41, - 0x33, - 0x4d, - 0x44, - 0x59, - 0x78, - 0x4d, - 0x54, - 0x49, - 0x30, - 0x4d, - 0x6a, - 0x42, - 0x61, - 0x47, - 0x41, - 0x38, - 0x79, - 0x4d, - 0x44, - 0x55, - 0x77, - 0x4d, - 0x44, - 0x63, - 0x78, - 0x4f, - 0x54, - 0x45, - 0x78, - 0x0a, - 0x4d, - 0x6a, - 0x51, - 0x79, - 0x4d, - 0x46, - 0x6f, - 0x77, - 0x54, - 0x7a, - 0x45, - 0x62, - 0x4d, - 0x42, - 0x6b, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x43, - 0x68, - 0x4d, - 0x53, - 0x62, - 0x47, - 0x6c, - 0x69, - 0x64, - 0x32, - 0x56, - 0x69, - 0x63, - 0x32, - 0x39, - 0x6a, - 0x61, - 0x32, - 0x56, - 0x30, - 0x63, - 0x79, - 0x31, - 0x30, - 0x5a, - 0x58, - 0x4e, - 0x30, - 0x4d, - 0x52, - 0x49, - 0x77, - 0x45, - 0x41, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x48, - 0x45, - 0x77, - 0x6c, - 0x59, - 0x0a, - 0x61, - 0x57, - 0x46, - 0x76, - 0x59, - 0x6d, - 0x6c, - 0x30, - 0x59, - 0x57, - 0x34, - 0x78, - 0x44, - 0x7a, - 0x41, - 0x4e, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x67, - 0x54, - 0x42, - 0x6c, - 0x52, - 0x68, - 0x61, - 0x58, - 0x42, - 0x6c, - 0x61, - 0x54, - 0x45, - 0x4c, - 0x4d, - 0x41, - 0x6b, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x42, - 0x68, - 0x4d, - 0x43, - 0x56, - 0x46, - 0x63, - 0x77, - 0x67, - 0x67, - 0x45, - 0x69, - 0x4d, - 0x41, - 0x30, - 0x47, - 0x43, - 0x53, - 0x71, - 0x47, - 0x0a, - 0x53, - 0x49, - 0x62, - 0x33, - 0x44, - 0x51, - 0x45, - 0x42, - 0x41, - 0x51, - 0x55, - 0x41, - 0x41, - 0x34, - 0x49, - 0x42, - 0x44, - 0x77, - 0x41, - 0x77, - 0x67, - 0x67, - 0x45, - 0x4b, - 0x41, - 0x6f, - 0x49, - 0x42, - 0x41, - 0x51, - 0x44, - 0x56, - 0x2f, - 0x4f, - 0x7a, - 0x35, - 0x56, - 0x73, - 0x58, - 0x33, - 0x56, - 0x34, - 0x52, - 0x38, - 0x76, - 0x61, - 0x41, - 0x4e, - 0x79, - 0x50, - 0x49, - 0x4d, - 0x61, - 0x46, - 0x73, - 0x79, - 0x67, - 0x4d, - 0x65, - 0x57, - 0x70, - 0x4b, - 0x61, - 0x6e, - 0x0a, - 0x48, - 0x4d, - 0x54, - 0x34, - 0x6b, - 0x66, - 0x69, - 0x67, - 0x55, - 0x59, - 0x55, - 0x48, - 0x55, - 0x59, - 0x65, - 0x4c, - 0x6b, - 0x62, - 0x50, - 0x65, - 0x77, - 0x5a, - 0x41, - 0x79, - 0x63, - 0x43, - 0x66, - 0x59, - 0x73, - 0x43, - 0x64, - 0x42, - 0x4a, - 0x6d, - 0x73, - 0x58, - 0x43, - 0x58, - 0x43, - 0x73, - 0x66, - 0x69, - 0x45, - 0x4c, - 0x70, - 0x75, - 0x59, - 0x6e, - 0x65, - 0x70, - 0x52, - 0x65, - 0x74, - 0x72, - 0x5a, - 0x32, - 0x39, - 0x77, - 0x54, - 0x6a, - 0x2f, - 0x62, - 0x2b, - 0x6d, - 0x0a, - 0x32, - 0x54, - 0x6a, - 0x55, - 0x62, - 0x32, - 0x47, - 0x34, - 0x51, - 0x36, - 0x37, - 0x43, - 0x4b, - 0x53, - 0x48, - 0x4e, - 0x6c, - 0x68, - 0x36, - 0x43, - 0x51, - 0x71, - 0x46, - 0x76, - 0x45, - 0x57, - 0x6e, - 0x42, - 0x58, - 0x2b, - 0x38, - 0x66, - 0x59, - 0x65, - 0x68, - 0x51, - 0x54, - 0x33, - 0x51, - 0x77, - 0x4a, - 0x58, - 0x4e, - 0x39, - 0x68, - 0x56, - 0x42, - 0x75, - 0x50, - 0x78, - 0x44, - 0x2b, - 0x78, - 0x41, - 0x2b, - 0x62, - 0x49, - 0x36, - 0x5a, - 0x32, - 0x38, - 0x57, - 0x30, - 0x6b, - 0x0a, - 0x41, - 0x30, - 0x5a, - 0x4c, - 0x39, - 0x46, - 0x66, - 0x57, - 0x43, - 0x54, - 0x36, - 0x66, - 0x4f, - 0x44, - 0x78, - 0x4d, - 0x37, - 0x65, - 0x67, - 0x6b, - 0x53, - 0x53, - 0x6d, - 0x4b, - 0x65, - 0x44, - 0x67, - 0x54, - 0x55, - 0x73, - 0x6e, - 0x35, - 0x77, - 0x64, - 0x38, - 0x52, - 0x38, - 0x6b, - 0x51, - 0x68, - 0x6b, - 0x34, - 0x79, - 0x49, - 0x32, - 0x4b, - 0x50, - 0x55, - 0x79, - 0x73, - 0x2b, - 0x6e, - 0x59, - 0x78, - 0x7a, - 0x6f, - 0x77, - 0x6a, - 0x4e, - 0x4f, - 0x69, - 0x38, - 0x75, - 0x68, - 0x0a, - 0x44, - 0x58, - 0x7a, - 0x72, - 0x2b, - 0x46, - 0x78, - 0x67, - 0x2f, - 0x70, - 0x73, - 0x36, - 0x38, - 0x56, - 0x69, - 0x5a, - 0x6a, - 0x47, - 0x46, - 0x67, - 0x58, - 0x53, - 0x46, - 0x48, - 0x77, - 0x35, - 0x5a, - 0x49, - 0x76, - 0x52, - 0x51, - 0x54, - 0x47, - 0x49, - 0x32, - 0x68, - 0x30, - 0x54, - 0x39, - 0x71, - 0x6d, - 0x48, - 0x50, - 0x30, - 0x42, - 0x56, - 0x46, - 0x79, - 0x62, - 0x4a, - 0x75, - 0x39, - 0x73, - 0x36, - 0x58, - 0x44, - 0x59, - 0x75, - 0x6f, - 0x4d, - 0x38, - 0x45, - 0x4a, - 0x73, - 0x0a, - 0x57, - 0x53, - 0x73, - 0x2b, - 0x34, - 0x76, - 0x4f, - 0x61, - 0x63, - 0x61, - 0x54, - 0x45, - 0x56, - 0x59, - 0x41, - 0x51, - 0x46, - 0x35, - 0x48, - 0x78, - 0x41, - 0x4c, - 0x66, - 0x43, - 0x74, - 0x61, - 0x4f, - 0x65, - 0x50, - 0x6a, - 0x53, - 0x70, - 0x2b, - 0x66, - 0x66, - 0x45, - 0x2b, - 0x55, - 0x30, - 0x43, - 0x78, - 0x59, - 0x46, - 0x33, - 0x4e, - 0x48, - 0x39, - 0x33, - 0x59, - 0x4b, - 0x5a, - 0x78, - 0x41, - 0x67, - 0x4d, - 0x42, - 0x41, - 0x41, - 0x45, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x0a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x45, - 0x4c, - 0x42, - 0x51, - 0x41, - 0x44, - 0x67, - 0x67, - 0x45, - 0x42, - 0x41, - 0x49, - 0x6d, - 0x4a, - 0x76, - 0x71, - 0x6e, - 0x70, - 0x50, - 0x64, - 0x53, - 0x75, - 0x46, - 0x4f, - 0x5a, - 0x54, - 0x36, - 0x76, - 0x74, - 0x48, - 0x31, - 0x70, - 0x4a, - 0x43, - 0x45, - 0x76, - 0x4a, - 0x39, - 0x62, - 0x53, - 0x78, - 0x31, - 0x43, - 0x41, - 0x76, - 0x36, - 0x46, - 0x34, - 0x46, - 0x44, - 0x6f, - 0x77, - 0x4b, - 0x77, - 0x0a, - 0x43, - 0x71, - 0x4b, - 0x53, - 0x6c, - 0x59, - 0x45, - 0x6a, - 0x72, - 0x49, - 0x4c, - 0x64, - 0x6c, - 0x42, - 0x30, - 0x39, - 0x32, - 0x31, - 0x4f, - 0x54, - 0x30, - 0x76, - 0x61, - 0x68, - 0x33, - 0x6c, - 0x55, - 0x76, - 0x2f, - 0x6b, - 0x47, - 0x4e, - 0x4c, - 0x76, - 0x58, - 0x55, - 0x71, - 0x54, - 0x69, - 0x42, - 0x61, - 0x6b, - 0x77, - 0x66, - 0x52, - 0x47, - 0x30, - 0x39, - 0x61, - 0x49, - 0x45, - 0x6e, - 0x53, - 0x68, - 0x6d, - 0x79, - 0x6f, - 0x30, - 0x68, - 0x63, - 0x65, - 0x4f, - 0x68, - 0x33, - 0x0a, - 0x4f, - 0x31, - 0x4b, - 0x4b, - 0x59, - 0x76, - 0x4a, - 0x32, - 0x6a, - 0x4a, - 0x47, - 0x6b, - 0x36, - 0x50, - 0x6c, - 0x52, - 0x78, - 0x65, - 0x53, - 0x67, - 0x37, - 0x64, - 0x35, - 0x4d, - 0x69, - 0x37, - 0x58, - 0x67, - 0x6e, - 0x41, - 0x64, - 0x65, - 0x61, - 0x78, - 0x77, - 0x68, - 0x75, - 0x76, - 0x5a, - 0x5a, - 0x6d, - 0x61, - 0x49, - 0x7a, - 0x62, - 0x68, - 0x41, - 0x57, - 0x50, - 0x38, - 0x71, - 0x67, - 0x49, - 0x30, - 0x36, - 0x50, - 0x32, - 0x52, - 0x42, - 0x53, - 0x35, - 0x42, - 0x4a, - 0x76, - 0x0a, - 0x72, - 0x44, - 0x44, - 0x33, - 0x44, - 0x68, - 0x77, - 0x38, - 0x4e, - 0x38, - 0x47, - 0x77, - 0x42, - 0x44, - 0x31, - 0x52, - 0x59, - 0x32, - 0x79, - 0x4b, - 0x72, - 0x79, - 0x46, - 0x51, - 0x2b, - 0x34, - 0x55, - 0x32, - 0x31, - 0x45, - 0x72, - 0x73, - 0x77, - 0x2f, - 0x33, - 0x38, - 0x63, - 0x59, - 0x38, - 0x55, - 0x41, - 0x46, - 0x54, - 0x6b, - 0x67, - 0x33, - 0x72, - 0x57, - 0x72, - 0x34, - 0x44, - 0x57, - 0x78, - 0x36, - 0x74, - 0x6e, - 0x49, - 0x66, - 0x64, - 0x72, - 0x4e, - 0x31, - 0x49, - 0x49, - 0x0a, - 0x70, - 0x52, - 0x71, - 0x53, - 0x78, - 0x48, - 0x51, - 0x57, - 0x34, - 0x6b, - 0x5a, - 0x61, - 0x67, - 0x31, - 0x75, - 0x5a, - 0x64, - 0x46, - 0x63, - 0x53, - 0x69, - 0x61, - 0x59, - 0x54, - 0x2b, - 0x65, - 0x62, - 0x4c, - 0x57, - 0x56, - 0x58, - 0x41, - 0x7a, - 0x62, - 0x66, - 0x4a, - 0x4c, - 0x4f, - 0x56, - 0x38, - 0x45, - 0x46, - 0x46, - 0x33, - 0x52, - 0x44, - 0x43, - 0x2f, - 0x41, - 0x33, - 0x55, - 0x33, - 0x56, - 0x63, - 0x4f, - 0x52, - 0x44, - 0x42, - 0x44, - 0x57, - 0x44, - 0x68, - 0x6d, - 0x68, - 0x0a, - 0x38, - 0x72, - 0x34, - 0x54, - 0x2b, - 0x36, - 0x46, - 0x67, - 0x67, - 0x59, - 0x4c, - 0x32, - 0x65, - 0x6a, - 0x4d, - 0x6d, - 0x66, - 0x77, - 0x62, - 0x65, - 0x77, - 0x7a, - 0x49, - 0x2b, - 0x48, - 0x6d, - 0x34, - 0x53, - 0x69, - 0x64, - 0x67, - 0x4f, - 0x78, - 0x4c, - 0x66, - 0x31, - 0x46, - 0x78, - 0x31, - 0x64, - 0x32, - 0x76, - 0x34, - 0x3d, - 0x0a, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x45, - 0x4e, - 0x44, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a +/* clang-format off */ +unsigned char ca_cert[] = { + /* certificate authority certificate for testing */ + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, + 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x44, 0x48, 0x44, 0x43, 0x43, + 0x41, 0x67, 0x51, 0x43, 0x43, 0x51, 0x44, 0x43, 0x44, 0x35, 0x33, 0x59, + 0x5a, 0x4a, 0x4a, 0x37, 0x6c, 0x6a, 0x41, 0x4e, 0x42, 0x67, 0x6b, 0x71, + 0x68, 0x6b, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x73, 0x46, + 0x41, 0x44, 0x42, 0x50, 0x4d, 0x52, 0x73, 0x77, 0x47, 0x51, 0x59, 0x44, + 0x56, 0x51, 0x51, 0x4b, 0x45, 0x78, 0x4a, 0x73, 0x0a, 0x61, 0x57, 0x4a, + 0x33, 0x5a, 0x57, 0x4a, 0x7a, 0x62, 0x32, 0x4e, 0x72, 0x5a, 0x58, 0x52, + 0x7a, 0x4c, 0x58, 0x52, 0x6c, 0x63, 0x33, 0x51, 0x78, 0x45, 0x6a, 0x41, + 0x51, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x63, 0x54, 0x43, 0x56, 0x68, + 0x70, 0x59, 0x57, 0x39, 0x69, 0x61, 0x58, 0x52, 0x68, 0x62, 0x6a, 0x45, + 0x50, 0x4d, 0x41, 0x30, 0x47, 0x41, 0x31, 0x55, 0x45, 0x43, 0x42, 0x4d, + 0x47, 0x0a, 0x56, 0x47, 0x46, 0x70, 0x63, 0x47, 0x56, 0x70, 0x4d, 0x51, + 0x73, 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x47, 0x45, 0x77, + 0x4a, 0x55, 0x56, 0x7a, 0x41, 0x67, 0x46, 0x77, 0x30, 0x79, 0x4d, 0x6a, + 0x41, 0x33, 0x4d, 0x44, 0x59, 0x78, 0x4d, 0x54, 0x49, 0x30, 0x4d, 0x6a, + 0x42, 0x61, 0x47, 0x41, 0x38, 0x79, 0x4d, 0x44, 0x55, 0x77, 0x4d, 0x44, + 0x63, 0x78, 0x4f, 0x54, 0x45, 0x78, 0x0a, 0x4d, 0x6a, 0x51, 0x79, 0x4d, + 0x46, 0x6f, 0x77, 0x54, 0x7a, 0x45, 0x62, 0x4d, 0x42, 0x6b, 0x47, 0x41, + 0x31, 0x55, 0x45, 0x43, 0x68, 0x4d, 0x53, 0x62, 0x47, 0x6c, 0x69, 0x64, + 0x32, 0x56, 0x69, 0x63, 0x32, 0x39, 0x6a, 0x61, 0x32, 0x56, 0x30, 0x63, + 0x79, 0x31, 0x30, 0x5a, 0x58, 0x4e, 0x30, 0x4d, 0x52, 0x49, 0x77, 0x45, + 0x41, 0x59, 0x44, 0x56, 0x51, 0x51, 0x48, 0x45, 0x77, 0x6c, 0x59, 0x0a, + 0x61, 0x57, 0x46, 0x76, 0x59, 0x6d, 0x6c, 0x30, 0x59, 0x57, 0x34, 0x78, + 0x44, 0x7a, 0x41, 0x4e, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x67, 0x54, + 0x42, 0x6c, 0x52, 0x68, 0x61, 0x58, 0x42, 0x6c, 0x61, 0x54, 0x45, 0x4c, + 0x4d, 0x41, 0x6b, 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x68, 0x4d, 0x43, + 0x56, 0x46, 0x63, 0x77, 0x67, 0x67, 0x45, 0x69, 0x4d, 0x41, 0x30, 0x47, + 0x43, 0x53, 0x71, 0x47, 0x0a, 0x53, 0x49, 0x62, 0x33, 0x44, 0x51, 0x45, + 0x42, 0x41, 0x51, 0x55, 0x41, 0x41, 0x34, 0x49, 0x42, 0x44, 0x77, 0x41, + 0x77, 0x67, 0x67, 0x45, 0x4b, 0x41, 0x6f, 0x49, 0x42, 0x41, 0x51, 0x44, + 0x56, 0x2f, 0x4f, 0x7a, 0x35, 0x56, 0x73, 0x58, 0x33, 0x56, 0x34, 0x52, + 0x38, 0x76, 0x61, 0x41, 0x4e, 0x79, 0x50, 0x49, 0x4d, 0x61, 0x46, 0x73, + 0x79, 0x67, 0x4d, 0x65, 0x57, 0x70, 0x4b, 0x61, 0x6e, 0x0a, 0x48, 0x4d, + 0x54, 0x34, 0x6b, 0x66, 0x69, 0x67, 0x55, 0x59, 0x55, 0x48, 0x55, 0x59, + 0x65, 0x4c, 0x6b, 0x62, 0x50, 0x65, 0x77, 0x5a, 0x41, 0x79, 0x63, 0x43, + 0x66, 0x59, 0x73, 0x43, 0x64, 0x42, 0x4a, 0x6d, 0x73, 0x58, 0x43, 0x58, + 0x43, 0x73, 0x66, 0x69, 0x45, 0x4c, 0x70, 0x75, 0x59, 0x6e, 0x65, 0x70, + 0x52, 0x65, 0x74, 0x72, 0x5a, 0x32, 0x39, 0x77, 0x54, 0x6a, 0x2f, 0x62, + 0x2b, 0x6d, 0x0a, 0x32, 0x54, 0x6a, 0x55, 0x62, 0x32, 0x47, 0x34, 0x51, + 0x36, 0x37, 0x43, 0x4b, 0x53, 0x48, 0x4e, 0x6c, 0x68, 0x36, 0x43, 0x51, + 0x71, 0x46, 0x76, 0x45, 0x57, 0x6e, 0x42, 0x58, 0x2b, 0x38, 0x66, 0x59, + 0x65, 0x68, 0x51, 0x54, 0x33, 0x51, 0x77, 0x4a, 0x58, 0x4e, 0x39, 0x68, + 0x56, 0x42, 0x75, 0x50, 0x78, 0x44, 0x2b, 0x78, 0x41, 0x2b, 0x62, 0x49, + 0x36, 0x5a, 0x32, 0x38, 0x57, 0x30, 0x6b, 0x0a, 0x41, 0x30, 0x5a, 0x4c, + 0x39, 0x46, 0x66, 0x57, 0x43, 0x54, 0x36, 0x66, 0x4f, 0x44, 0x78, 0x4d, + 0x37, 0x65, 0x67, 0x6b, 0x53, 0x53, 0x6d, 0x4b, 0x65, 0x44, 0x67, 0x54, + 0x55, 0x73, 0x6e, 0x35, 0x77, 0x64, 0x38, 0x52, 0x38, 0x6b, 0x51, 0x68, + 0x6b, 0x34, 0x79, 0x49, 0x32, 0x4b, 0x50, 0x55, 0x79, 0x73, 0x2b, 0x6e, + 0x59, 0x78, 0x7a, 0x6f, 0x77, 0x6a, 0x4e, 0x4f, 0x69, 0x38, 0x75, 0x68, + 0x0a, 0x44, 0x58, 0x7a, 0x72, 0x2b, 0x46, 0x78, 0x67, 0x2f, 0x70, 0x73, + 0x36, 0x38, 0x56, 0x69, 0x5a, 0x6a, 0x47, 0x46, 0x67, 0x58, 0x53, 0x46, + 0x48, 0x77, 0x35, 0x5a, 0x49, 0x76, 0x52, 0x51, 0x54, 0x47, 0x49, 0x32, + 0x68, 0x30, 0x54, 0x39, 0x71, 0x6d, 0x48, 0x50, 0x30, 0x42, 0x56, 0x46, + 0x79, 0x62, 0x4a, 0x75, 0x39, 0x73, 0x36, 0x58, 0x44, 0x59, 0x75, 0x6f, + 0x4d, 0x38, 0x45, 0x4a, 0x73, 0x0a, 0x57, 0x53, 0x73, 0x2b, 0x34, 0x76, + 0x4f, 0x61, 0x63, 0x61, 0x54, 0x45, 0x56, 0x59, 0x41, 0x51, 0x46, 0x35, + 0x48, 0x78, 0x41, 0x4c, 0x66, 0x43, 0x74, 0x61, 0x4f, 0x65, 0x50, 0x6a, + 0x53, 0x70, 0x2b, 0x66, 0x66, 0x45, 0x2b, 0x55, 0x30, 0x43, 0x78, 0x59, + 0x46, 0x33, 0x4e, 0x48, 0x39, 0x33, 0x59, 0x4b, 0x5a, 0x78, 0x41, 0x67, + 0x4d, 0x42, 0x41, 0x41, 0x45, 0x77, 0x44, 0x51, 0x59, 0x4a, 0x0a, 0x4b, + 0x6f, 0x5a, 0x49, 0x68, 0x76, 0x63, 0x4e, 0x41, 0x51, 0x45, 0x4c, 0x42, + 0x51, 0x41, 0x44, 0x67, 0x67, 0x45, 0x42, 0x41, 0x49, 0x6d, 0x4a, 0x76, + 0x71, 0x6e, 0x70, 0x50, 0x64, 0x53, 0x75, 0x46, 0x4f, 0x5a, 0x54, 0x36, + 0x76, 0x74, 0x48, 0x31, 0x70, 0x4a, 0x43, 0x45, 0x76, 0x4a, 0x39, 0x62, + 0x53, 0x78, 0x31, 0x43, 0x41, 0x76, 0x36, 0x46, 0x34, 0x46, 0x44, 0x6f, + 0x77, 0x4b, 0x77, 0x0a, 0x43, 0x71, 0x4b, 0x53, 0x6c, 0x59, 0x45, 0x6a, + 0x72, 0x49, 0x4c, 0x64, 0x6c, 0x42, 0x30, 0x39, 0x32, 0x31, 0x4f, 0x54, + 0x30, 0x76, 0x61, 0x68, 0x33, 0x6c, 0x55, 0x76, 0x2f, 0x6b, 0x47, 0x4e, + 0x4c, 0x76, 0x58, 0x55, 0x71, 0x54, 0x69, 0x42, 0x61, 0x6b, 0x77, 0x66, + 0x52, 0x47, 0x30, 0x39, 0x61, 0x49, 0x45, 0x6e, 0x53, 0x68, 0x6d, 0x79, + 0x6f, 0x30, 0x68, 0x63, 0x65, 0x4f, 0x68, 0x33, 0x0a, 0x4f, 0x31, 0x4b, + 0x4b, 0x59, 0x76, 0x4a, 0x32, 0x6a, 0x4a, 0x47, 0x6b, 0x36, 0x50, 0x6c, + 0x52, 0x78, 0x65, 0x53, 0x67, 0x37, 0x64, 0x35, 0x4d, 0x69, 0x37, 0x58, + 0x67, 0x6e, 0x41, 0x64, 0x65, 0x61, 0x78, 0x77, 0x68, 0x75, 0x76, 0x5a, + 0x5a, 0x6d, 0x61, 0x49, 0x7a, 0x62, 0x68, 0x41, 0x57, 0x50, 0x38, 0x71, + 0x67, 0x49, 0x30, 0x36, 0x50, 0x32, 0x52, 0x42, 0x53, 0x35, 0x42, 0x4a, + 0x76, 0x0a, 0x72, 0x44, 0x44, 0x33, 0x44, 0x68, 0x77, 0x38, 0x4e, 0x38, + 0x47, 0x77, 0x42, 0x44, 0x31, 0x52, 0x59, 0x32, 0x79, 0x4b, 0x72, 0x79, + 0x46, 0x51, 0x2b, 0x34, 0x55, 0x32, 0x31, 0x45, 0x72, 0x73, 0x77, 0x2f, + 0x33, 0x38, 0x63, 0x59, 0x38, 0x55, 0x41, 0x46, 0x54, 0x6b, 0x67, 0x33, + 0x72, 0x57, 0x72, 0x34, 0x44, 0x57, 0x78, 0x36, 0x74, 0x6e, 0x49, 0x66, + 0x64, 0x72, 0x4e, 0x31, 0x49, 0x49, 0x0a, 0x70, 0x52, 0x71, 0x53, 0x78, + 0x48, 0x51, 0x57, 0x34, 0x6b, 0x5a, 0x61, 0x67, 0x31, 0x75, 0x5a, 0x64, + 0x46, 0x63, 0x53, 0x69, 0x61, 0x59, 0x54, 0x2b, 0x65, 0x62, 0x4c, 0x57, + 0x56, 0x58, 0x41, 0x7a, 0x62, 0x66, 0x4a, 0x4c, 0x4f, 0x56, 0x38, 0x45, + 0x46, 0x46, 0x33, 0x52, 0x44, 0x43, 0x2f, 0x41, 0x33, 0x55, 0x33, 0x56, + 0x63, 0x4f, 0x52, 0x44, 0x42, 0x44, 0x57, 0x44, 0x68, 0x6d, 0x68, 0x0a, + 0x38, 0x72, 0x34, 0x54, 0x2b, 0x36, 0x46, 0x67, 0x67, 0x59, 0x4c, 0x32, + 0x65, 0x6a, 0x4d, 0x6d, 0x66, 0x77, 0x62, 0x65, 0x77, 0x7a, 0x49, 0x2b, + 0x48, 0x6d, 0x34, 0x53, 0x69, 0x64, 0x67, 0x4f, 0x78, 0x4c, 0x66, 0x31, + 0x46, 0x78, 0x31, 0x64, 0x32, 0x76, 0x34, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, + 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a #ifdef CONFIG_MBEDTLS - , - 0x00 + , + 0x00 #endif }; +/* clang-format on */ unsigned char client_key[] = { + /* client key for testing BACnet secure connect */ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x4a, @@ -1585,6 +547,7 @@ unsigned char client_key[] = { }; unsigned char client_key_der[] = { + /* client key for testing BACnet data-expecting-reply DER */ 0x30, 0x82, 0x09, 0x29, 0x02, 0x01, 0x00, 0x02, 0x82, 0x02, 0x01, 0x00, 0xAF, 0x04, 0xB2, 0x36, 0x78, 0x5F, 0xBC, 0x38, 0x9C, 0x18, 0x93, 0x81, 0x7D, 0x44, 0x0B, 0x18, 0x4A, 0x4A, 0x0B, 0x6F, 0xCD, 0xDB, 0x94, 0xE8, @@ -1783,6230 +746,552 @@ unsigned char client_key_der[] = { 0x09, 0x07, 0xFD, 0xC0, 0xE2, 0x39, 0x44, 0x8F, 0xF1 }; -unsigned char client_cert[] = { 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x42, - 0x45, - 0x47, - 0x49, - 0x4e, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, - 0x4d, - 0x49, - 0x49, - 0x45, - 0x47, - 0x44, - 0x43, - 0x43, - 0x41, - 0x77, - 0x43, - 0x67, - 0x41, - 0x77, - 0x49, - 0x42, - 0x41, - 0x67, - 0x49, - 0x44, - 0x45, - 0x41, - 0x41, - 0x45, - 0x4d, - 0x41, - 0x30, - 0x47, - 0x43, - 0x53, - 0x71, - 0x47, - 0x53, - 0x49, - 0x62, - 0x33, - 0x44, - 0x51, - 0x45, - 0x42, - 0x43, - 0x77, - 0x55, - 0x41, - 0x4d, - 0x45, - 0x38, - 0x78, - 0x47, - 0x7a, - 0x41, - 0x5a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x6f, - 0x54, - 0x45, - 0x6d, - 0x78, - 0x70, - 0x0a, - 0x59, - 0x6e, - 0x64, - 0x6c, - 0x59, - 0x6e, - 0x4e, - 0x76, - 0x59, - 0x32, - 0x74, - 0x6c, - 0x64, - 0x48, - 0x4d, - 0x74, - 0x64, - 0x47, - 0x56, - 0x7a, - 0x64, - 0x44, - 0x45, - 0x53, - 0x4d, - 0x42, - 0x41, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x42, - 0x78, - 0x4d, - 0x4a, - 0x57, - 0x47, - 0x6c, - 0x68, - 0x62, - 0x32, - 0x4a, - 0x70, - 0x64, - 0x47, - 0x46, - 0x75, - 0x4d, - 0x51, - 0x38, - 0x77, - 0x44, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x49, - 0x45, - 0x77, - 0x5a, - 0x55, - 0x0a, - 0x59, - 0x57, - 0x6c, - 0x77, - 0x5a, - 0x57, - 0x6b, - 0x78, - 0x43, - 0x7a, - 0x41, - 0x4a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x59, - 0x54, - 0x41, - 0x6c, - 0x52, - 0x58, - 0x4d, - 0x43, - 0x41, - 0x58, - 0x44, - 0x54, - 0x49, - 0x79, - 0x4d, - 0x44, - 0x63, - 0x77, - 0x4e, - 0x6a, - 0x45, - 0x78, - 0x4d, - 0x6a, - 0x55, - 0x78, - 0x4f, - 0x46, - 0x6f, - 0x59, - 0x44, - 0x7a, - 0x49, - 0x77, - 0x4e, - 0x54, - 0x41, - 0x77, - 0x4e, - 0x7a, - 0x45, - 0x35, - 0x4d, - 0x54, - 0x45, - 0x79, - 0x0a, - 0x4e, - 0x54, - 0x45, - 0x34, - 0x57, - 0x6a, - 0x42, - 0x4d, - 0x4d, - 0x51, - 0x73, - 0x77, - 0x43, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x47, - 0x45, - 0x77, - 0x4a, - 0x55, - 0x56, - 0x7a, - 0x45, - 0x50, - 0x4d, - 0x41, - 0x30, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x43, - 0x42, - 0x4d, - 0x47, - 0x56, - 0x47, - 0x46, - 0x70, - 0x63, - 0x47, - 0x56, - 0x70, - 0x4d, - 0x52, - 0x73, - 0x77, - 0x47, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x4b, - 0x45, - 0x78, - 0x4a, - 0x73, - 0x0a, - 0x61, - 0x57, - 0x4a, - 0x33, - 0x5a, - 0x57, - 0x4a, - 0x7a, - 0x62, - 0x32, - 0x4e, - 0x72, - 0x5a, - 0x58, - 0x52, - 0x7a, - 0x4c, - 0x58, - 0x52, - 0x6c, - 0x63, - 0x33, - 0x51, - 0x78, - 0x44, - 0x7a, - 0x41, - 0x4e, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x4d, - 0x54, - 0x42, - 0x6d, - 0x4e, - 0x73, - 0x61, - 0x57, - 0x56, - 0x75, - 0x64, - 0x44, - 0x43, - 0x43, - 0x41, - 0x69, - 0x49, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x0a, - 0x41, - 0x51, - 0x45, - 0x42, - 0x42, - 0x51, - 0x41, - 0x44, - 0x67, - 0x67, - 0x49, - 0x50, - 0x41, - 0x44, - 0x43, - 0x43, - 0x41, - 0x67, - 0x6f, - 0x43, - 0x67, - 0x67, - 0x49, - 0x42, - 0x41, - 0x4b, - 0x38, - 0x45, - 0x73, - 0x6a, - 0x5a, - 0x34, - 0x58, - 0x37, - 0x77, - 0x34, - 0x6e, - 0x42, - 0x69, - 0x54, - 0x67, - 0x58, - 0x31, - 0x45, - 0x43, - 0x78, - 0x68, - 0x4b, - 0x53, - 0x67, - 0x74, - 0x76, - 0x7a, - 0x64, - 0x75, - 0x55, - 0x36, - 0x4e, - 0x69, - 0x6e, - 0x2b, - 0x75, - 0x73, - 0x35, - 0x0a, - 0x41, - 0x32, - 0x39, - 0x35, - 0x75, - 0x43, - 0x44, - 0x38, - 0x43, - 0x33, - 0x48, - 0x4d, - 0x52, - 0x6c, - 0x68, - 0x31, - 0x72, - 0x6e, - 0x73, - 0x59, - 0x71, - 0x5a, - 0x72, - 0x77, - 0x4d, - 0x42, - 0x66, - 0x6c, - 0x39, - 0x75, - 0x68, - 0x52, - 0x73, - 0x2b, - 0x58, - 0x79, - 0x58, - 0x61, - 0x76, - 0x42, - 0x59, - 0x63, - 0x4a, - 0x61, - 0x76, - 0x70, - 0x36, - 0x6f, - 0x2b, - 0x44, - 0x34, - 0x5a, - 0x66, - 0x30, - 0x50, - 0x73, - 0x46, - 0x41, - 0x5a, - 0x55, - 0x50, - 0x6c, - 0x7a, - 0x49, - 0x0a, - 0x36, - 0x69, - 0x4b, - 0x63, - 0x4d, - 0x73, - 0x36, - 0x57, - 0x5a, - 0x75, - 0x42, - 0x35, - 0x76, - 0x6a, - 0x6a, - 0x67, - 0x69, - 0x6e, - 0x37, - 0x4d, - 0x6c, - 0x33, - 0x5a, - 0x69, - 0x79, - 0x36, - 0x52, - 0x63, - 0x6c, - 0x5a, - 0x4f, - 0x4b, - 0x36, - 0x39, - 0x68, - 0x6b, - 0x4f, - 0x43, - 0x68, - 0x55, - 0x6b, - 0x46, - 0x30, - 0x46, - 0x38, - 0x6d, - 0x63, - 0x63, - 0x57, - 0x7a, - 0x52, - 0x58, - 0x59, - 0x4a, - 0x77, - 0x71, - 0x37, - 0x35, - 0x72, - 0x5a, - 0x43, - 0x41, - 0x55, - 0x47, - 0x0a, - 0x37, - 0x35, - 0x70, - 0x77, - 0x63, - 0x6a, - 0x2f, - 0x73, - 0x4a, - 0x33, - 0x73, - 0x34, - 0x56, - 0x45, - 0x43, - 0x69, - 0x35, - 0x4a, - 0x6b, - 0x44, - 0x39, - 0x6b, - 0x6f, - 0x2b, - 0x33, - 0x6b, - 0x63, - 0x79, - 0x36, - 0x4d, - 0x6c, - 0x39, - 0x71, - 0x67, - 0x43, - 0x4c, - 0x67, - 0x68, - 0x57, - 0x47, - 0x31, - 0x67, - 0x4f, - 0x67, - 0x31, - 0x6b, - 0x76, - 0x54, - 0x79, - 0x31, - 0x62, - 0x6f, - 0x4b, - 0x6b, - 0x72, - 0x79, - 0x33, - 0x6b, - 0x4b, - 0x73, - 0x39, - 0x62, - 0x61, - 0x64, - 0x0a, - 0x6e, - 0x32, - 0x61, - 0x59, - 0x51, - 0x58, - 0x59, - 0x33, - 0x79, - 0x4a, - 0x58, - 0x67, - 0x77, - 0x62, - 0x73, - 0x32, - 0x49, - 0x41, - 0x64, - 0x47, - 0x6e, - 0x50, - 0x63, - 0x67, - 0x78, - 0x39, - 0x5a, - 0x6e, - 0x6e, - 0x6b, - 0x44, - 0x67, - 0x6a, - 0x54, - 0x32, - 0x73, - 0x30, - 0x51, - 0x48, - 0x46, - 0x6c, - 0x73, - 0x4c, - 0x76, - 0x71, - 0x46, - 0x56, - 0x70, - 0x68, - 0x41, - 0x52, - 0x4a, - 0x44, - 0x77, - 0x79, - 0x4e, - 0x61, - 0x59, - 0x62, - 0x70, - 0x77, - 0x2f, - 0x64, - 0x39, - 0x0a, - 0x78, - 0x74, - 0x55, - 0x58, - 0x46, - 0x6e, - 0x5a, - 0x6b, - 0x46, - 0x4b, - 0x2b, - 0x35, - 0x42, - 0x33, - 0x6a, - 0x7a, - 0x44, - 0x38, - 0x4f, - 0x61, - 0x64, - 0x77, - 0x63, - 0x2f, - 0x71, - 0x6f, - 0x36, - 0x6d, - 0x68, - 0x2f, - 0x75, - 0x71, - 0x41, - 0x6b, - 0x34, - 0x57, - 0x51, - 0x71, - 0x50, - 0x6d, - 0x46, - 0x50, - 0x59, - 0x55, - 0x50, - 0x2b, - 0x50, - 0x68, - 0x38, - 0x44, - 0x44, - 0x63, - 0x76, - 0x45, - 0x4c, - 0x4d, - 0x6f, - 0x32, - 0x70, - 0x6e, - 0x2b, - 0x39, - 0x63, - 0x2b, - 0x0a, - 0x59, - 0x4f, - 0x41, - 0x6f, - 0x58, - 0x74, - 0x75, - 0x45, - 0x44, - 0x33, - 0x33, - 0x4a, - 0x39, - 0x4e, - 0x31, - 0x73, - 0x76, - 0x32, - 0x55, - 0x57, - 0x72, - 0x6b, - 0x6f, - 0x4c, - 0x45, - 0x4a, - 0x38, - 0x73, - 0x34, - 0x61, - 0x32, - 0x63, - 0x2f, - 0x56, - 0x69, - 0x65, - 0x66, - 0x76, - 0x4d, - 0x46, - 0x4b, - 0x6f, - 0x2b, - 0x4f, - 0x45, - 0x50, - 0x42, - 0x4f, - 0x71, - 0x57, - 0x45, - 0x53, - 0x39, - 0x49, - 0x65, - 0x4d, - 0x58, - 0x69, - 0x4c, - 0x42, - 0x44, - 0x72, - 0x2f, - 0x69, - 0x0a, - 0x4d, - 0x44, - 0x57, - 0x31, - 0x57, - 0x4a, - 0x76, - 0x46, - 0x74, - 0x57, - 0x78, - 0x32, - 0x57, - 0x33, - 0x56, - 0x74, - 0x55, - 0x6e, - 0x6a, - 0x4d, - 0x4b, - 0x62, - 0x52, - 0x47, - 0x2b, - 0x78, - 0x6a, - 0x34, - 0x46, - 0x47, - 0x6a, - 0x76, - 0x38, - 0x69, - 0x63, - 0x2f, - 0x34, - 0x53, - 0x71, - 0x6e, - 0x4b, - 0x36, - 0x53, - 0x43, - 0x65, - 0x2f, - 0x79, - 0x4b, - 0x47, - 0x67, - 0x45, - 0x79, - 0x76, - 0x6f, - 0x2f, - 0x61, - 0x66, - 0x4e, - 0x6d, - 0x39, - 0x30, - 0x49, - 0x74, - 0x76, - 0x0a, - 0x31, - 0x45, - 0x36, - 0x61, - 0x69, - 0x41, - 0x79, - 0x49, - 0x4d, - 0x73, - 0x6d, - 0x51, - 0x43, - 0x31, - 0x4a, - 0x4f, - 0x6f, - 0x56, - 0x68, - 0x2f, - 0x65, - 0x30, - 0x71, - 0x44, - 0x47, - 0x71, - 0x70, - 0x49, - 0x56, - 0x49, - 0x37, - 0x41, - 0x2f, - 0x4f, - 0x73, - 0x7a, - 0x39, - 0x74, - 0x53, - 0x68, - 0x78, - 0x44, - 0x65, - 0x52, - 0x75, - 0x5a, - 0x46, - 0x39, - 0x2b, - 0x67, - 0x4d, - 0x4d, - 0x6e, - 0x30, - 0x68, - 0x41, - 0x4a, - 0x6b, - 0x62, - 0x35, - 0x52, - 0x33, - 0x4d, - 0x78, - 0x0a, - 0x6f, - 0x38, - 0x58, - 0x36, - 0x6b, - 0x44, - 0x77, - 0x61, - 0x73, - 0x7a, - 0x48, - 0x48, - 0x76, - 0x52, - 0x55, - 0x73, - 0x66, - 0x54, - 0x66, - 0x6b, - 0x66, - 0x57, - 0x38, - 0x50, - 0x31, - 0x51, - 0x62, - 0x48, - 0x77, - 0x6e, - 0x4d, - 0x78, - 0x65, - 0x53, - 0x79, - 0x70, - 0x75, - 0x30, - 0x61, - 0x49, - 0x78, - 0x77, - 0x2b, - 0x63, - 0x38, - 0x44, - 0x6d, - 0x7a, - 0x74, - 0x2b, - 0x6c, - 0x73, - 0x37, - 0x62, - 0x6a, - 0x32, - 0x6d, - 0x32, - 0x36, - 0x48, - 0x38, - 0x39, - 0x4a, - 0x68, - 0x0a, - 0x59, - 0x6c, - 0x63, - 0x72, - 0x68, - 0x64, - 0x33, - 0x44, - 0x6d, - 0x2f, - 0x37, - 0x61, - 0x68, - 0x6c, - 0x56, - 0x66, - 0x64, - 0x35, - 0x79, - 0x4b, - 0x77, - 0x41, - 0x57, - 0x38, - 0x76, - 0x77, - 0x32, - 0x77, - 0x57, - 0x79, - 0x45, - 0x43, - 0x56, - 0x79, - 0x37, - 0x4c, - 0x4c, - 0x5a, - 0x36, - 0x63, - 0x4b, - 0x5a, - 0x57, - 0x57, - 0x32, - 0x6d, - 0x5a, - 0x47, - 0x4b, - 0x6a, - 0x37, - 0x7a, - 0x75, - 0x78, - 0x6b, - 0x56, - 0x65, - 0x39, - 0x42, - 0x2f, - 0x4d, - 0x44, - 0x54, - 0x75, - 0x0a, - 0x54, - 0x6e, - 0x39, - 0x7a, - 0x41, - 0x67, - 0x4d, - 0x42, - 0x41, - 0x41, - 0x45, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x45, - 0x4c, - 0x42, - 0x51, - 0x41, - 0x44, - 0x67, - 0x67, - 0x45, - 0x42, - 0x41, - 0x4d, - 0x4c, - 0x70, - 0x6f, - 0x2b, - 0x53, - 0x58, - 0x43, - 0x46, - 0x2b, - 0x35, - 0x73, - 0x4d, - 0x35, - 0x68, - 0x57, - 0x62, - 0x4a, - 0x6d, - 0x38, - 0x77, - 0x52, - 0x64, - 0x4e, - 0x36, - 0x45, - 0x63, - 0x0a, - 0x4d, - 0x48, - 0x6a, - 0x54, - 0x33, - 0x74, - 0x61, - 0x2b, - 0x7a, - 0x79, - 0x74, - 0x6d, - 0x33, - 0x6f, - 0x79, - 0x71, - 0x59, - 0x63, - 0x53, - 0x2f, - 0x62, - 0x53, - 0x43, - 0x56, - 0x74, - 0x30, - 0x6a, - 0x38, - 0x65, - 0x71, - 0x72, - 0x5a, - 0x54, - 0x33, - 0x73, - 0x63, - 0x43, - 0x77, - 0x77, - 0x69, - 0x77, - 0x53, - 0x79, - 0x32, - 0x73, - 0x37, - 0x5a, - 0x63, - 0x65, - 0x74, - 0x35, - 0x75, - 0x6d, - 0x6b, - 0x46, - 0x55, - 0x48, - 0x62, - 0x36, - 0x4a, - 0x65, - 0x6e, - 0x30, - 0x51, - 0x0a, - 0x6c, - 0x58, - 0x4b, - 0x42, - 0x6f, - 0x61, - 0x53, - 0x47, - 0x54, - 0x57, - 0x42, - 0x4f, - 0x5a, - 0x62, - 0x6b, - 0x69, - 0x55, - 0x36, - 0x4f, - 0x36, - 0x6d, - 0x36, - 0x52, - 0x4c, - 0x4d, - 0x72, - 0x4d, - 0x6d, - 0x62, - 0x70, - 0x32, - 0x6b, - 0x68, - 0x4e, - 0x61, - 0x67, - 0x36, - 0x59, - 0x71, - 0x39, - 0x70, - 0x33, - 0x73, - 0x66, - 0x73, - 0x59, - 0x7a, - 0x38, - 0x69, - 0x45, - 0x31, - 0x38, - 0x7a, - 0x36, - 0x43, - 0x31, - 0x76, - 0x70, - 0x75, - 0x4b, - 0x63, - 0x39, - 0x51, - 0x54, - 0x0a, - 0x50, - 0x51, - 0x4c, - 0x51, - 0x65, - 0x7a, - 0x6c, - 0x68, - 0x77, - 0x5a, - 0x5a, - 0x57, - 0x52, - 0x4e, - 0x77, - 0x6b, - 0x43, - 0x79, - 0x4e, - 0x52, - 0x42, - 0x6a, - 0x69, - 0x39, - 0x4e, - 0x37, - 0x55, - 0x2f, - 0x75, - 0x4f, - 0x52, - 0x4f, - 0x49, - 0x38, - 0x64, - 0x6b, - 0x36, - 0x4b, - 0x48, - 0x6e, - 0x4d, - 0x5a, - 0x52, - 0x32, - 0x69, - 0x52, - 0x34, - 0x65, - 0x43, - 0x53, - 0x42, - 0x32, - 0x67, - 0x74, - 0x6b, - 0x76, - 0x68, - 0x50, - 0x65, - 0x4c, - 0x55, - 0x58, - 0x77, - 0x58, - 0x0a, - 0x38, - 0x4a, - 0x79, - 0x6d, - 0x32, - 0x51, - 0x48, - 0x58, - 0x35, - 0x43, - 0x59, - 0x37, - 0x2f, - 0x59, - 0x4d, - 0x66, - 0x73, - 0x34, - 0x44, - 0x30, - 0x49, - 0x38, - 0x66, - 0x70, - 0x6a, - 0x53, - 0x4f, - 0x65, - 0x65, - 0x52, - 0x59, - 0x33, - 0x63, - 0x6e, - 0x4a, - 0x76, - 0x33, - 0x37, - 0x4c, - 0x75, - 0x51, - 0x4c, - 0x35, - 0x72, - 0x4a, - 0x70, - 0x75, - 0x76, - 0x49, - 0x5a, - 0x78, - 0x46, - 0x4a, - 0x33, - 0x6e, - 0x56, - 0x72, - 0x37, - 0x56, - 0x2b, - 0x44, - 0x54, - 0x4d, - 0x72, - 0x0a, - 0x4e, - 0x71, - 0x4e, - 0x45, - 0x34, - 0x69, - 0x57, - 0x48, - 0x4d, - 0x56, - 0x58, - 0x71, - 0x63, - 0x45, - 0x62, - 0x4d, - 0x53, - 0x2f, - 0x59, - 0x4a, - 0x6a, - 0x38, - 0x34, - 0x69, - 0x63, - 0x47, - 0x65, - 0x31, - 0x70, - 0x43, - 0x55, - 0x30, - 0x31, - 0x65, - 0x49, - 0x2f, - 0x61, - 0x33, - 0x34, - 0x72, - 0x79, - 0x53, - 0x67, - 0x55, - 0x75, - 0x2b, - 0x33, - 0x53, - 0x43, - 0x55, - 0x55, - 0x61, - 0x58, - 0x5a, - 0x73, - 0x2f, - 0x2b, - 0x51, - 0x41, - 0x3d, - 0x0a, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x45, - 0x4e, - 0x44, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a +/* clang-format off */ +unsigned char client_cert[] = { + /* client certificate for testing BACnet secure connect */ + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, + 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x45, 0x47, 0x44, 0x43, 0x43, + 0x41, 0x77, 0x43, 0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x44, + 0x45, 0x41, 0x41, 0x45, 0x4d, 0x41, 0x30, 0x47, 0x43, 0x53, 0x71, 0x47, + 0x53, 0x49, 0x62, 0x33, 0x44, 0x51, 0x45, 0x42, 0x43, 0x77, 0x55, 0x41, + 0x4d, 0x45, 0x38, 0x78, 0x47, 0x7a, 0x41, 0x5a, 0x42, 0x67, 0x4e, 0x56, + 0x42, 0x41, 0x6f, 0x54, 0x45, 0x6d, 0x78, 0x70, 0x0a, 0x59, 0x6e, 0x64, + 0x6c, 0x59, 0x6e, 0x4e, 0x76, 0x59, 0x32, 0x74, 0x6c, 0x64, 0x48, 0x4d, + 0x74, 0x64, 0x47, 0x56, 0x7a, 0x64, 0x44, 0x45, 0x53, 0x4d, 0x42, 0x41, + 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x78, 0x4d, 0x4a, 0x57, 0x47, 0x6c, + 0x68, 0x62, 0x32, 0x4a, 0x70, 0x64, 0x47, 0x46, 0x75, 0x4d, 0x51, 0x38, + 0x77, 0x44, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x49, 0x45, 0x77, 0x5a, + 0x55, 0x0a, 0x59, 0x57, 0x6c, 0x77, 0x5a, 0x57, 0x6b, 0x78, 0x43, 0x7a, + 0x41, 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x59, 0x54, 0x41, 0x6c, + 0x52, 0x58, 0x4d, 0x43, 0x41, 0x58, 0x44, 0x54, 0x49, 0x79, 0x4d, 0x44, + 0x63, 0x77, 0x4e, 0x6a, 0x45, 0x78, 0x4d, 0x6a, 0x55, 0x78, 0x4f, 0x46, + 0x6f, 0x59, 0x44, 0x7a, 0x49, 0x77, 0x4e, 0x54, 0x41, 0x77, 0x4e, 0x7a, + 0x45, 0x35, 0x4d, 0x54, 0x45, 0x79, 0x0a, 0x4e, 0x54, 0x45, 0x34, 0x57, + 0x6a, 0x42, 0x4d, 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, + 0x51, 0x51, 0x47, 0x45, 0x77, 0x4a, 0x55, 0x56, 0x7a, 0x45, 0x50, 0x4d, + 0x41, 0x30, 0x47, 0x41, 0x31, 0x55, 0x45, 0x43, 0x42, 0x4d, 0x47, 0x56, + 0x47, 0x46, 0x70, 0x63, 0x47, 0x56, 0x70, 0x4d, 0x52, 0x73, 0x77, 0x47, + 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4b, 0x45, 0x78, 0x4a, 0x73, 0x0a, + 0x61, 0x57, 0x4a, 0x33, 0x5a, 0x57, 0x4a, 0x7a, 0x62, 0x32, 0x4e, 0x72, + 0x5a, 0x58, 0x52, 0x7a, 0x4c, 0x58, 0x52, 0x6c, 0x63, 0x33, 0x51, 0x78, + 0x44, 0x7a, 0x41, 0x4e, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x4d, 0x54, + 0x42, 0x6d, 0x4e, 0x73, 0x61, 0x57, 0x56, 0x75, 0x64, 0x44, 0x43, 0x43, + 0x41, 0x69, 0x49, 0x77, 0x44, 0x51, 0x59, 0x4a, 0x4b, 0x6f, 0x5a, 0x49, + 0x68, 0x76, 0x63, 0x4e, 0x0a, 0x41, 0x51, 0x45, 0x42, 0x42, 0x51, 0x41, + 0x44, 0x67, 0x67, 0x49, 0x50, 0x41, 0x44, 0x43, 0x43, 0x41, 0x67, 0x6f, + 0x43, 0x67, 0x67, 0x49, 0x42, 0x41, 0x4b, 0x38, 0x45, 0x73, 0x6a, 0x5a, + 0x34, 0x58, 0x37, 0x77, 0x34, 0x6e, 0x42, 0x69, 0x54, 0x67, 0x58, 0x31, + 0x45, 0x43, 0x78, 0x68, 0x4b, 0x53, 0x67, 0x74, 0x76, 0x7a, 0x64, 0x75, + 0x55, 0x36, 0x4e, 0x69, 0x6e, 0x2b, 0x75, 0x73, 0x35, 0x0a, 0x41, 0x32, + 0x39, 0x35, 0x75, 0x43, 0x44, 0x38, 0x43, 0x33, 0x48, 0x4d, 0x52, 0x6c, + 0x68, 0x31, 0x72, 0x6e, 0x73, 0x59, 0x71, 0x5a, 0x72, 0x77, 0x4d, 0x42, + 0x66, 0x6c, 0x39, 0x75, 0x68, 0x52, 0x73, 0x2b, 0x58, 0x79, 0x58, 0x61, + 0x76, 0x42, 0x59, 0x63, 0x4a, 0x61, 0x76, 0x70, 0x36, 0x6f, 0x2b, 0x44, + 0x34, 0x5a, 0x66, 0x30, 0x50, 0x73, 0x46, 0x41, 0x5a, 0x55, 0x50, 0x6c, + 0x7a, 0x49, 0x0a, 0x36, 0x69, 0x4b, 0x63, 0x4d, 0x73, 0x36, 0x57, 0x5a, + 0x75, 0x42, 0x35, 0x76, 0x6a, 0x6a, 0x67, 0x69, 0x6e, 0x37, 0x4d, 0x6c, + 0x33, 0x5a, 0x69, 0x79, 0x36, 0x52, 0x63, 0x6c, 0x5a, 0x4f, 0x4b, 0x36, + 0x39, 0x68, 0x6b, 0x4f, 0x43, 0x68, 0x55, 0x6b, 0x46, 0x30, 0x46, 0x38, + 0x6d, 0x63, 0x63, 0x57, 0x7a, 0x52, 0x58, 0x59, 0x4a, 0x77, 0x71, 0x37, + 0x35, 0x72, 0x5a, 0x43, 0x41, 0x55, 0x47, 0x0a, 0x37, 0x35, 0x70, 0x77, + 0x63, 0x6a, 0x2f, 0x73, 0x4a, 0x33, 0x73, 0x34, 0x56, 0x45, 0x43, 0x69, + 0x35, 0x4a, 0x6b, 0x44, 0x39, 0x6b, 0x6f, 0x2b, 0x33, 0x6b, 0x63, 0x79, + 0x36, 0x4d, 0x6c, 0x39, 0x71, 0x67, 0x43, 0x4c, 0x67, 0x68, 0x57, 0x47, + 0x31, 0x67, 0x4f, 0x67, 0x31, 0x6b, 0x76, 0x54, 0x79, 0x31, 0x62, 0x6f, + 0x4b, 0x6b, 0x72, 0x79, 0x33, 0x6b, 0x4b, 0x73, 0x39, 0x62, 0x61, 0x64, + 0x0a, 0x6e, 0x32, 0x61, 0x59, 0x51, 0x58, 0x59, 0x33, 0x79, 0x4a, 0x58, + 0x67, 0x77, 0x62, 0x73, 0x32, 0x49, 0x41, 0x64, 0x47, 0x6e, 0x50, 0x63, + 0x67, 0x78, 0x39, 0x5a, 0x6e, 0x6e, 0x6b, 0x44, 0x67, 0x6a, 0x54, 0x32, + 0x73, 0x30, 0x51, 0x48, 0x46, 0x6c, 0x73, 0x4c, 0x76, 0x71, 0x46, 0x56, + 0x70, 0x68, 0x41, 0x52, 0x4a, 0x44, 0x77, 0x79, 0x4e, 0x61, 0x59, 0x62, + 0x70, 0x77, 0x2f, 0x64, 0x39, 0x0a, 0x78, 0x74, 0x55, 0x58, 0x46, 0x6e, + 0x5a, 0x6b, 0x46, 0x4b, 0x2b, 0x35, 0x42, 0x33, 0x6a, 0x7a, 0x44, 0x38, + 0x4f, 0x61, 0x64, 0x77, 0x63, 0x2f, 0x71, 0x6f, 0x36, 0x6d, 0x68, 0x2f, + 0x75, 0x71, 0x41, 0x6b, 0x34, 0x57, 0x51, 0x71, 0x50, 0x6d, 0x46, 0x50, + 0x59, 0x55, 0x50, 0x2b, 0x50, 0x68, 0x38, 0x44, 0x44, 0x63, 0x76, 0x45, + 0x4c, 0x4d, 0x6f, 0x32, 0x70, 0x6e, 0x2b, 0x39, 0x63, 0x2b, 0x0a, 0x59, + 0x4f, 0x41, 0x6f, 0x58, 0x74, 0x75, 0x45, 0x44, 0x33, 0x33, 0x4a, 0x39, + 0x4e, 0x31, 0x73, 0x76, 0x32, 0x55, 0x57, 0x72, 0x6b, 0x6f, 0x4c, 0x45, + 0x4a, 0x38, 0x73, 0x34, 0x61, 0x32, 0x63, 0x2f, 0x56, 0x69, 0x65, 0x66, + 0x76, 0x4d, 0x46, 0x4b, 0x6f, 0x2b, 0x4f, 0x45, 0x50, 0x42, 0x4f, 0x71, + 0x57, 0x45, 0x53, 0x39, 0x49, 0x65, 0x4d, 0x58, 0x69, 0x4c, 0x42, 0x44, + 0x72, 0x2f, 0x69, 0x0a, 0x4d, 0x44, 0x57, 0x31, 0x57, 0x4a, 0x76, 0x46, + 0x74, 0x57, 0x78, 0x32, 0x57, 0x33, 0x56, 0x74, 0x55, 0x6e, 0x6a, 0x4d, + 0x4b, 0x62, 0x52, 0x47, 0x2b, 0x78, 0x6a, 0x34, 0x46, 0x47, 0x6a, 0x76, + 0x38, 0x69, 0x63, 0x2f, 0x34, 0x53, 0x71, 0x6e, 0x4b, 0x36, 0x53, 0x43, + 0x65, 0x2f, 0x79, 0x4b, 0x47, 0x67, 0x45, 0x79, 0x76, 0x6f, 0x2f, 0x61, + 0x66, 0x4e, 0x6d, 0x39, 0x30, 0x49, 0x74, 0x76, 0x0a, 0x31, 0x45, 0x36, + 0x61, 0x69, 0x41, 0x79, 0x49, 0x4d, 0x73, 0x6d, 0x51, 0x43, 0x31, 0x4a, + 0x4f, 0x6f, 0x56, 0x68, 0x2f, 0x65, 0x30, 0x71, 0x44, 0x47, 0x71, 0x70, + 0x49, 0x56, 0x49, 0x37, 0x41, 0x2f, 0x4f, 0x73, 0x7a, 0x39, 0x74, 0x53, + 0x68, 0x78, 0x44, 0x65, 0x52, 0x75, 0x5a, 0x46, 0x39, 0x2b, 0x67, 0x4d, + 0x4d, 0x6e, 0x30, 0x68, 0x41, 0x4a, 0x6b, 0x62, 0x35, 0x52, 0x33, 0x4d, + 0x78, 0x0a, 0x6f, 0x38, 0x58, 0x36, 0x6b, 0x44, 0x77, 0x61, 0x73, 0x7a, + 0x48, 0x48, 0x76, 0x52, 0x55, 0x73, 0x66, 0x54, 0x66, 0x6b, 0x66, 0x57, + 0x38, 0x50, 0x31, 0x51, 0x62, 0x48, 0x77, 0x6e, 0x4d, 0x78, 0x65, 0x53, + 0x79, 0x70, 0x75, 0x30, 0x61, 0x49, 0x78, 0x77, 0x2b, 0x63, 0x38, 0x44, + 0x6d, 0x7a, 0x74, 0x2b, 0x6c, 0x73, 0x37, 0x62, 0x6a, 0x32, 0x6d, 0x32, + 0x36, 0x48, 0x38, 0x39, 0x4a, 0x68, 0x0a, 0x59, 0x6c, 0x63, 0x72, 0x68, + 0x64, 0x33, 0x44, 0x6d, 0x2f, 0x37, 0x61, 0x68, 0x6c, 0x56, 0x66, 0x64, + 0x35, 0x79, 0x4b, 0x77, 0x41, 0x57, 0x38, 0x76, 0x77, 0x32, 0x77, 0x57, + 0x79, 0x45, 0x43, 0x56, 0x79, 0x37, 0x4c, 0x4c, 0x5a, 0x36, 0x63, 0x4b, + 0x5a, 0x57, 0x57, 0x32, 0x6d, 0x5a, 0x47, 0x4b, 0x6a, 0x37, 0x7a, 0x75, + 0x78, 0x6b, 0x56, 0x65, 0x39, 0x42, 0x2f, 0x4d, 0x44, 0x54, 0x75, 0x0a, + 0x54, 0x6e, 0x39, 0x7a, 0x41, 0x67, 0x4d, 0x42, 0x41, 0x41, 0x45, 0x77, + 0x44, 0x51, 0x59, 0x4a, 0x4b, 0x6f, 0x5a, 0x49, 0x68, 0x76, 0x63, 0x4e, + 0x41, 0x51, 0x45, 0x4c, 0x42, 0x51, 0x41, 0x44, 0x67, 0x67, 0x45, 0x42, + 0x41, 0x4d, 0x4c, 0x70, 0x6f, 0x2b, 0x53, 0x58, 0x43, 0x46, 0x2b, 0x35, + 0x73, 0x4d, 0x35, 0x68, 0x57, 0x62, 0x4a, 0x6d, 0x38, 0x77, 0x52, 0x64, + 0x4e, 0x36, 0x45, 0x63, 0x0a, 0x4d, 0x48, 0x6a, 0x54, 0x33, 0x74, 0x61, + 0x2b, 0x7a, 0x79, 0x74, 0x6d, 0x33, 0x6f, 0x79, 0x71, 0x59, 0x63, 0x53, + 0x2f, 0x62, 0x53, 0x43, 0x56, 0x74, 0x30, 0x6a, 0x38, 0x65, 0x71, 0x72, + 0x5a, 0x54, 0x33, 0x73, 0x63, 0x43, 0x77, 0x77, 0x69, 0x77, 0x53, 0x79, + 0x32, 0x73, 0x37, 0x5a, 0x63, 0x65, 0x74, 0x35, 0x75, 0x6d, 0x6b, 0x46, + 0x55, 0x48, 0x62, 0x36, 0x4a, 0x65, 0x6e, 0x30, 0x51, 0x0a, 0x6c, 0x58, + 0x4b, 0x42, 0x6f, 0x61, 0x53, 0x47, 0x54, 0x57, 0x42, 0x4f, 0x5a, 0x62, + 0x6b, 0x69, 0x55, 0x36, 0x4f, 0x36, 0x6d, 0x36, 0x52, 0x4c, 0x4d, 0x72, + 0x4d, 0x6d, 0x62, 0x70, 0x32, 0x6b, 0x68, 0x4e, 0x61, 0x67, 0x36, 0x59, + 0x71, 0x39, 0x70, 0x33, 0x73, 0x66, 0x73, 0x59, 0x7a, 0x38, 0x69, 0x45, + 0x31, 0x38, 0x7a, 0x36, 0x43, 0x31, 0x76, 0x70, 0x75, 0x4b, 0x63, 0x39, + 0x51, 0x54, 0x0a, 0x50, 0x51, 0x4c, 0x51, 0x65, 0x7a, 0x6c, 0x68, 0x77, + 0x5a, 0x5a, 0x57, 0x52, 0x4e, 0x77, 0x6b, 0x43, 0x79, 0x4e, 0x52, 0x42, + 0x6a, 0x69, 0x39, 0x4e, 0x37, 0x55, 0x2f, 0x75, 0x4f, 0x52, 0x4f, 0x49, + 0x38, 0x64, 0x6b, 0x36, 0x4b, 0x48, 0x6e, 0x4d, 0x5a, 0x52, 0x32, 0x69, + 0x52, 0x34, 0x65, 0x43, 0x53, 0x42, 0x32, 0x67, 0x74, 0x6b, 0x76, 0x68, + 0x50, 0x65, 0x4c, 0x55, 0x58, 0x77, 0x58, 0x0a, 0x38, 0x4a, 0x79, 0x6d, + 0x32, 0x51, 0x48, 0x58, 0x35, 0x43, 0x59, 0x37, 0x2f, 0x59, 0x4d, 0x66, + 0x73, 0x34, 0x44, 0x30, 0x49, 0x38, 0x66, 0x70, 0x6a, 0x53, 0x4f, 0x65, + 0x65, 0x52, 0x59, 0x33, 0x63, 0x6e, 0x4a, 0x76, 0x33, 0x37, 0x4c, 0x75, + 0x51, 0x4c, 0x35, 0x72, 0x4a, 0x70, 0x75, 0x76, 0x49, 0x5a, 0x78, 0x46, + 0x4a, 0x33, 0x6e, 0x56, 0x72, 0x37, 0x56, 0x2b, 0x44, 0x54, 0x4d, 0x72, + 0x0a, 0x4e, 0x71, 0x4e, 0x45, 0x34, 0x69, 0x57, 0x48, 0x4d, 0x56, 0x58, + 0x71, 0x63, 0x45, 0x62, 0x4d, 0x53, 0x2f, 0x59, 0x4a, 0x6a, 0x38, 0x34, + 0x69, 0x63, 0x47, 0x65, 0x31, 0x70, 0x43, 0x55, 0x30, 0x31, 0x65, 0x49, + 0x2f, 0x61, 0x33, 0x34, 0x72, 0x79, 0x53, 0x67, 0x55, 0x75, 0x2b, 0x33, + 0x53, 0x43, 0x55, 0x55, 0x61, 0x58, 0x5a, 0x73, 0x2f, 0x2b, 0x51, 0x41, + 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, + 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x0a #ifdef CONFIG_MBEDTLS - , - 0x00 + , + 0x00 #endif }; +/* clang-format on */ -unsigned char server_key[] = { 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x42, - 0x45, - 0x47, - 0x49, - 0x4e, - 0x20, - 0x52, - 0x53, - 0x41, - 0x20, - 0x50, - 0x52, - 0x49, - 0x56, - 0x41, - 0x54, - 0x45, - 0x20, - 0x4b, - 0x45, - 0x59, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, - 0x4d, - 0x49, - 0x49, - 0x4a, - 0x4b, - 0x41, - 0x49, - 0x42, - 0x41, - 0x41, - 0x4b, - 0x43, - 0x41, - 0x67, - 0x45, - 0x41, - 0x79, - 0x31, - 0x65, - 0x71, - 0x47, - 0x4a, - 0x69, - 0x45, - 0x61, - 0x4e, - 0x55, - 0x76, - 0x42, - 0x57, - 0x35, - 0x72, - 0x4b, - 0x38, - 0x77, - 0x77, - 0x69, - 0x75, - 0x4d, - 0x72, - 0x74, - 0x4c, - 0x67, - 0x74, - 0x74, - 0x45, - 0x65, - 0x55, - 0x31, - 0x51, - 0x4f, - 0x30, - 0x6e, - 0x4d, - 0x57, - 0x6a, - 0x59, - 0x43, - 0x4f, - 0x34, - 0x75, - 0x36, - 0x61, - 0x31, - 0x0a, - 0x34, - 0x58, - 0x34, - 0x6f, - 0x75, - 0x7a, - 0x68, - 0x57, - 0x4e, - 0x6a, - 0x50, - 0x47, - 0x35, - 0x31, - 0x6f, - 0x4a, - 0x43, - 0x76, - 0x4b, - 0x38, - 0x78, - 0x71, - 0x58, - 0x52, - 0x33, - 0x2f, - 0x7a, - 0x62, - 0x79, - 0x36, - 0x66, - 0x66, - 0x48, - 0x69, - 0x42, - 0x61, - 0x4e, - 0x68, - 0x4d, - 0x34, - 0x4c, - 0x6e, - 0x6c, - 0x78, - 0x44, - 0x30, - 0x77, - 0x4d, - 0x31, - 0x33, - 0x36, - 0x6d, - 0x59, - 0x77, - 0x51, - 0x54, - 0x6a, - 0x35, - 0x33, - 0x57, - 0x36, - 0x64, - 0x4e, - 0x2b, - 0x0a, - 0x6a, - 0x33, - 0x7a, - 0x7a, - 0x61, - 0x4d, - 0x7a, - 0x78, - 0x36, - 0x4f, - 0x55, - 0x30, - 0x56, - 0x4e, - 0x77, - 0x4f, - 0x68, - 0x4d, - 0x2b, - 0x47, - 0x67, - 0x33, - 0x76, - 0x43, - 0x70, - 0x2f, - 0x45, - 0x37, - 0x58, - 0x6b, - 0x57, - 0x65, - 0x4a, - 0x50, - 0x42, - 0x4d, - 0x4a, - 0x62, - 0x33, - 0x52, - 0x75, - 0x62, - 0x50, - 0x76, - 0x61, - 0x33, - 0x72, - 0x4d, - 0x73, - 0x36, - 0x62, - 0x63, - 0x4b, - 0x6c, - 0x6d, - 0x36, - 0x35, - 0x30, - 0x64, - 0x4b, - 0x64, - 0x63, - 0x65, - 0x71, - 0x0a, - 0x32, - 0x41, - 0x37, - 0x50, - 0x71, - 0x64, - 0x4a, - 0x4a, - 0x74, - 0x4f, - 0x4d, - 0x37, - 0x56, - 0x42, - 0x48, - 0x63, - 0x73, - 0x33, - 0x34, - 0x4f, - 0x38, - 0x33, - 0x54, - 0x68, - 0x73, - 0x78, - 0x63, - 0x46, - 0x39, - 0x37, - 0x2f, - 0x51, - 0x31, - 0x55, - 0x54, - 0x39, - 0x43, - 0x6c, - 0x34, - 0x34, - 0x34, - 0x59, - 0x39, - 0x6c, - 0x49, - 0x59, - 0x49, - 0x36, - 0x30, - 0x71, - 0x38, - 0x4e, - 0x6e, - 0x67, - 0x36, - 0x37, - 0x49, - 0x71, - 0x47, - 0x62, - 0x5a, - 0x47, - 0x69, - 0x73, - 0x0a, - 0x59, - 0x6d, - 0x63, - 0x75, - 0x5a, - 0x66, - 0x45, - 0x4d, - 0x55, - 0x65, - 0x59, - 0x45, - 0x79, - 0x6e, - 0x54, - 0x52, - 0x30, - 0x42, - 0x78, - 0x36, - 0x73, - 0x45, - 0x52, - 0x45, - 0x73, - 0x4f, - 0x51, - 0x74, - 0x47, - 0x6c, - 0x31, - 0x62, - 0x6a, - 0x77, - 0x72, - 0x61, - 0x4c, - 0x6d, - 0x30, - 0x46, - 0x43, - 0x38, - 0x42, - 0x77, - 0x6c, - 0x6e, - 0x4f, - 0x55, - 0x76, - 0x78, - 0x44, - 0x34, - 0x66, - 0x5a, - 0x2b, - 0x43, - 0x35, - 0x4a, - 0x73, - 0x48, - 0x62, - 0x5a, - 0x35, - 0x54, - 0x0a, - 0x4b, - 0x30, - 0x46, - 0x74, - 0x73, - 0x32, - 0x65, - 0x43, - 0x2f, - 0x71, - 0x48, - 0x4a, - 0x48, - 0x4c, - 0x52, - 0x73, - 0x41, - 0x6a, - 0x4e, - 0x70, - 0x67, - 0x66, - 0x42, - 0x71, - 0x6c, - 0x45, - 0x6a, - 0x47, - 0x73, - 0x74, - 0x4e, - 0x61, - 0x64, - 0x30, - 0x79, - 0x49, - 0x48, - 0x76, - 0x49, - 0x36, - 0x39, - 0x32, - 0x4b, - 0x79, - 0x56, - 0x54, - 0x37, - 0x56, - 0x4b, - 0x67, - 0x56, - 0x59, - 0x42, - 0x74, - 0x39, - 0x58, - 0x6e, - 0x4b, - 0x36, - 0x48, - 0x41, - 0x36, - 0x66, - 0x42, - 0x0a, - 0x4d, - 0x78, - 0x4b, - 0x68, - 0x31, - 0x48, - 0x54, - 0x30, - 0x37, - 0x47, - 0x42, - 0x52, - 0x71, - 0x34, - 0x44, - 0x62, - 0x4b, - 0x73, - 0x41, - 0x76, - 0x5a, - 0x44, - 0x73, - 0x45, - 0x7a, - 0x6b, - 0x61, - 0x64, - 0x67, - 0x75, - 0x6c, - 0x53, - 0x6a, - 0x6d, - 0x72, - 0x6b, - 0x57, - 0x41, - 0x44, - 0x43, - 0x53, - 0x77, - 0x6d, - 0x58, - 0x7a, - 0x44, - 0x4a, - 0x49, - 0x4f, - 0x6c, - 0x68, - 0x78, - 0x43, - 0x76, - 0x73, - 0x57, - 0x76, - 0x4e, - 0x4b, - 0x4f, - 0x70, - 0x7a, - 0x57, - 0x6a, - 0x0a, - 0x31, - 0x53, - 0x7a, - 0x75, - 0x45, - 0x51, - 0x53, - 0x57, - 0x53, - 0x38, - 0x30, - 0x46, - 0x6d, - 0x54, - 0x58, - 0x35, - 0x55, - 0x39, - 0x4e, - 0x6f, - 0x2f, - 0x6e, - 0x45, - 0x52, - 0x6a, - 0x4b, - 0x6c, - 0x78, - 0x75, - 0x44, - 0x36, - 0x37, - 0x35, - 0x67, - 0x4c, - 0x4e, - 0x79, - 0x30, - 0x6c, - 0x61, - 0x63, - 0x6b, - 0x70, - 0x73, - 0x49, - 0x48, - 0x50, - 0x5a, - 0x36, - 0x7a, - 0x6f, - 0x71, - 0x53, - 0x6c, - 0x38, - 0x4c, - 0x68, - 0x70, - 0x5a, - 0x7a, - 0x78, - 0x51, - 0x67, - 0x75, - 0x0a, - 0x56, - 0x51, - 0x72, - 0x39, - 0x62, - 0x69, - 0x4e, - 0x45, - 0x57, - 0x77, - 0x30, - 0x62, - 0x64, - 0x53, - 0x45, - 0x44, - 0x57, - 0x2b, - 0x63, - 0x68, - 0x6e, - 0x41, - 0x72, - 0x7a, - 0x71, - 0x4b, - 0x71, - 0x62, - 0x65, - 0x54, - 0x34, - 0x38, - 0x52, - 0x74, - 0x71, - 0x46, - 0x77, - 0x54, - 0x45, - 0x44, - 0x69, - 0x6f, - 0x48, - 0x38, - 0x73, - 0x47, - 0x47, - 0x69, - 0x43, - 0x2b, - 0x7a, - 0x6a, - 0x50, - 0x31, - 0x76, - 0x59, - 0x78, - 0x44, - 0x66, - 0x6d, - 0x32, - 0x49, - 0x69, - 0x68, - 0x0a, - 0x41, - 0x4f, - 0x50, - 0x74, - 0x48, - 0x6e, - 0x45, - 0x33, - 0x78, - 0x7a, - 0x6b, - 0x44, - 0x4c, - 0x41, - 0x50, - 0x4a, - 0x76, - 0x7a, - 0x45, - 0x61, - 0x2f, - 0x5a, - 0x69, - 0x61, - 0x54, - 0x69, - 0x4d, - 0x61, - 0x30, - 0x4f, - 0x52, - 0x32, - 0x71, - 0x74, - 0x75, - 0x30, - 0x68, - 0x54, - 0x6a, - 0x62, - 0x34, - 0x63, - 0x7a, - 0x58, - 0x49, - 0x36, - 0x54, - 0x79, - 0x37, - 0x78, - 0x6b, - 0x53, - 0x4c, - 0x45, - 0x74, - 0x44, - 0x4f, - 0x6a, - 0x43, - 0x61, - 0x70, - 0x53, - 0x71, - 0x74, - 0x0a, - 0x34, - 0x45, - 0x4b, - 0x47, - 0x67, - 0x43, - 0x69, - 0x78, - 0x7a, - 0x63, - 0x55, - 0x35, - 0x45, - 0x36, - 0x5a, - 0x4d, - 0x49, - 0x4f, - 0x56, - 0x6a, - 0x72, - 0x66, - 0x6a, - 0x39, - 0x70, - 0x77, - 0x67, - 0x67, - 0x2f, - 0x66, - 0x56, - 0x31, - 0x35, - 0x30, - 0x63, - 0x31, - 0x68, - 0x6e, - 0x6e, - 0x56, - 0x47, - 0x75, - 0x36, - 0x51, - 0x42, - 0x30, - 0x44, - 0x72, - 0x59, - 0x4e, - 0x73, - 0x59, - 0x50, - 0x43, - 0x44, - 0x44, - 0x50, - 0x70, - 0x4d, - 0x43, - 0x41, - 0x77, - 0x45, - 0x41, - 0x0a, - 0x41, - 0x51, - 0x4b, - 0x43, - 0x41, - 0x67, - 0x45, - 0x41, - 0x74, - 0x69, - 0x33, - 0x49, - 0x65, - 0x31, - 0x6a, - 0x4a, - 0x36, - 0x4a, - 0x4a, - 0x33, - 0x47, - 0x6b, - 0x71, - 0x66, - 0x51, - 0x68, - 0x49, - 0x69, - 0x75, - 0x34, - 0x78, - 0x6b, - 0x4c, - 0x2f, - 0x6d, - 0x44, - 0x47, - 0x53, - 0x32, - 0x34, - 0x72, - 0x6c, - 0x41, - 0x76, - 0x6c, - 0x50, - 0x57, - 0x4e, - 0x4e, - 0x69, - 0x6c, - 0x4b, - 0x37, - 0x50, - 0x53, - 0x6a, - 0x70, - 0x32, - 0x38, - 0x38, - 0x56, - 0x75, - 0x42, - 0x57, - 0x0a, - 0x66, - 0x53, - 0x46, - 0x4f, - 0x5a, - 0x79, - 0x42, - 0x48, - 0x55, - 0x63, - 0x50, - 0x41, - 0x56, - 0x63, - 0x6c, - 0x69, - 0x69, - 0x32, - 0x63, - 0x6b, - 0x46, - 0x51, - 0x5a, - 0x46, - 0x34, - 0x39, - 0x76, - 0x67, - 0x64, - 0x75, - 0x6f, - 0x70, - 0x50, - 0x35, - 0x6f, - 0x57, - 0x4c, - 0x54, - 0x70, - 0x5a, - 0x6c, - 0x77, - 0x67, - 0x6c, - 0x55, - 0x6a, - 0x6a, - 0x6f, - 0x76, - 0x5a, - 0x63, - 0x51, - 0x59, - 0x56, - 0x58, - 0x57, - 0x34, - 0x66, - 0x39, - 0x30, - 0x70, - 0x4d, - 0x52, - 0x5a, - 0x0a, - 0x52, - 0x2b, - 0x74, - 0x79, - 0x51, - 0x30, - 0x55, - 0x55, - 0x7a, - 0x50, - 0x43, - 0x51, - 0x39, - 0x32, - 0x50, - 0x2b, - 0x4e, - 0x6a, - 0x44, - 0x75, - 0x6d, - 0x37, - 0x75, - 0x4c, - 0x77, - 0x46, - 0x52, - 0x36, - 0x4a, - 0x4b, - 0x59, - 0x34, - 0x4c, - 0x45, - 0x53, - 0x46, - 0x6b, - 0x4b, - 0x6e, - 0x6f, - 0x6c, - 0x46, - 0x77, - 0x2b, - 0x6a, - 0x4d, - 0x4c, - 0x76, - 0x72, - 0x52, - 0x34, - 0x32, - 0x47, - 0x2b, - 0x66, - 0x54, - 0x72, - 0x4e, - 0x63, - 0x34, - 0x50, - 0x6c, - 0x48, - 0x6c, - 0x0a, - 0x4c, - 0x32, - 0x63, - 0x57, - 0x56, - 0x47, - 0x2f, - 0x63, - 0x61, - 0x41, - 0x50, - 0x63, - 0x71, - 0x55, - 0x70, - 0x69, - 0x6d, - 0x2b, - 0x31, - 0x59, - 0x72, - 0x32, - 0x72, - 0x76, - 0x55, - 0x75, - 0x51, - 0x49, - 0x51, - 0x53, - 0x33, - 0x42, - 0x6b, - 0x48, - 0x54, - 0x45, - 0x69, - 0x6f, - 0x7a, - 0x2b, - 0x33, - 0x70, - 0x74, - 0x76, - 0x65, - 0x39, - 0x68, - 0x2b, - 0x32, - 0x4c, - 0x77, - 0x70, - 0x57, - 0x49, - 0x42, - 0x66, - 0x55, - 0x5a, - 0x70, - 0x58, - 0x2b, - 0x34, - 0x56, - 0x48, - 0x0a, - 0x49, - 0x47, - 0x6b, - 0x51, - 0x69, - 0x63, - 0x4b, - 0x33, - 0x35, - 0x39, - 0x68, - 0x63, - 0x49, - 0x32, - 0x68, - 0x47, - 0x6b, - 0x71, - 0x55, - 0x62, - 0x73, - 0x36, - 0x39, - 0x49, - 0x78, - 0x4a, - 0x4e, - 0x59, - 0x66, - 0x70, - 0x65, - 0x32, - 0x47, - 0x5a, - 0x31, - 0x45, - 0x51, - 0x63, - 0x63, - 0x7a, - 0x30, - 0x53, - 0x73, - 0x48, - 0x4e, - 0x71, - 0x57, - 0x65, - 0x77, - 0x2b, - 0x6f, - 0x52, - 0x63, - 0x61, - 0x69, - 0x54, - 0x6f, - 0x77, - 0x46, - 0x76, - 0x6f, - 0x33, - 0x68, - 0x74, - 0x0a, - 0x36, - 0x47, - 0x78, - 0x53, - 0x6e, - 0x71, - 0x45, - 0x57, - 0x30, - 0x37, - 0x48, - 0x30, - 0x4b, - 0x54, - 0x4b, - 0x59, - 0x69, - 0x6c, - 0x6e, - 0x5a, - 0x69, - 0x34, - 0x58, - 0x49, - 0x57, - 0x33, - 0x48, - 0x35, - 0x30, - 0x51, - 0x61, - 0x75, - 0x61, - 0x68, - 0x62, - 0x77, - 0x48, - 0x30, - 0x75, - 0x56, - 0x73, - 0x64, - 0x32, - 0x55, - 0x39, - 0x6f, - 0x34, - 0x6c, - 0x37, - 0x54, - 0x38, - 0x5a, - 0x4d, - 0x65, - 0x34, - 0x52, - 0x50, - 0x6d, - 0x66, - 0x39, - 0x77, - 0x46, - 0x6e, - 0x2f, - 0x0a, - 0x45, - 0x7a, - 0x34, - 0x46, - 0x74, - 0x68, - 0x62, - 0x6e, - 0x51, - 0x4f, - 0x57, - 0x42, - 0x6f, - 0x31, - 0x44, - 0x78, - 0x61, - 0x42, - 0x6d, - 0x78, - 0x39, - 0x42, - 0x66, - 0x6e, - 0x35, - 0x6e, - 0x43, - 0x35, - 0x49, - 0x36, - 0x52, - 0x79, - 0x72, - 0x36, - 0x58, - 0x4d, - 0x6e, - 0x6e, - 0x4a, - 0x4a, - 0x2b, - 0x65, - 0x41, - 0x74, - 0x53, - 0x6a, - 0x58, - 0x53, - 0x41, - 0x56, - 0x37, - 0x2f, - 0x36, - 0x33, - 0x43, - 0x72, - 0x70, - 0x63, - 0x42, - 0x2b, - 0x73, - 0x42, - 0x74, - 0x46, - 0x0a, - 0x69, - 0x7a, - 0x46, - 0x33, - 0x79, - 0x45, - 0x51, - 0x38, - 0x72, - 0x74, - 0x57, - 0x41, - 0x43, - 0x71, - 0x78, - 0x6a, - 0x4d, - 0x55, - 0x50, - 0x43, - 0x33, - 0x4a, - 0x71, - 0x39, - 0x6c, - 0x39, - 0x33, - 0x39, - 0x38, - 0x2f, - 0x6a, - 0x7a, - 0x43, - 0x70, - 0x5a, - 0x5a, - 0x4c, - 0x76, - 0x7a, - 0x34, - 0x4e, - 0x55, - 0x6a, - 0x6a, - 0x74, - 0x66, - 0x4e, - 0x68, - 0x33, - 0x69, - 0x36, - 0x44, - 0x50, - 0x36, - 0x49, - 0x68, - 0x41, - 0x4b, - 0x31, - 0x33, - 0x54, - 0x56, - 0x37, - 0x49, - 0x0a, - 0x34, - 0x47, - 0x34, - 0x30, - 0x62, - 0x72, - 0x5a, - 0x68, - 0x6d, - 0x58, - 0x53, - 0x56, - 0x4b, - 0x42, - 0x6e, - 0x78, - 0x47, - 0x37, - 0x44, - 0x35, - 0x69, - 0x59, - 0x36, - 0x50, - 0x62, - 0x67, - 0x56, - 0x57, - 0x48, - 0x46, - 0x44, - 0x45, - 0x6a, - 0x50, - 0x44, - 0x77, - 0x6f, - 0x4a, - 0x6b, - 0x74, - 0x4b, - 0x31, - 0x42, - 0x50, - 0x61, - 0x64, - 0x33, - 0x71, - 0x57, - 0x66, - 0x39, - 0x34, - 0x66, - 0x6d, - 0x74, - 0x35, - 0x79, - 0x6b, - 0x5a, - 0x64, - 0x2f, - 0x74, - 0x65, - 0x71, - 0x0a, - 0x65, - 0x52, - 0x49, - 0x45, - 0x76, - 0x55, - 0x7a, - 0x4a, - 0x47, - 0x35, - 0x50, - 0x46, - 0x47, - 0x77, - 0x4f, - 0x7a, - 0x78, - 0x56, - 0x52, - 0x48, - 0x44, - 0x4e, - 0x38, - 0x51, - 0x51, - 0x6d, - 0x4e, - 0x4a, - 0x63, - 0x43, - 0x4a, - 0x75, - 0x79, - 0x74, - 0x77, - 0x34, - 0x44, - 0x6e, - 0x73, - 0x78, - 0x6f, - 0x43, - 0x38, - 0x33, - 0x69, - 0x7a, - 0x66, - 0x68, - 0x2b, - 0x6e, - 0x45, - 0x71, - 0x45, - 0x50, - 0x50, - 0x51, - 0x69, - 0x44, - 0x46, - 0x6f, - 0x54, - 0x4c, - 0x79, - 0x44, - 0x0a, - 0x2b, - 0x34, - 0x56, - 0x52, - 0x67, - 0x46, - 0x42, - 0x62, - 0x36, - 0x61, - 0x69, - 0x72, - 0x56, - 0x63, - 0x79, - 0x58, - 0x57, - 0x64, - 0x72, - 0x32, - 0x30, - 0x43, - 0x64, - 0x4f, - 0x47, - 0x67, - 0x58, - 0x6f, - 0x42, - 0x4d, - 0x72, - 0x4e, - 0x42, - 0x6c, - 0x2b, - 0x45, - 0x36, - 0x32, - 0x4d, - 0x59, - 0x41, - 0x65, - 0x32, - 0x71, - 0x63, - 0x36, - 0x37, - 0x63, - 0x51, - 0x59, - 0x45, - 0x43, - 0x67, - 0x67, - 0x45, - 0x42, - 0x41, - 0x4f, - 0x39, - 0x32, - 0x58, - 0x4e, - 0x41, - 0x46, - 0x0a, - 0x52, - 0x41, - 0x77, - 0x5a, - 0x79, - 0x64, - 0x7a, - 0x59, - 0x63, - 0x68, - 0x35, - 0x45, - 0x35, - 0x65, - 0x6a, - 0x7a, - 0x39, - 0x54, - 0x5a, - 0x62, - 0x48, - 0x66, - 0x65, - 0x66, - 0x34, - 0x7a, - 0x4e, - 0x42, - 0x48, - 0x55, - 0x2f, - 0x6d, - 0x56, - 0x31, - 0x76, - 0x68, - 0x38, - 0x39, - 0x64, - 0x39, - 0x4b, - 0x6a, - 0x53, - 0x46, - 0x2f, - 0x4f, - 0x69, - 0x4c, - 0x33, - 0x45, - 0x6e, - 0x6f, - 0x59, - 0x78, - 0x50, - 0x6b, - 0x48, - 0x67, - 0x55, - 0x58, - 0x79, - 0x6e, - 0x39, - 0x41, - 0x0a, - 0x34, - 0x43, - 0x34, - 0x75, - 0x31, - 0x72, - 0x6c, - 0x64, - 0x5a, - 0x36, - 0x64, - 0x77, - 0x43, - 0x56, - 0x41, - 0x62, - 0x5a, - 0x4a, - 0x6e, - 0x54, - 0x38, - 0x55, - 0x46, - 0x32, - 0x6e, - 0x4c, - 0x52, - 0x46, - 0x4d, - 0x58, - 0x68, - 0x61, - 0x71, - 0x79, - 0x4a, - 0x45, - 0x6d, - 0x54, - 0x37, - 0x6a, - 0x43, - 0x59, - 0x52, - 0x79, - 0x37, - 0x65, - 0x72, - 0x64, - 0x37, - 0x56, - 0x4c, - 0x39, - 0x35, - 0x67, - 0x56, - 0x68, - 0x55, - 0x4f, - 0x73, - 0x4a, - 0x59, - 0x77, - 0x4c, - 0x6d, - 0x0a, - 0x74, - 0x59, - 0x66, - 0x63, - 0x69, - 0x6b, - 0x30, - 0x37, - 0x51, - 0x6d, - 0x44, - 0x53, - 0x50, - 0x56, - 0x75, - 0x47, - 0x68, - 0x56, - 0x32, - 0x4b, - 0x65, - 0x6b, - 0x6e, - 0x7a, - 0x54, - 0x61, - 0x31, - 0x4e, - 0x53, - 0x54, - 0x55, - 0x38, - 0x76, - 0x77, - 0x51, - 0x46, - 0x2b, - 0x77, - 0x4b, - 0x48, - 0x69, - 0x38, - 0x36, - 0x34, - 0x64, - 0x6d, - 0x7a, - 0x6b, - 0x73, - 0x6c, - 0x59, - 0x6e, - 0x51, - 0x71, - 0x62, - 0x46, - 0x6f, - 0x54, - 0x56, - 0x52, - 0x5a, - 0x74, - 0x4e, - 0x65, - 0x0a, - 0x72, - 0x4c, - 0x62, - 0x36, - 0x67, - 0x36, - 0x6e, - 0x63, - 0x77, - 0x36, - 0x4a, - 0x57, - 0x78, - 0x39, - 0x79, - 0x65, - 0x42, - 0x30, - 0x37, - 0x56, - 0x64, - 0x70, - 0x4a, - 0x70, - 0x36, - 0x78, - 0x39, - 0x54, - 0x59, - 0x54, - 0x2b, - 0x48, - 0x47, - 0x6a, - 0x33, - 0x6b, - 0x62, - 0x35, - 0x61, - 0x63, - 0x75, - 0x49, - 0x6e, - 0x50, - 0x2b, - 0x6a, - 0x67, - 0x37, - 0x47, - 0x5a, - 0x7a, - 0x6b, - 0x72, - 0x48, - 0x4a, - 0x4d, - 0x6e, - 0x48, - 0x4c, - 0x77, - 0x65, - 0x46, - 0x76, - 0x62, - 0x0a, - 0x4e, - 0x57, - 0x5a, - 0x66, - 0x6c, - 0x50, - 0x66, - 0x69, - 0x41, - 0x4e, - 0x6d, - 0x77, - 0x4d, - 0x38, - 0x77, - 0x4d, - 0x52, - 0x2b, - 0x6b, - 0x66, - 0x50, - 0x32, - 0x76, - 0x6f, - 0x67, - 0x47, - 0x61, - 0x6d, - 0x4b, - 0x43, - 0x69, - 0x65, - 0x6f, - 0x6a, - 0x56, - 0x61, - 0x54, - 0x69, - 0x38, - 0x76, - 0x67, - 0x71, - 0x71, - 0x6a, - 0x78, - 0x34, - 0x55, - 0x47, - 0x50, - 0x64, - 0x35, - 0x39, - 0x36, - 0x46, - 0x4e, - 0x46, - 0x65, - 0x69, - 0x5a, - 0x52, - 0x76, - 0x58, - 0x4e, - 0x6b, - 0x0a, - 0x30, - 0x64, - 0x42, - 0x30, - 0x41, - 0x4b, - 0x32, - 0x51, - 0x2f, - 0x31, - 0x32, - 0x36, - 0x53, - 0x6c, - 0x45, - 0x43, - 0x67, - 0x67, - 0x45, - 0x42, - 0x41, - 0x4e, - 0x6c, - 0x69, - 0x74, - 0x64, - 0x78, - 0x48, - 0x74, - 0x74, - 0x78, - 0x68, - 0x2f, - 0x57, - 0x71, - 0x77, - 0x46, - 0x4b, - 0x33, - 0x35, - 0x62, - 0x63, - 0x4f, - 0x54, - 0x58, - 0x61, - 0x68, - 0x36, - 0x50, - 0x61, - 0x70, - 0x50, - 0x64, - 0x67, - 0x2f, - 0x37, - 0x32, - 0x50, - 0x75, - 0x4f, - 0x6c, - 0x33, - 0x57, - 0x74, - 0x0a, - 0x37, - 0x57, - 0x6e, - 0x38, - 0x41, - 0x74, - 0x36, - 0x46, - 0x49, - 0x47, - 0x51, - 0x33, - 0x58, - 0x5a, - 0x4f, - 0x4f, - 0x50, - 0x66, - 0x39, - 0x76, - 0x35, - 0x48, - 0x66, - 0x71, - 0x50, - 0x70, - 0x53, - 0x6c, - 0x4e, - 0x56, - 0x39, - 0x33, - 0x41, - 0x58, - 0x58, - 0x61, - 0x4f, - 0x36, - 0x49, - 0x54, - 0x7a, - 0x77, - 0x49, - 0x45, - 0x62, - 0x38, - 0x49, - 0x47, - 0x33, - 0x69, - 0x45, - 0x4f, - 0x74, - 0x54, - 0x4c, - 0x77, - 0x32, - 0x39, - 0x32, - 0x4b, - 0x55, - 0x38, - 0x6c, - 0x4a, - 0x0a, - 0x4c, - 0x6c, - 0x38, - 0x58, - 0x70, - 0x68, - 0x4f, - 0x6b, - 0x56, - 0x55, - 0x72, - 0x50, - 0x6b, - 0x7a, - 0x47, - 0x47, - 0x36, - 0x64, - 0x66, - 0x56, - 0x4e, - 0x70, - 0x36, - 0x49, - 0x32, - 0x68, - 0x54, - 0x70, - 0x59, - 0x4a, - 0x49, - 0x53, - 0x77, - 0x41, - 0x55, - 0x35, - 0x48, - 0x76, - 0x4b, - 0x70, - 0x63, - 0x39, - 0x6f, - 0x42, - 0x30, - 0x59, - 0x4b, - 0x68, - 0x56, - 0x4c, - 0x66, - 0x43, - 0x2b, - 0x69, - 0x64, - 0x61, - 0x6b, - 0x56, - 0x43, - 0x35, - 0x66, - 0x5a, - 0x7a, - 0x36, - 0x0a, - 0x7a, - 0x46, - 0x41, - 0x6f, - 0x32, - 0x37, - 0x46, - 0x65, - 0x6f, - 0x49, - 0x45, - 0x64, - 0x48, - 0x74, - 0x39, - 0x32, - 0x5a, - 0x65, - 0x36, - 0x51, - 0x33, - 0x34, - 0x4e, - 0x4a, - 0x67, - 0x70, - 0x56, - 0x62, - 0x67, - 0x6d, - 0x54, - 0x30, - 0x2b, - 0x77, - 0x74, - 0x75, - 0x75, - 0x72, - 0x71, - 0x6f, - 0x5a, - 0x2f, - 0x7a, - 0x52, - 0x74, - 0x6b, - 0x78, - 0x34, - 0x35, - 0x77, - 0x75, - 0x71, - 0x49, - 0x33, - 0x45, - 0x2b, - 0x54, - 0x44, - 0x61, - 0x31, - 0x53, - 0x75, - 0x71, - 0x33, - 0x0a, - 0x34, - 0x4f, - 0x51, - 0x73, - 0x65, - 0x32, - 0x57, - 0x63, - 0x67, - 0x6a, - 0x7a, - 0x53, - 0x66, - 0x64, - 0x4c, - 0x4a, - 0x74, - 0x54, - 0x66, - 0x79, - 0x65, - 0x4c, - 0x31, - 0x70, - 0x34, - 0x56, - 0x68, - 0x47, - 0x79, - 0x63, - 0x78, - 0x67, - 0x2b, - 0x4a, - 0x45, - 0x35, - 0x48, - 0x34, - 0x6a, - 0x69, - 0x33, - 0x7a, - 0x35, - 0x33, - 0x46, - 0x78, - 0x72, - 0x4d, - 0x6e, - 0x41, - 0x30, - 0x6d, - 0x53, - 0x45, - 0x6c, - 0x79, - 0x45, - 0x6a, - 0x69, - 0x38, - 0x38, - 0x78, - 0x54, - 0x47, - 0x0a, - 0x48, - 0x43, - 0x59, - 0x47, - 0x49, - 0x6e, - 0x4a, - 0x70, - 0x5a, - 0x72, - 0x2b, - 0x51, - 0x7a, - 0x67, - 0x50, - 0x54, - 0x7a, - 0x57, - 0x66, - 0x35, - 0x52, - 0x34, - 0x36, - 0x6b, - 0x30, - 0x38, - 0x47, - 0x4b, - 0x73, - 0x6d, - 0x56, - 0x67, - 0x6a, - 0x31, - 0x50, - 0x32, - 0x7a, - 0x39, - 0x4f, - 0x65, - 0x33, - 0x61, - 0x4d, - 0x43, - 0x67, - 0x67, - 0x45, - 0x41, - 0x48, - 0x42, - 0x6b, - 0x64, - 0x5a, - 0x75, - 0x4e, - 0x58, - 0x53, - 0x72, - 0x77, - 0x7a, - 0x37, - 0x5a, - 0x41, - 0x51, - 0x0a, - 0x51, - 0x2f, - 0x44, - 0x39, - 0x73, - 0x55, - 0x6e, - 0x2b, - 0x2b, - 0x66, - 0x50, - 0x54, - 0x48, - 0x6c, - 0x31, - 0x4b, - 0x67, - 0x5a, - 0x63, - 0x67, - 0x59, - 0x32, - 0x47, - 0x35, - 0x32, - 0x6e, - 0x51, - 0x32, - 0x38, - 0x70, - 0x41, - 0x6a, - 0x52, - 0x61, - 0x70, - 0x37, - 0x4e, - 0x4b, - 0x5a, - 0x45, - 0x6f, - 0x50, - 0x39, - 0x39, - 0x73, - 0x4c, - 0x58, - 0x52, - 0x74, - 0x2f, - 0x4e, - 0x45, - 0x74, - 0x59, - 0x33, - 0x64, - 0x51, - 0x45, - 0x34, - 0x4b, - 0x73, - 0x42, - 0x46, - 0x2f, - 0x0a, - 0x75, - 0x69, - 0x76, - 0x78, - 0x53, - 0x38, - 0x38, - 0x4c, - 0x44, - 0x4f, - 0x6e, - 0x4c, - 0x6f, - 0x30, - 0x7a, - 0x52, - 0x73, - 0x6d, - 0x31, - 0x30, - 0x45, - 0x70, - 0x56, - 0x42, - 0x41, - 0x33, - 0x4a, - 0x64, - 0x4d, - 0x50, - 0x33, - 0x65, - 0x2f, - 0x67, - 0x57, - 0x6d, - 0x57, - 0x53, - 0x72, - 0x56, - 0x55, - 0x43, - 0x6d, - 0x75, - 0x74, - 0x65, - 0x37, - 0x6e, - 0x57, - 0x63, - 0x7a, - 0x75, - 0x4b, - 0x30, - 0x62, - 0x37, - 0x41, - 0x67, - 0x67, - 0x6b, - 0x79, - 0x6b, - 0x38, - 0x72, - 0x0a, - 0x79, - 0x4d, - 0x53, - 0x69, - 0x6f, - 0x6e, - 0x79, - 0x30, - 0x5a, - 0x58, - 0x64, - 0x38, - 0x52, - 0x66, - 0x55, - 0x67, - 0x70, - 0x6a, - 0x63, - 0x74, - 0x59, - 0x65, - 0x76, - 0x51, - 0x31, - 0x68, - 0x34, - 0x46, - 0x69, - 0x42, - 0x52, - 0x7a, - 0x6d, - 0x54, - 0x77, - 0x58, - 0x32, - 0x55, - 0x73, - 0x30, - 0x69, - 0x64, - 0x74, - 0x74, - 0x66, - 0x4c, - 0x67, - 0x76, - 0x35, - 0x46, - 0x75, - 0x36, - 0x33, - 0x77, - 0x35, - 0x36, - 0x34, - 0x62, - 0x57, - 0x66, - 0x67, - 0x57, - 0x30, - 0x41, - 0x0a, - 0x48, - 0x36, - 0x70, - 0x6a, - 0x4a, - 0x55, - 0x58, - 0x39, - 0x77, - 0x59, - 0x68, - 0x57, - 0x73, - 0x33, - 0x4e, - 0x75, - 0x50, - 0x57, - 0x7a, - 0x42, - 0x4f, - 0x6e, - 0x30, - 0x56, - 0x33, - 0x54, - 0x46, - 0x53, - 0x7a, - 0x71, - 0x39, - 0x78, - 0x44, - 0x2b, - 0x71, - 0x78, - 0x68, - 0x36, - 0x75, - 0x58, - 0x6f, - 0x38, - 0x74, - 0x4a, - 0x57, - 0x4e, - 0x67, - 0x59, - 0x65, - 0x33, - 0x77, - 0x77, - 0x41, - 0x30, - 0x64, - 0x44, - 0x69, - 0x74, - 0x47, - 0x6f, - 0x58, - 0x7a, - 0x58, - 0x4c, - 0x0a, - 0x74, - 0x37, - 0x39, - 0x76, - 0x4e, - 0x49, - 0x41, - 0x30, - 0x5a, - 0x2b, - 0x78, - 0x63, - 0x75, - 0x73, - 0x4b, - 0x37, - 0x58, - 0x6c, - 0x41, - 0x63, - 0x34, - 0x6a, - 0x64, - 0x4b, - 0x2f, - 0x55, - 0x75, - 0x74, - 0x5a, - 0x4f, - 0x67, - 0x45, - 0x51, - 0x78, - 0x57, - 0x59, - 0x73, - 0x63, - 0x6b, - 0x37, - 0x74, - 0x55, - 0x47, - 0x38, - 0x34, - 0x78, - 0x69, - 0x42, - 0x37, - 0x73, - 0x45, - 0x6b, - 0x6f, - 0x38, - 0x65, - 0x75, - 0x76, - 0x76, - 0x44, - 0x39, - 0x71, - 0x32, - 0x41, - 0x61, - 0x0a, - 0x4e, - 0x74, - 0x74, - 0x48, - 0x49, - 0x51, - 0x4b, - 0x43, - 0x41, - 0x51, - 0x42, - 0x44, - 0x77, - 0x30, - 0x5a, - 0x6e, - 0x56, - 0x52, - 0x2b, - 0x47, - 0x55, - 0x54, - 0x46, - 0x61, - 0x71, - 0x57, - 0x71, - 0x34, - 0x31, - 0x4a, - 0x44, - 0x48, - 0x72, - 0x30, - 0x38, - 0x35, - 0x72, - 0x6d, - 0x6b, - 0x38, - 0x68, - 0x71, - 0x71, - 0x4a, - 0x7a, - 0x76, - 0x72, - 0x54, - 0x5a, - 0x35, - 0x36, - 0x45, - 0x2b, - 0x32, - 0x4f, - 0x50, - 0x62, - 0x78, - 0x52, - 0x42, - 0x34, - 0x77, - 0x4f, - 0x32, - 0x0a, - 0x32, - 0x5a, - 0x39, - 0x63, - 0x32, - 0x4c, - 0x45, - 0x77, - 0x78, - 0x2b, - 0x4e, - 0x54, - 0x45, - 0x66, - 0x7a, - 0x52, - 0x2f, - 0x7a, - 0x48, - 0x46, - 0x41, - 0x57, - 0x61, - 0x2b, - 0x49, - 0x76, - 0x6f, - 0x46, - 0x79, - 0x75, - 0x44, - 0x7a, - 0x67, - 0x77, - 0x69, - 0x48, - 0x56, - 0x66, - 0x61, - 0x32, - 0x48, - 0x55, - 0x79, - 0x55, - 0x68, - 0x59, - 0x6f, - 0x7a, - 0x34, - 0x2b, - 0x4f, - 0x38, - 0x55, - 0x67, - 0x69, - 0x58, - 0x63, - 0x64, - 0x71, - 0x2b, - 0x4d, - 0x72, - 0x4b, - 0x33, - 0x0a, - 0x73, - 0x44, - 0x37, - 0x30, - 0x36, - 0x46, - 0x5a, - 0x4b, - 0x68, - 0x6c, - 0x63, - 0x52, - 0x55, - 0x68, - 0x32, - 0x51, - 0x2b, - 0x54, - 0x4b, - 0x32, - 0x4e, - 0x67, - 0x77, - 0x50, - 0x56, - 0x4c, - 0x2f, - 0x31, - 0x36, - 0x71, - 0x61, - 0x48, - 0x5a, - 0x5a, - 0x75, - 0x32, - 0x65, - 0x61, - 0x33, - 0x62, - 0x33, - 0x6e, - 0x5a, - 0x32, - 0x41, - 0x41, - 0x42, - 0x65, - 0x52, - 0x6f, - 0x51, - 0x47, - 0x68, - 0x42, - 0x4e, - 0x65, - 0x52, - 0x57, - 0x34, - 0x2b, - 0x4f, - 0x76, - 0x34, - 0x54, - 0x0a, - 0x59, - 0x55, - 0x31, - 0x33, - 0x59, - 0x51, - 0x50, - 0x6a, - 0x4f, - 0x74, - 0x76, - 0x42, - 0x70, - 0x41, - 0x2b, - 0x46, - 0x6d, - 0x56, - 0x48, - 0x72, - 0x51, - 0x49, - 0x5a, - 0x6c, - 0x43, - 0x4f, - 0x35, - 0x43, - 0x4d, - 0x79, - 0x36, - 0x2f, - 0x47, - 0x32, - 0x77, - 0x56, - 0x4b, - 0x48, - 0x62, - 0x31, - 0x4a, - 0x75, - 0x4d, - 0x48, - 0x63, - 0x4f, - 0x44, - 0x33, - 0x43, - 0x4d, - 0x70, - 0x43, - 0x6f, - 0x6e, - 0x45, - 0x44, - 0x44, - 0x32, - 0x36, - 0x6a, - 0x76, - 0x51, - 0x62, - 0x49, - 0x0a, - 0x43, - 0x4f, - 0x46, - 0x5a, - 0x37, - 0x4c, - 0x43, - 0x46, - 0x73, - 0x52, - 0x71, - 0x38, - 0x43, - 0x4a, - 0x35, - 0x4c, - 0x45, - 0x7a, - 0x33, - 0x69, - 0x62, - 0x4c, - 0x50, - 0x76, - 0x4b, - 0x50, - 0x78, - 0x51, - 0x67, - 0x6c, - 0x41, - 0x4f, - 0x75, - 0x37, - 0x62, - 0x44, - 0x44, - 0x74, - 0x62, - 0x79, - 0x4c, - 0x6d, - 0x58, - 0x49, - 0x4a, - 0x7a, - 0x76, - 0x51, - 0x33, - 0x65, - 0x31, - 0x30, - 0x49, - 0x31, - 0x45, - 0x77, - 0x39, - 0x53, - 0x61, - 0x56, - 0x76, - 0x59, - 0x39, - 0x65, - 0x0a, - 0x31, - 0x62, - 0x65, - 0x79, - 0x62, - 0x37, - 0x71, - 0x4f, - 0x31, - 0x36, - 0x44, - 0x62, - 0x73, - 0x54, - 0x75, - 0x6c, - 0x45, - 0x43, - 0x51, - 0x4e, - 0x2f, - 0x2b, - 0x79, - 0x4e, - 0x77, - 0x74, - 0x6b, - 0x44, - 0x34, - 0x58, - 0x69, - 0x37, - 0x41, - 0x6f, - 0x49, - 0x42, - 0x41, - 0x41, - 0x63, - 0x73, - 0x6f, - 0x4f, - 0x7a, - 0x75, - 0x50, - 0x6d, - 0x37, - 0x35, - 0x4a, - 0x4f, - 0x32, - 0x42, - 0x33, - 0x76, - 0x32, - 0x45, - 0x64, - 0x2b, - 0x37, - 0x47, - 0x4b, - 0x31, - 0x53, - 0x63, - 0x0a, - 0x6c, - 0x76, - 0x56, - 0x4e, - 0x55, - 0x33, - 0x43, - 0x7a, - 0x30, - 0x4e, - 0x66, - 0x4c, - 0x50, - 0x4a, - 0x56, - 0x79, - 0x73, - 0x56, - 0x53, - 0x48, - 0x65, - 0x67, - 0x61, - 0x53, - 0x5a, - 0x38, - 0x33, - 0x5a, - 0x6f, - 0x4e, - 0x50, - 0x68, - 0x6d, - 0x54, - 0x42, - 0x47, - 0x62, - 0x72, - 0x56, - 0x45, - 0x72, - 0x31, - 0x62, - 0x33, - 0x42, - 0x55, - 0x59, - 0x30, - 0x6c, - 0x6b, - 0x46, - 0x49, - 0x4f, - 0x6f, - 0x33, - 0x6d, - 0x66, - 0x30, - 0x32, - 0x6c, - 0x37, - 0x57, - 0x48, - 0x59, - 0x0a, - 0x78, - 0x4d, - 0x51, - 0x38, - 0x48, - 0x63, - 0x32, - 0x61, - 0x6e, - 0x55, - 0x38, - 0x71, - 0x64, - 0x4f, - 0x58, - 0x76, - 0x6f, - 0x58, - 0x62, - 0x51, - 0x34, - 0x2f, - 0x59, - 0x59, - 0x4b, - 0x31, - 0x57, - 0x42, - 0x76, - 0x4b, - 0x75, - 0x2f, - 0x43, - 0x6c, - 0x42, - 0x53, - 0x45, - 0x63, - 0x61, - 0x4f, - 0x39, - 0x30, - 0x62, - 0x71, - 0x79, - 0x44, - 0x73, - 0x37, - 0x33, - 0x6d, - 0x69, - 0x46, - 0x57, - 0x2f, - 0x43, - 0x31, - 0x54, - 0x66, - 0x78, - 0x50, - 0x58, - 0x6e, - 0x6b, - 0x53, - 0x0a, - 0x54, - 0x2b, - 0x72, - 0x4f, - 0x4d, - 0x6d, - 0x77, - 0x52, - 0x51, - 0x67, - 0x4c, - 0x46, - 0x50, - 0x6c, - 0x35, - 0x46, - 0x41, - 0x62, - 0x48, - 0x4f, - 0x6b, - 0x31, - 0x41, - 0x58, - 0x5a, - 0x45, - 0x34, - 0x46, - 0x46, - 0x47, - 0x50, - 0x75, - 0x55, - 0x62, - 0x52, - 0x74, - 0x6b, - 0x4f, - 0x45, - 0x72, - 0x64, - 0x77, - 0x34, - 0x74, - 0x5a, - 0x68, - 0x53, - 0x77, - 0x66, - 0x58, - 0x74, - 0x2f, - 0x46, - 0x41, - 0x36, - 0x2b, - 0x32, - 0x4c, - 0x6e, - 0x48, - 0x79, - 0x37, - 0x38, - 0x38, - 0x0a, - 0x58, - 0x4f, - 0x46, - 0x62, - 0x71, - 0x30, - 0x46, - 0x4b, - 0x6e, - 0x63, - 0x6e, - 0x68, - 0x32, - 0x6a, - 0x61, - 0x2b, - 0x64, - 0x37, - 0x65, - 0x4e, - 0x6c, - 0x48, - 0x77, - 0x4c, - 0x4b, - 0x63, - 0x53, - 0x43, - 0x34, - 0x43, - 0x46, - 0x4e, - 0x46, - 0x4b, - 0x51, - 0x6d, - 0x6c, - 0x45, - 0x68, - 0x5a, - 0x5a, - 0x4a, - 0x48, - 0x63, - 0x65, - 0x6e, - 0x2f, - 0x42, - 0x30, - 0x6d, - 0x7a, - 0x72, - 0x48, - 0x6c, - 0x35, - 0x76, - 0x53, - 0x6c, - 0x59, - 0x79, - 0x37, - 0x50, - 0x37, - 0x73, - 0x0a, - 0x63, - 0x32, - 0x52, - 0x34, - 0x33, - 0x54, - 0x6c, - 0x45, - 0x41, - 0x4d, - 0x77, - 0x72, - 0x32, - 0x4a, - 0x30, - 0x4c, - 0x37, - 0x58, - 0x65, - 0x34, - 0x2b, - 0x33, - 0x45, - 0x36, - 0x31, - 0x4f, - 0x64, - 0x43, - 0x4f, - 0x30, - 0x46, - 0x37, - 0x4e, - 0x46, - 0x30, - 0x76, - 0x33, - 0x66, - 0x2f, - 0x34, - 0x5a, - 0x6f, - 0x4a, - 0x49, - 0x6d, - 0x4c, - 0x74, - 0x4e, - 0x7a, - 0x4d, - 0x4f, - 0x31, - 0x68, - 0x69, - 0x61, - 0x51, - 0x34, - 0x69, - 0x67, - 0x3d, - 0x0a, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x45, - 0x4e, - 0x44, - 0x20, - 0x52, - 0x53, - 0x41, - 0x20, - 0x50, - 0x52, - 0x49, - 0x56, - 0x41, - 0x54, - 0x45, - 0x20, - 0x4b, - 0x45, - 0x59, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a +/* clang-format off */ +unsigned char server_key[] = { + /* server key for testing BACnet secure connect */ + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, + 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, + 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x4a, + 0x4b, 0x41, 0x49, 0x42, 0x41, 0x41, 0x4b, 0x43, 0x41, 0x67, 0x45, 0x41, + 0x79, 0x31, 0x65, 0x71, 0x47, 0x4a, 0x69, 0x45, 0x61, 0x4e, 0x55, 0x76, + 0x42, 0x57, 0x35, 0x72, 0x4b, 0x38, 0x77, 0x77, 0x69, 0x75, 0x4d, 0x72, + 0x74, 0x4c, 0x67, 0x74, 0x74, 0x45, 0x65, 0x55, 0x31, 0x51, 0x4f, 0x30, + 0x6e, 0x4d, 0x57, 0x6a, 0x59, 0x43, 0x4f, 0x34, 0x75, 0x36, 0x61, 0x31, + 0x0a, 0x34, 0x58, 0x34, 0x6f, 0x75, 0x7a, 0x68, 0x57, 0x4e, 0x6a, 0x50, + 0x47, 0x35, 0x31, 0x6f, 0x4a, 0x43, 0x76, 0x4b, 0x38, 0x78, 0x71, 0x58, + 0x52, 0x33, 0x2f, 0x7a, 0x62, 0x79, 0x36, 0x66, 0x66, 0x48, 0x69, 0x42, + 0x61, 0x4e, 0x68, 0x4d, 0x34, 0x4c, 0x6e, 0x6c, 0x78, 0x44, 0x30, 0x77, + 0x4d, 0x31, 0x33, 0x36, 0x6d, 0x59, 0x77, 0x51, 0x54, 0x6a, 0x35, 0x33, + 0x57, 0x36, 0x64, 0x4e, 0x2b, 0x0a, 0x6a, 0x33, 0x7a, 0x7a, 0x61, 0x4d, + 0x7a, 0x78, 0x36, 0x4f, 0x55, 0x30, 0x56, 0x4e, 0x77, 0x4f, 0x68, 0x4d, + 0x2b, 0x47, 0x67, 0x33, 0x76, 0x43, 0x70, 0x2f, 0x45, 0x37, 0x58, 0x6b, + 0x57, 0x65, 0x4a, 0x50, 0x42, 0x4d, 0x4a, 0x62, 0x33, 0x52, 0x75, 0x62, + 0x50, 0x76, 0x61, 0x33, 0x72, 0x4d, 0x73, 0x36, 0x62, 0x63, 0x4b, 0x6c, + 0x6d, 0x36, 0x35, 0x30, 0x64, 0x4b, 0x64, 0x63, 0x65, 0x71, 0x0a, 0x32, + 0x41, 0x37, 0x50, 0x71, 0x64, 0x4a, 0x4a, 0x74, 0x4f, 0x4d, 0x37, 0x56, + 0x42, 0x48, 0x63, 0x73, 0x33, 0x34, 0x4f, 0x38, 0x33, 0x54, 0x68, 0x73, + 0x78, 0x63, 0x46, 0x39, 0x37, 0x2f, 0x51, 0x31, 0x55, 0x54, 0x39, 0x43, + 0x6c, 0x34, 0x34, 0x34, 0x59, 0x39, 0x6c, 0x49, 0x59, 0x49, 0x36, 0x30, + 0x71, 0x38, 0x4e, 0x6e, 0x67, 0x36, 0x37, 0x49, 0x71, 0x47, 0x62, 0x5a, + 0x47, 0x69, 0x73, 0x0a, 0x59, 0x6d, 0x63, 0x75, 0x5a, 0x66, 0x45, 0x4d, + 0x55, 0x65, 0x59, 0x45, 0x79, 0x6e, 0x54, 0x52, 0x30, 0x42, 0x78, 0x36, + 0x73, 0x45, 0x52, 0x45, 0x73, 0x4f, 0x51, 0x74, 0x47, 0x6c, 0x31, 0x62, + 0x6a, 0x77, 0x72, 0x61, 0x4c, 0x6d, 0x30, 0x46, 0x43, 0x38, 0x42, 0x77, + 0x6c, 0x6e, 0x4f, 0x55, 0x76, 0x78, 0x44, 0x34, 0x66, 0x5a, 0x2b, 0x43, + 0x35, 0x4a, 0x73, 0x48, 0x62, 0x5a, 0x35, 0x54, 0x0a, 0x4b, 0x30, 0x46, + 0x74, 0x73, 0x32, 0x65, 0x43, 0x2f, 0x71, 0x48, 0x4a, 0x48, 0x4c, 0x52, + 0x73, 0x41, 0x6a, 0x4e, 0x70, 0x67, 0x66, 0x42, 0x71, 0x6c, 0x45, 0x6a, + 0x47, 0x73, 0x74, 0x4e, 0x61, 0x64, 0x30, 0x79, 0x49, 0x48, 0x76, 0x49, + 0x36, 0x39, 0x32, 0x4b, 0x79, 0x56, 0x54, 0x37, 0x56, 0x4b, 0x67, 0x56, + 0x59, 0x42, 0x74, 0x39, 0x58, 0x6e, 0x4b, 0x36, 0x48, 0x41, 0x36, 0x66, + 0x42, 0x0a, 0x4d, 0x78, 0x4b, 0x68, 0x31, 0x48, 0x54, 0x30, 0x37, 0x47, + 0x42, 0x52, 0x71, 0x34, 0x44, 0x62, 0x4b, 0x73, 0x41, 0x76, 0x5a, 0x44, + 0x73, 0x45, 0x7a, 0x6b, 0x61, 0x64, 0x67, 0x75, 0x6c, 0x53, 0x6a, 0x6d, + 0x72, 0x6b, 0x57, 0x41, 0x44, 0x43, 0x53, 0x77, 0x6d, 0x58, 0x7a, 0x44, + 0x4a, 0x49, 0x4f, 0x6c, 0x68, 0x78, 0x43, 0x76, 0x73, 0x57, 0x76, 0x4e, + 0x4b, 0x4f, 0x70, 0x7a, 0x57, 0x6a, 0x0a, 0x31, 0x53, 0x7a, 0x75, 0x45, + 0x51, 0x53, 0x57, 0x53, 0x38, 0x30, 0x46, 0x6d, 0x54, 0x58, 0x35, 0x55, + 0x39, 0x4e, 0x6f, 0x2f, 0x6e, 0x45, 0x52, 0x6a, 0x4b, 0x6c, 0x78, 0x75, + 0x44, 0x36, 0x37, 0x35, 0x67, 0x4c, 0x4e, 0x79, 0x30, 0x6c, 0x61, 0x63, + 0x6b, 0x70, 0x73, 0x49, 0x48, 0x50, 0x5a, 0x36, 0x7a, 0x6f, 0x71, 0x53, + 0x6c, 0x38, 0x4c, 0x68, 0x70, 0x5a, 0x7a, 0x78, 0x51, 0x67, 0x75, 0x0a, + 0x56, 0x51, 0x72, 0x39, 0x62, 0x69, 0x4e, 0x45, 0x57, 0x77, 0x30, 0x62, + 0x64, 0x53, 0x45, 0x44, 0x57, 0x2b, 0x63, 0x68, 0x6e, 0x41, 0x72, 0x7a, + 0x71, 0x4b, 0x71, 0x62, 0x65, 0x54, 0x34, 0x38, 0x52, 0x74, 0x71, 0x46, + 0x77, 0x54, 0x45, 0x44, 0x69, 0x6f, 0x48, 0x38, 0x73, 0x47, 0x47, 0x69, + 0x43, 0x2b, 0x7a, 0x6a, 0x50, 0x31, 0x76, 0x59, 0x78, 0x44, 0x66, 0x6d, + 0x32, 0x49, 0x69, 0x68, 0x0a, 0x41, 0x4f, 0x50, 0x74, 0x48, 0x6e, 0x45, + 0x33, 0x78, 0x7a, 0x6b, 0x44, 0x4c, 0x41, 0x50, 0x4a, 0x76, 0x7a, 0x45, + 0x61, 0x2f, 0x5a, 0x69, 0x61, 0x54, 0x69, 0x4d, 0x61, 0x30, 0x4f, 0x52, + 0x32, 0x71, 0x74, 0x75, 0x30, 0x68, 0x54, 0x6a, 0x62, 0x34, 0x63, 0x7a, + 0x58, 0x49, 0x36, 0x54, 0x79, 0x37, 0x78, 0x6b, 0x53, 0x4c, 0x45, 0x74, + 0x44, 0x4f, 0x6a, 0x43, 0x61, 0x70, 0x53, 0x71, 0x74, 0x0a, 0x34, 0x45, + 0x4b, 0x47, 0x67, 0x43, 0x69, 0x78, 0x7a, 0x63, 0x55, 0x35, 0x45, 0x36, + 0x5a, 0x4d, 0x49, 0x4f, 0x56, 0x6a, 0x72, 0x66, 0x6a, 0x39, 0x70, 0x77, + 0x67, 0x67, 0x2f, 0x66, 0x56, 0x31, 0x35, 0x30, 0x63, 0x31, 0x68, 0x6e, + 0x6e, 0x56, 0x47, 0x75, 0x36, 0x51, 0x42, 0x30, 0x44, 0x72, 0x59, 0x4e, + 0x73, 0x59, 0x50, 0x43, 0x44, 0x44, 0x50, 0x70, 0x4d, 0x43, 0x41, 0x77, + 0x45, 0x41, 0x0a, 0x41, 0x51, 0x4b, 0x43, 0x41, 0x67, 0x45, 0x41, 0x74, + 0x69, 0x33, 0x49, 0x65, 0x31, 0x6a, 0x4a, 0x36, 0x4a, 0x4a, 0x33, 0x47, + 0x6b, 0x71, 0x66, 0x51, 0x68, 0x49, 0x69, 0x75, 0x34, 0x78, 0x6b, 0x4c, + 0x2f, 0x6d, 0x44, 0x47, 0x53, 0x32, 0x34, 0x72, 0x6c, 0x41, 0x76, 0x6c, + 0x50, 0x57, 0x4e, 0x4e, 0x69, 0x6c, 0x4b, 0x37, 0x50, 0x53, 0x6a, 0x70, + 0x32, 0x38, 0x38, 0x56, 0x75, 0x42, 0x57, 0x0a, 0x66, 0x53, 0x46, 0x4f, + 0x5a, 0x79, 0x42, 0x48, 0x55, 0x63, 0x50, 0x41, 0x56, 0x63, 0x6c, 0x69, + 0x69, 0x32, 0x63, 0x6b, 0x46, 0x51, 0x5a, 0x46, 0x34, 0x39, 0x76, 0x67, + 0x64, 0x75, 0x6f, 0x70, 0x50, 0x35, 0x6f, 0x57, 0x4c, 0x54, 0x70, 0x5a, + 0x6c, 0x77, 0x67, 0x6c, 0x55, 0x6a, 0x6a, 0x6f, 0x76, 0x5a, 0x63, 0x51, + 0x59, 0x56, 0x58, 0x57, 0x34, 0x66, 0x39, 0x30, 0x70, 0x4d, 0x52, 0x5a, + 0x0a, 0x52, 0x2b, 0x74, 0x79, 0x51, 0x30, 0x55, 0x55, 0x7a, 0x50, 0x43, + 0x51, 0x39, 0x32, 0x50, 0x2b, 0x4e, 0x6a, 0x44, 0x75, 0x6d, 0x37, 0x75, + 0x4c, 0x77, 0x46, 0x52, 0x36, 0x4a, 0x4b, 0x59, 0x34, 0x4c, 0x45, 0x53, + 0x46, 0x6b, 0x4b, 0x6e, 0x6f, 0x6c, 0x46, 0x77, 0x2b, 0x6a, 0x4d, 0x4c, + 0x76, 0x72, 0x52, 0x34, 0x32, 0x47, 0x2b, 0x66, 0x54, 0x72, 0x4e, 0x63, + 0x34, 0x50, 0x6c, 0x48, 0x6c, 0x0a, 0x4c, 0x32, 0x63, 0x57, 0x56, 0x47, + 0x2f, 0x63, 0x61, 0x41, 0x50, 0x63, 0x71, 0x55, 0x70, 0x69, 0x6d, 0x2b, + 0x31, 0x59, 0x72, 0x32, 0x72, 0x76, 0x55, 0x75, 0x51, 0x49, 0x51, 0x53, + 0x33, 0x42, 0x6b, 0x48, 0x54, 0x45, 0x69, 0x6f, 0x7a, 0x2b, 0x33, 0x70, + 0x74, 0x76, 0x65, 0x39, 0x68, 0x2b, 0x32, 0x4c, 0x77, 0x70, 0x57, 0x49, + 0x42, 0x66, 0x55, 0x5a, 0x70, 0x58, 0x2b, 0x34, 0x56, 0x48, 0x0a, 0x49, + 0x47, 0x6b, 0x51, 0x69, 0x63, 0x4b, 0x33, 0x35, 0x39, 0x68, 0x63, 0x49, + 0x32, 0x68, 0x47, 0x6b, 0x71, 0x55, 0x62, 0x73, 0x36, 0x39, 0x49, 0x78, + 0x4a, 0x4e, 0x59, 0x66, 0x70, 0x65, 0x32, 0x47, 0x5a, 0x31, 0x45, 0x51, + 0x63, 0x63, 0x7a, 0x30, 0x53, 0x73, 0x48, 0x4e, 0x71, 0x57, 0x65, 0x77, + 0x2b, 0x6f, 0x52, 0x63, 0x61, 0x69, 0x54, 0x6f, 0x77, 0x46, 0x76, 0x6f, + 0x33, 0x68, 0x74, 0x0a, 0x36, 0x47, 0x78, 0x53, 0x6e, 0x71, 0x45, 0x57, + 0x30, 0x37, 0x48, 0x30, 0x4b, 0x54, 0x4b, 0x59, 0x69, 0x6c, 0x6e, 0x5a, + 0x69, 0x34, 0x58, 0x49, 0x57, 0x33, 0x48, 0x35, 0x30, 0x51, 0x61, 0x75, + 0x61, 0x68, 0x62, 0x77, 0x48, 0x30, 0x75, 0x56, 0x73, 0x64, 0x32, 0x55, + 0x39, 0x6f, 0x34, 0x6c, 0x37, 0x54, 0x38, 0x5a, 0x4d, 0x65, 0x34, 0x52, + 0x50, 0x6d, 0x66, 0x39, 0x77, 0x46, 0x6e, 0x2f, 0x0a, 0x45, 0x7a, 0x34, + 0x46, 0x74, 0x68, 0x62, 0x6e, 0x51, 0x4f, 0x57, 0x42, 0x6f, 0x31, 0x44, + 0x78, 0x61, 0x42, 0x6d, 0x78, 0x39, 0x42, 0x66, 0x6e, 0x35, 0x6e, 0x43, + 0x35, 0x49, 0x36, 0x52, 0x79, 0x72, 0x36, 0x58, 0x4d, 0x6e, 0x6e, 0x4a, + 0x4a, 0x2b, 0x65, 0x41, 0x74, 0x53, 0x6a, 0x58, 0x53, 0x41, 0x56, 0x37, + 0x2f, 0x36, 0x33, 0x43, 0x72, 0x70, 0x63, 0x42, 0x2b, 0x73, 0x42, 0x74, + 0x46, 0x0a, 0x69, 0x7a, 0x46, 0x33, 0x79, 0x45, 0x51, 0x38, 0x72, 0x74, + 0x57, 0x41, 0x43, 0x71, 0x78, 0x6a, 0x4d, 0x55, 0x50, 0x43, 0x33, 0x4a, + 0x71, 0x39, 0x6c, 0x39, 0x33, 0x39, 0x38, 0x2f, 0x6a, 0x7a, 0x43, 0x70, + 0x5a, 0x5a, 0x4c, 0x76, 0x7a, 0x34, 0x4e, 0x55, 0x6a, 0x6a, 0x74, 0x66, + 0x4e, 0x68, 0x33, 0x69, 0x36, 0x44, 0x50, 0x36, 0x49, 0x68, 0x41, 0x4b, + 0x31, 0x33, 0x54, 0x56, 0x37, 0x49, 0x0a, 0x34, 0x47, 0x34, 0x30, 0x62, + 0x72, 0x5a, 0x68, 0x6d, 0x58, 0x53, 0x56, 0x4b, 0x42, 0x6e, 0x78, 0x47, + 0x37, 0x44, 0x35, 0x69, 0x59, 0x36, 0x50, 0x62, 0x67, 0x56, 0x57, 0x48, + 0x46, 0x44, 0x45, 0x6a, 0x50, 0x44, 0x77, 0x6f, 0x4a, 0x6b, 0x74, 0x4b, + 0x31, 0x42, 0x50, 0x61, 0x64, 0x33, 0x71, 0x57, 0x66, 0x39, 0x34, 0x66, + 0x6d, 0x74, 0x35, 0x79, 0x6b, 0x5a, 0x64, 0x2f, 0x74, 0x65, 0x71, 0x0a, + 0x65, 0x52, 0x49, 0x45, 0x76, 0x55, 0x7a, 0x4a, 0x47, 0x35, 0x50, 0x46, + 0x47, 0x77, 0x4f, 0x7a, 0x78, 0x56, 0x52, 0x48, 0x44, 0x4e, 0x38, 0x51, + 0x51, 0x6d, 0x4e, 0x4a, 0x63, 0x43, 0x4a, 0x75, 0x79, 0x74, 0x77, 0x34, + 0x44, 0x6e, 0x73, 0x78, 0x6f, 0x43, 0x38, 0x33, 0x69, 0x7a, 0x66, 0x68, + 0x2b, 0x6e, 0x45, 0x71, 0x45, 0x50, 0x50, 0x51, 0x69, 0x44, 0x46, 0x6f, + 0x54, 0x4c, 0x79, 0x44, 0x0a, 0x2b, 0x34, 0x56, 0x52, 0x67, 0x46, 0x42, + 0x62, 0x36, 0x61, 0x69, 0x72, 0x56, 0x63, 0x79, 0x58, 0x57, 0x64, 0x72, + 0x32, 0x30, 0x43, 0x64, 0x4f, 0x47, 0x67, 0x58, 0x6f, 0x42, 0x4d, 0x72, + 0x4e, 0x42, 0x6c, 0x2b, 0x45, 0x36, 0x32, 0x4d, 0x59, 0x41, 0x65, 0x32, + 0x71, 0x63, 0x36, 0x37, 0x63, 0x51, 0x59, 0x45, 0x43, 0x67, 0x67, 0x45, + 0x42, 0x41, 0x4f, 0x39, 0x32, 0x58, 0x4e, 0x41, 0x46, 0x0a, 0x52, 0x41, + 0x77, 0x5a, 0x79, 0x64, 0x7a, 0x59, 0x63, 0x68, 0x35, 0x45, 0x35, 0x65, + 0x6a, 0x7a, 0x39, 0x54, 0x5a, 0x62, 0x48, 0x66, 0x65, 0x66, 0x34, 0x7a, + 0x4e, 0x42, 0x48, 0x55, 0x2f, 0x6d, 0x56, 0x31, 0x76, 0x68, 0x38, 0x39, + 0x64, 0x39, 0x4b, 0x6a, 0x53, 0x46, 0x2f, 0x4f, 0x69, 0x4c, 0x33, 0x45, + 0x6e, 0x6f, 0x59, 0x78, 0x50, 0x6b, 0x48, 0x67, 0x55, 0x58, 0x79, 0x6e, + 0x39, 0x41, 0x0a, 0x34, 0x43, 0x34, 0x75, 0x31, 0x72, 0x6c, 0x64, 0x5a, + 0x36, 0x64, 0x77, 0x43, 0x56, 0x41, 0x62, 0x5a, 0x4a, 0x6e, 0x54, 0x38, + 0x55, 0x46, 0x32, 0x6e, 0x4c, 0x52, 0x46, 0x4d, 0x58, 0x68, 0x61, 0x71, + 0x79, 0x4a, 0x45, 0x6d, 0x54, 0x37, 0x6a, 0x43, 0x59, 0x52, 0x79, 0x37, + 0x65, 0x72, 0x64, 0x37, 0x56, 0x4c, 0x39, 0x35, 0x67, 0x56, 0x68, 0x55, + 0x4f, 0x73, 0x4a, 0x59, 0x77, 0x4c, 0x6d, 0x0a, 0x74, 0x59, 0x66, 0x63, + 0x69, 0x6b, 0x30, 0x37, 0x51, 0x6d, 0x44, 0x53, 0x50, 0x56, 0x75, 0x47, + 0x68, 0x56, 0x32, 0x4b, 0x65, 0x6b, 0x6e, 0x7a, 0x54, 0x61, 0x31, 0x4e, + 0x53, 0x54, 0x55, 0x38, 0x76, 0x77, 0x51, 0x46, 0x2b, 0x77, 0x4b, 0x48, + 0x69, 0x38, 0x36, 0x34, 0x64, 0x6d, 0x7a, 0x6b, 0x73, 0x6c, 0x59, 0x6e, + 0x51, 0x71, 0x62, 0x46, 0x6f, 0x54, 0x56, 0x52, 0x5a, 0x74, 0x4e, 0x65, + 0x0a, 0x72, 0x4c, 0x62, 0x36, 0x67, 0x36, 0x6e, 0x63, 0x77, 0x36, 0x4a, + 0x57, 0x78, 0x39, 0x79, 0x65, 0x42, 0x30, 0x37, 0x56, 0x64, 0x70, 0x4a, + 0x70, 0x36, 0x78, 0x39, 0x54, 0x59, 0x54, 0x2b, 0x48, 0x47, 0x6a, 0x33, + 0x6b, 0x62, 0x35, 0x61, 0x63, 0x75, 0x49, 0x6e, 0x50, 0x2b, 0x6a, 0x67, + 0x37, 0x47, 0x5a, 0x7a, 0x6b, 0x72, 0x48, 0x4a, 0x4d, 0x6e, 0x48, 0x4c, + 0x77, 0x65, 0x46, 0x76, 0x62, 0x0a, 0x4e, 0x57, 0x5a, 0x66, 0x6c, 0x50, + 0x66, 0x69, 0x41, 0x4e, 0x6d, 0x77, 0x4d, 0x38, 0x77, 0x4d, 0x52, 0x2b, + 0x6b, 0x66, 0x50, 0x32, 0x76, 0x6f, 0x67, 0x47, 0x61, 0x6d, 0x4b, 0x43, + 0x69, 0x65, 0x6f, 0x6a, 0x56, 0x61, 0x54, 0x69, 0x38, 0x76, 0x67, 0x71, + 0x71, 0x6a, 0x78, 0x34, 0x55, 0x47, 0x50, 0x64, 0x35, 0x39, 0x36, 0x46, + 0x4e, 0x46, 0x65, 0x69, 0x5a, 0x52, 0x76, 0x58, 0x4e, 0x6b, 0x0a, 0x30, + 0x64, 0x42, 0x30, 0x41, 0x4b, 0x32, 0x51, 0x2f, 0x31, 0x32, 0x36, 0x53, + 0x6c, 0x45, 0x43, 0x67, 0x67, 0x45, 0x42, 0x41, 0x4e, 0x6c, 0x69, 0x74, + 0x64, 0x78, 0x48, 0x74, 0x74, 0x78, 0x68, 0x2f, 0x57, 0x71, 0x77, 0x46, + 0x4b, 0x33, 0x35, 0x62, 0x63, 0x4f, 0x54, 0x58, 0x61, 0x68, 0x36, 0x50, + 0x61, 0x70, 0x50, 0x64, 0x67, 0x2f, 0x37, 0x32, 0x50, 0x75, 0x4f, 0x6c, + 0x33, 0x57, 0x74, 0x0a, 0x37, 0x57, 0x6e, 0x38, 0x41, 0x74, 0x36, 0x46, + 0x49, 0x47, 0x51, 0x33, 0x58, 0x5a, 0x4f, 0x4f, 0x50, 0x66, 0x39, 0x76, + 0x35, 0x48, 0x66, 0x71, 0x50, 0x70, 0x53, 0x6c, 0x4e, 0x56, 0x39, 0x33, + 0x41, 0x58, 0x58, 0x61, 0x4f, 0x36, 0x49, 0x54, 0x7a, 0x77, 0x49, 0x45, + 0x62, 0x38, 0x49, 0x47, 0x33, 0x69, 0x45, 0x4f, 0x74, 0x54, 0x4c, 0x77, + 0x32, 0x39, 0x32, 0x4b, 0x55, 0x38, 0x6c, 0x4a, 0x0a, 0x4c, 0x6c, 0x38, + 0x58, 0x70, 0x68, 0x4f, 0x6b, 0x56, 0x55, 0x72, 0x50, 0x6b, 0x7a, 0x47, + 0x47, 0x36, 0x64, 0x66, 0x56, 0x4e, 0x70, 0x36, 0x49, 0x32, 0x68, 0x54, + 0x70, 0x59, 0x4a, 0x49, 0x53, 0x77, 0x41, 0x55, 0x35, 0x48, 0x76, 0x4b, + 0x70, 0x63, 0x39, 0x6f, 0x42, 0x30, 0x59, 0x4b, 0x68, 0x56, 0x4c, 0x66, + 0x43, 0x2b, 0x69, 0x64, 0x61, 0x6b, 0x56, 0x43, 0x35, 0x66, 0x5a, 0x7a, + 0x36, 0x0a, 0x7a, 0x46, 0x41, 0x6f, 0x32, 0x37, 0x46, 0x65, 0x6f, 0x49, + 0x45, 0x64, 0x48, 0x74, 0x39, 0x32, 0x5a, 0x65, 0x36, 0x51, 0x33, 0x34, + 0x4e, 0x4a, 0x67, 0x70, 0x56, 0x62, 0x67, 0x6d, 0x54, 0x30, 0x2b, 0x77, + 0x74, 0x75, 0x75, 0x72, 0x71, 0x6f, 0x5a, 0x2f, 0x7a, 0x52, 0x74, 0x6b, + 0x78, 0x34, 0x35, 0x77, 0x75, 0x71, 0x49, 0x33, 0x45, 0x2b, 0x54, 0x44, + 0x61, 0x31, 0x53, 0x75, 0x71, 0x33, 0x0a, 0x34, 0x4f, 0x51, 0x73, 0x65, + 0x32, 0x57, 0x63, 0x67, 0x6a, 0x7a, 0x53, 0x66, 0x64, 0x4c, 0x4a, 0x74, + 0x54, 0x66, 0x79, 0x65, 0x4c, 0x31, 0x70, 0x34, 0x56, 0x68, 0x47, 0x79, + 0x63, 0x78, 0x67, 0x2b, 0x4a, 0x45, 0x35, 0x48, 0x34, 0x6a, 0x69, 0x33, + 0x7a, 0x35, 0x33, 0x46, 0x78, 0x72, 0x4d, 0x6e, 0x41, 0x30, 0x6d, 0x53, + 0x45, 0x6c, 0x79, 0x45, 0x6a, 0x69, 0x38, 0x38, 0x78, 0x54, 0x47, 0x0a, + 0x48, 0x43, 0x59, 0x47, 0x49, 0x6e, 0x4a, 0x70, 0x5a, 0x72, 0x2b, 0x51, + 0x7a, 0x67, 0x50, 0x54, 0x7a, 0x57, 0x66, 0x35, 0x52, 0x34, 0x36, 0x6b, + 0x30, 0x38, 0x47, 0x4b, 0x73, 0x6d, 0x56, 0x67, 0x6a, 0x31, 0x50, 0x32, + 0x7a, 0x39, 0x4f, 0x65, 0x33, 0x61, 0x4d, 0x43, 0x67, 0x67, 0x45, 0x41, + 0x48, 0x42, 0x6b, 0x64, 0x5a, 0x75, 0x4e, 0x58, 0x53, 0x72, 0x77, 0x7a, + 0x37, 0x5a, 0x41, 0x51, 0x0a, 0x51, 0x2f, 0x44, 0x39, 0x73, 0x55, 0x6e, + 0x2b, 0x2b, 0x66, 0x50, 0x54, 0x48, 0x6c, 0x31, 0x4b, 0x67, 0x5a, 0x63, + 0x67, 0x59, 0x32, 0x47, 0x35, 0x32, 0x6e, 0x51, 0x32, 0x38, 0x70, 0x41, + 0x6a, 0x52, 0x61, 0x70, 0x37, 0x4e, 0x4b, 0x5a, 0x45, 0x6f, 0x50, 0x39, + 0x39, 0x73, 0x4c, 0x58, 0x52, 0x74, 0x2f, 0x4e, 0x45, 0x74, 0x59, 0x33, + 0x64, 0x51, 0x45, 0x34, 0x4b, 0x73, 0x42, 0x46, 0x2f, 0x0a, 0x75, 0x69, + 0x76, 0x78, 0x53, 0x38, 0x38, 0x4c, 0x44, 0x4f, 0x6e, 0x4c, 0x6f, 0x30, + 0x7a, 0x52, 0x73, 0x6d, 0x31, 0x30, 0x45, 0x70, 0x56, 0x42, 0x41, 0x33, + 0x4a, 0x64, 0x4d, 0x50, 0x33, 0x65, 0x2f, 0x67, 0x57, 0x6d, 0x57, 0x53, + 0x72, 0x56, 0x55, 0x43, 0x6d, 0x75, 0x74, 0x65, 0x37, 0x6e, 0x57, 0x63, + 0x7a, 0x75, 0x4b, 0x30, 0x62, 0x37, 0x41, 0x67, 0x67, 0x6b, 0x79, 0x6b, + 0x38, 0x72, 0x0a, 0x79, 0x4d, 0x53, 0x69, 0x6f, 0x6e, 0x79, 0x30, 0x5a, + 0x58, 0x64, 0x38, 0x52, 0x66, 0x55, 0x67, 0x70, 0x6a, 0x63, 0x74, 0x59, + 0x65, 0x76, 0x51, 0x31, 0x68, 0x34, 0x46, 0x69, 0x42, 0x52, 0x7a, 0x6d, + 0x54, 0x77, 0x58, 0x32, 0x55, 0x73, 0x30, 0x69, 0x64, 0x74, 0x74, 0x66, + 0x4c, 0x67, 0x76, 0x35, 0x46, 0x75, 0x36, 0x33, 0x77, 0x35, 0x36, 0x34, + 0x62, 0x57, 0x66, 0x67, 0x57, 0x30, 0x41, 0x0a, 0x48, 0x36, 0x70, 0x6a, + 0x4a, 0x55, 0x58, 0x39, 0x77, 0x59, 0x68, 0x57, 0x73, 0x33, 0x4e, 0x75, + 0x50, 0x57, 0x7a, 0x42, 0x4f, 0x6e, 0x30, 0x56, 0x33, 0x54, 0x46, 0x53, + 0x7a, 0x71, 0x39, 0x78, 0x44, 0x2b, 0x71, 0x78, 0x68, 0x36, 0x75, 0x58, + 0x6f, 0x38, 0x74, 0x4a, 0x57, 0x4e, 0x67, 0x59, 0x65, 0x33, 0x77, 0x77, + 0x41, 0x30, 0x64, 0x44, 0x69, 0x74, 0x47, 0x6f, 0x58, 0x7a, 0x58, 0x4c, + 0x0a, 0x74, 0x37, 0x39, 0x76, 0x4e, 0x49, 0x41, 0x30, 0x5a, 0x2b, 0x78, + 0x63, 0x75, 0x73, 0x4b, 0x37, 0x58, 0x6c, 0x41, 0x63, 0x34, 0x6a, 0x64, + 0x4b, 0x2f, 0x55, 0x75, 0x74, 0x5a, 0x4f, 0x67, 0x45, 0x51, 0x78, 0x57, + 0x59, 0x73, 0x63, 0x6b, 0x37, 0x74, 0x55, 0x47, 0x38, 0x34, 0x78, 0x69, + 0x42, 0x37, 0x73, 0x45, 0x6b, 0x6f, 0x38, 0x65, 0x75, 0x76, 0x76, 0x44, + 0x39, 0x71, 0x32, 0x41, 0x61, 0x0a, 0x4e, 0x74, 0x74, 0x48, 0x49, 0x51, + 0x4b, 0x43, 0x41, 0x51, 0x42, 0x44, 0x77, 0x30, 0x5a, 0x6e, 0x56, 0x52, + 0x2b, 0x47, 0x55, 0x54, 0x46, 0x61, 0x71, 0x57, 0x71, 0x34, 0x31, 0x4a, + 0x44, 0x48, 0x72, 0x30, 0x38, 0x35, 0x72, 0x6d, 0x6b, 0x38, 0x68, 0x71, + 0x71, 0x4a, 0x7a, 0x76, 0x72, 0x54, 0x5a, 0x35, 0x36, 0x45, 0x2b, 0x32, + 0x4f, 0x50, 0x62, 0x78, 0x52, 0x42, 0x34, 0x77, 0x4f, 0x32, 0x0a, 0x32, + 0x5a, 0x39, 0x63, 0x32, 0x4c, 0x45, 0x77, 0x78, 0x2b, 0x4e, 0x54, 0x45, + 0x66, 0x7a, 0x52, 0x2f, 0x7a, 0x48, 0x46, 0x41, 0x57, 0x61, 0x2b, 0x49, + 0x76, 0x6f, 0x46, 0x79, 0x75, 0x44, 0x7a, 0x67, 0x77, 0x69, 0x48, 0x56, + 0x66, 0x61, 0x32, 0x48, 0x55, 0x79, 0x55, 0x68, 0x59, 0x6f, 0x7a, 0x34, + 0x2b, 0x4f, 0x38, 0x55, 0x67, 0x69, 0x58, 0x63, 0x64, 0x71, 0x2b, 0x4d, + 0x72, 0x4b, 0x33, 0x0a, 0x73, 0x44, 0x37, 0x30, 0x36, 0x46, 0x5a, 0x4b, + 0x68, 0x6c, 0x63, 0x52, 0x55, 0x68, 0x32, 0x51, 0x2b, 0x54, 0x4b, 0x32, + 0x4e, 0x67, 0x77, 0x50, 0x56, 0x4c, 0x2f, 0x31, 0x36, 0x71, 0x61, 0x48, + 0x5a, 0x5a, 0x75, 0x32, 0x65, 0x61, 0x33, 0x62, 0x33, 0x6e, 0x5a, 0x32, + 0x41, 0x41, 0x42, 0x65, 0x52, 0x6f, 0x51, 0x47, 0x68, 0x42, 0x4e, 0x65, + 0x52, 0x57, 0x34, 0x2b, 0x4f, 0x76, 0x34, 0x54, 0x0a, 0x59, 0x55, 0x31, + 0x33, 0x59, 0x51, 0x50, 0x6a, 0x4f, 0x74, 0x76, 0x42, 0x70, 0x41, 0x2b, + 0x46, 0x6d, 0x56, 0x48, 0x72, 0x51, 0x49, 0x5a, 0x6c, 0x43, 0x4f, 0x35, + 0x43, 0x4d, 0x79, 0x36, 0x2f, 0x47, 0x32, 0x77, 0x56, 0x4b, 0x48, 0x62, + 0x31, 0x4a, 0x75, 0x4d, 0x48, 0x63, 0x4f, 0x44, 0x33, 0x43, 0x4d, 0x70, + 0x43, 0x6f, 0x6e, 0x45, 0x44, 0x44, 0x32, 0x36, 0x6a, 0x76, 0x51, 0x62, + 0x49, 0x0a, 0x43, 0x4f, 0x46, 0x5a, 0x37, 0x4c, 0x43, 0x46, 0x73, 0x52, + 0x71, 0x38, 0x43, 0x4a, 0x35, 0x4c, 0x45, 0x7a, 0x33, 0x69, 0x62, 0x4c, + 0x50, 0x76, 0x4b, 0x50, 0x78, 0x51, 0x67, 0x6c, 0x41, 0x4f, 0x75, 0x37, + 0x62, 0x44, 0x44, 0x74, 0x62, 0x79, 0x4c, 0x6d, 0x58, 0x49, 0x4a, 0x7a, + 0x76, 0x51, 0x33, 0x65, 0x31, 0x30, 0x49, 0x31, 0x45, 0x77, 0x39, 0x53, + 0x61, 0x56, 0x76, 0x59, 0x39, 0x65, 0x0a, 0x31, 0x62, 0x65, 0x79, 0x62, + 0x37, 0x71, 0x4f, 0x31, 0x36, 0x44, 0x62, 0x73, 0x54, 0x75, 0x6c, 0x45, + 0x43, 0x51, 0x4e, 0x2f, 0x2b, 0x79, 0x4e, 0x77, 0x74, 0x6b, 0x44, 0x34, + 0x58, 0x69, 0x37, 0x41, 0x6f, 0x49, 0x42, 0x41, 0x41, 0x63, 0x73, 0x6f, + 0x4f, 0x7a, 0x75, 0x50, 0x6d, 0x37, 0x35, 0x4a, 0x4f, 0x32, 0x42, 0x33, + 0x76, 0x32, 0x45, 0x64, 0x2b, 0x37, 0x47, 0x4b, 0x31, 0x53, 0x63, 0x0a, + 0x6c, 0x76, 0x56, 0x4e, 0x55, 0x33, 0x43, 0x7a, 0x30, 0x4e, 0x66, 0x4c, + 0x50, 0x4a, 0x56, 0x79, 0x73, 0x56, 0x53, 0x48, 0x65, 0x67, 0x61, 0x53, + 0x5a, 0x38, 0x33, 0x5a, 0x6f, 0x4e, 0x50, 0x68, 0x6d, 0x54, 0x42, 0x47, + 0x62, 0x72, 0x56, 0x45, 0x72, 0x31, 0x62, 0x33, 0x42, 0x55, 0x59, 0x30, + 0x6c, 0x6b, 0x46, 0x49, 0x4f, 0x6f, 0x33, 0x6d, 0x66, 0x30, 0x32, 0x6c, + 0x37, 0x57, 0x48, 0x59, 0x0a, 0x78, 0x4d, 0x51, 0x38, 0x48, 0x63, 0x32, + 0x61, 0x6e, 0x55, 0x38, 0x71, 0x64, 0x4f, 0x58, 0x76, 0x6f, 0x58, 0x62, + 0x51, 0x34, 0x2f, 0x59, 0x59, 0x4b, 0x31, 0x57, 0x42, 0x76, 0x4b, 0x75, + 0x2f, 0x43, 0x6c, 0x42, 0x53, 0x45, 0x63, 0x61, 0x4f, 0x39, 0x30, 0x62, + 0x71, 0x79, 0x44, 0x73, 0x37, 0x33, 0x6d, 0x69, 0x46, 0x57, 0x2f, 0x43, + 0x31, 0x54, 0x66, 0x78, 0x50, 0x58, 0x6e, 0x6b, 0x53, 0x0a, 0x54, 0x2b, + 0x72, 0x4f, 0x4d, 0x6d, 0x77, 0x52, 0x51, 0x67, 0x4c, 0x46, 0x50, 0x6c, + 0x35, 0x46, 0x41, 0x62, 0x48, 0x4f, 0x6b, 0x31, 0x41, 0x58, 0x5a, 0x45, + 0x34, 0x46, 0x46, 0x47, 0x50, 0x75, 0x55, 0x62, 0x52, 0x74, 0x6b, 0x4f, + 0x45, 0x72, 0x64, 0x77, 0x34, 0x74, 0x5a, 0x68, 0x53, 0x77, 0x66, 0x58, + 0x74, 0x2f, 0x46, 0x41, 0x36, 0x2b, 0x32, 0x4c, 0x6e, 0x48, 0x79, 0x37, + 0x38, 0x38, 0x0a, 0x58, 0x4f, 0x46, 0x62, 0x71, 0x30, 0x46, 0x4b, 0x6e, + 0x63, 0x6e, 0x68, 0x32, 0x6a, 0x61, 0x2b, 0x64, 0x37, 0x65, 0x4e, 0x6c, + 0x48, 0x77, 0x4c, 0x4b, 0x63, 0x53, 0x43, 0x34, 0x43, 0x46, 0x4e, 0x46, + 0x4b, 0x51, 0x6d, 0x6c, 0x45, 0x68, 0x5a, 0x5a, 0x4a, 0x48, 0x63, 0x65, + 0x6e, 0x2f, 0x42, 0x30, 0x6d, 0x7a, 0x72, 0x48, 0x6c, 0x35, 0x76, 0x53, + 0x6c, 0x59, 0x79, 0x37, 0x50, 0x37, 0x73, 0x0a, 0x63, 0x32, 0x52, 0x34, + 0x33, 0x54, 0x6c, 0x45, 0x41, 0x4d, 0x77, 0x72, 0x32, 0x4a, 0x30, 0x4c, + 0x37, 0x58, 0x65, 0x34, 0x2b, 0x33, 0x45, 0x36, 0x31, 0x4f, 0x64, 0x43, + 0x4f, 0x30, 0x46, 0x37, 0x4e, 0x46, 0x30, 0x76, 0x33, 0x66, 0x2f, 0x34, + 0x5a, 0x6f, 0x4a, 0x49, 0x6d, 0x4c, 0x74, 0x4e, 0x7a, 0x4d, 0x4f, 0x31, + 0x68, 0x69, 0x61, 0x51, 0x34, 0x69, 0x67, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, + 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x0a #ifdef CONFIG_MBEDTLS - , - 0x00 + , 0x00 #endif }; +/* clang-format on */ -unsigned char server_cert[] = { 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x42, - 0x45, - 0x47, - 0x49, - 0x4e, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, - 0x4d, - 0x49, - 0x49, - 0x45, - 0x47, - 0x7a, - 0x43, - 0x43, - 0x41, - 0x77, - 0x4f, - 0x67, - 0x41, - 0x77, - 0x49, - 0x42, - 0x41, - 0x67, - 0x49, - 0x44, - 0x45, - 0x41, - 0x41, - 0x44, - 0x4d, - 0x41, - 0x30, - 0x47, - 0x43, - 0x53, - 0x71, - 0x47, - 0x53, - 0x49, - 0x62, - 0x33, - 0x44, - 0x51, - 0x45, - 0x42, - 0x43, - 0x77, - 0x55, - 0x41, - 0x4d, - 0x45, - 0x38, - 0x78, - 0x47, - 0x7a, - 0x41, - 0x5a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x6f, - 0x54, - 0x45, - 0x6d, - 0x78, - 0x70, - 0x0a, - 0x59, - 0x6e, - 0x64, - 0x6c, - 0x59, - 0x6e, - 0x4e, - 0x76, - 0x59, - 0x32, - 0x74, - 0x6c, - 0x64, - 0x48, - 0x4d, - 0x74, - 0x64, - 0x47, - 0x56, - 0x7a, - 0x64, - 0x44, - 0x45, - 0x53, - 0x4d, - 0x42, - 0x41, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x42, - 0x78, - 0x4d, - 0x4a, - 0x57, - 0x47, - 0x6c, - 0x68, - 0x62, - 0x32, - 0x4a, - 0x70, - 0x64, - 0x47, - 0x46, - 0x75, - 0x4d, - 0x51, - 0x38, - 0x77, - 0x44, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x49, - 0x45, - 0x77, - 0x5a, - 0x55, - 0x0a, - 0x59, - 0x57, - 0x6c, - 0x77, - 0x5a, - 0x57, - 0x6b, - 0x78, - 0x43, - 0x7a, - 0x41, - 0x4a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x59, - 0x54, - 0x41, - 0x6c, - 0x52, - 0x58, - 0x4d, - 0x43, - 0x41, - 0x58, - 0x44, - 0x54, - 0x49, - 0x79, - 0x4d, - 0x44, - 0x63, - 0x77, - 0x4e, - 0x6a, - 0x45, - 0x78, - 0x4d, - 0x6a, - 0x55, - 0x77, - 0x4d, - 0x31, - 0x6f, - 0x59, - 0x44, - 0x7a, - 0x49, - 0x77, - 0x4e, - 0x54, - 0x41, - 0x77, - 0x4e, - 0x7a, - 0x45, - 0x35, - 0x4d, - 0x54, - 0x45, - 0x79, - 0x0a, - 0x4e, - 0x54, - 0x41, - 0x7a, - 0x57, - 0x6a, - 0x42, - 0x50, - 0x4d, - 0x51, - 0x73, - 0x77, - 0x43, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x47, - 0x45, - 0x77, - 0x4a, - 0x55, - 0x56, - 0x7a, - 0x45, - 0x50, - 0x4d, - 0x41, - 0x30, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x43, - 0x42, - 0x4d, - 0x47, - 0x56, - 0x47, - 0x46, - 0x70, - 0x63, - 0x47, - 0x56, - 0x70, - 0x4d, - 0x52, - 0x73, - 0x77, - 0x47, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x4b, - 0x45, - 0x78, - 0x4a, - 0x73, - 0x0a, - 0x61, - 0x57, - 0x4a, - 0x33, - 0x5a, - 0x57, - 0x4a, - 0x7a, - 0x62, - 0x32, - 0x4e, - 0x72, - 0x5a, - 0x58, - 0x52, - 0x7a, - 0x4c, - 0x58, - 0x52, - 0x6c, - 0x63, - 0x33, - 0x51, - 0x78, - 0x45, - 0x6a, - 0x41, - 0x51, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x4d, - 0x54, - 0x43, - 0x57, - 0x78, - 0x76, - 0x59, - 0x32, - 0x46, - 0x73, - 0x61, - 0x47, - 0x39, - 0x7a, - 0x64, - 0x44, - 0x43, - 0x43, - 0x41, - 0x69, - 0x49, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x0a, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x45, - 0x42, - 0x42, - 0x51, - 0x41, - 0x44, - 0x67, - 0x67, - 0x49, - 0x50, - 0x41, - 0x44, - 0x43, - 0x43, - 0x41, - 0x67, - 0x6f, - 0x43, - 0x67, - 0x67, - 0x49, - 0x42, - 0x41, - 0x4d, - 0x74, - 0x58, - 0x71, - 0x68, - 0x69, - 0x59, - 0x68, - 0x47, - 0x6a, - 0x56, - 0x4c, - 0x77, - 0x56, - 0x75, - 0x61, - 0x79, - 0x76, - 0x4d, - 0x4d, - 0x49, - 0x72, - 0x6a, - 0x4b, - 0x37, - 0x53, - 0x34, - 0x4c, - 0x62, - 0x52, - 0x48, - 0x6c, - 0x4e, - 0x55, - 0x44, - 0x0a, - 0x74, - 0x4a, - 0x7a, - 0x46, - 0x6f, - 0x32, - 0x41, - 0x6a, - 0x75, - 0x4c, - 0x75, - 0x6d, - 0x74, - 0x65, - 0x46, - 0x2b, - 0x4b, - 0x4c, - 0x73, - 0x34, - 0x56, - 0x6a, - 0x59, - 0x7a, - 0x78, - 0x75, - 0x64, - 0x61, - 0x43, - 0x51, - 0x72, - 0x79, - 0x76, - 0x4d, - 0x61, - 0x6c, - 0x30, - 0x64, - 0x2f, - 0x38, - 0x32, - 0x38, - 0x75, - 0x6e, - 0x33, - 0x78, - 0x34, - 0x67, - 0x57, - 0x6a, - 0x59, - 0x54, - 0x4f, - 0x43, - 0x35, - 0x35, - 0x63, - 0x51, - 0x39, - 0x4d, - 0x44, - 0x4e, - 0x64, - 0x2b, - 0x0a, - 0x70, - 0x6d, - 0x4d, - 0x45, - 0x45, - 0x34, - 0x2b, - 0x64, - 0x31, - 0x75, - 0x6e, - 0x54, - 0x66, - 0x6f, - 0x39, - 0x38, - 0x38, - 0x32, - 0x6a, - 0x4d, - 0x38, - 0x65, - 0x6a, - 0x6c, - 0x4e, - 0x46, - 0x54, - 0x63, - 0x44, - 0x6f, - 0x54, - 0x50, - 0x68, - 0x6f, - 0x4e, - 0x37, - 0x77, - 0x71, - 0x66, - 0x78, - 0x4f, - 0x31, - 0x35, - 0x46, - 0x6e, - 0x69, - 0x54, - 0x77, - 0x54, - 0x43, - 0x57, - 0x39, - 0x30, - 0x62, - 0x6d, - 0x7a, - 0x37, - 0x32, - 0x74, - 0x36, - 0x7a, - 0x4c, - 0x4f, - 0x6d, - 0x0a, - 0x33, - 0x43, - 0x70, - 0x5a, - 0x75, - 0x75, - 0x64, - 0x48, - 0x53, - 0x6e, - 0x58, - 0x48, - 0x71, - 0x74, - 0x67, - 0x4f, - 0x7a, - 0x36, - 0x6e, - 0x53, - 0x53, - 0x62, - 0x54, - 0x6a, - 0x4f, - 0x31, - 0x51, - 0x52, - 0x33, - 0x4c, - 0x4e, - 0x2b, - 0x44, - 0x76, - 0x4e, - 0x30, - 0x34, - 0x62, - 0x4d, - 0x58, - 0x42, - 0x66, - 0x65, - 0x2f, - 0x30, - 0x4e, - 0x56, - 0x45, - 0x2f, - 0x51, - 0x70, - 0x65, - 0x4f, - 0x4f, - 0x47, - 0x50, - 0x5a, - 0x53, - 0x47, - 0x43, - 0x4f, - 0x74, - 0x4b, - 0x76, - 0x0a, - 0x44, - 0x5a, - 0x34, - 0x4f, - 0x75, - 0x79, - 0x4b, - 0x68, - 0x6d, - 0x32, - 0x52, - 0x6f, - 0x72, - 0x47, - 0x4a, - 0x6e, - 0x4c, - 0x6d, - 0x58, - 0x78, - 0x44, - 0x46, - 0x48, - 0x6d, - 0x42, - 0x4d, - 0x70, - 0x30, - 0x30, - 0x64, - 0x41, - 0x63, - 0x65, - 0x72, - 0x42, - 0x45, - 0x52, - 0x4c, - 0x44, - 0x6b, - 0x4c, - 0x52, - 0x70, - 0x64, - 0x57, - 0x34, - 0x38, - 0x4b, - 0x32, - 0x69, - 0x35, - 0x74, - 0x42, - 0x51, - 0x76, - 0x41, - 0x63, - 0x4a, - 0x5a, - 0x7a, - 0x6c, - 0x4c, - 0x38, - 0x51, - 0x0a, - 0x2b, - 0x48, - 0x32, - 0x66, - 0x67, - 0x75, - 0x53, - 0x62, - 0x42, - 0x32, - 0x32, - 0x65, - 0x55, - 0x79, - 0x74, - 0x42, - 0x62, - 0x62, - 0x4e, - 0x6e, - 0x67, - 0x76, - 0x36, - 0x68, - 0x79, - 0x52, - 0x79, - 0x30, - 0x62, - 0x41, - 0x49, - 0x7a, - 0x61, - 0x59, - 0x48, - 0x77, - 0x61, - 0x70, - 0x52, - 0x49, - 0x78, - 0x72, - 0x4c, - 0x54, - 0x57, - 0x6e, - 0x64, - 0x4d, - 0x69, - 0x42, - 0x37, - 0x79, - 0x4f, - 0x76, - 0x64, - 0x69, - 0x73, - 0x6c, - 0x55, - 0x2b, - 0x31, - 0x53, - 0x6f, - 0x46, - 0x0a, - 0x57, - 0x41, - 0x62, - 0x66, - 0x56, - 0x35, - 0x79, - 0x75, - 0x68, - 0x77, - 0x4f, - 0x6e, - 0x77, - 0x54, - 0x4d, - 0x53, - 0x6f, - 0x64, - 0x52, - 0x30, - 0x39, - 0x4f, - 0x78, - 0x67, - 0x55, - 0x61, - 0x75, - 0x41, - 0x32, - 0x79, - 0x72, - 0x41, - 0x4c, - 0x32, - 0x51, - 0x37, - 0x42, - 0x4d, - 0x35, - 0x47, - 0x6e, - 0x59, - 0x4c, - 0x70, - 0x55, - 0x6f, - 0x35, - 0x71, - 0x35, - 0x46, - 0x67, - 0x41, - 0x77, - 0x6b, - 0x73, - 0x4a, - 0x6c, - 0x38, - 0x77, - 0x79, - 0x53, - 0x44, - 0x70, - 0x59, - 0x0a, - 0x63, - 0x51, - 0x72, - 0x37, - 0x46, - 0x72, - 0x7a, - 0x53, - 0x6a, - 0x71, - 0x63, - 0x31, - 0x6f, - 0x39, - 0x55, - 0x73, - 0x37, - 0x68, - 0x45, - 0x45, - 0x6c, - 0x6b, - 0x76, - 0x4e, - 0x42, - 0x5a, - 0x6b, - 0x31, - 0x2b, - 0x56, - 0x50, - 0x54, - 0x61, - 0x50, - 0x35, - 0x78, - 0x45, - 0x59, - 0x79, - 0x70, - 0x63, - 0x62, - 0x67, - 0x2b, - 0x75, - 0x2b, - 0x59, - 0x43, - 0x7a, - 0x63, - 0x74, - 0x4a, - 0x57, - 0x6e, - 0x4a, - 0x4b, - 0x62, - 0x43, - 0x42, - 0x7a, - 0x32, - 0x65, - 0x73, - 0x36, - 0x0a, - 0x4b, - 0x6b, - 0x70, - 0x66, - 0x43, - 0x34, - 0x61, - 0x57, - 0x63, - 0x38, - 0x55, - 0x49, - 0x4c, - 0x6c, - 0x55, - 0x4b, - 0x2f, - 0x57, - 0x34, - 0x6a, - 0x52, - 0x46, - 0x73, - 0x4e, - 0x47, - 0x33, - 0x55, - 0x68, - 0x41, - 0x31, - 0x76, - 0x6e, - 0x49, - 0x5a, - 0x77, - 0x4b, - 0x38, - 0x36, - 0x69, - 0x71, - 0x6d, - 0x33, - 0x6b, - 0x2b, - 0x50, - 0x45, - 0x62, - 0x61, - 0x68, - 0x63, - 0x45, - 0x78, - 0x41, - 0x34, - 0x71, - 0x42, - 0x2f, - 0x4c, - 0x42, - 0x68, - 0x6f, - 0x67, - 0x76, - 0x73, - 0x0a, - 0x34, - 0x7a, - 0x39, - 0x62, - 0x32, - 0x4d, - 0x51, - 0x33, - 0x35, - 0x74, - 0x69, - 0x49, - 0x6f, - 0x51, - 0x44, - 0x6a, - 0x37, - 0x52, - 0x35, - 0x78, - 0x4e, - 0x38, - 0x63, - 0x35, - 0x41, - 0x79, - 0x77, - 0x44, - 0x79, - 0x62, - 0x38, - 0x78, - 0x47, - 0x76, - 0x32, - 0x59, - 0x6d, - 0x6b, - 0x34, - 0x6a, - 0x47, - 0x74, - 0x44, - 0x6b, - 0x64, - 0x71, - 0x72, - 0x62, - 0x74, - 0x49, - 0x55, - 0x34, - 0x32, - 0x2b, - 0x48, - 0x4d, - 0x31, - 0x79, - 0x4f, - 0x6b, - 0x38, - 0x75, - 0x38, - 0x5a, - 0x0a, - 0x45, - 0x69, - 0x78, - 0x4c, - 0x51, - 0x7a, - 0x6f, - 0x77, - 0x6d, - 0x71, - 0x55, - 0x71, - 0x72, - 0x65, - 0x42, - 0x43, - 0x68, - 0x6f, - 0x41, - 0x6f, - 0x73, - 0x63, - 0x33, - 0x46, - 0x4f, - 0x52, - 0x4f, - 0x6d, - 0x54, - 0x43, - 0x44, - 0x6c, - 0x59, - 0x36, - 0x33, - 0x34, - 0x2f, - 0x61, - 0x63, - 0x49, - 0x49, - 0x50, - 0x33, - 0x31, - 0x64, - 0x65, - 0x64, - 0x48, - 0x4e, - 0x59, - 0x5a, - 0x35, - 0x31, - 0x52, - 0x72, - 0x75, - 0x6b, - 0x41, - 0x64, - 0x41, - 0x36, - 0x32, - 0x44, - 0x62, - 0x0a, - 0x47, - 0x44, - 0x77, - 0x67, - 0x77, - 0x7a, - 0x36, - 0x54, - 0x41, - 0x67, - 0x4d, - 0x42, - 0x41, - 0x41, - 0x45, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x45, - 0x4c, - 0x42, - 0x51, - 0x41, - 0x44, - 0x67, - 0x67, - 0x45, - 0x42, - 0x41, - 0x4b, - 0x56, - 0x76, - 0x2f, - 0x53, - 0x43, - 0x50, - 0x4f, - 0x67, - 0x77, - 0x50, - 0x41, - 0x59, - 0x30, - 0x47, - 0x34, - 0x37, - 0x79, - 0x63, - 0x76, - 0x55, - 0x48, - 0x67, - 0x0a, - 0x6b, - 0x33, - 0x44, - 0x51, - 0x67, - 0x6d, - 0x62, - 0x78, - 0x56, - 0x54, - 0x46, - 0x46, - 0x57, - 0x51, - 0x79, - 0x72, - 0x50, - 0x36, - 0x58, - 0x76, - 0x4b, - 0x48, - 0x4f, - 0x6c, - 0x33, - 0x65, - 0x5a, - 0x55, - 0x32, - 0x52, - 0x65, - 0x4a, - 0x78, - 0x65, - 0x54, - 0x78, - 0x43, - 0x4d, - 0x55, - 0x4b, - 0x63, - 0x4e, - 0x6c, - 0x57, - 0x34, - 0x2b, - 0x65, - 0x4d, - 0x32, - 0x6f, - 0x43, - 0x5a, - 0x37, - 0x57, - 0x31, - 0x76, - 0x69, - 0x74, - 0x61, - 0x75, - 0x70, - 0x6e, - 0x4f, - 0x30, - 0x0a, - 0x7a, - 0x4c, - 0x57, - 0x36, - 0x47, - 0x42, - 0x46, - 0x53, - 0x56, - 0x58, - 0x55, - 0x34, - 0x54, - 0x2b, - 0x59, - 0x5a, - 0x63, - 0x69, - 0x49, - 0x48, - 0x6e, - 0x78, - 0x6b, - 0x71, - 0x6c, - 0x48, - 0x33, - 0x58, - 0x78, - 0x63, - 0x6b, - 0x67, - 0x7a, - 0x4e, - 0x56, - 0x4c, - 0x79, - 0x57, - 0x44, - 0x41, - 0x41, - 0x4a, - 0x6f, - 0x61, - 0x77, - 0x32, - 0x63, - 0x2b, - 0x58, - 0x31, - 0x45, - 0x39, - 0x42, - 0x7a, - 0x59, - 0x62, - 0x49, - 0x54, - 0x2b, - 0x7a, - 0x4d, - 0x59, - 0x6a, - 0x5a, - 0x0a, - 0x31, - 0x62, - 0x59, - 0x41, - 0x61, - 0x76, - 0x79, - 0x51, - 0x4f, - 0x6f, - 0x4d, - 0x50, - 0x64, - 0x2f, - 0x31, - 0x7a, - 0x30, - 0x64, - 0x59, - 0x6d, - 0x49, - 0x39, - 0x46, - 0x72, - 0x77, - 0x78, - 0x5a, - 0x32, - 0x4f, - 0x42, - 0x6e, - 0x76, - 0x2b, - 0x63, - 0x58, - 0x41, - 0x72, - 0x69, - 0x30, - 0x2f, - 0x4a, - 0x4d, - 0x47, - 0x54, - 0x63, - 0x7a, - 0x58, - 0x36, - 0x66, - 0x56, - 0x67, - 0x53, - 0x45, - 0x50, - 0x47, - 0x66, - 0x48, - 0x48, - 0x63, - 0x6f, - 0x36, - 0x53, - 0x4b, - 0x4a, - 0x0a, - 0x52, - 0x5a, - 0x57, - 0x38, - 0x56, - 0x49, - 0x39, - 0x67, - 0x49, - 0x4f, - 0x52, - 0x75, - 0x57, - 0x68, - 0x79, - 0x39, - 0x76, - 0x78, - 0x55, - 0x57, - 0x41, - 0x43, - 0x4a, - 0x6f, - 0x30, - 0x4f, - 0x6b, - 0x4a, - 0x44, - 0x75, - 0x55, - 0x37, - 0x2b, - 0x57, - 0x54, - 0x61, - 0x39, - 0x65, - 0x44, - 0x66, - 0x6a, - 0x46, - 0x2b, - 0x62, - 0x62, - 0x68, - 0x2b, - 0x2f, - 0x49, - 0x73, - 0x38, - 0x36, - 0x66, - 0x72, - 0x4c, - 0x32, - 0x67, - 0x76, - 0x38, - 0x79, - 0x39, - 0x69, - 0x4d, - 0x55, - 0x0a, - 0x74, - 0x32, - 0x36, - 0x37, - 0x75, - 0x58, - 0x39, - 0x52, - 0x52, - 0x64, - 0x30, - 0x46, - 0x70, - 0x69, - 0x4b, - 0x70, - 0x2b, - 0x70, - 0x4b, - 0x4d, - 0x48, - 0x6d, - 0x50, - 0x77, - 0x47, - 0x33, - 0x70, - 0x75, - 0x6b, - 0x78, - 0x57, - 0x64, - 0x38, - 0x76, - 0x6b, - 0x4f, - 0x72, - 0x67, - 0x6a, - 0x4a, - 0x44, - 0x46, - 0x2b, - 0x54, - 0x56, - 0x48, - 0x67, - 0x67, - 0x4c, - 0x31, - 0x4a, - 0x59, - 0x58, - 0x5a, - 0x37, - 0x45, - 0x4a, - 0x39, - 0x79, - 0x6a, - 0x50, - 0x64, - 0x77, - 0x3d, - 0x0a, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x45, - 0x4e, - 0x44, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a +/* clang-format off */ +unsigned char server_cert[] = { + /* server certificate for testing BACnet secure connect */ + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, + 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x45, 0x47, 0x7a, 0x43, 0x43, + 0x41, 0x77, 0x4f, 0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x44, + 0x45, 0x41, 0x41, 0x44, 0x4d, 0x41, 0x30, 0x47, 0x43, 0x53, 0x71, 0x47, + 0x53, 0x49, 0x62, 0x33, 0x44, 0x51, 0x45, 0x42, 0x43, 0x77, 0x55, 0x41, + 0x4d, 0x45, 0x38, 0x78, 0x47, 0x7a, 0x41, 0x5a, 0x42, 0x67, 0x4e, 0x56, + 0x42, 0x41, 0x6f, 0x54, 0x45, 0x6d, 0x78, 0x70, 0x0a, 0x59, 0x6e, 0x64, + 0x6c, 0x59, 0x6e, 0x4e, 0x76, 0x59, 0x32, 0x74, 0x6c, 0x64, 0x48, 0x4d, + 0x74, 0x64, 0x47, 0x56, 0x7a, 0x64, 0x44, 0x45, 0x53, 0x4d, 0x42, 0x41, + 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x78, 0x4d, 0x4a, 0x57, 0x47, 0x6c, + 0x68, 0x62, 0x32, 0x4a, 0x70, 0x64, 0x47, 0x46, 0x75, 0x4d, 0x51, 0x38, + 0x77, 0x44, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x49, 0x45, 0x77, 0x5a, + 0x55, 0x0a, 0x59, 0x57, 0x6c, 0x77, 0x5a, 0x57, 0x6b, 0x78, 0x43, 0x7a, + 0x41, 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x59, 0x54, 0x41, 0x6c, + 0x52, 0x58, 0x4d, 0x43, 0x41, 0x58, 0x44, 0x54, 0x49, 0x79, 0x4d, 0x44, + 0x63, 0x77, 0x4e, 0x6a, 0x45, 0x78, 0x4d, 0x6a, 0x55, 0x77, 0x4d, 0x31, + 0x6f, 0x59, 0x44, 0x7a, 0x49, 0x77, 0x4e, 0x54, 0x41, 0x77, 0x4e, 0x7a, + 0x45, 0x35, 0x4d, 0x54, 0x45, 0x79, 0x0a, 0x4e, 0x54, 0x41, 0x7a, 0x57, + 0x6a, 0x42, 0x50, 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, + 0x51, 0x51, 0x47, 0x45, 0x77, 0x4a, 0x55, 0x56, 0x7a, 0x45, 0x50, 0x4d, + 0x41, 0x30, 0x47, 0x41, 0x31, 0x55, 0x45, 0x43, 0x42, 0x4d, 0x47, 0x56, + 0x47, 0x46, 0x70, 0x63, 0x47, 0x56, 0x70, 0x4d, 0x52, 0x73, 0x77, 0x47, + 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4b, 0x45, 0x78, 0x4a, 0x73, 0x0a, + 0x61, 0x57, 0x4a, 0x33, 0x5a, 0x57, 0x4a, 0x7a, 0x62, 0x32, 0x4e, 0x72, + 0x5a, 0x58, 0x52, 0x7a, 0x4c, 0x58, 0x52, 0x6c, 0x63, 0x33, 0x51, 0x78, + 0x45, 0x6a, 0x41, 0x51, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x4d, 0x54, + 0x43, 0x57, 0x78, 0x76, 0x59, 0x32, 0x46, 0x73, 0x61, 0x47, 0x39, 0x7a, + 0x64, 0x44, 0x43, 0x43, 0x41, 0x69, 0x49, 0x77, 0x44, 0x51, 0x59, 0x4a, + 0x4b, 0x6f, 0x5a, 0x49, 0x0a, 0x68, 0x76, 0x63, 0x4e, 0x41, 0x51, 0x45, + 0x42, 0x42, 0x51, 0x41, 0x44, 0x67, 0x67, 0x49, 0x50, 0x41, 0x44, 0x43, + 0x43, 0x41, 0x67, 0x6f, 0x43, 0x67, 0x67, 0x49, 0x42, 0x41, 0x4d, 0x74, + 0x58, 0x71, 0x68, 0x69, 0x59, 0x68, 0x47, 0x6a, 0x56, 0x4c, 0x77, 0x56, + 0x75, 0x61, 0x79, 0x76, 0x4d, 0x4d, 0x49, 0x72, 0x6a, 0x4b, 0x37, 0x53, + 0x34, 0x4c, 0x62, 0x52, 0x48, 0x6c, 0x4e, 0x55, 0x44, 0x0a, 0x74, 0x4a, + 0x7a, 0x46, 0x6f, 0x32, 0x41, 0x6a, 0x75, 0x4c, 0x75, 0x6d, 0x74, 0x65, + 0x46, 0x2b, 0x4b, 0x4c, 0x73, 0x34, 0x56, 0x6a, 0x59, 0x7a, 0x78, 0x75, + 0x64, 0x61, 0x43, 0x51, 0x72, 0x79, 0x76, 0x4d, 0x61, 0x6c, 0x30, 0x64, + 0x2f, 0x38, 0x32, 0x38, 0x75, 0x6e, 0x33, 0x78, 0x34, 0x67, 0x57, 0x6a, + 0x59, 0x54, 0x4f, 0x43, 0x35, 0x35, 0x63, 0x51, 0x39, 0x4d, 0x44, 0x4e, + 0x64, 0x2b, 0x0a, 0x70, 0x6d, 0x4d, 0x45, 0x45, 0x34, 0x2b, 0x64, 0x31, + 0x75, 0x6e, 0x54, 0x66, 0x6f, 0x39, 0x38, 0x38, 0x32, 0x6a, 0x4d, 0x38, + 0x65, 0x6a, 0x6c, 0x4e, 0x46, 0x54, 0x63, 0x44, 0x6f, 0x54, 0x50, 0x68, + 0x6f, 0x4e, 0x37, 0x77, 0x71, 0x66, 0x78, 0x4f, 0x31, 0x35, 0x46, 0x6e, + 0x69, 0x54, 0x77, 0x54, 0x43, 0x57, 0x39, 0x30, 0x62, 0x6d, 0x7a, 0x37, + 0x32, 0x74, 0x36, 0x7a, 0x4c, 0x4f, 0x6d, 0x0a, 0x33, 0x43, 0x70, 0x5a, + 0x75, 0x75, 0x64, 0x48, 0x53, 0x6e, 0x58, 0x48, 0x71, 0x74, 0x67, 0x4f, + 0x7a, 0x36, 0x6e, 0x53, 0x53, 0x62, 0x54, 0x6a, 0x4f, 0x31, 0x51, 0x52, + 0x33, 0x4c, 0x4e, 0x2b, 0x44, 0x76, 0x4e, 0x30, 0x34, 0x62, 0x4d, 0x58, + 0x42, 0x66, 0x65, 0x2f, 0x30, 0x4e, 0x56, 0x45, 0x2f, 0x51, 0x70, 0x65, + 0x4f, 0x4f, 0x47, 0x50, 0x5a, 0x53, 0x47, 0x43, 0x4f, 0x74, 0x4b, 0x76, + 0x0a, 0x44, 0x5a, 0x34, 0x4f, 0x75, 0x79, 0x4b, 0x68, 0x6d, 0x32, 0x52, + 0x6f, 0x72, 0x47, 0x4a, 0x6e, 0x4c, 0x6d, 0x58, 0x78, 0x44, 0x46, 0x48, + 0x6d, 0x42, 0x4d, 0x70, 0x30, 0x30, 0x64, 0x41, 0x63, 0x65, 0x72, 0x42, + 0x45, 0x52, 0x4c, 0x44, 0x6b, 0x4c, 0x52, 0x70, 0x64, 0x57, 0x34, 0x38, + 0x4b, 0x32, 0x69, 0x35, 0x74, 0x42, 0x51, 0x76, 0x41, 0x63, 0x4a, 0x5a, + 0x7a, 0x6c, 0x4c, 0x38, 0x51, 0x0a, 0x2b, 0x48, 0x32, 0x66, 0x67, 0x75, + 0x53, 0x62, 0x42, 0x32, 0x32, 0x65, 0x55, 0x79, 0x74, 0x42, 0x62, 0x62, + 0x4e, 0x6e, 0x67, 0x76, 0x36, 0x68, 0x79, 0x52, 0x79, 0x30, 0x62, 0x41, + 0x49, 0x7a, 0x61, 0x59, 0x48, 0x77, 0x61, 0x70, 0x52, 0x49, 0x78, 0x72, + 0x4c, 0x54, 0x57, 0x6e, 0x64, 0x4d, 0x69, 0x42, 0x37, 0x79, 0x4f, 0x76, + 0x64, 0x69, 0x73, 0x6c, 0x55, 0x2b, 0x31, 0x53, 0x6f, 0x46, 0x0a, 0x57, + 0x41, 0x62, 0x66, 0x56, 0x35, 0x79, 0x75, 0x68, 0x77, 0x4f, 0x6e, 0x77, + 0x54, 0x4d, 0x53, 0x6f, 0x64, 0x52, 0x30, 0x39, 0x4f, 0x78, 0x67, 0x55, + 0x61, 0x75, 0x41, 0x32, 0x79, 0x72, 0x41, 0x4c, 0x32, 0x51, 0x37, 0x42, + 0x4d, 0x35, 0x47, 0x6e, 0x59, 0x4c, 0x70, 0x55, 0x6f, 0x35, 0x71, 0x35, + 0x46, 0x67, 0x41, 0x77, 0x6b, 0x73, 0x4a, 0x6c, 0x38, 0x77, 0x79, 0x53, + 0x44, 0x70, 0x59, 0x0a, 0x63, 0x51, 0x72, 0x37, 0x46, 0x72, 0x7a, 0x53, + 0x6a, 0x71, 0x63, 0x31, 0x6f, 0x39, 0x55, 0x73, 0x37, 0x68, 0x45, 0x45, + 0x6c, 0x6b, 0x76, 0x4e, 0x42, 0x5a, 0x6b, 0x31, 0x2b, 0x56, 0x50, 0x54, + 0x61, 0x50, 0x35, 0x78, 0x45, 0x59, 0x79, 0x70, 0x63, 0x62, 0x67, 0x2b, + 0x75, 0x2b, 0x59, 0x43, 0x7a, 0x63, 0x74, 0x4a, 0x57, 0x6e, 0x4a, 0x4b, + 0x62, 0x43, 0x42, 0x7a, 0x32, 0x65, 0x73, 0x36, 0x0a, 0x4b, 0x6b, 0x70, + 0x66, 0x43, 0x34, 0x61, 0x57, 0x63, 0x38, 0x55, 0x49, 0x4c, 0x6c, 0x55, + 0x4b, 0x2f, 0x57, 0x34, 0x6a, 0x52, 0x46, 0x73, 0x4e, 0x47, 0x33, 0x55, + 0x68, 0x41, 0x31, 0x76, 0x6e, 0x49, 0x5a, 0x77, 0x4b, 0x38, 0x36, 0x69, + 0x71, 0x6d, 0x33, 0x6b, 0x2b, 0x50, 0x45, 0x62, 0x61, 0x68, 0x63, 0x45, + 0x78, 0x41, 0x34, 0x71, 0x42, 0x2f, 0x4c, 0x42, 0x68, 0x6f, 0x67, 0x76, + 0x73, 0x0a, 0x34, 0x7a, 0x39, 0x62, 0x32, 0x4d, 0x51, 0x33, 0x35, 0x74, + 0x69, 0x49, 0x6f, 0x51, 0x44, 0x6a, 0x37, 0x52, 0x35, 0x78, 0x4e, 0x38, + 0x63, 0x35, 0x41, 0x79, 0x77, 0x44, 0x79, 0x62, 0x38, 0x78, 0x47, 0x76, + 0x32, 0x59, 0x6d, 0x6b, 0x34, 0x6a, 0x47, 0x74, 0x44, 0x6b, 0x64, 0x71, + 0x72, 0x62, 0x74, 0x49, 0x55, 0x34, 0x32, 0x2b, 0x48, 0x4d, 0x31, 0x79, + 0x4f, 0x6b, 0x38, 0x75, 0x38, 0x5a, 0x0a, 0x45, 0x69, 0x78, 0x4c, 0x51, + 0x7a, 0x6f, 0x77, 0x6d, 0x71, 0x55, 0x71, 0x72, 0x65, 0x42, 0x43, 0x68, + 0x6f, 0x41, 0x6f, 0x73, 0x63, 0x33, 0x46, 0x4f, 0x52, 0x4f, 0x6d, 0x54, + 0x43, 0x44, 0x6c, 0x59, 0x36, 0x33, 0x34, 0x2f, 0x61, 0x63, 0x49, 0x49, + 0x50, 0x33, 0x31, 0x64, 0x65, 0x64, 0x48, 0x4e, 0x59, 0x5a, 0x35, 0x31, + 0x52, 0x72, 0x75, 0x6b, 0x41, 0x64, 0x41, 0x36, 0x32, 0x44, 0x62, 0x0a, + 0x47, 0x44, 0x77, 0x67, 0x77, 0x7a, 0x36, 0x54, 0x41, 0x67, 0x4d, 0x42, + 0x41, 0x41, 0x45, 0x77, 0x44, 0x51, 0x59, 0x4a, 0x4b, 0x6f, 0x5a, 0x49, + 0x68, 0x76, 0x63, 0x4e, 0x41, 0x51, 0x45, 0x4c, 0x42, 0x51, 0x41, 0x44, + 0x67, 0x67, 0x45, 0x42, 0x41, 0x4b, 0x56, 0x76, 0x2f, 0x53, 0x43, 0x50, + 0x4f, 0x67, 0x77, 0x50, 0x41, 0x59, 0x30, 0x47, 0x34, 0x37, 0x79, 0x63, + 0x76, 0x55, 0x48, 0x67, 0x0a, 0x6b, 0x33, 0x44, 0x51, 0x67, 0x6d, 0x62, + 0x78, 0x56, 0x54, 0x46, 0x46, 0x57, 0x51, 0x79, 0x72, 0x50, 0x36, 0x58, + 0x76, 0x4b, 0x48, 0x4f, 0x6c, 0x33, 0x65, 0x5a, 0x55, 0x32, 0x52, 0x65, + 0x4a, 0x78, 0x65, 0x54, 0x78, 0x43, 0x4d, 0x55, 0x4b, 0x63, 0x4e, 0x6c, + 0x57, 0x34, 0x2b, 0x65, 0x4d, 0x32, 0x6f, 0x43, 0x5a, 0x37, 0x57, 0x31, + 0x76, 0x69, 0x74, 0x61, 0x75, 0x70, 0x6e, 0x4f, 0x30, 0x0a, 0x7a, 0x4c, + 0x57, 0x36, 0x47, 0x42, 0x46, 0x53, 0x56, 0x58, 0x55, 0x34, 0x54, 0x2b, + 0x59, 0x5a, 0x63, 0x69, 0x49, 0x48, 0x6e, 0x78, 0x6b, 0x71, 0x6c, 0x48, + 0x33, 0x58, 0x78, 0x63, 0x6b, 0x67, 0x7a, 0x4e, 0x56, 0x4c, 0x79, 0x57, + 0x44, 0x41, 0x41, 0x4a, 0x6f, 0x61, 0x77, 0x32, 0x63, 0x2b, 0x58, 0x31, + 0x45, 0x39, 0x42, 0x7a, 0x59, 0x62, 0x49, 0x54, 0x2b, 0x7a, 0x4d, 0x59, + 0x6a, 0x5a, 0x0a, 0x31, 0x62, 0x59, 0x41, 0x61, 0x76, 0x79, 0x51, 0x4f, + 0x6f, 0x4d, 0x50, 0x64, 0x2f, 0x31, 0x7a, 0x30, 0x64, 0x59, 0x6d, 0x49, + 0x39, 0x46, 0x72, 0x77, 0x78, 0x5a, 0x32, 0x4f, 0x42, 0x6e, 0x76, 0x2b, + 0x63, 0x58, 0x41, 0x72, 0x69, 0x30, 0x2f, 0x4a, 0x4d, 0x47, 0x54, 0x63, + 0x7a, 0x58, 0x36, 0x66, 0x56, 0x67, 0x53, 0x45, 0x50, 0x47, 0x66, 0x48, + 0x48, 0x63, 0x6f, 0x36, 0x53, 0x4b, 0x4a, 0x0a, 0x52, 0x5a, 0x57, 0x38, + 0x56, 0x49, 0x39, 0x67, 0x49, 0x4f, 0x52, 0x75, 0x57, 0x68, 0x79, 0x39, + 0x76, 0x78, 0x55, 0x57, 0x41, 0x43, 0x4a, 0x6f, 0x30, 0x4f, 0x6b, 0x4a, + 0x44, 0x75, 0x55, 0x37, 0x2b, 0x57, 0x54, 0x61, 0x39, 0x65, 0x44, 0x66, + 0x6a, 0x46, 0x2b, 0x62, 0x62, 0x68, 0x2b, 0x2f, 0x49, 0x73, 0x38, 0x36, + 0x66, 0x72, 0x4c, 0x32, 0x67, 0x76, 0x38, 0x79, 0x39, 0x69, 0x4d, 0x55, + 0x0a, 0x74, 0x32, 0x36, 0x37, 0x75, 0x58, 0x39, 0x52, 0x52, 0x64, 0x30, + 0x46, 0x70, 0x69, 0x4b, 0x70, 0x2b, 0x70, 0x4b, 0x4d, 0x48, 0x6d, 0x50, + 0x77, 0x47, 0x33, 0x70, 0x75, 0x6b, 0x78, 0x57, 0x64, 0x38, 0x76, 0x6b, + 0x4f, 0x72, 0x67, 0x6a, 0x4a, 0x44, 0x46, 0x2b, 0x54, 0x56, 0x48, 0x67, + 0x67, 0x4c, 0x31, 0x4a, 0x59, 0x58, 0x5a, 0x37, 0x45, 0x4a, 0x39, 0x79, + 0x6a, 0x50, 0x64, 0x77, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, + 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, + 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a #ifdef CONFIG_MBEDTLS - , - 0x00 + , 0x00 #endif }; +/* clang-format on */ #ifndef BSC_NETWORK_IFACE #define BSC_NETWORK_IFACE "127.0.0.1" @@ -8239,8 +1524,8 @@ static void test_hub_connector_url(bool primary) size_t len; uint8_t npdu[128]; BVLC_SC_DECODED_MESSAGE message; - BACNET_ERROR_CODE error; - BACNET_ERROR_CLASS class; + uint16_t error_code; + uint16_t error_class; const char *err_desc; BACNET_SC_VMAC_ADDRESS broadcast_vmac; BACNET_SC_VMAC_ADDRESS non_existent_vmac; @@ -8349,7 +1634,7 @@ static void test_hub_connector_url(bool primary) zassert_equal( wait_hubc_ev(&hubc, BSC_HUBC_EVENT_RECEIVED, hubc_h), true, 0); ret = bvlc_sc_decode_message( - hubc.pdu, hubc.pdu_len, &message, &error, &class, &err_desc); + hubc.pdu, hubc.pdu_len, &message, &error_code, &error_class, &err_desc); zassert_equal(ret, true, NULL); zassert_equal( sizeof(npdu), message.payload.encapsulated_npdu.npdu_len, NULL); @@ -8365,7 +1650,7 @@ static void test_hub_connector_url(bool primary) zassert_equal( wait_hubc_ev(&hubc, BSC_HUBC_EVENT_RECEIVED, hubc_h), true, 0); ret = bvlc_sc_decode_message( - hubc.pdu, hubc.pdu_len, &message, &error, &class, &err_desc); + hubc.pdu, hubc.pdu_len, &message, &error_code, &error_class, &err_desc); zassert_equal(ret, true, NULL); zassert_equal( sizeof(npdu), message.payload.encapsulated_npdu.npdu_len, NULL); diff --git a/test/bacnet/datalink/websockets/CMakeLists.txt b/test/bacnet/datalink/websockets/CMakeLists.txt index b284e7fa..87887b28 100644 --- a/test/bacnet/datalink/websockets/CMakeLists.txt +++ b/test/bacnet/datalink/websockets/CMakeLists.txt @@ -81,6 +81,7 @@ elseif(WIN32) ${PORTS_DIR}/win32/websocket-srv.c ${PORTS_DIR}/win32/websocket-global.c ${PORTS_DIR}/win32/bsc-event.c + ${SRC_DIR}/bacnet/basic/sys/debug.c # Test and test library files ./src/main.c ${ZTST_DIR}/ztest_mock.c