Showing
3 changed files
with
15 additions
and
6 deletions
@@ -468,7 +468,7 @@ public class DefaultTransportApiService implements TransportApiService { | @@ -468,7 +468,7 @@ public class DefaultTransportApiService implements TransportApiService { | ||
468 | break; | 468 | break; |
469 | } | 469 | } |
470 | 470 | ||
471 | - return DeviceInfoProto.newBuilder() | 471 | + DeviceInfoProto.Builder builder = DeviceInfoProto.newBuilder() |
472 | .setTenantIdMSB(device.getTenantId().getId().getMostSignificantBits()) | 472 | .setTenantIdMSB(device.getTenantId().getId().getMostSignificantBits()) |
473 | .setTenantIdLSB(device.getTenantId().getId().getLeastSignificantBits()) | 473 | .setTenantIdLSB(device.getTenantId().getId().getLeastSignificantBits()) |
474 | .setCustomerIdMSB(Optional.ofNullable(device.getCustomerId()).map(customerId -> customerId.getId().getMostSignificantBits()).orElse(0L)) | 474 | .setCustomerIdMSB(Optional.ofNullable(device.getCustomerId()).map(customerId -> customerId.getId().getMostSignificantBits()).orElse(0L)) |
@@ -479,9 +479,11 @@ public class DefaultTransportApiService implements TransportApiService { | @@ -479,9 +479,11 @@ public class DefaultTransportApiService implements TransportApiService { | ||
479 | .setDeviceType(device.getType()) | 479 | .setDeviceType(device.getType()) |
480 | .setDeviceProfileIdMSB(device.getDeviceProfileId().getId().getMostSignificantBits()) | 480 | .setDeviceProfileIdMSB(device.getDeviceProfileId().getId().getMostSignificantBits()) |
481 | .setDeviceProfileIdLSB(device.getDeviceProfileId().getId().getLeastSignificantBits()) | 481 | .setDeviceProfileIdLSB(device.getDeviceProfileId().getId().getLeastSignificantBits()) |
482 | - .setAdditionalInfo(mapper.writeValueAsString(device.getAdditionalInfo())) | ||
483 | - .setPowerMode(powerMode != null ? powerMode.name() : null) | ||
484 | - .build(); | 482 | + .setAdditionalInfo(mapper.writeValueAsString(device.getAdditionalInfo())); |
483 | + if (powerMode != null) { | ||
484 | + builder.setPowerMode(powerMode.name()); | ||
485 | + } | ||
486 | + return builder.build(); | ||
485 | } | 487 | } |
486 | 488 | ||
487 | private ListenableFuture<TransportApiResponseMsg> getEmptyTransportApiResponseFuture() { | 489 | private ListenableFuture<TransportApiResponseMsg> getEmptyTransportApiResponseFuture() { |
@@ -42,6 +42,7 @@ import org.thingsboard.server.common.transport.util.SslUtil; | @@ -42,6 +42,7 @@ import org.thingsboard.server.common.transport.util.SslUtil; | ||
42 | import org.thingsboard.server.queue.util.TbLwM2mTransportComponent; | 42 | import org.thingsboard.server.queue.util.TbLwM2mTransportComponent; |
43 | import org.thingsboard.server.transport.lwm2m.config.LwM2MTransportServerConfig; | 43 | import org.thingsboard.server.transport.lwm2m.config.LwM2MTransportServerConfig; |
44 | import org.thingsboard.server.transport.lwm2m.secure.credentials.LwM2MCredentials; | 44 | import org.thingsboard.server.transport.lwm2m.secure.credentials.LwM2MCredentials; |
45 | +import org.thingsboard.server.transport.lwm2m.server.client.LwM2MAuthException; | ||
45 | import org.thingsboard.server.transport.lwm2m.server.store.TbLwM2MDtlsSessionStore; | 46 | import org.thingsboard.server.transport.lwm2m.server.store.TbLwM2MDtlsSessionStore; |
46 | import org.thingsboard.server.transport.lwm2m.server.store.TbMainSecurityStore; | 47 | import org.thingsboard.server.transport.lwm2m.server.store.TbMainSecurityStore; |
47 | 48 | ||
@@ -118,7 +119,12 @@ public class TbLwM2MDtlsCertificateVerifier implements NewAdvancedCertificateVer | @@ -118,7 +119,12 @@ public class TbLwM2MDtlsCertificateVerifier implements NewAdvancedCertificateVer | ||
118 | 119 | ||
119 | String strCert = SslUtil.getCertificateString(cert); | 120 | String strCert = SslUtil.getCertificateString(cert); |
120 | String sha3Hash = EncryptionUtil.getSha3Hash(strCert); | 121 | String sha3Hash = EncryptionUtil.getSha3Hash(strCert); |
121 | - TbLwM2MSecurityInfo securityInfo = securityInfoValidator.getEndpointSecurityInfoByCredentialsId(sha3Hash, CLIENT); | 122 | + TbLwM2MSecurityInfo securityInfo; |
123 | + try { | ||
124 | + securityInfo = securityInfoValidator.getEndpointSecurityInfoByCredentialsId(sha3Hash, CLIENT); | ||
125 | + } catch (LwM2MAuthException e) { | ||
126 | + securityInfo = null; | ||
127 | + } | ||
122 | ValidateDeviceCredentialsResponse msg = securityInfo != null ? securityInfo.getMsg() : null; | 128 | ValidateDeviceCredentialsResponse msg = securityInfo != null ? securityInfo.getMsg() : null; |
123 | if (msg != null && org.thingsboard.server.common.data.StringUtils.isNotEmpty(msg.getCredentials())) { | 129 | if (msg != null && org.thingsboard.server.common.data.StringUtils.isNotEmpty(msg.getCredentials())) { |
124 | LwM2MCredentials credentials = JacksonUtil.fromString(msg.getCredentials(), LwM2MCredentials.class); | 130 | LwM2MCredentials credentials = JacksonUtil.fromString(msg.getCredentials(), LwM2MCredentials.class); |
@@ -34,6 +34,7 @@ import org.thingsboard.server.common.data.DeviceProfile; | @@ -34,6 +34,7 @@ import org.thingsboard.server.common.data.DeviceProfile; | ||
34 | import org.thingsboard.server.common.data.DeviceTransportType; | 34 | import org.thingsboard.server.common.data.DeviceTransportType; |
35 | import org.thingsboard.server.common.data.EntityType; | 35 | import org.thingsboard.server.common.data.EntityType; |
36 | import org.thingsboard.server.common.data.ResourceType; | 36 | import org.thingsboard.server.common.data.ResourceType; |
37 | +import org.thingsboard.server.common.data.StringUtils; | ||
37 | import org.thingsboard.server.common.data.Tenant; | 38 | import org.thingsboard.server.common.data.Tenant; |
38 | import org.thingsboard.server.common.data.device.data.PowerMode; | 39 | import org.thingsboard.server.common.data.device.data.PowerMode; |
39 | import org.thingsboard.server.common.data.id.CustomerId; | 40 | import org.thingsboard.server.common.data.id.CustomerId; |
@@ -441,7 +442,7 @@ public class DefaultTransportService implements TransportService { | @@ -441,7 +442,7 @@ public class DefaultTransportService implements TransportService { | ||
441 | tdi.setAdditionalInfo(di.getAdditionalInfo()); | 442 | tdi.setAdditionalInfo(di.getAdditionalInfo()); |
442 | tdi.setDeviceName(di.getDeviceName()); | 443 | tdi.setDeviceName(di.getDeviceName()); |
443 | tdi.setDeviceType(di.getDeviceType()); | 444 | tdi.setDeviceType(di.getDeviceType()); |
444 | - if (di.getPowerMode() != null) { | 445 | + if (StringUtils.isNotEmpty(di.getPowerMode())) { |
445 | tdi.setPowerMode(PowerMode.valueOf(di.getPowerMode())); | 446 | tdi.setPowerMode(PowerMode.valueOf(di.getPowerMode())); |
446 | } | 447 | } |
447 | return tdi; | 448 | return tdi; |