From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/2] core: add BR2_PRIMARY_SITE_ONLY_EXTENDED_DOMAINS
Date: Mon, 4 May 2020 13:15:50 +0200 [thread overview]
Message-ID: <20200504111551.15920-2-patrickdepinguin@gmail.com> (raw)
In-Reply-To: <20200504111551.15920-1-patrickdepinguin@gmail.com>
From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
If configured, the primary site typically points to a mirror on the intranet
of an organization. The purpose of BR2_PRIMARY_SITE_ONLY is then to only
download from this mirror.
However, the organization may also have some local Buildroot packages
that download from a version control repository (git, hg, ...). In this case,
the mirror will normally not contain the sources, instead they should be
cloned via the version control tool. So in this case, BR2_PRIMARY_SITE_ONLY
cannot be used.
This means that the organization must resort to other means to make sure no
external downloads are performed.
This patch attempts to solve this situation by adding
BR2_PRIMARY_SITE_ONLY_EXTENDED_DOMAINS. This string option can contain
additional domains from which download is allowed when BR2_PRIMARY_SITE_ONLY
is set.
The organization can thus set:
BR2_PRIMARY_SITE_ONLY=y
BR2_PRIMARY_SITE_ONLY_EXTENDED_DOMAINS="git.example.com hg.example.com"
to disallow any external downloads other than the primary site and the
mentioned version control domains.
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
---
Config.in | 11 +++++++++++
package/pkg-download.mk | 8 +++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/Config.in b/Config.in
index 48fd36ff98..0843215bc5 100644
--- a/Config.in
+++ b/Config.in
@@ -226,6 +226,17 @@ config BR2_PRIMARY_SITE_ONLY
the project can be built even if the upstream tarball
locations disappear.
+config BR2_PRIMARY_SITE_ONLY_EXTENDED_DOMAINS
+ string "Additional domains to allow downloads from"
+ depends on BR2_PRIMARY_SITE_ONLY
+ help
+ If BR2_PRIMARY_SITE_ONLY is enabled, version control downloads
+ (git, hg, ...) on the 'internal' domain would also be disallowed.
+ With this option, you can specify additional domains from
+ which downloads will be allowed in BR2_PRIMARY_SITE_ONLY-mode.
+ Domains should not include a protocol prefix, and multiple
+ domains can be separated by spaces.
+
if !BR2_PRIMARY_SITE_ONLY
config BR2_BACKUP_SITE
diff --git a/package/pkg-download.mk b/package/pkg-download.mk
index de619ba90a..f189dba233 100644
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -78,7 +78,13 @@ DOWNLOAD_URIS += \
$(call getschemeplusuri,$(call qstrip,$(BR2_PRIMARY_SITE)),urlencode)
endif
-ifeq ($(BR2_PRIMARY_SITE_ONLY),)
+ifeq ($(BR2_PRIMARY_SITE_ONLY),y)
+# Conditionally add site download if it matches the configured extended domains
+DOWNLOAD_URIS += \
+ $(if $(filter $(call qstrip,$(BR2_PRIMARY_SITE_ONLY_EXTENDED_DOMAINS)),$(call domain,$(1))), \
+ $(patsubst %/,%,$(dir $(call qstrip,$(1)))))
+else
+# Unconditionally add site download
DOWNLOAD_URIS += \
$(patsubst %/,%,$(dir $(call qstrip,$(1))))
ifneq ($(call qstrip,$(BR2_BACKUP_SITE)),)
--
2.26.2
next prev parent reply other threads:[~2020-05-04 11:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-04 11:15 [Buildroot] [PATCH 0/2] Add utils/source-check Thomas De Schampheleire
2020-05-04 11:15 ` Thomas De Schampheleire [this message]
2020-05-04 11:15 ` [Buildroot] [PATCH 2/2] utils/source-check: new script Thomas De Schampheleire
2020-08-04 10:23 ` [Buildroot] [PATCH 0/2] Add utils/source-check Thomas De Schampheleire
-- strict thread matches above, loose matches on Subject: below --
2020-12-04 12:33 [Buildroot] [PATCH 1/2] core: add BR2_PRIMARY_SITE_ONLY_EXTENDED_DOMAINS Thomas De Schampheleire
2021-01-02 22:07 ` Yann E. MORIN
2021-01-15 10:27 ` Thomas De Schampheleire
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200504111551.15920-2-patrickdepinguin@gmail.com \
--to=patrickdepinguin@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox