winterhazel commented on code in PR #13821:
URL: https://github.com/apache/cloudstack/pull/13821#discussion_r3797346357


##########
server/src/main/java/org/apache/cloudstack/dns/DnsProviderManagerImpl.java:
##########
@@ -162,14 +163,29 @@ private DnsProvider getProviderByType(DnsProviderType 
type) {
         throw new CloudRuntimeException("No plugin found for DNS provider 
type: " + type);
     }
 
+    /**
+     * Rejects a DNS provider URL that resolves to an illegal address before 
any provider client is given
+     * the chance to connect to it. See {@link UriUtils#validateUrl(String)} 
for the exact rules enforced
+     * (including the requirement that the URL declares an {@code http}/{@code 
https} scheme).
+     * Expects {@code url} to already be trimmed.
+     */
+    private void validateDnsServerUrl(String url) {
+        if (StringUtils.isBlank(url)) {
+            throw new IllegalArgumentException("URL cannot be blank.");
+        }
+        UriUtils.validateUrl(url);

Review Comment:
   @sudo87 I know that they can be valid DNS servers. I do agree that it might 
make sense to allow root admins to register these DNS servers. However, my 
point is regarding whether we should allow non-root admin accounts, which we 
typically assume that do not have knowledge about the cloud provider's internal 
infrastructure, to register a DNS server (or any other internal address) 
belonging to the cloud provider's internal infrastructure. Could this be 
considered a security concern?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to