diff --git a/examples/lorawan/main.c b/examples/lorawan/main.c index 89ce9151fe..cea9e38811 100644 --- a/examples/lorawan/main.c +++ b/examples/lorawan/main.c @@ -72,7 +72,7 @@ static uint8_t appskey[LORAMAC_APPSKEY_LEN]; static void _alarm_cb(void *arg) { - (void) arg; + (void)arg; msg_t msg; msg_send(&msg, sender_pid); } @@ -98,7 +98,7 @@ static void _send_message(void) /* Try to send the message */ uint8_t ret = semtech_loramac_send(&loramac, (uint8_t *)message, strlen(message)); - if (ret != SEMTECH_LORAMAC_TX_DONE) { + if (ret != SEMTECH_LORAMAC_TX_DONE) { printf("Cannot send message '%s', ret code: %d\n", message, ret); return; } diff --git a/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mcps.c b/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mcps.c index 5184eb08cc..d8e9268afb 100644 --- a/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mcps.c +++ b/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mcps.c @@ -167,7 +167,7 @@ void gnrc_lorawan_mcps_process_downlink(gnrc_lorawan_t *mac, uint8_t *psdu, /* NOTE: MIC is in pkt */ if (!gnrc_lorawan_mic_is_valid(psdu, size, mac->ctx.snwksintkey, - mac->mcps.fcnt, gnrc_lorawan_optneg_is_set(mac))) { + mac->mcps.fcnt, gnrc_lorawan_optneg_is_set(mac))) { DEBUG("gnrc_lorawan: invalid MIC\n"); gnrc_lorawan_event_no_rx(mac); return; @@ -226,17 +226,17 @@ void gnrc_lorawan_mcps_process_downlink(gnrc_lorawan_t *mac, uint8_t *psdu, if (IS_USED(MODULE_GNRC_LORAWAN_1_1) && gnrc_lorawan_optneg_is_set(mac)) { if (_pkt.port) { gnrc_lorawan_encrypt_fopts(fopts->iol_base, fopts->iol_len, - &mac->dev_addr, - gnrc_lorawan_get_afcnt_down(mac), true, - GNRC_LORAWAN_DIR_DOWNLINK, - mac->ctx.nwksenckey); + &mac->dev_addr, + gnrc_lorawan_get_afcnt_down(mac), true, + GNRC_LORAWAN_DIR_DOWNLINK, + mac->ctx.nwksenckey); } else { gnrc_lorawan_encrypt_fopts(fopts->iol_base, fopts->iol_len, - &mac->dev_addr, - mac->mcps.fcnt_down, false, - GNRC_LORAWAN_DIR_DOWNLINK, - mac->ctx.nwksenckey); + &mac->dev_addr, + mac->mcps.fcnt_down, false, + GNRC_LORAWAN_DIR_DOWNLINK, + mac->ctx.nwksenckey); } } DEBUG("gnrc_lorawan: processing fopts\n"); @@ -331,8 +331,8 @@ size_t gnrc_lorawan_build_uplink(gnrc_lorawan_t *mac, iolist_t *payload, key = mac->ctx.nwksenckey; gnrc_lorawan_encrypt_fopts(&buf.data[sizeof(lorawan_hdr_t)], fopts_length, - &mac->dev_addr, mac->mcps.fcnt, false, - GNRC_LORAWAN_DIR_UPLINK, key); + &mac->dev_addr, mac->mcps.fcnt, false, + GNRC_LORAWAN_DIR_UPLINK, key); } return buf.index; diff --git a/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mlme.c b/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mlme.c index f37698c82f..9bb8169cc8 100644 --- a/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mlme.c +++ b/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mlme.c @@ -340,7 +340,7 @@ static int _fopts_mlme_link_rekey_ind(lorawan_buffer_t *buf) { if (buf) { assert(buf->index + GNRC_LORAWAN_CID_SIZE + - GNCR_LORAWAN_REKEY_IND_SIZE <= buf->size); + GNCR_LORAWAN_REKEY_IND_SIZE <= buf->size); buf->data[buf->index++] = GNCR_LORAWAN_CID_REKEY_CONF; buf->data[buf->index++] = MINOR_LRWAN; @@ -353,6 +353,7 @@ static void _mlme_rekey_check_conf(gnrc_lorawan_t *mac, uint8_t *p) { /* server version must by smaller or equal to device's LoRaWAN version */ uint8_t server_minor = p[1]; + if (server_minor <= MINOR_LRWAN) { mac->mlme.pending_mlme_opts &= ~GNRC_LORAWAN_MLME_OPTS_REKEY_IND_REQ; } diff --git a/sys/net/gnrc/link_layer/lorawan/include/gnrc_lorawan_internal.h b/sys/net/gnrc/link_layer/lorawan/include/gnrc_lorawan_internal.h index d220dce3e1..266a665f45 100644 --- a/sys/net/gnrc/link_layer/lorawan/include/gnrc_lorawan_internal.h +++ b/sys/net/gnrc/link_layer/lorawan/include/gnrc_lorawan_internal.h @@ -46,7 +46,7 @@ extern "C" { #define MAJOR_MASK 0x3 /**< Major mtype mask */ #define MAJOR_LRWAN_R1 0x0 /**< LoRaWAN R1 version type */ -#define MINOR_LRWAN 0x1 /**< Minor LoRaWAN version of device */ +#define MINOR_LRWAN 0x1 /**< Minor LoRaWAN version of device */ #define JOIN_REQUEST_SIZE (23U) /**< Join Request size in bytes */ #define MIC_SIZE (4U) /**< MIC size in bytes */ diff --git a/sys/shell/cmds/gnrc_netif.c b/sys/shell/cmds/gnrc_netif.c index f18438d081..ed53c426e6 100644 --- a/sys/shell/cmds/gnrc_netif.c +++ b/sys/shell/cmds/gnrc_netif.c @@ -86,6 +86,7 @@ static const struct { static void _print_iface_name(netif_t *iface) { char name[CONFIG_NETIF_NAMELENMAX]; + netif_get_name(iface, name); printf("%s", name); } @@ -94,7 +95,7 @@ __attribute__ ((unused)) static void str_toupper(char *str) { while (*str) { - *str = toupper((unsigned) *str); + *str = toupper((unsigned)*str); ++str; } } @@ -132,21 +133,21 @@ __attribute__ ((unused)) static void frac_extend(uint8_t *a, uint8_t *b, uint8_t base) { *a *= base / *b; - *b = base; + *b = base; } #ifdef MODULE_NETSTATS static const char *_netstats_module_to_str(uint8_t module) { switch (module) { - case NETSTATS_LAYER2: - return "Layer 2"; - case NETSTATS_IPV6: - return "IPv6"; - case NETSTATS_ALL: - return "all"; - default: - return "Unknown"; + case NETSTATS_LAYER2: + return "Layer 2"; + case NETSTATS_IPV6: + return "IPv6"; + case NETSTATS_ALL: + return "all"; + default: + return "Unknown"; } } @@ -292,203 +293,203 @@ static void _stats_usage(char *cmd_name) static void _print_netopt(netopt_t opt) { switch (opt) { - case NETOPT_ADDRESS: - printf("(short) address"); - break; + case NETOPT_ADDRESS: + printf("(short) address"); + break; - case NETOPT_ADDRESS_LONG: - printf("long address"); - break; + case NETOPT_ADDRESS_LONG: + printf("long address"); + break; - case NETOPT_LORAWAN_APPKEY: - printf("AppKey"); - break; + case NETOPT_LORAWAN_APPKEY: + printf("AppKey"); + break; - case NETOPT_LORAWAN_APPSKEY: - printf("AppSKey"); - break; + case NETOPT_LORAWAN_APPSKEY: + printf("AppSKey"); + break; #if IS_USED(MODULE_GNRC_LORAWAN_1_1) - case NETOPT_LORAWAN_JOINEUI: - printf("JoinEUI"); - break; + case NETOPT_LORAWAN_JOINEUI: + printf("JoinEUI"); + break; - case NETOPT_LORAWAN_NWKKEY: - printf("NwkKey"); - break; + case NETOPT_LORAWAN_NWKKEY: + printf("NwkKey"); + break; - case NETOPT_LORAWAN_NWKSENCKEY: - printf("NwkSEncKey"); - break; + case NETOPT_LORAWAN_NWKSENCKEY: + printf("NwkSEncKey"); + break; - case NETOPT_LORAWAN_SNWKSINTKEY: - printf("SNwkSIntKey"); - break; + case NETOPT_LORAWAN_SNWKSINTKEY: + printf("SNwkSIntKey"); + break; - case NETOPT_LORAWAN_FNWKSINTKEY: - printf("FNwkSIntKey"); - break; + case NETOPT_LORAWAN_FNWKSINTKEY: + printf("FNwkSIntKey"); + break; #else - case NETOPT_LORAWAN_APPEUI: - printf("AppEUI"); - break; - case NETOPT_LORAWAN_NWKSKEY: - printf("NwkSKey"); - break; + case NETOPT_LORAWAN_APPEUI: + printf("AppEUI"); + break; + case NETOPT_LORAWAN_NWKSKEY: + printf("NwkSKey"); + break; #endif /* IS_USED(MODULE_GNRC_LORAWAN_1_1) */ - case NETOPT_SRC_LEN: - printf("source address length"); - break; + case NETOPT_SRC_LEN: + printf("source address length"); + break; - case NETOPT_CHANNEL: - printf("channel"); - break; + case NETOPT_CHANNEL: + printf("channel"); + break; - case NETOPT_CHANNEL_FREQUENCY: - printf("frequency [in Hz]"); - break; + case NETOPT_CHANNEL_FREQUENCY: + printf("frequency [in Hz]"); + break; - case NETOPT_CHANNEL_PAGE: - printf("page"); - break; + case NETOPT_CHANNEL_PAGE: + printf("page"); + break; - case NETOPT_HOP_LIMIT: - printf("hop limit"); - break; + case NETOPT_HOP_LIMIT: + printf("hop limit"); + break; - case NETOPT_MAX_PDU_SIZE: - printf("MTU"); - break; + case NETOPT_MAX_PDU_SIZE: + printf("MTU"); + break; - case NETOPT_NID: - printf("network identifier"); - break; + case NETOPT_NID: + printf("network identifier"); + break; - case NETOPT_TX_POWER: - printf("TX power [in dBm]"); - break; + case NETOPT_TX_POWER: + printf("TX power [in dBm]"); + break; - case NETOPT_RETRANS: - printf("max. retransmissions"); - break; + case NETOPT_RETRANS: + printf("max. retransmissions"); + break; - case NETOPT_CSMA_RETRIES: - printf("CSMA retries"); - break; + case NETOPT_CSMA_RETRIES: + printf("CSMA retries"); + break; - case NETOPT_CCA_THRESHOLD: - printf("CCA threshold [in dBm]"); - break; + case NETOPT_CCA_THRESHOLD: + printf("CCA threshold [in dBm]"); + break; - case NETOPT_ENCRYPTION: - printf("encryption"); - break; + case NETOPT_ENCRYPTION: + printf("encryption"); + break; - case NETOPT_ENCRYPTION_KEY: - printf("encryption key"); - break; + case NETOPT_ENCRYPTION_KEY: + printf("encryption key"); + break; #ifdef MODULE_GNRC_NETIF_CMD_LORA - case NETOPT_BANDWIDTH: - printf("bandwidth"); - break; + case NETOPT_BANDWIDTH: + printf("bandwidth"); + break; - case NETOPT_SPREADING_FACTOR: - printf("spreading factor"); - break; + case NETOPT_SPREADING_FACTOR: + printf("spreading factor"); + break; - case NETOPT_CODING_RATE: - printf("coding rate"); - break; + case NETOPT_CODING_RATE: + printf("coding rate"); + break; #endif /* MODULE_GNRC_NETIF_CMD_LORA */ #ifdef MODULE_NETDEV_IEEE802154_MULTIMODE - case NETOPT_IEEE802154_PHY: - printf("PHY mode"); - break; + case NETOPT_IEEE802154_PHY: + printf("PHY mode"); + break; #endif /* MODULE_NETDEV_IEEE802154_MULTIMODE */ #ifdef MODULE_NETDEV_IEEE802154_OQPSK - case NETOPT_OQPSK_RATE: - printf("high rate"); - break; + case NETOPT_OQPSK_RATE: + printf("high rate"); + break; #endif /* MODULE_NETDEV_IEEE802154_OQPSK */ #ifdef MODULE_NETDEV_IEEE802154_MR_OQPSK - case NETOPT_MR_OQPSK_CHIPS: - printf("chip rate"); - break; + case NETOPT_MR_OQPSK_CHIPS: + printf("chip rate"); + break; - case NETOPT_MR_OQPSK_RATE: - printf("rate mode"); - break; + case NETOPT_MR_OQPSK_RATE: + printf("rate mode"); + break; #endif /* MODULE_NETDEV_IEEE802154_MR_OQPSK */ #ifdef MODULE_NETDEV_IEEE802154_MR_OFDM - case NETOPT_MR_OFDM_OPTION: - printf("OFDM option"); - break; + case NETOPT_MR_OFDM_OPTION: + printf("OFDM option"); + break; - case NETOPT_MR_OFDM_MCS: - printf("modulation/coding scheme"); - break; + case NETOPT_MR_OFDM_MCS: + printf("modulation/coding scheme"); + break; #endif /* MODULE_NETDEV_IEEE802154_MR_OFDM */ #ifdef MODULE_NETDEV_IEEE802154_MR_FSK - case NETOPT_MR_FSK_MODULATION_INDEX: - printf("FSK modulation index"); - break; + case NETOPT_MR_FSK_MODULATION_INDEX: + printf("FSK modulation index"); + break; - case NETOPT_MR_FSK_MODULATION_ORDER: - printf("FSK modulation order"); - break; + case NETOPT_MR_FSK_MODULATION_ORDER: + printf("FSK modulation order"); + break; - case NETOPT_MR_FSK_SRATE: - printf("FSK symbol rate"); - break; + case NETOPT_MR_FSK_SRATE: + printf("FSK symbol rate"); + break; - case NETOPT_MR_FSK_FEC: - printf("FSK Forward Error Correction"); - break; + case NETOPT_MR_FSK_FEC: + printf("FSK Forward Error Correction"); + break; - case NETOPT_CHANNEL_SPACING: - printf("Channel Spacing"); - break; + case NETOPT_CHANNEL_SPACING: + printf("Channel Spacing"); + break; #endif /* MODULE_NETDEV_IEEE802154_MR_FSK */ - case NETOPT_CHECKSUM: - printf("checksum"); - break; + case NETOPT_CHECKSUM: + printf("checksum"); + break; - case NETOPT_OTAA: - printf("otaa"); - break; + case NETOPT_OTAA: + printf("otaa"); + break; - case NETOPT_LINK_CHECK: - printf("link check"); - break; + case NETOPT_LINK_CHECK: + printf("link check"); + break; - case NETOPT_PHY_BUSY: - printf("PHY busy"); - break; + case NETOPT_PHY_BUSY: + printf("PHY busy"); + break; - case NETOPT_LORAWAN_DR: - printf("datarate"); - break; + case NETOPT_LORAWAN_DR: + printf("datarate"); + break; - case NETOPT_LORAWAN_RX2_DR: - printf("RX2 datarate"); - break; + case NETOPT_LORAWAN_RX2_DR: + printf("RX2 datarate"); + break; - default: - /* we don't serve these options here */ - break; + default: + /* we don't serve these options here */ + break; } } @@ -565,7 +566,7 @@ static unsigned _netif_list_flag(netif_t *iface, netopt_t opt, char *str, { netopt_enable_t enable = NETOPT_DISABLE; int res = netif_get_opt(iface, opt, 0, &enable, - sizeof(enable)); + sizeof(enable)); if ((res >= 0) && (enable == NETOPT_ENABLE)) { printf("%s", str); @@ -603,15 +604,15 @@ static void _netif_list_ipv6(ipv6_addr_t *addr, uint8_t flags) } else { switch (flags & GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_MASK) { - case GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_DEPRECATED: - printf(" DPR"); - break; - case GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_VALID: - printf(" VAL"); - break; - default: - printf(" UNK"); - break; + case GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_DEPRECATED: + printf(" DPR"); + break; + case GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_VALID: + printf(" VAL"); + break; + default: + printf(" UNK"); + break; } } _newline(0U, _LINE_THRESHOLD); @@ -743,7 +744,8 @@ static void _netif_list(netif_t *iface) frac_short(&u8, hwaddr); if (hwaddr[0] == 1) { printf(" modulation index: %u ", u8); - } else { + } + else { printf(" modulation index: %u/%u ", u8, hwaddr[0]); } } @@ -809,12 +811,12 @@ static void _netif_list(netif_t *iface) #ifdef MODULE_GNRC_NETIF_CMD_LORA res = netif_get_opt(iface, NETOPT_DEMOD_MARGIN, 0, &u8, sizeof(u8)); if (res >= 0) { - printf(" Demod margin.: %u ", (unsigned) u8); + printf(" Demod margin.: %u ", (unsigned)u8); line_thresh++; } res = netif_get_opt(iface, NETOPT_NUM_GATEWAYS, 0, &u8, sizeof(u8)); if (res >= 0) { - printf(" Num gateways.: %u ", (unsigned) u8); + printf(" Num gateways.: %u ", (unsigned)u8); line_thresh++; } #endif @@ -888,24 +890,24 @@ static void _netif_list(netif_t *iface) #ifdef MODULE_GNRC_IPV6 printf("Link type: %s", (netif_get_opt(iface, NETOPT_IS_WIRED, 0, &u16, sizeof(u16)) > 0) ? - "wired" : "wireless"); + "wired" : "wireless"); _newline(0U, ++line_thresh); res = netif_get_opt(iface, NETOPT_IPV6_ADDR, 0, ipv6_addrs, - sizeof(ipv6_addrs)); + sizeof(ipv6_addrs)); if (res >= 0) { uint8_t ipv6_addrs_flags[CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF]; memset(ipv6_addrs_flags, 0, sizeof(ipv6_addrs_flags)); /* assume it to succeed (otherwise array will stay 0) */ netif_get_opt(iface, NETOPT_IPV6_ADDR_FLAGS, 0, ipv6_addrs_flags, - sizeof(ipv6_addrs_flags)); + sizeof(ipv6_addrs_flags)); /* yes, the res of NETOPT_IPV6_ADDR is meant to be here ;-) */ for (unsigned i = 0; i < (res / sizeof(ipv6_addr_t)); i++) { _netif_list_ipv6(&ipv6_addrs[i], ipv6_addrs_flags[i]); } } res = netif_get_opt(iface, NETOPT_IPV6_GROUP, 0, ipv6_groups, - sizeof(ipv6_groups)); + sizeof(ipv6_groups)); if (res >= 0) { for (unsigned i = 0; i < (res / sizeof(ipv6_addr_t)); i++) { _netif_list_groups(&ipv6_groups[i]); @@ -1087,11 +1089,13 @@ static int _netif_set_fsk_fec(netif_t *iface, char *value) static int _netif_set_fsk_modulation_index(netif_t *iface, char *value) { uint8_t a, b; - char* frac = strchr(value, '/'); + char *frac = strchr(value, '/'); + if (frac) { *frac = 0; b = atoi(frac + 1); - } else { + } + else { b = 1; } a = atoi(value); @@ -1099,10 +1103,12 @@ static int _netif_set_fsk_modulation_index(netif_t *iface, char *value) frac_extend(&a, &b, 64); int res = netif_set_opt(iface, NETOPT_MR_FSK_MODULATION_INDEX, 0, &a, sizeof(uint8_t)); + if (res < 0) { printf("error: unable to set modulation index to %d/%d\n", a, b); return 1; - } else { + } + else { printf("success: set modulation index to %d/%d\n", res, b); } @@ -1253,20 +1259,21 @@ static int _netif_set_lw_key(netif_t *iface, netopt_t opt, char *key_str) size_t key_len = fmt_hex_bytes(key, key_str); size_t expected_len; + switch (opt) { - case NETOPT_LORAWAN_APPKEY: - case NETOPT_LORAWAN_APPSKEY: - case NETOPT_LORAWAN_NWKSKEY: - case NETOPT_LORAWAN_NWKKEY: - case NETOPT_LORAWAN_SNWKSINTKEY: - case NETOPT_LORAWAN_FNWKSINTKEY: - case NETOPT_LORAWAN_NWKSENCKEY: - /* All keys have the same length as the APP KEY */ - expected_len = LORAMAC_APPKEY_LEN; - break; - default: - /* Same rationale here */ - expected_len = LORAMAC_DEVEUI_LEN; + case NETOPT_LORAWAN_APPKEY: + case NETOPT_LORAWAN_APPSKEY: + case NETOPT_LORAWAN_NWKSKEY: + case NETOPT_LORAWAN_NWKKEY: + case NETOPT_LORAWAN_SNWKSINTKEY: + case NETOPT_LORAWAN_FNWKSINTKEY: + case NETOPT_LORAWAN_NWKSENCKEY: + /* All keys have the same length as the APP KEY */ + expected_len = LORAMAC_APPKEY_LEN; + break; + default: + /* Same rationale here */ + expected_len = LORAMAC_DEVEUI_LEN; } if (!key_len || key_len != expected_len) { puts("error: unable to parse key.\n"); @@ -1358,7 +1365,8 @@ static int _netif_set_state(netif_t *iface, char *state_str) return 0; } -static int _hex_to_int(char c) { +static int _hex_to_int(char c) +{ if ('0' <= c && c <= '9') { return c - '0'; } @@ -1870,7 +1878,8 @@ int _gnrc_netif_config(int argc, char **argv) (strcmp(argv[1], "--help") == 0)) { _usage(argv[0]); return 0; - } else { + } + else { puts("error: invalid interface given"); return 1; } diff --git a/tests/gnrc_lorawan/main.c b/tests/gnrc_lorawan/main.c index 2af6ebce60..a435e7c4a3 100644 --- a/tests/gnrc_lorawan/main.c +++ b/tests/gnrc_lorawan/main.c @@ -70,7 +70,8 @@ static void test_gnrc_lorawan__validate_mic(void) /* Uplink packet */ le_uint32_t calc_mic; - gnrc_lorawan_t mac = {0}; + gnrc_lorawan_t mac = { 0 }; + memcpy(&mac.dev_addr, &dev_addr, sizeof(dev_addr)); mac.ctx.fnwksintkey = nwkskey; mac.mcps.fcnt = fcnt; @@ -89,7 +90,8 @@ static void test_gnrc_lorawan__wrong_mic(void) /* Uplink packet */ le_uint32_t calc_mic; - gnrc_lorawan_t mac = {0}; + gnrc_lorawan_t mac = { 0 }; + memcpy(&mac.dev_addr, &dev_addr, sizeof(dev_addr)); mac.ctx.fnwksintkey = nwkskey; mac.mcps.fcnt = fcnt; diff --git a/tests/gnrc_lorawan_11/main.c b/tests/gnrc_lorawan_11/main.c index 6753386462..0b8a8ca703 100644 --- a/tests/gnrc_lorawan_11/main.c +++ b/tests/gnrc_lorawan_11/main.c @@ -25,9 +25,11 @@ static uint8_t snwksintkey[] = { 0xc0, 0x9f, 0x9e, 0x9a, 0x13, 0x91, 0xae, 0xcc, 0x54, 0xdb, 0x49, 0x0e, 0x11, 0x26, 0x1f, 0x21 }; static uint8_t lorawan_packet_no_mic[] = -{ 0x40, 0x30, 0xe2, 0xde, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3b, 0xc5, 0xf0, 0xa0, 0x69, 0x49, 0x66, 0xee, 0x00, 0xc1, 0xaa, 0x0d, 0xee, 0x20 }; +{ 0x40, 0x30, 0xe2, 0xde, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3b, 0xc5, 0xf0, 0xa0, 0x69, 0x49, 0x66, + 0xee, 0x00, 0xc1, 0xaa, 0x0d, 0xee, 0x20 }; static uint8_t lorawan_packet_wrong[] = -{ 0x40, 0x30, 0xe2, 0xde, 0x00, 0x00, 0x00, 0xaa, 0x01, 0x3b, 0xc5, 0xf0, 0xa0, 0x69, 0x49, 0x66, 0xee, 0x00, 0xc1, 0xaa, 0x0d, 0xee, 0x20 }; +{ 0x40, 0x30, 0xe2, 0xde, 0x00, 0x00, 0x00, 0xaa, 0x01, 0x3b, 0xc5, 0xf0, 0xa0, 0x69, 0x49, 0x66, + 0xee, 0x00, 0xc1, 0xaa, 0x0d, 0xee, 0x20 }; static uint8_t mic[] = { 0x12, 0xcd, 0x3c, 0x8a }; static le_uint32_t dev_addr = { @@ -76,7 +78,8 @@ static void test_gnrc_lorawan__validate_mic(void) /* Uplink packet */ le_uint32_t calc_mic; - gnrc_lorawan_t mac = {0}; + gnrc_lorawan_t mac = { 0 }; + memcpy(&mac.dev_addr, &dev_addr, sizeof(dev_addr)); mac.ctx.fnwksintkey = fnwksintkey; mac.ctx.snwksintkey = snwksintkey; @@ -99,7 +102,8 @@ static void test_gnrc_lorawan__wrong_mic(void) /* Uplink packet */ le_uint32_t calc_mic; - gnrc_lorawan_t mac = {0}; + gnrc_lorawan_t mac = { 0 }; + memcpy(&mac.dev_addr, &dev_addr, sizeof(dev_addr)); mac.ctx.fnwksintkey = fnwksintkey; mac.ctx.snwksintkey = snwksintkey;