mirror of https://github.com/OpenVidu/openvidu.git
openvidu-server: asOptionalInetAddress less restrictive
parent
c23f6910f0
commit
1f3f439e22
|
@ -267,6 +267,11 @@
|
||||||
<artifactId>spring-boot-starter-websocket</artifactId>
|
<artifactId>spring-boot-starter-websocket</artifactId>
|
||||||
<version>${version.spring-boot}</version>
|
<version>${version.spring-boot}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-validator</groupId>
|
||||||
|
<artifactId>commons-validator</artifactId>
|
||||||
|
<version>${version.commons-validator}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.docker-java</groupId>
|
<groupId>com.github.docker-java</groupId>
|
||||||
<artifactId>docker-java</artifactId>
|
<artifactId>docker-java</artifactId>
|
||||||
|
|
|
@ -40,6 +40,8 @@ import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.commons.validator.routines.DomainValidator;
|
||||||
|
import org.apache.commons.validator.routines.InetAddressValidator;
|
||||||
import org.apache.http.Header;
|
import org.apache.http.Header;
|
||||||
import org.apache.http.message.BasicHeader;
|
import org.apache.http.message.BasicHeader;
|
||||||
import org.kurento.jsonrpc.JsonUtils;
|
import org.kurento.jsonrpc.JsonUtils;
|
||||||
|
@ -521,8 +523,8 @@ public class OpenviduConfig {
|
||||||
|
|
||||||
protected List<String> getNonUserProperties() {
|
protected List<String> getNonUserProperties() {
|
||||||
return Arrays.asList("server.port", "SERVER_PORT", "DOTENV_PATH", "COTURN_IP", "COTURN_REDIS_IP",
|
return Arrays.asList("server.port", "SERVER_PORT", "DOTENV_PATH", "COTURN_IP", "COTURN_REDIS_IP",
|
||||||
"COTURN_REDIS_DBNAME", "COTURN_REDIS_PASSWORD", "COTURN_REDIS_CONNECT_TIMEOUT",
|
"COTURN_REDIS_DBNAME", "COTURN_REDIS_PASSWORD", "COTURN_REDIS_CONNECT_TIMEOUT", "COTURN_INTERNAL_RELAY",
|
||||||
"COTURN_INTERNAL_RELAY", "OPENVIDU_RECORDING_IMAGE", "OPENVIDU_RECORDING_ENABLE_GPU");
|
"OPENVIDU_RECORDING_IMAGE", "OPENVIDU_RECORDING_ENABLE_GPU");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Properties
|
// Properties
|
||||||
|
@ -544,7 +546,8 @@ public class OpenviduConfig {
|
||||||
|
|
||||||
coturnRedisConnectTimeout = getValue("COTURN_REDIS_CONNECT_TIMEOUT");
|
coturnRedisConnectTimeout = getValue("COTURN_REDIS_CONNECT_TIMEOUT");
|
||||||
|
|
||||||
// If true, coturn is using private IPs as relay IPs to enable relay connections pass through internal network
|
// If true, coturn is using private IPs as relay IPs to enable relay connections
|
||||||
|
// pass through internal network
|
||||||
coturnInternalRelay = asBoolean("COTURN_INTERNAL_RELAY");
|
coturnInternalRelay = asBoolean("COTURN_INTERNAL_RELAY");
|
||||||
|
|
||||||
openviduSecret = asNonEmptyAlphanumericString("OPENVIDU_SECRET",
|
openviduSecret = asNonEmptyAlphanumericString("OPENVIDU_SECRET",
|
||||||
|
@ -864,8 +867,17 @@ public class OpenviduConfig {
|
||||||
protected String asOptionalInetAddress(String property) {
|
protected String asOptionalInetAddress(String property) {
|
||||||
String inetAddress = getValue(property);
|
String inetAddress = getValue(property);
|
||||||
if (inetAddress != null && !inetAddress.isEmpty()) {
|
if (inetAddress != null && !inetAddress.isEmpty()) {
|
||||||
|
DomainValidator domainValidator = DomainValidator.getInstance();
|
||||||
|
if (domainValidator.isValid(inetAddress)) {
|
||||||
|
return inetAddress;
|
||||||
|
}
|
||||||
|
InetAddressValidator ipValidator = InetAddressValidator.getInstance();
|
||||||
|
if (ipValidator.isValid(inetAddress)) {
|
||||||
|
return inetAddress;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
Inet6Address.getByName(inetAddress).getHostAddress();
|
Inet6Address.getByName(inetAddress).getHostAddress();
|
||||||
|
return inetAddress;
|
||||||
} catch (UnknownHostException e) {
|
} catch (UnknownHostException e) {
|
||||||
addError(property, "Is not a valid Internet Address (IP or Domain Name): " + e.getMessage());
|
addError(property, "Is not a valid Internet Address (IP or Domain Name): " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
@ -1042,8 +1054,8 @@ public class OpenviduConfig {
|
||||||
} else {
|
} else {
|
||||||
String[] customImageSplit = configuredImage.split(":");
|
String[] customImageSplit = configuredImage.split(":");
|
||||||
if (customImageSplit.length != 2) {
|
if (customImageSplit.length != 2) {
|
||||||
addError(recordingImageProperty, "The docker image configured is not valid. " +
|
addError(recordingImageProperty, "The docker image configured is not valid. "
|
||||||
"This parameter must have this format: '<image>:<tag>'");
|
+ "This parameter must have this format: '<image>:<tag>'");
|
||||||
} else {
|
} else {
|
||||||
String customImageName = customImageSplit[0];
|
String customImageName = customImageSplit[0];
|
||||||
String customVersion = customImageSplit[1];
|
String customVersion = customImageSplit[1];
|
||||||
|
@ -1061,7 +1073,7 @@ public class OpenviduConfig {
|
||||||
return mediaNodesPublicIps;
|
return mediaNodesPublicIps;
|
||||||
}
|
}
|
||||||
List<String> mediaNodesPublicIpsList = asJsonStringsArray(propertyName);
|
List<String> mediaNodesPublicIpsList = asJsonStringsArray(propertyName);
|
||||||
for(String ipPairStr: mediaNodesPublicIpsList) {
|
for (String ipPairStr : mediaNodesPublicIpsList) {
|
||||||
String[] ipPair = ipPairStr.trim().split(":");
|
String[] ipPair = ipPairStr.trim().split(":");
|
||||||
if (ipPair.length != 2) {
|
if (ipPair.length != 2) {
|
||||||
addError(propertyName, "Not valid ip pair in " + propertyName + ": " + ipPairStr);
|
addError(propertyName, "Not valid ip pair in " + propertyName + ": " + ipPairStr);
|
||||||
|
|
1
pom.xml
1
pom.xml
|
@ -59,6 +59,7 @@
|
||||||
<version.gson>2.8.6</version.gson>
|
<version.gson>2.8.6</version.gson>
|
||||||
<version.unirest>1.4.9</version.unirest>
|
<version.unirest>1.4.9</version.unirest>
|
||||||
<version.jcodec>0.2.5</version.jcodec>
|
<version.jcodec>0.2.5</version.jcodec>
|
||||||
|
<version.commons-validator>1.7</version.commons-validator>
|
||||||
|
|
||||||
<version.webdrivermanager>4.2.2</version.webdrivermanager>
|
<version.webdrivermanager>4.2.2</version.webdrivermanager>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue