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/lib
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-06-29 17:16:15 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-29 17:16:15 +0300
commit5370ec1c3d27d646be672039e78161d22b1e2a80 (patch)
tree1c0ed695576be5560bb4399082f0642bc214f3f1 /lib
parenta5baa12bfff6c41f6c9cf156edcf8e621f71848e (diff)
Add latest changes from gitlab-org/security/gitlab@15-1-stable-ee
Diffstat (limited to 'lib')
-rw-r--r--lib/bulk_imports/projects/graphql/get_project_query.rb12
-rw-r--r--lib/bulk_imports/projects/transformers/project_attributes_transformer.rb14
-rw-r--r--lib/gitlab/import_export/decompressed_archive_size_validator.rb20
3 files changed, 19 insertions, 27 deletions
diff --git a/lib/bulk_imports/projects/graphql/get_project_query.rb b/lib/bulk_imports/projects/graphql/get_project_query.rb
index 76475893ac1..b3d7f3f4683 100644
--- a/lib/bulk_imports/projects/graphql/get_project_query.rb
+++ b/lib/bulk_imports/projects/graphql/get_project_query.rb
@@ -10,8 +10,20 @@ module BulkImports
<<-'GRAPHQL'
query($full_path: ID!) {
project(fullPath: $full_path) {
+ description
visibility
+ archived
created_at: createdAt
+ shared_runners_enabled: sharedRunnersEnabled
+ container_registry_enabled: containerRegistryEnabled
+ only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds
+ only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved
+ request_access_enabled: requestAccessEnabled
+ printing_merge_request_link_enabled: printingMergeRequestLinkEnabled
+ remove_source_branch_after_merge: removeSourceBranchAfterMerge
+ autoclose_referenced_issues: autocloseReferencedIssues
+ suggestion_commit_message: suggestionCommitMessage
+ wiki_enabled: wikiEnabled
}
}
GRAPHQL
diff --git a/lib/bulk_imports/projects/transformers/project_attributes_transformer.rb b/lib/bulk_imports/projects/transformers/project_attributes_transformer.rb
index 38730a7723b..24c55d8dbb1 100644
--- a/lib/bulk_imports/projects/transformers/project_attributes_transformer.rb
+++ b/lib/bulk_imports/projects/transformers/project_attributes_transformer.rb
@@ -7,18 +7,16 @@ module BulkImports
PROJECT_IMPORT_TYPE = 'gitlab_project_migration'
def transform(context, data)
- project = {}
entity = context.entity
visibility = data.delete('visibility')
- project[:name] = entity.destination_name
- project[:path] = entity.destination_name.parameterize
- project[:created_at] = data['created_at']
- project[:import_type] = PROJECT_IMPORT_TYPE
- project[:visibility_level] = Gitlab::VisibilityLevel.string_options[visibility] if visibility.present?
- project[:namespace_id] = Namespace.find_by_full_path(entity.destination_namespace)&.id if entity.destination_namespace.present?
+ data['name'] = entity.destination_name
+ data['path'] = entity.destination_name.parameterize
+ data['import_type'] = PROJECT_IMPORT_TYPE
+ data['visibility_level'] = Gitlab::VisibilityLevel.string_options[visibility] if visibility.present?
+ data['namespace_id'] = Namespace.find_by_full_path(entity.destination_namespace)&.id if entity.destination_namespace.present?
- project
+ data.transform_keys!(&:to_sym)
end
end
end
diff --git a/lib/gitlab/import_export/decompressed_archive_size_validator.rb b/lib/gitlab/import_export/decompressed_archive_size_validator.rb
index a185eb4df1c..61b37256964 100644
--- a/lib/gitlab/import_export/decompressed_archive_size_validator.rb
+++ b/lib/gitlab/import_export/decompressed_archive_size_validator.rb
@@ -8,8 +8,6 @@ module Gitlab
DEFAULT_MAX_BYTES = 10.gigabytes.freeze
TIMEOUT_LIMIT = 210.seconds
- ServiceError = Class.new(StandardError)
-
def initialize(archive_path:, max_bytes: self.class.max_bytes)
@archive_path = archive_path
@max_bytes = max_bytes
@@ -31,8 +29,6 @@ module Gitlab
pgrp = nil
valid_archive = true
- validate_archive_path
-
Timeout.timeout(TIMEOUT_LIMIT) do
stdin, stdout, stderr, wait_thr = Open3.popen3(command, pgroup: true)
stdin.close
@@ -82,29 +78,15 @@ module Gitlab
false
end
- def validate_archive_path
- Gitlab::Utils.check_path_traversal!(@archive_path)
-
- raise(ServiceError, 'Archive path is not a string') unless @archive_path.is_a?(String)
- raise(ServiceError, 'Archive path is a symlink') if File.lstat(@archive_path).symlink?
- raise(ServiceError, 'Archive path is not a file') unless File.file?(@archive_path)
- end
-
def command
"gzip -dc #{@archive_path} | wc -c"
end
def log_error(error)
- archive_size = begin
- File.size(@archive_path)
- rescue StandardError
- nil
- end
-
Gitlab::Import::Logger.info(
message: error,
import_upload_archive_path: @archive_path,
- import_upload_archive_size: archive_size
+ import_upload_archive_size: File.size(@archive_path)
)
end
end