Skip to content

Commit b204ba5

Browse files
author
Arto Kinnunen
authored
Merge pull request #13588 from mikaleppanen/radius_trace_corr
[feature-wisun] Added initialization check to RADIUS ipv6 address
2 parents 42047d3 + 013ab40 commit b204ba5

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

features/nanostack/mbed-mesh-api/mbed-mesh-api/WisunBorderRouter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,7 @@ class WisunBorderRouter {
331331
char *_shared_secret = NULL;
332332
uint16_t _shared_secret_len = 0;
333333
int8_t _mesh_if_id = -1;
334+
bool _radius_ipv6_addr_init = false;
334335
bool _radius_ipv6_addr_set = false;
335336
bool _configured = false;
336337
bool _radius_timing_set = false;

features/nanostack/mbed-mesh-api/source/WisunBorderRouter.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ void WisunBorderRouter::stop()
109109

110110
mesh_error_t WisunBorderRouter::configure()
111111
{
112-
#if defined(MBED_CONF_MBED_MESH_API_RADIUS_SHARED_SECRET) || defined(MBED_CONF_MBED_MESH_API_RADIUS_SERVER_IPV6_ADDRESS) || defined(MBED_CONF_MBED_MESH_API_RADIUS_RETRY_IMIN)
112+
#if defined(MBED_CONF_MBED_MESH_API_RADIUS_SHARED_SECRET) || defined(MBED_CONF_MBED_MESH_API_RADIUS_SERVER_IPV6_ADDRESS)
113113
mesh_error_t status;
114114
#endif
115115

@@ -281,8 +281,10 @@ mesh_error_t WisunBorderRouter::set_radius_server_ipv6_address(const char *addre
281281
}
282282
// Stored address (returned by get) is in the format given by user of the interface
283283
strcpy(_radius_ipv6_addr, address);
284+
_radius_ipv6_addr_init = true;
284285
_radius_ipv6_addr_set = true;
285286
} else {
287+
_radius_ipv6_addr_init = true;
286288
_radius_ipv6_addr_set = false;
287289
}
288290

@@ -303,6 +305,10 @@ mesh_error_t WisunBorderRouter::set_bbr_radius_address(void)
303305
{
304306
int status;
305307

308+
if (!_radius_ipv6_addr_init) {
309+
return MESH_ERROR_NONE;
310+
}
311+
306312
if (_radius_ipv6_addr_set) {
307313
uint8_t ipv6_addr[16];
308314
if (!stoip6(_radius_ipv6_addr, strlen(_radius_ipv6_addr), ipv6_addr)) {
@@ -348,7 +354,7 @@ mesh_error_t WisunBorderRouter::set_radius_shared_secret(uint16_t shared_secret_
348354
mesh_error_t WisunBorderRouter::set_bbr_radius_shared_secret(void)
349355
{
350356
if (_shared_secret_len == 0 || _shared_secret == NULL) {
351-
return MESH_ERROR_UNKNOWN;
357+
return MESH_ERROR_NONE;
352358
}
353359

354360
int status = ws_bbr_radius_shared_secret_set(_mesh_if_id, _shared_secret_len, (uint8_t *) _shared_secret);

0 commit comments

Comments
 (0)