Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-12-16 12:10:45 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-16 12:10:45 +0300
commit554bb1eb1f1aa5aa45b5e4a1ee1557da0ccc59c0 (patch)
tree29a8009abef0ac5ecce6b8b608d5af2381a9663f /app
parent3e4c70d0708bdbf27edf4bbd3f01b85a921f759e (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/services/pages_domains/obtain_lets_encrypt_certificate_service.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/services/pages_domains/obtain_lets_encrypt_certificate_service.rb b/app/services/pages_domains/obtain_lets_encrypt_certificate_service.rb
index 1733021cbb5..c11b019cee5 100644
--- a/app/services/pages_domains/obtain_lets_encrypt_certificate_service.rb
+++ b/app/services/pages_domains/obtain_lets_encrypt_certificate_service.rb
@@ -10,6 +10,9 @@ module PagesDomains
# no particular SLA, usually takes 10-15 seconds
CERTIFICATE_PROCESSING_DELAY = 1.minute.freeze
+ # Maximum domain length for Let's Encrypt
+ MAX_DOMAIN_LENGTH = 64
+
attr_reader :pages_domain
def initialize(pages_domain)
@@ -17,6 +20,11 @@ module PagesDomains
end
def execute
+ if pages_domain.domain.bytesize > MAX_DOMAIN_LENGTH
+ log_domain_length_error
+ return
+ end
+
pages_domain.acme_orders.expired.delete_all
acme_order = pages_domain.acme_orders.first
@@ -59,6 +67,16 @@ module PagesDomains
NotificationService.new.pages_domain_auto_ssl_failed(pages_domain)
end
+ def log_domain_length_error
+ Gitlab::AppLogger.error(
+ message: "Domain name too long for Let's Encrypt certificate",
+ pages_domain: pages_domain.domain,
+ pages_domain_bytesize: pages_domain.domain.bytesize,
+ max_allowed_bytesize: MAX_DOMAIN_LENGTH,
+ project_id: pages_domain.project_id
+ )
+ end
+
def log_error(api_order)
Gitlab::AppLogger.error(
message: "Failed to obtain Let's Encrypt certificate",