def get_network_caps(): try: from xpra.net.mmap_pipe import can_use_mmap mmap = can_use_mmap() except: mmap = False caps = { "digest" : ("hmac", "xor"), "compressors" : compression.get_enabled_compressors(), "encoders" : packet_encoding.get_enabled_encoders(), "mmap" : mmap, } caps.update(get_crypto_caps()) caps.update(get_compression_caps()) caps.update(get_packet_encoding_caps()) return caps
def get_network_caps(): try: from xpra.net.mmap_pipe import can_use_mmap mmap = can_use_mmap() except: mmap = False caps = { "digest": ("hmac", "xor"), "compressors": compression.get_enabled_compressors(), "encoders": packet_encoding.get_enabled_encoders(), "mmap": mmap, } caps.update(get_crypto_caps()) caps.update(get_compression_caps()) caps.update(get_packet_encoding_caps()) return caps
def get_network_caps() -> dict: from xpra.net.digest import get_digests from xpra.net.crypto import get_crypto_caps from xpra.net.compression import get_enabled_compressors, get_compression_caps from xpra.net.packet_encoding import get_enabled_encoders, get_packet_encoding_caps digests = get_digests() #"hmac" is the legacy name, "xor" and "des" should not be used for salt: salt_digests = tuple(x for x in digests if x not in ("hmac", "xor", "des")) caps = { "digest": digests, "salt-digest": salt_digests, "compressors": get_enabled_compressors(), "encoders": get_enabled_encoders(), } caps.update(get_crypto_caps()) caps.update(get_compression_caps()) caps.update(get_packet_encoding_caps()) return caps
def get_network_caps(legacy=True): try: from xpra.net.mmap_pipe import can_use_mmap mmap = can_use_mmap() except: mmap = False caps = { "digest": ("hmac", "xor"), "compressors": compression.get_enabled_compressors(), "encoders": packet_encoding.get_enabled_encoders(), "mmap": mmap, } if legacy: #for backwards compatibility only: caps.update({"raw_packets": True, "chunked_compression": True}) caps.update(get_crypto_caps()) caps.update(get_compression_caps()) caps.update(get_packet_encoding_caps()) return caps
def get_network_caps(): try: from xpra.net.mmap_pipe import can_use_mmap mmap = can_use_mmap() except: mmap = False digests = get_digests() #"hmac" is the legacy name, "xor" should not be used for salt: salt_digests = [x for x in digests if x not in ("hmac", "xor")] caps = { "digest": digests, "salt-digest": salt_digests, "compressors": compression.get_enabled_compressors(), "encoders": packet_encoding.get_enabled_encoders(), "mmap": mmap, } caps.update(get_crypto_caps()) caps.update(get_compression_caps()) caps.update(get_packet_encoding_caps()) return caps
def get_network_caps(legacy=True): try: from xpra.net.mmap_pipe import can_use_mmap mmap = can_use_mmap() except: mmap = False caps = { "digest": ("hmac", "xor"), "compressors": compression.get_enabled_compressors(), "encoders": packet_encoding.get_enabled_encoders(), "mmap": mmap, } if legacy: # for backwards compatibility only: caps.update({"raw_packets": True, "chunked_compression": True}) caps.update(get_crypto_caps()) caps.update(get_compression_caps()) caps.update(get_packet_encoding_caps()) return caps
def get_network_caps(): try: from xpra.platform.features import MMAP_SUPPORTED except: MMAP_SUPPORTED = False from xpra.net.crypto import get_digests, get_crypto_caps from xpra.net.compression import get_enabled_compressors, get_compression_caps from xpra.net.packet_encoding import get_enabled_encoders, get_packet_encoding_caps digests = get_digests() #"hmac" is the legacy name, "xor" and "des" should not be used for salt: salt_digests = [x for x in digests if x not in ("hmac", "xor", "des")] caps = { "digest": digests, "salt-digest": salt_digests, "compressors": get_enabled_compressors(), "encoders": get_enabled_encoders(), "mmap": MMAP_SUPPORTED, } caps.update(get_crypto_caps()) caps.update(get_compression_caps()) caps.update(get_packet_encoding_caps()) return caps
def main(): from xpra.util import print_nested_dict, csv from xpra.platform import program_context from xpra.platform.netdev_query import get_interface_speed from xpra.log import enable_color, add_debug_category, enable_debug_for with program_context("Network-Info", "Network Info"): enable_color() verbose = "-v" in sys.argv or "--verbose" in sys.argv if verbose: enable_debug_for("network") add_debug_category("network") log.enable_debug() print("Network interfaces found:") for iface in get_interfaces(): if if_nametoindex: s = "* %s (index=%s)" % (iface.ljust(20), if_nametoindex(iface)) else: s = "* %s" % iface speed = get_interface_speed(0, iface) if speed > 0: from xpra.simple_stats import std_unit s += " (speed=%sbps)" % std_unit(speed) print(s) def pver(v): if type(v) in (tuple, list): s = "" for i in range(len(v)): if i > 0: #dot seperated numbers if type(v[i - 1]) == int: s += "." else: s += ", " s += str(v[i]) return s if type(v) == bytes: from xpra.os_util import bytestostr v = bytestostr(v) if type(v) == str and v.startswith("v"): return v[1:] return str(v) print("Gateways found:") for gt, idefs in get_gateways().items(): print("* %s" % gt) #ie: "INET" for i, idef in enumerate(idefs): try: if isinstance(idef, (list, tuple)): print(" [%i] %s" % (i, csv(idef))) continue except: print(" [%i] %s" % (i, idef)) print("") print("Protocol Capabilities:") netcaps = get_network_caps() netif = {"": has_netifaces} if netifaces_version: netif["version"] = netifaces_version netcaps["netifaces"] = netif print_nested_dict(netcaps) print("") print("Network Config:") print_nested_dict(get_net_config()) net_sys = get_net_sys_config() if net_sys: print("") print("Network System Config:") print_nested_dict(net_sys) print("") print("SSL:") print_nested_dict(get_ssl_info()) try: from xpra.net.crypto import crypto_backend_init, get_crypto_caps crypto_backend_init() ccaps = get_crypto_caps() if ccaps: print("") print("Crypto Capabilities:") print_nested_dict(ccaps) except Exception as e: print("No Crypto:") print(" %s" % e)
def main(): # pragma: no cover from xpra.os_util import POSIX from xpra.util import print_nested_dict, csv from xpra.platform import program_context from xpra.platform.netdev_query import get_interface_info from xpra.log import enable_color, add_debug_category, enable_debug_for with program_context("Network-Info", "Network Info"): enable_color() verbose = "-v" in sys.argv or "--verbose" in sys.argv if verbose: enable_debug_for("network") add_debug_category("network") log.enable_debug() print("Network interfaces found:") netifaces = import_netifaces() for iface in get_interfaces(): if if_nametoindex: print("* %s (index=%s)" % (iface.ljust(20), if_nametoindex(iface))) else: print("* %s" % iface) addresses = netifaces.ifaddresses(iface) #@UndefinedVariable pylint: disable=no-member for addr, defs in addresses.items(): if addr in (socket.AF_INET, socket.AF_INET6): for d in defs: ip = d.get("addr") if ip: stype = { socket.AF_INET: "IPv4", socket.AF_INET6: "IPv6", }[addr] print(" * %s: %s" % (stype, ip)) if POSIX: from xpra.net.socket_util import create_tcp_socket try: sock = create_tcp_socket(ip, 0) sockfd = sock.fileno() info = get_interface_info(sockfd, iface) if info: print(" %s" % info) finally: sock.close() if not POSIX: info = get_interface_info(0, iface) if info: print(" %s" % info) from xpra.os_util import bytestostr def pver(v): if isinstance(v, (tuple, list)): s = "" lastx = None for x in v: if lastx is not None: #dot seperated numbers if isinstance(lastx, int): s += "." else: s += ", " s += bytestostr(x) lastx = x return s if isinstance(v, bytes): v = bytestostr(v) if isinstance(v, str) and v.startswith("v"): return v[1:] return str(v) print("Gateways found:") for gt, idefs in get_gateways().items(): print("* %s" % gt) #ie: "INET" for i, idef in enumerate(idefs): if isinstance(idef, (list, tuple)): print(" [%i] %s" % (i, csv(idef))) continue print("") print("Protocol Capabilities:") netcaps = get_network_caps() netif = {"": bool(netifaces)} if netifaces_version: netif["version"] = netifaces_version netcaps["netifaces"] = netif print_nested_dict(netcaps, vformat=pver) print("") print("Network Config:") print_nested_dict(get_net_config()) net_sys = get_net_sys_config() if net_sys: print("") print("Network System Config:") print_nested_dict(net_sys) print("") print("SSL:") print_nested_dict(get_ssl_info(True)) try: from xpra.net.crypto import crypto_backend_init, get_crypto_caps crypto_backend_init() ccaps = get_crypto_caps() if ccaps: print("") print("Crypto Capabilities:") print_nested_dict(ccaps) except Exception as e: print("No Crypto:") print(" %s" % e) return 0
def main(): from xpra.util import print_nested_dict from xpra.platform import program_context from xpra.log import enable_color with program_context("Network-Info", "Network Info"): enable_color() verbose = "-v" in sys.argv or "--verbose" in sys.argv if verbose: log.enable_debug() print("Network interfaces found:") for iface in get_interfaces(): if if_nametoindex: print("* %s (index=%s)" % (iface.ljust(20), if_nametoindex(iface))) else: print("* %s" % iface) def pver(v): if type(v) in (tuple, list): s = "" for i in range(len(v)): if i > 0: #dot seperated numbers if type(v[i - 1]) == int: s += "." else: s += ", " s += str(v[i]) return s if type(v) == bytes: from xpra.os_util import bytestostr v = bytestostr(v) if type(v) == str and v.startswith("v"): return v[1:] return str(v) print("Gateways found:") print_nested_dict(get_gateways()) print("") print("Protocol Capabilities:") from xpra.net.protocol import get_network_caps netcaps = get_network_caps() netif = {"": has_netifaces} if netifaces_version: netif["version"] = netifaces_version netcaps["netifaces"] = netif print_nested_dict(netcaps) print("") print("Network Config:") print_nested_dict(get_net_config()) net_sys = get_net_sys_config() if net_sys: print("") print("Network System Config:") print_nested_dict(net_sys) print("") print("SSL:") print_nested_dict(get_ssl_info()) from xpra.net.crypto import crypto_backend_init, get_crypto_caps crypto_backend_init() ccaps = get_crypto_caps() if ccaps: print("") print("Crypto Capabilities:") print_nested_dict(ccaps)
def main(): from xpra.util import print_nested_dict from xpra.platform import program_context from xpra.log import enable_color with program_context("Network-Info", "Network Info"): enable_color() verbose = "-v" in sys.argv or "--verbose" in sys.argv if verbose: log.enable_debug() print("Network interfaces found:") for iface in get_interfaces(): if if_nametoindex: print("* %s (index=%s)" % (iface.ljust(20), if_nametoindex(iface))) else: print("* %s" % iface) def pver(v): if type(v) in (tuple, list): s = "" for i in range(len(v)): if i>0: #dot seperated numbers if type(v[i-1])==int: s += "." else: s += ", " s += str(v[i]) return s if type(v)==bytes: from xpra.os_util import bytestostr v = bytestostr(v) if type(v)==str and v.startswith("v"): return v[1:] return str(v) print("Gateways found:") print_nested_dict(get_gateways()) print("") print("Protocol Capabilities:") from xpra.net.protocol import get_network_caps netcaps = get_network_caps() netif = {"" : has_netifaces} if netifaces_version: netif["version"] = netifaces_version netcaps["netifaces"] = netif print_nested_dict(netcaps) print("") print("Network Config:") print_nested_dict(get_net_config()) net_sys = get_net_sys_config() if net_sys: print("") print("Network System Config:") print_nested_dict(net_sys) print("") print("SSL:") print_nested_dict(get_ssl_info()) try: from xpra.net.crypto import crypto_backend_init, get_crypto_caps crypto_backend_init() ccaps = get_crypto_caps() if ccaps: print("") print("Crypto Capabilities:") print_nested_dict(ccaps) except Exception as e: print("No Crypto:") print(" %s" % e)