PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/zmq/backend/cffi/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/zmq/backend/cffi/utils.py |
"""miscellaneous zmq_utils wrapping""" # Copyright (C) PyZMQ Developers # Distributed under the terms of the Modified BSD License. from zmq.error import InterruptedSystemCall, _check_rc, _check_version from ._cffi import ffi from ._cffi import lib as C def has(capability): """Check for zmq capability by name (e.g. 'ipc', 'curve') .. versionadded:: libzmq-4.1 .. versionadded:: 14.1 """ _check_version((4, 1), 'zmq.has') if isinstance(capability, str): capability = capability.encode('utf8') return bool(C.zmq_has(capability)) def curve_keypair(): """generate a Z85 key pair for use with zmq.CURVE security Requires libzmq (≥ 4.0) to have been built with CURVE support. Returns ------- (public, secret) : two bytestrings The public and private key pair as 40 byte z85-encoded bytestrings. """ _check_version((3, 2), "curve_keypair") public = ffi.new('char[64]') private = ffi.new('char[64]') rc = C.zmq_curve_keypair(public, private) _check_rc(rc) return ffi.buffer(public)[:40], ffi.buffer(private)[:40] def curve_public(private): """Compute the public key corresponding to a private key for use with zmq.CURVE security Requires libzmq (≥ 4.2) to have been built with CURVE support. Parameters ---------- private The private key as a 40 byte z85-encoded bytestring Returns ------- bytestring The public key as a 40 byte z85-encoded bytestring. """ if isinstance(private, str): private = private.encode('utf8') _check_version((4, 2), "curve_public") public = ffi.new('char[64]') rc = C.zmq_curve_public(public, private) _check_rc(rc) return ffi.buffer(public)[:40] def _retry_sys_call(f, *args, **kwargs): """make a call, retrying if interrupted with EINTR""" while True: rc = f(*args) try: _check_rc(rc) except InterruptedSystemCall: continue else: break __all__ = ['has', 'curve_keypair', 'curve_public']