summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/tests/fetch.py
diff options
context:
space:
mode:
authorLiam R. Howlett <Liam.Howlett@windriver.com>2015-04-16 13:23:18 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-12 12:17:13 +0100
commit59ce7d02a57e0a642d839ab48677f6ac1886180f (patch)
tree7905b7a23b0d60574b7160e5094d6f231a3c6240 /bitbake/lib/bb/tests/fetch.py
parent9e24bde011479d9f22830080720510e52e9923d8 (diff)
downloadpoky-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/fetch.py')
-rw-r--r--bitbake/lib/bb/tests/fetch.py37
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
550class URLHandle(unittest.TestCase): 587class URLHandle(unittest.TestCase):
551 588
552 datatable = { 589 datatable = {