Browse Source

smplified CONTROL_CHARS regex

pull/15550/head
dashevchenko 1 month ago
parent
commit
157c773fcd
  1. 2
      dao/src/main/java/org/thingsboard/server/dao/service/validator/DeviceCredentialsDataValidator.java
  2. 2
      dao/src/main/java/org/thingsboard/server/dao/util/DeviceConnectivityUtil.java
  3. 15
      dao/src/test/java/org/thingsboard/server/dao/service/validator/DeviceCredentialsDataValidatorTest.java

2
dao/src/main/java/org/thingsboard/server/dao/service/validator/DeviceCredentialsDataValidator.java

@ -35,7 +35,7 @@ import java.util.regex.Pattern;
@Component
public class DeviceCredentialsDataValidator extends DataValidator<DeviceCredentials> {
private static final Pattern CONTROL_CHARS = Pattern.compile("[\\r\\n\\t\\x00-\\x1F\\x7F]");
private static final Pattern CONTROL_CHARS = Pattern.compile("[\\x00-\\x1F\\x7F]");
@Autowired
private DeviceCredentialsDao deviceCredentialsDao;

2
dao/src/main/java/org/thingsboard/server/dao/util/DeviceConnectivityUtil.java

@ -50,7 +50,7 @@ public class DeviceConnectivityUtil {
public static final String MQTT_IMAGE = "thingsboard/mosquitto-clients ";
public static final String COAP_IMAGE = "thingsboard/coap-clients ";
private final static Pattern VALID_URL_PATTERN = Pattern.compile("^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]");
private final static Pattern CONTROL_CHARS = Pattern.compile("[\\r\\n\\t\\x00-\\x1F\\x7F]");
private final static Pattern CONTROL_CHARS = Pattern.compile("[\\x00-\\x1F\\x7F]");
private static String sanitize(String value) {
return value == null ? null : CONTROL_CHARS.matcher(value).replaceAll("_");

15
dao/src/test/java/org/thingsboard/server/dao/service/validator/DeviceCredentialsDataValidatorTest.java

@ -16,9 +16,10 @@
package org.thingsboard.server.dao.service.validator;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.boot.test.mock.mockito.SpyBean;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.device.credentials.BasicMqttCredentials;
@ -36,14 +37,14 @@ import static org.assertj.core.api.Assertions.assertThatCode;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.BDDMockito.willReturn;
@SpringBootTest(classes = DeviceCredentialsDataValidator.class)
@ExtendWith(MockitoExtension.class)
class DeviceCredentialsDataValidatorTest {
@MockBean
@Mock
DeviceCredentialsDao deviceCredentialsDao;
@MockBean
@Mock
DeviceService deviceService;
@SpyBean
@InjectMocks
DeviceCredentialsDataValidator validator;
final TenantId tenantId = TenantId.fromUUID(UUID.fromString("9ef79cdf-37a8-4119-b682-2e7ed4e018da"));

Loading…
Cancel
Save