Commit 994207d9 authored by SVN-Git Migration's avatar SVN-Git Migration

Imported Upstream version 14.1.1

parent 7112ac0f
......@@ -16,3 +16,5 @@ docs/gh-pages
setup.cfg
MANIFEST
.tox
examples/security/public_keys
examples/security/private_keys
language: python
cache:
apt
pip
python:
- 2.6
- 2.7
......@@ -11,12 +14,10 @@ env:
- ZMQ=bundled
- ZMQ=master
before_install:
- sudo apt-get install -qq libzmq3-dev
- if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then sudo add-apt-repository -y ppa:pypy/ppa || true; fi
- if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then sudo apt-get -y update && sudo apt-get -y install pypy; fi
- if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then virtualenv -p /usr/bin/pypy pypy && source pypy/bin/activate; fi
- if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then pip install -q --use-mirrors py cffi; fi
- if [[ $TRAVIS_PYTHON_VERSION != 'pypy' ]]; then pip install -q --use-mirrors cython --install-option='--no-cython-compile'; fi
- sudo add-apt-repository -y ppa:shnatsel/dnscrypt
- sudo apt-get update
- if [[ $ZMQ != 'bundled' ]]; then sudo apt-get install -qq libzmq3-dev libsodium-dev; fi
- if [[ $TRAVIS_PYTHON_VERSION != 'pypy' ]]; then pip install -q cython --install-option='--no-cython-compile'; fi
- if [[ $ZMQ == 'master' ]]; then git clone --depth 1 https://github.com/zeromq/libzmq; fi
- if [[ $ZMQ == 'master' ]]; then sh -c 'cd libzmq; sh autogen.sh; ./configure; make -j; sudo make install; sudo ldconfig'; fi
......@@ -28,8 +29,14 @@ install:
matrix:
exclude:
- python: pypy
- python: 2.6
env: ZMQ=bundled
- python: 2.6
env: ZMQ=master
- python: 3.2
env: ZMQ=bundled
- python: 3.2
env: ZMQ=master
allow_failures:
- env: ZMQ=master
......
......@@ -7,39 +7,57 @@ com) is the primary developer of pyzmq at this time.
The following people have contributed to the project:
- Alexander Else (alexander DOT else AT team DOT telstra DOT com)
- Alexander Pyhalov (apyhalov AT gmail DOT com)
- Alexandr Emelin (frvzmb AT gmail DOT com)
- Andrea Crotti (andrea DOT crotti DOT 0 AT gmail DOT com)
- Andrew Gwozdziewycz (git AT apgwoz DOT com)
- Baptiste Lepilleur (baptiste DOT lepilleur AT gmail DOT com)
- Brandyn A. White (bwhite AT dappervision DOT com)
- Brian E. Granger (ellisonbg AT gmail DOT com)
- Carlos A. Rocha (carlos DOT rocha AT gmail DOT com)
- Chris Laws (clawsicus AT gmail DOT com)
- Christian Wyglendowski (christian AT bu DOT mp)
- Christoph Gohlke (cgohlke AT uci DOT edu)
- Cyril Holweck (cyril DOT holweck AT free DOT fr)
- Dan Colish (dcolish AT gmail DOT com)
- Daniel Lundin (dln AT spotify DOT com)
- Daniel Lundin (dln AT eintr DOT org)
- Daniel Truemper (truemped AT googlemail DOT com)
- Douglas Creager (douglas DOT creager AT redjack DOT com)
- Eduardo Stalinho (eduardooc DOT 86 AT gmail DOT com)
- Erick Tryzelaar (erick DOT tryzelaar AT gmail DOT com)
- Erik Tollerud (erik DOT tollerud AT gmail DOT com)
- FELD Boris (lothiraldan AT gmail DOT com)
- Felipe cruz (felipecruz AT loogica DOT net)
- Fantix King (fantix DOT king AT gmail DOT com)
- Felipe Cruz (felipecruz AT loogica DOT net)
- Fernando Perez (Fernando DOT Perez AT berkeley DOT edu)
- Frank Wiles (frank AT revsys DOT com)
- Gavrie Philipson (gavriep AT il DOT ibm DOT com)
- Godefroid Chapelle (gotcha AT bubblenet DOT be)
- Greg Ward (greg AT gerg DOT ca)
- Guido Goldstein (github AT a-nugget DOT de)
- Ivo Danihelka (ivo AT danihelka DOT net)
- Iyed (iyed DOT bennour AT gmail DOT com)
- Jim Garrison (jim AT garrison DOT cc)
- John Gallagher (johnkgallagher AT gmail DOT com)
- Julian Taylor (jtaylor DOT debian AT googlemail DOT com)
- Justin Bronder (jsbronder AT gmail DOT com)
- Justin Riley (justin DOT t DOT riley AT gmail DOT com)
- Marc Abramowitz (marc AT marc-abramowitz DOT com)
- Michel Pelletier (pelletier DOT michel AT gmail DOT com)
- Michel Zou (xantares09 AT hotmail DOT com)
- Min Ragan-Kelley (benjaminrk AT gmail DOT com)
- Nicholas Piël (nicholas AT nichol DOT as)
- Nick Pellegrino (npellegrino AT mozilla DOT com)
- Nicolas Delaby (nicolas DOT delaby AT ezeep DOT com)
- Ondrej Certik (ondrej AT certik DOT cz)
- Paul Colomiets (paul AT colomiets DOT name)
- Pawel Jasinski (pawel DOT jasinski AT gmail DOT com)
- Phus Lu (phus DOT lu AT gmail DOT com)
- Robert Buchholz (rbu AT goodpoint DOT de)
- Robert Jordens (jordens AT gmail DOT com)
- Ryan Cox (ryan DOT a DOT cox AT gmail DOT com)
- Ryan Kelly (ryan AT rfk DOT id DOT au)
- Scott Maxwell (scott AT codecobblers DOT com)
- Scott Sadler (github AT mashi DOT org)
- Stefan Friesel (sf AT cloudcontrol DOT de)
- Stefan van der Walt (stefan AT sun DOT ac DOT za)
......@@ -47,11 +65,15 @@ The following people have contributed to the project:
- Thomas Kluyver (takowl AT gmail DOT com)
- Thomas Spura (tomspur AT fedoraproject DOT org)
- Tigger Bear (Tigger AT Tiggers-Mac-mini DOT local)
- Torsten Landschoff (torsten DOT landschoff AT dynamore DOT de)
- Vadim Markovtsev (v DOT markovtsev AT samsung DOT com)
- Zbigniew Jędrzejewski-Szmek (zbyszek AT in DOT waw DOT pl)
- hugo shi (hugoshi AT bleb2 DOT (none))
- jdgleeson (jdgleeson AT mac DOT com)
- kyledj (kyle AT bucebuce DOT com)
- spez (steve AT hipmunk DOT com)
- stu (stuart DOT axon AT jpcreative DOT co DOT uk)
- xantares (xantares AT fujitsu-l64 DOT (none))
as reported by:
......
......@@ -16,8 +16,6 @@ graft docs
prune docs/build
prune docs/gh-pages
graft bundled/uuid
exclude bundled/uuid/Makefile*
include bundled/zeromq/COPYING
graft bundled/zeromq/include
graft bundled/zeromq/src
......@@ -25,6 +23,9 @@ include bundled/zeromq/builds/msvc/platform.hpp
exclude bundled/zeromq/src/Makefile*
exclude bundled/zeromq/src/platform.hpp
include bundled/libsodium/LICENSE
graft bundled/libsodium/src
graft buildutils
graft examples
graft zmq
......@@ -43,4 +44,6 @@ global-exclude *.pyc
global-exclude .git*
global-exclude .DS_Store
global-exclude .mailmap
global-exclude Makefile.am
global-exclude Makefile.in
......@@ -8,22 +8,8 @@ PyZMQ should work with any Python ≥ 2.6 (including Python 3), as well as PyPy.
The Cython backend used by CPython supports libzmq ≥ 2.1.4 (including 3.2.x and 4.x),
but the CFFI backend used by PyPy only supports libzmq ≥ 3.2.2 (including 4.x).
## Versioning
Current release of pyzmq is 14.0.1, and targets libzmq-4.0.3.
For libzmq 2.0.x, use pyzmq release 2.0.10.1 or the 2.0.x maintenance branch.
PyZMQ (on CPython via Cython) continues to support libzmq ≥ 2.1.4.
pyzmq-2.1.11 was the last version of pyzmq to support Python 2.5,
and pyzmq ≥ 2.2.0 requires Python ≥ 2.6.
pyzmq-13.0.0 introduces PyPy support via CFFI, which only supports libzmq-3.2.2 and newer.
PyZMQ releases ≤ 2.2.0 matched libzmq versioning, but this is no longer the case,
starting with PyZMQ 13.0.0 (it was the thirteenth release, so why not?).
PyZMQ ≥ 13.0 follows semantic versioning conventions accounting only for PyZMQ itself.
For a summary of changes to pyzmq, see our
[changelog](http://zeromq.github.com/pyzmq/changelog.html).
[changelog](http://zeromq.github.io/pyzmq/changelog.html).
### ØMQ 3.x, 4.x
......@@ -32,7 +18,7 @@ developed at [zeromq/libzmq](https://github.com/zeromq/libzmq).
No code to change, no flags to pass,
just build pyzmq against the latest and it should work.
PyZMQ on PyPy *only* supports libzmq >= 3.2.2.
PyZMQ does not support the old libzmq 2 API on PyPy.
## Documentation
......@@ -40,15 +26,16 @@ See PyZMQ's Sphinx-generated
[documentation](http://zeromq.github.com/pyzmq) on GitHub for API
details, and some notes on Python and Cython development. If you want to
learn about using ØMQ in general, the excellent [ØMQ
Guide](http://zguide.zeromq.org) is the place to start, which has a
Guide](http://zguide.zeromq.org/py:all) is the place to start, which has a
Python version of every example. We also have some information on our
[wiki](https://github.com/zeromq/pyzmq/wiki)
[wiki](https://github.com/zeromq/pyzmq/wiki).
## Downloading
Unless you specifically want to develop PyZMQ, we recommend downloading
the PyZMQ source code, eggs, or MSI installer from
[PyPI](http://pypi.python.org/pypi/pyzmq).
the PyZMQ source code, eggs, or wheels from
[PyPI](http://pypi.python.org/pypi/pyzmq). On Windows, you can get `.exe` installers
from [Christoph Gohlke](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyzmq).
You can also get the latest source code from our GitHub repository, but
building from the repository will require that you install Cython
......@@ -60,13 +47,30 @@ For more detail on building pyzmq, see [our Wiki](https://github.com/zeromq/pyzm
We build eggs and wheels for OS X and Windows, so you can get a binary on those platforms with either:
easy_install pyzmq
pip install pyzmq
or
pip install --use-wheel pyzmq
easy_install pyzmq
But compiling from source with `pip install pyzmq` should work in most environments.
but compiling from source with `pip install pyzmq` should work in most environments.
When compiling pyzmq (e.g. installing with pip on Linux),
it is generally recommended that zeromq be installed separately, via homebrew, apt, yum, etc.
If this is not available, pyzmq will *try* to build libzmq as a Python Extension,
though this is not guaranteed to work.
To build pyzmq from the git repo (including release tags) requires Cython.
## Old versions
For libzmq 2.0.x, use pyzmq release 2.0.10.1.
pyzmq-2.1.11 was the last version of pyzmq to support Python 2.5,
and pyzmq ≥ 2.2.0 requires Python ≥ 2.6.
pyzmq-13.0.0 introduces PyPy support via CFFI, which only supports libzmq-3.2.2 and newer.
PyZMQ releases ≤ 2.2.0 matched libzmq versioning, but this is no longer the case,
starting with PyZMQ 13.0.0 (it was the thirteenth release, so why not?).
PyZMQ ≥ 13.0 follows semantic versioning conventions accounting only for PyZMQ itself.
......@@ -20,6 +20,7 @@ import shutil
import stat
import sys
import tarfile
from glob import glob
from subprocess import Popen, PIPE
try:
......@@ -37,15 +38,19 @@ pjoin = os.path.join
# Constants
#-----------------------------------------------------------------------------
bundled_version = (4,0,3)
bundled_version = (4,0,4)
libzmq = "zeromq-%i.%i.%i.tar.gz" % (bundled_version)
libzmq_url = "http://download.zeromq.org/" + libzmq
libsodium_version = (0,4,5)
libsodium = "libsodium-%i.%i.%i.tar.gz" % (libsodium_version)
libsodium_url = "https://github.com/jedisct1/libsodium/releases/download/%i.%i.%i/" % libsodium_version + libsodium
HERE = os.path.dirname(__file__)
ROOT = os.path.dirname(HERE)
#-----------------------------------------------------------------------------
# functions
# Utilities
#-----------------------------------------------------------------------------
......@@ -71,6 +76,41 @@ def fetch_archive(savedir, url, fname, force=False):
f.write(req.read())
return dest
#-----------------------------------------------------------------------------
# libsodium
#-----------------------------------------------------------------------------
def fetch_libsodium(savedir):
"""download and extract libsodium"""
dest = pjoin(savedir, 'libsodium')
if os.path.exists(dest):
info("already have %s" % dest)
return
fname = fetch_archive(savedir, libsodium_url, libsodium)
tf = tarfile.open(fname)
with_version = pjoin(savedir, tf.firstmember.path)
tf.extractall(savedir)
tf.close()
# remove version suffix:
shutil.move(with_version, dest)
def stage_libsodium_headers(libsodium_root):
"""stage configure headers for libsodium"""
src_dir = pjoin(HERE, 'include_sodium')
dest_dir = pjoin(libsodium_root, 'src', 'libsodium', 'include', 'sodium')
for src in glob(pjoin(src_dir, '*.h')):
base = os.path.basename(src)
dest = pjoin(dest_dir, base)
if os.path.exists(dest):
info("already have %s" % base)
continue
info("staging %s to %s" % (src, dest))
shutil.copy(src, dest)
#-----------------------------------------------------------------------------
# libzmq
#-----------------------------------------------------------------------------
def fetch_libzmq(savedir):
"""download and extract libzmq"""
dest = pjoin(savedir, 'zeromq')
......
......@@ -56,6 +56,11 @@ def test_compilation(cfile, compiler=None, **compiler_attrs):
else:
# allow for missing UB arch, since it will still work:
lpreargs = ['-undefined', 'dynamic_lookup']
if sys.platform == 'sunos5':
if platform.architecture()[0]=='32bit':
lpreargs = ['-m32']
else:
lpreargs = ['-m64']
extra = compiler_attrs.get('extra_compile_args', None)
objs = cc.compile([cfile],extra_preargs=cpreargs, extra_postargs=extra)
......
/* src/platform.hpp. Generated from platform.hpp.in by configure. */
/* src/platform.hpp.in. Generated from configure.in by autoheader. */
/* src/platform.hpp.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have the <alloca.h> header file. */
#define HAVE_ALLOCA_H 1
......@@ -16,6 +16,9 @@
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if you have the `freeifaddrs' function. */
#define HAVE_FREEIFADDRS 1
......@@ -52,6 +55,9 @@
/* Define to 1 if you have the `socket' library (-lsocket). */
/* #undef HAVE_LIBSOCKET */
/* Define to 1 if you have the `sodium' library (-lsodium). */
/* #undef HAVE_LIBSODIUM */
/* Define to 1 if you have the `ws2_32' library (-lws2_32). */
/* #undef HAVE_LIBWS2_32 */
......@@ -141,7 +147,7 @@
#define PACKAGE_NAME "zeromq"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "zeromq 3.2.2"
#define PACKAGE_STRING "zeromq 4.0.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "zeromq"
......@@ -150,7 +156,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.2.2"
#define PACKAGE_VERSION "4.0.4"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
......@@ -162,7 +168,7 @@
#define TIME_WITH_SYS_TIME 1
/* Version number of package */
#define VERSION "3.2.2"
#define VERSION "4.0.4"
/* Force to use mutexes */
/* #undef ZMQ_FORCE_MUTEXES */
......@@ -222,13 +228,13 @@
#define ZMQ_HAVE_TCP_KEEPALIVE 1
/* Whether TCP_KEEPCNT is supported. */
/* #undef ZMQ_HAVE_TCP_KEEPCNT */
#define ZMQ_HAVE_TCP_KEEPCNT 1
/* Whether TCP_KEEPIDLE is supported. */
/* #undef ZMQ_HAVE_TCP_KEEPIDLE */
/* Whether TCP_KEEPINTVL is supported. */
/* #undef ZMQ_HAVE_TCP_KEEPINTVL */
#define ZMQ_HAVE_TCP_KEEPINTVL 1
/* Have uio.h header. */
#define ZMQ_HAVE_UIO 1
......
......@@ -16,6 +16,9 @@
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if you have the `freeifaddrs' function. */
#define HAVE_FREEIFADDRS 1
......@@ -52,6 +55,9 @@
/* Define to 1 if you have the `socket' library (-lsocket). */
/* #undef HAVE_LIBSOCKET */
/* Define to 1 if you have the `sodium' library (-lsodium). */
/* #undef HAVE_LIBSODIUM */
/* Define to 1 if you have the `ws2_32' library (-lws2_32). */
/* #undef HAVE_LIBWS2_32 */
......@@ -141,7 +147,7 @@
#define PACKAGE_NAME "zeromq"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "zeromq 3.3.0"
#define PACKAGE_STRING "zeromq 4.0.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "zeromq"
......@@ -150,7 +156,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.3.0"
#define PACKAGE_VERSION "4.0.4"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
......@@ -162,7 +168,7 @@
#define TIME_WITH_SYS_TIME 1
/* Version number of package */
#define VERSION "3.3.0"
#define VERSION "4.0.4"
/* Force to use mutexes */
/* #undef ZMQ_FORCE_MUTEXES */
......@@ -210,7 +216,7 @@
/* #undef ZMQ_HAVE_QNXNTO */
/* Whether SOCK_CLOEXEC is defined and functioning. */
/* #undef ZMQ_HAVE_SOCK_CLOEXEC */
#define ZMQ_HAVE_SOCK_CLOEXEC 1
/* Have Solaris OS */
/* #undef ZMQ_HAVE_SOLARIS */
......
/* src/platform.hpp. Generated from platform.hpp.in by configure. */
/* src/platform.hpp.in. Generated from configure.in by autoheader. */
/* src/platform.hpp.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have the <alloca.h> header file. */
#define HAVE_ALLOCA_H 1
......@@ -16,6 +16,9 @@
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if you have the `freeifaddrs' function. */
#define HAVE_FREEIFADDRS 1
......@@ -52,6 +55,9 @@
/* Define to 1 if you have the `socket' library (-lsocket). */
/* #undef HAVE_LIBSOCKET */
/* Define to 1 if you have the `sodium' library (-lsodium). */
/* #undef HAVE_LIBSODIUM */
/* Define to 1 if you have the `ws2_32' library (-lws2_32). */
/* #undef HAVE_LIBWS2_32 */
......@@ -141,7 +147,7 @@
#define PACKAGE_NAME "zeromq"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "zeromq 3.2.2"
#define PACKAGE_STRING "zeromq 4.0.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "zeromq"
......@@ -150,7 +156,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.2.2"
#define PACKAGE_VERSION "4.0.4"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
......@@ -162,7 +168,7 @@
#define TIME_WITH_SYS_TIME 1
/* Version number of package */
#define VERSION "3.2.2"
#define VERSION "4.0.4"
/* Force to use mutexes */
/* #undef ZMQ_FORCE_MUTEXES */
......
#ifndef crypto_scalarmult_curve25519_H
#define crypto_scalarmult_curve25519_H
#if 0
# ifndef SODIUM_HAVE_TI_MODE
# define SODIUM_HAVE_TI_MODE
# endif
#endif
#include <stddef.h>
#include "export.h"
#ifdef __cplusplus
extern "C" {
#endif
#define crypto_scalarmult_curve25519_BYTES 32
SODIUM_EXPORT
size_t crypto_scalarmult_curve25519_bytes(void);
#define crypto_scalarmult_curve25519_SCALARBYTES 32
SODIUM_EXPORT
size_t crypto_scalarmult_curve25519_scalarbytes(void);
SODIUM_EXPORT
int crypto_scalarmult_curve25519(unsigned char *,const unsigned char *,const unsigned char *);
SODIUM_EXPORT
int crypto_scalarmult_curve25519_base(unsigned char *,const unsigned char *);
#ifdef SODIUM_HAVE_TI_MODE
# define crypto_scalarmult_curve25519_donna_c64 crypto_scalarmult_curve25519
# define crypto_scalarmult_curve25519_donna_c64_base crypto_scalarmult_curve25519_base
#else
# define crypto_scalarmult_curve25519_ref crypto_scalarmult_curve25519
# define crypto_scalarmult_curve25519_ref_base crypto_scalarmult_curve25519_base
#endif
#ifdef __cplusplus
}
#endif
#endif
#ifndef crypto_stream_salsa20_H
#define crypto_stream_salsa20_H
/*
* WARNING: This is just a stream cipher. It is NOT authenticated encryption.
* While it provides some protection against eavesdropping, it does NOT
* provide any security against active attacks.
* Unless you know what you're doing, what you are looking for is probably
* the crypto_box functions.
*/
#if 0
# ifndef SODIUM_HAVE_AMD64_ASM
# define SODIUM_HAVE_AMD64_ASM
# endif
#endif
#include <stddef.h>
#include "export.h"
#ifdef __cplusplus
extern "C" {
#endif
#define crypto_stream_salsa20_KEYBYTES 32U
SODIUM_EXPORT
size_t crypto_stream_salsa20_keybytes(void);
#define crypto_stream_salsa20_NONCEBYTES 8U
SODIUM_EXPORT
size_t crypto_stream_salsa20_noncebytes(void);
SODIUM_EXPORT
const char * crypto_stream_salsa20_primitive(void);
SODIUM_EXPORT
int crypto_stream_salsa20(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
SODIUM_EXPORT
int crypto_stream_salsa20_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
#ifdef SODIUM_HAVE_AMD64_ASM
# define crypto_stream_salsa20_amd64_xmm6 crypto_stream_salsa20
# define crypto_stream_salsa20_amd64_xmm6_xor crypto_stream_salsa20_xor
#else
# define crypto_stream_salsa20_ref crypto_stream_salsa20
# define crypto_stream_salsa20_ref_xor crypto_stream_salsa20_xor
#endif
#ifdef __cplusplus
}
#endif
#endif
#ifndef __SODIUM_VERSION_H__
#define __SODIUM_VERSION_H__
#include "export.h"
#define SODIUM_VERSION_STRING "0.4.5"
#define SODIUM_LIBRARY_VERSION_MAJOR 4
#define SODIUM_LIBRARY_VERSION_MINOR 4
#ifdef __cplusplus
extern "C" {
#endif
SODIUM_EXPORT
const char *sodium_version_string(void);
SODIUM_EXPORT
int sodium_library_version_major(void);
SODIUM_EXPORT
int sodium_library_version_minor(void);
#ifdef __cplusplus
}
#endif
#endif
/*
This file is from pyzmq-static by Brandon Craig-Rhodes,
and used under the BSD license
py3compat from http://wiki.python.org/moin/PortingExtensionModulesToPy3k
Provide the init function that Python expects
when we compile libzmq by pretending it is a Python extension.
*/
#include "Python.h"
static PyMethodDef Methods[] = {
{NULL, NULL, 0, NULL}
};
#if PY_MAJOR_VERSION >= 3
static struct PyModuleDef moduledef = {
PyModuleDef_HEAD_INIT,
"libsodium",
NULL,
-1,
Methods,
NULL,
NULL,
NULL,
NULL
};
PyMODINIT_FUNC
PyInit_libzmq(void)
{
PyObject *module = PyModule_Create(&moduledef);
return module;
}
#else // py2
PyMODINIT_FUNC
initlibzmq(void)
{
(void) Py_InitModule("libsodium", Methods);
}
#endif
......@@ -21,6 +21,7 @@ if __name__ == '__main__':
docwriter.package_skip_patterns += [
r'\.tests$',
r'\.backend$',
r'\.auth$',
r'\.eventloop\.minitornado$',
r'\.green\.eventloop$',
r'\.sugar$',
......
......@@ -9,14 +9,17 @@
.. toctree::
zmq
zmq.devices
zmq.green
generated/zmq.eventloop.ioloop
generated/zmq.eventloop.zmqstream
generated/zmq.log.handlers
generated/zmq.ssh.tunnel
generated/zmq.utils.jsonapi
generated/zmq.utils.monitor
generated/zmq.utils.z85
zmq
zmq.devices
zmq.green
generated/zmq.eventloop.ioloop
generated/zmq.eventloop.zmqstream
zmq.auth
zmq.auth.thread
zmq.auth.ioloop
generated/zmq.log.handlers
generated/zmq.ssh.tunnel
generated/zmq.utils.jsonapi
generated/zmq.utils.monitor
generated/zmq.utils.z85
.. AUTO-GENERATED FILE -- DO NOT EDIT!
auth.ioloop
===========
Module: :mod:`auth.ioloop`
--------------------------
.. automodule:: zmq.auth.ioloop
.. currentmodule:: zmq.auth.ioloop
:class:`IOLoopAuthenticator`
----------------------------
.. autoclass:: IOLoopAuthenticator
:members:
:undoc-members:
:inherited-members:
auth
====
Module: :mod:`auth`
-------------------
.. automodule:: zmq.auth
.. currentmodule:: zmq.auth
:class:`Authenticator`
----------------------
.. autoclass:: Authenticator
:members:
:undoc-members:
:inherited-members:
Functions