Exemplo n.º 1
0
 def testLoadClientCapsSkipDirs(self):
     "Verify that client caps loads with dirs in /etc/sysconfig/rhn/clientCaps.d,"
     # bugzilla #114322
     dirname= test_clientCaps_d + "/TESTDIR"
     if not os.access(dirname, os.R_OK):
         os.makedirs(dirname)
     try:
         clientCaps.loadLocalCaps(test_clientCaps_d)
         os.rmdir(dirname)
     except:
         os.rmdir(dirname)
         self.fail()
Exemplo n.º 2
0
    def __get_server():
        """ Initialize a server connection and set up capability info. """
        server = rpcServer.getServer()

        # load the new client caps if they exist
        clientCaps.loadLocalCaps()

        headerlist = clientCaps.caps.headerFormat()
        for (headerName, value) in headerlist:
            server.add_header(headerName, value)

        return server
Exemplo n.º 3
0
    def __get_server():
        """ Initialize a server connection and set up capability info. """
        server = rpcServer.getServer()

        # load the new client caps if they exist
        clientCaps.loadLocalCaps()

        headerlist = clientCaps.caps.headerFormat()
        for (headerName, value) in headerlist:
            server.add_header(headerName, value)

        return server
Exemplo n.º 4
0
 def testLoadClientCapsSkipDirs(self):
     "Verify that client caps loads with dirs in /etc/sysconfig/rhn/clientCaps.d,"
     # bugzilla #114322
     dirname = test_clientCaps_d + "/TESTDIR"
     if not os.access(dirname, os.R_OK):
         os.makedirs(dirname)
     try:
         clientCaps.loadLocalCaps(test_clientCaps_d)
         os.rmdir(dirname)
     except:
         os.rmdir(dirname)
         self.fail()
Exemplo n.º 5
0
    def get_server(self, refreshCallback=None, serverOverride=None, timeout=None):
        """
        Moved from rpcServer.
        """
        ca = self.cfg["sslCACert"]
        if isinstance(ca, basestring):
            ca = [ca]

        rhns_ca_certs = ca or ["/usr/share/rhn/RHNS-CA-CERT"]
        if self.cfg["enableProxy"]:
            proxy_host = config.getProxySetting()
        else:
            proxy_host = None

        if not serverOverride:
            server_urls = config.getServerlURL()
        else:
            server_urls = serverOverride
        server_list = rpcServer.ServerList(server_urls)

        proxy_user = None
        proxy_password = None
        if self.cfg["enableProxyAuth"]:
            proxy_user = self.cfg["proxyUser"] or None
            proxy_password = self.cfg["proxyPassword"] or None

        lang = None
        for env in 'LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG':
            if os.environ.get(env):
                lang = os.environ[env].split(':')[0].split('.')[0]
                break
            else:
                continue

        retry_server = rpcServer.RetryServer(server_list.server(),
                                             refreshCallback=refreshCallback,
                                             proxy=proxy_host,
                                             username=proxy_user,
                                             password=proxy_password)
        retry_server.addServerList(server_list)
        retry_server.add_header("X-Up2date-Version", up2dateUtils.version())

        if lang:
            retry_server.setlang(lang)

        # require RHNS-CA-CERT file to be able to authenticate the SSL connections
        need_ca = [True for i in retry_server.serverList.serverList if urlparse.urlparse(i)[0] == 'https']
        if need_ca:
            for rhns_ca_cert in rhns_ca_certs:
                if not os.access(rhns_ca_cert, os.R_OK):
                    msg = "%s: %s" % ("ERROR: can not find RHNS CA file", rhns_ca_cert)
                    log.log_me("%s" % msg)
                    raise up2dateErrors.SSLCertificateFileNotFound(msg)

                # force the validation of the SSL cert
                retry_server.add_trusted_cert(rhns_ca_cert)

        clientCaps.loadLocalCaps()

        # send up the capabality info
        header_list = clientCaps.caps.headerFormat()
        for (headerName, value) in header_list:
            retry_server.add_header(headerName, value)

        return retry_server
