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