diff options
author | Liam R. Howlett <Liam.Howlett@windriver.com> | 2015-04-16 13:23:18 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-05-12 12:17:13 +0100 |
commit | 59ce7d02a57e0a642d839ab48677f6ac1886180f (patch) | |
tree | 7905b7a23b0d60574b7160e5094d6f231a3c6240 /bitbake/lib/bb/tests | |
parent | 9e24bde011479d9f22830080720510e52e9923d8 (diff) | |
download | poky-59ce7d02a57e0a642d839ab48677f6ac1886180f.tar.gz |
bitbake: fetch2: Add BB_ALLOWED_NETWORKS support
BB_ALLOWED_NETWORKS is a list of hosts that the fetcher will be allowed
to use when BB_NO_NETWORK is not set.
If BB_NO_NETWORK is set, then networking is still disabled.
If BB_ALLOWED_NETWORKS is not set, the behaviour remains the same as
today.
If BB_NO_NETWORK is NOT set, and BB_ALLOWED_NETWORKS is configured, then
only the hosts in the list are usable by the fetcher.
eg:
BB_ALLOWED_NETWORKS="yoctoproject.org git.gnu.org"
The fetcher will be able to download from yoctoproject.org, git.gnu.org,
but not ftp.gnu.org or any other hostname that is not in the list.
There is also limited support for wildcards on the beginning of the
hosts, so BB_ALLOWED_NETWORKS="*.gnu.org" with match git.gnu.org and
ftp.gnu.org as well as foo.git.gnu.org
(Bitbake rev: c7263096ba31ba45daeeb9de90c1cb9ebef24a28)
Signed-off-by: Liam R. Howlett <Liam.Howlett@WindRiver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/tests')
-rw-r--r-- | bitbake/lib/bb/tests/fetch.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index d56ef49948..d3f7b6ac6c 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py | |||
@@ -547,6 +547,43 @@ class FetcherNetworkTest(FetcherTest): | |||
547 | os.chdir(os.path.dirname(self.unpackdir)) | 547 | os.chdir(os.path.dirname(self.unpackdir)) |
548 | fetcher.unpack(self.unpackdir) | 548 | fetcher.unpack(self.unpackdir) |
549 | 549 | ||
550 | def test_trusted_network(self): | ||
551 | # Ensure trusted_network returns False when the host IS in the list. | ||
552 | url = "git://Someserver.org/foo;rev=1" | ||
553 | self.d.setVar("BB_ALLOWED_NETWORKS", "server1.org someserver.org server2.org server3.org") | ||
554 | self.assertTrue(bb.fetch.trusted_network(self.d, url)) | ||
555 | |||
556 | def test_wild_trusted_network(self): | ||
557 | # Ensure trusted_network returns true when the *.host IS in the list. | ||
558 | url = "git://Someserver.org/foo;rev=1" | ||
559 | self.d.setVar("BB_ALLOWED_NETWORKS", "server1.org *.someserver.org server2.org server3.org") | ||
560 | self.assertTrue(bb.fetch.trusted_network(self.d, url)) | ||
561 | |||
562 | def test_prefix_wild_trusted_network(self): | ||
563 | # Ensure trusted_network returns true when the prefix matches *.host. | ||
564 | url = "git://git.Someserver.org/foo;rev=1" | ||
565 | self.d.setVar("BB_ALLOWED_NETWORKS", "server1.org *.someserver.org server2.org server3.org") | ||
566 | self.assertTrue(bb.fetch.trusted_network(self.d, url)) | ||
567 | |||
568 | def test_two_prefix_wild_trusted_network(self): | ||
569 | # Ensure trusted_network returns true when the prefix matches *.host. | ||
570 | url = "git://something.git.Someserver.org/foo;rev=1" | ||
571 | self.d.setVar("BB_ALLOWED_NETWORKS", "server1.org *.someserver.org server2.org server3.org") | ||
572 | self.assertTrue(bb.fetch.trusted_network(self.d, url)) | ||
573 | |||
574 | def test_untrusted_network(self): | ||
575 | # Ensure trusted_network returns False when the host is NOT in the list. | ||
576 | url = "git://someserver.org/foo;rev=1" | ||
577 | self.d.setVar("BB_ALLOWED_NETWORKS", "server1.org server2.org server3.org") | ||
578 | self.assertFalse(bb.fetch.trusted_network(self.d, url)) | ||
579 | |||
580 | def test_wild_untrusted_network(self): | ||
581 | # Ensure trusted_network returns False when the host is NOT in the list. | ||
582 | url = "git://*.someserver.org/foo;rev=1" | ||
583 | self.d.setVar("BB_ALLOWED_NETWORKS", "server1.org server2.org server3.org") | ||
584 | self.assertFalse(bb.fetch.trusted_network(self.d, url)) | ||
585 | |||
586 | |||
550 | class URLHandle(unittest.TestCase): | 587 | class URLHandle(unittest.TestCase): |
551 | 588 | ||
552 | datatable = { | 589 | datatable = { |