Exemplo n.º 6
0
def getServer(refreshCallback=None, serverOverride=None, timeout=None):
    log = up2dateLog.initLog()
    cfg = config.initUp2dateConfig()

    # Where do we keep the CA certificate for RHNS?
    # The servers we're talking to need to have their certs
    # signed by one of these CA.
    ca = cfg["sslCACert"]
    if not isinstance(ca, list):
        ca = [ca]

    rhns_ca_certs = ca or ["/usr/share/rhn/RHNS-CA-CERT"]
    if cfg["enableProxy"]:
        proxyHost = config.getProxySetting()
    else:
        proxyHost = None

    if not serverOverride:
        serverUrls = config.getServerlURL()
    else:
        serverUrls = serverOverride
    serverList = ServerList(serverUrls)

    proxyUser = None
    proxyPassword = None
    if cfg["enableProxyAuth"]:
        proxyUser = cfg["proxyUser"] or None
        proxyPassword = cfg["proxyPassword"] or None

    lang = None
    for env in 'LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG':
        if env in os.environ:
            if not os.environ[env]:
                # sometimes unset
                continue
            lang = os.environ[env].split(':')[0]
            lang = lang.split('.')[0]
            break


    s = RetryServer(serverList.server(),
                    refreshCallback=refreshCallback,
                    proxy=proxyHost,
                    username=proxyUser,
                    password=proxyPassword,
                    timeout=timeout)
    s.addServerList(serverList)

    s.add_header("X-Up2date-Version", up2dateUtils.version())

    if lang:
        s.setlang(lang)

    # require RHNS-CA-CERT file to be able to authenticate the SSL connections
    need_ca = [ True for i in s.serverList.serverList
                     if urlparse.urlparse(i)[0] == 'https']
    if need_ca:
        for rhns_ca_cert in rhns_ca_certs:
            if not os.access(rhns_ca_cert, os.R_OK):
                msg = "%s: %s" % (_("ERROR: can not find RHNS CA file"),
                                     rhns_ca_cert)
                log.log_me("%s" % msg)
                raise up2dateErrors.SSLCertificateFileNotFound(msg)

            # force the validation of the SSL cert
            s.add_trusted_cert(rhns_ca_cert)

    clientCaps.loadLocalCaps()

    # send up the capabality info
    headerlist = clientCaps.caps.headerFormat()
    for (headerName, value) in headerlist:
        s.add_header(headerName, value)
    return s
Exemplo n.º 7
0
def getServer(refreshCallback=None, serverOverride=None, timeout=None):
    log = up2dateLog.initLog()
    cfg = config.initUp2dateConfig()

    # Where do we keep the CA certificate for RHNS?
    # The servers we're talking to need to have their certs
    # signed by one of these CA.
    ca = cfg["sslCACert"]
    if not isinstance(ca, list):
        ca = [ca]

    rhns_ca_certs = ca or ["/usr/share/rhn/RHNS-CA-CERT"]
    if cfg["enableProxy"]:
        proxyHost = config.getProxySetting()
    else:
        proxyHost = None

    if not serverOverride:
        serverUrls = config.getServerlURL()
    else:
        serverUrls = serverOverride
    serverList = ServerList(serverUrls)

    proxyUser = None
    proxyPassword = None
    if cfg["enableProxyAuth"]:
        proxyUser = cfg["proxyUser"] or None
        proxyPassword = cfg["proxyPassword"] or None

    lang = None
    for env in 'LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG':
        if env in os.environ:
            if not os.environ[env]:
                # sometimes unset
                continue
            lang = os.environ[env].split(':')[0]
            lang = lang.split('.')[0]
            break

    s = RetryServer(serverList.server(),
                    refreshCallback=refreshCallback,
                    proxy=proxyHost,
                    username=proxyUser,
                    password=proxyPassword,
                    timeout=timeout)
    s.addServerList(serverList)

    s.add_header("X-Up2date-Version", up2dateUtils.version())

    if lang:
        s.setlang(lang)

    # require RHNS-CA-CERT file to be able to authenticate the SSL connections
    need_ca = [
        True for i in s.serverList.serverList
        if urlparse.urlparse(i)[0] == 'https'
    ]
    if need_ca:
        for rhns_ca_cert in rhns_ca_certs:
            if not os.access(rhns_ca_cert, os.R_OK):
                msg = "%s: %s" % (_("ERROR: can not find RHNS CA file"),
                                  rhns_ca_cert)
                log.log_me("%s" % msg)
                raise up2dateErrors.SSLCertificateFileNotFound(msg)

            # force the validation of the SSL cert
            s.add_trusted_cert(rhns_ca_cert)

    clientCaps.loadLocalCaps()

    # send up the capabality info
    headerlist = clientCaps.caps.headerFormat()
    for (headerName, value) in headerlist:
        s.add_header(headerName, value)
    return s
Exemplo n.º 8
0
 def testLoadClientCaps(self):
     "Verify that loadClientCaps works"
     blip = clientCaps.loadLocalCaps(test_clientCaps_d)
Exemplo n.º 9
0
 def testLoadClientCaps(self):
     "Verify that loadClientCaps works"
     blip = clientCaps.loadLocalCaps(test_clientCaps_d)