Beispiel #1
0
    def test_pub_url(self):
        """Verify that misc.valid_pub_url returns True or False as
                expected."""

        self.assertFalse(misc.valid_pub_url(None))
        self.assertFalse(misc.valid_pub_url(""))
        self.assertFalse(misc.valid_pub_url("!@#$%^&*(*)"))
        self.assertTrue(misc.valid_pub_url("http://pkg.opensolaris.org/dev"))
Beispiel #2
0
        def test_pub_url(self):
                """Verify that misc.valid_pub_url returns True or False as
                expected."""

                self.assertFalse(misc.valid_pub_url(None))
                self.assertFalse(misc.valid_pub_url(""))
                self.assertFalse(misc.valid_pub_url("!@#$%^&*(*)"))
                self.assertTrue(misc.valid_pub_url(
                    "http://pkg.opensolaris.org/dev"))
Beispiel #3
0
    def __set_uri(self, uri):
        if uri is None:
            raise api_errors.BadRepositoryURI(uri)

        # Decompose URI to verify attributes.
        scheme, netloc, path, params, query = \
            urlparse.urlsplit(uri, allow_fragments=0)

        # The set of currently supported protocol schemes.
        if scheme.lower() not in SUPPORTED_SCHEMES:
            raise api_errors.UnsupportedRepositoryURI(uri)

        # XXX valid_pub_url's check isn't quite right and could prevent
        # usage of IDNs (international domain names).
        if not netloc or not misc.valid_pub_url(uri):
            raise api_errors.BadRepositoryURI(uri)

        # Normalize URI scheme.
        uri = uri.replace(scheme, scheme.lower(), 1)

        if self.__trailing_slash:
            uri = misc.url_affix_trailing_slash(uri)

        if scheme.lower() not in SSL_SCHEMES:
            self.__ssl_cert = None
            self.__ssl_key = None

        self.__uri = uri
Beispiel #4
0
        def __set_uri(self, uri):
                if uri is None:
                        raise api_errors.BadRepositoryURI(uri)

                # Decompose URI to verify attributes.
                scheme, netloc, path, params, query = \
                    urlparse.urlsplit(uri, allow_fragments=0)

                # The set of currently supported protocol schemes.
                if scheme.lower() not in SUPPORTED_SCHEMES:
                        raise api_errors.UnsupportedRepositoryURI(uri)

                # XXX valid_pub_url's check isn't quite right and could prevent
                # usage of IDNs (international domain names).
                if not netloc or not misc.valid_pub_url(uri):
                        raise api_errors.BadRepositoryURI(uri)

                # Normalize URI scheme.
                uri = uri.replace(scheme, scheme.lower(), 1)

                if self.__trailing_slash:
                        uri = misc.url_affix_trailing_slash(uri)

                if scheme.lower() not in SSL_SCHEMES:
                        self.__ssl_cert = None
                        self.__ssl_key = None

                self.__uri = uri
Beispiel #5
0
        def validate_uri(uri):
            try:
                valid = misc.valid_pub_url(uri)
            except KeyboardInterrupt:
                raise
            except:
                valid = False

            if not valid:
                raise ValueError()
                def validate_uri(uri):
                        try:
                                valid = misc.valid_pub_url(uri)
                        except KeyboardInterrupt:
                                raise
                        except:
                                valid = False

                        if not valid:
                                raise ValueError()
Beispiel #7
0
        def resolve_cb(sd_hdl, flags, interface_idx, error_code, full_name, host_target, port, txt_record):

            if error_code != pybonjour.kDNSServiceErr_NoError:
                return

            tr = pybonjour.TXTRecord.parse(txt_record)
            if "url" in tr:
                url = tr["url"]
                if not misc.valid_pub_url(url):
                    return
                self._mirrors.append(pub.RepositoryURI(url))
Beispiel #8
0
                def resolve_cb(sd_hdl, flags, interface_idx, error_code,
                    full_name, host_target, port, txt_record):

                        if error_code != pybonjour.kDNSServiceErr_NoError:
                                return

                        tr = pybonjour.TXTRecord.parse(txt_record)
                        if "url" in tr:
                                url = tr["url"]
                                if not misc.valid_pub_url(url):
                                        return
                                self._mirrors.append(pub.RepositoryURI(url))