summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-30 00:09:09 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-30 00:09:09 +0000
commitc36e59283ebcfd75281a9dda227ed060eeb5fbe7 (patch)
tree282c293bb93f3fc7798485b2410c47fdbf2cd50a
parent27d314277bfe7fffec215efa9b1833a23bb82940 (diff)
downloadgitlab-ce-c36e59283ebcfd75281a9dda227ed060eeb5fbe7.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--changelogs/unreleased/MaxWinterstein-master-patch-60978.yml5
-rw-r--r--doc/ci/chatops/README.md4
-rw-r--r--doc/ci/ci_cd_for_external_repos/github_integration.md2
-rw-r--r--doc/ci/docker/using_docker_build.md2
-rw-r--r--doc/development/documentation/workflow.md2
-rw-r--r--doc/development/kubernetes.md4
-rw-r--r--doc/development/scalability.md2
-rw-r--r--doc/user/gitlab_com/index.md2
-rw-r--r--lib/gitlab/experimentation.rb2
-rw-r--r--lib/gitlab/incoming_email.rb2
-rw-r--r--locale/gitlab.pot18
-rw-r--r--spec/fixtures/emails/envelope_to_header_with_angle_brackets.eml32
-rw-r--r--spec/lib/gitlab/email/receiver_spec.rb6
13 files changed, 66 insertions, 17 deletions
diff --git a/changelogs/unreleased/MaxWinterstein-master-patch-60978.yml b/changelogs/unreleased/MaxWinterstein-master-patch-60978.yml
new file mode 100644
index 00000000000..7ecf64c7e7a
--- /dev/null
+++ b/changelogs/unreleased/MaxWinterstein-master-patch-60978.yml
@@ -0,0 +1,5 @@
+---
+title: Add optional angle brackets in address_regex
+merge_request: 23797
+author: Max Winterstein
+type: fixed
diff --git a/doc/ci/chatops/README.md b/doc/ci/chatops/README.md
index ec3d13e7500..799ace903b2 100644
--- a/doc/ci/chatops/README.md
+++ b/doc/ci/chatops/README.md
@@ -23,7 +23,7 @@ A new `run` action has been added to the [slash commands](../../integration/slas
After the job has finished, its output is sent back to Slack provided it has completed within 30 minutes. If a job takes more than 30 minutes to run it must use the Slack API to manually send data back to a channel.
-[Developer access and above](../../user/permissions.html#project-members-permissions) is required to use the `run` command. If a job should not be able to be triggered from chat, it can be set to `except: [chat]`.
+[Developer access and above](../../user/permissions.md#project-members-permissions) is required to use the `run` command. If a job should not be able to be triggered from chat, it can be set to `except: [chat]`.
## Creating a ChatOps CI job
@@ -31,7 +31,7 @@ Since ChatOps is built upon GitLab CI/CD, the job has all the same features and
- It is strongly recommended to set `only: [chat]` so the job does not run as part of the standard CI pipeline.
- If the job is set to `when: manual`, the pipeline will be created however the job will wait to be started.
-- It is important to keep in mind that there is limited support for access control. If the user who triggered the slash command is a developer in the project, the job will run. The job itself can utilize existing [CI/CD variables](../variables/README.html#predefined-environment-variables) like `GITLAB_USER_ID` to perform additional rights validation, however these variables can be [overridden](../variables/README.html#priority-of-environment-variables).
+- It is important to keep in mind that there is limited support for access control. If the user who triggered the slash command is a developer in the project, the job will run. The job itself can utilize existing [CI/CD variables](../variables/README.md#predefined-environment-variables) like `GITLAB_USER_ID` to perform additional rights validation, however these variables can be [overridden](../variables/README.md#priority-of-environment-variables).
### Controlling the ChatOps reply
diff --git a/doc/ci/ci_cd_for_external_repos/github_integration.md b/doc/ci/ci_cd_for_external_repos/github_integration.md
index 3df47d4cd4f..7d2b17afe31 100644
--- a/doc/ci/ci_cd_for_external_repos/github_integration.md
+++ b/doc/ci/ci_cd_for_external_repos/github_integration.md
@@ -13,7 +13,7 @@ Watch a video on [Using GitLab CI/CD pipelines with GitHub repositories](https:/
NOTE: **Note:**
Because of [GitHub limitations](https://gitlab.com/gitlab-org/gitlab/issues/9147),
-[GitHub OAuth](../../integration/github.html#enabling-github-oauth)
+[GitHub OAuth](../../integration/github.md#enabling-github-oauth)
cannot be used to authenticate with GitHub as an external CI/CD repository.
## Connect with Personal Access Token
diff --git a/doc/ci/docker/using_docker_build.md b/doc/ci/docker/using_docker_build.md
index c892320327b..b7d708b152e 100644
--- a/doc/ci/docker/using_docker_build.md
+++ b/doc/ci/docker/using_docker_build.md
@@ -152,7 +152,7 @@ This requires GitLab Runner 11.11 or higher.
The Docker daemon supports connection over TLS and it's done by default
for Docker 19.03.1 or higher. This is the **suggested** way to use the
docker-in-docker service and
-[GitLab.com Shared Runners](../../user/gitlab_com/index.html#shared-runners)
+[GitLab.com Shared Runners](../../user/gitlab_com/index.md#shared-runners)
support this.
1. Install [GitLab Runner](https://docs.gitlab.com/runner/install/).
diff --git a/doc/development/documentation/workflow.md b/doc/development/documentation/workflow.md
index 0e5da29df94..137955d79b3 100644
--- a/doc/development/documentation/workflow.md
+++ b/doc/development/documentation/workflow.md
@@ -208,7 +208,7 @@ code reviewer have ensured:
### When documentation is required
-Documentation [is required](../contributing/merge_request_workflow.html#definition-of-done) for a
+Documentation [is required](../contributing/merge_request_workflow.md#definition-of-done) for a
milestone when:
- A new or enhanced feature is shipped that impacts the user or administrator experience.
diff --git a/doc/development/kubernetes.md b/doc/development/kubernetes.md
index a0dd97f2a1c..db06ddf352f 100644
--- a/doc/development/kubernetes.md
+++ b/doc/development/kubernetes.md
@@ -170,7 +170,7 @@ kubectl logs <pod_name> --follow -n gitlab-managed-apps
## GitLab Managed Apps
-GitLab provides [GitLab Managed Apps](../user/clusters/applications.html), a one-click install for various applications which can be added directly to your configured cluster.
+GitLab provides [GitLab Managed Apps](../user/clusters/applications.md), a one-click install for various applications which can be added directly to your configured cluster.
**<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
-For an overview of how to add a new GitLab-mananged app, see [How to add GitLab-managed-apps to Kubernetes integration](https://youtu.be/mKm-jkranEk).**
+For an overview of how to add a new GitLab-managed app, see [How to add GitLab-managed-apps to Kubernetes integration](https://youtu.be/mKm-jkranEk).**
diff --git a/doc/development/scalability.md b/doc/development/scalability.md
index cc86a4b91a0..d4772bf3ea5 100644
--- a/doc/development/scalability.md
+++ b/doc/development/scalability.md
@@ -96,7 +96,7 @@ A recent [database checkup shows a breakdown of the table sizes on
GitLab.com](https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/8022#master-1022016101-8).
Since `merge_request_diff_files` contains over 1 TB of data, we will want to
reduce/eliminate this table first. GitLab has support for [storing diffs in
-object storage](../administration/merge_request_diffs.html), which we [will
+object storage](../administration/merge_request_diffs.md), which we [will
want to do on
GitLab.com](https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/7356).
diff --git a/doc/user/gitlab_com/index.md b/doc/user/gitlab_com/index.md
index 50337be6340..dd6ee4175bc 100644
--- a/doc/user/gitlab_com/index.md
+++ b/doc/user/gitlab_com/index.md
@@ -282,7 +282,7 @@ Windows Shared Runners:
```yaml
.shared_windows_runners:
tags:
- - shared
+ - shared-windows
- windows
- windows-1809
diff --git a/lib/gitlab/experimentation.rb b/lib/gitlab/experimentation.rb
index c689142d79d..2066b58dff5 100644
--- a/lib/gitlab/experimentation.rb
+++ b/lib/gitlab/experimentation.rb
@@ -20,7 +20,7 @@ module Gitlab
paid_signup_flow: {
feature_toggle: :paid_signup_flow,
environment: ::Gitlab.dev_env_or_com?,
- enabled_ratio: 0.1,
+ enabled_ratio: 0.25,
tracking_category: 'Growth::Acquisition::Experiment::PaidSignUpFlow'
}
}.freeze
diff --git a/lib/gitlab/incoming_email.rb b/lib/gitlab/incoming_email.rb
index eece4edf895..4547a9b0a01 100644
--- a/lib/gitlab/incoming_email.rb
+++ b/lib/gitlab/incoming_email.rb
@@ -61,7 +61,7 @@ module Gitlab
regex = Regexp.escape(wildcard_address)
regex = regex.sub(Regexp.escape(WILDCARD_PLACEHOLDER), '(.+)')
- Regexp.new(/\A#{regex}\z/).freeze
+ Regexp.new(/\A<?#{regex}>?\z/).freeze
end
end
end
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 5d2c19a0fb8..155adebe6cf 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -17368,9 +17368,6 @@ msgstr ""
msgid "Size settings for static websites"
msgstr ""
-msgid "Skip Trial (Continue with Free Account)"
-msgstr ""
-
msgid "Skip this for now"
msgstr ""
@@ -20016,6 +20013,18 @@ msgstr ""
msgid "Trending"
msgstr ""
+msgid "Trials|Go back to GitLab"
+msgstr ""
+
+msgid "Trials|Skip Trial (Continue with Free Account)"
+msgstr ""
+
+msgid "Trials|You can always resume this process by selecting your avatar and choosing 'Start a Gold trial'"
+msgstr ""
+
+msgid "Trials|You won't get a free trial right now but you can always resume this process by clicking on your avatar and choosing 'Start a free trial'"
+msgstr ""
+
msgid "Trigger"
msgstr ""
@@ -21811,9 +21820,6 @@ msgstr ""
msgid "You won't be able to pull or push project code via SSH until you add an SSH key to your profile"
msgstr ""
-msgid "You won't get a free trial right now but you can always resume this process by clicking on your avatar and choosing 'Start a free trial'."
-msgstr ""
-
msgid "You'll be signed out from your current account automatically."
msgstr ""
diff --git a/spec/fixtures/emails/envelope_to_header_with_angle_brackets.eml b/spec/fixtures/emails/envelope_to_header_with_angle_brackets.eml
new file mode 100644
index 00000000000..809e885666c
--- /dev/null
+++ b/spec/fixtures/emails/envelope_to_header_with_angle_brackets.eml
@@ -0,0 +1,32 @@
+Return-Path: <jake@example.com>
+Received: from myserver.example.com ([unix socket]) by myserver (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA; Thu, 13 Jun 2013 17:03:50 -0400
+Received: from mail.example.com (mail.example.com [IPv6:2607:f8b0:4001:c03::234]) by myserver.example.com (8.14.3/8.14.3/Debian-9.4) with ESMTP id r5DL3nFJ016967 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <incoming+gitlabhq/gitlabhq@example.com>; Thu, 13 Jun 2013 17:03:50 -0400
+Received: by myserver.example.com with SMTP id f4so21977375iea.25 for <incoming+gitlabhq/gitlabhq@appmail.example.com>; Thu, 13 Jun 2013 14:03:48 -0700
+Received: by 10.0.0.1 with HTTP; Thu, 13 Jun 2013 14:03:48 -0700
+From: "jake@example.com" <jake@example.com>
+To: "support@example.com" <support@example.com>
+Subject: Insert hilarious subject line here
+Date: Tue, 26 Nov 2019 14:22:41 +0000
+Message-ID: <7e2296f83dbf4de388cbf5f56f52c11f@EXDAG29-1.EXCHANGE.INT>
+Accept-Language: de-DE, en-US
+Content-Language: de-DE
+X-MS-Has-Attach:
+X-MS-TNEF-Correlator:
+x-ms-exchange-transport-fromentityheader: Hosted
+x-originating-ip: [62.96.54.178]
+Content-Type: multipart/alternative;
+ boundary="_000_7e2296f83dbf4de388cbf5f56f52c11fEXDAG291EXCHANGEINT_"
+MIME-Version: 1.0
+Envelope-To: <incoming+gitlabhq/gitlabhq+auth_token@appmail.example.com>
+
+--_000_7e2296f83dbf4de388cbf5f56f52c11fEXDAG291EXCHANGEINT_
+Content-Type: text/plain; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+
+
+--_000_7e2296f83dbf4de388cbf5f56f52c11fEXDAG291EXCHANGEINT_
+Content-Type: text/html; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+Look, a message with some alternate headers! We should really support them.
diff --git a/spec/lib/gitlab/email/receiver_spec.rb b/spec/lib/gitlab/email/receiver_spec.rb
index b764bb39682..d860968ab98 100644
--- a/spec/lib/gitlab/email/receiver_spec.rb
+++ b/spec/lib/gitlab/email/receiver_spec.rb
@@ -35,6 +35,12 @@ describe Gitlab::Email::Receiver do
it_behaves_like 'correctly finds the mail key'
end
+
+ context 'when enclosed with angle brackets in an Envelope-To header' do
+ let(:email_raw) { fixture_file('emails/envelope_to_header_with_angle_brackets.eml') }
+
+ it_behaves_like 'correctly finds the mail key'
+ end
end
context "when we cannot find a capable handler" do